Function at 0x40ba8e
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x428
push esi
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x40bac9
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x250], eax
push 0x53
push dword [ebp - 0x250]
push 0x713a
push 1
push 1
push 0x7a
call fcn.0040d291
add esp, 0x18
jmp 0x40d28c
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp + 0x54]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp + 0x20]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x270], eax
lea eax, [ebp + 0x28]
mov dword [ebp - 0x1e0], eax
lea eax, [ebp + 0x24]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x2d8]
movzx eax, byte [eax]
test eax, eax
je 0x40bc45
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
test eax, eax
je 0x40bbcb
mov byte [ebp - 0x1b], 0
push 0x793e
push 0
push 0x3605
lea eax, [ebp - 0x1b]
push eax
call fcn.0040eed3
add esp, 0x10
jmp 0x40bc40
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x40]
mov dword [eax], 0
jmp 0x40bc0e
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x40]
cmp dword [eax], 2
jg 0x40bc40
mov eax, dword [ebp - 0x1c8]
cmp dword [eax], 0
je 0x40bc23
jmp 0x40bc40
mov byte [ebp - 0x1a], 0
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x40bc3e
push 0
push 0x1463
push 0
call dword [0xaba0b8]
jmp 0x40bc03
jmp 0x40d28c
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x278]
movzx eax, byte [eax]
test eax, eax
je 0x40d057
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x3c], 0x5ee2
push 3
lea ecx, [ebp - 0x50]
call fcn.004354ff
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x78], 2
mov dword [ebp - 0x84], 1
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0x220], 0xfffffffd
push 0x584d
push 0x6004
push 0
lea eax, [ebp - 0x38]
push eax
push 0x2923
push 0x54a
push 0x67f5
push 0x3cff
push 0x8c8
push 0x2c32
push 0x7d97
lea eax, [ebp - 0x50]
push eax
push 0x7dc3
call fcn.0040a6ba
add esp, 0x34
mov dword [ebp - 0x38], 0
jmp 0x40bdb7
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x40bdcd
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x334], 0xa28c7fff
jmp 0x40bdb0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jge 0x40bde1
mov dword [ebp - 0x190], 1
jmp 0x40bde8
and dword [ebp - 0x190], 0
push 1
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x190]
cmp ecx, dword [eax]
jge 0x40be08
mov dword [ebp - 0x198], 1
jmp 0x40be0f
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x198]
add eax, 0x4a0426a7
cmp eax, 1
jle 0x40be2b
mov dword [ebp - 0x13c], 1
jmp 0x40be32
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x13c], eax
jg 0x40be49
mov dword [ebp - 0x194], 1
jmp 0x40be50
and dword [ebp - 0x194], 0
push 1
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x194]
cmp ecx, dword [eax]
jge 0x40be70
mov dword [ebp - 0x90], 1
jmp 0x40be77
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x90]
jg 0x40be92
push 0xfffffffffffffffa
pop eax
test eax, eax
jne 0x40be92
and dword [ebp - 0x118], 0
jmp 0x40be9c
mov dword [ebp - 0x118], 1
push 2
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x118]
imul ecx, dword [eax]
cmp ecx, dword [ebp - 0x18]
jne 0x40bec0
mov dword [ebp - 0x98], 1
jmp 0x40bec7
and dword [ebp - 0x98], 0
push 1
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [eax]
jne 0x40bee7
mov dword [ebp - 0x288], 1
jmp 0x40beee
and dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x18]
sub eax, 0x8ea2
cmp eax, 0x56f9b2cf
jg 0x40bf12
mov dword [ebp - 0x15c], 1
jmp 0x40bf19
and dword [ebp - 0x15c], 0
push 1
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x15c]
cmp ecx, dword [eax]
jle 0x40bf39
mov dword [ebp - 0xa0], 1
jmp 0x40bf40
and dword [ebp - 0xa0], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xa0]
mov dword [ebp + eax - 0x334], ecx
cmp dword [ebp - 0x18], 0
jne 0x40c1c0
push 0
lea ecx, [ebp - 0x50]
call fcn.004355ed
or ecx, 0xffffffff
sub ecx, dword [eax]
mov dword [ebp - 0x18], ecx
je 0x40c17f
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c], 0xecfb
jne 0x40bf92
mov dword [ebp - 0x120], 1
jmp 0x40bf99
and dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0x9140de19
jne 0x40bfc0
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x334], 0
je 0x40bfc0
mov dword [ebp - 0xa8], 1
jmp 0x40bfc7
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0xa8], eax
jle 0x40bfde
mov dword [ebp - 0x218], 1
jmp 0x40bfe5
and dword [ebp - 0x218], 0
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x334], 0
je 0x40c00f
push 1
lea ecx, [ebp - 0x50]
call fcn.004355ed
cmp dword [eax], 0
je 0x40c00f
mov dword [ebp - 0x290], 1
jmp 0x40c016
and dword [ebp - 0x290], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jg 0x40c02a
mov dword [ebp - 0x17c], 1
jmp 0x40c031
and dword [ebp - 0x17c], 0
push 0
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x17c]
cmp ecx, dword [eax]
jne 0x40c051
mov dword [ebp - 0xb0], 1
jmp 0x40c058
and dword [ebp - 0xb0], 0
push 1
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0xb0]
sub ecx, dword [eax]
cmp ecx, 0xffffffff
jbe 0x40c07b
mov dword [ebp - 0x128], 1
jmp 0x40c082
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x128], eax
je 0x40c099
mov dword [ebp - 0xb8], 1
jmp 0x40c0a0
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
add eax, 0x3038
push 4
pop ecx
shl ecx, 1
cmp eax, dword [ebp + ecx - 0x334]
jl 0x40c0ce
mov eax, 0xb3176a17
test eax, eax
je 0x40c0ce
mov dword [ebp - 0x164], 1
jmp 0x40c0d5
and dword [ebp - 0x164], 0
push 1
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [eax]
jl 0x40c0f5
mov dword [ebp - 0xc0], 1
jmp 0x40c0fc
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0xc0], eax
je 0x40c113
mov dword [ebp - 0x130], 1
jmp 0x40c11a
and dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x130], eax
jl 0x40c131
mov dword [ebp - 0xc8], 1
jmp 0x40c138
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0x84]
jne 0x40c155
cmp dword [ebp - 0x34], 0
jne 0x40c155
and dword [ebp - 0x18c], 0
jmp 0x40c15f
mov dword [ebp - 0x18c], 1
push 1
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x18c]
cmp ecx, dword [eax]
je 0x40c17f
mov dword [ebp - 0xd0], 1
jmp 0x40c186
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0xd8], eax
jg 0x40c1ac
mov dword [ebp - 0x138], 1
jmp 0x40c1b3
and dword [ebp - 0x138], 0
push 0
lea ecx, [ebp - 0x50]
call fcn.004355ed
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x220], eax
lea ecx, [ebp - 0x50]
call fcn.004355d1
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
mov dword [ebp - 0x148], eax
push 4
lea ecx, [ebp - 0x368]
call fcn.004354ff
push 0x4493
push 0x4cce
lea eax, [ebp - 0x368]
push eax
lea eax, [ebp - 0x390]
push eax
push 0
push 0xdc8
push 0x5b36
push 0x595
push 0x1507
call fcn.0041789f
add esp, 0x24
lea eax, [ebp - 0x368]
push eax
push 0
push 1
push 1
call fcn.0042a078
add esp, 0x10
push 0
call fcn.00429b4c
pop ecx
lea ecx, [ebp - 0x368]
call fcn.004355d1
push 0
push 0x1aa3
call fcn.00409fd7
pop ecx
pop ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xbac64a68
mov dword [ebp - 0x20], 0xfdadf860
push 1
lea ecx, [ebp - 0x350]
call fcn.004354ff
mov dword [ebp - 0x394], 0x2e18e6f9
lea eax, [ebp - 0x350]
push eax
push 0x3292
push 0x7e
push 0x228b
push 0x5819
lea eax, [ebp - 0x39c]
push eax
push 0
push 0x650c
call fcn.0041bacb
add esp, 0x20
mov dword [ebp - 0x10], 0
jmp 0x40c2ce
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffff9
je 0x40c471
mov dword [ebp - 0xe8], 0xab39e224
mov dword [ebp - 0x54], 0
jmp 0x40c2f2
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 3
jge 0x40c308
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x1a4], 0
jmp 0x40c2eb
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x1a4], 0
je 0x40c41c
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1a4]
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
je 0x40c342
mov dword [ebp - 0x144], 1
jmp 0x40c349
and dword [ebp - 0x144], 0
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x1a4], 0
mov eax, 0xcfd66c4a
cmp eax, 0xfffffffe
jb 0x40c36c
mov dword [ebp - 0x298], 1
jmp 0x40c373
and dword [ebp - 0x298], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1a4]
mov dword [ebp - 0x3ac], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1a4]
cmp dword [ebp - 0x10], eax
jg 0x40c3a4
mov dword [ebp - 0xe0], 1
jmp 0x40c3ab
and dword [ebp - 0xe0], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x1a4]
cmp dword [ebp - 0xe0], eax
jl 0x40c3cb
mov dword [ebp - 0x16c], 1
jmp 0x40c3d2
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0xe8]
cmp dword [ebp - 0x16c], eax
jg 0x40c3ec
mov dword [ebp - 0x228], 1
jmp 0x40c3f3
and dword [ebp - 0x228], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x1a4]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0xe8]
add eax, dword [ebp - 0x144]
je 0x40c41c
and dword [ebp - 0xf0], 0
jmp 0x40c426
mov dword [ebp - 0xf0], 1
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xf0], eax
jg 0x40c43d
mov dword [ebp - 0x184], 1
jmp 0x40c444
and dword [ebp - 0x184], 0
cmp dword [ebp - 0x184], 0x52a2
jl 0x40c45c
mov dword [ebp - 0xf8], 1
jmp 0x40c463
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x20], eax
jmp 0x40c2c7
mov dword [ebp - 0x20], 0
jmp 0x40c481
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jl 0x40c512
mov dword [ebp - 0x230], 0xd976d993
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x2b0], 0x8539aea1
mov dword [ebp - 0x2a8], 0x28a21817
mov dword [ebp - 0x2a0], 5
lea eax, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x2b0]
push eax
call fcn.00424228
add esp, 0x24
push 0x7fb2
push 0
push 0x62a3
call fcn.0042db8a
add esp, 0xc
jmp 0x40c47a
lea ecx, [ebp - 0x350]
call fcn.004355d1
and dword [ebp - 0x60], 0
jmp 0x40c533
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x60], eax
jge 0x40d052
mov dword [ebp - 0x88], 0x8070ade2
mov dword [ebp - 0x2b8], 0x62e08974
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x2c8], 0xffffffff
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x240], 0xfffb
mov dword [ebp - 0x110], 0x5300ce3
mov dword [ebp - 8], 0
jmp 0x40c595
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jge 0x40c5ab
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x428], 0xd41e5596
jmp 0x40c58e
mov dword [ebp - 8], 0
jmp 0x40c5bb
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x40c5d1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x410], 0x1151c3c3
jmp 0x40c5b4
push 0xa3
lea eax, [ebp - 0x240]
push eax
push 0x493d
push 0
call fcn.0041a099
add esp, 0x10
cmp dword [ebp - 0x30], 0
jne 0x40c604
mov eax, 0xf8169c14
test eax, eax
jne 0x40c604
and dword [ebp - 0x108], 0
jmp 0x40c60e
mov dword [ebp - 0x108], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x410]
mov dword [ebp - 0x3bc], eax
imul eax, dword [ebp - 0x80], 0x4d2c
cmp eax, dword [ebp - 0x2b8]
jne 0x40c63c
mov dword [ebp - 0x14c], 1
jmp 0x40c643
and dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x80]
imul eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x80]
jle 0x40c65e
mov dword [ebp - 0x100], 1
jmp 0x40c665
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x100], eax
jne 0x40c682
mov eax, 0xfffe
test eax, eax
jne 0x40c682
and dword [ebp - 0x174], 0
jmp 0x40c68c
mov dword [ebp - 0x174], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x410]
cmp dword [ebp - 0x174], eax
jle 0x40c6ad
mov dword [ebp - 0x154], 1
jmp 0x40c6b4
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x154]
jg 0x40c6ce
mov dword [ebp - 0x248], 1
jmp 0x40c6d5
and dword [ebp - 0x248], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x88]
cmp dword [ebp - 0x30], eax
je 0x40c716
mov eax, 0x2510
test eax, eax
jne 0x40c716
and dword [ebp - 0x8c], 0
jmp 0x40c720
mov dword [ebp - 0x8c], 1
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x8c]
jne 0x40c737
mov dword [ebp - 0x94], 1
jmp 0x40c73e
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x2c8]
add eax, dword [ebp - 0x94]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x10], 0
jne 0x40cb58
push 3
lea ecx, [ebp - 0x35c]
call fcn.004354ff
mov dword [ebp - 0x28], 0
jmp 0x40c777
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x40c78d
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x388], 0xc85f70ad
jmp 0x40c770
lea eax, [ebp - 0x28]
push eax
push 0
push 0x185a
lea eax, [ebp - 0x35c]
push eax
call fcn.00418b7b
add esp, 0x10
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x388], 0
jmp 0x40c7d2
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x388]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x388], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x388], 0xffffffe8
jg 0x40c807
push 0x74aa
push 0
push 0x5706
push 1
push 0x1d11
push 0
push 1
push 0x295
call fcn.00425ad6
add esp, 0x20
jmp 0x40c7b9
push 0
push 0x22b6
push 1
push 1
push 0x1731
lea eax, [ebp - 0x35c]
push eax
call fcn.00429c01
add esp, 0x18
lea ecx, [ebp - 0x35c]
call fcn.004355d1
push 0
lea eax, [ebp - 0x14]
push eax
push 0x44ee
lea eax, [ebp - 0x64]
push eax
push 0x753c
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x2d0]
push eax
call fcn.0040b9e7
add esp, 0x1c
mov dword [ebp - 4], 0x60f57a7c
mov dword [ebp - 0x74], 0
mov dword [ebp - 0xc], 0
jmp 0x40c879
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
jge 0x40c88c
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x5c], 0x477862fd
jmp 0x40c872
mov dword [ebp - 0xc], 0
jmp 0x40c89c
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 4
jge 0x40c8b2
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x344], 0x5c2dd78f
jmp 0x40c895
mov dword [ebp - 4], 0
jmp 0x40c8c2
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
jg 0x40cb3a
mov dword [ebp - 0x274], 0xe936be85
mov dword [ebp - 0x400], 0xf7b1466a
mov dword [ebp - 0x3e4], 0xfffffffb
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x5c]
mov dword [ebp + ecx*4 - 0x5c], eax
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x5c], 0
je 0x40c90f
push 0
call fcn.00411315
pop ecx
jmp 0x40cb35
mov dword [ebp - 0x3fc], 0x84dcc80f
mov dword [ebp - 0x398], 0xfb2c41ac
mov dword [ebp - 0x2c0], 0xffffffff
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x3d8], 0x1bbb4f5a
mov dword [ebp - 0x3a0], 0xb996a530
mov dword [ebp - 0x3dc], 0x450bb101
mov dword [ebp - 0x2cc], 3
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x310], 0xffffffff
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x5c]
mov dword [ebp - 0x3a8], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x5c]
mov dword [ebp - 0x3e8], eax
cmp dword [ebp - 0x254], 0
jne 0x40c9ac
mov eax, dword [ebp - 0x2c0]
neg eax
jne 0x40c9ac
and dword [ebp - 0x25c], 0
jmp 0x40c9b6
mov dword [ebp - 0x25c], 1
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x5c]
cmp dword [ebp + eax - 0x344], ecx
jg 0x40c9d8
mov dword [ebp - 0x9c], 1
jmp 0x40c9df
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x5c]
cmp dword [ebp - 0x9c], eax
jg 0x40c9fa
mov dword [ebp - 0xa4], 1
jmp 0x40ca01
and dword [ebp - 0xa4], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x344]
cmp dword [ebp - 0xa4], eax
jle 0x40ca22
mov dword [ebp - 0xac], 1
jmp 0x40ca29
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x74]
push 4
pop ecx
imul ecx, ecx, 3
mov edx, dword [ebp - 0xac]
sub edx, dword [ebp + ecx - 0x344]
add eax, edx
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x5c]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x74]
dec eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x264]
jg 0x40ca75
mov dword [ebp - 0x2fc], 1
jmp 0x40ca7c
and dword [ebp - 0x2fc], 0
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x2cc], 0xb4d2c298
je 0x40caa0
mov dword [ebp - 0xb4], 1
jmp 0x40caa7
and dword [ebp - 0xb4], 0
cmp dword [ebp - 0xb4], 0
jl 0x40cabc
mov dword [ebp - 0xbc], 1
jmp 0x40cac3
and dword [ebp - 0xbc], 0
cmp dword [ebp - 0xbc], 9
jbe 0x40cad8
mov dword [ebp - 0xc4], 1
jmp 0x40cadf
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x274]
cmp dword [ebp - 0xc4], eax
jle 0x40caf9
mov dword [ebp - 0xcc], 1
jmp 0x40cb00
and dword [ebp - 0xcc], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x344]
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + eax - 0x5a3e4f64]
push 4
pop ecx
imul ecx, ecx, 3
mov dword [ebp + ecx - 0x344], eax
cmp dword [ebp - 0x310], 0
je 0x40cb35
jmp 0x40c8bb
jmp 0x40c8bb
mov byte [ebp - 0x19], 0
push 1
push 0x3bfb
lea eax, [ebp - 0x19]
push eax
push 0
call fcn.0041c360
add esp, 0x10
jmp 0x40c523
push 3
lea ecx, [ebp - 0x308]
call fcn.004354ff
mov dword [ebp - 0x30c], 0xc7dcd66a
push 3
lea ecx, [ebp - 0x3d4]
call fcn.004354ff
mov dword [ebp - 0x3e0], 0x7a0ca4d2
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.0042c8e9
add esp, 0xc
push 1
lea eax, [ebp - 0x24]
push eax
push 0
lea eax, [ebp - 0x3d4]
push eax
push 0
push 0x424
call fcn.0041201c
add esp, 0x18
mov dword [ebp - 0x24], 0
jmp 0x40cbc9
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x40cbdf
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x41c], 0x62a04f77
jmp 0x40cbc2
push 2
lea ecx, [ebp - 0x308]
call fcn.004355ed
cmp dword [eax], 0x3606
jge 0x40cc00
mov dword [ebp - 0xd4], 1
jmp 0x40cc07
and dword [ebp - 0xd4], 0
cmp dword [ebp - 0xd4], 0x1738
je 0x40cf49
mov dword [ebp - 0x2c], 0x8d526d2e
mov dword [ebp - 0x378], 0xffffffff
mov dword [ebp - 0x374], 0xffffffff
mov dword [ebp - 0x370], 0xffffffff
mov dword [ebp - 0x36c], 0xffffffff
mov dword [ebp - 0x3b8], 8
mov dword [ebp - 0x2d4], 0xffffffff
mov dword [ebp - 0x2c], 2
jmp 0x40cc6a
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jl 0x40cf47
mov dword [ebp - 0x328], 0x747b
mov dword [ebp - 0x324], 0x747b
mov dword [ebp - 0x320], 0x747b
mov dword [ebp - 0x31c], 0x747b
mov dword [ebp - 0xdc], 0x3e763161
push 2
lea ecx, [ebp - 0x2f8]
call fcn.004354ff
mov dword [ebp - 0x7c], 0x20d7
mov dword [ebp - 0x6c], 0xe4c7ba3f
mov dword [ebp - 0x27c], 0x786ff529
lea eax, [ebp - 0x2f8]
push eax
push 1
push 0
push 0x2f18
push 0x2fca
push 0x5475
push 0x629
push 0x5f4b
push 0
push 1
lea eax, [ebp - 0x3f4]
push eax
call fcn.00409759
add esp, 0x2c
push 0x4087
push 0
push 0x74df
call fcn.0040a1d5
add esp, 0xc
mov eax, 0x6d20a2e7
test eax, eax
je 0x40ce12
push 0
lea ecx, [ebp - 0x2f8]
call fcn.004355ed
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jne 0x40cda6
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x328]
mov dword [ebp - 0xe4], eax
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0xe4]
mov dword [ebp + eax - 0x378], ecx
cmp dword [ebp - 0xe4], 0x4648a574
jl 0x40cd7f
mov dword [ebp - 0xec], 1
jmp 0x40cd86
and dword [ebp - 0xec], 0
push 0
lea ecx, [ebp - 0x2f8]
call fcn.004355ed
mov ecx, dword [ebp - 0xec]
add ecx, dword [eax]
jne 0x40cda6
and dword [ebp - 0xf4], 0
jmp 0x40cdb0
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], 0x8e60a2fc
jb 0x40cdc8
mov dword [ebp - 0xfc], 1
jmp 0x40cdcf
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x104], eax
push 0
lea ecx, [ebp - 0x2f8]
call fcn.004355ed
mov ecx, dword [ebp - 0x104]
mov dword [eax], ecx
mov eax, dword [ebp - 0x104]
add eax, 0x452e2cc7
cmp eax, 6
jl 0x40ce12
mov dword [ebp - 0x10c], 1
jmp 0x40ce19
and dword [ebp - 0x10c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x328]
cmp dword [ebp - 0x10c], eax
jne 0x40ce3a
mov dword [ebp - 0x114], 1
jmp 0x40ce41
and dword [ebp - 0x114], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x328]
cmp dword [ebp - 0x114], eax
jle 0x40ce6b
mov eax, 0x31b3
test eax, eax
je 0x40ce6b
mov dword [ebp - 0x11c], 1
jmp 0x40ce72
and dword [ebp - 0x11c], 0
cmp dword [ebp - 0x11c], 0x333db962
jle 0x40ce8a
mov dword [ebp - 0x124], 1
jmp 0x40ce91
and dword [ebp - 0x124], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x41c]
cmp dword [ebp - 0x124], eax
jge 0x40ceb8
cmp dword [ebp - 0x2d4], 0
jne 0x40ceb8
and dword [ebp - 0x12c], 0
jmp 0x40cec2
mov dword [ebp - 0x12c], 1
cmp dword [ebp - 0x12c], 0x691f3a4b
jne 0x40ceda
mov dword [ebp - 0x134], 1
jmp 0x40cee1
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x6c]
dec eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x134]
jle 0x40ceff
mov dword [ebp - 0x140], 1
jmp 0x40cf06
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
mov esi, dword [ebp - 0x7c]
imul esi, dword [ebp - 0x140]
push 0
lea ecx, [ebp - 0x308]
call fcn.004355ed
imul esi, dword [eax]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x308]
call fcn.004355ed
mov dword [eax], esi
lea ecx, [ebp - 0x2f8]
call fcn.004355d1
jmp 0x40cc63
jmp 0x40cf8b
mov dword [ebp - 0x284], 0x7c1f4b9
push 0x51bd
push 0
push 0x62a8
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x30c]
push eax
push 0x1995
push 0x70f6
push 1
push 0x433b
push 0x74ee
call fcn.004095ac
add esp, 0x28
lea ecx, [ebp - 0x3d4]
call fcn.004355d1
lea ecx, [ebp - 0x308]
call fcn.004355d1
push 4
push 0x1000
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x148]
add ecx, dword [eax + 0xc]
push ecx
push 0x147d
push 0x16c3
call fcn.004074f2
pop ecx
pop ecx
call eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28c]
add ecx, dword [eax + 0x14]
push ecx
push dword [ebp - 0x64]
call fcn.0040823c
add esp, 0xc
push 0
push 0x14a6
call fcn.00419b75
pop ecx
pop ecx
push 0x1a99
push 0x2fd0
push 0
push 1
push 0x3470
push 0x50f2
push 0x21c6
push 0x57c4
push 0x5fd1
push 0x3d2c
lea eax, [ebp - 0x64]
push eax
push 0x6788
push 0x76ea
push 0x4103
push 0x5070
lea eax, [ebp - 0x14]
push eax
call fcn.00408fd8
add esp, 0x40
jmp 0x40c523
jmp 0x40d28c
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x150]
mov ecx, dword [ecx]
cmp dword [eax], ecx
jge 0x40d162
mov dword [ebp - 0x68], 1
jmp 0x40d166
and dword [ebp - 0x68], 0
push 0
mov ecx, dword [ebp - 0x214]
call fcn.004355ed
mov ecx, dword [ebp - 0x68]
mov dword [eax], ecx
cmp dword [ebp - 0x68], 0x120dd93b
jl 0x40d18a
mov dword [ebp - 0x70], 1
jmp 0x40d18e
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x70]
mov dword [eax], ecx
cmp dword [ebp - 0x70], 0
je 0x40d1d2
mov eax, dword [ebp - 0x150]
mov eax, dword [eax]
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x21c]
mov eax, dword [eax]
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x224]
cmp dword [eax], 0
je 0x40d1d2
mov dword [ebp - 0x158], 1
jmp 0x40d1d9
and dword [ebp - 0x158], 0
cmp dword [ebp - 0x158], 0xd50fa8fa
je 0x40d1f1
mov dword [ebp - 0x160], 1
jmp 0x40d1f8
and dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax]
imul eax, dword [ebp - 0x160]
cmp eax, 1
jbe 0x40d218
mov dword [ebp - 0x168], 1
jmp 0x40d21f
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x234]
push dword [eax]
mov ecx, dword [ebp - 0x180]
call fcn.004355ed
mov eax, dword [eax]
mov ecx, dword [ebp - 0x168]
lea eax, [eax + ecx + 1]
mov ecx, dword [ebp - 0x170]
cmp eax, dword [ecx]
je 0x40d254
mov dword [ebp - 0x23c], 1
jmp 0x40d25b
and dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x188], eax
push 1
mov ecx, dword [ebp - 0x180]
call fcn.004355ed
mov ecx, dword [ebp - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x188]
mov dword [eax], ecx
pop esi
mov esp, ebp
pop ebp
ret