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

Disassembly:
add esp, 4
or ecx, 0x1e42
pop ecx
push esi
push ebx
add esp, 4
sub esi, 0x16215
pop esi
push ebx
or ebx, 0x12e0e
and ebx, 0x3c3d
and ebx, 0x12345
sub ebx, 0x990e
pop ebx
jmp 0x4061e3
push eax
sub eax, 0x133ff
jmp 0x4061f1
pop eax
push ebx
push ebx
add esp, 4
xor ebx, 0xc27
jmp 0x406206
pop ebx
push ecx
push edi
add esp, 4
jmp 0x406214
pop ecx
mov dword [ebp - 0xac0], 0
push ebx
push ecx
add esp, 4
sub ebx, 0x10979
pop ebx
push ecx
jmp 0x406234
jmp 0x40623b
jmp 0x406242
sub ecx, 0xf4d
pop ecx
push edx
sub edx, 0x3e83
pop edx
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push ecx
jmp 0x4062ac
and ecx, 0x9274
and ecx, 0x10b73
add ecx, 0x12ed
pop ecx
push ebx
push edx
add esp, 4
and ebx, 0x14c2d
and ebx, 0x11860
xor ebx, 0x1673f
pop ebx
mov ecx, 0x6b
mov word [ebp - 0x173c], cx
mov edx, 0x65
mov word [ebp - 0x173a], dx
mov eax, 0x72
mov word [ebp - 0x1738], ax
mov ecx, 0x6e
mov word [ebp - 0x1736], cx
mov edx, 0x65
mov word [ebp - 0x1734], dx
mov eax, 0x6c
mov word [ebp - 0x1732], ax
mov ecx, 0x33
mov word [ebp - 0x1730], cx
mov edx, 0x32
mov word [ebp - 0x172e], dx
mov eax, 0x2e
mov word [ebp - 0x172c], ax
mov ecx, 0x64
mov word [ebp - 0x172a], cx
mov edx, 0x6c
mov word [ebp - 0x1728], dx
mov eax, 0x6c
mov word [ebp - 0x1726], ax
xor ecx, ecx
mov word [ebp - 0x1724], cx
push ebx
push edx
add esp, 4
add ebx, 0x10157
add ebx, 0x12b1a
add ebx, 0x7c0
pop ebx
push ecx
xor ecx, 0xfbd0
call 0x40639e
add byte [0x4d32344c], dh
xor eax, 0x83504f4e
les eax, [ecx + ebx*2]
push edx
xor edx, 0x1496a
pop edx
push ecx
push eax
add esp, 4
add ecx, 0xa783
or ecx, 0x58e6
or ecx, 0x9753
add ecx, 0x8f6
pop ecx
push ecx
push ecx
add esp, 4
xor ecx, 0x13a14
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x15dc], edx
push edi
push ebx
add esp, 4
or edi, 0x2024
add edi, 0xd00d
pop edi
push ebx
push ecx
add esp, 4
sub ebx, 0x1396a
and ebx, 0x161dc
xor ebx, 0x26fc
pop ebx
push edx
or edx, 0x1107b
pop edx
cmp dword [ebp - 0x15dc], 0
jne 0x406446
mov dword [ebp - 0x31c], 0
jmp 0x406702
mov eax, dword [ebp - 0x15dc]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push eax
call 0x406468
add byte [eax + 0x43], dl
cmp ecx, dword ss:[edi + 0x3c]
inc ecx
dec ebx
dec eax
add esp, 4
call 0x406478
add byte [esi], bh
inc esi
cmp byte [ecx], bh
inc edi
inc esp
xor eax, dword [ebx + 0x515804c4]
push eax
add esp, 4
jmp 0x406489
pop ecx
cmp dword [ebp - 0xc98], 0
jne 0x4064a2
mov dword [ebp - 0x31c], 0
jmp 0x406702
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push edx
add edx, 0x3a3c
pop edx
push edi
push esi
add esp, 4
and edi, 0x5f4c
sub edi, 0x4a54
pop edi
push ecx
push ebx
add esp, 4
sub ecx, 0x8592
add ecx, 0x15f9e
or ecx, 0x1a7
pop ecx
lea ecx, [ebp - 0x173c]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc90], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push esi
xor esi, 0x3600
sub esi, 0xba9b
call 0x406526
add byte [ebx + 0x3c], al
dec ebp
aaa
cmp esi, dword [edx]
add esp, 4
pop esi
push edx
push edx
add esp, 4
call 0x40653b
add byte [eax], bh
xor edi, dword [0x833c4c4d]
les eax, [edx + ebx*2]
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
mov dword [ebp - 0xc90], edx
mov ax, word [ebp - 0x1032]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc94]
mov dx, word [ecx]
mov word [ebp - 0x1034], dx
mov eax, dword [ebp - 0xc94]
add eax, 2
mov dword [ebp - 0xc94], eax
mov cx, word [ebp - 0x1034]
mov word [ebp - 0x10c], cx
push eax
xor eax, 0x3aa2
and eax, 0x4e7c
and eax, 0xb8bd
pop eax
push eax
push ecx
add esp, 4
or eax, 0x65d3
add eax, 0x6fc1
xor eax, 0xbca5
sub eax, 0x14b6d
pop eax
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x4065ee
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e4], eax
jmp 0x406651
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x40650d
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x40650d
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x40663b
mov dword [ebp - 0x15e0], 0xffffffff
jmp 0x406645
mov dword [ebp - 0x15e0], 1
mov edx, dword [ebp - 0x15e0]
mov dword [ebp - 0x15e4], edx
cmp dword [ebp - 0x15e4], 0
jne 0x40669a
push esi
sub esi, 0x82b6
pop esi
push edx
push ecx
add esp, 4
or edx, 0x8da2
sub edx, 0x13fee
xor edx, 0x13af5
xor edx, 0x828b
pop edx
push edx
push ebx
add esp, 4
and edx, 0xe681
pop edx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x406702
push eax
push esi
add esp, 4
or eax, 0x9b98
jmp 0x4066ac
pop eax
push ebx
push esi
add esp, 4
sub ebx, 0x15474
call 0x4066c8
add byte [ebp + 0x32], al
cmp byte [edi], dh
dec esp
cmp byte [edi], dh
cmp eax, 0x4c48339
pop ebx
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0xc98]
je 0x4066f8
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x4064ae
mov dword [ebp - 0x31c], 0
push ebx
push edi
add esp, 4
or ebx, 0x1af3
sub ebx, 0x70c5
xor ebx, 0x1652f
pop ebx
push ecx
jmp 0x406720
sub ecx, 0x160f8
jmp 0x40672d
add ecx, 0x11a06
pop ecx
cmp dword [ebp - 0x31c], 0
jne 0x40704d
mov edx, 0x6b
mov word [ebp - 0x1758], dx
mov eax, 0x65
mov word [ebp - 0x1756], ax
mov ecx, 0x72
mov word [ebp - 0x1754], cx
mov edx, 0x6e
mov word [ebp - 0x1752], dx
mov eax, 0x65
mov word [ebp - 0x1750], ax
mov ecx, 0x6c
mov word [ebp - 0x174e], cx
mov edx, 0x33
mov word [ebp - 0x174c], dx
mov eax, 0x32
mov word [ebp - 0x174a], ax
mov ecx, 0x2e
mov word [ebp - 0x1748], cx
mov edx, 0x64
mov word [ebp - 0x1746], dx
mov eax, 0x6c
mov word [ebp - 0x1744], ax
mov ecx, 0x6c
mov word [ebp - 0x1742], cx
xor edx, edx
mov word [ebp - 0x1740], dx
push edx
sub edx, 0x3ec6
call 0x4067ee
add byte [ebp + eax*2 + 0x34], cl
xor al, 0x33
cmp dword [edi - 0x7d], eax
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [eax], bh
cmp al, 0x3f
dec eax
inc esi
cmp edx, dword [eax + 0x38]
dec edx
xor eax, dword [ebx + 0x5eb04c4]
dec ecx
dec ebx
inc edx
xor cl, byte [edx + 0x5a]
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x6f
mov byte [ebp - 0x892], 0x61
mov byte [ebp - 0x891], 0x64
mov byte [ebp - 0x890], 0x4c
mov byte [ebp - 0x88f], 0x69
mov byte [ebp - 0x88e], 0x62
mov byte [ebp - 0x88d], 0x72
mov byte [ebp - 0x88c], 0x61
mov byte [ebp - 0x88b], 0x72
mov byte [ebp - 0x88a], 0x79
mov byte [ebp - 0x889], 0x57
mov byte [ebp - 0x888], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19c4], edx
mov eax, dword [ebp - 0x19c4]
mov dword [ebp - 0x15e8], eax
push eax
or eax, 0xe6f1
pop eax
push ecx
call 0x4068a5
add byte [ebx], bh
inc esi
xor cl, byte [ebp + 0x4e]
cmp byte [edi + 0x4f], al
add esp, 4
and ecx, 0x180a6
call 0x4068bc
add byte [eax + edx*2], dh
xor dh, byte [edi]
xor eax, 0x83403946
les eax, [ecx + ebx*2]
cmp dword [ebp - 0x15e8], 0
jne 0x4068d8
mov dword [ebp - 0x750], 0
jmp 0x406b94
mov ecx, dword [ebp - 0x15e8]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push ebx
push ecx
add esp, 4
or ebx, 0x80de
pop ebx
push ebx
push edx
add esp, 4
xor ebx, 0xd699
sub ebx, 0x563c
and ebx, 0x1814c
pop ebx
push ebx
add ebx, 0x8bdb
sub ebx, 0x17254
pop ebx
cmp dword [ebp - 0xca4], 0
jne 0x406934
mov dword [ebp - 0x750], 0
jmp 0x406b94
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push esi
push ecx
add esp, 4
add esi, 0xcf34
and esi, 0xbcfc
jmp 0x406958
pop esi
push ebx
xor ebx, 0x16a38
call 0x40696e
add byte [edx], bh
cmp byte [edi], bh
dec ecx
xor al, 0x3b
inc esi
cmp byte [ebx - 0x72a4fb3c], al
xchg ebp, eax
test al, 0xe8
invalid
push eax
and eax, 0xd333
pop eax
push esi
push eax
add esp, 4
sub esi, 0x9da8
sub esi, 0x10146
pop esi
push ebx
push ebx
add esp, 4
sub ebx, 0x25cd
sub ebx, 0xb611
sub ebx, 0xe0a3
pop ebx
cmp dword [ebp - 0x750], 0
jne 0x406c10
push ebx
sub ebx, 0x1811a
jmp 0x406bdc
call 0x406be8
add byte [eax], bh
inc eax
aas
inc edi
dec ebp
dec esp
add esp, 4
pop ebx
push edi
push edx
add esp, 4
jmp 0x406bfa
xor edi, 0x89a4
pop edi
mov dword [ebp - 0x79c], 0
jmp 0x407737
push edx
add edx, 0x32dd
pop edx
push ecx
push eax
add esp, 4
sub ecx, 0x12372
xor ecx, 0x10e98
call 0x406c38
add byte [edi + 0x4e], cl
inc edx
xor al, 0x44
cmp dword [ebx + 0x4a], ecx
inc ebp
add esp, 4
sub ecx, 0x1658f
pop ecx
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f4], edx
cmp dword [ebp - 0x15f4], 0
jne 0x406c81
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x406f72
mov ecx, dword [ebp - 0x15f4]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f8], edx
jne 0x406ca9
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x406f72
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f8]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15fc], ecx
cmp dword [ebp - 0x15fc], 0
jne 0x406cdb
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x406f72
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15fc]
mov dword [ebp - 0x754], eax
jne 0x406d00
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x406f72
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19cc], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19d0], ecx
mov dword [ebp - 0x758], 0
jmp 0x406d5a
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x406f66
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19c8]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19cc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19d0]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19d4], eax
mov dword [ebp - 0x198], 0
jmp 0x406dca
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x406e7c
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x406e7c
push edi
push ecx
add esp, 4
add edi, 0x7b4d
jmp 0x406e09
pop edi
push edi
or edi, 0x127b2
call 0x406e1f
add byte [ecx + 0x42], al
inc ebp
xor eax, 0x4535443b
add esp, 4
sub edi, 0x1819a
pop edi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x406e6e
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x406e75
jmp 0x406dbb
jmp 0x406e7c
push ecx
add ecx, 0xe1a4
and ecx, 0x12f7a
and ecx, 0x11028
pop ecx
push ecx
push edi
add esp, 4
jmp 0x406e9b
add ecx, 0x1221e
add ecx, 0xb427
sub ecx, 0x5ef7
pop ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x406edb
mov dword [ebp - 0xca8], 0
jmp 0x406f4a
push eax
push ebx
add esp, 4
sub eax, 0x124cb
xor eax, 0xbc37
add eax, 0x1742d
pop eax
push esi
sub esi, 0xd26
xor esi, 0xb3cb
add esi, 0x142fa
or esi, 0xeb66
pop esi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x406f40
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x406f4a
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x406f61
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x3f4], ecx
jmp 0x406f72
jmp 0x406d4b
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x40704d
push ecx
push edx
add esp, 4
add ecx, 0xbff3
add ecx, 0x12971
xor ecx, 0x15d3f
xor ecx, 0x9136
pop ecx
push edx
jmp 0x406fa4
or edx, 0x16e6b
add edx, 0xaba3
pop edx
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x19d8], eax
push ecx
push esi
add esp, 4
xor ecx, 0x5ff9
pop ecx
push ecx
sub ecx, 0x7bfd
pop ecx
push ebx
push edx
add esp, 4
xor ebx, 0x8ca6
add ebx, 0x1602c
sub ebx, 0x72af
xor ebx, 0x5583
pop ebx
mov ecx, dword [ebp - 0x19d8]
mov dword [ebp - 0x19dc], ecx
lea edx, [ebp - 0x173c]
push edx
call dword [ebp - 0x19dc]
test eax, eax
jne 0x40704d
push ecx
push eax
add esp, 4
jmp 0x407016
xor ecx, 0x151f4
jmp 0x407025
xor ecx, 0xc617
pop ecx
push edi
push eax
add esp, 4
sub edi, 0x83d2
add edi, 0x8d6b
pop edi
mov dword [ebp - 0x79c], 0
jmp 0x407737
push eax
jmp 0x407055
sub eax, 0x114a7
pop eax
push esi
push edx
add esp, 4
and esi, 0xa221
pop esi
push ecx
push esi
add esp, 4
and ecx, 0x4855
pop ecx
push esi
jmp 0x40707e
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19e0], eax
mov ecx, dword [ebp - 0x19e0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19e4], edx
mov eax, dword [ebp - 0x19e4]
mov dword [ebp - 0x1600], eax
push ebx
or ebx, 0x175ac
pop ebx
push ecx
push eax
add esp, 4
or ecx, 0xd85e
xor ecx, 0x14c90
or ecx, 0xb8f7
pop ecx
push esi
push ecx
add esp, 4
add esi, 0xae58
sub esi, 0xac53
pop esi
cmp dword [ebp - 0x1600], 0
jne 0x4070f0
mov dword [ebp - 0x31c], 0
jmp 0x407397
mov ecx, dword [ebp - 0x1600]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push esi
sub esi, 0xe395
or esi, 0x15225
or esi, 0xb2f3
and esi, 0x1173d
pop esi
push ecx
push esi
add esp, 4
and ecx, 0xaa68
xor ecx, 0x103fa
sub ecx, 0x1184e
pop ecx
cmp dword [ebp - 0xcb4], 0
jne 0x40714c
mov dword [ebp - 0x31c], 0
jmp 0x407397
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push edx
push ebx
add esp, 4
or edx, 0x4a00
pop edx
push ecx
add ecx, 0x168bc
add ecx, 0x34b4
and ecx, 0x33c5
pop ecx
push edx
push ebx
add esp, 4
jmp 0x407183
jmp 0x407189
pop edx
lea edx, [ebp - 0x173c]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push edx
add esp, 4
sub esi, 0x9c71
pop esi
push edx
jmp 0x4071c7
xor edx, 0x15121
pop edx
push ecx
push ebx
add esp, 4
and ecx, 0x127e7
and ecx, 0xbe6f
or ecx, 0x36d0
pop ecx
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push ecx
sub ecx, 0xce6b
add ecx, 0x12644
add ecx, 0x154f2
pop ecx
push ebx
push edi
add esp, 4
and ebx, 0x15345
sub ebx, 0x8642
or ebx, 0xd7be
xor ebx, 0x104f2
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x40728c
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1608], ecx
jmp 0x4072e6
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x4071b4
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x4071b4
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4072d0
mov dword [ebp - 0x1604], 0xffffffff
jmp 0x4072da
mov dword [ebp - 0x1604], 1
mov eax, dword [ebp - 0x1604]
mov dword [ebp - 0x1608], eax
cmp dword [ebp - 0x1608], 0
jne 0x40732f
push eax
push ecx
add esp, 4
xor eax, 0x7fc5
pop eax
push ebx
xor ebx, 0x140ef
or ebx, 0x42d6
xor ebx, 0x1e29
pop ebx
push edi
push esi
add esp, 4
add edi, 0x96f7
or edi, 0x6304
pop edi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x407397
push edi
push ecx
add esp, 4
and edi, 0x9bcd
sub edi, 0xa9cc
sub edi, 0xabfd
or edi, 0x31a6
pop edi
push edi
call 0x40735d
add byte [edx], dh
inc esi
inc ecx
cmp al, 0x4d
inc ecx
inc ebp
dec esp
cmp eax, 0x5f04c483
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x40738d
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x407158
mov dword [ebp - 0x31c], 0
push edi
xor edi, 0x104d5
or edi, 0xf3fc
pop edi
push edx
push esi
add esp, 4
xor edx, 0x35bb
or edx, 0x40eb
sub edx, 0xcde4
pop edx
push ebx
push ecx
add esp, 4
add ebx, 0x11f1a
pop ebx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edx
push ebx
add esp, 4
call 0x4073eb
add byte [0x3c464e34], dh
cmp byte [eax + edx*2 - 0x7d], al
les eax, [ecx + eax*4]
movsd dword es:[edi], dword [esi]
adc eax, dword [eax]
add byte [ecx + 0xc002ea], al
add al, ch
pop es
add byte [eax], al
add byte [eax], al
cmp eax, 0x4447404d
dec ebp
add esp, 4
pop edx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x160c], edx
cmp dword [ebp - 0x160c], 0
jne 0x40743a
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40772b
mov ecx, dword [ebp - 0x160c]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1610], edx
jne 0x407462
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40772b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1610]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1614], ecx
cmp dword [ebp - 0x1614], 0
jne 0x407494
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x40772b
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1614]
mov dword [ebp - 0x764], eax
jne 0x4074b9
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x40772b
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19e8], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19ec], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d74], ecx
mov dword [ebp - 0x768], 0
jmp 0x407513
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 0x40771f
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19e8]
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 - 0x19ec]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d74]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19f0], eax
mov dword [ebp - 0x19c], 0
jmp 0x407583
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 0x407635
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x407635
push esi
add esi, 0xdf85
call 0x4075c6
add byte [eax + 0x49], cl
inc edi
xor bh, byte [edx]
xor al, byte [esi + 0x4e]
dec esi
add esp, 4
sub esi, 0x17557
pop esi
push ecx
push ecx
add esp, 4
or ecx, 0xfc35
sub ecx, 0x184fb
pop ecx
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 0x407627
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 0x40762e
jmp 0x407574
jmp 0x407635
push ecx
xor ecx, 0xba55
and ecx, 0x12ce8
xor ecx, 0xe02a
add ecx, 0x2528
pop ecx
push eax
push edi
add esp, 4
sub eax, 0x213
xor eax, 0x10481
or eax, 0x11541
pop eax
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 0x407694
mov dword [ebp - 0xcb8], 0
jmp 0x407703
push ecx
jmp 0x40769b
sub ecx, 0xdb98
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x173f1
jmp 0x4076b6
call fcn.004076c2
add byte [ebx + 0x50], cl
aas
inc esi
xor ecx, dword [ebx - 0x7d]
add esp, 4
pop ebx
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 0x4076f9
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x407703
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x40771a
mov ecx, dword [ebp - 0x19f0]
mov dword [ebp - 0x510], ecx
jmp 0x40772b
jmp 0x407504
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push esi
push ebx
add esp, 4
jmp 0x407744
add esi, 0xe43a
and esi, 0xdc9b
pop esi
push edi
push ecx
add esp, 4
sub edi, 0x434d
jmp 0x407762
and edi, 0x115ba
pop edi
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x1a40], ecx
push edx
jmp 0x40777f
xor edx, 0xd23b
or edx, 0x41f0
and edx, 0x3f13
pop edx
push esi
push edi
add esp, 4
xor esi, 0x7ca3
or esi, 0x12490
or esi, 0x116a2
pop esi
cmp dword [ebp - 0x3e8], 0
je 0x4077bc
cmp dword [ebp - 0xac0], 0
jne 0x407802
push ecx
or ecx, 0x8827
and ecx, 0x2bdb
sub ecx, 0x9d63
xor ecx, 0x67dc
pop ecx
push esi
push edi
add esp, 4
jmp 0x4077e0
jmp 0x4077e7
add esi, 0x2724
pop esi
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x19f4], edx
push 0
call dword [ebp - 0x19f4]
mov dword [ebp - 0x210c], 0xa
push esi
push edi
add esp, 4
sub esi, 0xc17a
jmp 0x40781d
or esi, 0x144ad
pop esi
push ecx
sub ecx, 0xc09c
xor ecx, 0x64a9
xor ecx, 0xf55d
sub ecx, 0x6457
pop ecx
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xac0]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1698], edx
mov dword [ebp - 0xce8], 0
push edx
jmp 0x407872
sub edx, 0xc9e5
call 0x407885
add byte [ebp + 0x45], cl
inc ebp
dec edx
dec ecx
add esp, 4
pop edx
push eax
push ebx
add esp, 4
sub eax, 0x2d
sub eax, 0x12cb6
pop eax
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 eax
add esp, 4
xor edx, 0x1c0f
sub edx, 0xb647
pop edx
push ebx
push esi
add esp, 4
and ebx, 0x17dfc
xor ebx, 0x8fb
xor ebx, 0xe4b6
pop ebx
push edx
sub edx, 0x9488
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x19f8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19fc], edx
mov eax, dword [ebp - 0x19fc]
mov dword [ebp - 0x1618], eax
push edi
jmp 0x407963
sub edi, 0xd79f
call 0x407978
add byte [edi], bh
aaa
dec edi
dec ecx
cmp al, byte [eax + 0x4c]
inc eax
add esp, 4
pop edi
push ebx
call 0x40798b
add byte [edi + 0x34], cl
cmp al, byte [ebx + 0x48]
inc esi
inc ebx
cmp dword [ebx - 0x7ca4fb3c], eax
mov ebp, 0xffffe9e8
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2fc], 0
jmp 0x407c4e
push edx
push ebx
add esp, 4
jmp 0x407c5c
pop edx
push edi
push ebx
add esp, 4
xor edi, 0xba55
or edi, 0x1001b
call 0x407c7c
add byte [esi + 0x48], al
dec ecx
dec eax
inc ebx
dec ecx
inc eax
aaa
add esp, 4
pop edi
cmp dword [ebp - 0x2fc], 0
jne 0x408585
mov eax, 0x6b
mov word [ebp - 0x1774], ax
mov ecx, 0x65
mov word [ebp - 0x1772], cx
mov edx, 0x72
mov word [ebp - 0x1770], dx
mov eax, 0x6e
mov word [ebp - 0x176e], ax
mov ecx, 0x65
mov word [ebp - 0x176c], cx
mov edx, 0x6c
mov word [ebp - 0x176a], dx
mov eax, 0x33
mov word [ebp - 0x1768], ax
mov ecx, 0x32
mov word [ebp - 0x1766], cx
mov edx, 0x2e
mov word [ebp - 0x1764], dx
mov eax, 0x64
mov word [ebp - 0x1762], ax
mov ecx, 0x6c
mov word [ebp - 0x1760], cx
mov edx, 0x6c
mov word [ebp - 0x175e], dx
xor eax, eax
mov word [ebp - 0x175c], ax
push esi
push edx
add esp, 4
jmp 0x407d33
or esi, 0x7c5b
call 0x407d45
add byte [eax + 0x4c], cl
inc edi
dec ebp
dec edi
inc ecx
add esp, 4
call 0x407d54
add byte [eax + 0x46], dl
aas
inc esp
dec ebx
dec ebx
add esp, 4
pop esi
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 - 0x1a00], ecx
mov edx, dword [ebp - 0x1a00]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a04], eax
mov ecx, dword [ebp - 0x1a04]
mov dword [ebp - 0x1624], ecx
push eax
or eax, 0x11754
and eax, 0x12bd1
sub eax, 0x163ff
sub eax, 0x13faf
pop eax
push esi
push eax
add esp, 4
or esi, 0x297d
or esi, 0x2b48
sub esi, 0x2b9b
pop esi
cmp dword [ebp - 0x1624], 0
jne 0x407e25
mov dword [ebp - 0x774], 0
jmp 0x4080cc
mov edx, dword [ebp - 0x1624]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push edx
push eax
add esp, 4
add edx, 0x124cc
pop edx
push edx
xor edx, 0x8535
xor edx, 0x11155
or edx, 0x1498d
call 0x407e65
add byte [edi + 0x45], cl
cmp eax, dword [edx + 0x36]
cmp eax, 0x834c503e
les eax, [edx + ebx*2]
cmp dword [ebp - 0xcd0], 0
jne 0x407e81
mov dword [ebp - 0x774], 0
jmp 0x4080cc
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push ebx
add ebx, 0x158fa
call 0x407ea0
add byte [edx + 0x36], cl
dec ebp
dec esp
inc esp
aas
add esp, 4
or ebx, 0xa701
pop ebx
push edx
add edx, 0xcdc
jmp 0x407eb8
xor edx, 0x7a8b
pop edx
lea eax, [ebp - 0x1774]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edx
and edx, 0x1723b
pop edx
push esi
push eax
add esp, 4
call 0x407f04
add byte [eax], bh
inc ebp
dec ebx
inc ebp
dec edi
inc eax
cmp eax, dword [ebx - 0x317efb3c]
cld
pop esi
add dword [eax], eax
jmp 0x407f12
pop esi
push ebx
add ebx, 0x76f
pop ebx
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push ecx
call 0x407f80
add byte [edx + 0x43], cl
dec edx
xor ecx, dword [ecx + 0x45]
dec edx
add esp, 4
pop ecx
push edx
push ecx
add esp, 4
and edx, 0x20a
sub edx, 0x175a2
pop edx
push edi
sub edi, 0xbba8
or edi, 0x12947
pop edi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x407fc1
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x166c], edx
jmp 0x40801b
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x407ee9
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x407ee9
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x408005
mov dword [ebp - 0x1668], 0xffffffff
jmp 0x40800f
mov dword [ebp - 0x1668], 1
mov ecx, dword [ebp - 0x1668]
mov dword [ebp - 0x166c], ecx
cmp dword [ebp - 0x166c], 0
jne 0x408064
push ebx
push esi
add esp, 4
call 0x408037
add byte [ebp + 0x32], al
cmp eax, dword [esi + 0x3e]
inc ebp
cmp al, byte ss:[ebx - 0x147efb3c]
sbb eax, 0x5b000058
push eax
push esi
add esp, 4
call 0x408052
add byte [ebx + 0x3e], cl
inc eax
inc edx
inc ebp
aaa
add esp, 4
pop eax
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x4080cc
push ebx
push esi
add esp, 4
jmp 0x408071
pop ebx
push ebx
xor ebx, 0x16bc2
sub ebx, 0xcc11
call 0x40808c
add byte [ebp + 0x3c], al
cmp al, byte [eax + 0x3d]
dec esi
dec esp
add esp, 4
xor ebx, 0x64a9
pop ebx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x4080c2
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
invalid
test ebx, ecx
std