Skip to content

Instantly share code, notes, and snippets.

@OneSadCookie
Created May 20, 2015 23:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save OneSadCookie/c8e0fc5090ec95a48a2a to your computer and use it in GitHub Desktop.
Save OneSadCookie/c8e0fc5090ec95a48a2a to your computer and use it in GitHub Desktop.
__ZN13CVDisplayLink11runIOThreadEv:
00002450 pushl %ebp
00002451 movl %esp, %ebp
00002453 pushl %ebx
00002454 pushl %edi
00002455 pushl %esi
00002456 subl $0x21c, %esp ## imm = 0x21C
0000245c calll 0x2461
00002461 popl %edi
00002462 movl 0x2dbbf(%edi), %eax
00002468 movl %eax, -0x200(%ebp)
0000246e movl (%eax), %eax
00002470 movl %eax, -0x10(%ebp)
00002473 calll 0x23142 ## symbol stub for: _pthread_self
00002478 movl %eax, (%esp)
0000247b calll 0x230e8 ## symbol stub for: _pthread_mach_thread_np
00002480 movl %eax, %esi
00002482 testl %esi, %esi
00002484 je 0x2521
0000248a movl $0x0, -0x108(%ebp)
00002494 leal -0x108(%ebp), %eax
0000249a movl %eax, 0x8(%esp)
0000249e movl %esi, (%esp)
000024a1 movl $0x1, 0xc(%esp)
000024a9 movl $0x1, 0x4(%esp)
000024b1 calll 0x231ae ## symbol stub for: _thread_policy_set
000024b6 calll 0x23034 ## symbol stub for: _getpid
000024bb leal -0xf8(%ebp), %ecx
000024c1 movl %ecx, 0x10(%esp)
000024c5 movl %eax, (%esp)
000024c8 movl $0xe8, 0x14(%esp)
000024d0 movl $0x0, 0xc(%esp)
000024d8 movl $0x0, 0x8(%esp)
000024e0 movl $0x2, 0x4(%esp)
000024e8 calll 0x2307c ## symbol stub for: _proc_pidinfo
000024ed testl %eax, %eax
000024ef jle 0x2521
000024f1 movl $0x36, %eax
000024f6 subl -0x14(%ebp), %eax
000024f9 movl %eax, -0x100(%ebp)
000024ff leal -0x100(%ebp), %eax
00002505 movl %eax, 0x8(%esp)
00002509 movl %esi, (%esp)
0000250c movl $0x1, 0xc(%esp)
00002514 movl $0x3, 0x4(%esp)
0000251c calll 0x231ae ## symbol stub for: _thread_policy_set
00002521 movl 0x8(%ebp), %ebx
00002524 leal 0xc(%ebx), %eax
00002527 movl %eax, -0x1b4(%ebp)
0000252d movl %eax, (%esp)
00002530 calll 0x230fa ## symbol stub for: _pthread_mutex_lock
00002535 movl 0x198(%ebx), %eax
0000253b movl %eax, (%esp)
0000253e calll __ZN7CVXTime5resetEv ## CVXTime::reset()
00002543 movl 0x198(%ebx), %eax
00002549 movl %eax, (%esp)
0000254c calll __ZN7CVXTime6updateEv ## CVXTime::update()
00002551 movl (%ebx), %eax
00002553 leal 0x140(%ebx), %ecx
00002559 movl %ecx, 0x4(%esp)
0000255d movl %ebx, (%esp)
00002560 calll *0x40(%eax)
00002563 movl $0x0, 0x194(%ebx)
0000256d movl $0x0, 0x190(%ebx)
00002577 cmpb $0x0, 0x13c(%ebx)
0000257e je 0x282a
00002584 leal 0x70(%ebx), %eax
00002587 movl %eax, -0x1c4(%ebp)
0000258d leal 0x9c(%ebx), %eax
00002593 movl %eax, -0x1ac(%ebp)
00002599 movl $0x0, -0x1b8(%ebp)
000025a3 leal 0x304cf(%edi), %eax
000025a9 movl %eax, -0x1bc(%ebp)
000025af movl 0x2dbe3(%edi), %eax
000025b5 movl %eax, -0x1c0(%ebp)
000025bb movl 0x2dbdb(%edi), %eax
000025c1 movl %eax, -0x1c8(%ebp)
000025c7 movsd 0x2d81f(%edi), %xmm0
000025cf movaps %xmm0, -0x1d8(%ebp)
000025d6 movaps 0x2dabf(%edi), %xmm0
000025dd movaps %xmm0, -0x1e8(%ebp)
000025e4 movaps 0x2dacf(%edi), %xmm0
000025eb movaps %xmm0, -0x1f8(%ebp)
000025f2 movl 0x2dbdf(%edi), %eax
000025f8 movl %eax, -0x1fc(%ebp)
000025fe movl (%ebx), %eax
00002600 leal -0x158(%ebp), %ecx
00002606 movl %ecx, 0x4(%esp)
0000260a movl %ebx, (%esp)
0000260d calll *0x40(%eax)
00002610 movl $0x14, %ecx
00002615 leal -0x1a8(%ebp), %edx
0000261b movl %edx, %edi
0000261d movl -0x1bc(%ebp), %esi
00002623 rep
00002624 movsl (%esi), %es:(%edi)
00002625 movl $0x0, -0x164(%ebp)
0000262f movl $0x3, -0x168(%ebp)
00002639 movl (%ebx), %eax
0000263b movl -0x1b8(%ebp), %ecx
00002641 andb $0x1, %cl
00002644 movzbl %cl, %ecx
00002647 movl %ecx, 0xc(%esp)
0000264b movl %edx, 0x8(%esp)
0000264f leal -0x158(%ebp), %ecx
00002655 movl %ecx, 0x4(%esp)
00002659 movl %ebx, (%esp)
0000265c calll *0x58(%eax)
0000265f movl (%ebx), %eax
00002661 movl 0x5c(%eax), %eax
00002664 movl %eax, -0x1b0(%ebp)
0000266a movl -0x198(%ebp), %edi
00002670 movl -0x194(%ebp), %esi
00002676 movl -0x1c0(%ebp), %eax
0000267c cmpb $0x0, (%eax)
0000267f jne 0x2686
00002681 calll __ZN14CVHostTimeBase10InitializeEv ## CVHostTimeBase::Initialize()
00002686 movl -0x1c8(%ebp), %eax
0000268c movd (%eax), %xmm0
00002690 movaps -0x1d8(%ebp), %xmm2
00002697 orps %xmm2, %xmm0
0000269a subsd %xmm2, %xmm0
0000269e movl -0x1fc(%ebp), %eax
000026a4 movd (%eax), %xmm1
000026a8 orps %xmm2, %xmm1
000026ab subsd %xmm2, %xmm1
000026af movd %edi, %xmm2
000026b3 movd %esi, %xmm3
000026b7 punpckldq %xmm3, %xmm2 ## xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
000026bb punpckldq -0x1e8(%ebp), %xmm2 ## xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
000026c3 subpd -0x1f8(%ebp), %xmm2
000026cb haddpd %xmm2, %xmm2
000026cf divsd %xmm1, %xmm2
000026d3 mulsd %xmm0, %xmm2
000026d7 movsd %xmm2, (%esp)
000026dc calll 0x22fd4 ## symbol stub for: ___fixunsdfdi
000026e1 movl %ebx, (%esp)
000026e4 movl %edx, 0x8(%esp)
000026e8 movl %eax, 0x4(%esp)
000026ec calll *-0x1b0(%ebp)
000026f2 cmpb $0x0, 0x13c(%ebx)
000026f9 je 0x2715
000026fb cmpb $0x0, 0x13d(%ebx)
00002702 movl -0x1ac(%ebp), %edi
00002708 je 0x2720
0000270a movl -0x1c4(%ebp), %esi
00002710 jmp 0x27cb
00002715 movl -0x1ac(%ebp), %edi
0000271b jmp 0x27bc
00002720 movl (%ebx), %eax
00002722 leal -0x158(%ebp), %ecx
00002728 movl %ecx, 0x4(%esp)
0000272c movl %ebx, (%esp)
0000272f calll *0x40(%eax)
00002732 movl 0x194(%ebx), %ecx
00002738 movl 0x160(%ebx), %eax
0000273e movl 0x190(%ebx), %esi
00002744 movl %eax, %edi
00002746 imull %ecx, %edi
00002749 mull %esi
0000274b addl %edi, %edx
0000274d movl 0x164(%ebx), %edi
00002753 imull %esi, %edi
00002756 addl %edi, %edx
00002758 addl 0x148(%ebx), %eax
0000275e adcl 0x14c(%ebx), %edx
00002764 cmpl %eax, -0x150(%ebp)
0000276a setb %al
0000276d cmpl %edx, -0x14c(%ebp)
00002773 setl %dl
00002776 je 0x277a
00002778 movb %dl, %al
0000277a testb %al, %al
0000277c movl -0x1ac(%ebp), %edi
00002782 jne 0x27bc
00002784 addl $0x1, %esi
00002787 adcl $0x0, %ecx
0000278a movl %esi, 0x190(%ebx)
00002790 movl %ecx, 0x194(%ebx)
00002796 movl 0x198(%ebx), %eax
0000279c movl %eax, (%esp)
0000279f calll __ZN7CVXTime6updateEv ## CVXTime::update()
000027a4 movl (%ebx), %eax
000027a6 leal -0x158(%ebp), %ecx
000027ac movl %ecx, 0x4(%esp)
000027b0 movl %ebx, (%esp)
000027b3 calll *0x64(%eax)
000027b6 movl %eax, -0x1b8(%ebp)
000027bc cmpb $0x0, 0x13d(%ebx)
000027c3 movl -0x1c4(%ebp), %esi
000027c9 je 0x2817
000027cb movl -0x1b4(%ebp), %eax
000027d1 movl %eax, (%esp)
000027d4 calll 0x23100 ## symbol stub for: _pthread_mutex_unlock
000027d9 movl %esi, (%esp)
000027dc calll 0x230fa ## symbol stub for: _pthread_mutex_lock
000027e1 jmp 0x27ef
000027e3 movl %esi, 0x4(%esp)
000027e7 movl %edi, (%esp)
000027ea calll 0x230be ## symbol stub for: _pthread_cond_wait$UNIX2003
000027ef cmpb $0x0, 0x13d(%ebx)
000027f6 je 0x2801
000027f8 cmpb $0x0, 0x13c(%ebx)
000027ff jne 0x27e3
00002801 movl %esi, (%esp)
00002804 calll 0x23100 ## symbol stub for: _pthread_mutex_unlock
00002809 movl -0x1b4(%ebp), %eax
0000280f movl %eax, (%esp)
00002812 calll 0x230fa ## symbol stub for: _pthread_mutex_lock
00002817 movl %edi, -0x1ac(%ebp)
0000281d cmpb $0x0, 0x13c(%ebx)
00002824 jne 0x25fe
0000282a addl $0x54, %ebx
0000282d movl %ebx, (%esp)
00002830 calll 0x230b2 ## symbol stub for: _pthread_cond_signal
00002835 movl -0x1b4(%ebp), %eax
0000283b movl %eax, (%esp)
0000283e calll 0x23100 ## symbol stub for: _pthread_mutex_unlock
00002843 movl -0x200(%ebp), %eax
00002849 movl (%eax), %eax
0000284b cmpl -0x10(%ebp), %eax
0000284e jne 0x285d
00002850 xorl %eax, %eax
00002852 addl $0x21c, %esp ## imm = 0x21C
00002858 popl %esi
00002859 popl %edi
0000285a popl %ebx
0000285b popl %ebp
0000285c retl
0000285d calll 0x22fda ## symbol stub for: ___stack_chk_fail
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment