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

Disassembly:
pop eax
mov dword [ebp - 0x3c0], eax
push ebx
call 0x5075dd
add byte [eax], bh
cmp eax, 0x3838393e
add esp, 4
sub ebx, 0x16aac
and ebx, 0x825a
pop ebx
push ecx
and ecx, 0x1141c
sub ecx, 0x7b23
and ecx, 0x85ab
pop ecx
mov ecx, dword [ebp - 0x1fa0]
mov dword [ebp - 0x14b8], ecx
push ecx
or ecx, 0xe3a
jmp 0x50761b
sub ecx, 0x12a33
jmp 0x507626
pop ecx
push edx
push edx
add esp, 4
add edx, 0x8f96
add edx, 0x47b4
add edx, 0x49af
pop edx
mov edx, dword [ebp - 0x14]
add edx, 0x138
cmp byte [ecx], al
add byte [eax], al
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x14b8], edx
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x1ef8], edx
mov eax, dword [ebp - 0x1ef8]
add eax, dword [ebp - 0x14b8]
mov dword [ebp - 0x3c0], eax
push ebx
jmp 0x50768f
pop ebx
push edx
or edx, 0x8d53
and edx, 0x1fb3
pop edx
push ecx
xor ecx, 0x714d
call 0x5076b5
add byte [ebp + 0x3d], al
inc ebp
dec ebx
inc esp
inc esp
inc edi
inc esp
inc edx
add esp, 4
pop ecx
mov byte [ebp - 0xb78], 0x52
mov byte [ebp - 0xb77], 0xb9
mov byte [ebp - 0xb76], 0x10
mov byte [ebp - 0xb75], 0x10
mov byte [ebp - 0xb74], 0x10
mov byte [ebp - 0xb73], 0x10
mov byte [ebp - 0xb72], 0x5a
push edi
push edx
add esp, 4
call 0x5076fc
add byte [esi + 0x32], al
xor eax, 0x4d4a4833
add esp, 4
pop edi
push edi
and edi, 0x27b7
or edi, 0x6583
pop edi
push edi
and edi, 0xc7a5
or edi, 0xf746
pop edi
mov byte [ebp - 0xb80], 0x52
mov byte [ebp - 0xb7f], 0xb9
mov byte [ebp - 0xb7e], 0x20
mov byte [ebp - 0xb7d], 0x20
mov byte [ebp - 0xb7c], 0x20
mov byte [ebp - 0xb7b], 0x20
mov byte [ebp - 0xb7a], 0x5a
push edx
call 0x50775e
add byte [eax + 0x44], al
cmp bh, byte [ecx]
aaa
cmp byte [esi], bh
dec esi
xor eax, 0x4c48332
or edx, 0xbe3b
pop edx
push esi
push ebx
add esp, 4
jmp 0x507772
pop esi
push eax
push ecx
add esp, 4
sub eax, 0xf6e6
pop eax
mov dword [ebp - 0x1fa4], 0xe
push ecx
xor ecx, 0x3524
sub ecx, 0x145ea
sub ecx, 0xb8e5
pop ecx
push ecx
push edi
add esp, 4
sub ecx, 0x586a
sub ecx, 0x354a
xor ecx, 0x4960
xor ecx, 0x146a4
pop ecx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb78]
mov dword [ebp - 0x14bc], eax
push edi
push edi
add esp, 4
call 0x5077e4
add byte [esp + eax*2 + 0x44], al
cmp al, 0x37
cmp eax, dword [edx + 0x33]
dec esp
add esp, 4
pop edi
push ecx
or ecx, 0xbc02
sub ecx, 0x17c99
xor ecx, 0x1eff
and ecx, 0x1170d
pop ecx
mov dword [ebp - 0x1fa8], 0xffffffff
push edx
push edx
add esp, 4
sub edx, 0x34e3
or edx, 0x12fef
pop edx
push edi
push edx
add esp, 4
sub edi, 0x10e8
and edi, 0x5650
pop edi
push ebx
xor ebx, 0xf6cb
add ebx, 0x13bc0
pop ebx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x50785b
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push ebx
push eax
add esp, 4
jmp 0x507866
sub ebx, 0x7e3c
pop ebx
push ecx
or ecx, 0xe543
pop ecx
push ecx
jmp 0x50787f
jmp 0x507886
add ecx, 0xb678
pop ecx
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x5078d5
push edi
push eax
add esp, 4
sub edi, 0xaf82
jmp 0x5078b1
add edi, 0x1521
xor edi, 0xe042
pop edi
push esi
push edx
add esp, 4
add esi, 0x1655d
sub esi, 0xdef
pop esi
jmp 0x507b03
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push ebx
push esi
add esp, 4
sub ebx, 0xdeef
pop ebx
push ebx
jmp 0x5078fd
call 0x50790a
add byte [esi], bh
inc ecx
dec eax
inc esp
cmp byte [edi + 0x33], cl
add esp, 4
call 0x507919
add byte [ecx + 0x36], cl
aaa
dec ecx
inc ebx
inc esi
add esp, 4
pop ebx
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x507984
push edi
add edi, 0x17962
pop edi
push ecx
push edi
add esp, 4
add ecx, 0x15db4
pop ecx
push esi
or esi, 0xc25f
call 0x507969
add byte [ebx + 0x39], cl
dec eax
dec ebx
push eax
inc edx
cmp al, byte [ebx - 0x197efb3c]
cmpsd dword [esi], dword es:[edi]
push 0x8b5e0000
invalid
cmp dword [ebp - 0xc08], 0
jle 0x507aa9
push esi
and esi, 0x107c0
or esi, 0xac54
or esi, 0x139d3
xor esi, 0x242a
pop esi
push edx
push edx
add esp, 4
xor edx, 0x506d
xor edx, 0x4839
xor edx, 0xdfe2
pop edx
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x507a45
push eax
push edi
add esp, 4
or eax, 0xacbc
and eax, 0xa7b5
sub eax, 0x16e45
sub eax, 0x443
pop eax
push eax
add eax, 0xea72
pop eax
push edx
push ecx
add esp, 4
add edx, 0xe6e4
pop edx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x507a2d
mov dword [ebp - 0x14c0], 1
jmp 0x507a37
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x507aa9
push ecx
xor ecx, 0xf67d
sub ecx, 0x16d3e
pop ecx
push edx
push edx
add esp, 4
sub edx, 0x8c7e
or edx, 0x13bf
xor edx, 0x2207
pop edx
push ecx
push ebx
add esp, 4
and ecx, 0x16cb0
pop ecx
mov edx, dword [ebp - 0xc08]
sub edx, 1
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x507984
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x507afe
push ebx
push ebx
add esp, 4
xor ebx, 0x1536b
xor ebx, 0xb1fa
and ebx, 0x17a18
pop ebx
push ecx
add ecx, 0x1777a
or ecx, 0xa237
add ecx, 0x171ec
or ecx, 0x18fd
pop ecx
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x507b3f
jmp 0x50784c
push esi
push edx
add esp, 4
sub esi, 0x17e69
call 0x507b1a
add byte [ebx + 0x33], cl
push eax
dec ebp
xor al, byte [edx - 0x7d]
les eax, [eax + ebp*8]
or dword [eax], eax
add byte [eax], al
add byte [eax + 0x46], al
cmp byte [ebx + 0x49], cl
dec ecx
aaa
dec ebp
add esp, 4
jmp 0x507b34
pop esi
mov dword [ebp - 0x3cc], 0
push edx
push eax
add esp, 4
add edx, 0x17863
and edx, 0x1353b
pop edx
push edx
or edx, 0xcc78
pop edx
push ecx
push edx
add esp, 4
add ecx, 0x12e38
or ecx, 0x140f3
sub ecx, 0xfd05
pop ecx
push edi
push edi
add esp, 4
or edi, 0x13f2e
xor edi, 0xec29
pop edi
push esi
or esi, 0x6880
pop esi
push ebx
push ebx
add esp, 4
or ebx, 0x16a2d
xor ebx, 0x3d6b
sub ebx, 0xde47
pop ebx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push esi
push edx
add esp, 4
xor esi, 0x15b5f
jmp 0x507bcb
add esi, 0x170e
pop esi
push edx
push edx
add esp, 4
xor edx, 0x8422
or edx, 0x14c4e
xor edx, 0x11146
pop edx
mov dword [ebp - 0x1fac], 0xffffffff
push edx
push ebx
add esp, 4
call 0x507c06
add byte [ebx], bh
cmp byte [ebx], dh
inc ebx
xor eax, 0xc4834732
add al, 0x81
fstp xword [ecx - 0x3d7f0000]
or al, byte [edx + 0x565a0000]
add esi, 0xf95c
jmp 0x507c25
pop esi
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x507c43
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push edi
sub edi, 0xcb36
call 0x507c59
add byte [ebx + 0x38], al
inc edx
dec ecx
cmp edi, dword [ecx + ecx*2]
cmp eax, dword [ecx - 0x7d]
les eax, [ecx + eax*4]
out dx, eax
jo 0x507ca7
add dword [eax], eax
pop edi
push esi
push eax
add esp, 4
and esi, 0x9c39
add esi, 0xe3b0
pop esi
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x507cbd
push edi
sub edi, 0x1542a
and edi, 0xa07e
pop edi
push ebx
add ebx, 0x62a7
call 0x507ca7
add byte [0x3a3e434d], bh
cmp al, byte [ebx - 0x3c7efb3c]
sbb dword [eax], esi
add byte [eax], al
add esp, 4
add ebx, 0x3019
jmp 0x507cb7
pop ebx
jmp 0x507eeb
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push esi
push ecx
add esp, 4
or esi, 0x1109d
pop esi
push ebx
push esi
add esp, 4
and ebx, 0xcac9
pop ebx
push ecx
add ecx, 0x2ab
add ecx, 0x16c16
xor ecx, 0x16aaa
jmp 0x507d04
pop ecx
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x507d6c
push ecx
add ecx, 0x9d52
jmp 0x507d39
sub ecx, 0xec1e
pop ecx
push edi
jmp 0x507d48
xor edi, 0x6b0d
jmp 0x507d54
add edi, 0x6045
pop edi
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x507e9d
cmp dword [ebp - 0xc10], 0
jle 0x507e91
push esi
or esi, 0xe6ab
pop esi
push edi
push ebx
add esp, 4
call 0x507d94
add byte [edx], bh
xor dh, byte [eax + edx*2]
cmp al, 0x44
cmp dword [ebx + eax*4], esi
les eax, [ecx + eax*4]
imul dword [edx + 0x67]
add byte [eax], al
jmp 0x507da4
sub edi, 0x13ca3
pop edi
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x507e2d
push edx
push ebx
add esp, 4
add edx, 0x148cc
pop edx
push edi
push ecx
add esp, 4
jmp 0x507dd8
xor edi, 0x544d
and edi, 0x859d
and edi, 0x8686
pop edi
push edx
and edx, 0x284a
pop edx
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x507e15
mov dword [ebp - 0x14cc], 1
jmp 0x507e1f
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x507e91
push ecx
push edx
add esp, 4
and ecx, 0x9d7c
call 0x507e45
add byte [eax], bh
inc ebp
inc ebp
xor eax, 0x834a403f
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [ebx + eax*2], bh
dec esp
inc edx
dec ebp
inc esp
xor eax, dword [ebx - 0x1e7efb3c]
and byte [ecx - 0x74a70000], ch
xchg ebp, eax
invalid
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x507ee6
push ecx
push ebx
add esp, 4
sub ecx, 0x115a0
or ecx, 0x1e35
pop ecx
push ecx
push ebx
add esp, 4
sub ecx, 0x13197
pop ecx
push esi
add esi, 0x128bd
xor esi, 0x1563d
or esi, 0xd9ff
pop esi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x507f27
jmp 0x507c34
push edi
call 0x507efb
add byte [ebp + 0x42], al
xor eax, 0x40494036
inc edx
xor eax, 0xe804c483
or dword [eax], eax
add byte [eax], al
add byte [edi], bh
aas
xor al, 0x46
inc ebx
inc ecx
cmp dword [0xeb04c483], esi
add eax, 0x464d4641
aaa
and edi, 0xe0a5
pop edi
mov dword [ebp - 0xa5c], 0
push edx
push ebx
add esp, 4
call 0x507f3b
add byte [ebx], dh
inc ebx
dec ebp
push eax
inc ebp
dec ecx
inc eax
dec esi
cmp dword [ebx - 0x1d7efb3c], eax
add al, 0xc9
add byte [eax], al
pop edx
push esi
sub esi, 0x1409b
sub esi, 0x14414
add esi, 0x14239
pop esi
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push edi
or edi, 0x12d3f
add edi, 0xae1c
pop edi
push ebx
push ebx
add esp, 4
xor ebx, 0xb321
or ebx, 0xb72a
pop ebx
push esi
push edx
add esp, 4
and esi, 0xdc67
or esi, 0x7bb7
pop esi
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push edi
push ecx
add esp, 4
or edi, 0x16c27
sub edi, 0xb030
xor edi, 0x5293
sub edi, 0x8a4a
pop edi
push eax
push edx
add esp, 4
xor eax, 0x81a7
pop eax
push eax
add eax, 0x11f69
pop eax
push eax
push edi
add esp, 4
call 0x5080bc
add byte [esi], bh
inc edx
xor edx, dword [eax + 0x4b]
add esp, 4
xor eax, 0x1825b
jmp 0x5080ca
pop eax
push esi
call 0x5080d8
add byte [esi], bh
inc edi
aas
push eax
aas
dec ecx
add esp, 4
pop esi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push eax
push edi
add esp, 4
add eax, 0x6a83
and eax, 0x13032
add eax, 0x21d0
pop eax
push esi
or esi, 0x11ee2
and esi, 0x6b14
pop esi
push ebx
push ebx
add esp, 4
or ebx, 0x3866
pop ebx
cmp dword [ebp - 0x14d4], 0
jne 0x50814e
mov dword [ebp - 0x2e0], 0
jmp 0x50840a
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push ebx
push edi
add esp, 4
jmp 0x50816d
add ebx, 0x57e3
xor ebx, 0x14f66
sub ebx, 0x1809a
pop ebx
push esi
push ecx
add esp, 4
or esi, 0xa5f2
add esi, 0x5480
pop esi
cmp dword [ebp - 0xc20], 0
jne 0x5081aa
mov dword [ebp - 0x2e0], 0
jmp 0x50840a
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push edi
push esi
add esp, 4
sub edi, 0x76f
pop edi
push edx
sub edx, 0x15aee
pop edx
push edx
xor edx, 0xf89c
jmp 0x5081d6
pop edx
push ecx
jmp 0x5081e1
or ecx, 0x5667
pop ecx
lea ecx, [ebp - 0x1628]
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc18], eax
xor ecx, ecx
mov word [ebp - 0x1f8], cx
xor edx, edx
mov word [ebp - 0x100], dx
push esi
push ebx
add esp, 4
and esi, 0x585
pop esi
push esi
push esi
add esp, 4
call 0x508233
add byte [esi + 0x34], al
cmp dword [edi + 0x41], eax
cmp eax, 0x4c48341
pop esi
push edx
sub edx, 0x12d2
pop edx
push ebx
xor ebx, 0x107b9
pop ebx
mov eax, dword [ebp - 0xc18]
mov cx, word [eax]
mov word [ebp - 0xf7e], cx
mov edx, dword [ebp - 0xc18]
add edx, 2
mov dword [ebp - 0xc18], edx
mov ax, word [ebp - 0xf7e]
mov word [ebp - 0x1f8], ax
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp - 0xf80], dx
mov eax, dword [ebp - 0xc1c]
add eax, 2
mov dword [ebp - 0xc1c], eax
mov cx, word [ebp - 0xf80]
mov word [ebp - 0x100], cx
push ebx
or ebx, 0x12a8d
sub ebx, 0x864a
sub ebx, 0x128f0
pop ebx
push ebx
push esi
add esp, 4
and ebx, 0x2c4d
call 0x5082cf
add byte [edi + 0x47], cl
inc esi
push eax
xor bh, byte [0x83414f49]
les eax, [ebx + ebx*2]
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x5082f6
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x508359
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x508215
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x508215
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x508343
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x50834d
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x5083a2
push edi
call 0x508373
add byte [0x324a353c], bh
cmp eax, dword [edx + 0x36]
cmp esi, dword [ebx]
add esp, 4
and edi, 0x1a91
or edi, 0x181f4
call 0x508390
add byte [edx + 0x34], al
dec edx
xor eax, 0x384f4e36
add esp, 4
pop edi
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x50840a
push edi
sub edi, 0xfebd
or edi, 0xe682
pop edi
push ecx
push esi
add esp, 4
xor ecx, 0x128d5
add ecx, 0x1274b
pop ecx
push eax
push ecx
add esp, 4
sub eax, 0x7123
add eax, 0xac45
pop eax
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0xc20]
je 0x508400
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x5081b6
mov dword [ebp - 0x2e0], 0
push edx
call 0x508417
add byte [esi + 0x33], al
push eax
cmp dword [esi + 0x3e], ecx
add esp, 4
pop edx
push edx
push ebx
add esp, 4
call 0x50842c
add byte [eax + 0x3c], cl
dec edx
inc edx
dec esp
inc ecx
add esp, 4
xor edx, 0x10d16
xor edx, 0x8dae
pop edx
cmp dword [ebp - 0x2e0], 0
jne 0x508d55
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push ecx
push esi
add esp, 4
sub ecx, 0x8eef
xor ecx, 0xdb5a
pop ecx
push edx
call 0x508504
add byte [esp + ecx*2], dh
cmp al, 0x3f
xor esi, dword [edx]
cmp byte [edx], bh
dec edi
add esp, 4
sub edx, 0x8c4b
and edx, 0x123f0
pop edx
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push edi
push ecx
add esp, 4
and edi, 0x15bcd
and edi, 0x13309
pop edi
push edi
or edi, 0x16cda
pop edi
push edi
call 0x5085be
add byte [0x384c3b4d], bh
dec eax
xor eax, 0x8104c483
out dx, eax
invalid
push ebx
push edx
add esp, 4
call 0x508d67
add byte [edx], bh
inc ebx
xor eax, 0x483f4539
add esp, 4
jmp 0x508d71
jmp 0x508d7a
pop ebx
push esi
push edx
add esp, 4
or esi, 0xc695
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push edi
add edi, 0xfc34
and edi, 0xc2b6
pop edi
push ebx
push edx
add esp, 4
call 0x508dd0
add byte [ecx + eax*2], bh
cmp byte [edi], dh
inc ebx
inc eax
inc edx
aaa
add esp, 4
pop ebx
push esi
push eax
add esp, 4
and esi, 0x13732
pop esi
cmp dword [ebp - 0x14f4], 0
jne 0x508df8
mov dword [ebp - 0x2e0], 0
jmp 0x50909f
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edx
call 0x508e1a
add byte [ebx + 0x44], al
dec edx
cmp al, 0x3e
aaa
dec esp
inc ebp
inc esi
add esp, 4
jmp 0x508e25
sub edx, 0x150ec
pop edx
push esi
add esi, 0xe4fb
pop esi
push edx
or edx, 0xb925
pop edx
cmp dword [ebp - 0xc3c], 0
jne 0x508e54
mov dword [ebp - 0x2e0], 0
jmp 0x50909f
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push ecx
jmp 0x508e69
xor ecx, 0xb266
jmp 0x508e75
pop ecx
push esi
or esi, 0x3656
jmp 0x508e85
xor esi, 0x12e90
xor esi, 0x8872
pop esi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ecx
jmp 0x508ec2
pop ecx
push eax
jmp 0x508ecb
or eax, 0x12d0
pop eax
push ebx
xor ebx, 0x16d1e
jmp 0x508ede
xor ebx, 0xcdbb
jmp 0x508eed
pop ebx
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push edx
sub edx, 0xb37a
call 0x508f59
add byte [ecx + 0x50], cl
dec ebp
cmp dword [ebx], esi
inc edi
aas
add esp, 4
pop edx
push edx
and edx, 0x9330
and edx, 0x417c
or edx, 0xf2d8
and edx, 0x12f8a
pop edx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x508f94
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x508fee
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x508ebc
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x508ebc
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x508fd8
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x508fe2
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x509037
push esi
push ecx
add esp, 4
xor esi, 0x1086a
pop esi
push ebx
push ecx
add esp, 4
sub ebx, 0xce34
pop ebx
push ecx
push ecx
add esp, 4
and ecx, 0x90ad
or ecx, 0xd360
pop ecx
push eax
sub eax, 0x14c21
pop eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x50909f
push edi
push edx
add esp, 4
call 0x50904a
add byte [edx + esi + 0x38], al
inc esp
xor esi, dword [esi]
xor eax, 0x4c48347
call 0x509059
add byte [0x3236493a], dh
cmp al, 0x83
les eax, [ecx + eax*4]
imul dword [ebx]
sbb al, 1
add byte [ecx + 0x17087e7], al
add byte [edi - 0x75], bl
xchg ebp, eax
and al, 0xfb
invalid
push edx
xor edx, 0xf989
or edx, 0xd81e
xor edx, 0x17694
pop edx
push edi
or edi, 0x146f8
add edi, 0xd87b
pop edi
push edi
jmp 0x5090ca
and edi, 0x12b7b
pop edi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push eax
jmp 0x5090e6
xor eax, 0x795d
add eax, 0xc40f
pop eax
push ebx
call 0x509102
add byte [esi], bh
dec edi
inc edi
cmp eax, 0x343e494b
add esp, 4
sub ebx, 0x3746
sub ebx, 0xd20
pop ebx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x509142
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x509433
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x50916a
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x509433
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x50919c
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x509433
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x5091c1
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x509433
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x50921b
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x509427
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x50928b
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x50933d
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x50933d
push ebx
xor ebx, 0x15699
or ebx, 0x14208
or ebx, 0x1765c
add ebx, 0x18107
pop ebx
push ecx
push ecx
add esp, 4
or ecx, 0x10762
add ecx, 0x338c
add ecx, 0xf121
pop ecx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x50932f
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x509336
jmp 0x50927c
jmp 0x50933d
push ebx
push edi
add esp, 4
add ebx, 0x17eb6
or ebx, 0x7684
pop ebx
push esi
and esi, 0x5ba3
or esi, 0x65a4
pop esi
push edx
push edx
add esp, 4
or edx, 0x4788
or edx, 0x9c99
pop edx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x50939c
mov dword [ebp - 0xc40], 0
jmp 0x50940b
push eax
add eax, 0x9e9f
xor eax, 0x13bf1
or eax, 0x1819b
sub eax, 0x7362
pop eax
push ecx
sub ecx, 0xf9d9
call 0x5093ca
add byte [esi + 0x3f], cl
xor al, 0x3e
cmp bh, byte [ecx]
cmp eax, dword [ebx - 0x74a6fb3c]
test eax, edi
clc
invalid
cmp dword [ebp - 0xc40], 0
jne 0x509422
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x509433
jmp 0x50920c
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edx
push edi
add esp, 4
call 0x509454
add byte [ecx + eax*2], bh
dec ecx
inc ebp
inc edi
xor al, 0x40
inc esp
cmp eax, dword [ebx + 0x5eb04c4]
push eax
dec ebx
push eax
aaa
cmp al, 0x81
ret 0x57a2