Function at 0x412a14
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a12f1
mov eax, dword fs:[0]
push eax
mov eax, 0x21a4
call fcn.00484010
mov eax, dword [0x4c3204]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20e0], eax
mov eax, dword [ebp + 0xc]
mov esi, ecx
mov ebx, edx
mov dword [ebp - 0x20d8], esi
mov dword [ebp - 0x20dc], ebx
mov dword [ebp - 0x20e4], eax
and dword [ebp - 4], 0
lea ecx, [ebp - 0x114]
call fcn.00404c9b
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14c]
call fcn.00404c9b
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x130]
call fcn.00404c9b
mov byte [ebp - 4], 3
push 1
lea edi, [ebp - 0x114]
call fcn.0040f2d2
pop ecx
lea eax, [ebp - 0x20c8]
push eax
call fcn.0041629f
mov byte [ebp - 4], 4
test ebx, ebx
jne 0x412ac9
lea eax, [ebp - 0x20c8]
mov dword [ebp - 0x20dc], eax
mov ebx, eax
mov al, byte [ebx + 0x1f48]
test al, al
jne 0x412bc9
push dword [ebp - 0x20e4]
mov ecx, ebx
push 0
call fcn.00416912
mov edi, eax
test edi, edi
je 0x412bc9
lea eax, [ebp - 0x21b0]
push eax
call fcn.004090fb
mov esi, eax
mov byte [ebp - 4], 5
push 0x4ad2ec
push esi
call fcn.0040b677
pop ecx
pop ecx
push edi
push esi
call fcn.0040a33c
lea ebx, [ebp - 0xe4]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 6
cmp dword [ebp - 0xd0], 8
mov eax, dword [ebp - 0xe4]
jae 0x412b38
mov eax, ebx
xor ecx, ecx
push eax
inc ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe4]
call fcn.00403d16
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21b0]
call fcn.00407bad
mov esi, edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x20c8]
call fcn.0041648e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x130]
call fcn.00403d16
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14c]
call fcn.00403d16
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x114]
call fcn.00403d16
or dword [ebp - 4], 0xffffffff
lea eax, [ebp + 0x10]
push eax
call fcn.00404cd4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00475a38
leave
ret 0x18
mov ebx, 0x4ad320
push ebx
call fcn.00477a67
pop ecx
mov edi, eax
push ebx
mov eax, esi
call fcn.00405148
push 0x4aaef0
lea ebx, [ebp - 0x60]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 7
push 0
push eax
or eax, 0xffffffff
call fcn.004050ab
mov byte [ebp - 4], 4
mov ecx, ebx
call fcn.00403d16
mov ebx, dword [ebp - 0x20e0]
cmp dword [ebx + 0x30], 0
je 0x412d70
lea eax, [ebp - 0xe4]
push eax
mov eax, 0x4ad330
call fcn.00404cae
mov byte [ebp - 4], 8
lea eax, [ebx + 4]
cmp dword [eax + 0x14], 8
jb 0x412c3c
mov eax, dword [eax]
mov dword [ebp - 0x20cc], eax
lea eax, [ebx + 0x3c]
cmp dword [eax + 0x14], 8
jb 0x412c4d
mov eax, dword [eax]
cmp dword [ebx + 0x34], 8
mov dword [ebp - 0x20ec], eax
jb 0x412c5e
mov edi, dword [ebx + 0x20]
jmp 0x412c61
lea edi, [ebx + 0x20]
lea eax, [ebp - 0x21b0]
push eax
call fcn.004090fb
mov esi, eax
mov byte [ebp - 4], 9
push esi
lea ecx, [ebp - 0x114]
call fcn.0040b9a3
mov dword [esp], 0x4ad338
push esi
call fcn.0040b677
push edi
push esi
call fcn.0040b677
push 0x4ad35c
push esi
call fcn.0040b677
push dword [ebp - 0x20ec]
push esi
call fcn.0040b677
push 0x4ad380
push esi
call fcn.0040b677
push esi
lea ecx, [ebp - 0xe4]
call fcn.0040b9a3
add esp, 0x2c
push 0x4ad3a4
push esi
call fcn.0040b677
push dword [0x4a9410]
push esi
call fcn.0040b677
push 0x4ad3c0
push esi
call fcn.0040b677
push dword [0x4a9414]
push esi
call fcn.0040b677
push 0x4ad3dc
push esi
call fcn.0040b677
push dword [0x4a9418]
push esi
call fcn.0040b677
push 0x4ad3f8
push esi
call fcn.0040b677
push dword [ebp - 0x20cc]
push esi
call fcn.0040b677
add esp, 0x40
lea eax, [ebp - 0x60]
push eax
mov ecx, esi
call fcn.0040ce0c
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x20d8]
push 0
lea eax, [ebp - 0x60]
push eax
or eax, 0xffffffff
call fcn.004050ab
mov byte [ebp - 4], 9
lea esi, [ebp - 0x60]
call fcn.00404c8f
mov byte [ebp - 4], 8
lea eax, [ebp - 0x21b0]
call fcn.00407bad
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00403d16
lea eax, [ebp - 0x20f8]
push eax
call fcn.0047a4ed
pop ecx
lea eax, [ebp - 0x20f8]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.0047a7cb
xor eax, eax
push 0x32
push eax
mov word [ebp - 0x44], ax
lea eax, [ebp - 0x42]
push eax
call fcn.00475a50
add esp, 0x14
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x44]
push 0x1a
push eax
call fcn.0047a5d6
add esp, 0xc
test eax, eax
jne 0x412e57
cmp dword [ebx + 0x18], 8
mov word [ebp - 0x14], ax
jb 0x412dd1
mov edx, dword [ebx + 4]
jmp 0x412dd4
lea edx, [ebx + 4]
mov ecx, dword [ebp - 0x20dc]
mov eax, dword [ecx + 0x1f50]
mov ecx, dword [ecx + 0x1f4c]
cmp eax, ecx
jb 0x412dee
sub eax, ecx
jmp 0x412df1
sub eax, ecx
dec eax
cmp dword [ebp - 0x100], 8
mov ecx, dword [ebp - 0x114]
jae 0x412e06
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x20e8], eax
fild dword [ebp - 0x20e8]
push edx
test eax, eax
jns 0x412e1d
fadd qword [0x4b93b0]
fdiv qword [0x4b93a0]
push ecx
push ecx
lea eax, [ebp - 0x44]
fstp qword [esp]
push eax
push ecx
push 0x4ad408
lea eax, [ebp - 0x14c]
call fcn.0040cc9d
mov esi, dword [ebp - 0x20d8]
add esp, 0x18
push 0
lea eax, [ebp - 0x14c]
push eax
or eax, 0xffffffff
call fcn.004050ab
lea eax, [ebp - 0x130]
push eax
push ebx
lea edi, [ebp + 0x10]
call fcn.00414d12
test al, al
je 0x412eb2
mov esi, dword [ebp - 0x20d8]
push 0
lea eax, [ebp - 0x130]
push eax
or eax, 0xffffffff
call fcn.004050ab
lea eax, [ebp - 0x60]
push eax
mov eax, 0x4a9ef8
call fcn.00404cae
mov byte [ebp - 4], 0xb
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x130]
call fcn.00404d40
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x60]
call fcn.00403d16
push 0x4ad46c
lea ebx, [ebp - 0xe4]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x20e0]
add edx, 4
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x20d0], edx
jb 0x412ee3
mov edx, dword [edx]
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0xd
mov esi, dword [ebp - 0x20d8]
push 0
push eax
or eax, 0xffffffff
call fcn.004050ab
mov byte [ebp - 4], 0xc
mov ecx, ebx
call fcn.00403d16
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00403d16
push 0x4ad488
push 4
pop ecx
call fcn.0040d57f
and dword [ebp - 0x20d4], 0
pop ecx
mov ecx, dword [ebp - 0x20dc]
mov eax, dword [ecx + 0x1ea8]
mov ecx, dword [ecx + 0x1eac]
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x41302d
mov edi, dword [ebp - 0x20d4]
lea eax, [eax + edi*4]
mov ebx, dword [eax]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x20e4], ebx
call fcn.00404c9b
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x98]
call fcn.00404c9b
mov byte [ebp - 4], 0xf
test ebx, ebx
jne 0x4134f4
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x98]
call fcn.00403d16
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x7c]
call fcn.00403d16
lea eax, [ebp - 0x21b0]
push eax
call fcn.004090fb
mov esi, eax
mov byte [ebp - 4], 0x12
push 0x4ad4d0
push esi
call fcn.0040b677
pop ecx
pop ecx
push edi
push esi
call fcn.00415b90
lea ebx, [ebp - 0x60]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x412fdf
mov eax, ebx
push eax
push 4
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x60]
call fcn.00403d16
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21b0]
call fcn.00407bad
mov ecx, dword [ebp - 0x20dc]
mov eax, dword [ecx + 0x1ea8]
mov ecx, dword [ecx + 0x1eac]
inc dword [ebp - 0x20d4]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x20d4], ecx
jb 0x412f51
push 0x4ad500
push 4
pop ecx
call fcn.0040d57f
and dword [ebp - 0x210c], 0
pop ecx
call fcn.00415a7c
mov dword [ebp - 0x2110], eax
mov dword [eax], eax
mov eax, dword [ebp - 0x2110]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x2110]
mov dword [eax + 8], eax
mov eax, dword [ebp - 0x2110]
mov byte [eax + 0x28], 1
mov eax, dword [ebp - 0x2110]
mov byte [eax + 0x29], 1
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2114]
call fcn.0041a858
test al, al
je 0x41309f
push dword [ebp - 0x20d8]
lea ecx, [ebp - 0x2114]
push dword [ebp - 0x20e0]
call fcn.0040f35c
mov eax, dword [ebp - 0x20dc]
lea ebx, [eax + 0x1df8]
mov al, byte [eax + 0xe]
test al, al
je 0x4130fe
lea ecx, [ebp - 0x98]
call fcn.00404c9b
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x7c]
call fcn.00404c9b
mov byte [ebp - 4], 0x19
test ebx, ebx
jne 0x413819
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x98]
call fcn.00403d16
push 0x4ad554
push 4
pop ecx
call fcn.0040d57f
pop ecx
push 0x4ad588
push 4
pop ecx
call fcn.0040d57f
mov eax, dword [ebp - 0x20dc]
mov ebx, dword [eax + 0x14]
pop ecx
lea ecx, [ebp - 0x98]
call fcn.00404c9b
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x7c]
call fcn.00404c9b
mov byte [ebp - 4], 0x1c
test ebx, ebx
jne 0x41393d
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x98]
call fcn.00403d16
push 0x4ad5d8
push 4
pop ecx
call fcn.0040d57f
pop ecx
push 0x4ad618
push 4
pop ecx
call fcn.0040d57f
and dword [ebp - 0x20d4], 0
pop ecx
mov ecx, dword [ebp - 0x20dc]
mov eax, dword [ecx + 0x1f28]
mov ecx, dword [ecx + 0x1f2c]
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x41320d
mov ecx, dword [ebp - 0x20d4]
lea eax, [eax + ecx*4]
mov ebx, dword [eax]
lea ecx, [ebp - 0x98]
call fcn.00404c9b
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x7c]
call fcn.00404c9b
mov byte [ebp - 4], 0x1f
test ebx, ebx
jne 0x413af7
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x98]
call fcn.00403d16
push 0x4ad664
push 4
pop ecx
call fcn.0040d57f
pop ecx
mov ecx, dword [ebp - 0x20dc]
mov eax, dword [ecx + 0x1f28]
mov ecx, dword [ecx + 0x1f2c]
inc dword [ebp - 0x20d4]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x20d4], ecx
jb 0x413191
push 0x4ad6a8
push 4
pop ecx
call fcn.0040d57f
mov esi, dword [ebp - 0x20dc]
lea ebx, [esi + 0x1ef0]
cmp dword [ebx], 0
pop ecx
je 0x41323d
push dword [ebp - 0x20d8]
push dword [ebp - 0x20e0]
call fcn.0040f8be
push 0x4ad700
push 4
pop ecx
call fcn.0040d57f
mov eax, dword [esi + 0x1ed0]
and dword [ebp - 0x20d4], 0
pop ecx
mov ecx, dword [esi + 0x1ed4]
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x414089
mov edi, dword [ebp - 0x20d4]
mov ecx, edi
shl ecx, 2
mov ebx, dword [eax + ecx]
mov dword [ebp - 0x20f0], ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x20e4], ebx
call fcn.00404c9b
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x7c]
call fcn.00404c9b
mov byte [ebp - 4], 0x22
test ebx, ebx
je 0x41400a
push 2
lea edi, [ebp - 0x98]
call fcn.0040f2d2
pop ecx
push 3
lea edi, [ebp - 0x7c]
call fcn.0040f2d2
pop ecx
push dword [ebx + 4]
lea esi, [ebp - 0xf8]
push 0x4ab6e4
call fcn.0040e761
mov byte [ebp - 4], 0x23
mov edx, 0x4ab700
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0xc]
call fcn.0040e978
mov edx, 0x4ab4c8
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x28]
call fcn.0040e978
mov edx, 0x4ab710
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x60]
call fcn.0040e978
movzx eax, byte [ebx + 0x8c]
push eax
push ecx
mov edx, 0x4ab72c
mov ecx, esi
call fcn.0040efd3
pop ecx
mov esi, eax
call fcn.0040e8a2
mov edx, 0x4ab74c
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x44]
call fcn.0040e978
mov esi, dword [ebx + 0x7c]
mov edx, 0x4ab764
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
push esi
mov esi, 0x4aafec
push esi
add eax, 0x20
call fcn.0040cc9d
mov edi, dword [ebx + 0x80]
pop ecx
pop ecx
mov edx, 0x4ab778
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
push edi
push esi
add eax, 0x20
call fcn.0040cc9d
mov edi, dword [ebx + 0x84]
pop ecx
pop ecx
mov edx, 0x4ab78c
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
push edi
push esi
add eax, 0x20
call fcn.0040cc9d
mov edi, dword [ebx + 0x88]
pop ecx
pop ecx
mov edx, 0x4ab79c
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
push edi
push esi
add eax, 0x20
call fcn.0040cc9d
cmp byte [ebx + 0x8c], 0
pop ecx
pop ecx
je 0x413d34
mov edx, 0x4ab7a4
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x90]
call fcn.0040e978
mov edx, 0x4ab7b0
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0xac]
call fcn.0040e978
mov esi, dword [ebx + 0xd0]
mov edx, 0x4ab7dc
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
push esi
mov edi, 0x4aafe4
push edi
add eax, 0x20
call fcn.0040cc9d
movzx eax, byte [ebx + 0xc8]
pop ecx
pop ecx
push eax
push ecx
mov edx, 0x4ab7f0
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
pop ecx
mov esi, eax
call fcn.0040e8a2
mov esi, dword [ebx + 0xd4]
mov edx, 0x4ab80c
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
push esi
push edi
add eax, 0x20
call fcn.0040cc9d
movzx eax, byte [ebx + 0xc9]
pop ecx
pop ecx
push eax
push ecx
mov edx, 0x4ab81c
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
pop ecx
mov esi, eax
call fcn.0040e8a2
mov esi, dword [ebx + 0xcc]
mov edx, 0x4ab854
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
push esi
push edi
add eax, 0x20
call fcn.0040cc9d
mov eax, dword [ebx + 0xd8]
dec eax
pop ecx
pop ecx
je 0x413c44
dec eax
je 0x413c3d
dec eax
je 0x413c36
mov esi, 0x4a9a00
jmp 0x413c49
push 2
lea edi, [ebp - 0x7c]
call fcn.0040f2d2
pop ecx
push 3
lea edi, [ebp - 0x98]
call fcn.0040f2d2
pop ecx
push dword [ebx]
lea esi, [ebp - 0xc8]
push 0x4ab170
call fcn.0040e761
mov byte [ebp - 4], 0x10
mov edx, 0x4ab184
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 8]
call fcn.0040e978
mov esi, dword [ebx + 0x9c]
mov edx, 0x4ab190
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
push esi
push 0x4aafec
add eax, 0x20
call fcn.0040cc9d
mov esi, dword [ebx + 0x94]
pop ecx
pop ecx
mov edx, 0x4ab19c
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
push esi
mov esi, 0x4aafe4
push esi
add eax, 0x20
call fcn.0040cc9d
pop ecx
pop ecx
mov edx, 0x4ab1ac
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0xa0]
call fcn.0040e978
mov edx, 0x4ab1c8
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x40]
call fcn.0040e978
lea ecx, [ebp - 0xe4]
call fcn.00404c9b
mov byte [ebp - 4], 0x11
mov eax, dword [ebx + 0xbc]
test eax, eax
je 0x41363d
mov dword [ebp - 0x20e8], eax
fild dword [ebp - 0x20e8]
jns 0x4135ea
fadd dword [0x4b93a8]
fdiv qword [0x4b93b8]
push ecx
push ecx
lea eax, [ebp - 0xe4]
fstp qword [esp]
push 0x4ab1e4
call fcn.0040cc9d
add esp, 0xc
mov edx, 0x4ab1f0
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
cmp dword [ebp - 0xd0], 8
mov ecx, dword [ebp - 0xe4]
jae 0x41362d
lea ecx, [ebp - 0xe4]
lea ebx, [eax + 0x20]
push ecx
call fcn.0040c7fc
mov ebx, dword [ebp - 0x20e4]
pop ecx
push 0xa
mov edi, 0x4aaee8
push edi
push dword [ebx + 0xc4]
mov edx, 0x4ab208
push ecx
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
add esp, 4
call fcn.0040e8ee
push 0xa
push edi
push dword [ebx + 0xc8]
mov edx, 0x4ab21c
push ecx
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
add esp, 4
call fcn.0040e8ee
push 0xa
push edi
push dword [ebx + 0xcc]
mov edx, 0x4ab238
push ecx
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
add esp, 4
call fcn.0040e8ee
mov edi, dword [ebx + 0xd4]
mov edx, 0x4ab25c
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
push edi
push esi
add eax, 0x20
call fcn.0040cc9d
mov edi, dword [ebx + 0xdc]
pop ecx
pop ecx
mov edx, 0x4ab278
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
push edi
push esi
add eax, 0x20
call fcn.0040cc9d
mov edi, dword [ebx + 0xe0]
pop ecx
pop ecx
mov edx, 0x4ab288
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
push edi
push esi
add eax, 0x20
call fcn.0040cc9d
mov edi, dword [ebx + 0xe8]
pop ecx
pop ecx
mov edx, 0x4ab2a0
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
push edi
push esi
add eax, 0x20
call fcn.0040cc9d
mov edi, dword [ebx + 0xec]
pop ecx
pop ecx
mov edx, 0x4ab2ac
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
push edi
push esi
add eax, 0x20
call fcn.0040cc9d
mov ebx, dword [ebx + 0xf0]
sub ebx, 0
pop ecx
pop ecx
je 0x413778
dec ebx
je 0x413771
dec ebx
je 0x41376a
mov esi, 0x4a9a00
jmp 0x41377d
mov esi, 0x4ad330
jmp 0x41377d
mov esi, 0x4adbec
jmp 0x41377d
mov esi, 0x4adbe0
mov edx, 0x4ab2c0
lea ecx, [ebp - 0xc8]
call fcn.0040efd3
test esi, esi
je 0x41379b
lea ebx, [eax + 0x20]
push esi
call fcn.0040c7fc
pop ecx
mov eax, dword [ebp - 0x20d0]
cmp dword [eax + 0x14], 8
jb 0x4137a9
mov eax, dword [eax]
cmp dword [ebp - 0x84], 8
mov esi, dword [ebp - 0x98]
jae 0x4137be
lea esi, [ebp - 0x98]
cmp dword [ebp - 0x68], 8
mov ecx, dword [ebp - 0x7c]
jae 0x4137ca
lea ecx, [ebp - 0x7c]
push esi
push dword [ebp - 0x20d8]
mov edx, eax
lea edi, [ebp - 0xc8]
call fcn.0040f176
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xe4]
call fcn.00403d16
mov byte [ebp - 4], 0xf
mov eax, edi
push eax
call fcn.0040ef5c
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x98]
call fcn.00403d16
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x7c]
call fcn.00403d16
jmp 0x413004
push 2
lea edi, [ebp - 0x98]
call fcn.0040f2d2
pop ecx
push 3
lea edi, [ebp - 0x7c]
call fcn.0040f2d2
pop ecx
push 0xffffffffffffffff
push 0x4ab488
lea esi, [ebp - 0xc8]
call fcn.0040e761
mov byte [ebp - 4], 0x1a
mov edx, 0x4ab184
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x38]
call fcn.0040e978
mov edx, 0x4ab4a8
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
mov eax, ebx
call fcn.0040e978
mov edx, 0x4ab4b8
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x54]
call fcn.0040e978
mov edx, 0x4ab4c8
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x1c]
call fcn.0040e978
mov edx, 0x4ab4e0
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x70]
call fcn.0040e978
mov edx, 0x4ab4f0
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x8c]
call fcn.0040e978
mov eax, dword [ebp - 0x20d0]
cmp dword [eax + 0x14], 8
jb 0x4138dc
mov eax, dword [eax]
cmp dword [ebp - 0x68], 8
mov esi, dword [ebp - 0x7c]
jae 0x4138e8
lea esi, [ebp - 0x7c]
cmp dword [ebp - 0x84], 8
mov ecx, dword [ebp - 0x98]
jae 0x4138fd
lea ecx, [ebp - 0x98]
push esi
push dword [ebp - 0x20d8]
mov edx, eax
lea edi, [ebp - 0xc8]
call fcn.0040f176
mov byte [ebp - 4], 0x19
mov eax, edi
push eax
call fcn.0040ef5c
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x98]
call fcn.00403d16
jmp 0x4130fe
push 2
lea edi, [ebp - 0x98]
call fcn.0040f2d2
pop ecx
push 3
lea edi, [ebp - 0x7c]
call fcn.0040f2d2
pop ecx
push 0xffffffffffffffff
push 0x4ab5a8
lea esi, [ebp - 0xc8]
call fcn.0040e761
mov byte [ebp - 4], 0x1d
mov edx, 0x4ab4b8
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
mov eax, ebx
call fcn.0040e978
mov edx, 0x4ab2a0
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x1c]
call fcn.0040e978
mov edx, 0x4ab4e0
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x38]
call fcn.0040e978
mov edx, 0x4ab5c0
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0xa8]
call fcn.0040e978
mov edx, 0x4ab5d8
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0xc4]
call fcn.0040e978
mov edx, 0x4ab5f0
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0xe0]
call fcn.0040e978
mov edx, 0x4ab610
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x8c]
call fcn.0040e978
mov edx, 0x4ab504
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x134]
call fcn.0040e978
mov edx, 0x4ab63c
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x54]
call fcn.0040e978
mov edx, 0x4ab654
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0xfc]
call fcn.0040e978
mov edx, 0x4ab66c
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x70]
call fcn.0040e978
mov edx, 0x4ab684
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x118]
call fcn.0040e978
mov eax, dword [ebp - 0x20d0]
cmp dword [eax + 0x14], 8
jb 0x413a96
mov eax, dword [eax]
cmp dword [ebp - 0x68], 8
mov esi, dword [ebp - 0x7c]
jae 0x413aa2
lea esi, [ebp - 0x7c]
cmp dword [ebp - 0x84], 8
mov ecx, dword [ebp - 0x98]
jae 0x413ab7
lea ecx, [ebp - 0x98]
push esi
push dword [ebp - 0x20d8]
mov edx, eax
lea edi, [ebp - 0xc8]
call fcn.0040f176
mov byte [ebp - 4], 0x1c
mov eax, edi
push eax
call fcn.0040ef5c
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x98]
call fcn.00403d16
jmp 0x413161
push 2
lea edi, [ebp - 0x98]
call fcn.0040f2d2
pop ecx
push 3
lea edi, [ebp - 0x7c]
call fcn.0040f2d2
pop ecx
push dword [ebx]
lea esi, [ebp - 0xc8]
push 0x4ab510
call fcn.0040e761
mov byte [ebp - 4], 0x20
mov edx, 0x4ab184
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0xc]
call fcn.0040e978
mov edx, 0x4ab520
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x28]
call fcn.0040e978
mov edx, 0x4ab534
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x44]
call fcn.0040e978
mov edx, 0x4ab54c
mov ecx, esi
call fcn.0040efd3
mov ecx, eax
lea eax, [ebx + 0x60]
call fcn.0040e978
push 0xa
push 0x4aaea0
push dword [ebx + 4]
mov edx, 0x4ab56c
push ecx
mov ecx, esi
call fcn.0040efd3
add esp, 4
call fcn.0040e8ee
mov eax, dword [ebx + 8]
test eax, eax
je 0x413bc7
push 0xa
push 0x4aae90
push 0x3c
pop ecx
cdq
idiv ecx
mov edx, 0x4ab58c
push eax
push ecx
mov ecx, esi
call fcn.0040efd3
add esp, 4
call fcn.0040e8ee
mov eax, dword [ebp - 0x20d0]
cmp dword [eax + 0x14], 8
jb 0x413bd5
mov eax, dword [eax]
cmp dword [ebp - 0x68], 8
mov esi, dword [ebp - 0x7c]
jae 0x413be1
lea esi, [ebp - 0x7c]
cmp dword [ebp - 0x84], 8
mov ecx, dword [ebp - 0x98]
jae 0x413bf6
lea ecx, [ebp - 0x98]
push esi
push dword [ebp - 0x20d8]
mov edx, eax
lea edi, [ebp - 0xc8]
call fcn.0040f176
mov byte [ebp - 4], 0x1f
mov eax, edi
push eax
call fcn.0040ef5c
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x98]
call fcn.00403d16
jmp 0x4131e8
mov esi, 0x4adcdc
jmp 0x413c49
mov esi, 0x4adccc
jmp 0x413c49
mov esi, 0x4adcc0
mov edx, 0x4ab878
lea ecx, [ebp - 0xf8]
call fcn.0040efd3
test esi, esi
je 0x413c6d
lea ebx, [eax + 0x20]
push esi
call fcn.0040c7fc
mov ebx, dword [ebp - 0x20e4]
pop ecx
mov eax, dword [ebx + 0xe0]
sub eax, dword [ebx + 0xdc]
and dword [ebp - 0x20cc], 0
sar eax, 2
test eax, eax
je 0x413d34
lea eax, [ebp - 0xf8]
push eax
call fcn.0040f108
mov ecx, dword [ebp - 0x20cc]
push 0xa
mov esi, eax
mov eax, dword [ebx + 0xdc]
mov edi, dword [eax + ecx*4]
mov eax, dword [esi]
push 0
push ecx
push 0x4ab378
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [esi]
push 0x4ab898
push 0x4ab38c
mov ecx, esi
call dword [eax + 0x10]
cmp dword [edi + 0x14], 8
jb 0x413cd4
mov eax, dword [edi]
jmp 0x413cd6
mov eax, edi
mov edx, dword [esi]
push eax
push 0x4ab8b0
mov ecx, esi
call dword [edx + 0x10]
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x413cee
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push 0x4ab8c4
mov ecx, esi
call dword [edx + 0x10]
lea eax, [edi + 0x38]
cmp dword [eax + 0x14], 8
jb 0x413d06
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push 0x4ab8e0
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [ebx + 0xe0]
sub eax, dword [ebx + 0xdc]
inc dword [ebp - 0x20cc]
sar eax, 2
cmp dword [ebp - 0x20cc], eax
jb 0x413c8b
mov eax, dword [ebx + 0xf0]
sub eax, dword [ebx + 0xec]
and dword [ebp - 0x20cc], 0
sar eax, 2
test eax, eax
je 0x413e94
lea eax, [ebp - 0xf8]
push eax
call fcn.0040f108
mov ecx, dword [ebp - 0x20cc]
push 0xa
mov esi, eax
mov eax, dword [ebx + 0xec]
mov edi, dword [eax + ecx*4]
mov eax, dword [esi]
push 0
push ecx
push 0x4ab378
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [esi]
push 0x4ab8f4
push 0x4ab38c
mov ecx, esi
call dword [eax + 0x10]
lea eax, [edi + 0x38]
cmp dword [eax + 0x14], 8
jb 0x413d9c
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push 0x4ab904
mov ecx, esi
call dword [edx + 0x10]
cmp dword [edi + 0x64], 0
je 0x413dc7
lea eax, [edi + 0x54]
cmp dword [eax + 0x14], 8
jb 0x413dba
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push 0x4ab914
mov ecx, esi
call dword [edx + 0x10]
cmp dword [edi + 0x14], 8
jb 0x413dd1
mov eax, dword [edi]
jmp 0x413dd3
mov eax, edi
mov edx, dword [esi]
push eax
push 0x4ab924
mov ecx, esi
call dword [edx + 0x10]
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x413deb
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push 0x4ab938
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0xa
push 0
push dword [edi + 0x78]
mov ecx, esi
push 0x4ab960
call dword [eax + 0x20]
mov eax, dword [esi]
push 0xa
push 0
push dword [edi + 0x7c]
mov ecx, esi
push 0x4ab97c
call dword [eax + 0x20]
mov eax, dword [esi]
push 0xa
push 0
push dword [edi + 0x70]
mov ecx, esi
push 0x4ab998
call dword [eax + 0x20]
mov eax, dword [esi]
push 0xa
push 0
push dword [edi + 0x74]
mov ecx, esi
push 0x4ab9b0
call dword [eax + 0x20]
mov eax, dword [esi]
push 0xa
push 0
push dword [edi + 0x84]
mov ecx, esi
push 0x4ab9c8
call dword [eax + 0x20]
mov eax, dword [esi]
push 0xa
push 0x4aaee0
push dword [edi + 0x80]
mov ecx, esi
push 0x4ab9e8
call dword [eax + 0x20]
mov eax, dword [ebx + 0xf0]
sub eax, dword [ebx + 0xec]
inc dword [ebp - 0x20cc]
sar eax, 2
cmp dword [ebp - 0x20cc], eax
jb 0x413d52
mov edx, dword [ebp - 0x20d0]
cmp dword [edx + 0x14], 8
jb 0x413ea2
mov edx, dword [edx]
cmp dword [ebp - 0x68], 8
mov eax, dword [ebp - 0x7c]
jae 0x413eae
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0x84], 8
mov ecx, dword [ebp - 0x98]
jae 0x413ec3
lea ecx, [ebp - 0x98]
push eax
push dword [ebp - 0x20d8]
lea edi, [ebp - 0xf8]
call fcn.0040f176
mov byte [ebp - 4], 0x22
mov eax, edi
push eax
call fcn.0040ef5c
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x98]
call fcn.00403d16
mov esi, dword [ebp - 0x20dc]
mov eax, dword [esi + 0x1ed0]
mov ebx, dword [ebp - 0x20f0]
mov eax, dword [ebx + eax]
mov ecx, dword [eax + 0xf0]
add eax, 0xec
sub ecx, dword [eax]
xor edi, edi
sar ecx, 2
test ecx, ecx
je 0x413fe5
mov eax, dword [eax]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x88], 0
jne 0x413f5b
push dword [ebp - 0x20d4]
lea ecx, [eax + 0x89]
push edi
push dword [ebp - 0x20d8]
push dword [ebp - 0x20e0]
call fcn.0040ffe2
test al, al
je 0x413f7b
mov eax, dword [esi + 0x1ed0]
mov eax, dword [ebx + eax]
mov ecx, dword [eax + 0xf0]
add eax, 0xec
sub ecx, dword [eax]
inc edi
sar ecx, 2
cmp edi, ecx
jb 0x413f2b
jmp 0x413fe5
lea eax, [ebp - 0x21b0]
push eax
call fcn.004090fb
mov esi, eax
mov byte [ebp - 4], 0x26
push 0x4ad79c
push esi
call fcn.0040b677
pop ecx
pop ecx
push edi
push esi
call fcn.00415b90
lea ebx, [ebp - 0x60]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 0x27
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x413fba
mov eax, ebx
push eax
push 4
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x60]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x21b0]
call fcn.00407bad
mov esi, dword [ebp - 0x20dc]
mov eax, dword [esi + 0x1ed0]
mov ecx, dword [esi + 0x1ed4]
inc dword [ebp - 0x20d4]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x20d4], ecx
jb 0x41326b
jmp 0x414089
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x98]
call fcn.00403d16
lea eax, [ebp - 0x21b0]
push eax
call fcn.004090fb
mov esi, eax
mov byte [ebp - 4], 0x24
push 0x4ad758
push esi
call fcn.0040b677
pop ecx
pop ecx
push edi
push esi
call fcn.00415b90
lea ebx, [ebp - 0x60]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x414064
mov eax, ebx
push eax
push 4
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x60]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x21b0]
call fcn.00407bad
mov esi, dword [ebp - 0x20dc]
mov eax, dword [esi + 0x1ee0]
mov ecx, dword [esi + 0x1ee4]
and dword [ebp - 0x20d4], 0
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x4142a2
mov ebx, dword [ebp - 0x20d4]
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax + 0xcc]
mov edi, dword [eax + 0xd0]
or dword [ebp - 0x20ec], 0xffffffff
xor eax, eax
mov dword [ebp - 0x20e8], ecx
mov ecx, dword [esi + 0x1f18]
mov dword [ebp - 0x20e4], eax
mov dword [ebp - 0x20f4], eax
mov dword [ebp - 0x20f0], eax
mov dword [ebp - 0x20cc], eax
mov eax, dword [esi + 0x1f14]
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x414177
mov ecx, dword [ebp - 0x20cc]
mov eax, dword [eax + ecx*4]
add eax, 0x74
cmp dword [eax + 0x14], 8
jb 0x414114
mov eax, dword [eax]
lea ecx, [ebp - 0x20f0]
push ecx
lea ecx, [ebp - 0x20f4]
push ecx
lea ecx, [ebp - 0x20e4]
push ecx
push 0x4b0bf0
push eax
call fcn.00478215
mov eax, dword [ebp - 0x20f4]
mov ecx, dword [ebp - 0x20f0]
lea eax, [ecx + eax*8]
add esp, 0x14
cmp eax, edi
jne 0x414158
mov eax, dword [ebp - 0x20e8]
cmp dword [ebp - 0x20e4], eax
je 0x414177
mov eax, dword [esi + 0x1f14]
mov ecx, dword [esi + 0x1f18]
inc dword [ebp - 0x20cc]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x20cc], ecx
jb 0x414100
mov ecx, dword [esi + 0x1ed0]
mov eax, dword [esi + 0x1ed4]
and dword [ebp - 0x20cc], 0
sub eax, ecx
sar eax, 2
test eax, eax
je 0x4141f0
mov edx, dword [ebp - 0x20cc]
mov eax, dword [esi + 0x1ee0]
mov eax, dword [eax + ebx*4]
mov edi, dword [eax + 0x50]
lea ecx, [ecx + edx*4]
mov ecx, dword [ecx]
add eax, 0x40
add ecx, 0xc
cmp dword [eax + 0x14], 8
jb 0x4141b8
mov eax, dword [eax]
push eax
mov eax, dword [ecx + 0x10]
call fcn.0040d283
test eax, eax
jne 0x4141d1
mov eax, dword [ebp - 0x20cc]
mov dword [ebp - 0x20ec], eax
mov ecx, dword [esi + 0x1ed0]
mov eax, dword [esi + 0x1ed4]
inc dword [ebp - 0x20cc]
sub eax, ecx
sar eax, 2
cmp dword [ebp - 0x20cc], eax
jb 0x414193
push dword [ebp - 0x20ec]
mov eax, dword [esi + 0x1ee0]
push dword [ebp - 0x20d8]
mov ecx, dword [eax + ebx*4]
push dword [ebp - 0x20e0]
call fcn.00410d6c
test al, al
je 0x414239
mov eax, dword [esi + 0x1ee0]
mov ecx, dword [esi + 0x1ee4]
inc dword [ebp - 0x20d4]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x20d4], ecx
jb 0x4140af
jmp 0x4142a2
lea eax, [ebp - 0x21b0]
push eax
call fcn.004090fb
mov esi, eax
mov byte [ebp - 4], 0x28
push 0x4ad7d8
push esi
call fcn.0040b677
pop ecx
pop ecx
push dword [ebp - 0x20ec]
push esi
call fcn.0040a248
lea ebx, [ebp - 0x60]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 0x29
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x41427d
mov eax, ebx
push eax
push 4
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x60]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x21b0]
call fcn.00407bad
push dword [ebp - 0x20d8]
push dword [ebp - 0x20e0]
call fcn.0040fc9f
lea eax, [ebp - 0x130]
push eax
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x20e8], esp
push eax
mov eax, 0x4ad810
call fcn.00404cae
mov byte [ebp - 4], 0x2a
push dword [ebp - 0x20e0]
mov byte [ebp - 4], 0x17
lea esi, [ebp + 0x10]
call fcn.00414c7c
test al, al
je 0x414331
mov esi, dword [ebp - 0x20d8]
push 0
lea eax, [ebp - 0x130]
push eax
or eax, 0xffffffff
call fcn.004050ab
lea eax, [ebp - 0x60]
push eax
mov eax, 0x4a9ef8
call fcn.00404cae
mov byte [ebp - 4], 0x2b
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x130]
call fcn.00404d40
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x60]
call fcn.00403d16
push 0x4ad828
lea ebx, [ebp - 0xe4]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x20d0]
cmp dword [edx + 0x14], 8
jb 0x414359
mov edx, dword [edx]
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0x2d
mov edi, dword [ebp - 0x20d8]
push 0
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
mov byte [ebp - 4], 0x2c
mov ecx, ebx
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xe4]
call fcn.00403d16
push 0x4ad878
lea ebx, [ebp - 0xe4]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x20d0]
cmp dword [ecx + 0x14], 8
jb 0x4143bf
mov edx, dword [ecx]
jmp 0x4143c1
mov edx, ecx
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0x2f
push 0
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
mov byte [ebp - 4], 0x2e
mov ecx, ebx
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xe4]
call fcn.00403d16
push 0x4ad890
lea ebx, [ebp - 0xe4]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x20d0]
cmp dword [ecx + 0x14], 8
jb 0x414421
mov edx, dword [ecx]
jmp 0x414423
mov edx, ecx
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0x31
push 0
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
mov byte [ebp - 4], 0x30
mov ecx, ebx
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xe4]
call fcn.00403d16
push 0x4ad8a8
push 4
pop ecx
call fcn.0040d57f
mov esi, dword [ebp - 0x20dc]
cmp byte [esi + 0xd], 0
pop ecx
lea ecx, [esi + 0x18]
je 0x414494
push edi
push dword [ebp - 0x20e0]
call fcn.004120d0
test al, al
jne 0x414494
push 0x4ad8ec
push 4
pop ecx
call fcn.0040d57f
pop ecx
push 0x4ad920
push 4
pop ecx
call fcn.0040d57f
mov eax, dword [esi + 0x1f14]
pop ecx
mov ecx, dword [esi + 0x1f18]
sub ecx, eax
sar ecx, 2
xor ebx, ebx
test ecx, ecx
je 0x4144f2
push edi
push dword [ebp - 0x20e0]
lea eax, [eax + ebx*4]
mov ecx, dword [eax]
call fcn.0041281c
test al, al
jne 0x4144dc
push 0x4ad974
push 4
pop ecx
call fcn.0040d57f
pop ecx
mov eax, dword [esi + 0x1f14]
mov ecx, dword [esi + 0x1f18]
sub ecx, eax
inc ebx
sar ecx, 2
cmp ebx, ecx
jb 0x4144b9
lea eax, [ebp - 0x130]
push eax
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x20e8], esp
push eax
mov eax, 0x4ad9a8
call fcn.00404cae
mov byte [ebp - 4], 0x32
push dword [ebp - 0x20e0]
mov byte [ebp - 4], 0x17
lea esi, [ebp + 0x10]
call fcn.00414c7c
test al, al
je 0x41456c
push 0
lea eax, [ebp - 0x130]
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
lea eax, [ebp - 0x60]
push eax
mov eax, 0x4a9ef8
call fcn.00404cae
mov byte [ebp - 4], 0x33
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x130]
call fcn.00404d40
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x60]
call fcn.00403d16
push 0x4ad9c0
lea ebx, [ebp - 0xe4]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0x20d0]
cmp dword [edx + 0x14], 8
jb 0x414594
mov edx, dword [edx]
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0x35
push 0
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
mov byte [ebp - 4], 0x34
mov ecx, ebx
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xe4]
call fcn.00403d16
push 0x4ada10
lea ebx, [ebp - 0x7c]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x20d0]
cmp dword [ecx + 0x14], 8
jb 0x4145f1
mov edx, dword [ecx]
jmp 0x4145f3
mov edx, ecx
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0x37
push 0
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
mov byte [ebp - 4], 0x36
mov ecx, ebx
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x7c]
call fcn.00403d16
push 0x4ada28
lea ebx, [ebp - 0xe4]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x20d0]
cmp dword [ecx + 0x14], 8
jb 0x414650
mov edx, dword [ecx]
jmp 0x414652
mov edx, ecx
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0x39
xor ebx, ebx
push ebx
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x60]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xe4]
call fcn.00403d16
lea eax, [ebp - 0x130]
push eax
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x20e8], esp
push eax
mov eax, 0x4ada54
call fcn.00404cae
mov byte [ebp - 4], 0x3a
push dword [ebp - 0x20e0]
mov byte [ebp - 4], 0x17
lea esi, [ebp + 0x10]
call fcn.00414c7c
cmp al, bl
je 0x414702
push ebx
lea eax, [ebp - 0x130]
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
lea eax, [ebp - 0x60]
push eax
mov eax, 0x4a9ef8
call fcn.00404cae
mov byte [ebp - 4], 0x3b
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x130]
call fcn.00404d40
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x60]
call fcn.00403d16
push 0x4ada80
lea ebx, [ebp - 0xe4]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0x3c
mov edx, dword [ebp - 0x20d0]
cmp dword [edx + 0x14], 8
jb 0x41472a
mov edx, dword [edx]
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0x3d
push 0
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
mov byte [ebp - 4], 0x3c
mov ecx, ebx
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xe4]
call fcn.00403d16
push 0x4adae4
lea ebx, [ebp - 0x7c]
lea ecx, [ebp - 0x114]
call fcn.00407117
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x20d0]
cmp dword [ecx + 0x14], 8
jb 0x414787
mov edx, dword [ecx]
jmp 0x414789
mov edx, ecx
push edx
lea ebx, [ebp - 0x60]
mov ecx, eax
call fcn.00407117
mov byte [ebp - 4], 0x3f
push 0
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004050ab
mov byte [ebp - 4], 0x3e
mov ecx, ebx
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x7c]
call fcn.00403d16
mov esi, 0x4adb18
push esi
call fcn.00477a67
mov ebx, dword [ebp - 0x20d8]
pop ecx
mov edi, eax
push esi
mov eax, ebx
call fcn.00405148
mov eax, dword [ebp - 0x20d0]
cmp dword [eax + 0x14], 8
jb 0x4147e6
mov eax, dword [eax]
push eax
push ebx
call fcn.00404d21
mov esi, 0x4adb68
push esi
call fcn.00477a67
pop ecx
mov edi, eax
push esi
mov eax, ebx
call fcn.00405148
mov ebx, dword [ebx + 0x10]
lea eax, [ebp - 0x21b0]
push eax
call fcn.004090fb
mov esi, eax
mov byte [ebp - 4], pe_nt_image_headers32
push 0x4adb7c
push esi
call fcn.0040b677
pop ecx
pop ecx
push ebx
push esi
call fcn.00415b90
lea ebx, [ebp - 0x60]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 0x41
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x414845
mov eax, ebx
push eax
push 4
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], pe_nt_image_headers32
lea ecx, [ebp - 0x60]
call fcn.00403d16
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x21b0]
call fcn.00407bad
mov byte [ebp - 4], 4
lea eax, [ebp - 0x2114]
push eax
call fcn.004154ac
xor esi, esi
jmp 0x412b62