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

Disassembly:
add esp, 4
pop ecx
push esi
jmp 0x4030da
pop esi
imul eax, dword [ebp - 0x6c], 0x932
add eax, 0x16f3673a
imul ecx, dword [ebp - 0x6c], 0x932
sub eax, ecx
xor eax, 0x1154
imul eax, dword [ebp - 0x6c]
imul edx, dword [ebp - 0x6c], 0x932
sub eax, edx
mov dword [ebp - 0x70], eax
push ebx
push ebx
add esp, 4
xor ebx, 0x11c44
sub ebx, 0x7161
xor ebx, 0x13bd1
pop ebx
push edi
push edx
add esp, 4
jmp 0x403128
or edi, 0x1301c
pop edi
push edx
or edx, 0x1581a
pop edx
push edi
push ecx
add esp, 4
call 0x403148
add byte [esi], bh
cmp al, 0x44
cmp bh, byte [0x4c4833d]
add edi, 0xf09f
jmp 0x403159
call 0x403165
add byte [ebp + 0x3e], al
aas
xor al, 0x34
push eax
add esp, 4
pop edi
mov dword [ebp - 4], 1
push edi
push ecx
add esp, 4
sub edi, 0x5678
or edi, 0x4d66
and edi, 0x6991
sub edi, 0x125be
pop edi
push esi
push eax
add esp, 4
and esi, 0x5170
pop esi
push eax
and eax, 0xfbff
pop eax
imul eax, dword [ebp - 4], 0x932
add eax, 0x16f3673a
imul ecx, dword [ebp - 4], 0x932
sub eax, ecx
xor eax, 0
imul eax, dword [ebp - 4]
imul edx, dword [ebp - 4], 0x932
sub eax, edx
mov dword [ebp - 8], eax
jmp 0x403383
mov edx, dword [ebp - 0x8a8]
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0xbb0], edx
mov dword [ebp - 0xbac], eax
push eax
push esi
add esp, 4
add eax, 0x153f1
xor eax, 0x231a
sub eax, 0x1a35
add eax, 0x8dfa
pop eax
push edi
push esi
add esp, 4
jmp 0x4033c6
or edi, 0xf9f5
pop edi
push ecx
or ecx, 0x10ba
add ecx, 0x10d14
and ecx, 0x6ccc
pop ecx
push ecx
push esi
add esp, 4
add ecx, 0x12435
or ecx, 0x10c06
sub ecx, 0xfdc
and ecx, 0x2847
pop ecx
mov ecx, dword [ebp - 8]
add ecx, 0x932
imul edx, dword [ebp - 4], 0x932
add edx, 0x16f3673a
imul eax, dword [ebp - 4], 0x932
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 4]
mov dword [ebp - 0x10d4], ecx
push edx
push ebx
add esp, 4
jmp 0x403435
or edx, 0x8949
add edx, 0x484c
or edx, 0x1706a
pop edx
push ebx
call 0x403458
add byte [esp + ecx*2], dh
inc ebp
dec edi
inc ebp
inc esp
dec esp
inc ecx
dec edx
add esp, 4
pop ebx
mov ecx, dword [ebp - 0xbb0]
add ecx, 0x932
imul edx, dword [ebp - 0xbac], 0x932
add edx, 0x16f3673a
imul eax, dword [ebp - 0xbac], 0x932
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0xbac]
mov dword [ebp - 0x10d0], ecx
mov ecx, dword [ebp - 0x10d0]
mov dword [ebp - 0x10d8], ecx
mov edx, dword [ebp - 0x10d4]
cmp edx, dword [ebp - 0x10d8]
jae 0x4034b9
mov dword [ebp - 0xb1c], 1
jmp 0x4034c3
mov dword [ebp - 0xb1c], 0
mov al, byte [ebp - 0xb1c]
mov byte [ebp - 0x219], al
movzx ecx, byte [ebp - 0x219]
test ecx, ecx
je 0x406b28
lea edx, [ebp - 0x568]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
mov dword [eax + 4], 1
push esi
jmp 0x403500
pop esi
push ebx
push eax
add esp, 4
add ebx, 0x17fed
xor ebx, 0x107a2
xor ebx, 0x5ba9
pop ebx
push eax
or eax, 0x175d4
jmp 0x403528
pop eax
mov ecx, dword [ebp - 0x22c]
imul edx, dword [ecx + 4], 0x932
add edx, 0x16f3673a
mov eax, dword [ebp - 0x22c]
imul ecx, dword [eax + 4], 0x932
sub edx, ecx
xor edx, 0x2d
mov eax, dword [ebp - 0x22c]
imul edx, dword [eax + 4]
mov ecx, dword [ebp - 0x22c]
imul eax, dword [ecx + 4], 0x932
sub edx, eax
mov ecx, dword [ebp - 0x22c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1268], edx
push ecx
jmp 0x403583
add ecx, 0x92cd
and ecx, 0xe921
sub ecx, 0xb921
pop ecx
push edx
jmp 0x40359e
jmp 0x4035a6
or edx, 0x15b2f
pop edx
mov dword [ebp - 0x68c], 1
push esi
xor esi, 0x5cc7
sub esi, 0x85f6
or esi, 0x1ee6
pop esi
push edx
push edi
add esp, 4
add edx, 0xbe8a
and edx, 0x4138
pop edx
push esi
push eax
add esp, 4
add esi, 0x135e4
pop esi
mov dword [ebp - 0x126c], 0x42
push ebx
and ebx, 0x14db8
jmp 0x403602
pop ebx
push esi
sub esi, 0x86b2
or esi, 0x9e04
pop esi
push eax
jmp 0x403618
jmp 0x40361e
add eax, 0xf74a
pop eax
mov dword [ebp - 0x1270], 0x21
push esi
push ebx
add esp, 4
and esi, 0x80a7
sub esi, 0x5e8b
jmp 0x403649
pop esi
push edx
add edx, 0xd605
jmp 0x403659
jmp 0x403660
pop edx
mov dword [ebp - 0x1274], 0xc
push edx
and edx, 0x152fa
xor edx, 0x3022
and edx, 0x182de
pop edx
push ecx
push eax
add esp, 4
xor ecx, 0x10199
and ecx, 0x10460
xor ecx, 0x15f0
sub ecx, 0xe1
pop ecx
mov eax, dword [ebp - 0x568]
add eax, 0x932
imul ecx, dword [ebp - 0x564], 0x932
add ecx, 0x16f3673a
imul edx, dword [ebp - 0x564], 0x932
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x564]
mov dword [ebp - 0x10dc], eax
mov eax, dword [ebp - 0x10dc]
mov dword [ebp - 0x10e0], eax
mov ecx, dword [ebp - 0x10e0]
sub ecx, 0x42
mov dword [ebp - 0x10e4], ecx
mov dword [ebp - 0x5c8], 1
push edx
call 0x403707
add byte [esi], bh
dec esi
inc ecx
inc ebx
dec ecx
dec ecx
dec eax
dec eax
add esp, 4
sub edx, 0x13ab6
or edx, 0x10a7c
call 0x403726
add byte [edx], bh
aas
inc ebp
cmp dl, byte [eax + 0x4b]
inc esp
inc edx
xor dh, byte [esi]
add esp, 4
pop edx
imul edx, dword [ebp - 0x5c8], 0x932
add edx, 0x16f3673a
imul eax, dword [ebp - 0x5c8], 0x932
sub edx, eax
xor edx, dword [ebp - 0x10e4]
imul edx, dword [ebp - 0x5c8]
imul ecx, dword [ebp - 0x5c8], 0x932
sub edx, ecx
mov dword [ebp - 0x5cc], edx
push edx
push ecx
add esp, 4
and edx, 0x14553
call 0x40377c
add byte [ebx + 0x4b], al
inc ebx
inc esi
dec ecx
inc ecx
add esp, 4
call 0x40378d
add byte [eax + 0x46], dl
dec ebx
xor al, 0x43
dec ecx
cmp eax, dword [ebx - 0x1d7efb3c]
mov ch, 0x1a
add dword [eax], eax
pop edx
push edx
push ecx
add esp, 4
add edx, 0x6072
add edx, 0x6f39
pop edx
push edx
or edx, 0x5f18
xor edx, 0x17cbf
xor edx, 0xbcb1
pop edx
push edx
push ecx
add esp, 4
or edx, 0x138a1
pop edx
mov dword [ebp - 0x5d0], 1
push edx
xor edx, 0x3233
and edx, 0x163b2
pop edx
push edi
push ebx
add esp, 4
call 0x4037f3
add byte [eax + 0x42], cl
inc eax
dec esi
push eax
add esp, 4
and edi, 0x14257
pop edi
push edx
xor edx, 0x19eb
pop edx
imul edx, dword [ebp - 0x5d0], 0x932
add edx, 0x16f3673a
imul eax, dword [ebp - 0x5d0], 0x932
sub edx, eax
xor edx, 0x21
imul edx, dword [ebp - 0x5d0]
imul ecx, dword [ebp - 0x5d0], 0x932
sub edx, ecx
mov dword [ebp - 0x5d4], edx
push esi
xor esi, 0x13ceb
pop esi
push ebx
push eax
add esp, 4
and ebx, 0xac6f
pop ebx
push ebx
push ecx
add esp, 4
and ebx, 0x185ad
or ebx, 0x846d
xor ebx, 0x8440
add ebx, 0x17866
pop ebx
push esi
push edx
add esp, 4
and esi, 0x16d15
add esi, 0x179ea
call 0x40388f
add byte [ebx], bh
dec edi
xor al, 0x32
aaa
cmp eax, 0x83463935
les eax, [ecx + eax*4]
out 0x1e, al
push edi
add byte [eax], al
pop esi
push eax
sub eax, 0x3a1
pop eax
mov edx, dword [ebp - 0x568]
add edx, 0x932
imul eax, dword [ebp - 0x564], 0x932
add eax, 0x16f3673a
imul ecx, dword [ebp - 0x564], 0x932
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x564]
mov dword [ebp - 0x10e8], edx
mov edx, dword [ebp - 0x10e8]
mov dword [ebp - 0x10ec], edx
mov eax, dword [ebp - 0x10ec]
sub eax, 0xc
mov dword [ebp - 0x10f0], eax
mov dword [ebp - 0x5c0], 1
push edi
jmp 0x403906
add edi, 0xec68
and edi, 0x81b1
pop edi
push edx
push edx
add esp, 4
call 0x403924
add byte [edi + 0x45], cl
aas
inc edi
inc edx
cmp al, 0x83
les eax, [ecx + eax*4]
retf 0x39be
mov dword [ebp - 0x238], 0
call 0x406b37
mov eax, 0xdeadbeef
pop eax
mov dword [ebp - 0x238], eax
push ebx
call 0x406b51
add byte [edi + 0x3b], cl
dec eax
inc esi
dec edi
aas
inc esi
add esp, 4
pop ebx
push edi
push eax
add esp, 4
xor edi, 0x8bba
call 0x406b6c
add byte [esi + 0x40], cl
cmp al, 0x34
dec ecx
xor al, byte [ebx + 0x3eb04c4]
inc eax
xor al, byte [eax + 0x5f]
mov edx, dword [ebp - 0x1220]
mov dword [ebp - 0xb38], edx
push edi
sub edi, 0x10b91
call 0x406b94
add byte [edi + 0x49], cl
inc eax
inc ebx
aas
dec esi
add esp, 4
call 0x406ba7
add byte [eax], bh
xor al, 0x44
cmp eax, 0x3b3a3341
inc esp
add esp, 4
pop edi
push ecx
and ecx, 0x5e18
pop ecx
mov eax, dword [ebp - 0x70]
add eax, 0x932
imul ecx, dword [ebp - 0x6c], 0x932
add ecx, 0x16f3673a
imul edx, dword [ebp - 0x6c], 0x932
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x6c]
mov dword [ebp - 0xb38], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0xe24], eax
mov ecx, dword [ebp - 0xe24]
add ecx, dword [ebp - 0xb38]
mov dword [ebp - 0x238], ecx
push eax
jmp 0x406c05
pop eax
push edi
jmp 0x406c0c
add edi, 0x15e94
pop edi
push ebx
and ebx, 0x8aab
add ebx, 0x182cc
jmp 0x406c26
and ebx, 0x605a
pop ebx
push esi
sub esi, 0xceaf
call 0x406c41
add byte [edx + ecx*2], bh
xor al, 0x45
push eax
cmp byte [edi], dh
add esp, 4
xor esi, 0x15a22
pop esi
push esi
xor esi, 0xb1a8
or esi, 0xe33f
xor esi, 0x1783a
pop esi
mov byte [ebp - 0x650], 0x51
mov byte [ebp - 0x64f], 0xb9
mov byte [ebp - 0x64e], 0x10
mov byte [ebp - 0x64d], 0x10
mov byte [ebp - 0x64c], 0x10
mov byte [ebp - 0x64b], 0x10
mov byte [ebp - 0x64a], 0x59
push ebx
push eax
add esp, 4
add ebx, 0x9bbf
and ebx, 0x4a74
pop ebx
push ebx
call 0x406cb1
add byte [eax], bh
dec ebx
inc ebp
inc eax
inc esp
inc ebp
inc esp
dec ebx
add esp, 4
or ebx, 0x138d3
jmp 0x406cc1
pop ebx
push ebx
push ebx
add esp, 4
or ebx, 0x3d03
call 0x406cda
add byte [eax*2 + 0x3f453934], dh
cmp dword [ebx - 0x1c7efb3c], eax
mov dword [0xe80000f1], eax
or byte [eax], al
add byte [eax], al
add byte [edi], bh
dec edx
cmp eax, dword [ecx + ecx*2 + 0x3e]
dec esp
add esp, 4
pop ebx
mov byte [ebp - 0x658], 0x51
mov byte [ebp - 0x657], 0xb9
mov byte [ebp - 0x656], 0x20
mov byte [ebp - 0x655], 0x20
mov byte [ebp - 0x654], 0x20
mov byte [ebp - 0x653], 0x20
mov byte [ebp - 0x652], 0x59
push esi
and esi, 0x7938
jmp 0x406d32
sub esi, 0x2cf5
or esi, 0x1686d
pop esi
push ebx
push eax
add esp, 4
add ebx, 0x14e5b
jmp 0x406d50
add ebx, 0xd394
pop ebx
push esi
xor esi, 0x111eb
call 0x406d6d
add byte [ecx], bh
cmp byte [esi + edi], bh
push eax
push eax
dec esp
cmp al, 0x4b
add esp, 4
add esi, 0x13971
add esi, 0xdf7
pop esi
push ecx
push ecx
add esp, 4
xor ecx, 0x3382
pop ecx
mov dword [ebp - 0x1224], 0xe
push ecx
xor ecx, 0x352
jmp 0x406d9f
jmp 0x406da8
pop ecx
push esi
and esi, 0x15848
sub esi, 0xbb59
pop esi
push esi
sub esi, 0x15779
sub esi, 0xecbd
pop esi
mov edx, 1
imul eax, edx, 0
lea ecx, [ebp + eax - 0x650]
mov dword [ebp - 0xb3c], ecx
push ecx
add ecx, 0x44b4
add ecx, 0xebc1
xor ecx, 0x18c5
pop ecx
push esi
push esi
add esp, 4
add esi, 0xd3b6
pop esi
push esi
push esi
add esp, 4
sub esi, 0x1449
and esi, 0xd09
pop esi
mov dword [ebp - 0x1228], 0xffffffff
push eax
add eax, 0x102aa
xor eax, 0x14c91
or eax, 0xef9f
pop eax
push edi
or edi, 0x15f3b
call 0x406e3e
add byte [eax + 0x44], al
inc esp
dec ecx
inc esp
cmp dword [ebx], esi
add esp, 4
xor edi, 0x148eb
pop edi
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x264], edx
jmp 0x406e65
mov eax, dword [ebp - 0x264]
add eax, 1
mov dword [ebp - 0x264], eax
push eax
sub eax, 0xb453
jmp 0x406e72
and eax, 0x139ea
xor eax, 0xaa63
pop eax
push edx
push eax
add esp, 4
add edx, 0x88f1
and edx, 0x9f29
sub edx, 0x880b
pop edx
mov ecx, dword [ebp - 0x264]
sub ecx, dword [ebp - 0x238]
cmp ecx, 0xffffffff
jb 0x406edf
push ebx
push eax
add esp, 4
xor ebx, 0x141e2
add ebx, 0x5d0d
or ebx, 0x1c4c
pop ebx
push ebx
push eax
add esp, 4
xor ebx, 0xc1bd
sub ebx, 0xf6dd
pop ebx
push eax
add eax, 0x155cd
pop eax
jmp 0x4070db
mov dword [ebp - 0x698], 7
mov edx, dword [ebp - 0x264]
mov dword [ebp - 0x648], edx
push esi
push edx
add esp, 4
and esi, 0x44c6
add esi, 0x11b5b
pop esi
push edi
add edi, 0x13ba6
pop edi
push edi
push ecx
add esp, 4
xor edi, 0x4a96
sub edi, 0x29b7
and edi, 0x12a2b
pop edi
mov eax, dword [ebp - 0xb3c]
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x69c], 0
mov ecx, dword [ebp - 0x264]
cmp ecx, dword [ebp - 0xb3c]
jne 0x406f5c
mov edx, dword [ebp - 0x69c]
mov dword [ebp - 0xb44], edx
jmp 0x40708d
cmp dword [ebp - 0x698], 0
jle 0x407081
push eax
push edx
add esp, 4
call 0x406f7c
add byte [esi + 0x42], al
cmp dword [edi], esi
dec eax
cmp dword [ecx], edi
inc edx
add esp, 4
xor eax, 0x10669
jmp 0x406f8c
and eax, 0x76b2
pop eax
push ecx
or ecx, 0x162bd
pop ecx
mov eax, dword [ebp - 0x648]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x608]
movzx eax, byte [edx]
cmp ecx, eax
je 0x40701d
push eax
push ebx
add esp, 4
sub eax, 0xa14c
and eax, 0x45da
xor eax, 0x4d9a
add eax, 0x145a5
pop eax
push edi
or edi, 0x5dc4
or edi, 0xfbff
and edi, 0x11414
pop edi
mov ecx, dword [ebp - 0x648]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x608]
movzx ecx, byte [eax]
cmp edx, ecx
jle 0x407005
mov dword [ebp - 0xb40], 1
jmp 0x40700f
mov dword [ebp - 0xb40], 0xffffffff
mov edx, dword [ebp - 0xb40]
mov dword [ebp - 0x69c], edx
jmp 0x407081
push eax
push edx
add esp, 4
call 0x407032
add byte [esi + 0x40], cl
aaa
dec ebx
dec ebp
xor eax, 0x38393a35
add esp, 4
and eax, 0x3de7
xor eax, 0xd29e
pop eax
push eax
jmp 0x407048
xor eax, 0x5e8e
pop eax
mov eax, dword [ebp - 0x698]
sub eax, 1
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x608]
add edx, 1
mov dword [ebp - 0x608], edx
jmp 0x406f5c
mov eax, dword [ebp - 0x69c]
mov dword [ebp - 0xb44], eax
cmp dword [ebp - 0xb44], 0
jne 0x4070d6
push ecx
push esi
add esp, 4
and ecx, 0x16cfe
pop ecx
push eax
jmp 0x4070aa
pop eax
push ecx
and ecx, 0x15de8
xor ecx, 0xaabd
call 0x4070c4
add byte [ebp + 0x4f], cl
cmp eax, dword [esi + 0x38]
cmp dword [ebx - 0x74a6fb3c], eax
lea ebx, [ebp + edi*8 - 0x72760001]
fdivr st(5)
invalid
jmp 0x406e56
push eax
push eax
add esp, 4
add eax, 0x6b89
add eax, 0x5f78
call 0x4070fb
add byte [esp + esi], dh
inc ecx
inc esi
xor esi, dword [edx]
dec eax
cmp esi, dword [edx]
add esp, 4
pop eax
push eax
and eax, 0xd666
sub eax, 0x15659
pop eax
mov dword [ebp - 0x228], 0
push eax
push edx
add esp, 4
sub eax, 0x13297
pop eax
push ecx
call 0x407133
add byte [0x35423c35], dh
inc edi
cmp byte [0x4c4833d], bh
xor ecx, 0x6f75
and ecx, 0x147ce
or ecx, 0xf22e
pop ecx
push esi
push edx
add esp, 4
call 0x40715d
add byte [edx], dh
inc edi
dec edi
dec ebx
inc edx
inc esi
inc esi
add esp, 4
add esi, 0x10995
or esi, 0x13034
or esi, 0x180ce
pop esi
push ecx
sub ecx, 0x10540
pop ecx
mov edx, 1
imul eax, edx, 0
lea ecx, [ebp + eax - 0x658]
mov dword [ebp - 0xb48], ecx
push edi
jmp 0x407197
sub edi, 0xa8b5
jmp 0x4071a3
or edi, 0x13205
pop edi
push edi
push edx
add esp, 4
and edi, 0x117c
xor edi, 0x2ee
sub edi, 0x233d
pop edi
mov dword [ebp - 0x122c], 0xffffffff
push edx
push edx
add esp, 4
jmp 0x4071da
jmp 0x4071e3
xor edx, 0x7d64
pop edx
push edx
and edx, 0x1faa
and edx, 0xe7f5
and edx, 0x10b45
pop edx
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x260], edx
jmp 0x40721b
mov eax, dword [ebp - 0x260]
add eax, 1
mov dword [ebp - 0x260], eax
push esi
or esi, 0x2bd3
call 0x407231
add byte [ebx], bh
dec ebp
dec esp
xor eax, 0x4f3a4b4e
push eax
add esp, 4
jmp 0x40723c
call 0x407249
add byte [edi + eax*2 + 0x40], cl
xor al, 0x39
dec ecx
dec ebx
add esp, 4
pop esi
mov ecx, dword [ebp - 0x260]
sub ecx, dword [ebp - 0x238]
cmp ecx, 0xffffffff
jb 0x407295
push eax
push ebx
add esp, 4
and eax, 0x14d0d
sub eax, 0x858d
sub eax, 0xbda7
pop eax
push edx
or edx, 0x142db
and edx, 0x3292
and edx, 0x1014c
or edx, 0x161e8
pop edx
jmp 0x407491
mov dword [ebp - 0x6a0], 7
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x60c], edx
push ebx
push esi
add esp, 4
add ebx, 0x164
call 0x4072c4
add byte [edi + 0x40], al
inc ebp
cmp dword [edx + esi + 0x3d], ecx
add esp, 4
and ebx, 0xa6f4
call 0x4072d9
add byte [edx + 0x4d], al
inc esi
dec ecx
inc ebp
dec ecx
add esp, 4
pop ebx
mov eax, dword [ebp - 0xb48]
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x6a4], 0
mov ecx, dword [ebp - 0x260]
cmp ecx, dword [ebp - 0xb48]
jne 0x407312
mov edx, dword [ebp - 0x6a4]
mov dword [ebp - 0xb50], edx
jmp 0x407443
cmp dword [ebp - 0x6a0], 0
jle 0x407437
push ecx
push eax
add esp, 4
add ecx, 0x40b0
xor ecx, 0x17365
sub ecx, 0x158de
add ecx, 0x15563
pop ecx
push eax
or eax, 0x1419
sub eax, 0xa6b1
or eax, 0x15ecc
pop eax
mov eax, dword [ebp - 0x60c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x610]
movzx eax, byte [edx]
cmp ecx, eax
je 0x4073d3
push edi
sub edi, 0xf086
or edi, 0x17ce6
or edi, 0xc7fa
sub edi, 0x4408
pop edi
push edx
push ebx
add esp, 4
call 0x407395
add byte [esi + 0x3e], cl
inc ebx
dec ebx
dec esp
inc ebp
dec esi
add esp, 4
pop edx
mov ecx, dword [ebp - 0x60c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x610]
movzx ecx, byte [eax]
cmp edx, ecx
jle 0x4073bb
mov dword [ebp - 0xb4c], 1
jmp 0x4073c5
mov dword [ebp - 0xb4c], 0xffffffff
mov edx, dword [ebp - 0xb4c]
mov dword [ebp - 0x6a4], edx
jmp 0x407437
push ecx
push eax
add esp, 4
add ecx, 0xae07
xor ecx, 0x10233
or ecx, 0x111e0
pop ecx
push eax
push ecx
add esp, 4
xor eax, 0x13240
pop eax
push ecx
or ecx, 0x18062
xor ecx, 0x14ffb
pop ecx
mov eax, dword [ebp - 0x6a0]
sub eax, 1
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x60c]
add ecx, 1
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x610]
add edx, 1
mov dword [ebp - 0x610], edx
jmp 0x407312
mov eax, dword [ebp - 0x6a4]
mov dword [ebp - 0xb50], eax
cmp dword [ebp - 0xb50], 0
jne 0x40748c
push edx
and edx, 0x5f3a
add edx, 0xff57
add edx, 0x3aef
pop edx
push ecx
jmp 0x407466
add ecx, 0x6d9c
pop ecx
push edi
xor edi, 0xf05d
jmp 0x40747d
pop edi
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x614], ecx
jmp 0x4074cd
jmp 0x40720c
push eax
push eax
add esp, 4
call 0x4074a5
add byte [eax + 0x48], al
cmp cl, byte [eax + 0x40]
cmp eax, dword [ecx + 0x46]
dec edx
add esp, 4
and eax, 0x569
pop eax
push ebx
and ebx, 0x10c25
add ebx, 0x77cf
jmp 0x4074c2
pop ebx
mov dword [ebp - 0x614], 0
push ebx
push ebx
add esp, 4
and ebx, 0x277d
sub ebx, 0x15862
add ebx, 0x6a7
jmp 0x4074ec
pop ebx
push esi
push edx
add esp, 4
or esi, 0xcf49
add esi, 0x2d15
pop esi
mov byte [ebp - 0x494], 0x45
mov byte [ebp - 0x493], 0x78
mov byte [ebp - 0x492], 0x69
mov byte [ebp - 0x491], 0x74
mov byte [ebp - 0x490], 0x50
mov byte [ebp - 0x48f], 0x72
mov byte [ebp - 0x48e], 0x6f
mov byte [ebp - 0x48d], 0x63
mov byte [ebp - 0x48c], 0x65
mov byte [ebp - 0x48b], 0x73
mov byte [ebp - 0x48a], 0x73
mov byte [ebp - 0x489], 0
push edi
push edi
add esp, 4
xor edi, 0xec4d
call 0x40756d
add byte [esp + ecx*2], bh
dec eax
inc eax
inc edx
cmp bh, byte [0x4c48348]
xor edi, 0x7f13
or edi, 0x10478
pop edi
push ecx
add ecx, 0x7fc1
pop ecx
mov edx, 0x6b
mov word [ebp - 0xc50], dx
mov eax, 0x65
mov word [ebp - 0xc4e], ax
mov ecx, 0x72
mov word [ebp - 0xc4c], cx
mov edx, 0x6e
mov word [ebp - 0xc4a], dx
mov eax, 0x65
mov word [ebp - 0xc48], ax
mov ecx, 0x6c
mov word [ebp - 0xc46], cx
mov edx, 0x33
mov word [ebp - 0xc44], dx
mov eax, 0x32
mov word [ebp - 0xc42], ax
mov ecx, 0x2e
mov word [ebp - 0xc40], cx
mov edx, 0x64
mov word [ebp - 0xc3e], dx
mov eax, 0x6c
mov word [ebp - 0xc3c], ax
mov ecx, 0x6c
mov word [ebp - 0xc3a], cx
xor edx, edx
mov word [ebp - 0xc38], dx
push ecx
push edi
add esp, 4
jmp 0x40762b
or ecx, 0x1569f
xor ecx, 0x63ce
xor ecx, 0x11fbf
pop ecx
push ecx
push ebx
add esp, 4
add ecx, 0x71e1
sub ecx, 0x16d5b
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0xe28], eax
mov ecx, dword [ebp - 0xe28]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xe2c], edx
mov eax, dword [ebp - 0xe2c]
mov dword [ebp - 0xb54], eax
push ecx
push esi
add esp, 4
and ecx, 0x4b68
xor ecx, 0x939c
or ecx, 0x10d55
jmp 0x407696
pop ecx
push ebx
push ebx
add esp, 4
xor ebx, 0x17754
or ebx, 0x165a9
pop ebx
cmp dword [ebp - 0xb54], 0
jne 0x4076c1
mov dword [ebp - 0x188], 0
jmp 0x407968
mov ecx, dword [ebp - 0xb54]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x6b0], eax
push edx
push ecx
add esp, 4
sub edx, 0x15548
and edx, 0x15876
sub edx, 0x6db5
sub edx, 0xc071
pop edx
push edi
add edi, 0x12716
and edi, 0x13695
add edi, 0x10081
pop edi
cmp dword [ebp - 0x6b0], 0
jne 0x40771d
mov dword [ebp - 0x188], 0
jmp 0x407968
mov ecx, dword [ebp - 0x6b0]
mov dword [ebp - 0x25c], ecx
push edx
call 0x407737
add byte [eax + 0x3f], dl
cmp cl, byte [esi + 0x33]
dec edx
dec esp
add esp, 4
and edx, 0xfca4
or edx, 0xb8fa
pop edx
push edi
and edi, 0x225b
xor edi, 0xe359
and edi, 0xfc6d
pop edi
lea edx, [ebp - 0xc50]
mov dword [ebp - 0x6ac], edx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x6a8], ecx
xor edx, edx
mov word [ebp - 0x114], dx
xor eax, eax
mov word [ebp - 0x28], ax
push ecx
push edi
add esp, 4
call 0x407799
add byte [ebx], bh
dec esp
inc ebp
xor eax, dword [edx + eax*2 + 0x3e]
inc esp
dec ebp
add esp, 4
pop ecx
push ecx
push edx
add esp, 4
jmp 0x4077aa
xor ecx, 0x5c2
add ecx, 0x939c
pop ecx
mov ecx, dword [ebp - 0x6a8]
mov dx, word [ecx]
mov word [ebp - 0x87a], dx
mov eax, dword [ebp - 0x6a8]
add eax, 2
mov dword [ebp - 0x6a8], eax
mov cx, word [ebp - 0x87a]
mov word [ebp - 0x114], cx
mov edx, dword [ebp - 0x6ac]
mov ax, word [edx]
mov word [ebp - 0x92c], ax
mov ecx, dword [ebp - 0x6ac]
add ecx, 2
mov dword [ebp - 0x6ac], ecx
mov dx, word [ebp - 0x92c]
mov word [ebp - 0x28], dx
push eax
call 0x40781d
add byte [ebp + edi + 0x42], al
inc ecx
dec ebx
dec esi
push eax
add esp, 4
pop eax
push ebx
push edx
add esp, 4
or ebx, 0xd298
pop ebx
push esi
push eax
add esp, 4
jmp 0x407839
and esi, 0x968e
pop esi
movzx eax, word [ebp - 0x28]
test eax, eax
jne 0x40785d
movzx ecx, word [ebp - 0x114]
movzx edx, word [ebp - 0x28]
sub ecx, edx
mov dword [ebp - 0xb5c], ecx
jmp 0x4078b7
movzx eax, word [ebp - 0x114]
movzx ecx, word [ebp - 0x28]
cmp eax, ecx
je 0x407785
movzx edx, word [ebp - 0x114]
xor edx, 0x20
movzx eax, word [ebp - 0x28]
cmp edx, eax
je 0x407785
movzx ecx, word [ebp - 0x114]
movzx edx, word [ebp - 0x28]
cmp ecx, edx
jge 0x4078a1
mov dword [ebp - 0xb58], 0xffffffff
jmp 0x4078ab
mov dword [ebp - 0xb58], 1
mov eax, dword [ebp - 0xb58]
mov dword [ebp - 0xb5c], eax
cmp dword [ebp - 0xb5c], 0
jne 0x407900
push edx
push esi
add esp, 4
sub edx, 0x11d77
add edx, 0xfafa
sub edx, 0x14ff
sub edx, 0xc331
pop edx
push ecx
push ebx
add esp, 4
add ecx, 0x20b7
pop ecx
push esi
add esi, 0xad66
pop esi
mov ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x188], ecx
jmp 0x407968
push eax
sub eax, 0xd4fc
xor eax, 0x3a8
sub eax, 0x16fcb
call 0x40791f
add byte [eax + 0x4f], dl
cmp al, 0x4d
dec ecx
xor eax, dword [ebx + 0x525804c4]
push ecx
add esp, 4
jmp 0x407931
pop edx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx]
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
cmp ecx, dword [ebp - 0x6b0]
je 0x40795e
mov edx, dword [ebp - 0x25c]
cmp dword [edx + 0x30], 0
jne 0x407729
mov dword [ebp - 0x188], 0
push edx
push ebx
add esp, 4
xor edx, 0x60a0
add edx, 0x573f
call 0x407985
add byte [edx], dh
dec esp
inc edi
cmp eax, 0xc4834f4b
add al, 0xe8
or dword [eax], eax
add byte [eax], al
add byte [edx], dh
dec eax
aaa
dec ebx
inc ecx
inc edx
add esp, 4
pop edx
cmp dword [ebp - 0x188], 0
jne 0x40826d
mov eax, 0x6b
mov word [ebp - 0xca8], ax
mov ecx, 0x65
mov word [ebp - 0xca6], cx
mov edx, 0x72
mov word [ebp - 0xca4], dx
mov eax, 0x6e
mov word [ebp - 0xca2], ax
mov ecx, 0x65
mov word [ebp - 0xca0], cx
mov edx, 0x6c
mov word [ebp - 0xc9e], dx
mov eax, 0x33
mov word [ebp - 0xc9c], ax
mov ecx, 0x32
mov word [ebp - 0xc9a], cx
mov edx, 0x2e
mov word [ebp - 0xc98], dx
mov eax, 0x64
mov word [ebp - 0xc96], ax
mov ecx, 0x6c
mov word [ebp - 0xc94], cx
mov edx, 0x6c
mov word [ebp - 0xc92], dx
xor eax, eax
mov word [ebp - 0xc90], ax
push ebx
or ebx, 0xe25
and ebx, 0x121fa
or ebx, 0x907e
pop ebx
push ebx
push eax
add esp, 4
and ebx, 0x3b6
call 0x407a6e
add byte [esi + 0x49], cl
xor esi, dword [ebx]
inc esp
inc esp
dec ebx
cmp ecx, dword [ecx - 0x7d]
les eax, [ebx + ebx*2]
mov byte [ebp - 0x4c0], 0x4c
mov byte [ebp - 0x4bf], 0x6f
mov byte [ebp - 0x4be], 0x61
mov byte [ebp - 0x4bd], 0x64
mov byte [ebp - 0x4bc], 0x4c
mov byte [ebp - 0x4bb], 0x69
mov byte [ebp - 0x4ba], 0x62
mov byte [ebp - 0x4b9], 0x72
mov byte [ebp - 0x4b8], 0x61
mov byte [ebp - 0x4b7], 0x72
mov byte [ebp - 0x4b6], 0x79
mov byte [ebp - 0x4b5], 0x57
mov byte [ebp - 0x4b4], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0xe30], ecx
mov edx, dword [ebp - 0xe30]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xe34], eax
mov ecx, dword [ebp - 0xe34]
mov dword [ebp - 0xb60], ecx
push ecx
push esi
add esp, 4
or ecx, 0x15cce
sub ecx, 0x7c2c
pop ecx
push edx
call 0x407b17
add byte [edi], dh
inc edi
inc edi
aas
xor al, 0x3a
inc ecx
cmp eax, dword [ebx + 0x515a04c4]
push ecx
add esp, 4
xor ecx, 0x5f38
pop ecx
cmp dword [ebp - 0xb60], 0
jne 0x407b3f
mov dword [ebp - 0x3cc], 0
jmp 0x407de6
mov edx, dword [ebp - 0xb60]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6bc], ecx
push ebx
and ebx, 0xbdb2
or ebx, 0xfb69
and ebx, 0x13275
pop ebx
push ebx
push edi
add esp, 4
add ebx, 0x8686
add ebx, 0x16f58
and ebx, 0x4a1a
sub ebx, 0x2423
pop ebx
cmp dword [ebp - 0x6bc], 0
jne 0x407b9b
mov dword [ebp - 0x3cc], 0
jmp 0x407de6
mov edx, dword [ebp - 0x6bc]
mov dword [ebp - 0x258], edx
push ecx
push ebx
add esp, 4
xor ecx, 0x620
sub ecx, 0x6c94
pop ecx
push esi
push edi
add esp, 4
xor esi, 0x13af1
pop esi
push ebx
push esi
add esp, 4
add ebx, 0x349a
pop ebx
push ecx
add ecx, 0x74f5
pop ecx
lea eax, [ebp - 0xca8]
mov dword [ebp - 0x6b8], eax
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6b4], edx
xor eax, eax
mov word [ebp - 0x118], ax
xor ecx, ecx
mov word [ebp - 0x2c], cx
push edi
call 0x407c13
add byte [0x34403c3a], bh
cmp byte [edi + esi + 0x46], cl
add esp, 4
or edi, 0x9e22
pop edi
push esi
push edi
add esp, 4
add esi, 0xa7b8
and esi, 0x12b3b
add esi, 0xebf0
pop esi
mov edx, dword [ebp - 0x6b4]
mov ax, word [edx]
mov word [ebp - 0x876], ax
mov ecx, dword [ebp - 0x6b4]
add ecx, 2
mov dword [ebp - 0x6b4], ecx
mov dx, word [ebp - 0x876]
mov word [ebp - 0x118], dx
mov eax, dword [ebp - 0x6b8]
mov cx, word [eax]
mov word [ebp - 0x878], cx
mov edx, dword [ebp - 0x6b8]
add edx, 2
mov dword [ebp - 0x6b8], edx
mov ax, word [ebp - 0x878]
mov word [ebp - 0x2c], ax
push edx
push ebx
add esp, 4
add edx, 0xc61d
pop edx
push ebx
or ebx, 0x6c92
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0x248e
sub ecx, 0x14df0
and ecx, 0xb25b
and ecx, 0x18566
pop ecx
movzx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x407cdb
movzx edx, word [ebp - 0x118]
movzx eax, word [ebp - 0x2c]
sub edx, eax
mov dword [ebp - 0xb68], edx
jmp 0x407d35
movzx ecx, word [ebp - 0x118]
movzx edx, word [ebp - 0x2c]
cmp ecx, edx
je 0x407c03
movzx eax, word [ebp - 0x118]
xor eax, 0x20
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
je 0x407c03
movzx edx, word [ebp - 0x118]
movzx eax, word [ebp - 0x2c]
cmp edx, eax
jge 0x407d1f
mov dword [ebp - 0xb64], 0xffffffff
jmp 0x407d29
mov dword [ebp - 0xb64], 1
mov ecx, dword [ebp - 0xb64]
mov dword [ebp - 0xb68], ecx
cmp dword [ebp - 0xb68], 0
jne 0x407d7e
push ebx
push edx
add esp, 4
xor ebx, 0x10186
and ebx, 0xf8bc
add ebx, 0x11d75
pop ebx
push ecx
xor ecx, 0x659f
call 0x407d6c
add byte [ebx], bh
cmp cl, byte [eax + 0x48]
push eax
xor ecx, dword [eax + 0x40]
add esp, 4
pop ecx
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x3cc], edx
jmp 0x407de6
push esi
push edx
add esp, 4
call 0x407d91
add byte [0x5046413b], dh
aaa
dec ebp
add esp, 4
jmp 0x407d99
jmp 0x407da1
pop esi
push edx
and edx, 0xcce5
sub edx, 0xe399
pop edx
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x258]
cmp edx, dword [ebp - 0x6bc]
je 0x407ddc
mov eax, dword [ebp - 0x258]
cmp dword [eax + 0x30], 0
jne 0x407ba7
mov dword [ebp - 0x3cc], 0
cmp dword [ebp - 0x3cc], 0
jne 0x407e30
push ecx
push ebx
add esp, 4
xor ecx, 0xbd4d
or ecx, 0x93e2
xor ecx, 0x8acc
pop ecx
push ecx
add ecx, 0xe054
and ecx, 0x7340
jmp 0x407e1a
xor ecx, 0xc5e6
pop ecx
mov dword [ebp - 0x418], 0
jmp 0x408958
push ecx
push ebx
add esp, 4
jmp 0x407e3a
jmp 0x407e40
xor ecx, 0x77f3
xor ecx, 0x6751
pop ecx
push esi
call 0x407e5e
add byte [esi], bh
dec edi
dec edx
inc ecx
inc esp
inc eax
cmp ecx, dword [esi + 0x40]
inc edi
add esp, 4
pop esi
mov ecx, dword [ebp - 0x3cc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x3dc], 0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xb6c], eax
cmp dword [ebp - 0xb6c], 0
jne 0x407ea1
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], ecx
jmp 0x408192
mov edx, dword [ebp - 0xb6c]
mov eax, dword [ebp - 0x1b4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0xb70], eax
jne 0x407ec9
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], ecx
jmp 0x408192
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0xb70]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0xb74], edx
cmp dword [ebp - 0xb74], 0
jne 0x407efb
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], eax
jmp 0x408192
mov ecx, dword [ebp - 0x1b4]
add ecx, dword [ebp - 0xb74]
mov dword [ebp - 0x3d0], ecx
jne 0x407f20
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], edx
jmp 0x408192
mov eax, dword [ebp - 0x3d0]
mov ecx, dword [ebp - 0x1b4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xe38], ecx
mov edx, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x1b4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0xe3c], eax
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0x1b4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0xe40], edx
mov dword [ebp - 0x3d4], 0
jmp 0x407f7a