Skip to content

Instantly share code, notes, and snippets.

@piscisaureus
Created November 15, 2011 15:42
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 piscisaureus/1367367 to your computer and use it in GitHub Desktop.
Save piscisaureus/1367367 to your computer and use it in GitHub Desktop.
_RtlTryAcquireSRWLockExclusive@4:
779E489A mov edi,edi
779E489C push ebp
779E489D mov ebp,esp
779E489F mov eax,dword ptr [ebp+8]
779E48A2 lock bts dword ptr [eax],0
779E48A7 setb al
779E48AA neg al
779E48AC sbb al,al
779E48AE inc al
779E48B0 pop ebp
779E48B1 ret 4
779E48B4 nop
779E48B5 nop
779E48B6 nop
779E48B7 nop
779E48B8 nop
_RtlTryAcquireSRWLockShared@4:
77A48143 mov edi,edi
77A48145 push ebp
77A48146 mov ebp,esp
77A48148 push ecx
77A48149 and dword ptr [ebp-4],0
77A4814D push esi
77A4814E mov esi,dword ptr [ebp+8]
77A48151 push 11h
77A48153 pop ecx
77A48154 mov edx,esi
77A48156 xor eax,eax
77A48158 lock cmpxchg dword ptr [edx],ecx
77A4815C mov ecx,eax
77A4815E test ecx,ecx
77A48160 jne _RtlTryAcquireSRWLockShared@4+23h (77A48166h)
77A48162 mov al,1
77A48164 jmp _RtlTryAcquireSRWLockShared@4+68h (77A481ABh)
77A48166 push edi
77A48167 test cl,1
77A4816A je _RtlTryAcquireSRWLockShared@4+36h (77A48179h)
77A4816C test cl,2
77A4816F jne _RtlTryAcquireSRWLockShared@4+61h (77A481A4h)
77A48171 test ecx,0FFFFFFF0h
77A48177 jbe _RtlTryAcquireSRWLockShared@4+61h (77A481A4h)
77A48179 test cl,2
77A4817C je _RtlTryAcquireSRWLockShared@4+40h (77A48183h)
77A4817E lea eax,[ecx+1]
77A48181 jmp _RtlTryAcquireSRWLockShared@4+46h (77A48189h)
77A48183 lea eax,[ecx+10h]
77A48186 or eax,1
77A48189 mov edx,eax
77A4818B mov edi,esi
77A4818D mov eax,ecx
77A4818F lock cmpxchg dword ptr [edi],edx
77A48193 cmp eax,ecx
77A48195 je _RtlTryAcquireSRWLockShared@4+65h (77A481A8h)
77A48197 lea eax,[ebp-4]
77A4819A push eax
77A4819B call _RtlBackoff@4 (77A16F04h)
77A481A0 mov ecx,dword ptr [esi]
77A481A2 jmp _RtlTryAcquireSRWLockShared@4+24h (77A48167h)
77A481A4 xor al,al
77A481A6 jmp _RtlTryAcquireSRWLockShared@4+67h (77A481AAh)
77A481A8 mov al,1
77A481AA pop edi
77A481AB pop esi
77A481AC leave
77A481AD ret 4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment