Function at 0x40c04d
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
push 0x5a8
push 8
push dword [ebp - 0x88]
call dword [ebp - 0x78]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jne 0x40c071
jmp 0x40e1c1
mov eax, dword [ebp - 0xb4]
or dword [eax], 0xffffffff
mov eax, dword [ebp - 0xb4]
or dword [eax + 4], 0xffffffff
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x44], 0x104
call fcn.0040f46a
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x40], 0
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x44], 0
cmp dword [ebp - 0x9c], 0
je 0x40c12d
mov eax, dword [ebp - 0x9c]
movsx eax, byte [eax]
cmp eax, 0x2e
jne 0x40c0f2
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x40]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x44], 0
jmp 0x40c113
mov eax, dword [ebp - 0x9c]
movsx eax, byte [eax]
cmp eax, 0x24
jne 0x40c113
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x44]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x9c]
movsx eax, byte [eax]
mov ecx, dword [ebp - 0x9c]
inc ecx
mov dword [ebp - 0x9c], ecx
test eax, eax
jne 0x40c0c5
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x40], 0
jbe 0x40c14a
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x44], 2
jb 0x40c14a
jmp 0x40e1c1
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x18]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x1c], eax
push 0x80
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x1c]
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0xffffffff
jne 0x40c211
mov eax, dword [ebp - 0x30]
and eax, 0x40000000
test eax, eax
jne 0x40c1be
jmp 0x40e1c1
mov eax, dword [ebp - 0x30]
and eax, 2
test eax, eax
je 0x40c1cd
jmp 0x40e1c1
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x4c], 1
push 0
push 0x80
push 3
push 0
push 3
push 0x80000000
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0xffffffff
jne 0x40c211
jmp 0x40e1c1
push 2
push 0
push 0
mov eax, dword [ebp - 0xb4]
push dword [eax]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x14], 0xffffffff
jne 0x40c23f
jmp 0x40e1c1
push 0
push 0
push 0
mov eax, dword [ebp - 0xb4]
push dword [eax]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x10]
cmp eax, 0xffffffff
jne 0x40c25d
jmp 0x40e1c1
push 0
push 0
push 0
push 2
push 0
mov eax, dword [ebp - 0xb4]
push dword [eax]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x38]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 8], 0
jne 0x40c28f
jmp 0x40e1c1
push 0
push 0
push 0
push 4
mov eax, dword [ebp - 0xb4]
push dword [eax + 8]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0xc], 0
jne 0x40c2c0
jmp 0x40e1c1
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x14], 0x40
jae 0x40c2d1
jmp 0x40e1c1
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x40c2f5
jmp 0x40e1c1
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x3c]
add eax, 0xf8
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x14], eax
jae 0x40c313
jmp 0x40e1c1
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x98]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
cmp dword [eax], 0x4550
je 0x40c338
jmp 0x40e1c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x16]
and eax, 0x100
test eax, eax
jne 0x40c34d
jmp 0x40e1c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x16]
and eax, 2
test eax, eax
jne 0x40c360
jmp 0x40e1c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x18]
cmp eax, 0x10b
je 0x40c373
jmp 0x40e1c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x5e]
and eax, 0x800
test eax, eax
je 0x40c388
jmp 0x40e1c1
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0x28], 0
jne 0x40c396
jmp 0x40e1bf
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x14]
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx + 0x3c]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 6]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x5c]
add ecx, eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x14], ecx
jae 0x40c3cc
jmp 0x40e1bd
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x18], 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x2c], ecx
mov dword [ebp - 0x44], 8
mov eax, 0x406b6b
call fcn.0040f42d
mov dword [ebp - 0x9c], eax
mov eax, 0x406b7d
call fcn.0040f42d
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40c446
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 6]
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x48], eax
jae 0x40c5db
mov eax, dword [ebp - 0x30]
and eax, 0x40000000
test eax, eax
je 0x40c4ab
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov dword [ebp - 0x54], ecx
call fcn.0040f6ba
cmp dword [ebp - 0x10], 0
je 0x40c495
jmp 0x40e1bb
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x58], eax
call fcn.0040f6ba
cmp dword [ebp - 0x10], 0
je 0x40c4ab
jmp 0x40e1b9
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x28]
cmp ecx, dword [edx + eax + 0xc]
jae 0x40c4da
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xd0], eax
jmp 0x40c4f3
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + eax + 0xc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x2c]
cmp ecx, dword [edx + eax + 0x14]
jae 0x40c531
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xd4], eax
jmp 0x40c54a
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + eax + 0x14]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x48]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + eax + 0x14]
mov edx, dword [ebp - 0x50]
add eax, dword [edx + ecx + 0x10]
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x18], eax
jbe 0x40c59b
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xd8], eax
jmp 0x40c5c7
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x48]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + eax + 0x14]
mov edx, dword [ebp - 0x50]
add eax, dword [edx + ecx + 0x10]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x18], ecx
jmp 0x40c433
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x5c], eax
call fcn.0040f3b7
cmp dword [ebp - 0x5c], 0
je 0x40c6fd
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x57c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0xac]
xor edx, edx
push 0x1c
pop ecx
div ecx
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0x5c]
add eax, 0x1c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x48]
dec ecx
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x48], ecx
test eax, eax
jbe 0x40c6fd
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [eax + 0x14]
jbe 0x40c667
jmp 0x40e1b7
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x57c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x57c]
mov eax, dword [eax + 0x18]
add eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x18], eax
jbe 0x40c6a1
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xdc], eax
jmp 0x40c6c5
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x57c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x57c]
mov eax, dword [eax + 0x18]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x57c]
add eax, 0x1c
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x57c], eax
mov eax, dword [ebp - 0x5c]
add eax, 0x1c
mov dword [ebp - 0x5c], eax
jmp 0x40c630
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [eax + 0x18]
xor edx, edx
div dword [ecx + 0x3c]
test edx, edx
je 0x40c734
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [eax + 0x18]
xor edx, edx
div dword [ecx + 0x3c]
inc eax
mov ecx, dword [ebp - 0x6c]
imul eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x30]
and eax, 0x40000000
test eax, eax
je 0x40c759
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x14]
cmp eax, dword [ecx + 0x18]
jbe 0x40c759
jmp 0x40e1b5
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x6c]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov ecx, dword [ebp - 0x6c]
movzx ecx, word [ecx + 6]
inc ecx
imul ecx, ecx, 0x28
add eax, ecx
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x34]
mov dword [eax + 0x38], ecx
mov eax, dword [ebp - 0xb4]
and byte [eax + 0x4d], 0
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0xd4], 0
jbe 0x40c806
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0xd0]
cmp eax, dword [ecx + 0x28]
jae 0x40c806
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0xd0]
mov ecx, dword [ebp - 0x6c]
add eax, dword [ecx + 0xd4]
mov ecx, dword [ebp - 0xb4]
cmp eax, dword [ecx + 0x14]
jb 0x40c7e1
jmp 0x40e1b3
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x38]
mov ecx, dword [ebp - 0x6c]
add eax, dword [ecx + 0xd4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x4d], 1
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x54]
jbe 0x40c854
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [eax + 0x38]
xor edx, edx
div dword [ecx + 0x3c]
inc eax
mov ecx, dword [ebp - 0x6c]
imul eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x28]
jbe 0x40c852
jmp 0x40e1b1
jmp 0x40c863
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 0x54]
mov dword [eax + 0x38], ecx
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x38]
push 8
push dword [ebp - 0x88]
call dword [ebp - 0x78]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x10], 0
jne 0x40c891
jmp 0x40e1af
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x34]
sub eax, 0x28
mov dword [ebp - 0x44], eax
call fcn.0040f661
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x98]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x38]
mov dword [eax + 0x54], ecx
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x4d]
test eax, eax
je 0x40c94d
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0xb4]
add eax, dword [ecx + 0x34]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x6c]
add eax, dword [ecx + 0xd0]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0xd4]
mov dword [ebp - 0x44], eax
call fcn.0040f661
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x34]
mov dword [eax + 0xd0], ecx
jmp 0x40c961
mov eax, dword [ebp - 0x6c]
and dword [eax + 0xd0], 0
mov eax, dword [ebp - 0x6c]
and dword [eax + 0xd4], 0
mov eax, dword [ebp - 0x6c]
and dword [eax + 0xa8], 0
mov eax, dword [ebp - 0x6c]
and dword [eax + 0xac], 0
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x14]
mov ecx, dword [ebp - 0x6c]
lea eax, [ecx + eax + 0x18]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x578], eax
mov eax, dword [ebp - 0x6c]
mov ax, word [eax + 6]
add ax, 1
mov ecx, dword [ebp - 0x6c]
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 6]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x20]
shl eax, 3
push eax
push 8
push dword [ebp - 0x88]
call dword [ebp - 0x78]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x574], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x574], 0
jne 0x40c9e9
jmp 0x40e1ad
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x50]
add eax, dword [ecx + 8]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40ca1d
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x20]
dec eax
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x48], eax
jae 0x40cc8b
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x48]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + eax + 0x14]
mov edx, dword [ebp - 0x50]
add eax, dword [edx + ecx + 0x10]
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x14], eax
jae 0x40ca6c
jmp 0x40e1ab
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x48]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + eax + 0xc]
mov edx, dword [ebp - 0x50]
add eax, dword [edx + ecx + 8]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x5c]
xor edx, edx
div dword [ecx + 0x38]
test edx, edx
je 0x40caba
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x5c]
xor edx, edx
div dword [ecx + 0x38]
inc eax
mov ecx, dword [ebp - 0x6c]
imul eax, dword [ecx + 0x38]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x24]
cmp eax, dword [ebp - 0x5c]
jbe 0x40cad9
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xe0], eax
jmp 0x40cae2
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x48]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov esi, dword [ebp - 0x50]
mov eax, dword [esi + eax + 0x10]
mov dword [edx + ecx*8 + 4], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov esi, dword [ebp - 0x6c]
mov eax, dword [ecx + eax*8 + 4]
xor edx, edx
div dword [esi + 0x3c]
test edx, edx
je 0x40cb84
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov esi, dword [ebp - 0x6c]
mov eax, dword [ecx + eax*8 + 4]
xor edx, edx
div dword [esi + 0x3c]
inc eax
mov ecx, dword [ebp - 0x6c]
imul eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x48]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov dword [edx + ecx*8 + 4], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
push dword [ecx + eax*8 + 4]
push 8
push dword [ebp - 0x88]
call dword [ebp - 0x78]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x48]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov dword [edx + ecx*8], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
cmp dword [ecx + eax*8], 0
jne 0x40cbe0
jmp 0x40e1a9
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ebp - 0x50]
add ecx, dword [edx + eax + 0x14]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + eax + 0x10]
mov dword [ebp - 0x44], eax
call fcn.0040f661
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [eax + 0x598]
jle 0x40cc86
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x598], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov edx, dword [ebp - 0xb4]
mov eax, dword [ecx + eax*8]
mov dword [edx + 0x58c], eax
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x5a0], 0
jmp 0x40ca0a
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x20]
dec eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov edx, dword [ebp - 0x38]
mov dword [ecx + eax*8 + 4], edx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov esi, dword [ebp - 0x6c]
mov eax, dword [ecx + eax*8 + 4]
xor edx, edx
div dword [esi + 0x3c]
test edx, edx
je 0x40cd21
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov esi, dword [ebp - 0x6c]
mov eax, dword [ecx + eax*8 + 4]
xor edx, edx
div dword [esi + 0x3c]
inc eax
mov ecx, dword [ebp - 0x6c]
imul eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov dword [edx + ecx*8 + 4], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
push dword [ecx + eax*8 + 4]
push 8
push dword [ebp - 0x88]
call dword [ebp - 0x78]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov dword [edx + ecx*8], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
cmp dword [ecx + eax*8], 0
jne 0x40cd7d
jmp 0x40e1a7
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0x590], ecx
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x5a4], 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x59c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x58], eax
call fcn.0040f661
mov dword [ebp - 0x44], 8
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
add eax, dword [ecx + 0x578]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x578]
mov dword [ebp - 0x58], eax
call fcn.0040f661
mov dword [ebp - 0x44], 8
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x578]
mov dword [ebp - 0x54], eax
mov eax, 0x406b6b
call fcn.0040f42d
mov dword [ebp - 0x58], eax
call fcn.0040f661
mov eax, 0x406b4b
call fcn.0040f42d
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x578]
mov dword [ecx + eax + 0x24], 0x60000020
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x578]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x24]
mov dword [ecx + eax + 0xc], edx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x578]
mov edx, dword [ebp - 0x38]
mov dword [ecx + eax + 8], edx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x30]
imul edx, edx, 0x28
mov esi, dword [ebp - 0xb4]
mov esi, dword [esi + 0x578]
mov eax, dword [ecx + eax*8 + 4]
mov dword [esi + edx + 0x10], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x578]
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx + 0x1c]
add edx, dword [ecx + eax + 0x10]
mov eax, dword [ebp - 0x6c]
mov dword [eax + 0x1c], edx
mov eax, 0x406b47
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x30]
and eax, 0x40000000
test eax, eax
je 0x40cf29
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xe4], eax
jmp 0x40cf30
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0xe4]
mov dword [eax + ecx], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x24]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0x30]
and eax, 0x40000000
test eax, eax
je 0x40cfb9
mov eax, 0x406b4b
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [eax + ecx]
inc eax
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov ecx, dword [edx + ecx*8]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + edx], eax
mov eax, 0x406b4f
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x24]
mov dword [eax + ecx], edx
mov eax, 0x406b53
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x16]
and eax, 0x2000
neg eax
sbb eax, eax
neg eax
mov ecx, dword [ebp - 0x30]
and ecx, 0x40000000
neg ecx
sbb ecx, ecx
and ecx, 0xc0000000
add ecx, 0x40000000
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov ecx, dword [edx + ecx*8]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + edx], eax
mov eax, 0x406b57
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x5c]
and dword [eax + ecx], 0
mov eax, 0x406b5b
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x5c]
and dword [eax + ecx], 0
mov eax, 0x406b5f
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x5c]
and dword [eax + ecx], 0
mov eax, 0x406b63
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x5c]
and dword [eax + ecx], 0
mov eax, 0x406b67
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x5c]
and dword [eax + ecx], 0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x5c], eax
call fcn.0040f3b7
cmp dword [ebp - 0x5c], 0
jne 0x40d13d
jmp 0x40e1a5
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xa0]
sub eax, 0x14
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x40]
add eax, 0x14
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xa0]
add eax, 0x14
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x14]
jbe 0x40d1a7
jmp 0x40e1a3
mov eax, dword [ebp - 0xa0]
cmp dword [eax + 0xc], 0
jne 0x40d1b8
jmp 0x40d582
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x3c], 0
jne 0x40d1e7
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x3c], 0
jne 0x40d1f8
jmp 0x40d16a
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x5c], eax
call fcn.0040f3b7
cmp dword [ebp - 0x5c], 0
jne 0x40d214
jmp 0x40e1a1
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xb4]
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x2c], eax
call fcn.0040f5f8
cmp dword [ebp - 0x10], 0
jne 0x40d254
jmp 0x40e19f
mov eax, 0x406baf
call fcn.0040f42d
mov dword [ebp - 0x74], eax
call fcn.0040f4c6
cmp dword [ebp - 0x10], 0
jne 0x40d271
jmp 0x40d16a
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x4d], 1
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x5c], eax
call fcn.0040f3b7
cmp dword [ebp - 0x5c], 0
jne 0x40d297
jmp 0x40e19d
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 0x44], ecx
mov eax, dword [ebp - 0x68]
sub eax, 4
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xb4]
or dword [eax + 0x570], 0xffffffff
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x44]
add eax, 4
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x14]
cmp eax, dword [ecx + 0x44]
jae 0x40d2f6
jmp 0x40e19b
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x570]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x570], eax
mov eax, dword [ebp - 0x68]
add eax, 4
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
cmp dword [eax], 0
jne 0x40d325
jmp 0x40d57d
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
and eax, 0x80000000
test eax, eax
je 0x40d335
jmp 0x40d2c8
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
call fcn.0040f3b7
cmp dword [ebp - 0x5c], 0
jne 0x40d34d
jmp 0x40e199
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x5c]
add eax, 4
mov ecx, dword [ebp - 0xb4]
cmp eax, dword [ecx + 0x14]
jbe 0x40d375
jmp 0x40e197
mov eax, dword [ebp - 0x84]
inc eax
inc eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xb4]
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x2c], eax
call fcn.0040f5f8
cmp dword [ebp - 0x10], 0
jne 0x40d3b1
jmp 0x40e195
mov eax, 0x406bd6
call fcn.0040f42d
mov dword [ebp - 0x74], eax
call fcn.0040f596
cmp dword [ebp - 0x10], 0
je 0x40d40c
mov eax, 0x406b57
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x570]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov ecx, dword [edx + ecx*8]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + edx], eax
mov eax, 0x406be5
call fcn.0040f42d
mov dword [ebp - 0x74], eax
call fcn.0040f596
cmp dword [ebp - 0x10], 0
je 0x40d467
mov eax, 0x406b5b
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x570]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov ecx, dword [edx + ecx*8]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + edx], eax
mov eax, 0x406bf6
call fcn.0040f42d
mov dword [ebp - 0x74], eax
call fcn.0040f596
cmp dword [ebp - 0x10], 0
je 0x40d4c2
mov eax, 0x406b5f
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x570]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov ecx, dword [edx + ecx*8]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + edx], eax
mov eax, 0x406c0f
call fcn.0040f42d
mov dword [ebp - 0x74], eax
call fcn.0040f596
cmp dword [ebp - 0x10], 0
je 0x40d51d
mov eax, 0x406b63
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x570]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov ecx, dword [edx + ecx*8]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + edx], eax
mov eax, 0x406c20
call fcn.0040f42d
mov dword [ebp - 0x74], eax
call fcn.0040f596
cmp dword [ebp - 0x10], 0
je 0x40d578
mov eax, 0x406b67
sub eax, 0x40128c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x570]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x574]
mov ecx, dword [edx + ecx*8]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + edx], eax
jmp 0x40d2c8
jmp 0x40d16a
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x4d]
test eax, eax
jne 0x40d595
jmp 0x40e193
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0xc], 0
je 0x40d5ba
mov eax, dword [ebp - 0xb4]
push dword [eax + 0xc]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x40]
mov eax, dword [ebp - 0xb4]
and dword [eax + 0xc], 0
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 8], 0
je 0x40d5de
mov eax, dword [ebp - 0xb4]
push dword [eax + 8]
mov eax, dword [ebp - 0x40]
call dword [eax]
mov eax, dword [ebp - 0xb4]
and dword [eax + 8], 0
mov eax, dword [ebp - 0xb4]
and byte [eax + 0x4d], 0
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0x58], 0
je 0x40d602
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x4d], 1
mov eax, dword [ebp - 0x6c]
and dword [eax + 0x58], 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 0x54]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x28]
mov dword [eax + 0x50], ecx
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40d63f
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ecx + 0x20]
jae 0x40d6ff
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x578]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x40]
mov dword [ecx + eax + 0x14], edx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x40]
add edx, dword [ecx + eax*8 + 4]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x578]
mov eax, dword [ecx + eax + 8]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x5c]
xor edx, edx
div dword [ecx + 0x38]
test edx, edx
je 0x40d6eb
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x5c]
xor edx, edx
div dword [ecx + 0x38]
inc eax
mov ecx, dword [ebp - 0x6c]
imul eax, dword [ecx + 0x38]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x50]
add eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx + 0x50], eax
jmp 0x40d62c
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 0x54]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40d72d
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ecx + 0x20]
jae 0x40d76e
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x14]
add edx, dword [ecx + eax*8 + 4]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x14], edx
jmp 0x40d71a
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x4c]
test eax, eax
je 0x40dd10
mov dword [ebp - 0x44], 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x258
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov eax, dword [ebp - 0xb4]
add eax, 0x153
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
mov dword [ebp - 0x74], eax
call fcn.0040f46a
call fcn.0040f436
cmp dword [ebp - 0x44], 0x101
jl 0x40d7de
jmp 0x40e191
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
mov byte [eax + 0x153], 0x24
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
mov byte [eax + 0x153], 0x24
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
mov byte [eax + 0x153], 0x24
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
and byte [eax + 0x153], 0
mov eax, dword [ebp - 0x44]
sub eax, 3
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
mov byte [eax + 0x258], 0x24
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
mov byte [eax + 0x258], 0x24
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
mov byte [eax + 0x258], 0x31
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
and byte [eax + 0x258], 0
mov eax, dword [ebp - 0xb4]
add eax, 0x35d
push eax
push 0x104
mov eax, dword [ebp - 0x40]
call dword [eax + 0x2c]
mov eax, dword [ebp - 0xb4]
add eax, 0x35d
mov dword [ebp - 0x9c], eax
call fcn.0040f436
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
movsx eax, byte [eax + 0x35c]
cmp eax, 0x5c
je 0x40d90a
mov eax, dword [ebp - 0x44]
inc eax
cmp eax, 0x104
jl 0x40d8e3
jmp 0x40e18f
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
mov byte [eax + 0x35d], 0x5c
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
and byte [eax + 0x35d], 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x48], ecx
mov dword [ebp - 0x44], 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x462
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x35d
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
mov dword [ebp - 0x9c], eax
call fcn.0040f436
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + eax + 1]
cmp eax, 0x104
jb 0x40d971
jmp 0x40e18d
mov eax, dword [ebp - 0xb4]
mov ecx, 0x104
sub ecx, dword [eax + 0x48]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
lea eax, [ecx + eax + 0x462]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov dword [ebp - 0x44], 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x462
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov dword [ebp - 0x44], 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x462
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x35d
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov eax, dword [ebp - 0xb4]
add eax, 0x258
mov dword [ebp - 0x9c], eax
call fcn.0040f436
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + eax + 1]
cmp eax, 0x104
jb 0x40da35
jmp 0x40e18b
mov eax, dword [ebp - 0xb4]
mov ecx, 0x104
sub ecx, dword [eax + 0x48]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
lea eax, [ecx + eax + 0x462]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x258
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov dword [ebp - 0x44], 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x258
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x462
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov dword [ebp - 0x44], 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x462
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x35d
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov eax, dword [ebp - 0xb4]
add eax, 0x153
mov dword [ebp - 0x9c], eax
call fcn.0040f436
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + eax + 1]
cmp eax, 0x104
jb 0x40dafd
jmp 0x40e189
mov eax, dword [ebp - 0xb4]
mov ecx, 0x104
sub ecx, dword [eax + 0x48]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
lea eax, [ecx + eax + 0x462]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x153
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov dword [ebp - 0x44], 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x153
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x462
mov dword [ebp - 0x74], eax
call fcn.0040f46a
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x7c], 1
jne 0x40dc96
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x12c], 0
jne 0x40db86
jmp 0x40e187
push 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x462
push eax
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x12c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x40dbbc
cmp dword [ebp - 0x10], 0x104
jle 0x40dbc1
jmp 0x40e185
mov dword [ebp - 0x44], 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x462
mov dword [ebp - 0x74], eax
call fcn.0040f4c6
cmp dword [ebp - 0x10], 0
jne 0x40dbf5
jmp 0x40e183
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
mov eax, dword [ebp - 0xb4]
add eax, 0x153
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], 0xffffffff
jne 0x40dc33
jmp 0x40e181
push 0x104
mov eax, dword [ebp - 0xb4]
add eax, 0x462
push eax
mov eax, dword [ebp - 0xb4]
add eax, 0x153
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x12c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x40dc6b
cmp dword [ebp - 0x10], 0x104
jle 0x40dc70
jmp 0x40e17f
mov eax, dword [ebp - 0xb4]
add eax, 0x153
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x462
mov dword [ebp - 0x74], eax
call fcn.0040f46a
jmp 0x40dcd4
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
mov eax, dword [ebp - 0xb4]
add eax, 0x153
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], 0xffffffff
jne 0x40dcd4
jmp 0x40e17d
push 0
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x14]
push 0
push 4
push 0
mov eax, dword [ebp - 0xb4]
push dword [eax + 4]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x38]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 8], 0
jne 0x40dd0e
jmp 0x40e17b
jmp 0x40dd49
push 0
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x14]
push 0
push 4
push 0
mov eax, dword [ebp - 0xb4]
push dword [eax]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x38]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 8], 0
jne 0x40dd49
jmp 0x40e179
push 0
push 0
push 0
push 2
mov eax, dword [ebp - 0xb4]
push dword [eax + 8]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0xc], 0
jne 0x40dd7a
jmp 0x40e177
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x44], eax
call fcn.0040f661
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40ddbf
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ecx + 0x20]
jae 0x40de1a
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x44], eax
call fcn.0040f661
jmp 0x40ddac
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x574], 0
je 0x40dec4
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40de4c
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ecx + 0x20]
jae 0x40dea0
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
cmp dword [ecx + eax*8], 0
je 0x40de9e
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
push dword [ecx + eax*8]
push 0
push dword [ebp - 0x88]
call dword [ebp - 0x34]
jmp 0x40de39
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x574]
push 0
push dword [ebp - 0x88]
call dword [ebp - 0x34]
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x574], 0
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x10], 0
je 0x40deee
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x10]
push 0
push dword [ebp - 0x88]
call dword [ebp - 0x34]
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x10], 0
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x4d]
test eax, eax
je 0x40df5d
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x14]
inc eax
shr eax, 1
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
push 0
call fcn.0040f731
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x98]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x5c]
add ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x6c]
mov dword [eax + 0x58], ecx
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x14]
mov eax, dword [ebp - 0xb4]
push dword [eax + 0xc]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x44]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x4c]
test eax, eax
je 0x40e16e
cmp dword [ebp - 0x10], 0
je 0x40e16e
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0xc], 0
je 0x40dfb9
mov eax, dword [ebp - 0xb4]
push dword [eax + 0xc]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x40]
mov eax, dword [ebp - 0xb4]
and dword [eax + 0xc], 0
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 8], 0
je 0x40dfdd
mov eax, dword [ebp - 0xb4]
push dword [eax + 8]
mov eax, dword [ebp - 0x40]
call dword [eax]
mov eax, dword [ebp - 0xb4]
and dword [eax + 8], 0
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0xffffffff
je 0x40dffe
mov eax, dword [ebp - 0xb4]
push dword [eax]
mov eax, dword [ebp - 0x40]
call dword [eax]
mov eax, dword [ebp - 0xb4]
or dword [eax], 0xffffffff
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], 0xffffffff
je 0x40e022
mov eax, dword [ebp - 0xb4]
push dword [eax + 4]
mov eax, dword [ebp - 0x40]
call dword [eax]
mov eax, dword [ebp - 0xb4]
or dword [eax + 4], 0xffffffff
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x7c], 2
jne 0x40e0da
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x120], 0
je 0x40e0a8
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x124], 0
je 0x40e0a8
mov eax, dword [ebp - 0xb4]
add eax, 0x258
push eax
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x120]
test eax, eax
je 0x40e0a8
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0xb4]
add eax, 0x153
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x120]
test eax, eax
je 0x40e0a8
push 4
push 0
mov eax, dword [ebp - 0xb4]
add eax, 0x258
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x124]
jmp 0x40e0d5
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x124], 0
je 0x40e0d5
push 4
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0xb4]
add eax, 0x153
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x124]
jmp 0x40e16e
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x7c], 1
jne 0x40e16e
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x128], 0
je 0x40e16e
mov eax, sym.imp.KERNEL32.dll_HeapFree
call fcn.0040f42d
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 0x56c], ecx
mov eax, 0x40703f
call fcn.0040f42d
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 0x568], ecx
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x568]
mov eax, dword [ebp - 0xb4]
add eax, 0x153
push eax
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x56c]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x128]
mov dword [ebp - 0x10], 1
jmp 0x40e1c5
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
jmp 0x40e1c1
and dword [ebp - 0x10], 0
cmp dword [ebp - 0xb4], 0
je 0x40e32c
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x574], 0
je 0x40e26f
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40e204
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ecx + 0x20]
jae 0x40e258
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
cmp dword [ecx + eax*8], 0
je 0x40e256
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x574]
push dword [ecx + eax*8]
push 0
push dword [ebp - 0x88]
call dword [ebp - 0x34]
jmp 0x40e1f1
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x574]
push 0
push dword [ebp - 0x88]
call dword [ebp - 0x34]
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x10], 0
je 0x40e28f
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x10]
push 0
push dword [ebp - 0x88]
call dword [ebp - 0x34]
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0xc], 0
je 0x40e2aa
mov eax, dword [ebp - 0xb4]
push dword [eax + 0xc]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x40]
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 8], 0
je 0x40e2c4
mov eax, dword [ebp - 0xb4]
push dword [eax + 8]
mov eax, dword [ebp - 0x40]
call dword [eax]
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0xffffffff
je 0x40e2dc
mov eax, dword [ebp - 0xb4]
push dword [eax]
mov eax, dword [ebp - 0x40]
call dword [eax]
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], 0xffffffff
je 0x40e2f6
mov eax, dword [ebp - 0xb4]
push dword [eax + 4]
mov eax, dword [ebp - 0x40]
call dword [eax]
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x1c], 0xffffffff
je 0x40e31b
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x1c]
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x1c]
push dword [ebp - 0xb4]
push 0
push dword [ebp - 0x88]
call dword [ebp - 0x34]
ret