Function at 0x40c09f
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38c
push esi
movzx eax, byte [ebp + 0x34]
test eax, eax
je 0x40c291
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x1dc], eax
lea eax, [ebp + 0x40]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2d8], eax
lea eax, [ebp + 0x2c]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp + 0x54]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1b4]
movzx eax, byte [eax]
test eax, eax
je 0x40c230
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x2bc]
movzx eax, byte [eax]
test eax, eax
je 0x40c1cb
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], 0
jmp 0x40c1ac
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
cmp dword [eax], 4
jge 0x40c1c9
mov eax, dword [ebp - 0x4c]
push dword [eax]
mov ecx, dword [ebp - 0x1c4]
call fcn.0042f47d
and dword [eax], 0
jmp 0x40c1a1
jmp 0x40c22e
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x44]
mov dword [eax], 0
jmp 0x40c20e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
cmp dword [eax], 2
jge 0x40c22e
mov eax, dword [ebp - 0x44]
push dword [eax]
mov ecx, dword [ebp - 0x294]
call fcn.0042f47d
mov dword [eax], 0xeac8
jmp 0x40c203
jmp 0x40c28c
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1ec], eax
push dword [ebp - 0x1ec]
push dword [ebp - 0x2cc]
push dword [ebp - 0x1f4]
push dword [ebp - 0x2a4]
push 0x2642
push 0
push 0x60e1
call fcn.0041ec5d
add esp, 0x1c
jmp 0x40d7bd
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x2e8], eax
lea eax, [ebp + 0x28]
mov dword [ebp - 0x1fc], eax
lea eax, [ebp + 0x50]
mov dword [ebp - 0x2ac], eax
lea eax, [ebp + 0x58]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x1fc]
movzx eax, byte [eax]
test eax, eax
je 0x40c404
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x214]
movzx eax, byte [eax]
test eax, eax
je 0x40c3b0
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
jmp 0x40c391
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx], eax
mov eax, dword [ebp - 0x50]
cmp dword [eax], 4
jge 0x40c3ae
mov eax, dword [ebp - 0x50]
push dword [eax]
mov ecx, dword [ebp - 0x278]
call fcn.0042f47d
or dword [eax], 0xffffffff
jmp 0x40c386
jmp 0x40c3ff
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x23c], eax
push 2
mov ecx, dword [ebp - 0x23c]
call fcn.0042f47d
mov dword [eax], 7
mov eax, dword [ebp - 0x290]
mov dword [eax], 7
jmp 0x40d7bd
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2a8]
movzx eax, byte [eax]
test eax, eax
je 0x40c49c
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x264]
movzx eax, byte [eax]
test eax, eax
je 0x40c497
push 0x4250
push 0x3655
push 0x4aac
push 1
push 0
push 0x5b7c
push 0x721d
call fcn.00425932
add esp, 0x1c
jmp 0x40d7bd
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x7c], 0xfffffffa
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x10], 0
jmp 0x40c4de
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x40c4f4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x314], 0x363f9e92
jmp 0x40c4d7
mov dword [ebp - 0x10], 0
jmp 0x40c504
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jge 0x40c51a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x18c], 0xa88e00f6
jmp 0x40c4fd
mov dword [ebp - 0x10], 0
jmp 0x40c52a
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x40c540
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2e4], 0xfffffff7
jmp 0x40c523
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x314]
mov dword [ebp - 0x184], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x184]
mov dword [ebp + eax - 0x18c], ecx
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x184]
mov dword [ebp - 0x190], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x190]
mov dword [ebp + eax - 0x2e4], ecx
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x314]
cmp eax, dword [ebp - 0x190]
jge 0x40c5e4
push 8
pop eax
test eax, eax
je 0x40c5ca
push 4
pop eax
shl eax, 0
imul eax, dword [ebp + eax - 0x314], 0
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x2e4]
jg 0x40c5ca
mov dword [ebp - 0x70], 1
jmp 0x40c5ce
and dword [ebp - 0x70], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x70]
mov dword [ebp + eax - 0x2e4], ecx
cmp dword [ebp - 0x70], 0
je 0x40c5f4
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x18c], 0
jne 0x40c603
cmp dword [ebp - 0x7c], 0
jne 0x40c603
and dword [ebp - 0x90], 0
jmp 0x40c60d
mov dword [ebp - 0x90], 1
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x7c]
push 4
pop ecx
shl ecx, 0
cmp eax, dword [ebp + ecx - 0x314]
jne 0x40c631
mov dword [ebp - 0x188], 1
jmp 0x40c638
and dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x2c8], eax
push 0
call fcn.00424f19
pop ecx
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 4]
mov dword [ebp - 0x174], eax
push 0
call fcn.0041b918
pop ecx
mov dword [ebp - 0x348], 0xa0029bf3
push 3
lea ecx, [ebp - 0x338]
call fcn.0042f38f
push 0
push 0x467b
push 0x2616
push 0
push 0x132c
push 0x504e
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x368]
push eax
push 0x6210
push 0x160b
call fcn.00410322
add esp, 0x28
push 2
lea ecx, [ebp - 0x338]
call fcn.0042f47d
mov dword [eax], 1
mov byte [ebp - 0x31], 0
push 0
push 1
push 0x6efb
lea eax, [ebp - 0x31]
push eax
push 0
push 0
push 0x3d12
push 0x3de1
push 0x3263
push 0x7266
push 0x469b
call fcn.0041020b
add esp, 0x2c
lea ecx, [ebp - 0x338]
call fcn.0042f461
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x118], 0xa52b3395
mov dword [ebp - 0x1a8], 0xb058
mov dword [ebp - 0x1b8], 0x8b1aae87
mov dword [ebp - 0x1c0], 0xfffffffe
mov dword [ebp - 0x30], 0
jmp 0x40c761
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jg 0x40c831
push 4
lea ecx, [ebp - 0x308]
call fcn.0042f38f
mov dword [ebp - 0x1a4], 0xfffffffa
mov dword [ebp - 0x280], 0xe57c1f2
mov dword [ebp - 0x1b0], 0xfffa
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x388]
push eax
push 0
call fcn.004131d5
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x308]
push eax
push 0x6cf5
push 0
push 0x7cb5
call fcn.0041ec5d
add esp, 0x1c
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x1b8]
push eax
push 0
lea eax, [ebp - 0x118]
push eax
call fcn.0040f817
add esp, 0x28
lea ecx, [ebp - 0x308]
call fcn.0042f461
jmp 0x40c75a
push 0x15ba
push 0
lea eax, [ebp - 0x1c0]
push eax
push 0x3fb5
push 0
lea eax, [ebp - 0x30]
push eax
push 1
push 0xa09
push 0x745
call fcn.0040e189
add esp, 0x24
and dword [ebp - 0x84], 0
jmp 0x40c87d
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x24]
add eax, 0x28
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x84], eax
jge 0x40d7bd
mov dword [ebp - 0x1e0], 0xdeec
mov dword [ebp - 0x1d0], 0xfffffffb
mov dword [ebp - 0x1c8], 1
mov dword [ebp - 0x1d8], 0xddd9cd4
push 0
push 0x2fd3
push 1
push 0x6470
push 0
push 0x5397
push 1
call fcn.004110a4
add esp, 0x1c
lea eax, [ebp - 0x1c8]
push eax
push 0
push 0x59e6
push 0x283c
push 0x3d38
lea eax, [ebp - 0x1d0]
push eax
push 0x3485
lea eax, [ebp - 0x1d8]
push eax
push 0
push 1
lea eax, [ebp - 0x1e0]
push eax
push 1
call fcn.004166bf
add esp, 0x30
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
jne 0x40cf34
push 0x6b97
push 0
call fcn.004100f9
pop ecx
pop ecx
push dword [ebp - 0x1e8]
push 0x1b21
push 0x3ac4
push 0x785a
push 0
push dword [ebp - 0x24]
lea eax, [ebp - 0x74]
push eax
push 0
push 0
push 0x6569
push dword [ebp - 0x174]
call fcn.0040fb44
add esp, 0x2c
mov dword [ebp - 4], 0x3629aa81
mov dword [ebp - 8], 0x9f5fa318
mov dword [ebp - 0xc], 0xfffffff8
mov dword [ebp - 0x60], 0
jmp 0x40c98e
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 1
jge 0x40c9a1
mov eax, dword [ebp - 0x60]
mov dword [ebp + eax*4 - 0x14], 0xd9d7
jmp 0x40c987
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], eax
jg 0x40c9b5
mov dword [ebp - 0xa0], 1
jmp 0x40c9bc
and dword [ebp - 0xa0], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x14]
cmp dword [ebp - 0xa0], eax
jle 0x40c9da
mov dword [ebp - 0x158], 1
jmp 0x40c9e1
and dword [ebp - 0x158], 0
cmp dword [ebp - 0x158], 0
jne 0x40c9f9
cmp dword [ebp - 4], 0
jne 0x40c9f9
and dword [ebp - 0xa8], 0
jmp 0x40ca03
mov dword [ebp - 0xa8], 1
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xa8]
add eax, dword [ebp - 4]
cmp eax, dword [ebp - 4]
jl 0x40ca26
cmp dword [ebp - 8], 0
je 0x40ca26
mov dword [ebp - 0x120], 1
jmp 0x40ca2d
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x120], eax
jge 0x40cc35
mov dword [ebp - 0x40], 0xb6fb96f3
mov dword [ebp - 4], 0
jmp 0x40ca53
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jg 0x40cc30
push 3
lea ecx, [ebp - 0x19c]
call fcn.0042f38f
lea eax, [ebp - 0x19c]
push eax
push 0
lea eax, [ebp - 0x34c]
push eax
call fcn.0041872c
add esp, 0xc
cmp dword [ebp - 4], 0
je 0x40caa6
push 0
lea ecx, [ebp - 0x19c]
call fcn.0042f47d
cmp dword [eax], 0
je 0x40caa6
mov dword [ebp - 0xb0], 1
jmp 0x40caad
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 8]
cmp dword [ebp - 0xb0], eax
jle 0x40cac4
mov dword [ebp - 0x178], 1
jmp 0x40cacb
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x178]
jle 0x40cae2
mov dword [ebp - 0xb8], 1
jmp 0x40cae9
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0xc]
test eax, eax
je 0x40cb01
cmp dword [ebp - 0x40], 0
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x40], eax
jle 0x40cb15
mov dword [ebp - 0x128], 1
jmp 0x40cb1c
and dword [ebp - 0x128], 0
mov esi, dword [ebp - 8]
imul esi, dword [ebp - 0x128]
push 2
lea ecx, [ebp - 0x19c]
call fcn.0042f47d
cmp esi, dword [eax]
je 0x40cb43
mov dword [ebp - 0x1f0], 1
jmp 0x40cb4a
and dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x354], eax
push 0
lea ecx, [ebp - 0x19c]
call fcn.0042f47d
cmp dword [ebp - 0xc], 0
jne 0x40cb75
cmp dword [ebp - 0x40], 0
jne 0x40cb75
and dword [ebp - 0xc0], 0
jmp 0x40cb7f
mov dword [ebp - 0xc0], 1
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xc0], eax
jge 0x40cb96
mov dword [ebp - 0x1f8], 1
jmp 0x40cb9d
and dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x200]
mov dword [ebp + eax*4 - 0x14], ecx
cmp dword [ebp - 0x40], 0xfffffff7
jne 0x40cbc9
mov dword [ebp - 0x160], 1
jmp 0x40cbd0
and dword [ebp - 0x160], 0
cmp dword [ebp - 0x160], 0x4bf7a832
jne 0x40cbe8
mov dword [ebp - 0xc8], 1
jmp 0x40cbef
and dword [ebp - 0xc8], 0
cmp dword [ebp - 0xc8], 0xffffffff
jl 0x40cc04
mov dword [ebp - 0x130], 1
jmp 0x40cc0b
and dword [ebp - 0x130], 0
push 0
lea ecx, [ebp - 0x19c]
call fcn.0042f47d
mov ecx, dword [ebp - 0x130]
mov dword [eax], ecx
lea ecx, [ebp - 0x19c]
call fcn.0042f461
jmp 0x40ca4c
jmp 0x40cf0c
mov dword [ebp - 0x210], 0
mov dword [ebp - 0xc], 0
jmp 0x40cc4f
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jg 0x40cf0c
mov dword [ebp - 0x78], 5
mov dword [ebp - 4], 0
jmp 0x40cc70
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x40cc9b
mov dword [ebp - 8], 0
jmp 0x40cc86
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jge 0x40cc99
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x14], 1
jmp 0x40cc7f
jmp 0x40cc69
mov dword [ebp - 8], 0
jmp 0x40ccab
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jg 0x40cf07
mov dword [ebp - 0xd0], 0x20295d0c
mov dword [ebp - 0xf0], 0xe3044b13
mov dword [ebp - 4], 0
jmp 0x40ccd9
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jg 0x40cf02
mov dword [ebp - 0x208], 0xc3bc5f26
push 2
lea ecx, [ebp - 0x344]
call fcn.0042f38f
push 2
lea ecx, [ebp - 0x32c]
call fcn.0042f38f
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x344]
push eax
push 0
push 0x1836
call fcn.00413720
add esp, 0x10
mov dword [ebp - 0x54], 0
jmp 0x40cd31
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 2
jge 0x40cd4a
push dword [ebp - 0x54]
lea ecx, [ebp - 0x32c]
call fcn.0042f47d
and dword [eax], 0
jmp 0x40cd2a
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp + ecx*4 - 0x14], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 0x208]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0xd0], eax
jge 0x40cda2
mov dword [ebp - 0x88], 1
jmp 0x40cda9
and dword [ebp - 0x88], 0
cmp dword [ebp - 0x88], 7
jle 0x40cdbe
mov dword [ebp - 0xd8], 1
jmp 0x40cdc5
and dword [ebp - 0xd8], 0
cmp dword [ebp - 0xd8], 0x5065
jg 0x40cddd
mov dword [ebp - 0x138], 1
jmp 0x40cde4
and dword [ebp - 0x138], 0
cmp dword [ebp - 0x138], 0x131ac691
jle 0x40cdfc
mov dword [ebp - 0xe0], 1
jmp 0x40ce03
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0xe0], eax
jne 0x40ce1a
mov dword [ebp - 0x168], 1
jmp 0x40ce21
and dword [ebp - 0x168], 0
cmp dword [ebp - 0x168], 0xfffffffd
jge 0x40ce36
mov dword [ebp - 0xe8], 1
jmp 0x40ce3d
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x14]
cmp eax, dword [ebp - 0xe8]
jle 0x40ce58
mov dword [ebp - 0x140], 1
jmp 0x40ce5f
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xf0], eax
mov esi, dword [ebp - 0xf0]
push 1
lea ecx, [ebp - 0x344]
call fcn.0042f47d
cmp esi, dword [eax]
jle 0x40ce8e
mov dword [ebp - 0x180], 1
jmp 0x40ce95
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x210]
cmp dword [ebp - 0x180], eax
jne 0x40ceaf
mov dword [ebp - 0xf8], 1
jmp 0x40ceb6
and dword [ebp - 0xf8], 0
cmp dword [ebp - 0xf8], 3
ja 0x40cecb
mov dword [ebp - 0x148], 1
jmp 0x40ced2
and dword [ebp - 0x148], 0
push 1
lea ecx, [ebp - 0x32c]
call fcn.0042f47d
mov ecx, dword [ebp - 0x148]
mov dword [eax], ecx
lea ecx, [ebp - 0x32c]
call fcn.0042f461
lea ecx, [ebp - 0x344]
call fcn.0042f461
jmp 0x40ccd2
jmp 0x40cca4
jmp 0x40cc48
mov dword [ebp - 0xc], 0
jmp 0x40cf1c
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jge 0x40cf2f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x14], 0x4477
jmp 0x40cf15
jmp 0x40c867
mov dword [ebp - 0x18], 0xa6ff609
mov dword [ebp - 0x3c], 0x90ce96f8
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x124], 0xaeda1e1c
mov dword [ebp - 0x80], 0x71515025
mov dword [ebp - 0x28], 0
jmp 0x40cf6a
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x40cf7d
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x20], 0xfffffffb
jmp 0x40cf63
mov dword [ebp - 0x28], 0
jmp 0x40cf8d
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x40cfa0
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x5c], 1
jmp 0x40cf86
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x20], 0
je 0x40d081
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x20]
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x18], 0x4392
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x20]
cmp dword [ebp - 0x18], eax
je 0x40cfe3
mov dword [ebp - 0x100], 1
jmp 0x40cfea
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x3c], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x20], 0xfffc
jbe 0x40d00f
mov dword [ebp - 0x170], 1
jmp 0x40d016
and dword [ebp - 0x170], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x20]
imul eax, dword [ebp - 0x170]
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x20]
jne 0x40d03f
mov dword [ebp - 0x108], 1
jmp 0x40d046
and dword [ebp - 0x108], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp + eax - 0x20]
mov dword [ebp - 0x150], ecx
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x150]
mov dword [ebp + eax - 0x5c], ecx
cmp dword [ebp - 0x150], 0
je 0x40d081
mov dword [ebp - 0x218], 1
jmp 0x40d088
and dword [ebp - 0x218], 0
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x20]
cmp dword [ebp + eax - 0x5c], ecx
jge 0x40d0aa
mov dword [ebp - 0x110], 1
jmp 0x40d0b1
and dword [ebp - 0x110], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x20]
push 4
pop ecx
imul ecx, ecx, 0
mov edx, dword [ebp - 0x110]
sub edx, dword [ebp + ecx - 0x20]
add eax, edx
cmp eax, 1
jg 0x40d0de
mov dword [ebp - 0x8c], 1
jmp 0x40d0e5
and dword [ebp - 0x8c], 0
imul eax, dword [ebp - 0x8c], 0xffff
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xfffffffc
je 0x40d104
mov dword [ebp - 0x94], 1
jmp 0x40d10b
and dword [ebp - 0x94], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x20]
cmp dword [ebp - 0x94], eax
jle 0x40d136
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x20], 0
je 0x40d136
mov dword [ebp - 0x9c], 1
jmp 0x40d13d
and dword [ebp - 0x9c], 0
cmp dword [ebp - 0x9c], 0x5cab4306
jge 0x40d155
mov dword [ebp - 0xa4], 1
jmp 0x40d15c
and dword [ebp - 0xa4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x20]
cmp dword [ebp - 0xa4], eax
jl 0x40d17a
mov dword [ebp - 0xac], 1
jmp 0x40d181
and dword [ebp - 0xac], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x20]
cmp dword [ebp - 0xac], eax
jne 0x40d19f
mov dword [ebp - 0xb4], 1
jmp 0x40d1a6
and dword [ebp - 0xb4], 0
cmp dword [ebp - 0xb4], 0x4b38b4b7
jne 0x40d1be
mov dword [ebp - 0xbc], 1
jmp 0x40d1c5
and dword [ebp - 0xbc], 0
cmp dword [ebp - 0xbc], 0x457102d1
jg 0x40d1dd
mov dword [ebp - 0xc4], 1
jmp 0x40d1e4
and dword [ebp - 0xc4], 0
cmp dword [ebp - 0xc4], 0x416c28cb
jge 0x40d44d
cmp dword [ebp - 0x18], 0
je 0x40d44d
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x6c], 0xfffffffb
mov dword [ebp - 0x228], 0xa9823142
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x5c], 0
jne 0x40d23a
imul eax, dword [ebp - 0x124], 0xbba2
test eax, eax
jne 0x40d23a
and dword [ebp - 0xcc], 0
jmp 0x40d244
mov dword [ebp - 0xcc], 1
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x40d39a
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x37c], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x38]
cmp dword [ebp + eax - 0x20], ecx
jle 0x40d27b
mov dword [ebp - 0x220], 1
jmp 0x40d282
and dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x384], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x5c]
push 4
pop ecx
shl ecx, 0
add eax, dword [ebp + ecx - 0x5c]
je 0x40d2a7
cmp dword [ebp - 0x38], 0
jne 0x40d2b4
xor eax, eax
jne 0x40d2b4
and dword [ebp - 0xd4], 0
jmp 0x40d2be
mov dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0xd4], eax
je 0x40d2d5
mov dword [ebp - 0xdc], 1
jmp 0x40d2dc
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xe4], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xe4]
mov dword [ebp + eax - 0x5c], ecx
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x38]
cmp eax, 0x6bd7a89a
jne 0x40d33b
mov dword [ebp - 0xec], 1
jmp 0x40d342
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0xec], eax
je 0x40d359
mov dword [ebp - 0xf4], 1
jmp 0x40d360
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0xf4], eax
jle 0x40d377
mov dword [ebp - 0xfc], 1
jmp 0x40d37e
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xfc]
sub eax, dword [ebp - 0x18]
cmp eax, 0xa73bc0e3
je 0x40d39a
mov dword [ebp - 0x104], 1
jmp 0x40d3a1
and dword [ebp - 0x104], 0
cmp dword [ebp - 0x104], 0xfffffff6
jne 0x40d3b6
mov dword [ebp - 0x10c], 1
jmp 0x40d3bd
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x18], 0xaa0e
jg 0x40d3db
mov dword [ebp - 0x114], 1
jmp 0x40d3e2
and dword [ebp - 0x114], 0
cmp dword [ebp - 0x114], 0xffffffff
jl 0x40d3fa
cmp dword [ebp - 0x18], 0
jne 0x40d3fa
and dword [ebp - 0x11c], 0
jmp 0x40d404
mov dword [ebp - 0x11c], 1
cmp dword [ebp - 0x11c], 0
jne 0x40d41f
cmp dword [ebp - 0x18], 0
je 0x40d41f
mov dword [ebp - 0x12c], 1
jmp 0x40d426
and dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x124]
cmp dword [ebp - 0x12c], eax
jl 0x40d43f
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x20], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x228], eax
jmp 0x40d5e4
mov dword [ebp - 0x230], 0xffffffff
mov dword [ebp - 0x238], 0xfffffffa
mov dword [ebp - 0x240], 4
mov dword [ebp - 0x68], 0xb86155bf
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x5c]
push 4
pop ecx
shl ecx, 0
add eax, dword [ebp + ecx - 0x5c]
jne 0x40d49e
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x20], 0
jne 0x40d49e
and dword [ebp - 0x134], 0
jmp 0x40d4a8
mov dword [ebp - 0x134], 1
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x134]
jl 0x40d4c8
cmp dword [ebp - 0x80], 0
je 0x40d4c8
mov dword [ebp - 0x13c], 1
jmp 0x40d4cf
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x13c], eax
jge 0x40d4e7
xor eax, eax
jne 0x40d4e7
and dword [ebp - 0x144], 0
jmp 0x40d4f1
mov dword [ebp - 0x144], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x20]
cmp eax, dword [ebp - 0x144]
jne 0x40d50f
mov dword [ebp - 0x14c], 1
jmp 0x40d516
and dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x238]
cmp dword [ebp - 0x14c], eax
jle 0x40d530
mov dword [ebp - 0x154], 1
jmp 0x40d537
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x80]
imul eax, dword [ebp - 0x154]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x358], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x20]
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x68], 0x1409
jne 0x40d578
cmp dword [ebp - 0x3c], 0
jne 0x40d578
and dword [ebp - 0x15c], 0
jmp 0x40d582
mov dword [ebp - 0x15c], 1
cmp dword [ebp - 0x15c], 0xfffffff6
jl 0x40d597
mov dword [ebp - 0x164], 1
jmp 0x40d59e
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x164]
sub eax, 0xffff
cmp eax, 0x6847a7a0
jne 0x40d5bc
mov dword [ebp - 0x16c], 1
jmp 0x40d5c3
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push 4
pop ecx
shl ecx, 0
imul eax, dword [ebp + ecx - 0x5c]
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x5c], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x24]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x174]
add ecx, dword [eax + 0xc]
push ecx
push 0x62d5
push 0x5d31
call fcn.00407216
pop ecx
pop ecx
call eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x24]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x248]
add ecx, dword [eax + 0x14]
push ecx
push dword [ebp - 0x74]
call fcn.004078b8
add esp, 0xc
push 1
lea ecx, [ebp - 0x2fc]
call fcn.0042f38f
mov dword [ebp - 0x2c], 0xfffffffe
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x2fc]
push eax
push 0
call fcn.0040dbdc
add esp, 0xc
mov dword [ebp - 0x2c], 0
jmp 0x40d66e
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jl 0x40d779
mov dword [ebp - 0x17c], 0xe26c12a7
mov dword [ebp - 0x258], 1
mov dword [ebp - 0x268], 0x4f6b903c
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x2fc]
call fcn.0042f47d
mov esi, eax
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x2fc]
call fcn.0042f47d
mov ecx, dword [esi]
mov dword [eax], ecx
cmp dword [ebp - 0x2c], 0x11c15747
jne 0x40d76a
mov dword [ebp - 0x250], 0xd76715f0
push 1
lea ecx, [ebp - 0x320]
call fcn.0042f38f
mov dword [ebp - 0x260], 0xfcc9
push 0x2e89
push 0
lea eax, [ebp - 0x378]
push eax
push 0x6c53
push 0
push 0x1137
lea eax, [ebp - 0x320]
push eax
push 0x3e1
call fcn.00421692
add esp, 0x20
push 0x8e8
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x2fc]
push eax
push 0x6286
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x17c]
push eax
push 0
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.00410916
add esp, 0x2c
lea ecx, [ebp - 0x320]
call fcn.0042f461
jmp 0x40d774
mov dword [ebp - 0x17c], 0x5bb31cf6
jmp 0x40d667
lea ecx, [ebp - 0x2fc]
call fcn.0042f461
push 0x310f
push 0x13a5
push 0x2655
lea eax, [ebp - 0x74]
push eax
push 0
push 0x4770
push 0x302a
push 1
push 0
lea eax, [ebp - 0x24]
push eax
push 0x288a
call fcn.0040fb44
add esp, 0x2c
jmp 0x40c867
pop esi
mov esp, ebp
pop ebp
ret