Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text:004F3B00 ; int __fastcall processevent(void *Dst)
- .text:004F3B00 processevent proc near ; CODE XREF: sub_503370+8EEp
- .text:004F3B00
- .text:004F3B00 var_70 = byte ptr -70h
- .text:004F3B00 var_68 = dword ptr -68h
- .text:004F3B00 var_64 = dword ptr -64h
- .text:004F3B00 var_60 = dword ptr -60h
- .text:004F3B00 var_5C = dword ptr -5Ch
- .text:004F3B00 var_58 = dword ptr -58h
- .text:004F3B00 var_54 = dword ptr -54h
- .text:004F3B00 var_50 = dword ptr -50h
- .text:004F3B00 var_4C = dword ptr -4Ch
- .text:004F3B00 var_48 = dword ptr -48h
- .text:004F3B00 var_44 = dword ptr -44h
- .text:004F3B00 Src = dword ptr -40h
- .text:004F3B00 var_3C = dword ptr -3Ch
- .text:004F3B00 var_38 = dword ptr -38h
- .text:004F3B00 var_24 = dword ptr -24h
- .text:004F3B00 var_20 = dword ptr -20h
- .text:004F3B00 var_1C = dword ptr -1Ch
- .text:004F3B00 var_18 = dword ptr -18h
- .text:004F3B00 var_14 = dword ptr -14h
- .text:004F3B00 var_10 = dword ptr -10h
- .text:004F3B00 var_C = dword ptr -0Ch
- .text:004F3B00 var_4 = dword ptr -4
- .text:004F3B00
- .text:004F3B00 000 push ebp
- .text:004F3B01 004 mov ebp, esp
- .text:004F3B03 004 push 0FFFFFFFFh
- .text:004F3B05 008 push offset sub_176DC88
- .text:004F3B0A 00C mov eax, large fs:0
- .text:004F3B10 00C push eax
- .text:004F3B11 010 sub esp, 68h
- .text:004F3B14 078 mov eax, ___security_cookie
- .text:004F3B19 078 xor eax, ebp
- .text:004F3B1B 078 mov [ebp+var_10], eax
- .text:004F3B1E 078 push ebx
- .text:004F3B1F 07C push esi
- .text:004F3B20 080 push edi
- .text:004F3B21 084 push eax
- .text:004F3B22 088 lea eax, [ebp+var_C]
- .text:004F3B25 088 mov large fs:0, eax
- .text:004F3B2B 088 xor edi, edi
- .text:004F3B2D 088 mov ebx, ecx
- .text:004F3B2F 088 mov [ebp+var_64], ebx
- .text:004F3B32 088 mov [ebp+Src], edi
- .text:004F3B35 088 mov [ebp+var_3C], edi
- .text:004F3B38 088 mov [ebp+var_38], edi
- .text:004F3B3B 088 mov [ebp+var_24], edi
- .text:004F3B3E 088 mov [ebp+var_1C], edi
- .text:004F3B41 088 mov [ebp+var_20], edi
- .text:004F3B44 088 mov [ebp+var_18], edi
- .text:004F3B47 088 mov [ebp+var_14], edi
- .text:004F3B4A 088 mov eax, [ebx+4]
- .text:004F3B4D 088 sub eax, [ebx+2Ch]
- .text:004F3B50 088 lea ecx, [ebp+Src]
- .text:004F3B53 088 push eax
- .text:004F3B54 08C mov [ebp+var_4], 2
- .text:004F3B5B 08C call sub_AD8720
- .text:004F3B60 088 push edi
- .text:004F3B61 08C lea eax, [ebx+0Ch]
- .text:004F3B64 08C push eax
- .text:004F3B65 090 lea ecx, [ebp+var_5C]
- .text:004F3B68 090 mov [ebp+var_60], ebx
- .text:004F3B6B 090 call sub_C604B0
- .text:004F3B70 088 mov ecx, [ebp+var_54]
- .text:004F3B73 088 mov esi, [ebp+var_4C]
- .text:004F3B76 088 cmp esi, [ecx+14h]
- .text:004F3B79 088 jge loc_4F3CB1
- .text:004F3B7F 088 mov [ebp+var_68], edi
- .text:004F3B82
- .text:004F3B82 loc_4F3B82: ; CODE XREF: processevent+1A8j
- .text:004F3B82 088 lea edx, [ebp+var_70]
- .text:004F3B85 088 push edx
- .text:004F3B86 08C lea ecx, [ebp+Src]
- .text:004F3B89 08C call sub_6510F0
- .text:004F3B8E 088 mov ebx, [eax+4]
- .text:004F3B91 088 cmp ebx, edi
- .text:004F3B93 088 jz short loc_4F3C0A
- .text:004F3B95 088 mov eax, [ebp+var_60]
- .text:004F3B98 088 mov edi, [eax]
- .text:004F3B9A 088 lea ecx, ds:0[esi*8]
- .text:004F3BA1 088 sub ecx, esi
- .text:004F3BA3 088 mov edx, [edi+ecx*4]
- .text:004F3BA6 088 lea edi, [edi+ecx*4]
- .text:004F3BA9 088 mov [ebx], edx
- .text:004F3BAB 088 mov eax, [edi+4]
- .text:004F3BAE 088 mov [ebx+4], eax
- .text:004F3BB1 088 mov eax, [edi+0Ch]
- .text:004F3BB4 088 lea esi, [ebx+8]
- .text:004F3BB7 088 mov [ebp+var_44], esi
- .text:004F3BBA 088 mov dword ptr [esi], 0
- .text:004F3BC0 088 mov byte ptr [ebp+var_4], 3
- .text:004F3BC4 088 mov [esi+4], eax
- .text:004F3BC7 088 mov [esi+8], eax
- .text:004F3BCA 088 test eax, eax
- .text:004F3BCC 088 jz short loc_4F3BE0
- .text:004F3BCE 088 push 8
- .text:004F3BD0 08C lea ecx, [eax+eax]
- .text:004F3BD3 08C push ecx
- .text:004F3BD4 090 push 0
- .text:004F3BD6 094 call sub_50C0C0
- .text:004F3BDB 094 add esp, 0Ch
- .text:004F3BDE 088 mov [esi], eax
- .text:004F3BE0
- .text:004F3BE0 loc_4F3BE0: ; CODE XREF: processevent+CCj
- .text:004F3BE0 088 mov eax, [esi+4]
- .text:004F3BE3 088 mov byte ptr [ebp+var_4], 2
- .text:004F3BE7 088 test eax, eax
- .text:004F3BE9 088 jz short loc_4F3BFE
- .text:004F3BEB 088 mov ecx, [edi+8]
- .text:004F3BEE 088 mov esi, [esi]
- .text:004F3BF0 088 lea edx, [eax+eax]
- .text:004F3BF3 088 push edx ; Size
- .text:004F3BF4 08C push ecx ; Src
- .text:004F3BF5 090 push esi ; Dst
- .text:004F3BF6 094 call memcpy
- .text:004F3BFB 094 add esp, 0Ch
- .text:004F3BFE
- .text:004F3BFE loc_4F3BFE: ; CODE XREF: processevent+E9j
- .text:004F3BFE 088 mov eax, [edi+14h]
- .text:004F3C01 088 mov [ebx+14h], eax
- .text:004F3C04 088 mov ecx, [edi+18h]
- .text:004F3C07 088 mov [ebx+18h], ecx
- .text:004F3C0A
- .text:004F3C0A loc_4F3C0A: ; CODE XREF: processevent+93j
- .text:004F3C0A 088 mov edx, [ebp+var_58]
- .text:004F3C0D 088 mov edi, [ebp+var_50]
- .text:004F3C10 088 mov eax, [ebp+var_54]
- .text:004F3C13 088 mov ecx, [eax+10h]
- .text:004F3C16 088 not edx
- .text:004F3C18 088 and edi, edx
- .text:004F3C1A 088 xor edx, edx
- .text:004F3C1C 088 test ecx, ecx
- .text:004F3C1E 088 setz dl
- .text:004F3C21 088 mov ebx, [ebp+var_5C]
- .text:004F3C24 088 lea esi, [ebp+var_68]
- .text:004F3C27 088 mov [ebp+var_50], edi
- .text:004F3C2A 088 neg edx
- .text:004F3C2C 088 and eax, edx
- .text:004F3C2E 088 or eax, ecx
- .text:004F3C30 088 mov ecx, 0
- .text:004F3C35 088 setz cl
- .text:004F3C38 088 neg ecx
- .text:004F3C3A 088 and esi, ecx
- .text:004F3C3C 088 or esi, eax
- .text:004F3C3E 088 mov ecx, [esi+ebx*4]
- .text:004F3C41 088 and ecx, edi
- .text:004F3C43 088 jnz short loc_4F3C71
- .text:004F3C45 088 mov eax, [ebp+var_54]
- .text:004F3C48 088 mov edi, [eax+14h]
- .text:004F3C4B 088 lea eax, [edi-1]
- .text:004F3C4E 088 cdq
- .text:004F3C4F 088 and edx, 1Fh
- .text:004F3C52 088 add eax, edx
- .text:004F3C54 088 sar eax, 5
- .text:004F3C57
- .text:004F3C57 loc_4F3C57: ; CODE XREF: processevent+16Cj
- .text:004F3C57 088 add [ebp+var_48], 20h
- .text:004F3C5B 088 inc ebx
- .text:004F3C5C 088 cmp ebx, eax
- .text:004F3C5E 088 jg short loc_4F3C84
- .text:004F3C60 088 mov ecx, [esi+ebx*4]
- .text:004F3C63 088 mov [ebp+var_50], 0FFFFFFFFh
- .text:004F3C6A 088 test ecx, ecx
- .text:004F3C6C 088 jz short loc_4F3C57
- .text:004F3C6E 088 mov [ebp+var_5C], ebx
- .text:004F3C71
- .text:004F3C71 loc_4F3C71: ; CODE XREF: processevent+143j
- .text:004F3C71 088 lea eax, [ecx-1]
- .text:004F3C74 088 and eax, ecx
- .text:004F3C76 088 xor eax, ecx
- .text:004F3C78 088 mov [ebp+var_58], eax
- .text:004F3C7B 088 jnz short loc_4F3C8B
- .text:004F3C7D 088 mov eax, 20h
- .text:004F3C82 088 jmp short loc_4F3C98
- .text:004F3C84 ; ---------------------------------------------------------------------------
- .text:004F3C84
- .text:004F3C84 loc_4F3C84: ; CODE XREF: processevent+15Ej
- .text:004F3C84 088 mov [ebp+var_5C], ebx
- .text:004F3C87 088 mov esi, edi
- .text:004F3C89 088 jmp short loc_4F3CA0
- .text:004F3C8B ; ---------------------------------------------------------------------------
- .text:004F3C8B
- .text:004F3C8B loc_4F3C8B: ; CODE XREF: processevent+17Bj
- .text:004F3C8B 088 bsr ecx, eax
- .text:004F3C8E 088 mov eax, 1Fh
- .text:004F3C93 088 mov [ebp+var_44], ecx
- .text:004F3C96 088 sub eax, ecx
- .text:004F3C98
- .text:004F3C98 loc_4F3C98: ; CODE XREF: processevent+182j
- .text:004F3C98 088 mov esi, [ebp+var_48]
- .text:004F3C9B 088 sub esi, eax
- .text:004F3C9D 088 add esi, 1Fh
- .text:004F3CA0
- .text:004F3CA0 loc_4F3CA0: ; CODE XREF: processevent+189j
- .text:004F3CA0 088 mov edx, [ebp+var_54]
- .text:004F3CA3 088 xor edi, edi
- .text:004F3CA5 088 cmp esi, [edx+14h]
- .text:004F3CA8 088 jl loc_4F3B82
- .text:004F3CAE 088 mov ebx, [ebp+var_64]
- .text:004F3CB1
- .text:004F3CB1 loc_4F3CB1: ; CODE XREF: processevent+79j
- .text:004F3CB1 088 mov eax, 30h
- .text:004F3CB6 088 call __alloca_probe
- .text:004F3CBB 0B8 mov esi, esp
- .text:004F3CBD 0B8 push 30h ; Size
- .text:004F3CBF 0BC push ebx ; Src
- .text:004F3CC0 0C0 push esi ; Dst
- .text:004F3CC1 0C4 call memcpy
- .text:004F3CC6 0C4 push 30h ; Size
- .text:004F3CC8 0C8 lea eax, [ebp+Src]
- .text:004F3CCB 0C8 push eax ; Src
- .text:004F3CCC 0CC push ebx ; Dst
- .text:004F3CCD 0D0 call memcpy
- .text:004F3CD2 0D0 push 30h ; Size
- .text:004F3CD4 0D4 lea ecx, [ebp+Src]
- .text:004F3CD7 0D4 push esi ; Src
- .text:004F3CD8 0D8 push ecx ; Dst
- .text:004F3CD9 0DC call memcpy
- .text:004F3CDE 0DC add esp, 24h
- .text:004F3CE1 0B8 push edi
- .text:004F3CE2 0BC lea ecx, [ebp+Src]
- .text:004F3CE5 0BC mov [ebp+var_4], 5
- .text:004F3CEC 0BC call sub_AD8720
- .text:004F3CF1 0B8 mov eax, [ebp+var_24]
- .text:004F3CF4 0B8 mov byte ptr [ebp+var_4], 4
- .text:004F3CF8 0B8 cmp eax, edi
- .text:004F3CFA 0B8 jz short loc_4F3D08
- .text:004F3CFC 0B8 push eax
- .text:004F3CFD 0BC call sub_50C0F0
- .text:004F3D02 0BC add esp, 4
- .text:004F3D05 0B8 mov [ebp+var_24], edi
- .text:004F3D08
- .text:004F3D08 loc_4F3D08: ; CODE XREF: processevent+1FAj
- .text:004F3D08 0B8 mov eax, [ebp+Src]
- .text:004F3D0B 0B8 mov [ebp+var_38], edi
- .text:004F3D0E 0B8 mov [ebp+var_3C], edi
- .text:004F3D11 0B8 mov [ebp+var_4], 0FFFFFFFFh
- .text:004F3D18 0B8 cmp eax, edi
- .text:004F3D1A 0B8 jz short loc_4F3D25
- .text:004F3D1C 0B8 push eax
- .text:004F3D1D 0BC call sub_50C0F0
- .text:004F3D22 0BC add esp, 4
- .text:004F3D25
- .text:004F3D25 loc_4F3D25: ; CODE XREF: processevent+21Aj
- .text:004F3D25 0B8 lea esp, [ebp-84h]
- .text:004F3D2B 088 mov ecx, [ebp+var_C]
- .text:004F3D2E 088 mov large fs:0, ecx
- .text:004F3D35 088 pop ecx
- .text:004F3D36 084 pop edi
- .text:004F3D37 080 pop esi
- .text:004F3D38 07C pop ebx
- .text:004F3D39 078 mov ecx, [ebp+var_10]
- .text:004F3D3C 078 xor ecx, ebp
- .text:004F3D3E 078 call @__security_check_cookie@4 ; __security_check_cookie(x)
- .text:004F3D43 078 mov esp, ebp
- .text:004F3D45 -2C pop ebp
- .text:004F3D46 -30 retn
- .text:004F3D46 processevent endp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement