Function at 0x40d8d9
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a5161
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x820
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2fc], 0x452c
mov dword [ebp - 0x500], 0xa9c964
cmp dword [ebp - 0x2fc], 0x474e
jle 0x40d9ee
and dword [ebp - 0x140], 0
jmp 0x40d938
mov eax, dword [ebp - 0x140]
inc eax
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0x2cb3
jge 0x40d9ee
and dword [ebp - 0x200], 0
jmp 0x40d95e
mov eax, dword [ebp - 0x200]
inc eax
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0x357e
jge 0x40d9e9
and dword [ebp - 0x4c], 0
jmp 0x40d977
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x1e14
jge 0x40d9e4
and dword [ebp - 0x150], 0
jmp 0x40d996
mov eax, dword [ebp - 0x150]
inc eax
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0x5560
jge 0x40d9e2
mov eax, dword [ebp - 0x140]
cdq
idiv dword [ebp - 0x200]
mov eax, edx
cdq
idiv dword [ebp - 0x4c]
sub edx, dword [ebp - 0x150]
mov eax, edx
cdq
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], edx
push dword [ebp - 0x514]
push dword [ebp - 0x518]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40d989
jmp 0x40d970
jmp 0x40d951
jmp 0x40d92b
cmp dword [ebp + 0x10], 0
jbe 0x40da10
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x40da10
movzx eax, word [ebp + 0x10]
push eax
push dword [ebp + 8]
call fcn.0040c10c
pop ecx
pop ecx
jmp 0x411379
and dword [ebp - 4], 0
cmp dword [ebp - 0x2fc], 0x4464
jge 0x40da30
mov edx, dword [ebp - 0x500]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40da4c
or dword [ebp - 4], 0xffffffff
jmp 0x40da56
mov dword [ebp - 0x36c], 0x6e61
mov dword [ebp - 0x57c], 0xa9c9bc
cmp dword [ebp - 0x36c], 0x6f4e
jle 0x40db0d
and dword [ebp - 0x5c], 0
jmp 0x40da87
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x244e
jge 0x40dafe
and dword [ebp - 0x54], 0
jmp 0x40da9d
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x7141
jge 0x40dafc
and dword [ebp - 0x1c8], 0
jmp 0x40dabc
mov eax, dword [ebp - 0x1c8]
inc eax
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0x6fc1
jge 0x40dafa
mov eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0x1c8]
or eax, dword [ebp - 0x5c]
cdq
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], edx
push dword [ebp - 0x4a8]
push dword [ebp - 0x4ac]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40daaf
jmp 0x40da96
jmp 0x40da80
push 0
call dword [0xaa9350]
push eax
call dword [0xaa9334]
cmp dword [ebp + 0x10], 0
jne 0x40ec82
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
call fcn.0040581d
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x388], 0x6bfc
mov dword [ebp - 0x594], 0xa9c9f0
cmp dword [ebp - 0x388], 0x6f0c
jle 0x40dbd0
and dword [ebp - 0x158], 0
jmp 0x40db62
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0x6ed2
jge 0x40dbd0
and dword [ebp - 0x64], 0
jmp 0x40db7b
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x362e
jge 0x40dbce
mov eax, dword [ebp - 0x158]
xor eax, dword [ebp - 0x64]
cdq
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], edx
push dword [ebp - 0x584]
push dword [ebp - 0x588]
lea ecx, [ebp - 0x6f8]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x6f8]
call fcn.00402cac
jmp 0x40db74
jmp 0x40db55
mov dword [ebp - 4], 2
cmp dword [ebp - 0x388], 0x69a0
jge 0x40dbef
push dword [ebp - 0x594]
call fcn.00478bc8
pop ecx
jmp 0x40dc0b
or dword [ebp - 4], 0xffffffff
jmp 0x40dc15
mov dword [ebp - 0x2cc], 0x3cda
mov dword [ebp - 0x3d0], 0xa9ca48
cmp dword [ebp - 0x2cc], 0x3e68
jle 0x40dcf4
and dword [ebp - 0x160], 0
jmp 0x40dc4f
mov eax, dword [ebp - 0x160]
inc eax
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0x3fc
jge 0x40dcf4
and dword [ebp - 0x220], 0
jmp 0x40dc75
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0x40e1
jge 0x40dcef
and dword [ebp - 0x6c], 0
jmp 0x40dc8e
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x7c26
jge 0x40dcea
mov ecx, dword [ebp - 0x220]
imul ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x160]
shl eax, cl
cdq
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], edx
push dword [ebp - 0x4b4]
push dword [ebp - 0x4b8]
lea ecx, [ebp - 0x7d0]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x7d0]
call fcn.00402cac
jmp 0x40dc87
jmp 0x40dc68
jmp 0x40dc42
cmp dword [0xaa7c68], 0
jne 0x40ec0b
mov dword [ebp - 0x580], 0x2205
lea eax, [ebp - 0x580]
push eax
call fcn.0040be98
pop ecx
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x390], 0x2a28
mov dword [ebp - 0x4a0], 0xa9ca80
cmp dword [ebp - 0x390], 0x2af7
jle 0x40ddfb
and dword [ebp - 0x74], 0
jmp 0x40dd4f
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0x71bb
jge 0x40ddfb
and dword [ebp - 0x1d0], 0
jmp 0x40dd72
mov eax, dword [ebp - 0x1d0]
inc eax
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0x614f
jge 0x40ddf6
and dword [ebp - 0x7c], 0
jmp 0x40dd8b
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x159b
jge 0x40ddf1
and dword [ebp - 0x168], 0
jmp 0x40ddaa
mov eax, dword [ebp - 0x168]
inc eax
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0x7acb
jge 0x40ddef
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x7c]
shl eax, cl
or eax, dword [ebp - 0x168]
cdq
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x520], edx
push dword [ebp - 0x520]
push dword [ebp - 0x524]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40dd9d
jmp 0x40dd84
jmp 0x40dd65
jmp 0x40dd48
mov byte [ebp - 0x25c], 0
mov byte [ebp - 0x25b], 0x48
mov byte [ebp - 0x25a], 4
mov byte [ebp - 0x259], 0xc3
mov byte [ebp - 0x258], 0x6e
mov byte [ebp - 0x257], 0xba
mov byte [ebp - 0x256], 4
mov byte [ebp - 0x255], 0x68
mov byte [ebp - 0x254], 9
mov byte [ebp - 0x253], 0x73
mov byte [ebp - 0x252], 6
mov byte [ebp - 0x251], 0x7a
mov byte [ebp - 0x250], 8
mov byte [ebp - 0x24f], 0x78
mov byte [ebp - 0x24e], 5
mov byte [ebp - 0x24d], 0x7d
mov byte [ebp - 0x24c], 7
mov byte [ebp - 0x24b], 0x76
mov byte [ebp - 0x24a], 0xb
mov byte [ebp - 0x249], 0x87
mov byte [ebp - 0x248], 2
mov byte [ebp - 0x247], 0x85
mov byte [ebp - 0x246], 1
mov byte [ebp - 0x245], 0x78
mov byte [ebp - 0x244], 0xc
mov byte [ebp - 0x243], 0x6c
mov byte [ebp - 0x242], 0xa
mov byte [ebp - 0x241], 0x5c
mov byte [ebp - 0x240], 3
mov byte [ebp - 0x23f], 0x6f
mov dword [ebp - 4], 4
cmp dword [ebp - 0x390], 0x2936
jge 0x40def0
mov edx, dword [ebp - 0x4a0]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40df0c
or dword [ebp - 4], 0xffffffff
jmp 0x40df16
mov dword [ebp - 0x2dc], 0x17e5
mov dword [ebp - 0x3ac], 0xa9caac
cmp dword [ebp - 0x2dc], 0x1ac5
jle 0x40dfe3
and dword [ebp - 0x84], 0
jmp 0x40df50
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x1b97
jge 0x40dfe3
and dword [ebp - 0x208], 0
jmp 0x40df76
mov eax, dword [ebp - 0x208]
inc eax
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0x48c4
jge 0x40dfde
and dword [ebp - 0x8c], 0
jmp 0x40df98
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x3b44
jge 0x40dfdc
mov eax, dword [ebp - 0x84]
imul eax, dword [ebp - 0x208]
xor eax, dword [ebp - 0x8c]
cdq
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c0], edx
push dword [ebp - 0x4c0]
push dword [ebp - 0x4c4]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40df8b
jmp 0x40df69
jmp 0x40df43
and dword [ebp - 0x14], 0
and dword [ebp - 0x380], 0
jmp 0x40dff8
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x1e
jae 0x40e34a
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x25c]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x14], eax
jne 0x40e1a8
mov dword [ebp - 0x380], 4
mov dword [ebp - 0x2d4], 0x75d
mov dword [ebp - 0x3a0], 0xa9cacc
cmp dword [ebp - 0x2d4], 0x8db
jle 0x40e156
push 0
call dword [0xaa935c]
and dword [ebp - 0x170], 0
jmp 0x40e069
mov eax, dword [ebp - 0x170]
inc eax
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0x5fe0
jge 0x40e156
and dword [ebp - 0x94], 0
jmp 0x40e08f
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0xdac
jge 0x40e151
and dword [ebp - 0x1d8], 0
jmp 0x40e0b5
mov eax, dword [ebp - 0x1d8]
inc eax
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0x60b
jge 0x40e14c
and dword [ebp - 0x9c], 0
jmp 0x40e0db
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x7b19
jge 0x40e147
mov eax, dword [ebp - 0x170]
cdq
idiv dword [ebp - 0x94]
mov ecx, dword [ebp - 0x1d8]
shl edx, cl
mov ecx, dword [ebp - 0x9c]
shl edx, cl
mov eax, edx
cdq
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x568], edx
push dword [ebp - 0x568]
push dword [ebp - 0x56c]
lea ecx, [ebp - 0x800]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x800]
call fcn.00402cac
jmp 0x40e0ce
jmp 0x40e0a8
jmp 0x40e082
jmp 0x40e05c
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x2d4], 0x689
jge 0x40e17d
push dword [ebp - 0x3a0]
call fcn.00478bc8
pop ecx
jmp 0x40e199
or dword [ebp - 4], 0xffffffff
jmp 0x40e1a3
jmp 0x40dff0
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x25b]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x380]
lea eax, [eax + ecx - 1]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x334], 0x5d22
mov dword [ebp - 0x578], 0xa9cb30
cmp dword [ebp - 0x334], 0x5e67
jle 0x40e2c8
and dword [ebp - 0xac], 0
jmp 0x40e200
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x3854
jge 0x40e2c8
and dword [ebp - 0x178], 0
jmp 0x40e226
mov eax, dword [ebp - 0x178]
inc eax
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 0x4079
jge 0x40e2c3
and dword [ebp - 0xa4], 0
jmp 0x40e24c
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0x6118
jge 0x40e2be
and dword [ebp - 0x230], 0
jmp 0x40e26e
mov eax, dword [ebp - 0x230]
inc eax
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0x57c3
jge 0x40e2bc
mov eax, dword [ebp - 0x178]
cdq
idiv dword [ebp - 0xa4]
sub edx, dword [ebp - 0x230]
mov eax, dword [ebp - 0xac]
mov ecx, edx
sar eax, cl
cdq
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x4cc], edx
push dword [ebp - 0x4cc]
push dword [ebp - 0x4d0]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40e261
jmp 0x40e23f
jmp 0x40e219
jmp 0x40e1f3
cmp dword [ebp - 0x180], 0
jge 0x40e2e4
mov eax, dword [ebp - 0x180]
add eax, 0x100
mov dword [ebp - 0x180], eax
jmp 0x40e2c8
mov dword [ebp - 4], 8
cmp dword [ebp - 0x334], 0x5b82
jge 0x40e307
mov edx, dword [ebp - 0x578]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40e323
or dword [ebp - 4], 0xffffffff
jmp 0x40e32d
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x25c]
mov cl, byte [ebp - 0x180]
mov byte [ebp + eax - 0x5a4], cl
jmp 0x40dff0
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x2dc], 0x16d9
jge 0x40e36d
mov edx, dword [ebp - 0x3ac]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40e389
or dword [ebp - 4], 0xffffffff
jmp 0x40e393
xor eax, eax
inc eax
imul eax, eax, 0xd
mov byte [ebp + eax - 0x5a4], 0
mov dword [ebp - 0x364], 0xa73
mov dword [ebp - 0x4fc], 0xa9cbc8
cmp dword [ebp - 0x364], 0xb22
jle 0x40e4c9
push 0
call dword [0xaa9350]
push eax
call dword [0xaa9338]
and dword [ebp - 0xb4], 0
jmp 0x40e3ea
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x5c05
jge 0x40e4b1
and dword [ebp - 0x1e0], 0
jmp 0x40e410
mov eax, dword [ebp - 0x1e0]
inc eax
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0x4c88
jge 0x40e4ac
and dword [ebp - 0xbc], 0
jmp 0x40e436
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0x6756
jge 0x40e4a7
and dword [ebp - 0x188], 0
jmp 0x40e458
mov eax, dword [ebp - 0x188]
inc eax
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0x565b
jge 0x40e4a5
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x1e0]
sar eax, cl
mov ecx, dword [ebp - 0xbc]
add ecx, dword [ebp - 0x188]
shl eax, cl
cdq
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x530], edx
push dword [ebp - 0x530]
push dword [ebp - 0x534]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40e44b
jmp 0x40e429
jmp 0x40e403
jmp 0x40e3dd
push 0x2ab
push 0
push 0
push 0
push 0x7a1
push 0
call dword [0xaa929c]
lea eax, [ebp - 0x5a4]
push eax
lea ecx, [ebp - 0x830]
call fcn.00424c4f
mov edx, dword [ebp - 0x344]
mov ecx, eax
call fcn.0040581d
mov dword [0xaa7c68], eax
lea ecx, [ebp - 0x830]
call fcn.00402e63
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x364], 0x83f
jge 0x40e51b
mov edx, dword [ebp - 0x4fc]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40e537
or dword [ebp - 4], 0xffffffff
jmp 0x40e541
and dword [ebp - 0xcc], 0
jmp 0x40e557
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0xe
jae 0x40e659
mov dword [ebp - 0x2e4], 0x50ce
mov dword [ebp - 0x3b8], 0xa9cc28
cmp dword [ebp - 0x2e4], 0x5466
jle 0x40e5fd
and dword [ebp - 0xc4], 0
jmp 0x40e59a
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0xd62
jge 0x40e5fd
and dword [ebp - 0x210], 0
jmp 0x40e5bc
mov eax, dword [ebp - 0x210]
inc eax
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0x3fbe
jge 0x40e5fb
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x210]
shl eax, cl
cdq
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], edx
push dword [ebp - 0x4d8]
push dword [ebp - 0x4dc]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40e5af
jmp 0x40e58d
mov eax, dword [ebp - 0xcc]
mov byte [ebp + eax - 0x5a4], 0
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x2e4], 0x4fba
jge 0x40e62e
mov edx, dword [ebp - 0x3b8]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40e64a
or dword [ebp - 4], 0xffffffff
jmp 0x40e654
jmp 0x40e54a
mov byte [ebp - 0x2c0], 7
mov byte [ebp - 0x2bf], 0x73
mov byte [ebp - 0x2be], 1
mov byte [ebp - 0x2bd], 0x75
mov byte [ebp - 0x2bc], 0xc
mov byte [ebp - 0x2bb], 0x78
mov byte [ebp - 0x2ba], 6
mov byte [ebp - 0x2b9], 0x57
mov byte [ebp - 0x2b8], 2
mov byte [ebp - 0x2b7], 0x6e
mov byte [ebp - 0x2b6], 0
mov byte [ebp - 0x2b5], 0x4e
mov byte [ebp - 0x2b4], 0xb
mov byte [ebp - 0x2b3], 0x80
mov byte [ebp - 0x2b2], 9
mov byte [ebp - 0x2b1], 0x72
mov byte [ebp - 0x2b0], 0x24
mov byte [ebp - 0x2af], 0xf3
mov byte [ebp - 0x2ae], 0x34
mov byte [ebp - 0x2ad], 0x95
mov byte [ebp - 0x2ac], 0xf6
mov byte [ebp - 0x2ab], 0x74
mov byte [ebp - 0x2aa], 0x8c
mov byte [ebp - 0x2a9], 0x3d
mov byte [ebp - 0x2a8], 0x2d
mov byte [ebp - 0x2a7], 0x88
mov byte [ebp - 0x2a6], 0x62
mov byte [ebp - 0x2a5], 0xc2
mov byte [ebp - 0x2a4], 0xcc
mov byte [ebp - 0x2a3], 0x63
mov byte [ebp - 0x2a2], 0xee
mov byte [ebp - 0x2a1], 8
mov byte [ebp - 0x2a0], 0x76
mov byte [ebp - 0x29f], 0x26
mov byte [ebp - 0x29e], 0x99
mov byte [ebp - 0x29d], 0x67
mov byte [ebp - 0x29c], 0x7b
mov byte [ebp - 0x29b], 0xf9
mov byte [ebp - 0x29a], 0xc0
mov byte [ebp - 0x299], 0x59
mov byte [ebp - 0x298], 0xb4
mov byte [ebp - 0x297], 0x5a
mov byte [ebp - 0x296], 0xb4
mov byte [ebp - 0x295], 0x76
mov byte [ebp - 0x294], 0xaf
mov byte [ebp - 0x293], 0xb4
mov byte [ebp - 0x292], 5
mov byte [ebp - 0x291], 0xa3
mov byte [ebp - 0x290], 0xc
mov byte [ebp - 0x28f], 0x34
mov byte [ebp - 0x28e], 0
mov byte [ebp - 0x28d], 0x86
mov byte [ebp - 0x28c], 8
mov byte [ebp - 0x28b], 0x80
mov byte [ebp - 0x28a], 5
mov byte [ebp - 0x289], 0x78
mov byte [ebp - 0x288], 3
mov byte [ebp - 0x287], 0x76
mov byte [ebp - 0x286], 0xd
mov byte [ebp - 0x285], 0x6e
mov byte [ebp - 0x284], 4
mov byte [ebp - 0x283], 0x8d
mov byte [ebp - 0x282], 0xa
mov byte [ebp - 0x281], 0x80
and dword [ebp - 0x18], 0
and dword [ebp - 0x37c], 0
jmp 0x40e82e
mov eax, dword [ebp - 0x18]
inc eax
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x40
jae 0x40ea88
mov dword [ebp - 0x2ec], 0x35a7
mov dword [ebp - 0x3c4], 0xa9cca0
cmp dword [ebp - 0x2ec], 0x3855
jle 0x40e8cf
and dword [ebp - 0x190], 0
jmp 0x40e86e
mov eax, dword [ebp - 0x190]
inc eax
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0x5265
jge 0x40e8cf
and dword [ebp - 0xd4], 0
jmp 0x40e890
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x73e3
jge 0x40e8cd
mov eax, dword [ebp - 0x190]
sub eax, dword [ebp - 0xd4]
cdq
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], edx
push dword [ebp - 0x58c]
push dword [ebp - 0x590]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40e883
jmp 0x40e861
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x2c0]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x18], eax
jne 0x40e9e8
mov dword [ebp - 0x33c], 0xd6
mov dword [ebp - 0x550], 0xa9cd00
cmp dword [ebp - 0x33c], 0x24a
jle 0x40e987
call dword [0xaa9298]
and dword [ebp - 0x1e8], 0
jmp 0x40e926
mov eax, dword [ebp - 0x1e8]
inc eax
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0x5d6
jge 0x40e987
and dword [ebp - 0xdc], 0
jmp 0x40e948
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0x28c6
jge 0x40e985
mov eax, dword [ebp - 0x1e8]
sub eax, dword [ebp - 0xdc]
cdq
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], edx
push dword [ebp - 0x4e4]
push dword [ebp - 0x4e8]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40e93b
jmp 0x40e919
mov dword [ebp - 0x37c], 0x24
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x33c], 0xffffff46
jge 0x40e9b4
mov edx, dword [ebp - 0x550]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40e9d0
or dword [ebp - 4], 0xffffffff
jmp 0x40e9da
mov eax, dword [ebp - 0x18]
add eax, 0x22
mov dword [ebp - 0x18], eax
jmp 0x40e826
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x2ec], 0x34b9
jge 0x40ea0b
mov edx, dword [ebp - 0x3c4]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40ea27
or dword [ebp - 4], 0xffffffff
jmp 0x40ea31
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x2bf]
sub eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x37c]
lea eax, [eax + ecx - 1]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
jge 0x40ea6b
mov eax, dword [ebp - 0x198]
add eax, 0x100
mov dword [ebp - 0x198], eax
jmp 0x40ea4f
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x2c0]
mov cl, byte [ebp - 0x198]
mov byte [ebp + eax - 0x5b4], cl
jmp 0x40e826
mov dword [ebp - 0x2f4], 0x3779
mov dword [ebp - 0x504], 0xa9cd80
cmp dword [ebp - 0x2f4], 0x3a41
jle 0x40eb56
push 0x1df1
call dword [0xaa9350]
push eax
call dword [0xaa933c]
push eax
call dword [0xaa90ac]
and dword [ebp - 0xe4], 0
jmp 0x40eadb
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x430e
jge 0x40eb3e
and dword [ebp - 0x228], 0
jmp 0x40eafd
mov eax, dword [ebp - 0x228]
inc eax
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0x635b
jge 0x40eb3c
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x228]
shl eax, cl
cdq
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x540], edx
push dword [ebp - 0x540]
push dword [ebp - 0x544]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40eaf0
jmp 0x40eace
push 0x2ab
push 0
push 0
push 0
push 0x7a1
push 0
call dword [0xaa929c]
xor eax, eax
inc eax
imul eax, eax, 0xe
mov byte [ebp + eax - 0x5b4], 0
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x2f4], 0x3762
jge 0x40eb87
mov edx, dword [ebp - 0x504]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40eba3
or dword [ebp - 4], 0xffffffff
jmp 0x40ebad
lea eax, [ebp - 0x5b4]
push eax
lea ecx, [ebp - 0x668]
call fcn.00424c4f
mov edx, dword [ebp - 0x344]
mov ecx, eax
call fcn.0040581d
mov dword [0xaa7d48], eax
lea ecx, [ebp - 0x668]
call fcn.00402e63
and dword [ebp - 0xec], 0
jmp 0x40ebf2
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0xf
jae 0x40ec0b
mov eax, dword [ebp - 0xec]
mov byte [ebp + eax - 0x5b4], 0
jmp 0x40ebe5
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x2cc], 0x3b7a
jge 0x40ec2a
push dword [ebp - 0x3d0]
call fcn.00478bc8
pop ecx
jmp 0x40ec46
or dword [ebp - 4], 0xffffffff
jmp 0x40ec50
mov eax, dword [0xaa7c68]
cmp eax, dword [ebp - 0xb8]
je 0x40ec6a
mov eax, dword [0xaa7d48]
cmp eax, dword [ebp - 0xb8]
jne 0x40ec82
mov ecx, dword [ebp + 0xc]
call fcn.00402ebf
push eax
push dword [ebp + 8]
call fcn.0040c10c
pop ecx
pop ecx
jmp 0x411379
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x36c], 0x6b4e
jge 0x40eca5
mov edx, dword [ebp - 0x57c]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40ecc1
or dword [ebp - 4], 0xffffffff
jmp 0x40eccb
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
je 0x411276
mov eax, dword [ebp - 0x1f0]
movzx eax, word [eax]
cmp eax, 0x5a4d
jne 0x411276
mov dword [ebp - 0x304], 0x17e9
mov dword [ebp - 0x3dc], 0xa9ce70
cmp dword [ebp - 0x304], 0x1aa7
jle 0x40ed94
and dword [ebp - 0x1a0], 0
jmp 0x40ed2b
mov eax, dword [ebp - 0x1a0]
inc eax
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0x3d9a
jge 0x40ed8c
and dword [ebp - 0xf4], 0
jmp 0x40ed4d
mov eax, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0x2688
jge 0x40ed8a
mov eax, dword [ebp - 0x1a0]
add eax, dword [ebp - 0xf4]
cdq
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x4f0], edx
push dword [ebp - 0x4f0]
push dword [ebp - 0x4f4]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40ed40
jmp 0x40ed1e
push 0
call dword [0xaa9090]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1f0]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x304], 0x1779
jge 0x40edc9
mov edx, dword [ebp - 0x3dc]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40ede5
or dword [ebp - 4], 0xffffffff
jmp 0x40edef
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0x4550
jne 0x411276
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x74], 0
jbe 0x411276
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x3c]
cmp dword [ecx + eax + 0x78], 0
je 0x411276
mov dword [ebp - 0x34c], 0x5f70
mov dword [ebp - 0x50c], 0xa9ced0
cmp dword [ebp - 0x34c], 0x62d1
jle 0x40eee2
and dword [ebp - 0xfc], 0
jmp 0x40ee59
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0x5b53
jge 0x40eedc
and dword [ebp - 0x1a8], 0
jmp 0x40ee7b
mov eax, dword [ebp - 0x1a8]
inc eax
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0x1bf3
jge 0x40eed7
mov eax, dword [ebp - 0xfc]
cdq
idiv dword [ebp - 0x1a8]
mov eax, edx
cdq
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], edx
push dword [ebp - 0x398]
push dword [ebp - 0x39c]
lea ecx, [ebp - 0x758]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x758]
call fcn.00402cac
jmp 0x40ee6e
jmp 0x40ee4c
call dword [0xaa9290]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x34c], 0x5ca4
jge 0x40ef07
push dword [ebp - 0x50c]
call fcn.00478bc8
pop ecx
jmp 0x40ef23
or dword [ebp - 4], 0xffffffff
jmp 0x40ef2d
mov dword [ebp - 0x30c], 0x38d4
mov dword [ebp - 0x3e8], 0xa9cf18
cmp dword [ebp - 0x30c], 0x3ae8
jle 0x40efe7
and dword [ebp - 0x104], 0
jmp 0x40ef67
mov eax, dword [ebp - 0x104]
inc eax
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0x7ae0
jge 0x40efe7
and dword [ebp - 0x218], 0
jmp 0x40ef89
mov eax, dword [ebp - 0x218]
inc eax
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0x250c
jge 0x40efe2
mov eax, dword [ebp - 0x104]
or eax, dword [ebp - 0x218]
cdq
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], edx
push dword [ebp - 0x3a4]
push dword [ebp - 0x3a8]
lea ecx, [ebp - 0x698]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x698]
call fcn.00402cac
jmp 0x40ef7c
jmp 0x40ef5a
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
add edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x28], edx
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x30c], 0x36da
jge 0x40f019
push dword [ebp - 0x3e8]
call fcn.00478bc8
pop ecx
jmp 0x40f035
or dword [ebp - 4], 0xffffffff
jmp 0x40f03f
mov dword [ebp - 0x38c], 0xc1b
mov dword [ebp - 0x55c], 0xa9cf94
cmp dword [ebp - 0x38c], 0xcda
jle 0x40f13f
and dword [ebp - 0x1f8], 0
jmp 0x40f079
mov eax, dword [ebp - 0x1f8]
inc eax
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0x86
jge 0x40f13f
and dword [ebp - 0x114], 0
jmp 0x40f09f
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0x3a82
jge 0x40f13a
and dword [ebp - 0x10c], 0
jmp 0x40f0c5
mov eax, dword [ebp - 0x10c]
inc eax
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0x6899
jge 0x40f135
and dword [ebp - 0x1b0], 0
jmp 0x40f0e7
mov eax, dword [ebp - 0x1b0]
inc eax
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0x5822
jge 0x40f133
mov ecx, dword [ebp - 0x10c]
imul ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x114]
shl eax, cl
xor eax, dword [ebp - 0x1f8]
cdq
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3b0], edx
push dword [ebp - 0x3b0]
push dword [ebp - 0x3b4]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40f0da
jmp 0x40f0b8
jmp 0x40f092
jmp 0x40f06c
mov eax, 0xffff
mov word [ebp - 0x1c], ax
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x38c], 0x957
jge 0x40f16b
mov edx, dword [ebp - 0x55c]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40f187
or dword [ebp - 4], 0xffffffff
jmp 0x40f191
mov dword [ebp - 0x314], 0x6f18
mov dword [ebp - 0x3f4], 0xa9cfe0
cmp dword [ebp - 0x314], 0x6f6c
jle 0x40f2b3
and dword [ebp - 0x11c], 0
jmp 0x40f1cb
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0x47b2
jge 0x40f2b3
and dword [ebp - 0x1b8], 0
jmp 0x40f1f1
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0x6fce
jge 0x40f2ae
and dword [ebp - 0x124], 0
jmp 0x40f217
mov eax, dword [ebp - 0x124]
inc eax
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0x537e
jge 0x40f2a9
and dword [ebp - 0x238], 0
jmp 0x40f23d
mov eax, dword [ebp - 0x238]
inc eax
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x7554
jge 0x40f2a4
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x124]
shl eax, cl
xor eax, dword [ebp - 0x238]
cdq
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3bc], edx
push dword [ebp - 0x3bc]
push dword [ebp - 0x3c0]
lea ecx, [ebp - 0x818]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x818]
call fcn.00402cac
jmp 0x40f230
jmp 0x40f20a
jmp 0x40f1e4
jmp 0x40f1be
or dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x314], 0x6e41
jge 0x40f2d6
push dword [ebp - 0x3f4]
call fcn.00478bc8
pop ecx
jmp 0x40f2f2
or dword [ebp - 4], 0xffffffff
jmp 0x40f2fc
mov dword [ebp - 0x2e8], 0x2ccb
mov dword [ebp - 0x424], 0xa9d034
cmp dword [ebp - 0x2e8], 0x2f43
jle 0x40f3e8
and dword [ebp - 0x144], 0
jmp 0x40f336
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0x7e7b
jge 0x40f3e8
and dword [ebp - 0x12c], 0
jmp 0x40f35c
mov eax, dword [ebp - 0x12c]
inc eax
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0x43d9
jge 0x40f3e3
and dword [ebp - 0x134], 0
jmp 0x40f37e
mov eax, dword [ebp - 0x134]
inc eax
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0x8af
jge 0x40f3de
and dword [ebp - 0x40], 0
jmp 0x40f397
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x7249
jge 0x40f3dc
mov ecx, dword [ebp - 0x12c]
add ecx, dword [ebp - 0x134]
add ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x144]
shl eax, cl
cdq
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x3c8], edx
push dword [ebp - 0x3c8]
push dword [ebp - 0x3cc]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40f390
jmp 0x40f371
jmp 0x40f34f
jmp 0x40f329
cmp dword [ebp + 0x10], 0
jbe 0x40f406
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [eax + 0x14]
ja 0x40f401
mov eax, dword [ebp + 0x10]
dec eax
mov word [ebp - 0x1c], ax
jmp 0x40fcfc
mov dword [ebp - 0x354], 0x1ac1
mov dword [ebp - 0x49c], 0xa9d06c
cmp dword [ebp - 0x354], 0x1c09
jle 0x40f4c0
and dword [ebp - 0x138], 0
jmp 0x40f440
mov eax, dword [ebp - 0x138]
inc eax
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0x3b9b
jge 0x40f4c0
and dword [ebp - 0x13c], 0
jmp 0x40f462
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x6a5d
jge 0x40f4bb
mov eax, dword [ebp - 0x138]
and eax, dword [ebp - 0x13c]
cdq
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], edx
push dword [ebp - 0x3d4]
push dword [ebp - 0x3d8]
lea ecx, [ebp - 0x6c8]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x6c8]
call fcn.00402cac
jmp 0x40f455
jmp 0x40f433
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x354], 0x197c
jge 0x40f4df
push dword [ebp - 0x49c]
call fcn.00478bc8
pop ecx
jmp 0x40f4fb
or dword [ebp - 4], 0xffffffff
jmp 0x40f505
mov eax, dword [0xaa7dcc]
and eax, 1
jne 0x40f531
mov eax, dword [0xaa7dcc]
or eax, 1
mov dword [0xaa7dcc], eax
mov ecx, 0xaa7d28
call fcn.00402fcc
push 0x4a61d4
call fcn.0047887f
pop ecx
mov dword [ebp - 0x324], 0x1bd1
mov dword [ebp - 0x4a4], 0xa9d0a8
cmp dword [ebp - 0x324], 0x1ddd
jle 0x40f610
and dword [ebp - 0x44], 0
jmp 0x40f562
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xf0
jge 0x40f610
and dword [ebp - 0x1c0], 0
jmp 0x40f585
mov eax, dword [ebp - 0x1c0]
inc eax
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0x5a27
jge 0x40f60b
and dword [ebp - 0x148], 0
jmp 0x40f5a7
mov eax, dword [ebp - 0x148]
inc eax
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0x5103
jge 0x40f606
mov eax, dword [ebp - 0x1c0]
cdq
idiv dword [ebp - 0x148]
xor edx, dword [ebp - 0x44]
mov eax, edx
cdq
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3e0], edx
push dword [ebp - 0x3e0]
push dword [ebp - 0x3e4]
lea ecx, [ebp - 0x788]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x788]
call fcn.00402cac
jmp 0x40f59a
jmp 0x40f578
jmp 0x40f55b
movzx eax, byte [0xaa7c6c]
test eax, eax
je 0x40f780
mov ecx, 0xaa7d28
call fcn.00424cd2
movzx eax, al
test eax, eax
jne 0x40f780
mov dword [ebp - 0x31c], 0x3c54
mov dword [ebp - 0x400], 0xa9d0d0
cmp dword [ebp - 0x31c], 0x3efa
jle 0x40f6ea
push 0x10b5
push 0x2497
push 0
push 0
push 0x9be
push 0x1b17
call dword [0xaa9360]
and dword [ebp - 0x48], 0
jmp 0x40f683
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x2eef
jge 0x40f6ea
and dword [ebp - 0x50], 0
jmp 0x40f699
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x37b2
jge 0x40f6e8
and dword [ebp - 0x58], 0
jmp 0x40f6af
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x7036
jge 0x40f6e6
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x58]
cdq
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], edx
push dword [ebp - 0x3ec]
push dword [ebp - 0x3f0]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40f6a8
jmp 0x40f692
jmp 0x40f67c
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x374]
push eax
mov ecx, 0xaa7d28
call fcn.00402fa4
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x31c], 0x3a99
jge 0x40f725
mov edx, dword [ebp - 0x400]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40f741
or dword [ebp - 4], 0xffffffff
jmp 0x40f74b
lea eax, [ebp - 0x5bc]
push eax
mov ecx, 0xaa7d28
call fcn.00402f96
push eax
lea ecx, [ebp - 0x374]
call fcn.00402fb9
movzx eax, al
test eax, eax
je 0x40f780
lea ecx, [ebp - 0x374]
call fcn.00424cdb
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x324], 0x1ac1
jge 0x40f79f
push dword [ebp - 0x4a4]
call fcn.00478bc8
pop ecx
jmp 0x40f7bb
or dword [ebp - 4], 0xffffffff
jmp 0x40f7c5
cmp dword [ebp - 0x38], 0xffffffff
jne 0x40fcfc
mov dword [ebp - 0x35c], 0x7845
mov dword [ebp - 0x40c], 0xa9d138
cmp dword [ebp - 0x35c], 0x7bd4
jle 0x40f874
and dword [ebp - 0x60], 0
jmp 0x40f800
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x74be
jge 0x40f867
and dword [ebp - 0x68], 0
jmp 0x40f816
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x5668
jge 0x40f865
and dword [ebp - 0x70], 0
jmp 0x40f82c
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0x14f9
jge 0x40f863
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x70]
cdq
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x3f8], edx
push dword [ebp - 0x3f8]
push dword [ebp - 0x3fc]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40f825
jmp 0x40f80f
jmp 0x40f7f9
call dword [0xaa9350]
push eax
call dword [0xaa9330]
mov ecx, 0xaa7d28
call fcn.00424d1f
mov ecx, dword [ebp - 0x28]
add eax, dword [ecx + 0x18]
push eax
mov ecx, 0xaa7d28
call fcn.00424d23
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x35c], 0x7467
jge 0x40f8b2
mov edx, dword [ebp - 0x40c]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40f8ce
or dword [ebp - 4], 0xffffffff
jmp 0x40f8d8
and dword [ebp - 0x30], 0
jmp 0x40f8e5
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [eax + 0x18]
jae 0x40fcfc
mov dword [ebp - 0x32c], 0x3589
mov dword [ebp - 0x4b0], 0xa9d1dc
cmp dword [ebp - 0x32c], 0x3822
jle 0x40f99f
and dword [ebp - 0x78], 0
jmp 0x40f925
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x6220
jge 0x40f98d
and dword [ebp - 0x80], 0
jmp 0x40f93b
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0x722
jge 0x40f98b
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x80]
cdq
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], edx
push dword [ebp - 0x404]
push dword [ebp - 0x408]
lea ecx, [ebp - 0x638]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x638]
call fcn.00402cac
jmp 0x40f934
jmp 0x40f91e
push 0x2370
push 0x1c7a
push 0
call dword [0xaa9340]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x30]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x384], eax
mov dword [ebp - 4], 0x2c
cmp dword [ebp - 0x32c], 0x338d
jge 0x40f9d3
push dword [ebp - 0x4b0]
call fcn.00478bc8
pop ecx
jmp 0x40f9ef
or dword [ebp - 4], 0xffffffff
jmp 0x40f9f9
mov dword [ebp - 0x2e0], 0x56da
mov dword [ebp - 0x4bc], 0xa9d240
cmp dword [ebp - 0x2e0], 0x574f
jle 0x40fb1d
and dword [ebp - 0x88], 0
jmp 0x40fa33
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x1858
jge 0x40fb1d
and dword [ebp - 0x90], 0
jmp 0x40fa59
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x2c3a
jge 0x40fb18
and dword [ebp - 0x98], 0
jmp 0x40fa7f
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x7393
jge 0x40fb13
and dword [ebp - 0xa0], 0
jmp 0x40faa5
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x33be
jge 0x40fb0e
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
shl eax, cl
mov ecx, dword [ebp - 0x98]
and ecx, dword [ebp - 0xa0]
or eax, ecx
cdq
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], edx
push dword [ebp - 0x410]
push dword [ebp - 0x414]
lea ecx, [ebp - 0x7e8]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x7e8]
call fcn.00402cac
jmp 0x40fa98
jmp 0x40fa72
jmp 0x40fa4c
jmp 0x40fa26
cmp dword [ebp - 0x384], 0
je 0x40fcb2
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x620]
call fcn.00424c4f
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x620]
call fcn.0040581d
mov dword [ebp - 0x2d0], eax
movzx eax, byte [0xaa7c6c]
test eax, eax
je 0x40fb71
mov ecx, 0xaa7d28
call fcn.00424cd2
movzx eax, al
test eax, eax
jne 0x40fb8e
lea eax, [ebp - 0x2d0]
push eax
mov ecx, 0xaa7d28
call fcn.00424ce1
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov byte [0xaa7c6c], 1
mov dword [ebp - 0x2d8], 0x2dec
mov dword [ebp - 0x418], 0xa9d258
cmp dword [ebp - 0x2d8], 0x2e2d
jle 0x40fc48
and dword [ebp - 0xa8], 0
jmp 0x40fbc8
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x794c
jge 0x40fc48
and dword [ebp - 0xb0], 0
jmp 0x40fbea
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x3260
jge 0x40fc43
mov eax, dword [ebp - 0xa8]
add eax, dword [ebp - 0xb0]
cdq
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], edx
push dword [ebp - 0x41c]
push dword [ebp - 0x420]
lea ecx, [ebp - 0x728]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x728]
call fcn.00402cac
jmp 0x40fbdd
jmp 0x40fbbb
cmp dword [ebp - 0x38], 0xffffffff
jne 0x40fc62
mov eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0xb8]
jne 0x40fc62
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], 0x2e
cmp dword [ebp - 0x2d8], 0x2a0d
jge 0x40fc81
push dword [ebp - 0x418]
call fcn.00478bc8
pop ecx
jmp 0x40fc9d
or dword [ebp - 4], 0xffffffff
jmp 0x40fca7
lea ecx, [ebp - 0x620]
call fcn.00402e63
mov dword [ebp - 4], 0x30
cmp dword [ebp - 0x2e0], 0x52ff
jge 0x40fcd1
push dword [ebp - 0x4bc]
call fcn.00478bc8
pop ecx
jmp 0x40fced
or dword [ebp - 4], 0xffffffff
jmp 0x40fcf7
jmp 0x40f8de
mov dword [ebp - 4], 0x32
cmp dword [ebp - 0x2e8], 0x2c2d
jge 0x40fd1f
mov edx, dword [ebp - 0x424]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40fd3b
or dword [ebp - 4], 0xffffffff
jmp 0x40fd45
cmp dword [ebp + 0x10], 0
jne 0x40fe55
cmp dword [ebp - 0x38], 0xffffffff
je 0x40fe55
mov dword [ebp - 0x2f0], 0x3486
mov dword [ebp - 0x4c8], 0xa9d324
cmp dword [ebp - 0x2f0], 0x3566
jle 0x40fdf8
call dword [0xaa91d0]
and dword [ebp - 0xc0], 0
jmp 0x40fd95
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x4bb4
jge 0x40fdf8
and dword [ebp - 0xc8], 0
jmp 0x40fdb7
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0x34b3
jge 0x40fdf6
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
shl eax, cl
cdq
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x428], edx
push dword [ebp - 0x428]
push dword [ebp - 0x42c]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40fdaa
jmp 0x40fd88
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0x38]
mov ax, word [ecx + eax*2]
mov word [ebp - 0x1c], ax
mov dword [ebp - 4], 0x34
cmp dword [ebp - 0x2f0], 0x316f
jge 0x40fe2f
mov edx, dword [ebp - 0x4c8]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x40fe4b
or dword [ebp - 4], 0xffffffff
jmp 0x40fe55
mov dword [ebp - 0x370], 0x7722
mov dword [ebp - 0x51c], 0xa9d3d4
cmp dword [ebp - 0x370], 0x7ae9
jle 0x40ff50
and dword [ebp - 0xe0], 0
jmp 0x40fe8f
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0x7084
jge 0x40ff42
and dword [ebp - 0xd0], 0
jmp 0x40feb5
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0xf38
jge 0x40ff3d
and dword [ebp - 0xd8], 0
jmp 0x40fed7
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x5a3
jge 0x40ff38
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
shl eax, cl
and eax, dword [ebp - 0xe0]
cdq
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], edx
push dword [ebp - 0x434]
push dword [ebp - 0x438]
lea ecx, [ebp - 0x7b8]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x7b8]
call fcn.00402cac
jmp 0x40feca
jmp 0x40fea8
jmp 0x40fe82
push 1
push 0
push 1
push 0
call dword [section..idata]
movzx eax, word [ebp - 0x1c]
cmp eax, 0xffff
je 0x411231
mov dword [ebp - 0x2f8], 0x4e8e
mov dword [ebp - 0x430], 0xa9d3f8
cmp dword [ebp - 0x2f8], 0x50af
jle 0x41001a
and dword [ebp - 0xe8], 0
jmp 0x40ff99
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x6e3a
jge 0x40fffd
and dword [ebp - 0xf0], 0
jmp 0x40ffbb
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0x4d9f
jge 0x40fffb
mov eax, dword [ebp - 0xe8]
cdq
idiv dword [ebp - 0xf0]
mov eax, edx
cdq
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
push dword [ebp - 0x440]
push dword [ebp - 0x444]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x40ffae
jmp 0x40ff8c
push 0
push 0
push 0
push 0
push 0x3fc
push 1
push 0
push 0
push 0
push 0
call dword [0xaa928c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax + 0x1c]
movzx eax, word [ebp - 0x1c]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 4], 0x36
cmp dword [ebp - 0x2f8], 0x4c2f
jge 0x410053
mov edx, dword [ebp - 0x430]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x41006f
or dword [ebp - 4], 0xffffffff
jmp 0x410079
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jbe 0x4110e1
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
add edx, dword [ecx + eax + 0x7c]
cmp dword [ebp - 0x24], edx
jae 0x4110e1
mov eax, dword [0xaa7dcc]
and eax, 2
jne 0x4100d3
mov eax, dword [0xaa7dcc]
or eax, 2
mov dword [0xaa7dcc], eax
push 0x2b4a
call fcn.00401b99
pop ecx
mov byte [0xaa7d1c], al
mov dword [ebp - 0x300], 0x1936
mov dword [ebp - 0x43c], 0xa9d480
cmp dword [ebp - 0x300], 0x1967
jle 0x4101a9
call dword [0xaa9290]
and dword [ebp - 0xf8], 0
jmp 0x410113
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x7520
jge 0x4101a9
and dword [ebp - 0x100], 0
jmp 0x410139
mov eax, dword [ebp - 0x100]
inc eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0x6c0d
jge 0x4101a4
and dword [ebp - 0x108], 0
jmp 0x41015b
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0x2fdb
jge 0x4101a2
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x100]
sar eax, cl
mov ecx, dword [ebp - 0x108]
sar eax, cl
cdq
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x44c], edx
push dword [ebp - 0x44c]
push dword [ebp - 0x450]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x41014e
jmp 0x41012c
jmp 0x410106
mov dword [ebp - 4], 0x38
cmp dword [ebp - 0x300], 0x15da
jge 0x4101cc
mov edx, dword [ebp - 0x43c]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x4101e8
or dword [ebp - 4], 0xffffffff
jmp 0x4101f2
mov dword [ebp - 0x320], 0x7886
mov dword [ebp - 0x4ec], 0xa9d4f0
cmp dword [ebp - 0x320], 0x7a02
jle 0x41031f
push 0
call dword [0xaa9288]
and dword [ebp - 0x120], 0
jmp 0x410234
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0x1f55
jge 0x41031f
and dword [ebp - 0x110], 0
jmp 0x41025a
mov eax, dword [ebp - 0x110]
inc eax
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0x4dd2
jge 0x41031a
and dword [ebp - 0x118], 0
jmp 0x410280
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0x795e
jge 0x410315
and dword [ebp - 0x128], 0
jmp 0x4102a6
mov eax, dword [ebp - 0x128]
inc eax
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0x37e0
jge 0x410310
mov eax, dword [ebp - 0x110]
cdq
idiv dword [ebp - 0x118]
mov eax, dword [ebp - 0x120]
sub eax, edx
mov ecx, dword [ebp - 0x128]
shl eax, cl
cdq
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], edx
push dword [ebp - 0x458]
push dword [ebp - 0x45c]
lea ecx, [ebp - 0x650]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x650]
call fcn.00402cac
jmp 0x410299
jmp 0x410273
jmp 0x41024d
jmp 0x410227
mov byte [ebp - 0x280], 2
mov byte [ebp - 0x27f], 0x6d
mov byte [ebp - 0x27e], 1
mov byte [ebp - 0x27d], 0x6f
mov byte [ebp - 0x27c], 0
mov byte [ebp - 0x27b], 0x69
mov byte [ebp - 0x27a], 0x1b
mov byte [ebp - 0x279], 0x34
mov byte [ebp - 0x278], 0x52
mov byte [ebp - 0x277], 0x72
mov byte [ebp - 0x276], 0x13
mov byte [ebp - 0x275], 0xe0
mov byte [ebp - 0x274], 0x5a
mov byte [ebp - 0x273], 0x77
mov byte [ebp - 0x272], 0xf0
mov byte [ebp - 0x271], 0xcc
mov byte [ebp - 0x270], 0x55
mov byte [ebp - 0x26f], 0x91
mov byte [ebp - 0x26e], 0xc6
mov byte [ebp - 0x26d], 0x20
mov byte [ebp - 0x26c], 0x16
mov byte [ebp - 0x26b], 0x56
mov byte [ebp - 0x26a], 0xa2
mov byte [ebp - 0x269], 0x45
mov byte [ebp - 0x268], 0xb4
mov byte [ebp - 0x267], 0x8d
mov byte [ebp - 0x266], 2
mov byte [ebp - 0x265], 0x56
mov byte [ebp - 0x264], 0x33
mov byte [ebp - 0x263], 0x41
mov byte [ebp - 0x262], 0x95
mov byte [ebp - 0x261], 0xd1
mov byte [ebp - 0x260], 0x61
and dword [ebp - 0x20], 0
and dword [ebp - 0x310], 0
jmp 0x41041b
mov eax, dword [ebp - 0x20]
inc eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x21
jae 0x4105bd
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x280]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x20], eax
jne 0x410566
mov dword [ebp - 0x310], 0x1b
mov eax, dword [ebp - 0x20]
add eax, 0x19
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x308], 0x53bb
mov dword [ebp - 0x4e0], 0xa9d560
cmp dword [ebp - 0x308], 0x5782
jle 0x41051c
push 0
push 0x1e64
push 0
call dword [0xaa909c]
and dword [ebp - 0x130], 0
jmp 0x41049c
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0x467c
jge 0x41051c
and dword [ebp - 0x14c], 0
jmp 0x4104be
mov eax, dword [ebp - 0x14c]
inc eax
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x495c
jge 0x410517
mov eax, dword [ebp - 0x130]
or eax, dword [ebp - 0x14c]
cdq
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], edx
push dword [ebp - 0x464]
push dword [ebp - 0x468]
lea ecx, [ebp - 0x680]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x680]
call fcn.00402cac
jmp 0x4104b1
jmp 0x41048f
jmp 0x410413
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x27f]
sub eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x310]
lea eax, [eax + ecx - 1]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
jge 0x4105a0
mov eax, dword [ebp - 0x154]
add eax, 0x100
mov dword [ebp - 0x154], eax
jmp 0x410584
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x280]
mov cl, byte [ebp - 0x154]
mov byte [ebp + eax - 0x2c8], cl
jmp 0x410413
mov dword [ebp - 0x318], 0x19a3
mov dword [ebp - 0x448], 0xa9d5e8
cmp dword [ebp - 0x318], 0x1c8b
jle 0x410677
and dword [ebp - 0x15c], 0
jmp 0x4105f7
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0x4ee2
jge 0x410677
and dword [ebp - 0x164], 0
jmp 0x410619
mov eax, dword [ebp - 0x164]
inc eax
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0x248e
jge 0x410672
mov eax, dword [ebp - 0x15c]
or eax, dword [ebp - 0x164]
cdq
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], edx
push dword [ebp - 0x470]
push dword [ebp - 0x474]
lea ecx, [ebp - 0x6b0]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.00402cac
jmp 0x41060c
jmp 0x4105ea
xor eax, eax
inc eax
imul eax, eax, 3
mov byte [ebp + eax - 0x2c8], 0
mov dword [ebp - 4], 0x3c
cmp dword [ebp - 0x318], 0x17e1
jge 0x4106a4
push dword [ebp - 0x448]
call fcn.00478bc8
pop ecx
jmp 0x4106c0
or dword [ebp - 4], 0xffffffff
jmp 0x4106ca
mov dword [ebp - 4], 0x3e
cmp dword [ebp - 0x320], 0x7689
jge 0x4106e9
push dword [ebp - 0x4ec]
call fcn.00478bc8
pop ecx
jmp 0x410705
or dword [ebp - 4], 0xffffffff
jmp 0x41070f
mov dword [ebp - 0x328], 0x2659
mov dword [ebp - 0x454], 0xa9d6c8
cmp dword [ebp - 0x328], 0x2a3a
jle 0x4107a7
and dword [ebp - 0x16c], 0
jmp 0x410745
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0x2988
jge 0x4107a7
and dword [ebp - 0x174], 0
jmp 0x410767
mov eax, dword [ebp - 0x174]
inc eax
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0x25fc
jge 0x4107a5
mov eax, dword [ebp - 0x16c]
imul eax, dword [ebp - 0x174]
cdq
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], edx
push dword [ebp - 0x47c]
push dword [ebp - 0x480]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x41075a
jmp 0x410738
mov eax, dword [0xaa7dcc]
and eax, 4
jne 0x4107da
mov eax, dword [0xaa7dcc]
or eax, 4
mov dword [0xaa7dcc], eax
lea eax, [ebp - 0x2c8]
push eax
mov ecx, 0xaa7db4
call fcn.00424c4f
push 0x4a61c5
call fcn.0047887f
pop ecx
mov dword [ebp - 4], 0x40
cmp dword [ebp - 0x328], 0x24a5
jge 0x4107fd
mov edx, dword [ebp - 0x454]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x410819
or dword [ebp - 4], 0xffffffff
jmp 0x410823
mov dword [ebp - 0x330], 0x552c
mov dword [ebp - 0x4f8], 0xa9d774
cmp dword [ebp - 0x330], 0x56c0
jle 0x410925
and dword [ebp - 0x18c], 0
jmp 0x41085d
mov eax, dword [ebp - 0x18c]
inc eax
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0x55db
jge 0x410913
and dword [ebp - 0x17c], 0
jmp 0x410883
mov eax, dword [ebp - 0x17c]
inc eax
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0xbd1
jge 0x41090e
and dword [ebp - 0x184], 0
jmp 0x4108a5
mov eax, dword [ebp - 0x184]
inc eax
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0x488d
jge 0x410909
mov eax, dword [ebp - 0x17c]
imul eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x18c]
sub ecx, eax
mov eax, ecx
cdq
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], edx
push dword [ebp - 0x488]
push dword [ebp - 0x48c]
lea ecx, [ebp - 0x6e0]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x6e0]
call fcn.00402cac
jmp 0x410898
jmp 0x410876
jmp 0x410850
push 0x2370
push 0x1c7a
push 0
call dword [0xaa9340]
and dword [ebp - 0x194], 0
jmp 0x41093b
mov eax, dword [ebp - 0x194]
inc eax
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 4
jae 0x410954
mov eax, dword [ebp - 0x194]
mov byte [ebp + eax - 0x2c8], 0
jmp 0x41092e
mov dword [ebp - 4], 0x42
cmp dword [ebp - 0x330], 0x51ac
jge 0x410973
push dword [ebp - 0x4f8]
call fcn.00478bc8
pop ecx
jmp 0x41098f
or dword [ebp - 4], 0xffffffff
jmp 0x410999
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movsx eax, byte [eax]
movsx ecx, byte [0xaa7d1c]
cmp eax, ecx
je 0x4109b9
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x41099f
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x2c]
push dword [ebp - 0x24]
lea ecx, [ebp - 0x5d8]
call fcn.004265fa
push 0xaa7db4
lea ecx, [ebp - 0x5d8]
call fcn.00424c7e
mov dword [ebp - 0x338], 0x3f66
mov dword [ebp - 0x460], 0xa9d790
cmp dword [ebp - 0x338], 0x4036
jle 0x410aac
push 0
call dword [0xaa9294]
and dword [ebp - 0x19c], 0
jmp 0x410a23
mov eax, dword [ebp - 0x19c]
inc eax
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0x2cde
jge 0x410aa4
and dword [ebp - 0x1a4], 0
jmp 0x410a45
mov eax, dword [ebp - 0x1a4]
inc eax
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0x1052
jge 0x410a9f
mov eax, dword [ebp - 0x19c]
imul eax, dword [ebp - 0x1a4]
cdq
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], edx
push dword [ebp - 0x494]
push dword [ebp - 0x498]
lea ecx, [ebp - 0x710]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x710]
call fcn.00402cac
jmp 0x410a38
jmp 0x410a16
push 0
call dword [0xaa92b0]
lea eax, [ebp - 0x5b8]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0040358b
push dword [eax]
lea eax, [ebp - 0x5c0]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.00403577
push dword [eax]
lea ecx, [ebp - 0x608]
call fcn.00426623
mov dword [ebp - 4], 0x44
cmp dword [ebp - 0x338], 0x3f3b
jge 0x410afe
push dword [ebp - 0x460]
call fcn.00478bc8
pop ecx
jmp 0x410b1a
or dword [ebp - 4], 0xffffffff
jmp 0x410b24
lea eax, [ebp - 0x608]
push eax
call fcn.004060c5
pop ecx
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
je 0x410f5d
mov dword [ebp - 0x340], 0x13a0
mov dword [ebp - 0x394], 0xa9d808
cmp dword [ebp - 0x340], 0x1448
jle 0x410c50
and dword [ebp - 0x1ac], 0
jmp 0x410b7e
mov eax, dword [ebp - 0x1ac]
inc eax
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 0x7163
jge 0x410c43
and dword [ebp - 0x1b4], 0
jmp 0x410ba4
mov eax, dword [ebp - 0x1b4]
inc eax
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0x76df
jge 0x410c3e
and dword [ebp - 0x1bc], 0
jmp 0x410bca
mov eax, dword [ebp - 0x1bc]
inc eax
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0x6122
jge 0x410c39
and dword [ebp - 0x1c4], 0
jmp 0x410bec
mov eax, dword [ebp - 0x1c4]
inc eax
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0x5621
jge 0x410c37
mov eax, dword [ebp - 0x1ac]
sub eax, dword [ebp - 0x1b4]
add eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1c4]
sar eax, cl
cdq
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], edx
push dword [ebp - 0x528]
push dword [ebp - 0x52c]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x410bdf
jmp 0x410bbd
jmp 0x410b97
jmp 0x410b71
call dword [0xaa9350]
push eax
call dword [0xaa9354]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x5f0]
call fcn.00424c4f
mov dword [ebp - 4], 0x46
cmp dword [ebp - 0x340], 0x1107
jge 0x410c81
mov edx, dword [ebp - 0x394]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x410c9d
or dword [ebp - 4], 0xffffffff
jmp 0x410ca7
mov dword [ebp - 0x350], 0x40f
mov dword [ebp - 0x478], 0xa9d8ac
cmp dword [ebp - 0x350], 0x789
jle 0x410d69
push 0
call dword [0xaa90a4]
and dword [ebp - 0x1cc], 0
jmp 0x410ce9
mov eax, dword [ebp - 0x1cc]
inc eax
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 0x7548
jge 0x410d69
and dword [ebp - 0x1d4], 0
jmp 0x410d0b
mov eax, dword [ebp - 0x1d4]
inc eax
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0x2095
jge 0x410d64
mov eax, dword [ebp - 0x1cc]
add eax, dword [ebp - 0x1d4]
cdq
mov dword [ebp - 0x53c], eax
mov dword [ebp - 0x538], edx
push dword [ebp - 0x538]
push dword [ebp - 0x53c]
lea ecx, [ebp - 0x740]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x740]
call fcn.00402cac
jmp 0x410cfe
jmp 0x410cdc
lea edx, [ebp - 0x46c]
lea ecx, [ebp - 0x5f0]
call fcn.00405eb7
movzx eax, al
test eax, eax
je 0x410da1
push 0
push dword [ebp - 0x46c]
push 0
push dword [ebp - 0x2c4]
call fcn.0040d8d9
add esp, 0x10
mov dword [ebp - 0x24], eax
jmp 0x410f08
mov dword [ebp - 0x348], 0x2e80
mov dword [ebp - 0x508], 0xa9d8c8
cmp dword [ebp - 0x348], 0x2eb5
jle 0x410ea3
and dword [ebp - 0x1dc], 0
jmp 0x410ddb
mov eax, dword [ebp - 0x1dc]
inc eax
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0x32f3
jge 0x410ea3
and dword [ebp - 0x1e4], 0
jmp 0x410e01
mov eax, dword [ebp - 0x1e4]
inc eax
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 0x2ca5
jge 0x410e9e
and dword [ebp - 0x1ec], 0
jmp 0x410e27
mov eax, dword [ebp - 0x1ec]
inc eax
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0x54dd
jge 0x410e99
and dword [ebp - 0x1f4], 0
jmp 0x410e49
mov eax, dword [ebp - 0x1f4]
inc eax
mov dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 0x6e7b
jge 0x410e97
mov eax, dword [ebp - 0x1dc]
cdq
idiv dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1ec]
sub ecx, dword [ebp - 0x1f4]
shl edx, cl
mov eax, edx
cdq
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x548], edx
push dword [ebp - 0x548]
push dword [ebp - 0x54c]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x410e3c
jmp 0x410e1a
jmp 0x410df4
jmp 0x410dce
push 1
push 0
lea eax, [ebp - 0x5f0]
push eax
push dword [ebp - 0x2c4]
call fcn.0040d8d9
add esp, 0x10
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0x48
cmp dword [ebp - 0x348], 0x2d4f
jge 0x410ee2
mov edx, dword [ebp - 0x508]
mov ecx, 0xaa47f8
call fcn.0042634a
jmp 0x410efe
or dword [ebp - 4], 0xffffffff
jmp 0x410f08
mov dword [ebp - 4], 0x4a
cmp dword [ebp - 0x350], 0x277
jge 0x410f27
push dword [ebp - 0x478]
call fcn.00478bc8
pop ecx
jmp 0x410f43
or dword [ebp - 4], 0xffffffff
jmp 0x410f4d
lea ecx, [ebp - 0x5f0]
call fcn.00402e63
jmp 0x4110cb
mov dword [ebp - 0x360], 0x324d
mov dword [ebp - 0x510], 0xa9d988
cmp dword [ebp - 0x360], 0x3433
jle 0x411053
and dword [ebp - 0x20c], 0
jmp 0x410f97
mov eax, dword [ebp - 0x20c]
inc eax
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0xe01
jge 0x411049
and dword [ebp - 0x1fc], 0
jmp 0x410fbd
mov eax, dword [ebp - 0x1fc]
inc eax
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0x575f
jge 0x411044
and dword [ebp - 0x204], 0
jmp 0x410fdf
mov eax, dword [ebp - 0x204]
inc eax
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0x45cb
jge 0x41103f
mov eax, dword [ebp - 0x1fc]
imul eax, dword [ebp - 0x204]
and eax, dword [ebp - 0x20c]
cdq
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], edx
push dword [ebp - 0x554]
push dword [ebp - 0x558]
lea ecx, [ebp - 0x770]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x770]
call fcn.00402cac
jmp 0x410fd2
jmp 0x410fb0
jmp 0x410f8a
push 0
push 0
call dword [0xaa9348]
cmp dword [ebp + 0x10], 0
jne 0x411069
mov ecx, dword [ebp + 0xc]
call fcn.00402ebf
mov dword [ebp - 0x358], eax
jmp 0x411073
movzx eax, word [ebp + 0x10]
mov dword [ebp - 0x358], eax
push dword [ebp - 0x358]
push dword [ebp + 8]
call fcn.0040c10c
pop ecx
pop ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0x4c
cmp dword [ebp - 0x360], 0x3175
jge 0x4110a5
push dword [ebp - 0x510]
call fcn.00478bc8
pop ecx
jmp 0x4110c1
or dword [ebp - 4], 0xffffffff
jmp 0x4110cb
lea ecx, [ebp - 0x608]
call fcn.00402d3b
lea ecx, [ebp - 0x5d8]
call fcn.00402e63
mov dword [ebp - 0x368], 0x20e3
mov dword [ebp - 0x484], 0xa9d9d8
cmp dword [ebp - 0x368], 0x223c
jle 0x4111e0
and dword [ebp - 0x214], 0
jmp 0x41111b
mov eax, dword [ebp - 0x214]
inc eax
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0x187c
jge 0x4111e0
and dword [ebp - 0x21c], 0
jmp 0x411141
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0x63db
jge 0x4111db
and dword [ebp - 0x224], 0
jmp 0x411167
mov eax, dword [ebp - 0x224]
inc eax
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0x37e9
jge 0x4111d6
and dword [ebp - 0x22c], 0
jmp 0x411189
mov eax, dword [ebp - 0x22c]
inc eax
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0x6af5
jge 0x4111d4
mov eax, dword [ebp - 0x214]
add eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x224]
add ecx, dword [ebp - 0x22c]
and eax, ecx
cdq
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], edx
push dword [ebp - 0x560]
push dword [ebp - 0x564]
mov ecx, 0xaa47f8
call fcn.00424b0a
jmp 0x41117c
jmp 0x41115a
jmp 0x411134
jmp 0x41110e
mov eax, dword [ebp - 0x24]
jmp 0x411379
mov dword [ebp - 4], 0x50
cmp dword [ebp - 0x370], 0x74ff
jge 0x411250
push dword [ebp - 0x51c]
call fcn.00478bc8
pop ecx
jmp 0x41126c
or dword [ebp - 4], 0xffffffff
jmp 0x411276
mov dword [ebp - 0x378], 0x50e5
mov dword [ebp - 0x490], 0xa9da70
cmp dword [ebp - 0x378], 0x5303
jle 0x411330
and dword [ebp - 0x234], 0
jmp 0x4112b0
mov eax, dword [ebp - 0x234]
inc eax
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0x3a64
jge 0x411330
and dword [ebp - 0x23c], 0
jmp 0x4112d2
mov eax, dword [ebp - 0x23c]
inc eax
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0x3c45
jge 0x41132b
mov eax, dword [ebp - 0x234]
add eax, dword [ebp - 0x23c]
cdq
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x570], edx
push dword [ebp - 0x570]
push dword [ebp - 0x574]
lea ecx, [ebp - 0x7a0]
call fcn.0040542d
pop ecx
pop ecx
mov ecx, eax
call fcn.00402ebf
push eax
call fcn.00478bc8
pop ecx
lea ecx, [ebp - 0x7a0]
call fcn.00402cac
jmp 0x4112c5
jmp 0x4112a3
xor eax, eax
jmp 0x411379
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret