Function at 0x40a04d
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 0x40a071
jmp 0x40c1c1
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.0040d46a
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 0x40a12d
mov eax, dword [ebp - 0x9c]
movsx eax, byte [eax]
cmp eax, 0x2e
jne 0x40a0f2
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 0x40a113
mov eax, dword [ebp - 0x9c]
movsx eax, byte [eax]
cmp eax, 0x24
jne 0x40a113
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 0x40a0c5
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x40], 0
jbe 0x40a14a
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x44], 2
jb 0x40a14a
jmp 0x40c1c1
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 0x40a211
mov eax, dword [ebp - 0x30]
and eax, 0x40000000
test eax, eax
jne 0x40a1be
jmp 0x40c1c1
mov eax, dword [ebp - 0x30]
and eax, 2
test eax, eax
je 0x40a1cd
jmp 0x40c1c1
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 0x40a211
jmp 0x40c1c1
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 0x40a23f
jmp 0x40c1c1
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 0x40a25d
jmp 0x40c1c1
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 0x40a28f
jmp 0x40c1c1
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 0x40a2c0
jmp 0x40c1c1
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x14], 0x40
jae 0x40a2d1
jmp 0x40c1c1
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 0x40a2f5
jmp 0x40c1c1
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x3c]
add eax, 0xf8
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x14], eax
jae 0x40a313
jmp 0x40c1c1
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 0x40a338
jmp 0x40c1c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x16]
and eax, 0x100
test eax, eax
jne 0x40a34d
jmp 0x40c1c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x16]
and eax, 2
test eax, eax
jne 0x40a360
jmp 0x40c1c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x18]
cmp eax, 0x10b
je 0x40a373
jmp 0x40c1c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x5e]
and eax, 0x800
test eax, eax
je 0x40a388
jmp 0x40c1c1
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0x28], 0
jne 0x40a396
jmp 0x40c1bf
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 0x40a3cc
jmp 0x40c1bd
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.0040d42d
mov dword [ebp - 0x9c], eax
mov eax, 0x406b7d
call fcn.0040d42d
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40a446
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 0x40a5db
mov eax, dword [ebp - 0x30]
and eax, 0x40000000
test eax, eax
je 0x40a4ab
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.0040d6ba
cmp dword [ebp - 0x10], 0
je 0x40a495
jmp 0x40c1bb
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x58], eax
call fcn.0040d6ba
cmp dword [ebp - 0x10], 0
je 0x40a4ab
jmp 0x40c1b9
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 0x40a4da
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xd0], eax
jmp 0x40a4f3
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 0x40a531
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xd4], eax
jmp 0x40a54a
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 0x40a59b
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xd8], eax
jmp 0x40a5c7
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 0x40a433
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x5c], eax
call fcn.0040d3b7
cmp dword [ebp - 0x5c], 0
je 0x40a6fd
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 0x40a6fd
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [eax + 0x14]
jbe 0x40a667
jmp 0x40c1b7
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 0x40a6a1
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xdc], eax
jmp 0x40a6c5
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 0x40a630
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 0x40a734
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 0x40a759
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0x14]
cmp eax, dword [ecx + 0x18]
jbe 0x40a759
jmp 0x40c1b5
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 0x40a806
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + 0xd0]
cmp eax, dword [ecx + 0x28]
jae 0x40a806
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 0x40a7e1
jmp 0x40c1b3
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 0x40a854
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 0x40a852
jmp 0x40c1b1
jmp 0x40a863
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 0x40a891
jmp 0x40c1af
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.0040d661
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 0x40a94d
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.0040d661
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x34]
mov dword [eax + 0xd0], ecx
jmp 0x40a961
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 0x40a9e9
jmp 0x40c1ad
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 0x40aa1d
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 0x40ac8b
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 0x40aa6c
jmp 0x40c1ab
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 0x40aaba
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 0x40aad9
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xe0], eax
jmp 0x40aae2
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 0x40ab84
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 0x40abe0
jmp 0x40c1a9
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.0040d661
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [eax + 0x598]
jle 0x40ac86
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 0x40aa0a
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 0x40ad21
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 0x40ad7d
jmp 0x40c1a7
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.0040d661
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.0040d661
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.0040d42d
mov dword [ebp - 0x58], eax
call fcn.0040d661
mov eax, 0x406b4b
call fcn.0040d42d
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 0x40af29
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xe4], eax
jmp 0x40af30
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 0x40afb9
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.0040d3b7
cmp dword [ebp - 0x5c], 0
jne 0x40b13d
jmp 0x40c1a5
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 0x40b1a7
jmp 0x40c1a3
mov eax, dword [ebp - 0xa0]
cmp dword [eax + 0xc], 0
jne 0x40b1b8
jmp 0x40b582
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 0x40b1e7
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 0x40b1f8
jmp 0x40b16a
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x5c], eax
call fcn.0040d3b7
cmp dword [ebp - 0x5c], 0
jne 0x40b214
jmp 0x40c1a1
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.0040d5f8
cmp dword [ebp - 0x10], 0
jne 0x40b254
jmp 0x40c19f
mov eax, 0x406baf
call fcn.0040d42d
mov dword [ebp - 0x74], eax
call fcn.0040d4c6
cmp dword [ebp - 0x10], 0
jne 0x40b271
jmp 0x40b16a
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.0040d3b7
cmp dword [ebp - 0x5c], 0
jne 0x40b297
jmp 0x40c19d
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 0x40b2f6
jmp 0x40c19b
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 0x40b325
jmp 0x40b57d
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
and eax, 0x80000000
test eax, eax
je 0x40b335
jmp 0x40b2c8
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
call fcn.0040d3b7
cmp dword [ebp - 0x5c], 0
jne 0x40b34d
jmp 0x40c199
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 0x40b375
jmp 0x40c197
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.0040d5f8
cmp dword [ebp - 0x10], 0
jne 0x40b3b1
jmp 0x40c195
mov eax, 0x406bd6
call fcn.0040d42d
mov dword [ebp - 0x74], eax
call fcn.0040d596
cmp dword [ebp - 0x10], 0
je 0x40b40c
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.0040d42d
mov dword [ebp - 0x74], eax
call fcn.0040d596
cmp dword [ebp - 0x10], 0
je 0x40b467
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.0040d42d
mov dword [ebp - 0x74], eax
call fcn.0040d596
cmp dword [ebp - 0x10], 0
je 0x40b4c2
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.0040d42d
mov dword [ebp - 0x74], eax
call fcn.0040d596
cmp dword [ebp - 0x10], 0
je 0x40b51d
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.0040d42d
mov dword [ebp - 0x74], eax
call fcn.0040d596
cmp dword [ebp - 0x10], 0
je 0x40b578
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 0x40b2c8
jmp 0x40b16a
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x4d]
test eax, eax
jne 0x40b595
jmp 0x40c193
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0xc], 0
je 0x40b5ba
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 0x40b5de
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 0x40b602
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 0x40b63f
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 0x40b6ff
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 0x40b6eb
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 0x40b62c
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 0x40b72d
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 0x40b76e
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 0x40b71a
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x4c]
test eax, eax
je 0x40bd10
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.0040d46a
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.0040d46a
call fcn.0040d436
cmp dword [ebp - 0x44], 0x101
jl 0x40b7de
jmp 0x40c191
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.0040d436
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0x44]
movsx eax, byte [eax + 0x35c]
cmp eax, 0x5c
je 0x40b90a
mov eax, dword [ebp - 0x44]
inc eax
cmp eax, 0x104
jl 0x40b8e3
jmp 0x40c18f
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.0040d46a
mov eax, dword [ebp - 0xb4]
add eax, 0x4e
mov dword [ebp - 0x9c], eax
call fcn.0040d436
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + eax + 1]
cmp eax, 0x104
jb 0x40b971
jmp 0x40c18d
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.0040d46a
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.0040d46a
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.0040d46a
mov eax, dword [ebp - 0xb4]
add eax, 0x258
mov dword [ebp - 0x9c], eax
call fcn.0040d436
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + eax + 1]
cmp eax, 0x104
jb 0x40ba35
jmp 0x40c18b
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.0040d46a
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.0040d46a
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.0040d46a
mov eax, dword [ebp - 0xb4]
add eax, 0x153
mov dword [ebp - 0x9c], eax
call fcn.0040d436
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + eax + 1]
cmp eax, 0x104
jb 0x40bafd
jmp 0x40c189
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.0040d46a
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.0040d46a
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x7c], 1
jne 0x40bc96
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x12c], 0
jne 0x40bb86
jmp 0x40c187
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 0x40bbbc
cmp dword [ebp - 0x10], 0x104
jle 0x40bbc1
jmp 0x40c185
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.0040d4c6
cmp dword [ebp - 0x10], 0
jne 0x40bbf5
jmp 0x40c183
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 0x40bc33
jmp 0x40c181
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 0x40bc6b
cmp dword [ebp - 0x10], 0x104
jle 0x40bc70
jmp 0x40c17f
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.0040d46a
jmp 0x40bcd4
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 0x40bcd4
jmp 0x40c17d
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 0x40bd0e
jmp 0x40c17b
jmp 0x40bd49
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 0x40bd49
jmp 0x40c179
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 0x40bd7a
jmp 0x40c177
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.0040d661
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40bdbf
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 0x40be1a
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.0040d661
jmp 0x40bdac
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x574], 0
je 0x40bec4
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40be4c
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 0x40bea0
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 0x40be9e
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 0x40be39
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 0x40beee
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 0x40bf5d
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.0040d731
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 0x40c16e
cmp dword [ebp - 0x10], 0
je 0x40c16e
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0xc], 0
je 0x40bfb9
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 0x40bfdd
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 0x40bffe
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 0x40c022
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 0x40c0da
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x120], 0
je 0x40c0a8
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x124], 0
je 0x40c0a8
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 0x40c0a8
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 0x40c0a8
push 4
push 0
mov eax, dword [ebp - 0xb4]
add eax, 0x258
push eax
mov eax, dword [ebp - 0x40]
call dword [eax + 0x124]
jmp 0x40c0d5
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x124], 0
je 0x40c0d5
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 0x40c16e
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x7c], 1
jne 0x40c16e
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x128], 0
je 0x40c16e
mov eax, 0x407038
call fcn.0040d42d
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.0040d42d
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 0x40c1c5
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
jmp 0x40c1c1
and dword [ebp - 0x10], 0
cmp dword [ebp - 0xb4], 0
je 0x40c32c
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x574], 0
je 0x40c26f
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x48], 0
jmp 0x40c204
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 0x40c258
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 0x40c256
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 0x40c1f1
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 0x40c28f
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 0x40c2aa
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 0x40c2c4
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 0x40c2dc
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 0x40c2f6
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 0x40c31b
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