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

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x550
call fcn.1002c768
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
movzx eax, byte [eax + 0x87]
test eax, eax
je 0x1006cb23
xor al, al
jmp 0x10070220
mov eax, dword [0x1027c41c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
add eax, 0x1520
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x13d], 0
mov eax, dword [ebx + 0x1c]
and eax, 0x100000
je 0x1006cb56
mov byte [ebp - 0x71], 1
jmp 0x1006cb5a
mov byte [ebp - 0x71], 0
mov al, byte [ebp - 0x71]
mov byte [ebp - 5], al
mov eax, dword [ebx + 0x1c]
and eax, 0x4000
je 0x1006cb70
mov byte [ebp - 0x72], 1
jmp 0x1006cb74
mov byte [ebp - 0x72], 0
mov al, byte [ebp - 0x72]
mov byte [ebp - 6], al
mov eax, dword [ebx + 0x1c]
and eax, 0x8000
je 0x1006cb8a
mov byte [ebp - 0x73], 1
jmp 0x1006cb8e
mov byte [ebp - 0x73], 0
mov al, byte [ebp - 0x73]
mov byte [ebp - 0x1e], al
mov eax, dword [ebx + 0x1c]
and eax, 0x10000
jne 0x1006cba4
mov byte [ebp - 0x4d], 1
jmp 0x1006cba8
mov byte [ebp - 0x4d], 0
mov al, byte [ebp - 0x4d]
mov byte [ebp - 0x6a], al
mov eax, dword [ebx + 0x1c]
and eax, 0x40000
je 0x1006cbbe
mov byte [ebp - 0x4e], 1
jmp 0x1006cbc2
mov byte [ebp - 0x4e], 0
mov al, byte [ebp - 0x4e]
mov byte [ebp - 0x37], al
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006cbd5
call fcn.10050d64
mov eax, dword [ebp - 0xc]
movss xmm0, dword [eax + 0x1a08]
movss dword [ebp - 0x24], xmm0
push 0
push dword [ebx + 8]
mov ecx, dword [ebp - 0x4c]
call fcn.100493dd
mov dword [ebp - 0x1c], eax
xorps xmm1, xmm1
mov eax, dword [ebp - 0xc]
movss xmm0, dword [eax + 0x1a08]
call fcn.10046146
movss dword [ebp - 0x394], xmm0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov dword [ebp - 0x398], eax
push ecx
movss xmm0, dword [0x10274284]
movss dword [esp], xmm0
push 1
push 0
push dword [ebx + 8]
movss xmm2, dword [ebp - 0x394]
mov edx, dword [ebp - 0x398]
lea ecx, [ebp - 0x2b8]
call fcn.1004b9d5
add esp, 0x10
xorps xmm2, xmm2
xorps xmm1, xmm1
lea ecx, [ebp - 0x4c8]
call fcn.1000137e
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], eax
push dword [ebp - 0x3c4]
push dword [ebp - 0x3c8]
push dword [ebp - 0x3cc]
push dword [ebp - 0x3d0]
lea ecx, [ebp - 0x4d0]
call fcn.1004623e
add esp, 0x10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], ecx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3e4], ecx
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006cd0c
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [0x10273f60]
movss dword [ebp - 0x250], xmm0
jmp 0x1006cd1c
movss xmm0, dword [ebp - 0x2b4]
movss dword [ebp - 0x250], xmm0
mov eax, dword [ebp - 0x30]
movss xmm0, dword [eax + 0x3c]
mulss xmm0, dword [0x10273f00]
addss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x39c], xmm0
call fcn.10050bbc
movss dword [ebp - 0x3a0], xmm0
push dword [ebp - 0x3e4]
push dword [ebp - 0x3e8]
movss xmm2, dword [ebp - 0x39c]
movss xmm1, dword [ebp - 0x3a0]
lea ecx, [ebp - 0x158]
call fcn.10050c1d
pop ecx
pop ecx
movss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0x3a4], xmm0
movss xmm0, dword [ebp - 0x2b8]
comiss xmm0, dword [0x10273d1c]
jbe 0x1006cdad
mov eax, dword [ebp - 0x30]
movss xmm0, dword [eax + 0x50]
addss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x254], xmm0
jmp 0x1006cdb8
xorps xmm0, xmm0
movss dword [ebp - 0x254], xmm0
movss xmm1, dword [ebp - 0x158]
addss xmm1, dword [ebp - 0x254]
movss xmm2, dword [ebp - 0x3a4]
lea ecx, [ebp - 0x41c]
call fcn.1000137e
mov eax, dword [ebp - 0x4c]
add eax, 0xd0
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
movss xmm2, dword [eax + 4]
addss xmm2, dword [ebp - 0x154]
mov eax, dword [ebp - 0x258]
movss xmm1, dword [eax]
addss xmm1, dword [ebp - 0x158]
lea ecx, [ebp - 0x454]
call fcn.1000137e
lea eax, [ebp - 0x454]
push eax
mov eax, dword [ebp - 0x4c]
add eax, 0xd0
push eax
lea ecx, [ebp - 0xf8]
call fcn.1002c746
movss xmm2, dword [ebp - 0xf4]
addss xmm2, dword [ebp - 0x418]
movss xmm1, dword [ebp - 0xf8]
addss xmm1, dword [ebp - 0x41c]
lea ecx, [ebp - 0x45c]
call fcn.1000137e
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x43c]
call fcn.1002c746
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], ecx
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006cfc4
lea eax, [ebp - 0xf8]
push eax
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x43c]
call fcn.100507f6
pop ecx
movzx eax, al
test eax, eax
jne 0x1006cede
mov eax, dword [ebp - 0x30]
movss xmm1, dword [eax + 0x3c]
lea ecx, [ebp - 0x43c]
call fcn.100507ca
call fcn.10050e6a
xor al, al
jmp 0x10070220
push 0x10
pop eax
imul eax, eax, 7
mov ecx, dword [ebp - 0x30]
lea edx, [ecx + eax + 0xdc]
push 3
pop ecx
call fcn.100484e1
mov eax, dword [ebp - 0x30]
movss xmm1, dword [eax + 0x40]
push 6
pop ecx
call fcn.1004856c
mov eax, dword [ebp - 0x30]
movss xmm1, dword [eax + 0x44]
push 7
pop ecx
call fcn.1004856c
mov edx, dword [ebp - 0x30]
add edx, 0x38
xor ecx, ecx
inc ecx
call fcn.100485c8
push 0x10004
push 1
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0xf8]
call fcn.10046530
push eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
call fcn.1004bf82
add esp, 0xc
mov byte [ebp - 0x9b], al
push 3
pop ecx
call fcn.10048636
xor ecx, ecx
inc ecx
call fcn.10048529
movzx eax, byte [ebp - 0x9b]
test eax, eax
jne 0x1006cf7e
call fcn.1004c184
call fcn.10050e6a
xor al, al
jmp 0x10070220
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b48]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
inc edx
mov ecx, dword [eax + 0x13c]
shl edx, cl
mov eax, dword [ebp - 0x28]
or edx, dword [eax + 0x144]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x144], edx
mov eax, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0xb4]
subss xmm0, dword [eax + 0x78]
movss dword [ebp - 0xb4], xmm0
jmp 0x1006cffb
mov eax, dword [ebp - 0x30]
movss xmm1, dword [eax + 0x3c]
lea ecx, [ebp - 0x43c]
call fcn.100507ca
lea eax, [ebp - 0xf8]
push eax
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x43c]
call fcn.100507f6
pop ecx
movzx eax, al
test eax, eax
jne 0x1006cffb
xor al, al
jmp 0x10070220
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0xf8]
call fcn.10049812
mov byte [ebp - 0x1d], al
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1006d021
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x1f64], 1
mov eax, dword [0x1027c41c]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x25c]
mov eax, dword [eax + 0x2038]
cmp eax, dword [ebp - 0x1c]
jne 0x1006d050
mov eax, dword [ebp - 0x25c]
add eax, 0x2038
mov dword [ebp - 0x260], eax
jmp 0x1006d057
and dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x260]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x4c]
call fcn.10049967
mov byte [ebp - 0x31], al
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x1006d09e
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1da8]
cmp eax, dword [ebp - 0x4c]
jne 0x1006d09e
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [eax + 0x1db0]
cmp eax, dword [ecx + 0x1a0]
jne 0x1006d09e
mov byte [ebp - 0x4f], 1
jmp 0x1006d0a2
mov byte [ebp - 0x4f], 0
mov al, byte [ebp - 0x4f]
mov byte [ebp - 0x58], al
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x1006d0be
movzx eax, byte [ebp - 0x58]
test eax, eax
jne 0x1006d0be
mov byte [ebp - 0x50], 1
jmp 0x1006d0c2
mov byte [ebp - 0x50], 0
mov al, byte [ebp - 0x50]
mov byte [ebp - 0x98], al
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1006d0ee
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 0x3d8]
test eax, eax
je 0x1006d0ee
mov byte [ebp - 0x51], 1
jmp 0x1006d0f2
mov byte [ebp - 0x51], 0
mov al, byte [ebp - 0x51]
mov byte [ebp - 0x59], al
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
je 0x1006d134
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1ca0]
cmp eax, dword [ebp - 0x1c]
je 0x1006d12e
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c94]
cmp eax, dword [ebp - 0x1c]
jne 0x1006d134
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x1cb8], 3
jne 0x1006d134
mov byte [ebp - 0x52], 1
jmp 0x1006d138
mov byte [ebp - 0x52], 0
mov al, byte [ebp - 0x52]
mov byte [ebp - 0x35], al
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006d175
cmp dword [ebp - 4], 0
je 0x1006d175
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x1b80], 0
jne 0x1006d175
push 1
push dword [ebp - 0x28]
call fcn.1006689a
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1bbc], eax
jne 0x1006d175
mov byte [ebp - 0x53], 1
jmp 0x1006d179
mov byte [ebp - 0x53], 0
mov al, byte [ebp - 0x53]
mov byte [ebp - 0x9a], al
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006d1ad
cmp dword [ebp - 4], 0
je 0x1006d1ad
push 1
push dword [ebp - 0x28]
call fcn.1006689a
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1b80], eax
jne 0x1006d1ad
mov byte [ebp - 0x54], 1
jmp 0x1006d1b1
mov byte [ebp - 0x54], 0
mov al, byte [ebp - 0x54]
mov byte [ebp - 0x5b], al
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
je 0x1006d1ed
mov eax, dword [ebx + 0x1c]
and eax, 0x10
jne 0x1006d1d9
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x1006d1ed
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1006d1ed
mov dword [ebp - 0x264], 1
jmp 0x1006d1f4
and dword [ebp - 0x264], 0
mov al, byte [ebp - 0x264]
mov byte [ebp - 0x33], al
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006d217
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x54]
movss dword [ebp - 0x268], xmm0
jmp 0x1006d227
movss xmm0, dword [0x10274250]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x268]
movss dword [ebp - 0x48], xmm0
movzx eax, byte [ebp - 0x31]
test eax, eax
jne 0x1006d25d
movzx eax, byte [ebp - 0x59]
test eax, eax
jne 0x1006d25d
movzx eax, byte [ebp - 0x9a]
test eax, eax
jne 0x1006d25d
movzx eax, byte [ebp - 0x35]
test eax, eax
jne 0x1006d25d
mov byte [ebp - 0x55], 0
jmp 0x1006d261
mov byte [ebp - 0x55], 1
mov al, byte [ebp - 0x55]
mov byte [ebp - 0x32], al
movzx eax, byte [ebp - 0x32]
test eax, eax
jne 0x1006d27d
movzx eax, byte [ebp - 0x5b]
test eax, eax
jne 0x1006d27d
mov byte [ebp - 0x56], 0
jmp 0x1006d281
mov byte [ebp - 0x56], 1
mov al, byte [ebp - 0x56]
mov byte [ebp - 0x5a], al
movzx eax, byte [ebp - 0x5a]
test eax, eax
je 0x1006d487
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
je 0x1006d487
mov eax, dword [ebp - 0xc]
add eax, 0x2038
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movss xmm0, dword [0x10274264]
movss dword [eax + 0xe68], xmm0
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp - 0xdc]
mov al, byte [eax]
mov byte [ebp - 0x94], al
inc dword [ebp - 0xdc]
cmp byte [ebp - 0x94], 0
jne 0x1006d2d9
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 4]
add eax, 0x24
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x26c]
inc eax
push eax
mov ecx, dword [ebp - 0x3b0]
call fcn.10055e7f
mov eax, dword [ebp - 0x26c]
inc eax
push eax
push dword [ebx + 0x10]
mov eax, dword [ebp - 4]
push dword [eax + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 4]
add eax, 0xc
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebx + 0x14]
inc eax
push eax
mov ecx, dword [ebp - 0x3b4]
call fcn.10055f2c
mov eax, dword [ebp - 4]
add eax, 0x18
mov dword [ebp - 0x3b8], eax
push 0
mov ecx, dword [ebp - 0x3b8]
call fcn.10055e7f
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0
lea eax, [ebp - 0x270]
push eax
push 0
push dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
call fcn.10047d25
add esp, 0xc
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x270]
sub eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1c]
jne 0x1006d3d1
mov byte [ebp - 0x57], 1
jmp 0x1006d3d5
mov byte [ebp - 0x57], 0
mov al, byte [ebp - 0x57]
mov byte [ebp - 0x99], al
movzx eax, byte [ebp - 0x99]
test eax, eax
je 0x1006d3f3
mov ecx, dword [ebp - 4]
call fcn.10064961
jmp 0x1006d449
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [eax + 0x38], xmm0
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1006d41a
mov dword [ebp - 0x274], 1
jmp 0x1006d421
and dword [ebp - 0x274], 0
push dword [ebp - 0x274]
mov eax, dword [ebp - 4]
add eax, 0x3c
push eax
call fcn.1006c7ba
pop ecx
pop ecx
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1006d449
movzx eax, byte [ebp - 0x58]
test eax, eax
je 0x1006d449
mov byte [ebp - 0x33], 1
mov eax, dword [ebx + 0x1c]
and eax, 0x2000
je 0x1006d45a
mov eax, dword [ebp - 4]
mov byte [eax + 0x48], 1
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1006d487
movzx eax, byte [ebp - 0x98]
test eax, eax
jne 0x1006d483
movzx eax, byte [ebp - 0x59]
test eax, eax
je 0x1006d487
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
je 0x1006d487
mov byte [ebp - 0x33], 1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
je 0x1006d58c
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x1006d58c
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
call fcn.100495fd
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
call fcn.10051fe4
mov ecx, dword [ebp - 0x4c]
call fcn.1004fe9d
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b94]
or eax, 3
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1b94], eax
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1006d4ea
mov eax, dword [ebx + 0x1c]
and eax, 0x80
je 0x1006d4ff
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b94]
or eax, 0xc
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1b94], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b98]
or eax, 2
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1b98], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1ba0]
or ecx, 0x180
mov eax, dword [eax + 0x1ba4]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1ba0], ecx
mov dword [edx + 0x1ba4], eax
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006d561
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1ba0]
or ecx, 0x60
mov eax, dword [eax + 0x1ba4]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1ba0], ecx
mov dword [edx + 0x1ba4], eax
mov eax, dword [ebx + 0x1c]
and eax, 0x440
je 0x1006d58c
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1ba0]
or ecx, 1
mov eax, dword [eax + 0x1ba4]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1ba0], ecx
mov dword [edx + 0x1ba4], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
jne 0x1006d5a5
cmp dword [ebp - 4], 0
jne 0x1006d5a5
call fcn.100496a7
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
jne 0x1006d5dc
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 0x3d8]
test eax, eax
je 0x1006d5dc
movzx eax, byte [ebp - 0x5a]
test eax, eax
jne 0x1006d5dc
movzx eax, byte [ebp - 0x32]
test eax, eax
jne 0x1006d5dc
mov byte [ebp - 0x15], 1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
je 0x1006d5fe
cmp dword [ebp - 4], 0
je 0x1006d5f8
movzx eax, byte [ebp - 0x5b]
test eax, eax
jne 0x1006d5fe
mov byte [ebp - 0x5c], 0
jmp 0x1006d602
mov byte [ebp - 0x5c], 1
mov al, byte [ebp - 0x5c]
mov byte [ebp - 0x12], al
cmp dword [ebp - 4], 0
je 0x1006d652
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006d628
mov dword [ebp - 0x278], 1
jmp 0x1006d62f
and dword [ebp - 0x278], 0
movzx eax, byte [ebp - 0x278]
test eax, eax
je 0x1006d652
xor eax, eax
jne 0x1006d646
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x1006d652
mov dword [ebp - 0x16c], 1
jmp 0x1006d659
and dword [ebp - 0x16c], 0
mov al, byte [ebp - 0x16c]
mov byte [ebp - 0x11], al
mov byte [ebp - 0x39], 0
mov byte [ebp - 0x38], 0
movzx eax, byte [ebp - 6]
test eax, eax
je 0x1006d725
cmp dword [ebp - 4], 0
je 0x1006d725
movzx eax, byte [ebp - 0x12]
test eax, eax
jne 0x1006d694
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1006d725
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 4]
add eax, 0xc
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebx + 0x14]
inc eax
push eax
mov ecx, dword [ebp - 0x3f8]
call fcn.10055f2c
lea eax, [ebp - 0x170]
push eax
push 0
push dword [ebx + 0x10]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
call fcn.10047d25
add esp, 0xc
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x170]
sub eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
call fcn.10064961
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006d70e
mov dword [ebp - 0x174], 1
jmp 0x1006d715
and dword [ebp - 0x174], 0
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp - 0x174]
and eax, ecx
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0x12]
test eax, eax
jne 0x1006d743
movzx eax, byte [ebp - 0x11]
test eax, eax
jne 0x1006d743
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
jne 0x1006d762
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006d762
cmp dword [ebp - 4], 0
je 0x1006d762
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x30]
test eax, eax
je 0x1006d762
mov byte [ebp - 0x5d], 1
jmp 0x1006d766
mov byte [ebp - 0x5d], 0
mov al, byte [ebp - 0x5d]
mov byte [ebp - 0x6f], al
cmp dword [ebx + 0xc], 0
je 0x1006d7ab
movzx eax, byte [ebp - 0x6f]
test eax, eax
je 0x1006d788
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x178], eax
jmp 0x1006d791
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x178], eax
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x178]
movsx eax, byte [ecx + eax]
test eax, eax
jne 0x1006d7ab
mov byte [ebp - 0x5e], 1
jmp 0x1006d7af
mov byte [ebp - 0x5e], 0
mov al, byte [ebp - 0x5e]
mov byte [ebp - 0x13], al
movzx eax, byte [ebp - 0x1e]
test eax, eax
je 0x1006d892
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1006d892
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov dword [ebp - 0x3c0], eax
push 0x2a
mov ecx, dword [ebp - 0x3c0]
call fcn.1006307c
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0xc]
add eax, 0x2eb4
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov ecx, dword [ebp - 0x88]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov ecx, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov ecx, dword [ebp - 0x88]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov ecx, dword [ebp - 0x88]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov ecx, dword [ebp - 0x88]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x17c]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x17c]
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x88]
call fcn.10050070
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
jne 0x1006dd59
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6e], 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebx + 0x14]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebx + 0x1c]
mov dword [eax + 0xe70], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebx + 0x20]
mov dword [eax + 0xe74], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebx + 0x24]
mov dword [eax + 0xe78], ecx
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 0xe8]
test eax, eax
jne 0x1006d90f
mov dword [ebp - 0x180], 1
jmp 0x1006d916
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp - 0x180]
mov byte [eax + 0x1b8d], cl
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x31c4], 1
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0xe0]
subss xmm0, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x30]
subss xmm0, dword [eax + 0x38]
mov eax, dword [ebp - 4]
addss xmm0, dword [eax + 0x38]
movss dword [ebp - 0x18c], xmm0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006d98d
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [eax + 0xe4]
subss xmm0, dword [ecx + 0xd4]
mov eax, dword [ebp - 0x30]
subss xmm0, dword [eax + 0x3c]
movss dword [ebp - 0x184], xmm0
jmp 0x1006d9a2
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [0x10273e38]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x188], xmm0
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 0xa9]
mov byte [ebp - 0x34], al
movzx eax, byte [ebp - 0x33]
test eax, eax
jne 0x1006d9eb
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1006da02
movzx eax, byte [ebp - 0x34]
test eax, eax
jne 0x1006da02
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 0x3dd]
test eax, eax
je 0x1006da02
mov ecx, dword [ebp - 4]
call fcn.100649d0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6d], 1
jmp 0x1006db59
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1006da46
movzx eax, byte [ebp - 0x34]
test eax, eax
je 0x1006da46
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 0x3dd]
test eax, eax
je 0x1006da46
push 0x20000c
mov ecx, dword [ebp - 4]
call fcn.1006c847
push 0x60000d
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006db59
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 0x3d8]
test eax, eax
je 0x1006dab7
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xe6d]
test eax, eax
jne 0x1006dab7
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1006dab2
push ecx
movss xmm0, dword [ebp - 0x188]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x18c]
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
add eax, 0x3c
push eax
push dword [ebp - 4]
call fcn.1006ada2
add esp, 0x10
mov eax, dword [ebp - 4]
movss xmm0, dword [0x10274264]
movss dword [eax + 0xe68], xmm0
jmp 0x1006db59
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 0xe8]
test eax, eax
je 0x1006db59
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xe6d]
test eax, eax
jne 0x1006db59
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x370]
ucomiss xmm0, dword [0x10273d1c]
lahf
test ah, 0x44
jp 0x1006db0e
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x374]
ucomiss xmm0, dword [0x10273d1c]
lahf
test ah, 0x44
jnp 0x1006db59
push ecx
movss xmm0, dword [ebp - 0x188]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x18c]
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
add eax, 0x3c
push eax
push dword [ebp - 4]
call fcn.1006ae13
add esp, 0x10
mov eax, dword [ebp - 4]
movss xmm0, dword [0x10274264]
movss dword [eax + 0xe68], xmm0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6c], 1
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xe6d]
test eax, eax
je 0x1006db86
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 0xe8]
test eax, eax
jne 0x1006db86
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6d], 0
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
je 0x1006dba2
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xfa]
test eax, eax
je 0x1006dbbe
movzx eax, byte [ebp - 0x34]
test eax, eax
je 0x1006dbb8
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xfb]
test eax, eax
jne 0x1006dbbe
mov byte [ebp - 0x5f], 0
jmp 0x1006dbc2
mov byte [ebp - 0x5f], 1
mov al, byte [ebp - 0x5f]
mov byte [ebp - 0x60], al
mov eax, dword [ebx + 0x1c]
and eax, 0x400
je 0x1006dc70
mov dl, 1
xor ecx, ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006dc70
movzx eax, byte [ebp - 0x60]
test eax, eax
jne 0x1006dc70
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf9]
test eax, eax
jne 0x1006dc70
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006dc70
mov eax, dword [ebp - 0x10]
add eax, 0x1508
mov dword [ebp - 0x3f4], eax
push 9
pop eax
mov word [ebp - 0x140], ax
lea eax, [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x3f4]
call fcn.10075ac5
movzx eax, al
test eax, eax
jne 0x1006dc70
mov dword [ebp - 0x190], 9
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
lea eax, [ebp - 0x190]
push eax
call fcn.1006c89f
add esp, 0x10
movzx eax, al
test eax, eax
je 0x1006dc70
push dword [ebp - 0x190]
mov ecx, dword [ebp - 4]
call fcn.1006c847
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x1508], 0
jle 0x1006dd59
movzx eax, byte [ebp - 0x60]
test eax, eax
jne 0x1006dd3e
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006dd3e
movzx eax, byte [ebp - 0x35]
test eax, eax
jne 0x1006dd3e
and dword [ebp - 0xfc], 0
jmp 0x1006dcba
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xfc]
cmp ecx, dword [eax + 0x1508]
jge 0x1006dd3e
mov eax, dword [ebp - 0x10]
add eax, 0x1508
mov dword [ebp - 0x40c], eax
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x40c]
call fcn.10055f4e
movzx eax, word [eax]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 9
jne 0x1006dd0c
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf9]
test eax, eax
je 0x1006dd0c
jmp 0x1006dcad
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
lea eax, [ebp - 0x12c]
push eax
call fcn.1006c89f
add esp, 0x10
movzx eax, al
test eax, eax
je 0x1006dd39
push dword [ebp - 0x12c]
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006dcad
mov eax, dword [ebp - 0x10]
add eax, 0x1508
mov dword [ebp - 0x2c8], eax
push 0
mov ecx, dword [ebp - 0x2c8]
call fcn.10055f2c
mov byte [ebp - 0x2b], 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
jne 0x1006ea13
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x1b8c]
test eax, eax
jne 0x1006ea13
movzx eax, byte [ebp - 0x15]
test eax, eax
jne 0x1006ea13
mov eax, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0xb0]
subss xmm0, dword [eax + 0x3c]
divss xmm0, dword [ebp - 0x24]
cvttss2si ecx, xmm0
xor edx, edx
inc edx
call fcn.10075de3
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x150]
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf9]
test eax, eax
je 0x1006ddda
mov dword [ebp - 0x194], 0x400000
jmp 0x1006dde1
and dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 0xa9]
mov byte [ebp - 0x2a], al
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1006de10
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x378], 0xa
jne 0x1006de10
mov byte [ebp - 0x61], 1
jmp 0x1006de14
mov byte [ebp - 0x61], 0
mov al, byte [ebp - 0x61]
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1006de33
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 0xfa]
mov byte [ebp - 0x62], al
jmp 0x1006de3f
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 0xf8]
mov byte [ebp - 0x62], al
mov al, byte [ebp - 0x62]
mov byte [ebp - 0x36], al
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1006de7d
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xfb]
test eax, eax
je 0x1006de7d
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
jne 0x1006de7d
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xfa]
test eax, eax
jne 0x1006de7d
mov byte [ebp - 0x63], 1
jmp 0x1006de81
mov byte [ebp - 0x63], 0
mov al, byte [ebp - 0x63]
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x378], 1
jne 0x1006de99
mov byte [ebp - 0x64], 1
jmp 0x1006de9d
mov byte [ebp - 0x64], 0
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x96], al
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x378], 2
jne 0x1006deb8
mov byte [ebp - 0x65], 1
jmp 0x1006debc
mov byte [ebp - 0x65], 0
mov al, byte [ebp - 0x65]
mov byte [ebp - 0x70], al
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xb1]
test eax, eax
je 0x1006defd
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x378], 8
jne 0x1006dee8
mov dword [ebp - 0x198], 1
jmp 0x1006deef
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1a0], eax
jmp 0x1006df28
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x378], 1
jne 0x1006df15
mov dword [ebp - 0x19c], 1
jmp 0x1006df1c
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1a0], eax
mov al, byte [ebp - 0x1a0]
mov byte [ebp - 0x14], al
movzx eax, byte [ebp - 0x14]
test eax, eax
je 0x1006df4a
mov dl, 1
push 0x13
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
jne 0x1006df63
movzx eax, byte [ebp - 0x70]
test eax, eax
je 0x1006dfad
mov dl, 1
push 0xa
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006dfad
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006dfad
movzx eax, byte [ebp - 0x1e]
test eax, eax
jne 0x1006dfad
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006dfa7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006df95
mov dword [ebp - 0x1a4], 1
jmp 0x1006df9c
and dword [ebp - 0x1a4], 0
movzx eax, byte [ebp - 0x1a4]
test eax, eax
je 0x1006dfad
mov byte [ebp - 0x66], 1
jmp 0x1006dfb1
mov byte [ebp - 0x66], 0
mov al, byte [ebp - 0x66]
mov byte [ebp - 0x6e], al
movzx eax, byte [ebp - 0x14]
test eax, eax
je 0x1006dfd0
mov dl, 1
push 0x11
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
jne 0x1006dfec
movzx eax, byte [ebp - 0x96]
test eax, eax
je 0x1006e02e
mov dl, 1
push 9
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e02e
movzx eax, byte [ebp - 0x1e]
test eax, eax
jne 0x1006e02e
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006e028
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006e016
mov dword [ebp - 0x1a8], 1
jmp 0x1006e01d
and dword [ebp - 0x1a8], 0
movzx eax, byte [ebp - 0x1a8]
test eax, eax
je 0x1006e02e
mov byte [ebp - 0x67], 1
jmp 0x1006e032
mov byte [ebp - 0x67], 0
mov al, byte [ebp - 0x67]
mov byte [ebp - 0x9c], al
movzx eax, byte [ebp - 0x14]
test eax, eax
je 0x1006e054
mov dl, 1
push 0x12
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
jne 0x1006e06d
movzx eax, byte [ebp - 0x70]
test eax, eax
je 0x1006e07b
mov dl, 1
push 9
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e07b
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006e07b
mov byte [ebp - 0x68], 1
jmp 0x1006e07f
mov byte [ebp - 0x68], 0
mov al, byte [ebp - 0x68]
mov byte [ebp - 0x9d], al
movzx eax, byte [ebp - 0x14]
test eax, eax
je 0x1006e0b7
mov dl, 1
push 0x15
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e0b7
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006e0b7
movzx eax, byte [ebp - 0x6a]
test eax, eax
je 0x1006e0b7
mov byte [ebp - 0x69], 1
jmp 0x1006e0bb
mov byte [ebp - 0x69], 0
mov al, byte [ebp - 0x69]
mov byte [ebp - 0x6d], al
movzx eax, byte [ebp - 0x14]
test eax, eax
je 0x1006e0da
mov dl, 1
push 0x14
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
jne 0x1006e0f6
movzx eax, byte [ebp - 0x95]
test eax, eax
je 0x1006e10c
mov dl, 1
push 0x15
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e10c
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006e10c
movzx eax, byte [ebp - 0x6a]
test eax, eax
je 0x1006e10c
mov byte [ebp - 0x6b], 1
jmp 0x1006e110
mov byte [ebp - 0x6b], 0
mov al, byte [ebp - 0x6b]
mov byte [ebp - 0x97], al
mov dl, 1
xor ecx, ecx
inc ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e17f
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x1006e13e
mov dword [ebp - 0x1b0], 0x200004
jmp 0x1006e168
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x1006e152
mov dword [ebp - 0x1ac], 0x20000c
jmp 0x1006e15c
mov dword [ebp - 0x1ac], 0x200000
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
or eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 2
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e1e5
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x1006e1a4
mov dword [ebp - 0x1b8], 0x200005
jmp 0x1006e1ce
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x1006e1b8
mov dword [ebp - 0x1b4], 0x20000d
jmp 0x1006e1c2
mov dword [ebp - 0x1b4], 0x200001
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
or eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 3
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e263
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006e263
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
je 0x1006e22e
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x54]
subss xmm0, dword [ebp - 0x24]
xorps xmm1, xmm1
call fcn.10075af7
movaps xmm1, xmm0
mov ecx, dword [ebp - 0x28]
call fcn.10051397
jmp 0x1006e25e
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x1006e242
mov dword [ebp - 0x1bc], 0x200006
jmp 0x1006e24c
mov dword [ebp - 0x1bc], 0x200002
mov eax, dword [ebp - 0x1bc]
or eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 4
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e30b
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006e30b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
je 0x1006e2d6
call fcn.10051386
movss dword [ebp - 0x2cc], xmm0
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x54]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x2d0], xmm0
movss xmm1, dword [ebp - 0x2cc]
movss xmm0, dword [ebp - 0x2d0]
call fcn.10075af2
movaps xmm1, xmm0
mov ecx, dword [ebp - 0x28]
call fcn.10051397
jmp 0x1006e306
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x1006e2ea
mov dword [ebp - 0x1c0], 0x200007
jmp 0x1006e2f4
mov dword [ebp - 0x1c0], 0x200003
mov eax, dword [ebp - 0x1c0]
or eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 5
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e355
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006e355
mov eax, dword [ebp - 0x40]
or eax, 0x20000e
push eax
mov ecx, dword [ebp - 4]
call fcn.1006c847
cvtsi2ss xmm0, dword [ebp - 0x150]
mulss xmm0, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x48]
subss xmm1, xmm0
movss dword [ebp - 0x48], xmm1
jmp 0x1006e9bb
mov dl, 1
push 6
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e39b
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006e39b
mov eax, dword [ebp - 0x40]
or eax, 0x20000f
push eax
mov ecx, dword [ebp - 4]
call fcn.1006c847
cvtsi2ss xmm0, dword [ebp - 0x150]
mulss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x48], xmm0
jmp 0x1006e9bb
mov dl, 1
push 7
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e3eb
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
je 0x1006e3ca
mov eax, dword [ebp - 0x40]
or eax, 0x200006
mov dword [ebp - 0x1c4], eax
jmp 0x1006e3d8
mov eax, dword [ebp - 0x40]
or eax, 0x200004
mov dword [ebp - 0x1c4], eax
push dword [ebp - 0x1c4]
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 8
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e43b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
je 0x1006e41a
mov eax, dword [ebp - 0x40]
or eax, 0x200007
mov dword [ebp - 0x1c8], eax
jmp 0x1006e428
mov eax, dword [ebp - 0x40]
or eax, 0x200005
mov dword [ebp - 0x1c8], eax
push dword [ebp - 0x1c8]
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 0xa
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e46a
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006e46a
mov eax, dword [ebp - 0x40]
or eax, 0x200008
push eax
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 0xb
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e523
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006e523
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006e4a5
mov dword [ebp - 0x1cc], 1
jmp 0x1006e4ac
and dword [ebp - 0x1cc], 0
movzx eax, byte [ebp - 0x1cc]
test eax, eax
jne 0x1006e50d
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x1006e4ce
push 0x60000c
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e50d
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1006e50d
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xfb]
test eax, eax
je 0x1006e50d
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xfa]
test eax, eax
jne 0x1006e50d
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
jne 0x1006e50d
push 0x600004
mov ecx, dword [ebp - 4]
call fcn.1006c847
mov eax, dword [ebp - 0x40]
or eax, 0x200009
push eax
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 0xd
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
jne 0x1006e549
mov dl, 1
push 0xf
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e5f3
mov eax, dword [ebx + 0x1c]
and eax, 0x800
je 0x1006e55f
mov dword [ebp - 0x1d0], 1
jmp 0x1006e566
and dword [ebp - 0x1d0], 0
mov al, byte [ebp - 0x1d0]
mov byte [ebp - 0x6c], al
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006e5a3
movzx eax, byte [ebp - 0x6c]
test eax, eax
je 0x1006e58d
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
je 0x1006e5a3
movzx eax, byte [ebp - 0x6c]
test eax, eax
jne 0x1006e5af
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xf8]
test eax, eax
je 0x1006e5af
mov byte [ebp - 0x15], 1
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x38], al
jmp 0x1006e5ee
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006e5ee
mov dword [ebp - 0x1d4], 0xa
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
lea eax, [ebp - 0x1d4]
push eax
call fcn.1006c89f
add esp, 0x10
movzx eax, al
test eax, eax
je 0x1006e5ee
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 4]
call fcn.1006c847
jmp 0x1006e9bb
mov dl, 1
push 0xe
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e613
mov byte [ebp - 0x2b], 1
mov al, byte [ebp - 0x2b]
mov byte [ebp - 0x15], al
jmp 0x1006e9bb
movzx eax, byte [ebp - 0x6d]
test eax, eax
jne 0x1006e626
movzx eax, byte [ebp - 0x97]
test eax, eax
je 0x1006e65f
movzx eax, byte [ebp - 0x6d]
test eax, eax
je 0x1006e63a
mov dword [ebp - 0x1d8], 0x20000a
jmp 0x1006e644
mov dword [ebp - 0x1d8], 0x20000b
push dword [ebp - 0x1d8]
mov ecx, dword [ebp - 4]
call fcn.1006c847
mov ecx, dword [ebp - 4]
call fcn.100649af
jmp 0x1006e9bb
movzx eax, byte [ebp - 0x14]
test eax, eax
je 0x1006e68f
mov dl, 1
push 0x10
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006e68f
mov ecx, dword [ebp - 4]
call fcn.100649d0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6c], 1
jmp 0x1006e9bb
movzx eax, byte [ebp - 0x6e]
test eax, eax
jne 0x1006e6a6
movzx eax, byte [ebp - 0x9c]
test eax, eax
je 0x1006e84b
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0xcc], 0
je 0x1006e7ef
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006e6d0
mov dword [ebp - 0x1dc], 1
jmp 0x1006e6d7
and dword [ebp - 0x1dc], 0
movzx eax, byte [ebp - 0x1dc]
test eax, eax
je 0x1006e6fb
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
call fcn.10075afc
mov dword [ebp - 0x1e0], eax
jmp 0x1006e702
and dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006e728
mov dword [ebp - 0x1e4], 1
jmp 0x1006e72f
and dword [ebp - 0x1e4], 0
movzx eax, byte [ebp - 0x1e4]
test eax, eax
je 0x1006e753
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
call fcn.10075de3
mov dword [ebp - 0x1e8], eax
jmp 0x1006e75f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x1ec]
lea edx, [eax + ecx*2]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x1f0]
lea ecx, [eax + ecx*2]
call fcn.10047ee3
inc eax
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f4]
call fcn.10049a25
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + ecx*2]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x1f0]
lea eax, [eax + ecx*2]
push eax
mov edx, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x130]
call fcn.10047e77
pop ecx
pop ecx
mov ecx, dword [ebp - 0x130]
call fcn.10049a78
mov ecx, dword [ebp - 0x130]
call fcn.10049a3d
movzx eax, byte [ebp - 0x6e]
test eax, eax
je 0x1006e846
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006e811
mov dword [ebp - 0x1f8], 1
jmp 0x1006e818
and dword [ebp - 0x1f8], 0
movzx eax, byte [ebp - 0x1f8]
test eax, eax
jne 0x1006e82b
mov ecx, dword [ebp - 4]
call fcn.100649d0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6c], 1
mov eax, dword [ebp - 4]
add eax, 0x3c
push eax
push dword [ebp - 4]
call fcn.1006b28c
pop ecx
pop ecx
jmp 0x1006e9bb
movzx eax, byte [ebp - 0x9d]
test eax, eax
je 0x1006e9bb
call fcn.10049a59
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x1006e9bb
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0xe0]
mov al, byte [eax]
mov byte [ebp - 0x9e], al
inc dword [ebp - 0xe0]
cmp byte [ebp - 0x9e], 0
jne 0x1006e88b
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2dc]
lea ecx, [eax + eax + 2]
call fcn.10049a25
mov dword [ebp - 0x104], eax
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
movsx eax, byte [eax]
test eax, eax
je 0x1006e96d
push 0
mov edx, dword [ebp - 0x100]
lea ecx, [ebp - 0x134]
call fcn.10047b98
pop ecx
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x134], 0
jne 0x1006e926
jmp 0x1006e96d
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
lea eax, [ebp - 0x134]
push eax
call fcn.1006c89f
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x1006e947
jmp 0x1006e8ee
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x104]
mov dx, word [ebp - 0x134]
mov word [ecx + eax*2], dx
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
jmp 0x1006e8ee
xor eax, eax
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x104]
mov word [edx + ecx*2], ax
cmp dword [ebp - 0xc0], 0
jle 0x1006e9b0
push dword [ebp - 0xc0]
push dword [ebp - 0x104]
mov eax, dword [ebp - 4]
add eax, 0x3c
push eax
push dword [ebp - 4]
call fcn.1006c7cc
add esp, 0x10
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6c], 1
mov ecx, dword [ebp - 0x104]
call fcn.10049a3d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1006e9d5
mov dword [ebp - 0x1fc], 1
jmp 0x1006e9dc
and dword [ebp - 0x1fc], 0
movzx eax, byte [ebp - 0x1fc]
test eax, eax
je 0x1006e9ff
xor eax, eax
jne 0x1006e9f3
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x1006e9ff
mov dword [ebp - 0x200], 1
jmp 0x1006ea06
and dword [ebp - 0x200], 0
movzx eax, byte [ebp - 0x11]
or eax, dword [ebp - 0x200]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
jne 0x1006f0dd
and dword [ebp - 0x8c], 0
and dword [ebp - 0x7c], 0
movzx eax, byte [ebp - 0x2b]
test eax, eax
je 0x1006eb8f
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006eb8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov al, byte [eax]
mov byte [ebp - 0x9f], al
mov ecx, dword [ebp - 0x10c]
cmp al, byte [ecx]
jne 0x1006eab8
cmp byte [ebp - 0x9f], 0
je 0x1006eaaf
mov eax, dword [ebp - 0x108]
mov al, byte [eax + 1]
mov byte [ebp - 0x8d], al
mov ecx, dword [ebp - 0x10c]
cmp al, byte [ecx + 1]
jne 0x1006eab8
add dword [ebp - 0x108], 2
add dword [ebp - 0x10c], 2
cmp byte [ebp - 0x8d], 0
jne 0x1006ea5d
and dword [ebp - 0x204], 0
jmp 0x1006eac3
sbb eax, eax
or eax, 1
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 0
je 0x1006eb8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
dec eax
mov dword [ebp - 0x7c], eax
lea ecx, [ebp - 0x2c4]
call fcn.10055f67
cmp dword [ebp - 0x7c], 0
jle 0x1006eb4a
mov edx, dword [ebp - 0x8c]
add edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x8c]
call fcn.10047d8c
inc eax
push eax
lea ecx, [ebp - 0x2c4]
call fcn.10055f2c
push 0
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x7c]
push eax
push dword [ebp - 0x8c]
mov edx, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2bc]
call fcn.10047d25
add esp, 0xc
cmp dword [ebp - 0x7c], 0
jle 0x1006eb5f
mov eax, dword [ebp - 0x2c4]
dec eax
mov dword [ebp - 0x208], eax
jmp 0x1006eb66
and dword [ebp - 0x208], 0
push dword [ebp - 0x208]
push dword [ebp - 0x2bc]
mov eax, dword [ebp - 4]
add eax, 0x3c
push eax
push dword [ebp - 4]
call fcn.1006c7e5
add esp, 0x10
lea ecx, [ebp - 0x2c4]
call fcn.10055f5b
movzx eax, byte [ebp - 0x2b]
test eax, eax
je 0x1006ebb0
movzx eax, byte [ebp - 0x38]
test eax, eax
je 0x1006eba7
mov eax, dword [ebx + 0x1c]
and eax, 0x20
jne 0x1006ebb0
and dword [ebp - 0x20c], 0
jmp 0x1006ebba
mov dword [ebp - 0x20c], 1
mov al, byte [ebp - 0x20c]
mov byte [ebp - 0x8e], al
movzx eax, byte [ebp - 0x8e]
test eax, eax
je 0x1006f000
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006ec24
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 1
mov eax, dword [ebp - 4]
add eax, 0x18
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
lea eax, [eax*4 + 1]
push eax
mov ecx, dword [ebp - 0x2e4]
call fcn.10055e7f
push 0
mov eax, dword [ebp - 4]
push dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20]
call fcn.10047e77
pop ecx
pop ecx
mov eax, dword [ebx + 0x1c]
and eax, 0x801c0
je 0x1006ef4f
and dword [ebp - 0xa4], 0
mov dword [ebp - 0x110], 0x16
mov eax, dword [ebx + 0x1c]
and eax, 0x40
je 0x1006ec71
mov dl, 1
xor ecx, ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006ec71
mov dword [ebp - 0xa4], 0x40
and dword [ebp - 0x110], 0
jmp 0x1006ed0b
mov eax, dword [ebx + 0x1c]
and eax, 0x80
je 0x1006eca2
mov dl, 1
push 3
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006eca2
mov dword [ebp - 0xa4], 0x80
mov dword [ebp - 0x110], 3
jmp 0x1006ed0b
mov eax, dword [ebx + 0x1c]
and eax, 0x80
je 0x1006ecd3
mov dl, 1
push 4
pop ecx
call fcn.10031a1f
movzx eax, al
test eax, eax
je 0x1006ecd3
mov dword [ebp - 0xa4], 0x80
mov dword [ebp - 0x110], 4
jmp 0x1006ed0b
mov eax, dword [ebx + 0x1c]
and eax, 0x80000
je 0x1006ecf7
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xe6e]
test eax, eax
je 0x1006ecf7
mov dword [ebp - 0xa4], 0x80000
jmp 0x1006ed0b
mov eax, dword [ebx + 0x1c]
and eax, 0x100
je 0x1006ed0b
mov dword [ebp - 0xa4], 0x100
cmp dword [ebp - 0xa4], 0
je 0x1006ef4f
lea ecx, [ebp - 0x2a8]
call fcn.1006c884
push 0x30
push 0
lea eax, [ebp - 0x2a8]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x28c], eax
mov byte [ebp - 0x288], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0xc4]
lea edx, [ecx + eax*2]
mov ecx, dword [ebp - 0xc4]
call fcn.10047ee3
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [ebp - 0xc4]
lea edx, [ecx + eax*2]
mov ecx, dword [ebp - 0xc4]
call fcn.10047ee3
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [ebp - 0xc4]
lea edx, [ecx + eax*2]
mov ecx, dword [ebp - 0xc4]
call fcn.10047ee3
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2a8]
push eax
call dword [ebp - 0x2e8]
pop ecx
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp - 0x2ec]
je 0x1006ee67
mov edx, dword [ebp - 0x294]
add edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x294]
call fcn.10047d8c
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6c], 1
mov eax, dword [ebp - 0x280]
cmp eax, dword [ebp - 0x2f0]
je 0x1006ee92
mov edx, dword [ebp - 0x294]
add edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x294]
call fcn.10047d8c
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x27c]
cmp eax, dword [ebp - 0x2f4]
je 0x1006eebd
mov edx, dword [ebp - 0x294]
add edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x294]
call fcn.10047d8c
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x44], eax
movzx eax, byte [ebp - 0x288]
test eax, eax
je 0x1006ef4f
mov eax, dword [ebp - 0x290]
cmp eax, dword [ebp - 0x138]
jle 0x1006ef0c
movzx eax, byte [ebp - 0x37]
test eax, eax
je 0x1006ef0c
mov eax, dword [ebp - 4]
add eax, 0xc
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x290]
sub eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0xc]
push eax
mov ecx, dword [ebp - 0x2f8]
call fcn.10055f2c
push 0
push 0
push dword [ebp - 0x294]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
call fcn.10047d25
add esp, 0xc
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x290]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 4]
movss xmm0, dword [0x10274264]
movss dword [eax + 0xe68], xmm0
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006f000
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
mov al, byte [eax]
mov byte [ebp - 0x8f], al
mov ecx, dword [ebp - 0x118]
cmp al, byte [ecx]
jne 0x1006efcb
cmp byte [ebp - 0x8f], 0
je 0x1006efc2
mov eax, dword [ebp - 0x114]
mov al, byte [eax + 1]
mov byte [ebp - 0x90], al
mov ecx, dword [ebp - 0x118]
cmp al, byte [ecx + 1]
jne 0x1006efcb
add dword [ebp - 0x114], 2
add dword [ebp - 0x118], 2
cmp byte [ebp - 0x90], 0
jne 0x1006ef70
and dword [ebp - 0x210], 0
jmp 0x1006efd6
sbb eax, eax
or eax, 1
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x2fc], 0
je 0x1006f000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x8c], 0
je 0x1006f0bf
movzx eax, byte [ebp - 0x37]
test eax, eax
je 0x1006f09f
lea ecx, [ebp - 0x4c0]
call fcn.1006c884
mov dword [ebp - 0x4c0], 0x40000
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x4a8], eax
mov edx, dword [ebp - 0x7c]
inc edx
mov ecx, dword [ebx + 0x14]
call fcn.10075de3
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x4b8], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x300], eax
lea eax, [ebp - 0x4c0]
push eax
call dword [ebp - 0x300]
pop ecx
mov eax, dword [ebp - 0x4ac]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x4a4]
mov dword [ebx + 0x14], eax
mov edx, dword [ebx + 0x14]
dec edx
mov ecx, dword [ebp - 0x4a8]
call fcn.10075afc
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
inc ecx
mov edx, dword [ebx + 0x14]
call fcn.10075afc
push eax
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebx + 0x10]
call fcn.10047886
pop ecx
mov byte [ebp - 0x39], 1
mov eax, dword [ebp - 4]
and dword [eax + 0xe70], 0
mov eax, dword [ebp - 4]
and dword [eax + 0xe74], 0
mov eax, dword [ebp - 4]
and dword [eax + 0xe78], 0
movzx eax, byte [ebp - 0x15]
test eax, eax
je 0x1006f0f8
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
jne 0x1006f0f8
call fcn.100496a7
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1006f16f
push 1
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0xf8]
call fcn.10048cf5
pop ecx
mov eax, dword [ebp - 0x30]
movss xmm0, dword [eax + 0x40]
movss dword [ebp - 0x304], xmm0
movss xmm1, dword [0x10273ea0]
push 7
pop ecx
call fcn.100483d1
mov dword [ebp - 0x308], eax
push 0xf
push ecx
movss xmm0, dword [ebp - 0x304]
movss dword [esp], xmm0
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
push dword [ebp - 0xf4]
push dword [ebp - 0xf8]
mov dl, 1
mov ecx, dword [ebp - 0x308]
call fcn.10048ae9
add esp, 0x18
movss xmm0, dword [ebp - 0xf4]
addss xmm0, dword [ebp - 0xb0]
push ecx
movss dword [esp], xmm0
movss xmm3, dword [ebp - 0xf8]
addss xmm3, dword [ebp - 0xb4]
movss xmm2, dword [ebp - 0xf4]
movss xmm1, dword [ebp - 0xf8]
lea ecx, [ebp - 0x408]
call fcn.1002d1d4
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006f1e1
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xd4]
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x420], eax
lea eax, [ebp - 0x424]
mov dword [ebp - 0x218], eax
jmp 0x1006f229
mov eax, dword [ebp - 0x30]
add eax, 0x38
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
movss xmm2, dword [ebp - 0xf4]
addss xmm2, dword [eax + 4]
mov eax, dword [ebp - 0x214]
movss xmm1, dword [ebp - 0xf8]
addss xmm1, dword [eax]
lea ecx, [ebp - 0x464]
call fcn.1000137e
lea eax, [ebp - 0x464]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x30c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea ecx, [ebp - 0x168]
call fcn.1000137e
mov dword [ebp - 0x480], 0x200000
movzx eax, byte [ebp - 0x6f]
test eax, eax
je 0x1006f27d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x21c], eax
jmp 0x1006f286
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x78], eax
and dword [ebp - 0x80], 0
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x1006f2f2
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0xe4]
mov al, byte [eax]
mov byte [ebp - 0x91], al
inc dword [ebp - 0xe4]
cmp byte [ebp - 0x91], 0
jne 0x1006f2b7
mov eax, dword [ebp - 0xe4]
sub eax, dword [ebp - 0x310]
mov dword [ebp - 0x314], eax
mov eax, dword [ebx + 0xc]
add eax, dword [ebp - 0x314]
mov dword [ebp - 0x80], eax
movzx eax, byte [ebp - 0x12]
test eax, eax
jne 0x1006f306
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1006ff4d
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1006f31a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x78]
add ecx, dword [eax + 8]
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0xd8]
call fcn.1002c73c
lea ecx, [ebp - 0x2b0]
call fcn.1002c73c
and dword [ebp - 0x120], 0
and dword [ebp - 0x11c], 0
mov dword [ebp - 0xbc], 0xfffffc18
mov dword [ebp - 0xb8], 0xfffffc18
and dword [ebp - 0x44], 0
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x1006f39b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0xa8]
lea eax, [ecx + eax*2]
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x120], eax
push 4
pop eax
imul eax, eax, 0
or dword [ebp + eax - 0xbc], 0xffffffff
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1006f3df
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
call fcn.10075afc
mov ecx, dword [ebp - 0xa8]
lea eax, [ecx + eax*2]
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x120], eax
push 4
pop eax
shl eax, 0
or dword [ebp + eax - 0xbc], 0xffffffff
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006f3f3
mov dword [ebp - 0x220], 1
jmp 0x1006f3fa
and dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x220]
mov dword [ebp - 0x44], eax
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xc8], eax
jmp 0x1006f429
mov eax, dword [ebp - 0xc8]
inc eax
inc eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
movzx eax, word [eax]
test eax, eax
je 0x1006f4ec
mov eax, dword [ebp - 0xc8]
movzx eax, word [eax]
cmp eax, 0xa
jne 0x1006f4e7
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xbc], 0xffffffff
jne 0x1006f4a0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp + eax - 0x120]
jb 0x1006f4a0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x84]
mov dword [ebp + eax - 0xbc], ecx
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jg 0x1006f4a0
jmp 0x1006f4ec
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xbc], 0xffffffff
jne 0x1006f4e7
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp + eax - 0x120]
jb 0x1006f4e7
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x84]
mov dword [ebp + eax - 0xbc], ecx
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jg 0x1006f4e7
jmp 0x1006f4ec
jmp 0x1006f41b
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xbc], 0xffffffff
jne 0x1006f51c
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x84]
mov dword [ebp + eax - 0xbc], ecx
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xbc], 0xffffffff
jne 0x1006f53f
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x84]
mov dword [ebp + eax - 0xbc], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x120]
mov dword [ebp - 0x318], eax
push 4
pop eax
imul eax, eax, 0
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp + eax - 0x120]
call fcn.100478ac
mov dword [ebp - 0x31c], eax
push 0
push 0
push 0
push dword [ebp - 0x318]
push dword [ebp - 0x31c]
lea eax, [ebp - 0x4e0]
push eax
call fcn.1006a588
add esp, 0x18
movss xmm0, dword [eax]
movss dword [ebp - 0xd8], xmm0
push 4
pop eax
imul eax, eax, 0
cvtsi2ss xmm0, dword [ebp + eax - 0xbc]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xd4], xmm0
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xbc], 0
jl 0x1006f643
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x120]
mov dword [ebp - 0x320], eax
push 4
pop eax
shl eax, 0
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp + eax - 0x120]
call fcn.100478ac
mov dword [ebp - 0x324], eax
push 0
push 0
push 0
push dword [ebp - 0x320]
push dword [ebp - 0x324]
lea eax, [ebp - 0x4e8]
push eax
call fcn.1006a588
add esp, 0x18
movss xmm0, dword [eax]
movss dword [ebp - 0x2b0], xmm0
push 4
pop eax
shl eax, 0
cvtsi2ss xmm0, dword [ebp + eax - 0xbc]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x2ac], xmm0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006f67c
cvtsi2ss xmm2, dword [ebp - 0x84]
mulss xmm2, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0xb4]
lea ecx, [ebp - 0x4f0]
call fcn.1000137e
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], eax
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x1006f845
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xe6c]
test eax, eax
je 0x1006f845
mov eax, dword [ebx + 0x1c]
and eax, 0x1000
jne 0x1006f73e
movss xmm0, dword [ebp - 0xb4]
mulss xmm0, dword [0x10273de8]
movss dword [ebp - 0x224], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x38]
comiss xmm0, dword [ebp - 0xd8]
jbe 0x1006f6fb
movss xmm1, dword [ebp - 0xd8]
subss xmm1, dword [ebp - 0x224]
xorps xmm0, xmm0
call fcn.10075af7
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [ebp - 4]
movss dword [eax + 0x38], xmm0
jmp 0x1006f73c
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0xb4]
mov eax, dword [ebp - 4]
comiss xmm0, dword [eax + 0x38]
jb 0x1006f73c
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [ebp - 0x224]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [ebp - 4]
movss dword [eax + 0x38], xmm0
jmp 0x1006f749
mov eax, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [eax + 0x38], xmm0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006f83b
movss xmm0, dword [ebp - 0xd4]
subss xmm0, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x48]
comiss xmm1, xmm0
jbe 0x1006f788
movss xmm1, dword [ebp - 0xd4]
subss xmm1, dword [ebp - 0x24]
xorps xmm0, xmm0
call fcn.10075af7
movss dword [ebp - 0x48], xmm0
jmp 0x1006f7c7
movss xmm0, dword [ebp - 0xd4]
subss xmm0, dword [ebp - 0xb0]
comiss xmm0, dword [ebp - 0x48]
jb 0x1006f7c7
movss xmm0, dword [ebp - 0xd4]
subss xmm0, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x30]
movss xmm1, dword [eax + 0x3c]
mulss xmm1, dword [0x10273f00]
addss xmm0, xmm1
movss dword [ebp - 0x48], xmm0
mov eax, dword [ebp - 0x30]
movss xmm0, dword [eax + 0x3c]
mulss xmm0, dword [0x10273f00]
addss xmm0, dword [ebp - 0x164]
subss xmm0, dword [ebp - 0xb0]
xorps xmm1, xmm1
call fcn.10075af7
movss dword [ebp - 0x328], xmm0
movss xmm2, dword [ebp - 0x328]
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x48]
call fcn.10075b04
movss dword [ebp - 0x48], xmm0
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x54]
subss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0xcc], xmm0
mov eax, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0x48]
movss dword [eax + 0x54], xmm0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe6c], 0
xorps xmm2, xmm2
mov eax, dword [ebp - 4]
movss xmm1, dword [eax + 0x38]
lea ecx, [ebp - 0x14c]
call fcn.1000137e
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1006fc31
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
call fcn.10075afc
mov ecx, dword [ebp - 0xa8]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
call fcn.10075de3
mov ecx, dword [ebp - 0xa8]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x13c], eax
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x1006f8c1
movss xmm0, dword [0x10273ea0]
movss dword [ebp - 0x228], xmm0
jmp 0x1006f8d1
movss xmm0, dword [0x10273e48]
movss dword [ebp - 0x228], xmm0
movss xmm1, dword [ebp - 0x228]
push 0x2a
pop ecx
call fcn.100483d1
mov dword [ebp - 0x34c], eax
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006f8fc
xorps xmm0, xmm0
movss dword [ebp - 0x22c], xmm0
jmp 0x1006f90c
movss xmm0, dword [0x10274284]
movss dword [ebp - 0x22c], xmm0
movss xmm0, dword [ebp - 0x22c]
movss dword [ebp - 0x340], xmm0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006f931
xorps xmm0, xmm0
movss dword [ebp - 0x230], xmm0
jmp 0x1006f941
movss xmm0, dword [0x10273f00]
movss dword [ebp - 0x230], xmm0
movss xmm0, dword [ebp - 0x230]
movss dword [ebp - 0x33c], xmm0
movss xmm2, dword [ebp - 0xcc]
addss xmm2, dword [ebp - 0x2ac]
movss xmm1, dword [ebp - 0xd0]
addss xmm1, dword [ebp - 0x2b0]
lea ecx, [ebp - 0x42c]
call fcn.1000137e
movss xmm2, dword [ebp - 0x428]
subss xmm2, dword [ebp - 0x148]
movss xmm1, dword [ebp - 0x42c]
subss xmm1, dword [ebp - 0x14c]
lea ecx, [ebp - 0x128]
call fcn.1000137e
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x13c]
jae 0x1006fc31
movss xmm0, dword [ebp - 0x3fc]
addss xmm0, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x124]
comiss xmm1, xmm0
jbe 0x1006f9e4
jmp 0x1006fc31
movss xmm0, dword [ebp - 0x404]
comiss xmm0, dword [ebp - 0x124]
jbe 0x1006fa32
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x13c]
jae 0x1006fa2d
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0xac]
inc eax
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0x330], 0xa
jne 0x1006fa2b
jmp 0x1006fa2d
jmp 0x1006f9f5
jmp 0x1006fbff
push 1
push 0
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0x13c]
push dword [ebp - 0xac]
lea eax, [ebp - 0x3f0]
push eax
call fcn.1006a588
add esp, 0x18
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0x3f0]
jb 0x1006faa6
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov dword [ebp - 0x334], eax
push 0x20
mov ecx, dword [ebp - 0x334]
call fcn.100647f3
fstp dword [ebp - 0x338]
movss xmm0, dword [ebp - 0x338]
mulss xmm0, dword [0x10273e38]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [ebp - 0x3f0], xmm0
movss xmm2, dword [ebp - 0x33c]
movss xmm1, dword [ebp - 0x3f0]
lea ecx, [ebp - 0x4f8]
call fcn.1000137e
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
movss xmm2, dword [ebp - 0x124]
addss xmm2, dword [eax + 4]
mov eax, dword [ebp - 0x234]
movss xmm1, dword [ebp - 0x128]
addss xmm1, dword [eax]
lea ecx, [ebp - 0x46c]
call fcn.1000137e
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x344], eax
movss xmm2, dword [ebp - 0x340]
subss xmm2, dword [ebp - 0x24]
xorps xmm1, xmm1
lea ecx, [ebp - 0x500]
call fcn.1000137e
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
movss xmm2, dword [ebp - 0x124]
addss xmm2, dword [eax + 4]
mov eax, dword [ebp - 0x238]
movss xmm1, dword [ebp - 0x128]
addss xmm1, dword [eax]
lea ecx, [ebp - 0x474]
call fcn.1000137e
lea eax, [ebp - 0x474]
mov dword [ebp - 0x348], eax
push dword [ebp - 0x344]
push dword [ebp - 0x348]
lea ecx, [ebp - 0x44c]
call fcn.1002c746
lea eax, [ebp - 0x408]
push eax
lea ecx, [ebp - 0x528]
call fcn.10046509
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x44c]
call fcn.100465e5
lea eax, [ebp - 0x408]
push eax
lea ecx, [ebp - 0x538]
call fcn.10046509
lea eax, [ebp - 0x538]
push eax
lea ecx, [ebp - 0x44c]
call fcn.1004656f
movzx eax, al
test eax, eax
je 0x1006fbff
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x294]
mov dword [ebp - 0x350], eax
push 0xf
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push dword [ebp - 0x34c]
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x44c]
push eax
mov ecx, dword [ebp - 0x350]
call fcn.1005e0cd
movss xmm0, dword [ebp - 0xd0]
subss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x124], xmm0
jmp 0x1006f9b3
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1006fc4a
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x78]
cmp eax, 0x200000
jge 0x1006fd33
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x1006fc5e
mov dword [ebp - 0x23c], 1
jmp 0x1006fc65
and dword [ebp - 0x23c], 0
movss xmm1, dword [0x10273ea0]
mov ecx, dword [ebp - 0x23c]
call fcn.100483d1
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x294]
mov dword [ebp - 0x360], eax
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006fc9e
and dword [ebp - 0x240], 0
jmp 0x1006fcaa
lea eax, [ebp - 0x408]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x354], eax
movss xmm2, dword [ebp - 0xcc]
subss xmm2, dword [ebp - 0x148]
movss xmm1, dword [ebp - 0xd0]
subss xmm1, dword [ebp - 0x14c]
lea ecx, [ebp - 0x47c]
call fcn.1000137e
lea eax, [ebp - 0x47c]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov dword [ebp - 0x35c], eax
push dword [ebp - 0x240]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push dword [ebp - 0x354]
push dword [ebp - 0x78]
push dword [ebp - 0x358]
push dword [ebp - 0x38c]
push dword [ebp - 0x35c]
movss xmm2, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x360]
call fcn.1005e4e0
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x1006ff48
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [eax + 0xe68]
addss xmm0, dword [ecx + 0x10]
mov eax, dword [ebp - 4]
movss dword [eax + 0xe68], xmm0
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xb2]
test eax, eax
je 0x1006fda8
mov eax, dword [ebp - 4]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0xe68]
jae 0x1006fda8
mov eax, dword [ebp - 4]
movss xmm1, dword [0x10273ebc]
movss xmm0, dword [eax + 0xe68]
call fcn.100463a6
movss xmm1, dword [0x10273e6c]
comiss xmm1, xmm0
jae 0x1006fda8
and dword [ebp - 0x244], 0
jmp 0x1006fdb2
mov dword [ebp - 0x244], 1
mov al, byte [ebp - 0x244]
mov byte [ebp - 0x92], al
movss xmm2, dword [ebp - 0xcc]
addss xmm2, dword [ebp - 0xd4]
movss xmm1, dword [ebp - 0xd0]
addss xmm1, dword [ebp - 0xd8]
lea ecx, [ebp - 0x414]
call fcn.1000137e
movss xmm2, dword [ebp - 0x410]
subss xmm2, dword [ebp - 0x148]
movss xmm1, dword [ebp - 0x414]
subss xmm1, dword [ebp - 0x14c]
lea ecx, [ebp - 0x160]
call fcn.1000137e
movss xmm0, dword [ebp - 0x15c]
subss xmm0, dword [0x10273ed0]
push ecx
movss dword [esp], xmm0
movss xmm3, dword [ebp - 0x160]
addss xmm3, dword [0x10273ea0]
movss xmm2, dword [ebp - 0x15c]
subss xmm2, dword [ebp - 0x24]
addss xmm2, dword [0x10273e38]
movss xmm1, dword [ebp - 0x160]
lea ecx, [ebp - 0x490]
call fcn.1002d1d4
movzx eax, byte [ebp - 0x92]
test eax, eax
je 0x1006ff04
lea eax, [ebp - 0x408]
push eax
lea ecx, [ebp - 0x548]
call fcn.10046509
lea eax, [ebp - 0x548]
push eax
lea ecx, [ebp - 0x490]
call fcn.1004656f
movzx eax, al
test eax, eax
je 0x1006ff04
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x294]
mov dword [ebp - 0x36c], eax
movss xmm1, dword [0x10273ea0]
xor ecx, ecx
call fcn.100483d1
mov dword [ebp - 0x364], eax
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x490]
call fcn.1004655e
mov dword [ebp - 0x368], eax
push ecx
movss xmm0, dword [0x10273ea0]
movss dword [esp], xmm0
push dword [ebp - 0x364]
push dword [ebp - 0x368]
lea eax, [ebp - 0x490]
push eax
mov ecx, dword [ebp - 0x36c]
call fcn.1005df37
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1006ff48
movss xmm2, dword [ebp - 0x15c]
subss xmm2, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x160]
subss xmm1, dword [0x10273ea0]
lea ecx, [ebp - 0x550]
call fcn.1000137e
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x2f64], ecx
mov dword [edx + 0x2f68], eax
jmp 0x100700c3
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1006ff92
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x78]
call fcn.1006a50a
pop ecx
pop ecx
cvtsi2ss xmm2, eax
mulss xmm2, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0xb4]
lea ecx, [ebp - 0x510]
call fcn.1000137e
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], eax
jmp 0x1007000f
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1006ffb6
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1b80]
cmp eax, dword [ebp - 0x1c]
jne 0x1006ffb6
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x78]
add ecx, dword [eax + 8]
mov dword [ebp - 0x80], ecx
jmp 0x1007000f
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1007000f
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0xe8]
mov al, byte [eax]
mov byte [ebp - 0x93], al
inc dword [ebp - 0xe8]
cmp byte [ebp - 0x93], 0
jne 0x1006ffd4
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x370]
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x374]
mov dword [ebp - 0x80], eax
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x10070028
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x78]
cmp eax, 0x200000
jge 0x100700c3
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x1007003c
mov dword [ebp - 0x248], 1
jmp 0x10070043
and dword [ebp - 0x248], 0
movss xmm1, dword [0x10273ea0]
mov ecx, dword [ebp - 0x248]
call fcn.100483d1
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x294]
mov dword [ebp - 0x37c], eax
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1007007c
and dword [ebp - 0x24c], 0
jmp 0x10070088
lea eax, [ebp - 0x408]
mov dword [ebp - 0x24c], eax
push dword [ebp - 0x24c]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push dword [ebp - 0x80]
push dword [ebp - 0x78]
push dword [ebp - 0x378]
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc]
push dword [eax + 0x1a04]
movss xmm2, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x37c]
call fcn.1005e4e0
movzx eax, byte [ebp - 0x1e]
test eax, eax
je 0x100700d8
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x100700d8
call fcn.100500c0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x100700f7
lea eax, [ebp - 0x168]
push eax
call fcn.100681ee
pop ecx
call fcn.1004c184
call fcn.10050e6a
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x2fa0]
test eax, eax
je 0x10070127
movzx eax, byte [ebp - 0x1e]
test eax, eax
je 0x10070115
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x10070127
push dword [ebp - 0x80]
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0xd0]
call fcn.10054da1
pop ecx
movss xmm0, dword [ebp - 0x2b8]
comiss xmm0, dword [0x10273d1c]
jbe 0x100701f0
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x294]
mov dword [ebp - 0x390], eax
movss xmm1, dword [0x10273ea0]
xor ecx, ecx
call fcn.100483d1
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x30]
movss xmm2, dword [ebp - 0xf4]
addss xmm2, dword [eax + 0x3c]
mov eax, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0xf0]
addss xmm1, dword [eax + 0x50]
lea ecx, [ebp - 0x518]
call fcn.1000137e
mov dword [ebp - 0x384], eax
xorps xmm1, xmm1
mov eax, dword [ebp - 0xc]
movss xmm0, dword [eax + 0x1a08]
call fcn.10046146
movss dword [ebp - 0x3bc], xmm0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1a04]
mov dword [ebp - 0x388], eax
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
push dword [ebx + 8]
push dword [ebp - 0x380]
push dword [ebp - 0x384]
push dword [ebp - 0x388]
movss xmm2, dword [ebp - 0x3bc]
mov ecx, dword [ebp - 0x390]
call fcn.1005e4e0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x1007020a
mov eax, dword [ebx + 0x1c]
and eax, 0x200000
jne 0x1007020a
mov ecx, dword [ebp - 0x1c]
call fcn.10049700
xor eax, eax
jne 0x1007020a
mov eax, dword [ebx + 0x1c]
and eax, 0x20
je 0x1007021d
mov al, byte [ebp - 0x38]
jmp 0x10070220
mov al, byte [ebp - 0x39]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret