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

Disassembly:
inc esp
cmp al, byte [edx + 0x4c]
add esp, 4
pop edx
push esi
push ebx
add esp, 4
add esi, 0xf8ba
or esi, 0xca3f
pop esi
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ebx
sub ebx, 0x4cc2
jmp 0x4083f7
pop ebx
push ecx
call 0x408405
add byte [ebx], dh
aaa
dec edx
inc eax
cmp dword [eax - 0x7d], edx
les eax, [ecx + eax*4]
sar eax, 0x7a
add byte [eax], al
or ecx, 0xa1f7
xor ecx, 0x1208b
pop ecx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x40844b
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40873c
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x408473
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40873c
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x4084a5
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x40873c
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x4084ca
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x40873c
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19d4], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19d8], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d60], ecx
mov dword [ebp - 0x768], 0
jmp 0x408524
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x408730
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19d4]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19d8]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d60]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19dc], eax
mov dword [ebp - 0x19c], 0
jmp 0x408594
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x408646
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x408646
push eax
push esi
add esp, 4
xor eax, 0x74ac
call 0x4085d9
add byte [ecx + 0x33], al
dec esp
xor eax, 0x8340503c
les eax, [eax + ebx*2]
push ebx
sub ebx, 0x52ab
add ebx, 0x51cf
pop ebx
push edi
or edi, 0x1240f
pop edi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x408638
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x40863f
jmp 0x408585
jmp 0x408646
push ebx
jmp 0x40864e
call 0x40865c
add byte [eax], bh
inc edx
xor al, 0x49
push eax
cmp cl, byte [ecx + 0x32]
add esp, 4
and ebx, 0xdb25
and ebx, 0x114bd
pop ebx
push ecx
push edx
add esp, 4
sub ecx, 0xbf49
pop ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x4086a5
mov dword [ebp - 0xcb8], 0
jmp 0x408714
push esi
push esi
add esp, 4
jmp 0x4086b2
add esi, 0x687c
and esi, 0x4700
pop esi
push esi
push ebx
add esp, 4
xor esi, 0x96af
add esi, 0xc7bb
or esi, 0x5764
pop esi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x40870a
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x408714
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x40872b
mov ecx, dword [ebp - 0x19dc]
mov dword [ebp - 0x510], ecx
jmp 0x40873c
jmp 0x408515
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push eax
sub eax, 0xadd0
call 0x40875e
add byte [edx], bh
push eax
push eax
inc edi
aas
cmp eax, dword [edx + 0x3c]
aaa
add esp, 4
pop eax
push eax
add eax, 0x43b4
pop eax
push ebx
jmp 0x408773
xor ebx, 0xa3f0
pop ebx
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x1a2c], ecx
push ecx
push edx
add esp, 4
sub ecx, 0x5152
or ecx, 0xd995
pop ecx
push esi
push edx
add esp, 4
jmp 0x4087a5
pop esi
push ecx
call 0x4087b7
add byte [ebp + 0x39], cl
xor eax, 0x32344948
cmp eax, 0xc4833747
add al, 0x59
cmp dword [ebp - 0x3e8], 0
je 0x4087cd
cmp dword [ebp - 0xab8], 0
jne 0x408813
push ecx
add ecx, 0x68fd
sub ecx, 0x183f
pop ecx
push ecx
push eax
add esp, 4
sub ecx, 0xcf6c
or ecx, 0xfe06
xor ecx, 0x7aaf
pop ecx
push ebx
push ebx
add esp, 4
xor ebx, 0x7901
pop ebx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x19e0], edx
push 0
call dword [ebp - 0x19e0]
mov dword [ebp - 0x20f8], 0xa
push ebx
and ebx, 0x4e59
add ebx, 0x178f6
sub ebx, 0x66d0
pop ebx
push esi
push ecx
add esp, 4
or esi, 0x17b1f
sub esi, 0xe0c4
or esi, 0x480e
or esi, 0x8ad
pop esi
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push esi
or esi, 0x137d3
or esi, 0x8db4
sub esi, 0xf046
pop esi
push edi
push edx
add esp, 4
or edi, 0x134b8
or edi, 0xcb7f
or edi, 0x10b2e
or edi, 0x1642e
pop edi
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push edx
push ebx
add esp, 4
call 0x408927
add byte [ecx], bh
dec ecx
dec eax
dec edi
dec ebp
xor eax, 0x4c48333
pop edx
push edx
xor edx, 0x1700a
pop edx
push edi
xor edi, 0x8bdb
add edi, 0xa93f
add edi, 0x3c25
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19e4], eax
mov ecx, dword [ebp - 0x19e4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19e8], edx
mov eax, dword [ebp - 0x19e8]
mov dword [ebp - 0x1614], eax
push ebx
push edi
add esp, 4
add ebx, 0x13628
or ebx, 0xc15f
pop ebx
push ebx
sub ebx, 0x17827
pop ebx
push ecx
push ecx
add esp, 4
sub ecx, 0xbcb8
and ecx, 0x1e53
xor ecx, 0xf8a4
pop ecx
cmp dword [ebp - 0x1614], 0
jne 0x4089b8
mov dword [ebp - 0x2fc], 0
jmp 0x408c5f
mov ecx, dword [ebp - 0x1614]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push edx
push ecx
add esp, 4
jmp 0x4089d8
xor edx, 0x4fd5
call 0x4089ee
add byte [0x39403e3d], dh
inc ecx
dec edi
dec ecx
inc esi
aas
add esp, 4
pop edx
push ecx
jmp 0x4089fb
pop ecx
cmp dword [ebp - 0xcc4], 0
jne 0x408a14
mov dword [ebp - 0x2fc], 0
jmp 0x408c5f
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push edx
push ecx
add esp, 4
and edx, 0xc37f
xor edx, 0x37cf
add edx, 0xe882
pop edx
push edx
push eax
add esp, 4
or edx, 0xb867
and edx, 0x7860
pop edx
push eax
add eax, 0xd26a
pop eax
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push eax
push ebx
add esp, 4
call 0x408a8d
add byte [eax + 0x3a], al
dec ebx
push eax
inc ebx
dec ebx
add esp, 4
jmp 0x408a95
pop eax
push eax
push edx
add esp, 4
sub eax, 0x5c01
sub eax, 0xf17c
add eax, 0xa335
pop eax
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push eax
xor eax, 0x11f35
pop eax
push ecx
push ebx
add esp, 4
or ecx, 0x10443
xor ecx, 0xe5e2
pop ecx
push ebx
push edi
add esp, 4
xor ebx, 0x1839
add ebx, 0x11407
add ebx, 0x1357f
pop ebx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x408b54
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x161c], ecx
jmp 0x408bae
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x408a7c
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x408a7c
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x408b98
mov dword [ebp - 0x1618], 0xffffffff
jmp 0x408ba2
mov dword [ebp - 0x1618], 1
mov eax, dword [ebp - 0x1618]
mov dword [ebp - 0x161c], eax
cmp dword [ebp - 0x161c], 0
jne 0x408bf7
push edi
call 0x408bc7
add byte [esi + 0x4f], al
cmp al, 0x41
inc esp
dec ecx
cmp cl, byte [ebx + 0x35]
add esp, 4
or edi, 0xfc0
jmp 0x408bd6
and edi, 0x2b1e
pop edi
push ecx
push eax
add esp, 4
add ecx, 0x17711
pop ecx
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x408c5f
push esi
push esi
add esp, 4
xor esi, 0x3a86
and esi, 0xd4d0
xor esi, 0x1766c
pop esi
push ecx
and ecx, 0x134a1
sub ecx, 0x12d37
pop ecx
push eax
push ebx
add esp, 4
or eax, 0x348f
pop eax
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x408c55
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x408a20
mov dword [ebp - 0x2fc], 0
push eax
call 0x408c6d
add byte [edi + 0x3f], al
dec ecx
dec esp
xor bh, byte [esi]
dec eax
add esp, 4
add eax, 0x11997
sub eax, 0x11153
xor eax, 0xd73c
pop eax
push ebx
add ebx, 0xda1e
xor ebx, 0x6866
pop ebx
cmp dword [ebp - 0x2fc], 0
jne 0x409596
mov eax, 0x6b
mov word [ebp - 0x1770], ax
mov ecx, 0x65
mov word [ebp - 0x176e], cx
mov edx, 0x72
mov word [ebp - 0x176c], dx
mov eax, 0x6e
mov word [ebp - 0x176a], ax
mov ecx, 0x65
mov word [ebp - 0x1768], cx
mov edx, 0x6c
mov word [ebp - 0x1766], dx
mov eax, 0x33
mov word [ebp - 0x1764], ax
mov ecx, 0x32
mov word [ebp - 0x1762], cx
mov edx, 0x2e
mov word [ebp - 0x1760], dx
mov eax, 0x64
mov word [ebp - 0x175e], ax
mov ecx, 0x6c
mov word [ebp - 0x175c], cx
mov edx, 0x6c
mov word [ebp - 0x175a], dx
xor eax, eax
mov word [ebp - 0x1758], ax
push edx
call 0x408d44
add byte [eax + 0x3b], cl
inc eax
inc edi
xor eax, dword [esi - 0x7d]
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [esi + 0x45], al
aaa
inc ecx
cmp cl, byte [ebp + 0x4a]
cmp byte [ebp - 0x7d], cl
les eax, [edx + ebx*2]
push ebx
push edx
add esp, 4
jmp 0x408d68
pop ebx
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
mov byte [ebp - 0x899], 0x57
mov byte [ebp - 0x898], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19ec], ecx
mov edx, dword [ebp - 0x19ec]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19f0], eax
mov ecx, dword [ebp - 0x19f0]
mov dword [ebp - 0x1620], ecx
push eax
push edx
add esp, 4
jmp 0x408df9
or eax, 0x16439
pop eax
push eax
xor eax, 0x4e9b
call 0x408e14
add byte [ebp + 0x4d], cl
dec ecx
cmp byte [eax + 0x32], cl
xor al, byte [ebx - 0xf7efb3c]
push ds
push ds
add dword [eax], eax
pop eax
cmp dword [ebp - 0x1620], 0
jne 0x408e36
mov dword [ebp - 0x774], 0
jmp 0x4090dd
mov edx, dword [ebp - 0x1620]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push ecx
push ecx
add esp, 4
xor ecx, 0x170d0
call 0x408e5f
add byte [eax + 0x48], al
dec edi
dec eax
inc eax
dec edi
add esp, 4
pop ecx
push esi
push eax
add esp, 4
jmp 0x408e6d
add esi, 0x9342
add esi, 0xed93
pop esi
cmp dword [ebp - 0xcd0], 0
jne 0x408e92
mov dword [ebp - 0x774], 0
jmp 0x4090dd
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push eax
and eax, 0x798c
pop eax
push edi
push edx
add esp, 4
call 0x408ebb
add byte [ecx + 0x41], cl
cmp dh, byte [0x383c4d4b]
cmp al, byte [edi - 0x7d]
les eax, [ebx + ebp*8]
add edx, dword [eax + 0x38]
xor eax, 0x8353505f
les eax, [ecx + eax*4]
shl byte [edx + 0x58000098], 0x8d
test dword [eax - 0x76000018], edx
test dword [ebx + esi*8], esi
invalid
push ecx
jmp 0x4090e6
call 0x4090f6
add byte [ecx + 0x3c], al
cmp byte [0x42473d40], dh
xor al, 0x4c
add esp, 4
pop ecx
push eax
add eax, 0x168f2
and eax, 0x11189
jmp 0x40910e
pop eax
cmp dword [ebp - 0x774], 0
jne 0x409159
push esi
sub esi, 0xfdc6
pop esi
push edx
push eax
add esp, 4
sub edx, 0x2412
call 0x40913a
add byte [eax + 0x34], al
cmp dword [ebp + 0x43], ecx
cmp al, 0x50
inc esp
inc esp
add esp, 4
or edx, 0xffae
and edx, 0xb74
pop edx
mov dword [ebp - 0xab4], 0
jmp 0x409c81
push edx
and edx, 0xbe7b
or edx, 0x1b28
call 0x409174
add byte [eax + 0x43], al
inc ebx
aas
inc eax
dec edx
aas
add esp, 4
call 0x409187
add byte [ecx + 0x4c], al
xor al, 0x4e
dec ecx
inc ebx
inc edx
aas
dec ebp
aaa
add esp, 4
pop edx
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x4091ca
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x4094bb
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x4091f2
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x4094bb
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x409224
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x4094bb
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x409249
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x4094bb
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19f4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19fc], edx
mov dword [ebp - 0x77c], 0
jmp 0x4092a3
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x4094af
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19f4]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19f8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19fc]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a00], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x409313
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4093c5
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x4093c5
push edi
push esi
add esp, 4
and edi, 0x9a89
and edi, 0x82d0
pop edi
push ebx
push ebx
add esp, 4
sub ebx, 0x2536
and ebx, 0x12192
pop ebx
push eax
sub eax, 0x14751
or eax, 0x14f68
pop eax
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x4093b7
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x4093be
jmp 0x409304
jmp 0x4093c5
push esi
and esi, 0x127ff
pop esi
push edx
push ebx
add esp, 4
xor edx, 0x655a
and edx, 0xb8c0
or edx, 0xc66c
xor edx, 0xab9f
pop edx
push ebx
push edx
add esp, 4
add ebx, 0x5465
pop ebx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x409424
mov dword [ebp - 0xcd4], 0
jmp 0x409493
push ecx
and ecx, 0xa707
pop ecx
push ecx
push eax
add esp, 4
and ecx, 0x11553
call 0x409445
add byte [eax], bh
xor bh, byte [eax]
dec esp
inc edx
xor dl, byte [eax + 0x42]
add esp, 4
jmp 0x40944f
and ecx, 0x4db2
pop ecx
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x409489
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x409493
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x4094aa
mov edx, dword [ebp - 0x1a00]
mov dword [ebp - 0x3f8], edx
jmp 0x4094bb
jmp 0x409294
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x409596
push ebx
push esi
add esp, 4
add ebx, 0xb7a2
pop ebx
push ebx
jmp 0x4094db
and ebx, 0xa3df
sub ebx, 0x85b4
sub ebx, 0xd1a9
pop ebx
push edx
push edx
add esp, 4
xor edx, 0x15894
pop edx
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x1a04], ecx
push esi
xor esi, 0x86a7
sub esi, 0x4b85
call 0x409522
add byte [ecx], bh
inc edi
dec ebx
push eax
inc eax
inc esi
inc eax
dec esp
dec ebx
add esp, 4
pop esi
push edi
push edi
add esp, 4
or edi, 0xcc77
and edi, 0xd6ff
pop edi
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x1a08], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x1a08]
test eax, eax
jne 0x409596
push edi
add edi, 0x11aa0
pop edi
push ebx
push ebx
add esp, 4
sub ebx, 0x890
sub ebx, 0x660b
pop ebx
push edx
and edx, 0x534e
pop edx
push edx
jmp 0x409580
sub edx, 0x13d03
pop edx
mov dword [ebp - 0xab4], 0
jmp 0x409c81
push ebx
and ebx, 0xb74b
pop ebx
push edi
push eax
add esp, 4
add edi, 0xa6f
sub edi, 0x3e3
or edi, 0x95a
pop edi
push ecx
push edi
add esp, 4
or ecx, 0x1018b
xor ecx, 0xe64c
pop ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a0c], ecx
mov edx, dword [ebp - 0x1a0c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a10], eax
mov ecx, dword [ebp - 0x1a10]
mov dword [ebp - 0x167c], ecx
push esi
push edi
add esp, 4
and esi, 0xfb6
sub esi, 0x4f86
call 0x40960f
add byte [ecx + ecx*2 + 0x49], cl
inc ecx
inc ebx
dec edi
cmp eax, 0xeb04c483
push es
dec eax
xor dh, byte [esp + esi]
dec esi
dec eax
pop esi
push edi
jmp 0x409621
pop edi
cmp dword [ebp - 0x167c], 0
jne 0x40963a
mov dword [ebp - 0x2fc], 0
jmp 0x4098e1
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push ebx
call 0x40965d
add byte [edi], bh
inc edi
dec edx
xor bh, byte [esi]
cmp byte [esi], dh
xor bh, byte [ebx]
inc ebp
add esp, 4
pop ebx
push edx
push esi
add esp, 4
jmp 0x40966f
pop edx
push ebx
or ebx, 0xa45b
sub ebx, 0x12033
pop ebx
cmp dword [ebp - 0xce0], 0
jne 0x409696
mov dword [ebp - 0x2fc], 0
jmp 0x4098e1
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push edx
xor edx, 0xf1ac
pop edx
push edx
xor edx, 0x15e8b
pop edx
push edi
jmp 0x4096bb
pop edi
push edx
push ecx
add esp, 4
sub edx, 0x85be
and edx, 0x6483
or edx, 0xcd39
pop edx
lea eax, [ebp - 0x1738]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ebx
push edi
add esp, 4
add ebx, 0xe402
add ebx, 0x4605
or ebx, 0x1595b
pop ebx
push ebx
and ebx, 0x16237
or ebx, 0xcff5
xor ebx, 0xa2f0
jmp 0x40972f
pop ebx
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push esi
push eax
add esp, 4
xor esi, 0x17ec0
xor esi, 0xb340
call 0x4097a7
add byte [edx + 0x4d], cl
cmp eax, dword [ebp + 0x3e]
cmp eax, 0x83404443
les eax, [esi + ebx*2]
push edi
add edi, 0x11fef
sub edi, 0xb915
pop edi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x4097d6
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x409830
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x4096fe
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x4096fe
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40981a
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x409824
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x409879
push ecx
add ecx, 0xfa36
pop ecx
push esi
sub esi, 0x14d
pop esi
push edi
or edi, 0x123ef
add edi, 0xaa62
pop edi
push esi
add esi, 0x14382
and esi, 0x185d5
add esi, 0x15ed6
pop esi
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x4098e1
push eax
push ecx
add esp, 4
call 0x40988c
add byte [esi + 0x45], al
cmp edi, dword [eax]
push eax
inc edx
inc eax
dec ebp
add esp, 4
and eax, 0x158f5
xor eax, 0x17337
call 0x4098a7
add byte [edx + ecx*2 + 0x45], cl
inc edx
xor eax, 0x4c48339
pop eax
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x4098d7
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x4096a2
mov dword [ebp - 0x2fc], 0
push edx
call 0x4098ef
add byte [edi + esi], dh
dec ecx
inc ecx
inc ecx
dec eax
inc edi
add esp, 4
add edx, 0xd888
pop edx
push edx
add edx, 0x1265d
or edx, 0x13ff
add edx, 0xa2d
or edx, 0xa47c
pop edx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push ecx
push esi
add esp, 4
add ecx, 0xd2e2
sub ecx, 0x8fd8
xor ecx, 0x11d89
pop ecx
push esi
or esi, 0x93ae
add esi, 0x15a48
pop esi
push edi
push ecx
add esp, 4
xor edi, 0x915d
pop edi
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x409984
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x409c75
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x4099ac
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x409c75
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x168c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jne 0x4099de
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x409c75
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x409a03
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x409c75
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a14], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a18], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a1c], edx
mov dword [ebp - 0x78c], 0
jmp 0x409a5d
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x409c69
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a14]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a18]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a1c]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a20], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x409acd
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x409b7f
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x409b7f
push esi
push edi
add esp, 4
add esi, 0x8701
and esi, 0xe7ab
and esi, 0x14b88
jmp 0x409b17
pop esi
push ecx
sub ecx, 0x20ff
or ecx, 0xa0c1
xor ecx, 0xcb32
pop ecx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x409b71
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x409b78
jmp 0x409abe
jmp 0x409b7f
push edx
push edi
add esp, 4
and edx, 0x151f6
sub edx, 0x2bac
add edx, 0x17430
pop edx
push edx
push eax
add esp, 4
or edx, 0xfc7e
sub edx, 0x7d23
jmp 0x409bb0
pop edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
cmp ecx, eax
jne 0x409bde
mov dword [ebp - 0xce4], 0
jmp 0x409c4d
push esi
push ecx
add esp, 4
xor esi, 0x49f1
add esi, 0xa056
add esi, 0xebe
add esi, 0x782f
pop esi
push edx
or edx, 0xb6e5
add edx, 0x41c0
xor edx, 0x14c0f
pop edx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
cmp edx, ecx
jge 0x409c43
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x409c4d
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x409c64
mov edx, dword [ebp - 0x1a20]
mov dword [ebp - 0x520], edx
jmp 0x409c75
jmp 0x409a4e
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xab4], ecx
push eax
push edx
add esp, 4
xor eax, 0x16fac
xor eax, 0x11650
or eax, 0x143
pop eax
push edx
add edx, 0x2f2
xor edx, 0x1a21
and edx, 0xb5d9
add edx, 0xe326
pop edx
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x1a24], edx
lea eax, [ebp - 0xce8]
push eax
push 0x40
mov ecx, dword [ebp - 0x1694]
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
call dword [ebp - 0x1a24]
test eax, eax
jne 0x409d26
push edx
call 0x409cef
add byte [esi + 0x4a], al
dec ebx
inc ecx
cmp al, 0x34
inc eax
dec ecx
add esp, 4
jmp 0x409cf9
or edx, 0x1012c
pop edx
push ecx
push edi
add esp, 4
or ecx, 0x99f3
xor ecx, 0x31fe
pop ecx
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x1a28], eax
push 0
call dword [ebp - 0x1a28]
mov ecx, dword [ebp - 0x1a2c]
mov dword [ebp - 0x798], ecx
jmp 0x409d43
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xab8]
jae 0x409d9f
push esi
and esi, 0x15874
pop esi
push edx
push esi
add esp, 4
call 0x409d6b
add byte [eax + 0x3a], cl
dec eax
inc esi
inc esi
dec ebp
xor al, 0x83
les eax, [ecx + eax*4]
or byte [esi], ah
add bl, ch
push es
xor eax, 0x484c3e47
xor al, 0x81
ret 0x5db9
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x1a30], edx
lea eax, [ebp - 0xce8]
push eax
mov ecx, dword [ebp - 0xce8]
push ecx
mov edx, dword [ebp - 0x1694]
push edx
mov eax, dword [ebp - 0x3e8]
push eax
call dword [ebp - 0x1a30]
test eax, eax
jne 0x409e17
push edx
xor edx, 0x1390e
or edx, 0xd50a
and edx, 0x142a9
call 0x409df3
add byte [esi + 0x3b], cl
inc ebp
aas
inc ebx
cmp byte [edx + 0x43], al
add esp, 4
pop edx
push eax
push ecx
add esp, 4
or eax, 0xb854
pop eax
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x1a34], ecx
push 0
call dword [ebp - 0x1a34]
push esi
push esi
add esp, 4
jmp 0x409e23
sub esi, 0x7e19
call 0x409e35
add byte [edx], bh
inc esp
dec eax
inc edi
cmp byte ss:[ebx - 0x97efb3c], al
in eax, dx
jne 0x409e3e
add byte [esi + 0x50], bl
pop esi
push eax
jmp 0x409e48
pop eax
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff08ff
pop ecx
pop edi
mov edi, ebp
adc eax, 0x89080872
xlatb
jno 0x409e6b
or byte [edi + 0x5e], ah
pop eax
mov ecx, esp
or al, 0x89
invalid