Function at 0x40c889
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x424
push esi
movzx eax, byte [ebp + 0x30]
test eax, eax
je 0x40e27f
lea eax, [ebp + 8]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x254], eax
lea eax, [ebp + 0x38]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x29c], eax
lea eax, [ebp + 0x34]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1c8]
movzx eax, byte [eax]
test eax, eax
je 0x40e25c
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
movzx eax, byte [eax]
test eax, eax
je 0x40da19
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 8], 0x399841b3
mov dword [ebp - 0xe4], 0x2cdf274c
mov dword [ebp - 0x164], 0xbd7a89a4
mov dword [ebp - 0x27c], 0
mov dword [ebp - 8], 0x14
jmp 0x40c9bc
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jne 0x40cceb
mov dword [ebp - 0x60], 4
push 1
lea ecx, [ebp - 0x198]
call fcn.00436edc
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 0x1d8], 0xac1d
mov dword [ebp - 0x34], 0xffffffff
push 0x3a5b
push 0
push 0x5dc8
push 0x3704
push 0x12a2
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x33c]
push eax
push 0x6c83
call fcn.00430949
add esp, 0x20
cmp dword [ebp - 8], 0
je 0x40cae8
cmp dword [ebp - 8], 0xc8d
jg 0x40ca4c
mov dword [ebp - 0x18c], 1
jmp 0x40ca53
and dword [ebp - 0x18c], 0
mov esi, dword [ebp - 0x18c]
sub esi, dword [ebp - 8]
push 0
lea ecx, [ebp - 0x198]
call fcn.00436fca
mov dword [eax], esi
push 0
lea ecx, [ebp - 0x198]
call fcn.00436fca
cmp dword [eax], 0x6ff6
je 0x40ca8f
cmp dword [ebp - 8], 0
jne 0x40ca8f
and dword [ebp - 0x19c], 0
jmp 0x40ca99
mov dword [ebp - 0x19c], 1
push 0
lea ecx, [ebp - 0x198]
call fcn.00436fca
cmp dword [eax], 1
je 0x40cabd
mov eax, 0x889ec002
test eax, eax
jne 0x40cabd
and dword [ebp - 0x188], 0
jmp 0x40cac7
mov dword [ebp - 0x188], 1
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x40cae8
mov dword [ebp - 0x274], 1
jmp 0x40caef
and dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38c], eax
cmp dword [ebp - 0x28], 0xfffffffb
ja 0x40cb0a
mov dword [ebp - 0xc4], 1
jmp 0x40cb11
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0xc4]
jne 0x40cb2e
mov eax, 0xaad9
test eax, eax
jne 0x40cb2e
and dword [ebp - 0xd4], 0
jmp 0x40cb38
mov dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0xd4], eax
jge 0x40cb4f
mov dword [ebp - 0x1d0], 1
jmp 0x40cb56
and dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x60], eax
jne 0x40cb73
mov dword [ebp - 0x134], 1
jmp 0x40cb7a
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x134], eax
je 0x40cb91
mov dword [ebp - 0xdc], 1
jmp 0x40cb98
and dword [ebp - 0xdc], 0
cmp dword [ebp - 0xdc], 3
jne 0x40ccb2
push 1
lea ecx, [ebp - 0x2e4]
call fcn.00436edc
mov dword [ebp - 0x284], 7
push 0
push 0x79c
lea eax, [ebp - 0x360]
push eax
push 0xc33
lea eax, [ebp - 0x2e4]
push eax
call fcn.00419ef0
add esp, 0x14
push 0x28d8
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x198]
push eax
push 0
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2e4]
push eax
lea eax, [ebp - 8]
push eax
push 0x2795
lea eax, [ebp - 0x1d8]
push eax
call fcn.0040e60d
add esp, 0x34
mov dword [ebp - 0x34], 0
jmp 0x40cc3c
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jg 0x40cca5
push 0x4ebc
push 0x1e04
lea eax, [ebp - 0x164]
push eax
push 0x538f
push 0x38b0
push 1
lea eax, [ebp - 0x284]
push eax
push 0x61d3
push 1
lea eax, [ebp - 0x2e4]
push eax
push 0x7b88
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x68c8
lea eax, [ebp - 0x198]
push eax
push 0x5e6f
push 1
push 1
push 1
call fcn.0040c310
add esp, 0x4c
jmp 0x40cc35
lea ecx, [ebp - 0x2e4]
call fcn.00436fae
jmp 0x40ccdb
push 1
push 0
lea eax, [ebp - 0x28]
push eax
push 0x3b07
push 0x7a09
push 0xf5
push 0x4e5c
push 0x1a40
call fcn.00419c91
add esp, 0x20
lea ecx, [ebp - 0x198]
call fcn.00436fae
jmp 0x40c9b5
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1e0]
add ecx, dword [eax]
mov dword [ebp - 0x238], ecx
push 0x24a3
push 0
call fcn.0041bc93
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x2c], 0x70ade216
mov dword [ebp - 0x18], 0x23aaf5bf
mov dword [ebp - 0x98], 0x56dfc9b9
mov dword [ebp - 0x10c], 0x6335c0de
mov dword [ebp - 0x58], 0
jmp 0x40cd4c
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 2
jge 0x40cd62
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax*4 - 0xc0], 0x36de
jmp 0x40cd45
cmp dword [ebp - 0x2c], 0
jne 0x40cded
cmp dword [ebp - 0x2c], 0
je 0x40cdc3
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xc0]
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x18], 5
cmp dword [ebp - 0x18], 0xb2c4
jge 0x40cdaa
mov dword [ebp - 0x28c], 1
jmp 0x40cdb1
and dword [ebp - 0x28c], 0
cmp dword [ebp - 0x18], 0
je 0x40cdc3
mov dword [ebp - 0x13c], 1
jmp 0x40cdca
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x13c]
sub eax, 0x9cb0
push 4
pop ecx
shl ecx, 0
cmp eax, dword [ebp + ecx - 0xc0]
je 0x40cded
and dword [ebp - 0xec], 0
jmp 0x40cdf7
mov dword [ebp - 0xec], 1
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xec]
je 0x40ce0e
mov dword [ebp - 0x17c], 1
jmp 0x40ce15
and dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x17c]
je 0x40ce2c
mov dword [ebp - 0xf4], 1
jmp 0x40ce33
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x98]
jne 0x40ce51
mov dword [ebp - 0x144], 1
jmp 0x40ce58
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x18], 0
jmp 0x40ce74
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x15
je 0x40d06f
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x90], 0x21b78cd9
push 1
lea ecx, [ebp - 0x2f0]
call fcn.00436edc
lea eax, [ebp - 0x378]
push eax
push 0
lea eax, [ebp - 0x2f0]
push eax
call fcn.00418cae
add esp, 0xc
cmp dword [ebp - 0x24], 0
jne 0x40ced3
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xc0], 0
jne 0x40ced3
and dword [ebp - 0x294], 0
jmp 0x40cedd
mov dword [ebp - 0x294], 1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x24], 0x255bb5fb
jge 0x40cefb
mov dword [ebp - 0xfc], 1
jmp 0x40cf02
and dword [ebp - 0xfc], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xc0]
cmp eax, dword [ebp - 0xfc]
jne 0x40cf23
mov dword [ebp - 0x16c], 1
jmp 0x40cf2a
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x16c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x90], eax
jge 0x40cf51
mov dword [ebp - 0x104], 1
jmp 0x40cf58
and dword [ebp - 0x104], 0
cmp dword [ebp - 0x104], 0xfffffffb
jbe 0x40cf73
cmp dword [ebp - 0x24], 0
je 0x40cf73
mov dword [ebp - 0x1f4], 1
jmp 0x40cf7a
and dword [ebp - 0x1f4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xc0]
mov dword [ebp - 0x388], eax
or eax, 0xffffffff
ja 0x40cfab
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xc0], 0
jne 0x40cfab
and dword [ebp - 0x1f0], 0
jmp 0x40cfb5
mov dword [ebp - 0x1f0], 1
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x398], eax
xor eax, eax
inc eax
je 0x40cfdb
mov eax, 0x67d5b44
test eax, eax
jne 0x40cfe9
xor eax, eax
inc eax
jne 0x40cfe9
and dword [ebp - 0x260], 0
jmp 0x40cff3
mov dword [ebp - 0x260], 1
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x3e4], eax
push 0
lea ecx, [ebp - 0x2f0]
call fcn.00436fca
push 0
lea ecx, [ebp - 0x2f0]
call fcn.00436fca
cmp dword [eax], 0
jne 0x40d02d
cmp dword [ebp - 0x18], 0
jne 0x40d02d
and dword [ebp - 0x14c], 0
jmp 0x40d037
mov dword [ebp - 0x14c], 1
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x14c], eax
jle 0x40d04e
mov dword [ebp - 0x1f8], 1
jmp 0x40d055
and dword [ebp - 0x1f8], 0
mov dword [ebp - 0x10c], 0x939efd91
lea ecx, [ebp - 0x2f0]
call fcn.00436fae
jmp 0x40ce6d
and dword [ebp - 0xac], 0
jmp 0x40d093
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x88]
inc eax
inc eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov eax, dword [eax + 4]
sub eax, 8
shr eax, 1
cmp dword [ebp - 0xac], eax
jae 0x40da02
mov dword [ebp - 0x298], 0xb6b9
mov dword [ebp - 0x50], 0xad5a519d
mov dword [ebp - 0x394], 0xc47d1afd
mov dword [ebp - 0x68], 0
jmp 0x40d0d7
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 2
jge 0x40d0ed
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x3d0], 0xffffffff
jmp 0x40d0d0
cmp dword [ebp - 0x298], 0
je 0x40d126
push 0
call fcn.0041ceda
pop ecx
mov dword [ebp - 0x50], 0
jmp 0x40d10e
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
jge 0x40d124
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x3d0], 0xfffffff9
jmp 0x40d107
jmp 0x40d161
mov byte [ebp - 0x1d], 0
push 0x3e69
push 1
push 0x2861
push 0x49cc
push 0x6ffd
push 0
push 1
push 0x184
push 0x35b
push 0
push 0x2bef
lea eax, [ebp - 0x1d]
push eax
call fcn.0041aff0
add esp, 0x30
push 0x3c1b
push 0
push 0x479
call fcn.0040f19b
add esp, 0xc
mov dword [ebp - 0x70], 0xa4f833fc
mov dword [ebp - 0x184], 0x8f3d4210
mov dword [ebp - 0x8c], 0
jmp 0x40d19f
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 3
jge 0x40d1bb
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0x338], 0xfffffff6
jmp 0x40d192
mov dword [ebp - 0x70], 2
jmp 0x40d1cb
mov eax, dword [ebp - 0x70]
dec eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jl 0x40d200
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x3c], 0
jmp 0x40d1e8
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 3
jge 0x40d1fe
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x338], 0xfffffffb
jmp 0x40d1e1
jmp 0x40d1c4
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x338]
mov dword [ebp - 0x184], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x184]
mov dword [ebp + eax - 0x338], ecx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x208], 0x4bda99da
mov dword [ebp - 0x94], 0x7ae9f903
mov dword [ebp - 0x268], 0xcc72b752
mov dword [ebp - 0x348], 8
mov dword [ebp - 0x80], 0
jmp 0x40d278
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 4
jge 0x40d28e
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x3f8], 0xb999c826
jmp 0x40d271
push 0x76b6
push 0x5f21
push 0
push 0x4793
push 0x31cc
push 0x24e6
push 1
call fcn.0041aa30
add esp, 0x1c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x350], eax
or eax, 0xffffffff
je 0x40d2d9
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x1c], 0
jne 0x40d2e8
cmp dword [ebp - 0x1c], 0
jne 0x40d2e8
and dword [ebp - 0x114], 0
jmp 0x40d2f2
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x114], eax
jne 0x40d309
mov dword [ebp - 0x154], 1
jmp 0x40d310
and dword [ebp - 0x154], 0
cmp dword [ebp - 0x154], 0xc13
jle 0x40d328
mov dword [ebp - 0x11c], 1
jmp 0x40d32f
and dword [ebp - 0x11c], 0
cmp dword [ebp - 0x11c], 0x662db8e9
jg 0x40d347
mov dword [ebp - 0x200], 1
jmp 0x40d34e
and dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x1c], 6
jbe 0x40d5b4
mov dword [ebp - 0xb4], 0x2466e9f0
mov dword [ebp - 0x2b8], 0xbd79
mov dword [ebp - 0x220], 0xfffffff9
mov dword [ebp - 0x2a0], 1
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x35c], 0xec253d5a
push 3
lea ecx, [ebp - 0x2d8]
call fcn.00436edc
mov dword [ebp - 0x78], 0x955e3164
push 1
push 0x3f9a
lea eax, [ebp - 0x2d8]
push eax
push 1
push 1
push 0xae
lea eax, [ebp - 0x48]
push eax
call fcn.0040be5b
add esp, 0x1c
mov dword [ebp - 0x48], 0
jmp 0x40d3e4
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 3
jge 0x40d3fa
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x404], 0
jmp 0x40d3dd
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x12c]
push eax
push 0
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.0040f4dc
add esp, 0x20
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x210], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3f8]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x210]
cmp eax, dword [ebp - 0x270]
jne 0x40d472
mov dword [ebp - 0x174], 1
jmp 0x40d479
and dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x174]
add eax, 0xba8
cmp eax, dword [ebp - 0xb4]
jne 0x40d4c5
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x3e8], eax
cmp dword [ebp - 0xa4], 0
je 0x40d4c5
mov dword [ebp - 0x124], 1
jmp 0x40d4cc
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0xb4]
neg eax
cmp eax, dword [ebp - 0x124]
jne 0x40d4e8
mov dword [ebp - 0x15c], 1
jmp 0x40d4ef
and dword [ebp - 0x15c], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x15c]
sub ecx, dword [ebp + eax - 0x3f8]
imul ecx, dword [ebp - 0x2a0]
add ecx, dword [ebp - 0x12c]
cmp ecx, 7
jb 0x40d520
mov dword [ebp - 0xc8], 1
jmp 0x40d527
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x220]
imul eax, dword [ebp - 0xc8]
push 4
pop ecx
shl ecx, 1
imul eax, dword [ebp + ecx - 0x404]
push 4
pop ecx
shl ecx, 0
sub eax, dword [ebp + ecx - 0x3f8]
add eax, 0x21cf15c5
jne 0x40d567
push 0
lea ecx, [ebp - 0x2d8]
call fcn.00436fca
cmp dword [eax], 0
je 0x40d56d
cmp dword [ebp - 0x78], 0
jne 0x40d57b
xor eax, eax
inc eax
jne 0x40d57b
and dword [ebp - 0xd0], 0
jmp 0x40d585
mov dword [ebp - 0xd0], 1
push 2
lea ecx, [ebp - 0x2d8]
call fcn.00436fca
mov eax, dword [eax]
mov ecx, dword [ebp - 0xd0]
lea eax, [ecx + eax - 0x73ec]
mov dword [ebp - 0x94], eax
lea ecx, [ebp - 0x2d8]
call fcn.00436fae
jmp 0x40d5fb
mov dword [ebp - 0x278], 0xc23faab9
push 0x336c
push 0x3c0a
push 0xc53
lea eax, [ebp - 0x278]
push eax
push 0x10d3
push 0
call fcn.0040e548
add esp, 0x18
push 1
push 0x28dd
push 0x3859
push 0
push 1
call fcn.0041f390
add esp, 0x14
push 0x14a1
push 0x54bb
push 0x1f4d
push 0xb2a
lea eax, [ebp - 0x230]
push eax
push 0
push 0x33
lea eax, [ebp - 0x88]
push eax
push 0x6f82
call fcn.00428059
add esp, 0x24
push 3
lea ecx, [ebp - 0x2b4]
call fcn.00436edc
mov dword [ebp - 0x40], 0
jmp 0x40d64b
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jge 0x40d661
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x41c], 0xffffffff
jmp 0x40d644
push 0x2004
push 0
push 0x173f
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x2b4]
push eax
call fcn.0042139e
add esp, 0x14
push 0x7cce
push 0x742f
push 0x70a2
push 0x1bb8
push 0
push 0x2774
push 0xbc3
push 0x333
call fcn.00411cf8
add esp, 0x20
push 2
lea ecx, [ebp - 0x2b4]
call fcn.00436fca
mov dword [eax], 2
jmp 0x40d6e6
push 2
lea ecx, [ebp - 0x2b4]
call fcn.00436fca
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xd8]
mov dword [ecx], eax
push 2
lea ecx, [ebp - 0x2b4]
call fcn.00436fca
cmp dword [eax], 0
jl 0x40d728
mov dword [ebp - 0x44], 0x801fc3ee
mov dword [ebp - 0x44], 2
jmp 0x40d70f
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jl 0x40d726
mov eax, dword [ebp - 0x44]
cmp dword [ebp + eax*4 - 0x41c], 0
je 0x40d724
jmp 0x40d726
jmp 0x40d708
jmp 0x40d6c2
lea ecx, [ebp - 0x2b4]
call fcn.00436fae
push 0x5a3c
push 0x3d8f
lea eax, [ebp - 0x88]
push eax
push 1
push 0x70da
lea eax, [ebp - 0x2a8]
push eax
push 1
push 0
call fcn.00420152
add esp, 0x20
mov dword [ebp - 4], 3
mov dword [ebp - 0x14], 0x2006887e
mov dword [ebp - 0x6c], 0
jmp 0x40d77c
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 1
jge 0x40d792
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0xf0], 1
jmp 0x40d775
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
add edx, dword [ebp - 4]
sub ecx, edx
add eax, ecx
cmp eax, dword [ebp - 4]
jg 0x40d7b9
mov dword [ebp - 0xe0], 1
jmp 0x40d7c0
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [ecx + eax - 0x80bf]
cmp eax, dword [ebp - 4]
jle 0x40d7e1
mov dword [ebp - 0xe8], 1
jmp 0x40d7e8
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 4]
imul ecx, dword [ebp - 0xe8], 0
add eax, ecx
je 0x40d851
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 4]
push eax
push 0
call fcn.00421a0d
add esp, 0xc
push 1
push 0x6836
push 0
push 1
push 0x4035
push 0x5ede
push 0x5c20
push 0x1d09
push 0x7a64
push 0x7402
push 0x4783
push 0x7525
push 1
push 1
push 0xe9e
call fcn.004306ff
add esp, 0x3c
jmp 0x40d9af
mov dword [ebp - 0x74], 0x18eb
mov dword [ebp - 0x120], 5
mov dword [ebp - 4], 0
jmp 0x40d872
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jg 0x40d9af
mov dword [ebp - 0x128], 0x8f27142b
mov dword [ebp - 0x2cc], 0xfffffff6
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0xf0]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0xf0], ecx
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0xf8], eax
je 0x40d8c7
mov dword [ebp - 0x100], 1
jmp 0x40d8ce
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x128]
cmp dword [ebp - 0x100], eax
jl 0x40d8e8
mov dword [ebp - 0x110], 1
jmp 0x40d8ef
and dword [ebp - 0x110], 0
cmp dword [ebp - 0x74], 0
je 0x40d907
cmp dword [ebp - 0x74], 0
je 0x40d907
mov dword [ebp - 0x108], 1
jmp 0x40d90e
and dword [ebp - 0x108], 0
imul eax, dword [ebp - 0x108], 0xdfc
test eax, eax
jne 0x40d92b
cmp dword [ebp - 0x14], 0
jne 0x40d92b
and dword [ebp - 0x228], 0
jmp 0x40d935
mov dword [ebp - 0x228], 1
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x110], eax
jne 0x40d95b
mov dword [ebp - 0x118], 1
jmp 0x40d962
and dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x120], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x128]
push eax
push 0
push 1
lea eax, [ebp - 0x74]
push eax
push 0x179e
lea eax, [ebp - 0x14]
push eax
push 0xc41
lea eax, [ebp - 0x2cc]
push eax
push 0x326a
call fcn.00411787
add esp, 0x2c
jmp 0x40d86b
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 3
je 0x40d9c8
jmp 0x40d9fd
mov eax, dword [ebp - 0x238]
add eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x288], eax
push 0
push dword [ebp - 0x240]
push 0xec9
lea eax, [ebp - 0x288]
push eax
push 0x5cc
push 1
call fcn.004116d0
add esp, 0x18
jmp 0x40d078
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx]
add ecx, dword [eax + 4]
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
jmp 0x40e25a
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x5c], eax
push 2
lea ecx, [ebp - 0x2c8]
call fcn.00436edc
mov dword [ebp - 0x290], 0xffffffff
lea eax, [ebp - 0x2c8]
push eax
push 0x5ea7
push 0
push 0x2144
lea eax, [ebp - 0x3ac]
push eax
call fcn.00414cb6
add esp, 0x14
push 1
lea ecx, [ebp - 0x2c8]
call fcn.00436fca
mov dword [eax], 0x12
jmp 0x40daac
push 1
lea ecx, [ebp - 0x2c8]
call fcn.00436fca
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x130]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x2c8]
call fcn.00436fca
cmp dword [eax], 0xfffffff8
jne 0x40db85
mov dword [ebp - 0x38], 0xf09c
mov dword [ebp - 0x7c], 0
jmp 0x40dad9
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x40daef
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x258], 0
jmp 0x40dad2
cmp dword [ebp - 0x38], 0
jl 0x40db01
mov dword [ebp - 0x138], 1
jmp 0x40db08
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x138], eax
jg 0x40db1f
mov dword [ebp - 0x140], 1
jmp 0x40db26
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x290]
cmp dword [ebp - 0x140], eax
jle 0x40db40
mov dword [ebp - 0x148], 1
jmp 0x40db47
and dword [ebp - 0x148], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x148]
mov dword [ebp + eax - 0x258], ecx
mov dword [ebp - 0x38], 0x12
jmp 0x40db6a
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x2f
jl 0x40db80
push 0
push 0x78a5
call fcn.0041bb51
pop ecx
pop ecx
jmp 0x40db63
jmp 0x40da88
lea ecx, [ebp - 0x2c8]
call fcn.00436fae
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x160], 0x28ade19d
mov dword [ebp - 0xa8], 0xdc345fe4
mov dword [ebp - 0x84], 0xccc89593
mov dword [ebp - 0xc], 0
jmp 0x40dbca
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jge 0x40dbe0
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa0], 0
jmp 0x40dbc3
mov dword [ebp - 0xc], 0
jmp 0x40dbf0
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
jge 0x40dc06
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x344], 0xffffffff
jmp 0x40dbe9
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa0]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x84], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa0]
cmp dword [ebp - 0x84], eax
jne 0x40dc46
mov dword [ebp - 0x150], 1
jmp 0x40dc4d
and dword [ebp - 0x150], 0
cmp dword [ebp - 0x150], 0xfffffffa
jae 0x40dc64
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x344], 0
push 4
pop eax
cmp eax, 0x9725245f
jne 0x40dc7a
mov dword [ebp - 0x158], 1
jmp 0x40dc81
and dword [ebp - 0x158], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa0]
cmp dword [ebp - 0x160], eax
jne 0x40dd04
mov dword [ebp - 0x1e8], 0xfffffffb
mov dword [ebp - 0x1ec], 0xbda99da9
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x1e8]
push eax
push 0
lea eax, [ebp - 0x1ec]
push eax
push 0x63f7
lea eax, [ebp - 0x84]
push eax
push 0
call fcn.0041aa30
add esp, 0x1c
push 0x61f
push 1
push 0
push 0x7f94
push 0
push 0x4191
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0042c50b
add esp, 0x20
jmp 0x40dd0c
push 0
call fcn.00417583
pop ecx
push 0
push 0x52dd
call fcn.00410403
pop ecx
pop ecx
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1fc], 0
push 3
lea ecx, [ebp - 0x32c]
call fcn.00436edc
mov dword [ebp - 0x54], 0xf5ebec5
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2fc], 1
mov dword [ebp - 0x2f8], 1
mov dword [ebp - 0x2f4], 1
push 0x78a9
push 0x15b
push 0x5414
lea eax, [ebp - 0x4c]
push eax
push 0x47cd
push 0x287
lea eax, [ebp - 0x32c]
push eax
push 0x7c90
push 0x259
push 0
call fcn.004155b6
add esp, 0x28
mov dword [ebp - 0x4c], 0
jmp 0x40ddb2
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 1
jge 0x40ddc8
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x168], 1
jmp 0x40ddab
lea eax, [ebp - 0x1e4]
push eax
push 0x343e
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x54]
push eax
push 0
lea eax, [ebp - 0x1fc]
push eax
call fcn.0040e40f
add esp, 0x18
mov dword [ebp - 0x54], 2
jmp 0x40de00
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jl 0x40de73
push 2
lea ecx, [ebp - 0x3a8]
call fcn.00436edc
lea eax, [ebp - 0x3a8]
push eax
push 0
lea eax, [ebp - 0x374]
push eax
push 0x4468
call fcn.00417088
add esp, 0x10
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x168]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x168], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x300]
dec eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x3a8]
call fcn.00436fae
jmp 0x40ddf9
lea ecx, [ebp - 0x32c]
call fcn.00436fae
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20c], 0x189
mov dword [ebp - 0x178], 0xf9c7
mov dword [ebp - 0x214], 0x53f0d3ec
mov dword [ebp - 0x204], 1
mov dword [ebp - 0x170], 0x57cf7a02
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x37c], 0
or dword [ebp - 0x314], 0xffffffff
or dword [ebp - 0x310], 0xffffffff
or dword [ebp - 0x30c], 0xffffffff
or dword [ebp - 0x308], 0xffffffff
lea ecx, [ebp - 0x99]
call fcn.00436fd9
push eax
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebp - 0x424]
call fcn.00436fdc
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x410]
call fcn.00436f88
mov dword [ebp - 0x3e0], 0xc09c
mov dword [ebp - 0x3dc], 0xc09c
mov dword [ebp - 0x3d8], 0xc09c
mov dword [ebp - 0x3d4], 0xc09c
mov dword [ebp - 0x21c], 0x94fc7bc0
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0
lea eax, [ebp - 0x214]
push eax
call fcn.0041003f
add esp, 0x18
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x21c]
push eax
push 0
lea eax, [ebp - 0x178]
push eax
push 1
lea eax, [ebp - 0x224]
push eax
push 0xf8b
push 0x7cac
call fcn.00421d34
add esp, 0x20
lea ecx, [ebp - 0x410]
call fcn.00436fae
and dword [ebp - 0xb0], 0
jmp 0x40dfef
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x10]
add eax, 0x28
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0xb0], eax
jge 0x40e25a
mov dword [ebp - 0x22c], 0
push 0x3764
push 0x7bd9
push 0
lea eax, [ebp - 0x22c]
push eax
call fcn.0041536b
add esp, 0x10
push 0
call fcn.004300b6
pop ecx
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x10], 0
jne 0x40e137
push 0x49a1
push 0x1084
push 0
call fcn.004204e6
add esp, 0xc
push 0x5416
push 0x7a64
push 0x62a2
lea eax, [ebp - 0xb8]
push eax
push 0x7050
push 1
push 0x5c50
push 0x2c83
push 1
push 0x3fd0
lea eax, [ebp - 0x10]
push eax
push 0x4c14
push 0x53b8
lea eax, [ebp - 0x180]
push eax
push 0x7311
lea eax, [ebp - 0x234]
push eax
push 1
push 1
push 0
call fcn.0040c310
add esp, 0x4c
push 2
lea ecx, [ebp - 0x3b8]
call fcn.00436edc
mov dword [ebp - 0x64], 0x506d4441
push 0x2ba3
lea eax, [ebp - 0x3b8]
push eax
push 0
lea eax, [ebp - 0x3bc]
push eax
push 0x66
call fcn.0042a360
add esp, 0x14
mov dword [ebp - 0x64], 1
jmp 0x40e0f2
mov eax, dword [ebp - 0x64]
dec eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jl 0x40e127
push 0x4a9e
push 0x9f8
push 0x19e2
push 0
push 0x3b12
push 0x1919
push 0x7ea1
push 0x4adb
call fcn.00415492
add esp, 0x20
jmp 0x40e0eb
lea ecx, [ebp - 0x3b8]
call fcn.00436fae
jmp 0x40dfd9
push 4
push 0x1000
mov eax, dword [ebp - 0x10]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x180]
add ecx, dword [eax + 0xc]
push ecx
push 0x32c5
push 0x20a5
call fcn.004076b4
pop ecx
pop ecx
call eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x23c]
add ecx, dword [eax + 0x14]
push ecx
push dword [ebp - 0xb8]
call fcn.00408000
add esp, 0xc
push 2
lea ecx, [ebp - 0x320]
call fcn.00436edc
mov dword [ebp - 0x1a0], 0xffffffff
mov dword [ebp - 0x244], 0xfe81720d
mov dword [ebp - 0x1ac], 0xe4f78d7c
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x384], 0xfffffff6
lea eax, [ebp - 0x3c4]
push eax
push 0x1638
lea eax, [ebp - 0x320]
push eax
push 0
call fcn.0041fd34
add esp, 0x10
lea eax, [ebp - 0x320]
push eax
push 0x1675
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x1ac]
push eax
push 0
push 0x786d
call fcn.00412d84
add esp, 0x20
lea ecx, [ebp - 0x320]
call fcn.00436fae
lea eax, [ebp - 0x10]
push eax
push 0x7bc3
push 0
push 1
push 0
lea eax, [ebp - 0xb8]
push eax
push 0
push 0x42f3
push 0x6e9b
push 1
call fcn.00416e83
add esp, 0x28
jmp 0x40dfd9
jmp 0x40e27d
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1bc], eax
push 0
push 0x3189
push dword [ebp - 0x1bc]
call fcn.004100f9
add esp, 0xc
jmp 0x40e2cf
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c4], eax
push 0x2e53
push dword [ebp - 0x1c4]
push 0x7b14
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d4]
push 0
push dword [ebp - 0x1dc]
call fcn.00428715
add esp, 0x1c
pop esi
mov esp, ebp
pop ebp
ret