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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov ebx, dword [0x1058eba8]
mov eax, dword [ebx + 0x2f64]
test eax, eax
mov dword [esp + 0x1c], ebx
jle 0x10098b39
lea esi, [eax + 1]
lea ecx, [eax + eax*4]
lea ebx, [ecx*4 - 0x14]
mov edi, eax
neg edi
jmp 0x10098aba
dec esi
add ebx, 0xffffffec
inc edi
cmp esi, 1
jbe 0x10098af9
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x2f6c]
cmp dword [ecx + ebx + 4], 7
jne 0x10098ab0
lea edx, [ecx + ebx]
add edx, 0x14
add ecx, ebx
add eax, edi
shl eax, 2
lea eax, [eax + eax*4]
push eax
push edx
push ecx
call fcn.10368490
add esp, 0xc
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x2f64]
dec eax
mov dword [ecx + 0x2f64], eax
jmp 0x10098ab0
test eax, eax
mov ebx, dword [esp + 0x1c]
jle 0x10098b39
xor esi, esi
xor edi, edi
jmp 0x10098b18
inc edi
add esi, 0x14
cmp edi, eax
jge 0x10098b39
mov ecx, dword [ebx + 0x2f6c]
cmp dword [ecx + esi + 4], 0
jne 0x10098b10
lea eax, [ecx + esi]
push eax
push ebx
call dword [ecx + esi + 0xc]
add esp, 8
mov eax, dword [ebx + 0x2f64]
jmp 0x10098b10
mov esi, dword [0x1058eba8]
cmp byte [esi + 0xb4], 0
je 0x10098b55
test byte [esi + 0xc], 2
jne 0x10098b55
mov byte [esi + 0xb4], 0
cmp byte [esi + 0x2f2d], 0
jne 0x10098b75
mov eax, dword [esi + 0x20]
test eax, eax
je 0x10098b6e
push eax
call fcn.100ab0f0
add esp, 4
mov byte [esi + 0x2f2d], 1
movss xmm0, dword [esi + 0x2f30]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10098bba
subss xmm0, dword [esi + 0x18]
movss dword [esi + 0x2f30], xmm0
ucomiss xmm1, xmm0
jb 0x10098bba
mov eax, dword [esi + 0x20]
test eax, eax
je 0x10098ba9
push eax
call fcn.100a36e0
add esp, 4
jmp 0x10098bb0
mov byte [esi + 0x354], 1
mov dword [esi + 0x2f30], 0
movss xmm0, dword [ebx + 0x18]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
addsd xmm1, qword [ebx + 0x1b50]
movsd qword [ebx + 0x1b50], xmm1
mov byte [ebx + 0x1b64], 1
inc dword [ebx + 0x1b58]
mov dword [ebx + 0x2efc], 0
mov dword [ebx + 0x1bb0], 0
cmp dword [ebx + 0x2f14], 0
jns 0x10098c7f
mov eax, dword [0x1058eba8]
test eax, eax
je 0x10098c0f
inc dword [eax + 0x36c]
push dword [0x1058ebb0]
push 0
call dword [0x10584f34]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x2f18]
test eax, eax
je 0x10098c6a
mov ecx, dword [ebx + 0x2f10]
shl ecx, 2
push ecx
push eax
push esi
call fcn.10368490
add esp, 0xc
mov eax, dword [ebx + 0x2f18]
test eax, eax
je 0x10098c5a
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x10098c5a
dec dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov dword [ebx + 0x2f18], esi
mov dword [ebx + 0x2f14], 0
movss xmm0, dword [ebx + 0x18]
mov dword [ebx + 0x2f10], 0
mov eax, dword [ebx + 0x31a0]
movaps xmm1, xmm0
subss xmm1, dword [ebx + eax*4 + 0x2fc0]
addss xmm1, dword [ebx + 0x31a8]
movss dword [ebx + 0x31a8], xmm1
movss dword [ebx + eax*4 + 0x2fc0], xmm0
mov esi, dword [ebx + 0x31a0]
mov ecx, dword [ebx + 0x31a4]
lea eax, [esi + 1]
mov edx, 0x88888889
imul edx
lea eax, [edx + esi]
inc eax
mov edx, eax
shr edx, 0x1f
sar eax, 6
add eax, edx
imul eax, eax, 0x78
neg eax
add eax, esi
inc eax
mov dword [ebx + 0x31a0], eax
cmp ecx, 0x77
mov eax, 0x77
cmovl eax, ecx
inc eax
mov dword [ebx + 0x31a4], eax
movss xmm0, dword [ebx + 0x31a8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10098d21
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss xmm1, dword [0x10398490]
divss xmm1, xmm0
jmp 0x10098d29
movss xmm1, dword [0x1048d2e0]
movss dword [ebx + 0x358], xmm1
mov eax, dword [0x1058eba8]
mov ecx, dword [eax + 0x1d4c]
mov ecx, dword [ecx]
mov dword [ecx], 5
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
movsd xmm0, qword [eax + 0x10]
movsd qword [ecx + 0xc], xmm0
cmp dword [eax + 0x1d44], 0
jle 0x10098dbd
xor ecx, ecx
xorps xmm0, xmm0
nop word [eax + eax]
mov edx, dword [eax + 0x1d4c]
mov edx, dword [edx + ecx*4]
movups xmm1, xmmword [edx + 0x88]
movups xmmword [edx + 0x78], xmm1
movups xmmword [edx + 0x88], xmm0
movsd xmm2, qword [edx + 4]
movsd xmm3, qword [edx + 0xc]
addps xmm2, xmm1
pshufd xmm4, xmm1, 0xee
subps xmm3, xmm1
addps xmm3, xmm4
movaps xmm1, xmm3
cmpnleps xmm1, xmm0
andps xmm1, xmm3
movlhps xmm2, xmm1
movups xmmword [edx + 0x14], xmm2
inc ecx
cmp ecx, dword [eax + 0x1d44]
jl 0x10098d70
mov eax, dword [ebx + 0x98]
mov byte [eax + 0x10], 1
mov eax, dword [0x1058eba8]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
jne 0x10098de1
mov ecx, dword [eax + 0x98]
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx]
mov dword [eax + 0x1944], ecx
movss xmm1, dword [eax + 0x9c]
mulss xmm1, dword [ecx + 0x10]
mulss xmm1, dword [ecx + 0x44]
movss xmm0, dword [0x10398490]
maxss xmm0, xmm1
movss dword [eax + 0x194c], xmm0
mov edx, dword [eax + 0x1bbc]
test edx, edx
je 0x10098e33
mulss xmm0, dword [edx + 0x250]
mov edx, dword [edx + 0x2ec]
test edx, edx
je 0x10098e36
mulss xmm0, dword [edx + 0x250]
jmp 0x10098e36
xorps xmm0, xmm0
movss dword [eax + 0x1948], xmm0
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + 0x2c]
mov edi, dword [edx + 0x30]
mov dword [eax + 0x1950], esi
mov dword [eax + 0x1954], edi
lea esi, [edx + 0x58]
mov dword [eax + 0x1b40], esi
mov dword [eax + 0x1958], ecx
movss dword [eax + 0x195c], xmm0
lea ecx, [edx + 0x468]
mov dword [eax + 0x1b44], ecx
add edx, 0x470
mov dword [eax + 0x1b48], edx
mov eax, dword [ebx + 0x1d44]
test eax, eax
jle 0x10098ed5
mov ecx, dword [ebx + 0x1d4c]
movaps xmm1, xmmword [0x1048d450]
xor edx, edx
movaps xmm0, xmm1
nop
mov esi, dword [ecx + edx*4]
movsd xmm2, qword [esi + 4]
movsd xmm3, qword [esi + 0xc]
addps xmm3, xmm2
movlhps xmm2, xmm3
movaps xmm3, xmm2
cmpltps xmm3, xmm1
cmpltps xmm0, xmm2
movsd xmm0, xmm3
andps xmm2, xmm0
andnps xmm0, xmm1
orps xmm0, xmm2
inc edx
movaps xmm1, xmm0
cmp eax, edx
jne 0x10098ea0
jmp 0x10098edc
movaps xmm0, xmmword [0x1048d450]
lea ecx, [ebx + 0x1950]
movups xmmword [ebx + 0x1968], xmm0
movss xmm0, dword [ebx + 0x15d0]
movss xmm1, dword [ebx + 0x15d4]
movss dword [ebx + 0x1960], xmm0
sub esp, 4
movss dword [esp], xmm1
call fcn.100ad550
movzx eax, byte [ebx + 0x15cc]
mov dword [ebx + 0x1978], eax
cmp byte [ebx + 0x15cd], 0
je 0x10098f3b
mov ecx, dword [ebx + 0x1944]
mov ecx, dword [ecx + 0x30]
test byte [ecx], 4
jne 0x10098f3b
or eax, 2
mov dword [ebx + 0x1978], eax
cmp byte [ebx + 0x15ce], 0
je 0x10098f4d
or eax, 4
mov dword [ebx + 0x1978], eax
test byte [ebx + 0xc], 8
je 0x10098f5c
or eax, 8
mov dword [ebx + 0x1978], eax
cmp dword [ebx + 0x1d44], 0
jle 0x10098f8e
xor eax, eax
xorps xmm0, xmm0
nop word [eax + eax]
mov ecx, dword [ebx + 0x1d4c]
mov ecx, dword [ecx + eax*4]
movups xmmword [ecx + 0x50], xmm0
movups xmmword [ecx + 0x44], xmm0
movups xmmword [ecx + 0x34], xmm0
inc eax
cmp eax, dword [ebx + 0x1d44]
jl 0x10098f70
cmp byte [ebx + 0x1e94], 0
je 0x10098fc8
mov eax, dword [ebx + 0x1eac]
cmp eax, dword [ebx + 0x1bf0]
jne 0x10098fc8
mov ecx, dword [0x1058eba8]
cmp dword [ecx + 0x1c2c], eax
jne 0x10098fba
mov byte [ecx + 0x1c30], 1
cmp dword [ecx + 0x1bf0], eax
jne 0x10098fc8
mov dword [ecx + 0x1bf4], eax
cmp dword [ebx + 0x1be0], 0
je 0x10098fef
mov eax, dword [ebx + 0x1bdc]
test eax, eax
je 0x10099036
cmp dword [ebx + 0x1bf0], eax
jne 0x10099003
mov dword [ebx + 0x1bec], 0
jmp 0x10099003
mov eax, dword [ebx + 0x1bdc]
xorps xmm0, xmm0
movlps qword [ebx + 0x1be8], xmm0
test eax, eax
je 0x10099036
movss xmm0, dword [ebx + 0x18]
movss xmm1, dword [ebx + 0x1be8]
addss xmm1, xmm0
movss dword [ebx + 0x1be8], xmm1
cmp dword [ebx + 0x1bf0], eax
je 0x10099038
addss xmm0, dword [ebx + 0x1bec]
movss dword [ebx + 0x1bec], xmm0
jmp 0x10099038
xor eax, eax
mov dword [ebx + 0x1be0], eax
movzx eax, byte [ebx + 0x1be5]
mov byte [ebx + 0x1be6], al
mov dword [ebx + 0x1bdc], 0
mov word [ebx + 0x1be4], 0
mov byte [ebx + 0x1be7], 0
mov eax, dword [ebx + 0x1bf4]
mov ecx, dword [ebx + 0x1bf0]
cmp eax, ecx
je 0x10099119
test ecx, ecx
je 0x10099117
mov eax, ecx
cmp dword [ebx + 0x1c2c], ecx
jne 0x10099119
mov eax, dword [0x1058eba8]
cmp dword [eax + 0x1bf0], 0
setne byte [eax + 0x1bfc]
je 0x100990c1
mov dword [eax + 0x1bf8], 0
mov word [eax + 0x1bff], 0
mov dword [eax + 0x1c28], 0xffffffff
mov dword [eax + 0x1bf0], 0
mov word [eax + 0x1bfd], 0
mov dword [eax + 0x1c20], 0
mov word [eax + 0x1c01], 0
mov dword [eax + 0x1c04], 0
mov dword [eax + 0x1c08], 0
mov dword [eax + 0x1c10], 0
mov dword [eax + 0x1c14], 0
mov eax, dword [ebx + 0x1bf0]
jmp 0x10099119
mov eax, ecx
movss xmm1, dword [ebx + 0x18]
test eax, eax
je 0x10099136
movss xmm0, dword [ebx + 0x1bf8]
addss xmm0, xmm1
movss dword [ebx + 0x1bf8], xmm0
movss xmm0, dword [ebx + 0x1c3c]
addss xmm0, xmm1
movss dword [ebx + 0x1c3c], xmm0
mov dword [ebx + 0x1c2c], eax
mov ecx, dword [ebx + 0x1c20]
mov dword [ebx + 0x1c34], ecx
movzx ecx, byte [ebx + 0x1c00]
mov byte [ebx + 0x1c31], cl
mov dword [ebx + 0x1bf4], 0
mov byte [ebx + 0x1c01], 0
mov byte [ebx + 0x1c30], 0
mov byte [ebx + 0x1bfc], 0
mov ecx, dword [ebx + 0x2e88]
test ecx, ecx
je 0x100991a0
cmp eax, ecx
je 0x100991a0
mov dword [ebx + 0x2e88], 0
movss dword [esp + 0x20], xmm1
test eax, eax
jne 0x100991d2
mov dword [ebx + 0x1c04], 0
mov dword [ebx + 0x1c08], 0
mov dword [ebx + 0x1c14], 0
mov dword [ebx + 0x1c10], 0
mov eax, dword [ebx + 0x1ef8]
mov dword [ebx + 0x1efc], eax
mov dword [ebx + 0x1ef8], 0
mov dword [ebx + 0x1ef4], 0x7f7fffff
mov word [ebx + 0x1e95], 0
mov dword [ebx + 0x1f04], 0
mov eax, dword [0x1058eba8]
movzx ecx, byte [eax + 0xfc]
mov edx, ecx
or edx, 2
cmp byte [eax + 0xfd], 0
cmove edx, ecx
mov ecx, edx
or ecx, 4
cmp byte [eax + 0xfe], 0
cmove ecx, edx
mov edx, ecx
or edx, 8
cmp byte [eax + 0xff], 0
cmove edx, ecx
mov dword [ebx + 0x378], edx
lea eax, [ebx + 0xc58]
lea ecx, [ebx + 0x458]
push 0x800
push ecx
push eax
call fcn.10368490
add esp, 0xc
mov eax, 0x117
movss xmm0, dword [0x1048d360]
movss xmm3, dword [esp + 0x20]
jmp 0x1009928f
movss dword [ebx + eax*4], xmm1
add eax, 2
cmp eax, 0x317
je 0x100992d4
cmp byte [ebx + eax - 0x17], 0
movaps xmm1, xmm0
je 0x100992ae
movss xmm2, dword [ebx + eax*4 - 4]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
ja 0x100992ae
addss xmm2, xmm3
movaps xmm1, xmm2
movss dword [ebx + eax*4 - 4], xmm1
cmp byte [ebx + eax - 0x16], 0
movaps xmm1, xmm0
je 0x10099280
movss xmm2, dword [ebx + eax*4]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
ja 0x10099280
addss xmm2, xmm3
movaps xmm1, xmm2
jmp 0x10099280
mov edi, dword [0x1058eba8]
mov byte [edi + 0x353], 0
mov dword [edi + 0x1e50], 0
mov dword [edi + 0x1e54], 0
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
test al, 2
je 0x1009930a
test byte [edi + 0xc], 1
jne 0x10099697
mov dword [esp + 0xc], 0
test byte [esp + 0x14], 1
je 0x10099446
mov eax, dword [edi + 0x64]
test eax, eax
js 0x10099342
cmp byte [edi + eax + 0x100], 0
je 0x10099342
mov dword [edi + 0x300], 0x3f800000
mov dword [edi + 0x1d80], 2
mov eax, dword [edi + 0x68]
test eax, eax
js 0x10099367
cmp byte [edi + eax + 0x100], 0
je 0x10099367
mov dword [edi + 0x308], 0x3f800000
mov dword [edi + 0x1d80], 2
mov eax, dword [edi + 0x6c]
test eax, eax
js 0x1009938c
cmp byte [edi + eax + 0x100], 0
je 0x1009938c
mov dword [edi + 0x304], 0x3f800000
mov dword [edi + 0x1d80], 2
mov eax, dword [edi + 0x38]
test eax, eax
js 0x100993b1
cmp byte [edi + eax + 0x100], 0
je 0x100993b1
mov dword [edi + 0x340], 0x3f800000
mov dword [edi + 0x1d80], 2
mov eax, dword [edi + 0x3c]
test eax, eax
js 0x100993d6
cmp byte [edi + eax + 0x100], 0
je 0x100993d6
mov dword [edi + 0x344], 0x3f800000
mov dword [edi + 0x1d80], 2
mov eax, dword [edi + 0x40]
test eax, eax
js 0x100993fb
cmp byte [edi + eax + 0x100], 0
je 0x100993fb
mov dword [edi + 0x348], 0x3f800000
mov dword [edi + 0x1d80], 2
mov eax, dword [edi + 0x44]
test eax, eax
js 0x10099420
cmp byte [edi + eax + 0x100], 0
je 0x10099420
mov dword [edi + 0x34c], 0x3f800000
mov dword [edi + 0x1d80], 2
cmp byte [edi + 0xfc], 0
je 0x10099433
mov dword [edi + 0x338], 0x3f800000
cmp byte [edi + 0xfd], 0
je 0x10099446
mov dword [edi + 0x33c], 0x3f800000
movups xmm0, xmmword [edi + 0x1498]
movups xmmword [edi + 0x14e8], xmm0
movups xmm0, xmmword [edi + 0x1488]
movups xmmword [edi + 0x14d8], xmm0
movups xmm0, xmmword [edi + 0x1478]
movups xmmword [edi + 0x14c8], xmm0
movups xmm0, xmmword [edi + 0x1458]
movups xmm1, xmmword [edi + 0x1468]
movups xmmword [edi + 0x14b8], xmm1
movups xmmword [edi + 0x14a8], xmm0
xor eax, eax
movss xmm0, dword [0x1048d360]
xorps xmm1, xmm1
jmp 0x100994b1
movss dword [edi + eax*4 + 0x145c], xmm2
add eax, 2
cmp eax, 0x14
je 0x10099510
movss xmm2, dword [edi + eax*4 + 0x300]
ucomiss xmm2, xmm1
movaps xmm2, xmm0
jbe 0x100994db
movss xmm3, dword [edi + eax*4 + 0x1458]
xorps xmm2, xmm2
ucomiss xmm2, xmm3
ja 0x100994db
addss xmm3, dword [edi + 0x18]
movaps xmm2, xmm3
movss dword [edi + eax*4 + 0x1458], xmm2
movss xmm2, dword [edi + eax*4 + 0x304]
ucomiss xmm2, xmm1
movaps xmm2, xmm0
jbe 0x100994a0
movss xmm3, dword [edi + eax*4 + 0x145c]
xorps xmm2, xmm2
ucomiss xmm2, xmm3
ja 0x100994a0
addss xmm3, dword [edi + 0x18]
movaps xmm2, xmm3
jmp 0x100994a0
cmp dword [edi + 0x1da8], 0
je 0x1009957c
mov eax, dword [0x1058eba8]
mov ecx, dword [eax + 0x1d50]
test ecx, ecx
je 0x1009957c
mov edx, dword [eax + 0x1d98]
mov esi, dword [eax + 0x1da8]
mov dword [eax + 0x1d54], esi
mov dword [eax + 0x1d58], 0
mov dword [ecx + edx*4 + 0x300], esi
mov ecx, dword [eax + 0x1d50]
shl edx, 4
movups xmm0, xmmword [eax + 0x1dac]
movups xmmword [ecx + edx + 0x308], xmm0
cmp byte [eax + 0x1da6], 0
je 0x1009957c
mov word [eax + 0x1da1], 1
mov byte [eax + 0x1da3], 1
mov word [edi + 0x1da5], 0
mov dword [edi + 0x1da8], 0
mov dword [edi + 0x1d70], 0
cmp byte [edi + 0x1dbc], 0
mov dword [esp + 0x10], edi
je 0x10099891
mov esi, dword [0x1058eba8]
mov eax, dword [esi + 0x1ddc]
test eax, eax
jne 0x100995c7
cmp dword [esi + 0x1e2c], 0
je 0x10099c4a
lea ebx, [esi + 0x1dd8]
lea ecx, [esi + 0x1e28]
test eax, eax
cmove ebx, ecx
mov eax, dword [esi + 0x1dc0]
test al, 0x20
je 0x100995fb
mov edx, dword [esi + 0x1e04]
test edx, edx
je 0x100995fb
lea edi, [esi + 0x1e00]
cmp edx, dword [esi + 0x1d54]
cmovne ebx, edi
cmp ebx, ecx
je 0x10099643
cmp dword [esi + 0x1e2c], 0
je 0x10099645
mov edx, dword [esi + 0x1e28]
mov edx, dword [edx + 0x2ec]
cmp edx, dword [esi + 0x1d50]
jne 0x10099645
movss xmm0, dword [esi + 0x1e44]
movss xmm1, dword [ebx + 0x1c]
ucomiss xmm1, xmm0
ja 0x10099643
ucomiss xmm0, xmm1
jne 0x10099645
jp 0x10099645
movss xmm0, dword [ebx + 0x20]
ucomiss xmm0, dword [esi + 0x1e48]
jbe 0x10099645
mov ebx, ecx
cmp dword [esi + 0x1d98], 0
mov ecx, esi
jne 0x10099792
test al, 0x40
jne 0x10099745
mov eax, dword [ebx]
movsd xmm0, qword [eax + 0xc]
movlhps xmm0, xmm0
movups xmm1, xmmword [ebx + 0xc]
addps xmm1, xmm0
movups xmmword [esp + 0x70], xmm1
lea eax, [esp + 0x70]
lea ecx, [esp + 0x40]
push eax
push dword [ebx]
push ecx
call fcn.100a9c90
add esp, 0xc
movsd xmm0, qword [esp + 0x40]
mov ecx, dword [0x1058eba8]
jmp 0x10099784
cmp dword [edi + 0x1d80], 3
jne 0x100996b6
mov al, 1
mov dword [esp + 0xc], eax
test byte [esp + 0x14], 1
jne 0x1009931d
jmp 0x10099446
movss xmm1, dword [edi + 0x300]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
ja 0x10099725
movss xmm1, dword [edi + 0x308]
ucomiss xmm1, xmm0
ja 0x10099725
movss xmm1, dword [edi + 0x304]
ucomiss xmm1, xmm0
ja 0x10099725
movss xmm1, dword [edi + 0x30c]
ucomiss xmm1, xmm0
ja 0x10099725
movss xmm1, dword [edi + 0x310]
ucomiss xmm1, xmm0
ja 0x10099725
movss xmm1, dword [edi + 0x314]
ucomiss xmm1, xmm0
ja 0x10099725
movss xmm1, dword [edi + 0x318]
ucomiss xmm1, xmm0
ja 0x10099725
movss xmm1, dword [edi + 0x31c]
ucomiss xmm1, xmm0
jbe 0x100996a0
mov al, 1
mov dword [esp + 0xc], eax
mov dword [edi + 0x1d80], 3
test byte [esp + 0x14], 1
je 0x10099446
jmp 0x1009931d
cmp dword [esi + 0x1dcc], 2
mov eax, dword [ebx]
xorps xmm0, xmm0
jne 0x10099758
movss xmm0, dword [eax + 0x68]
movss xmm1, dword [eax + 0x60]
subss xmm1, xmm0
movss dword [eax + 0x70], xmm0
mov dword [eax + 0x78], 0
mov dword [eax + 0x80], 0
movq xmm0, xmm1
xorps xmm1, xmm1
shufps xmm0, xmm1, 0xe2
mov ecx, esi
movlhps xmm0, xmm0
movups xmm1, xmmword [ebx + 0xc]
subps xmm1, xmm0
movups xmmword [ebx + 0xc], xmm1
cmp dword [ecx + 0x1bf0], 0
setne byte [ecx + 0x1bfc]
je 0x100997bf
mov dword [ecx + 0x1bf8], 0
mov word [ecx + 0x1bff], 0
mov dword [ecx + 0x1c28], 0xffffffff
mov dword [ecx + 0x1bf0], 0
mov word [ecx + 0x1bfd], 0
mov dword [ecx + 0x1c20], 0
mov word [ecx + 0x1c01], 0
mov dword [ecx + 0x1c04], 0
mov dword [ecx + 0x1c08], 0
mov dword [ecx + 0x1c14], 0
mov dword [ecx + 0x1c10], 0
mov eax, dword [ebx]
mov dword [esi + 0x1d50], eax
mov eax, dword [esi + 0x1d54]
mov edx, dword [ebx + 4]
cmp eax, edx
je 0x10099840
mov dword [esi + 0x1d70], edx
mov eax, dword [ebx + 8]
mov dword [esi + 0x1d74], eax
mov eax, dword [esi + 0x1dc8]
mov dword [esi + 0x1d78], eax
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov edi, dword [esi + 0x1d98]
mov dword [ecx + 0x1d54], eax
mov dword [ecx + 0x1d98], edi
mov dword [ecx + 0x1d58], edx
mov edx, dword [ecx + 0x1d50]
mov dword [edx + edi*4 + 0x300], eax
movups xmm0, xmmword [ebx + 0xc]
mov eax, dword [ecx + 0x1d50]
shl edi, 4
movups xmmword [eax + edi + 0x308], xmm0
mov word [esi + 0x1da1], 1
mov edi, dword [esp + 0x10]
mov byte [esi + 0x1da3], 1
cmp dword [edi + 0x1dc4], 2
jne 0x100998bd
cmp dword [edi + 0x1ddc], 0
jne 0x100998b3
cmp dword [edi + 0x1e2c], 0
jne 0x100998b3
mov byte [edi + 0x1da2], 0
mov dword [edi + 0x1dc4], 0
cmp byte [edi + 0x1da1], 0
je 0x100998ef
cmp byte [edi + 0x1da0], 0
je 0x100998ef
test byte [edi + 8], 4
je 0x100998e8
test byte [edi + 0xc], 4
je 0x100998e8
cmp byte [edi + 0x1da2], 0
je 0x10099c63
mov byte [edi + 0x1da1], 0
mov byte [edi + 0x1da0], 0
mov dword [edi + 0x1d6c], 0
mov eax, dword [edi + 0x1d50]
test eax, eax
je 0x1009995a
mov ecx, eax
nop dword [eax]
cmp dword [ecx + 0x2f0], ecx
je 0x1009992a
test byte [ecx + 0xb], 0x14
jne 0x1009992a
mov ecx, dword [ecx + 0x2ec]
test ecx, ecx
jne 0x10099910
jmp 0x1009993a
cmp ecx, eax
je 0x1009993a
mov dword [ecx + 0x2fc], eax
mov eax, dword [edi + 0x1d50]
test eax, eax
je 0x1009995a
cmp dword [eax + 0x2fc], 0
je 0x1009995a
cmp dword [edi + 0x1d98], 0
jne 0x1009995a
mov dword [eax + 0x2fc], 0
mov edi, dword [0x1058eba8]
mov edx, dword [edi + 0x1d20]
mov al, 1
test edx, edx
jle 0x100999a1
mov esi, dword [edi + 0x1d28]
lea ecx, [edx + 1]
lea edx, [edx + edx*8]
lea edx, [esi + edx*4]
add edx, 0xffffffe0
jmp 0x10099989
dec ecx
add edx, 0xffffffdc
cmp ecx, 2
jb 0x100999a1
mov esi, dword [edx]
test esi, esi
je 0x10099980
test byte [esi + 0xb], 8
je 0x10099980
mov dword [edi + 0x1e58], 0
xor eax, eax
cmp dword [edi + 0x1e5c], 0
je 0x100999f6
cmp dword [edi + 0x1e58], 0
jne 0x100999f6
movss xmm2, dword [edi + 0x18]
mulss xmm2, dword [0x1048d460]
addss xmm2, dword [edi + 0x1e68]
xorps xmm0, xmm0
xorps xmm1, xmm1
cmpless xmm1, xmm2
andps xmm1, xmm2
movss dword [edi + 0x1e68], xmm1
ucomiss xmm0, dword [edi + 0x1e8c]
jb 0x100999f6
ucomiss xmm0, xmm1
jb 0x100999f6
mov dword [edi + 0x1e5c], 0
test al, al
mov dword [esp + 0x60], edi
je 0x10099a0b
cmp dword [edi + 0x1e58], 0
je 0x10099b95
xor eax, eax
xor ecx, ecx
test al, al
jne 0x10099a17
test cl, cl
je 0x10099a5b
mov esi, dword [esp + 0x60]
mov edx, dword [esi + 0x1d50]
test edx, edx
je 0x10099bfd
mov edi, dword [edx + 0x2f0]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x1e5c], edi
mov dword [edx + 0x1e58], edi
xorps xmm0, xmm0
movlps qword [edx + 0x1e64], xmm0
mov byte [edx + 0x1e6c], al
movzx eax, cl
xor eax, 3
mov dword [edx + 0x1d80], eax
mov esi, dword [esp + 0x60]
movss xmm1, dword [esi + 0x18]
movss xmm3, dword [esi + 0x1e64]
addss xmm3, xmm1
movss dword [esi + 0x1e64], xmm3
xor edi, edi
cmp dword [esi + 0x1e58], 0
je 0x1009a014
mov ecx, dword [esi + 0x1d80]
mov eax, esi
cmp ecx, 3
jne 0x10099e7d
addss xmm3, dword [0x1048d464]
divss xmm3, dword [0x1048d468]
movss xmm0, dword [0x10398490]
minss xmm0, xmm3
xorps xmm2, xmm2
cmpltss xmm3, xmm2
andnps xmm3, xmm0
movss xmm4, dword [esi + 0x1e68]
movaps xmm0, xmm3
cmpless xmm0, xmm4
movaps xmm5, xmm0
andnps xmm5, xmm3
andps xmm0, xmm4
orps xmm0, xmm5
movss dword [esi + 0x1e68], xmm0
movss xmm3, dword [esi + 0x1488]
ucomiss xmm2, xmm3
xorps xmm4, xmm4
ja 0x10099d5e
mov eax, 1
ucomiss xmm3, xmm4
jne 0x10099b07
jnp 0x10099d57
movaps xmm4, xmm3
subss xmm4, xmm1
xor eax, eax
ucomiss xmm4, xmm3
jae 0x10099d57
movss xmm5, dword [esi + 0x8c]
movss xmm6, dword [esi + 0x90]
mulss xmm5, dword [0x1048be38]
addss xmm6, xmm6
xorps xmm7, xmm7
ucomiss xmm7, xmm6
jae 0x10099d45
xor eax, eax
ucomiss xmm5, xmm4
seta al
movaps xmm7, xmm3
unpcklps xmm7, xmm4
movaps xmm4, xmm5
shufps xmm4, xmm5, 0
subps xmm7, xmm4
xor ecx, ecx
ucomiss xmm5, xmm3
seta cl
shufps xmm6, xmm6, 0
divps xmm7, xmm6
cvttps2dq xmm3, xmm7
movd xmm4, ecx
pinsrw xmm4, eax, 2
pslld xmm4, 0x1f
psrad xmm4, 0x1f
por xmm4, xmm3
pshufd xmm3, xmm4, 0x55
psubd xmm4, xmm3
movd eax, xmm4
jmp 0x10099d57
movss xmm0, dword [edi + 0x1464]
xorps xmm1, xmm1
movaps xmm2, xmm0
cmpeqss xmm2, xmm1
movss xmm3, dword [0x10398490]
andps xmm3, xmm2
cmpltss xmm0, xmm1
andnps xmm0, xmm3
ucomiss xmm0, xmm1
seta al
cmp byte [edi + 0xfc], 0
je 0x10099a0d
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x10099a0d
movss xmm0, dword [edi + ecx*4 + 0x458]
ucomiss xmm0, xmm1
jne 0x10099cb2
jp 0x10099cb2
movzx ecx, byte [edi + 8]
and cl, 1
jmp 0x10099a0f
mov edx, dword [esi + 0x1b80]
test edx, edx
jle 0x10099a5b
mov esi, dword [esp + 0x60]
mov esi, dword [esi + 0x1b88]
inc edx
jmp 0x10099c2a
dec edx
cmp edx, 1
jbe 0x10099a5b
mov edi, dword [esi + edx*4 - 8]
cmp byte [edi + 0x8f], 0
je 0x10099c20
cmp dword [edi + 0x2f0], edi
jne 0x10099c20
test byte [edi + 0xa], 8
jne 0x10099c20
jmp 0x10099a2f
cmp dword [esi + 0x1d54], 0
je 0x10099891
mov byte [esi + 0x1da2], 0
jmp 0x1009988a
cmp byte [edi + 0x1da3], 0
je 0x100998e8
cmp dword [edi + 0x1d50], 0
je 0x100998e8
lea ecx, [esp + 0x70]
call fcn.100aa270
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x384], ecx
mov dword [edi + 0x380], eax
mov dword [edi + 0xe8], ecx
mov dword [edi + 0xe4], eax
mov byte [edi + 0x353], 1
jmp 0x100998e8
movss xmm1, dword [edi + 0x8c]
ucomiss xmm0, xmm1
jbe 0x10099a0d
movaps xmm2, xmm0
subss xmm2, dword [edi + 0x18]
ucomiss xmm2, xmm0
jae 0x10099a0d
movss xmm3, dword [edi + 0x90]
xorps xmm4, xmm4
xor ecx, ecx
ucomiss xmm4, xmm3
jae 0x1009cd76
ucomiss xmm1, xmm2
seta cl
movaps xmm4, xmm0
unpcklps xmm4, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
xor edx, edx
ucomiss xmm1, xmm0
subps xmm4, xmm2
seta dl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
movd xmm0, edx
pinsrw xmm0, ecx, 2
cvttps2dq xmm1, xmm4
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd ecx, xmm0
test cl, 1
je 0x10099a0d
jmp 0x10099bf1
cmpltps xmm4, xmm5
cmpleps xmm5, xmm3
andps xmm5, xmm4
movd eax, xmm5
and eax, 1
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
xor ecx, ecx
ucomiss xmm4, xmm2
seta cl
movss xmm3, dword [esi + 0x148c]
ucomiss xmm2, xmm3
ja 0x10099e27
mov eax, 1
ucomiss xmm3, xmm2
jne 0x10099d87
jnp 0x10099e20
movaps xmm2, xmm3
subss xmm2, xmm1
xor eax, eax
ucomiss xmm2, xmm3
jae 0x10099e20
movss xmm1, dword [esi + 0x8c]
movss xmm4, dword [esi + 0x90]
mulss xmm1, dword [0x1048be38]
addss xmm4, xmm4
xorps xmm5, xmm5
ucomiss xmm5, xmm4
jae 0x10099e0e
xor eax, eax
ucomiss xmm1, xmm2
seta al
movaps xmm5, xmm3
unpcklps xmm5, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
subps xmm5, xmm2
xor edx, edx
ucomiss xmm1, xmm3
seta dl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
cvttps2dq xmm1, xmm5
movd xmm2, edx
pinsrw xmm2, eax, 2
pslld xmm2, 0x1f
psrad xmm2, 0x1f
por xmm2, xmm1
pshufd xmm1, xmm2, 0x55
psubd xmm2, xmm1
movd eax, xmm2
jmp 0x10099e20
cmpltps xmm2, xmm1
cmpleps xmm1, xmm3
andps xmm1, xmm2
movd eax, xmm1
and eax, 1
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
xorps xmm3, xmm3
xor eax, eax
ucomiss xmm2, xmm3
seta al
sub ecx, eax
je 0x10099e57
call fcn.100acb40
xorps xmm3, xmm3
mov dword [esi + 0x1e68], 0x3f800000
mov eax, dword [0x1058eba8]
movss xmm0, dword [0x10398490]
jmp 0x10099e59
mov eax, esi
movss xmm1, dword [eax + 0x30c]
ucomiss xmm1, xmm3
jbe 0x10099f13
cmp dword [esi + 0x1e58], 0
je 0x10099f65
mov ecx, dword [esi + 0x1d80]
xor edx, edx
mov edi, 0
cmp ecx, 2
jne 0x1009a016
movss xmm0, dword [esi + 0x1e64]
addss xmm0, dword [0x1048d464]
movss xmm2, dword [esi + 0x1e68]
divss xmm0, dword [0x1048d468]
movss xmm3, dword [0x10398490]
minss xmm3, xmm0
xorps xmm1, xmm1
cmpltss xmm0, xmm1
andnps xmm0, xmm3
movaps xmm3, xmm0
cmpless xmm3, xmm2
movaps xmm4, xmm3
andnps xmm4, xmm0
andps xmm3, xmm2
orps xmm3, xmm4
movss dword [esi + 0x1e68], xmm3
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x1009a003
movss xmm0, dword [eax + ecx*4 + 0x458]
ucomiss xmm0, xmm1
jne 0x10099f6e
jp 0x10099f6e
xor ecx, ecx
cmp byte [esi + 0xfd], 1
sbb ecx, ecx
or ecx, 1
call fcn.100acb40
jmp 0x1009a003
movss xmm1, dword [0x10398490]
ucomiss xmm1, xmm0
seta al
cmp byte [esi + 0x1e6c], 0
setne cl
and cl, al
mov byte [esi + 0x1e6c], cl
je 0x10099f4e
cmp dword [esi + 0x1d50], 0
setne dl
mov dword [esi + 0x1e58], 0
jmp 0x1009a016
mov edi, dword [esi + 0x1e58]
xor edx, edx
mov dword [esi + 0x1e58], 0
jmp 0x1009a016
xor edx, edx
xor edi, edi
jmp 0x1009a016
movss xmm1, dword [eax + 0x8c]
ucomiss xmm0, xmm1
jbe 0x1009a003
movaps xmm2, xmm0
subss xmm2, dword [eax + 0x18]
ucomiss xmm2, xmm0
jae 0x1009a003
movss xmm3, dword [eax + 0x90]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x10099ff5
xor eax, eax
ucomiss xmm1, xmm2
seta al
movaps xmm4, xmm0
unpcklps xmm4, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
xor ecx, ecx
ucomiss xmm1, xmm0
subps xmm4, xmm2
seta cl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
movd xmm0, ecx
pinsrw xmm0, eax, 2
cvttps2dq xmm1, xmm4
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd eax, xmm0
test al, 1
jne 0x10099efb
jmp 0x1009a003
ucomiss xmm0, xmm1
jb 0x1009a003
ucomiss xmm1, xmm2
ja 0x10099efb
xor edx, edx
cmp byte [esi + 0xfc], 0
jne 0x1009a016
mov edi, dword [esi + 0x1e58]
xor edx, edx
mov eax, dword [esi + 0x378]
cmp eax, 4
jne 0x1009a03b
test byte [esi + 0x37c], 4
jne 0x1009a03b
mov byte [esi + 0x1e6c], 1
mov dword [esi + 0x1d80], 2
cmp byte [esi + 0x1e6c], 0
je 0x1009a119
cmp dword [esi + 0x1d80], 2
jne 0x1009a119
cmp dword [esi + 0x1500], 0
jg 0x1009a07d
cmp byte [esi + 0xfc], 0
jne 0x1009a07d
cmp byte [esi + 0xfd], 0
jne 0x1009a07d
cmp byte [esi + 0xff], 0
je 0x1009ca7b
mov byte [esi + 0x1e6c], 0
mov cl, 1
test al, 4
jne 0x1009a109
test byte [esi + 0x37c], 4
sete al
or cl, al
jne 0x1009a109
cmp dword [esi + 0x1bf0], 0
je 0x1009a0aa
cmp byte [esi + 0x1bfd], 0
je 0x1009a109
movss xmm0, dword [esi + 0xe4]
movss xmm1, dword [esi + 0xe8]
movss xmm2, dword [0x1048d440]
movaps xmm3, xmm2
cmpleps xmm3, xmm1
movaps xmm1, xmm2
cmpleps xmm1, xmm0
andps xmm1, xmm3
movd eax, xmm1
movss xmm0, dword [esi + 0x384]
movaps xmm1, xmm2
cmpleps xmm1, xmm0
movss xmm0, dword [esi + 0x380]
cmpleps xmm2, xmm0
andps xmm2, xmm1
movd ecx, xmm2
xor ecx, eax
movzx eax, dl
test cl, 1
mov edx, 1
cmovne edx, eax
cmp byte [esi + 0xfe], 0
jne 0x1009a119
mov byte [esi + 0x1e6c], 0
mov eax, dword [esi + 0x1e58]
test eax, eax
je 0x1009a2a6
test byte [eax + 8], 4
jne 0x1009a2a6
mov ecx, dword [esi + 0x1d80]
cmp ecx, 3
je 0x1009a175
xorps xmm0, xmm0
cmp ecx, 2
jne 0x1009a1b0
cmp byte [esi + 0xfd], 0
jne 0x1009a1b0
mov dword [esp + 0x34], edx
mov ecx, dword [0x1058eba8]
movss xmm0, dword [ecx + 0x34c]
subss xmm0, dword [ecx + 0x348]
lea edx, [ecx + 0x344]
add ecx, 0x340
jmp 0x1009a19b
mov dword [esp + 0x34], edx
mov ecx, dword [0x1058eba8]
movss xmm0, dword [ecx + 0x32c]
subss xmm0, dword [ecx + 0x328]
lea edx, [ecx + 0x324]
add ecx, 0x320
movss xmm1, dword [edx]
subss xmm1, dword [ecx]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
addps xmm0, xmm1
mov edx, dword [esp + 0x34]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1009a1cc
jp 0x1009a1cc
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
ucomiss xmm2, xmm1
jne 0x1009a1cc
jnp 0x1009a2a6
mov eax, dword [eax + 0x2f0]
mov ecx, dword [eax + 0xb4]
test cl, 1
je 0x1009a27b
movss xmm1, dword [esi + 0x18]
movss xmm2, dword [esi + 0xa8]
mulss xmm1, dword [0x1048d46c]
minss xmm2, dword [esi + 0xac]
mulss xmm2, xmm1
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
and ecx, 0xfffffff1
mov dword [eax + 0xb4], ecx
mov dword [eax + 0xb8], 0x7f7fffff
mov dword [eax + 0xbc], 0x7f7fffff
shufps xmm1, xmm1, 0
mulps xmm0, xmm1
movsd xmm1, qword [eax + 0xc]
movsd xmm2, qword [eax + 0xd4]
addps xmm0, xmm1
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [eax + 0xc], xmm0
subps xmm0, xmm1
addps xmm2, xmm0
movlps qword [eax + 0xd4], xmm2
movsd xmm1, qword [eax + 0xf4]
addps xmm1, xmm0
movlhps xmm0, xmm0
movlps qword [eax + 0xf4], xmm1
movups xmm1, xmmword [eax + 0xe4]
addps xmm1, xmm0
movups xmmword [eax + 0xe4], xmm1
test byte [eax + 9], 1
jne 0x1009a29f
mov eax, dword [0x1058eba8]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2f30]
jb 0x1009a29f
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2f30], xmm0
mov byte [esi + 0x1da3], 1
test edi, edi
je 0x1009a537
mov eax, dword [esi + 0x1d50]
test eax, eax
je 0x1009a2c4
cmp edi, dword [eax + 0x2f0]
je 0x1009a52d
mov ecx, dword [0x1058eba8]
cmp dword [ecx + 0x1bf0], 0
setne byte [ecx + 0x1bfc]
je 0x1009a2f7
mov dword [ecx + 0x1bf8], 0
mov word [ecx + 0x1bff], 0
mov dword [ecx + 0x1c28], 0xffffffff
mov dword [ecx + 0x1bf0], 0
mov word [ecx + 0x1bfd], 0
mov dword [ecx + 0x1c20], 0
mov word [ecx + 0x1c01], 0
mov dword [ecx + 0x1c04], 0
mov dword [ecx + 0x1c08], 0
mov dword [ecx + 0x1c14], 0
mov dword [ecx + 0x1c10], 0
mov word [esi + 0x1da2], 0x100
mov eax, dword [edi + 0x2fc]
test eax, eax
je 0x1009a361
cmp byte [eax + 0x8f], 0
jne 0x1009a363
mov eax, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ecx
mov eax, dword [ecx + 0x1d20]
mov dword [esp + 0x38], eax
test eax, eax
je 0x1009a4fb
jle 0x1009a41f
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x1d28]
mov dword [esp + 0x98], eax
lea ecx, [eax + 4]
xor edx, edx
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
jmp 0x1009a3c7
mov edx, dword [esp + 0x18]
inc edx
dec eax
add ecx, 0x24
cmp edx, dword [esp + 0x38]
mov esi, dword [esp + 0x60]
je 0x1009a4fb
mov dword [esp + 0x18], edx
lea edx, [edx + edx*8]
mov esi, dword [esp + 0x98]
mov edx, dword [esi + edx*4 + 4]
test edx, edx
je 0x1009a3b0
test byte [edx + 0xb], 1
jne 0x1009a3b0
mov edx, ecx
mov edi, eax
jmp 0x1009a3f6
add edx, 0x24
dec edi
je 0x1009a40c
mov esi, dword [edx]
test esi, esi
je 0x1009a3f0
mov esi, dword [esi + 0x2f0]
cmp esi, dword [ebx + 0x2f0]
jne 0x1009a3f0
jmp 0x1009a3b0
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x18]
cmp edi, dword [esp + 0x38]
jl 0x1009a42b
jmp 0x1009a4fb
xor edi, edi
cmp edi, dword [esp + 0x38]
jge 0x1009a4fb
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x1d24]
cmp eax, edi
jge 0x1009a4f5
test eax, eax
je 0x1009a44e
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x1009a453
mov ebx, 8
cmp ebx, edi
cmovle ebx, edi
cmp eax, ebx
jge 0x1009a4f5
lea eax, [ebx*4]
lea eax, [eax + eax*8]
inc dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f34]
mov ecx, dword [esp + 0x44]
add esp, 8
mov edx, dword [ecx + 0x1d28]
test edx, edx
je 0x1009a4e9
mov dword [esp + 0x18], ebx
mov ebx, edi
mov edi, ecx
mov ecx, dword [ecx + 0x1d20]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push edx
mov dword [esp + 0x40], eax
push eax
call fcn.10368490
add esp, 0xc
mov eax, dword [edi + 0x1d28]
test eax, eax
je 0x1009a4cb
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x1009a4cb
dec dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov ecx, dword [esp + 0x3c]
mov edi, ebx
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x1d28], eax
mov dword [ecx + 0x1d24], ebx
mov dword [ecx + 0x1d20], edi
mov edi, dword [esp + 0x20]
push edi
call fcn.10097c60
add esp, 4
cmp dword [edi + 0x300], 0
mov edx, dword [esp + 0x34]
je 0x1009a628
cmp word [edi + 0x126], 2
jne 0x1009a52d
mov dword [esi + 0x1d98], 1
mov dword [esi + 0x1e58], 0
test dl, dl
je 0x1009a84b
cmp dword [esi + 0x1d50], 0
je 0x1009a84b
mov eax, dword [0x1058eba8]
cmp dword [eax + 0x1bf0], 0
setne byte [eax + 0x1bfc]
je 0x1009a57e
mov dword [eax + 0x1bf8], 0
mov word [eax + 0x1bff], 0
mov dword [eax + 0x1c28], 0xffffffff
mov dword [eax + 0x1bf0], 0
mov word [eax + 0x1bfd], 0
mov dword [eax + 0x1c20], 0
mov word [eax + 0x1c01], 0
mov dword [eax + 0x1c04], 0
mov dword [eax + 0x1c08], 0
mov dword [eax + 0x1c10], 0
mov dword [eax + 0x1c14], 0
mov edi, dword [esi + 0x1d50]
mov eax, 0x15000000
mov ecx, edi
nop dword [eax]
mov esi, ecx
mov ecx, dword [ecx + 0x2ec]
test ecx, ecx
je 0x1009a602
test byte [esi + 0x124], 2
jne 0x1009a602
mov edx, dword [esi + 8]
and edx, eax
cmp edx, 0x1000000
je 0x1009a5e0
cmp esi, edi
je 0x1009a6c4
push esi
call fcn.10097c60
add esp, 4
mov dword [esi + 0x2fc], edi
mov eax, dword [esp + 0x60]
mov edi, dword [eax + 0x1d50]
jmp 0x1009a6c8
mov eax, dword [0x1058eba8]
test byte [edi + 0xa], 4
jne 0x1009a72a
mov ecx, dword [eax + 0x1d50]
mov edx, dword [eax + 0x1d98]
mov dword [eax + 0x1d54], 0
mov dword [eax + 0x1d58], 0
mov dword [ecx + edx*4 + 0x300], 0
mov ecx, dword [eax + 0x1d50]
shl edx, 4
xorps xmm0, xmm0
movups xmmword [ecx + edx + 0x308], xmm0
mov word [eax + 0x1da5], 1
movups xmmword [eax + 0x1da8], xmm0
mov dword [eax + 0x1db8], 0
mov eax, dword [0x1058eba8]
mov cl, 1
cmp byte [eax + 0x1dbc], 0
jne 0x1009a6a7
movzx ecx, byte [eax + 0x1da5]
mov byte [eax + 0x1da4], cl
mov edx, dword [esp + 0x34]
cmp word [edi + 0x126], 2
jne 0x1009a52d
jmp 0x1009a523
mov eax, dword [esp + 0x60]
mov word [eax + 0x1da2], 0x100
test byte [edi + 0x124], 2
jne 0x1009a708
mov eax, dword [0x1058eba8]
lea ecx, [eax + 0x1d50]
mov edx, dword [eax + 0x1d50]
mov edi, dword [edx + 0x2fc]
test edi, edi
je 0x1009a6fe
cmp byte [edi + 0x8f], 0
jne 0x1009a700
mov edi, edx
mov dword [ecx], edi
xor esi, esi
mov edx, edi
jmp 0x1009a771
mov esi, dword [eax + 0x1d98]
test esi, esi
je 0x1009a751
mov eax, dword [0x1058eba8]
lea ecx, [eax + 0x1d50]
xor esi, 1
mov edx, dword [eax + 0x1d50]
jne 0x1009a771
jmp 0x1009a6eb
mov dword [eax + 0x1d58], 0
mov dword [eax + 0x1d54], 0
cmp word [edi + 0x126], 2
je 0x1009a523
jmp 0x1009a52d
mov dword [edi + 0x304], 0
mov eax, dword [0x1058eba8]
lea ecx, [eax + 0x1d50]
mov edx, dword [eax + 0x1d50]
mov esi, 1
mov edi, dword [edx + esi*4 + 0x300]
test edi, edi
je 0x1009a7c3
mov dword [eax + 0x1d54], edi
mov dword [eax + 0x1d98], esi
mov dword [eax + 0x1d58], 0
mov dword [edx + esi*4 + 0x300], edi
shl esi, 4
movups xmm0, xmmword [edx + esi + 0x308]
mov ecx, dword [ecx]
movups xmmword [ecx + esi + 0x308], xmm0
mov word [eax + 0x1da1], 1
mov byte [eax + 0x1da3], 1
jmp 0x1009a84b
mov dword [eax + 0x1d98], esi
test byte [edx + 0xa], 4
jne 0x1009a837
mov dword [eax + 0x1d54], 0
mov dword [eax + 0x1d58], 0
mov dword [edx + esi*4 + 0x300], 0
mov ecx, dword [ecx]
shl esi, 4
xorps xmm0, xmm0
movups xmmword [ecx + esi + 0x308], xmm0
mov word [eax + 0x1da5], 1
movups xmmword [eax + 0x1da8], xmm0
mov dword [eax + 0x1db8], 0
mov eax, dword [0x1058eba8]
mov cl, 1
cmp byte [eax + 0x1dbc], 0
jne 0x1009a82f
movzx ecx, byte [eax + 0x1da5]
mov byte [eax + 0x1da4], cl
jmp 0x1009a84b
mov dword [eax + 0x1d58], 0
mov dword [eax + 0x1d54], 0
test byte [esp + 0x14], 1
sete al
mov ecx, dword [esp + 0xc]
xor cl, 1
test al, cl
mov edi, dword [esp + 0x10]
jne 0x1009a892
mov eax, dword [edi + 0x1d50]
test eax, eax
je 0x1009a892
test dword [eax + 8], 0x40000
sete byte [edi + 0x355]
jne 0x1009a899
cmp dword [edi + 0x1d54], 0
je 0x1009a899
cmp byte [edi + 0x1da2], 0
jne 0x1009a899
mov al, 1
jmp 0x1009a8a3
mov byte [edi + 0x355], 0
cmp dword [edi + 0x1e58], 0
setne al
mov byte [edi + 0x356], al
mov eax, dword [0x1058eba8]
movss xmm0, dword [eax + 0x145c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1009ab73
jp 0x1009ab73
cmp dword [edi + 0x1bf0], 0
je 0x1009a962
test byte [eax + 0x1c08], 2
jne 0x1009ab73
cmp dword [eax + 0x1bf0], 0
setne byte [eax + 0x1bfc]
je 0x1009a90f
mov dword [eax + 0x1bf8], 0
mov word [eax + 0x1bff], 0
mov dword [eax + 0x1c28], 0xffffffff
mov dword [eax + 0x1bf0], 0
mov word [eax + 0x1bfd], 0
mov dword [eax + 0x1c20], 0
mov word [eax + 0x1c01], 0
mov dword [eax + 0x1c04], 0
mov dword [eax + 0x1c08], 0
mov dword [eax + 0x1c14], 0
mov dword [eax + 0x1c10], 0
jmp 0x1009ab73
cmp dword [edi + 0x1d98], 0
je 0x1009a9e3
mov edx, dword [eax + 0x1d50]
mov ecx, dword [edx + 0x2fc]
test ecx, ecx
je 0x1009a984
cmp byte [ecx + 0x8f], 0
jne 0x1009a986
mov ecx, edx
mov dword [eax + 0x1d50], ecx
mov edx, dword [ecx + 0x300]
test edx, edx
je 0x1009aa90
mov dword [eax + 0x1d54], edx
mov dword [eax + 0x1d98], 0
mov dword [eax + 0x1d58], 0
mov dword [ecx + 0x300], edx
mov edx, dword [eax + 0x1d50]
movups xmm0, xmmword [ecx + 0x308]
movups xmmword [edx + 0x308], xmm0
mov word [eax + 0x1da1], 1
mov byte [eax + 0x1da3], 1
jmp 0x1009ab73
mov esi, dword [edi + 0x1d50]
test esi, esi
je 0x1009ab1e
cmp esi, dword [esi + 0x2f0]
je 0x1009aaf5
test byte [esi + 0xb], 4
jne 0x1009aaf5
mov edi, dword [esi + 0x2ec]
test edi, edi
je 0x1009aaf5
movsd xmm0, qword [esi + 0xc]
movaps xmmword [esp + 0x60], xmm0
movsd xmm1, qword [esi + 0x14]
addps xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
push edi
call fcn.10097c60
add esp, 4
mov eax, dword [esi + 0x54]
mov ecx, dword [0x1058eba8]
mov edx, dword [ecx + 0x1d50]
movsd xmm0, qword [edi + 0xc]
movlhps xmm0, xmm0
movaps xmm1, xmmword [esp + 0x60]
unpcklpd xmm1, xmmword [esp + 0x20]
subps xmm1, xmm0
mov dword [ecx + 0x1d54], eax
mov dword [ecx + 0x1d98], 0
mov dword [ecx + 0x1d58], 0
mov dword [edx + 0x300], eax
mov eax, dword [ecx + 0x1d50]
movups xmmword [eax + 0x308], xmm1
mov edi, dword [esp + 0x10]
jmp 0x1009ab73
mov dword [eax + 0x1d98], 0
test byte [ecx + 0xa], 4
jne 0x1009ab5f
mov dword [eax + 0x1d54], 0
mov dword [eax + 0x1d58], 0
mov dword [ecx + 0x300], 0
mov ecx, dword [eax + 0x1d50]
xorps xmm0, xmm0
movups xmmword [ecx + 0x308], xmm0
mov byte [eax + 0x1da6], 0
movups xmmword [eax + 0x1da8], xmm0
mov dword [eax + 0x1db8], 0
mov word [eax + 0x1da4], 0x101
jmp 0x1009ab73
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x1d20]
test eax, eax
jg 0x1009ab28
mov eax, 0x5000000
and eax, dword [esi + 8]
cmp eax, 0x1000000
je 0x1009ab49
mov dword [esi + 0x300], 0
jmp 0x1009ab49
mov eax, dword [edi + 0x1d20]
test eax, eax
jle 0x1009ab49
mov ecx, dword [edi + 0x1d28]
dec eax
lea edx, [eax + eax*8]
mov ecx, dword [ecx + edx*4 + 4]
test byte [ecx + 0xb], 8
jne 0x1009ab73
push 1
push eax
call fcn.100aa370
add esp, 8
jmp 0x1009ab73
mov dword [edi + 0x1d58], 0
mov dword [edi + 0x1d54], 0
jmp 0x1009ab73
mov dword [eax + 0x1d58], 0
mov dword [eax + 0x1d54], 0
lea eax, [edi + 0x1d5c]
xorps xmm0, xmm0
movups xmmword [edi + 0x1d5c], xmm0
mov ecx, dword [edi + 0x1d54]
test ecx, ecx
je 0x1009ab9f
cmp byte [edi + 0x1da2], 0
jne 0x1009ab9f
cmp dword [edi + 0x1e58], 0
je 0x1009abc0
mov ecx, dword [edi + 0x1d50]
test ecx, ecx
je 0x1009ac3c
test byte [ecx + 0xa], 4
je 0x1009ac3e
mov byte [edi + 0x1da2], 1
jmp 0x1009ac3e
mov edx, dword [edi + 0x1d50]
test edx, edx
je 0x1009ac3c
test byte [edx + 0xa], 4
jne 0x1009ab9f
mov edx, dword [0x1058eba8]
movss xmm0, dword [edx + 0x300]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x1009cdd8
movss xmm0, dword [edx + 0x1458]
ucomiss xmm1, xmm0
ja 0x1009c977
movaps xmm2, xmm0
cmpneqss xmm2, xmm1
movd esi, xmm2
and esi, 1
mov dword [esp + 0x60], esi
ucomiss xmm0, xmm1
mov esi, dword [edi + 0x1bf0]
jne 0x1009cd8d
jp 0x1009cd8d
test esi, esi
jne 0x1009cd8d
mov dword [eax], ecx
mov bl, 1
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x60]
jmp 0x1009cda9
xor ecx, ecx
mov byte [edi + 0x1dbc], 0
mov edx, dword [edi + 0x1d7c]
test edx, edx
je 0x1009ac5c
movd xmm0, edx
pshufd xmm0, xmm0, 0
movdqu xmmword [eax], xmm0
mov dword [edi + 0x1d7c], 0
cmp dword [edi + 0x1dc4], 0
je 0x1009ac89
mov dword [edi + 0x1dc4], 2
test byte [esp + 0x14], 1
je 0x1009b0a2
jmp 0x1009b08f
mov dword [edi + 0x1dcc], 0xffffffff
mov dword [edi + 0x1dc0], 0
mov eax, 0xffffffff
test ecx, ecx
je 0x1009b082
cmp dword [edi + 0x1e58], 0
jne 0x1009b082
test byte [ecx + 0xa], 4
jne 0x1009b082
mov ecx, dword [0x1058eba8]
mov edx, dword [ecx + 0x1c04]
test dl, 1
jne 0x1009adba
movss xmm1, dword [ecx + 0x1468]
xorps xmm0, xmm0
ucomiss xmm0, xmm1
jbe 0x1009ad99
movss xmm1, dword [ecx + 0x1498]
ucomiss xmm0, xmm1
ja 0x1009adba
ucomiss xmm1, xmm0
jne 0x1009ad06
jnp 0x1009ada8
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm2, xmm1
jae 0x1009adba
movss xmm0, dword [ecx + 0x8c]
movss xmm3, dword [ecx + 0x90]
mulss xmm3, dword [0x1048d470]
mulss xmm0, dword [0x1048d474]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x1009d1a7
xor ebx, ebx
ucomiss xmm0, xmm2
seta bl
mov esi, ebx
movaps xmm4, xmm1
unpcklps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
subps xmm4, xmm2
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
cvttps2dq xmm0, xmm4
movd xmm1, ebx
pinsrw xmm1, esi, 2
pslld xmm1, 0x1f
psrad xmm1, 0x1f
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
psubd xmm1, xmm0
movd esi, xmm1
jmp 0x1009d1b9
ucomiss xmm1, xmm0
jne 0x1009cb2c
jp 0x1009cb2c
mov dword [edi + 0x1dcc], 0
mov edx, dword [ecx + 0x1c04]
xor eax, eax
test dl, 2
jne 0x1009aeaa
movss xmm1, dword [ecx + 0x146c]
xorps xmm0, xmm0
ucomiss xmm0, xmm1
jbe 0x1009ae86
movss xmm1, dword [ecx + 0x149c]
ucomiss xmm0, xmm1
ja 0x1009aeaa
ucomiss xmm1, xmm0
jne 0x1009adf3
jnp 0x1009ae95
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm2, xmm1
jae 0x1009aeaa
movss xmm0, dword [ecx + 0x8c]
movss xmm3, dword [ecx + 0x90]
mulss xmm3, dword [0x1048d470]
mulss xmm0, dword [0x1048d474]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x1009d1c6
xor ebx, ebx
ucomiss xmm0, xmm2
seta bl
mov esi, ebx
movaps xmm4, xmm1
unpcklps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
subps xmm4, xmm2
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
cvttps2dq xmm0, xmm4
movd xmm1, ebx
pinsrw xmm1, esi, 2
pslld xmm1, 0x1f
psrad xmm1, 0x1f
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
psubd xmm1, xmm0
movd esi, xmm1
jmp 0x1009d1d8
ucomiss xmm1, xmm0
jne 0x1009cbbf
jp 0x1009cbbf
mov dword [edi + 0x1dcc], 1
mov edx, dword [ecx + 0x1c04]
mov eax, 1
test dl, 4
jne 0x1009af9a
movss xmm1, dword [ecx + 0x1470]
xorps xmm0, xmm0
ucomiss xmm0, xmm1
jbe 0x1009af76
movss xmm1, dword [ecx + 0x14a0]
ucomiss xmm0, xmm1
ja 0x1009af9a
ucomiss xmm1, xmm0
jne 0x1009aee3
jnp 0x1009af85
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm2, xmm1
jae 0x1009af9a
movss xmm0, dword [ecx + 0x8c]
movss xmm3, dword [ecx + 0x90]
mulss xmm3, dword [0x1048d470]
mulss xmm0, dword [0x1048d474]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x1009d1e5
xor ebx, ebx
ucomiss xmm0, xmm2
seta bl
mov esi, ebx
movaps xmm4, xmm1
unpcklps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
subps xmm4, xmm2
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
cvttps2dq xmm0, xmm4
movd xmm1, ebx
pinsrw xmm1, esi, 2
pslld xmm1, 0x1f
psrad xmm1, 0x1f
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
psubd xmm1, xmm0
movd esi, xmm1
jmp 0x1009d1f7
ucomiss xmm1, xmm0
jne 0x1009cc52
jp 0x1009cc52
mov dword [edi + 0x1dcc], 2
mov edx, dword [ecx + 0x1c04]
mov eax, 2
test dl, 8
jne 0x1009b082
movss xmm1, dword [ecx + 0x1474]
xorps xmm0, xmm0
ucomiss xmm0, xmm1
jbe 0x1009b064
movss xmm1, dword [ecx + 0x14a4]
ucomiss xmm0, xmm1
ja 0x1009b082
ucomiss xmm1, xmm0
jne 0x1009afd3
jnp 0x1009b073
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm2, xmm1
jae 0x1009b082
movss xmm0, dword [ecx + 0x8c]
movss xmm3, dword [ecx + 0x90]
mulss xmm3, dword [0x1048d470]
mulss xmm0, dword [0x1048d474]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x1009d204
xor ecx, ecx
ucomiss xmm0, xmm2
seta cl
movaps xmm4, xmm1
unpcklps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
subps xmm4, xmm2
xor edx, edx
ucomiss xmm0, xmm1
seta dl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
cvttps2dq xmm0, xmm4
movd xmm1, edx
pinsrw xmm1, ecx, 2
pslld xmm1, 0x1f
psrad xmm1, 0x1f
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
psubd xmm1, xmm0
movd ecx, xmm1
jmp 0x1009d216
ucomiss xmm1, xmm0
jne 0x1009cce5
jp 0x1009cce5
mov dword [edi + 0x1dcc], 3
mov eax, 3
mov dword [edi + 0x1dd4], eax
test byte [esp + 0x14], 1
je 0x1009b0a2
mov ecx, dword [0x1058eba8]
cmp dword [ecx + 0x1dcc], 0xffffffff
je 0x1009b485
xorps xmm7, xmm7
mov eax, dword [edi + 0x1dcc]
cmp eax, 0xffffffff
je 0x1009b0cb
mov byte [edi + 0x1dbc], 1
mov ecx, dword [edi + 0x378]
mov dword [edi + 0x1dc8], ecx
mov dword [edi + 0x1dd0], eax
jmp 0x1009b0d4
cmp byte [edi + 0x1dbc], 0
je 0x1009b0f7
cmp dword [edi + 0x1d54], 0
jne 0x1009b0f7
mov word [edi + 0x1da5], 0x101
mov dword [edi + 0x1da8], 0
mov byte [edi + 0x1da2], 0
mov eax, dword [0x1058eba8]
mov cl, 1
cmp byte [eax + 0x1dbc], 0
jne 0x1009b10e
movzx ecx, byte [eax + 0x1da5]
mov byte [eax + 0x1da4], cl
mov ecx, dword [edi + 0x1d50]
test ecx, ecx
je 0x1009b288
test byte [ecx + 0xa], 4
jne 0x1009b288
cmp dword [edi + 0x1e58], 0
jne 0x1009b288
movss xmm1, dword [eax + 0x194c]
mulss xmm1, dword [ecx + 0x250]
mov edx, dword [ecx + 0x2ec]
test edx, edx
je 0x1009b15b
mulss xmm1, dword [edx + 0x250]
mulss xmm1, dword [0x1048d478]
mulss xmm1, dword [edi + 0x18]
addss xmm1, dword [0x10398564]
cvttps2dq xmm0, xmm1
cvtdq2ps xmm1, xmm0
cmp word [ecx + 0x124], 0
je 0x1009c33d
movaps xmmword [esp + 0x20], xmm1
movaps xmm1, xmm7
movss xmm4, dword [eax + 0x32c]
subss xmm4, dword [eax + 0x328]
movss xmm3, dword [eax + 0x324]
subss xmm3, dword [eax + 0x320]
xorps xmm2, xmm2
addss xmm3, xmm2
movss xmm7, dword [eax + 0x338]
ucomiss xmm7, xmm2
addss xmm4, xmm2
movss xmm0, dword [0x1048d488]
movaps xmm6, xmm4
mulss xmm6, xmm0
jbe 0x1009b1d8
mulss xmm3, xmm0
xorps xmm5, xmm5
cmpltss xmm5, xmm7
movaps xmm0, xmm5
andnps xmm0, xmm4
andps xmm5, xmm6
movss xmm6, dword [eax + 0x33c]
ucomiss xmm6, xmm2
orps xmm5, xmm0
movss xmm0, dword [0x1048d48c]
movaps xmm4, xmm5
mulss xmm4, xmm0
jbe 0x1009b20c
mulss xmm3, xmm0
movaps xmm7, xmm1
ucomiss xmm3, xmm2
cmpltss xmm2, xmm6
movaps xmm0, xmm2
andnps xmm0, xmm5
andps xmm2, xmm4
orps xmm2, xmm0
movaps xmm1, xmmword [esp + 0x20]
jne 0x1009b22c
jnp 0x1009b258
cmp byte [ecx + 0x8c], 0
je 0x1009b258
mulss xmm3, xmm1
addss xmm3, dword [ecx + 0x5c]
cvttps2dq xmm0, xmm3
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x6c], xmm0
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x7c], 0
xorps xmm0, xmm0
ucomiss xmm2, xmm0
jne 0x1009b262
jnp 0x1009b288
mulss xmm2, xmm1
addss xmm2, dword [ecx + 0x60]
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x70], xmm0
mov dword [ecx + 0x78], 0
mov dword [ecx + 0x80], 0
xorps xmm0, xmm0
movups xmmword [edi + 0x1de4], xmm0
movups xmmword [edi + 0x1dd8], xmm0
mov dword [edi + 0x1dfc], 0x7f7fffff
movsd xmm1, qword [0x1048d3e0]
movsd qword [edi + 0x1df4], xmm1
movups xmmword [edi + 0x1e00], xmm0
movups xmmword [edi + 0x1e0c], xmm0
mov dword [edi + 0x1e24], 0x7f7fffff
movsd qword [edi + 0x1e1c], xmm1
movups xmmword [edi + 0x1e28], xmm0
movups xmmword [edi + 0x1e34], xmm0
mov dword [edi + 0x1e4c], 0x7f7fffff
movsd qword [edi + 0x1e44], xmm1
cmp byte [edi + 0x1dbc], 0
je 0x1009b407
cmp dword [edi + 0x1d80], 3
jne 0x1009b407
cmp dword [edi + 0x1d98], 0
jne 0x1009b407
mov ecx, dword [edi + 0x1d50]
movsd xmm1, qword [ecx + 0x1cc]
movsd xmm0, qword [ecx + 0xc]
subps xmm1, xmm0
addps xmm1, xmmword [0x103984c0]
movsd xmm2, qword [ecx + 0x1c4]
subps xmm2, xmm0
addps xmm2, xmmword [0x10398500]
movss xmm3, dword [ecx + 0x308]
ucomiss xmm3, xmm2
jb 0x1009b387
movss xmm0, dword [ecx + 0x30c]
movaps xmm4, xmm2
shufps xmm4, xmm2, 0x55
ucomiss xmm0, xmm4
jb 0x1009b387
ucomiss xmm1, dword [ecx + 0x310]
jb 0x1009b387
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
ucomiss xmm0, dword [ecx + 0x314]
jae 0x1009b407
movss xmm4, dword [eax + 0x194c]
mulss xmm4, dword [ecx + 0x250]
mov edx, dword [ecx + 0x2ec]
test edx, edx
je 0x1009b3a9
mulss xmm4, dword [edx + 0x250]
mulss xmm4, dword [0x10398564]
movaps xmm0, xmm1
subps xmm0, xmm2
shufps xmm4, xmm4, 0
minps xmm0, xmm4
addps xmm2, xmm0
movlhps xmm2, xmm2
subps xmm1, xmm0
movlhps xmm1, xmm1
movss xmm0, dword [ecx + 0x30c]
unpcklps xmm3, xmm0
movhps xmm3, qword [ecx + 0x310]
minps xmm1, xmm3
cmpltps xmm3, xmm2
andps xmm2, xmm3
andnps xmm3, xmm1
orps xmm3, xmm2
movups xmmword [ecx + 0x308], xmm3
mov dword [edi + 0x1d58], 0
mov dword [edi + 0x1d54], 0
mov ecx, dword [edi + 0x1d50]
test ecx, ecx
je 0x1009b46f
movaps xmmword [esp + 0x20], xmm7
mov edx, dword [edi + 0x1d98]
shl edx, 4
movss xmm5, dword [ecx + edx + 0x308]
movss xmm6, dword [ecx + edx + 0x310]
ucomiss xmm5, xmm6
xorps xmm1, xmm1
ja 0x1009b4e3
movss xmm7, dword [ecx + edx + 0x30c]
movss xmm0, dword [ecx + edx + 0x314]
ucomiss xmm7, xmm0
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm2, xmm2
ja 0x1009b4ec
movaps xmm1, xmm0
movaps xmm3, xmm6
movaps xmm4, xmm7
movaps xmm2, xmm5
jmp 0x1009b4ec
movss xmm2, dword [0x10398490]
xorps xmm1, xmm1
xorps xmm3, xmm3
xorps xmm4, xmm4
jmp 0x1009b513
mov eax, dword [ecx + 0x1d50]
test eax, eax
je 0x1009b0a2
test byte [eax + 0xa], 4
jne 0x1009b0a2
cmp dword [ecx + 0x1e58], 0
jne 0x1009b0a2
cmp dword [ecx + 0x1d98], 0
jne 0x1009b0a2
mov esi, dword [ecx + 0x48]
test esi, esi
js 0x1009cabe
cmp byte [ecx + esi + 0x100], 0
je 0x1009cabe
test byte [ecx + 0x1c10], 0x20
sete dl
mov dword [esp + 0x20], edx
jmp 0x1009cac6
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm2, xmm2
movss xmm0, dword [ecx + 0xc]
movss xmm5, dword [ecx + 0x10]
addss xmm1, xmm5
addss xmm3, xmm0
addss xmm4, xmm5
addss xmm2, xmm0
addss xmm2, dword [0x10398490]
movaps xmm7, xmmword [esp + 0x20]
minss xmm2, xmm3
addss xmm4, xmm7
movss dword [edi + 0x1d88], xmm4
addss xmm1, xmm7
movss dword [edi + 0x1d90], xmm1
movss dword [edi + 0x1d84], xmm2
movss dword [edi + 0x1d8c], xmm2
mov dword [edi + 0x1d94], 0
movsd xmm0, qword [eax + 0xe4]
ucomiss xmm0, dword [0x1048d440]
jb 0x1009b57f
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
ucomiss xmm1, dword [0x1048d440]
jb 0x1009b57f
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [eax + 0x1fac], xmm0
movlps qword [eax + 0xe4], xmm0
ucomiss xmm0, dword [0x1048d440]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
jb 0x1009b5e1
ucomiss xmm2, dword [0x1048d440]
jb 0x1009b5e1
movsd xmm1, qword [eax + 0x380]
ucomiss xmm1, dword [0x1048d440]
jb 0x1009b5e1
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
ucomiss xmm3, dword [0x1048d440]
jb 0x1009b5e1
subps xmm0, xmm1
movlps qword [eax + 0x370], xmm0
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1009b5d8
jp 0x1009b5d8
shufps xmm0, xmm0, 0x55
ucomiss xmm0, xmm1
jne 0x1009b5d8
jnp 0x1009b5f5
mov byte [eax + 0x1da3], 0
jmp 0x1009b5f5
mov dword [eax + 0x370], 0
mov dword [eax + 0x374], 0
mov ecx, dword [eax + 0xe4]
mov edi, dword [eax + 0xe8]
mov dword [eax + 0x384], edi
mov dword [esp + 0x20], ecx
mov dword [eax + 0x380], ecx
movq xmm1, qword [eax + 0xe4]
pshufd xmm0, xmm1, 0x55
movdqa xmmword [esp + 0x60], xmm0
movss xmm3, dword [0x1048d440]
movaps xmm4, xmm3
cmpleps xmm4, xmm2
cmpleps xmm3, xmm1
andps xmm3, xmm4
movd ebx, xmm3
lea esi, [eax + 0x444]
xor ecx, ecx
xorps xmm2, xmm2
movss xmm3, dword [0x1048d490]
movaps xmm4, xmmword [0x103985f0]
jmp 0x1009b6bf
movdqa xmm6, xmm0
mulps xmm6, xmm0
shufps xmm6, xmm6, 0x55
movaps xmm5, xmm0
mulss xmm5, xmm0
addss xmm5, xmm6
movss xmm6, dword [esi + ecx*4]
movaps xmm7, xmm5
cmpless xmm7, xmm6
andps xmm6, xmm7
andnps xmm7, xmm5
orps xmm7, xmm6
movss dword [esi + ecx*4], xmm7
movaps xmm5, xmm0
xorps xmm5, xmm4
maxps xmm5, xmm0
movsd xmm0, qword [esi + ecx*8 - 0x28]
movaps xmm6, xmm5
cmpleps xmm6, xmm0
andps xmm0, xmm6
andnps xmm6, xmm5
orps xmm6, xmm0
movlps qword [esi + ecx*8 - 0x28], xmm6
inc ecx
cmp ecx, 5
je 0x1009b847
cmp byte [esi + ecx - 0x358], 0
je 0x1009b7d0
movss xmm5, dword [esi + ecx*4 - 0x50]
ucomiss xmm2, xmm5
seta byte [esi + ecx - 0x6c]
mov byte [esi + ecx - 0x62], 0
movss dword [esi + ecx*4 - 0x3c], xmm5
jbe 0x1009b810
mov dword [eax + ecx*4 + 0x3f4], 0
mov byte [eax + ecx + 0x3dd], 0
movsd xmm6, qword [eax + 0x1b50]
movapd xmm5, xmm6
subsd xmm5, qword [eax + ecx*8 + 0x3b0]
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm5
movss xmm5, dword [eax + 0x28]
ucomiss xmm5, xmm7
jbe 0x1009b775
xorpd xmm6, xmm6
xorps xmm7, xmm7
test bl, 1
je 0x1009b74b
movaps xmm7, xmmword [esp + 0x60]
subss xmm7, dword [esi + ecx*8 - 0xb8]
movaps xmm6, xmm1
subss xmm6, dword [esi + ecx*8 - 0xbc]
mulss xmm7, xmm7
mulss xmm6, xmm6
addss xmm6, xmm7
movss xmm7, dword [eax + 0x2c]
mulss xmm7, xmm7
ucomiss xmm7, xmm6
jbe 0x1009b76a
mov byte [esi + ecx - 0x67], 1
mulss xmm5, xmm3
xorps xmm6, xmm6
cvtss2sd xmm6, xmm5
movsd qword [esi + ecx*8 - 0x94], xmm6
mov edx, dword [esp + 0x20]
mov dword [esi + ecx*8 - 0xbc], edx
mov dword [esi + ecx*8 - 0xb8], edi
movzx edx, byte [esi + ecx - 0x67]
mov byte [esi + ecx - 0x58], dl
mov dword [esi + ecx*8 - 0x28], 0
mov dword [esi + ecx*8 - 0x24], 0
mov dword [esi + ecx*4], 0
cmp byte [esi + ecx - 0x6c], 0
je 0x1009b6b5
mov byte [eax + 0x1da3], 0
jmp 0x1009b6b5
mov byte [esi + ecx - 0x6c], 0
movss xmm0, dword [esi + ecx*4 - 0x50]
ucomiss xmm0, xmm2
setae byte [esi + ecx - 0x62]
movss dword [esi + ecx*4 - 0x3c], xmm0
mov dword [esi + ecx*4 - 0x50], 0xbf800000
mov byte [esi + ecx - 0x67], 0
jae 0x1009b6b5
mov byte [esi + ecx - 0x58], 0
jmp 0x1009b6b5
addss xmm5, dword [eax + 0x18]
movss dword [eax + ecx*4 + 0x3f4], xmm5
mov byte [eax + ecx + 0x3dd], 0
pxor xmm0, xmm0
test bl, 1
je 0x1009b660
movsd xmm6, qword [esi + ecx*8 - 0xbc]
movaps xmm0, xmm1
subps xmm0, xmm6
jmp 0x1009b660
call fcn.10098570
call fcn.10098050
mov ecx, dword [0x1058eba8]
mov edx, dword [ecx + 0x1d20]
test edx, edx
mov ebx, dword [esp + 0x1c]
jle 0x1009b897
mov esi, dword [ecx + 0x1d28]
lea eax, [edx + 1]
lea edx, [edx + edx*8]
lea edx, [esi + edx*4]
add edx, 0xffffffe0
jmp 0x1009b889
dec eax
add edx, 0xffffffdc
cmp eax, 2
jb 0x1009b897
mov esi, dword [edx]
test esi, esi
je 0x1009b880
test byte [esi + 0xb], 8
je 0x1009b880
jmp 0x1009b8b0
cmp dword [ebx + 0x1e58], 0
je 0x1009b8d7
movss xmm0, dword [ebx + 0x1e68]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x1009b8d7
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x1048d364]
addss xmm0, dword [ebx + 0x1e8c]
minss xmm0, dword [0x10398490]
movss dword [ebx + 0x1e8c], xmm0
jmp 0x1009b8ff
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x1048d460]
addss xmm0, dword [ebx + 0x1e8c]
xorps xmm1, xmm1
cmpless xmm1, xmm0
andps xmm1, xmm0
movss dword [ebx + 0x1e8c], xmm1
mov dword [ebx + 0x1e90], 0
mov dword [ebx + 0x31b4], 0xffffffff
mov dword [ebx + 0x31b0], 0xffffffff
mov dword [ebx + 0x31ac], 0xffffffff
mov dword [ebx + 0x2f1c], 0x3f800000
mov dword [ebx + 0x2f20], 0x3f800000
mov edx, dword [ecx + 0x1bcc]
test edx, edx
je 0x1009b9c2
movss xmm0, dword [ecx + 0x1bd8]
subss xmm0, dword [ecx + 0x18]
movss dword [ecx + 0x1bd8], xmm0
movss xmm1, dword [ecx + 0xe4]
ucomiss xmm1, dword [0x1048d440]
jb 0x1009b9a6
movss xmm2, dword [ecx + 0xe8]
ucomiss xmm2, dword [0x1048d440]
jb 0x1009b9a6
subss xmm2, dword [ecx + 0x1bd4]
subss xmm1, dword [ecx + 0x1bd0]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm1, xmm2
movss xmm2, dword [ecx + 0x30]
mulss xmm2, xmm2
ucomiss xmm1, xmm2
ja 0x1009b9ae
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jb 0x1009b9c4
mov dword [ecx + 0x1bcc], 0
mov dword [ecx + 0x1bd8], 0
xor edx, edx
movss xmm0, dword [ecx + 0xf4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1009b9e5
jp 0x1009b9e5
movss xmm2, dword [ecx + 0xf8]
ucomiss xmm2, xmm1
jne 0x1009b9e5
jnp 0x1009ba26
cmp dword [ecx + 0x1bf0], 0
je 0x1009b9f7
cmp byte [ecx + 0x1c02], 0
jne 0x1009ba26
cmp dword [ecx + 0x1be0], 0
je 0x1009ba09
cmp byte [ecx + 0x1be6], 0
jne 0x1009ba26
mov eax, edx
test edx, edx
jne 0x1009ba19
mov eax, dword [ecx + 0x1bc0]
test eax, eax
je 0x1009ba26
cmp byte [eax + 0x91], 0
je 0x1009c1e8
mov esi, dword [ecx + 0x1d50]
test esi, esi
je 0x1009ba4c
cmp byte [esi + 0x8e], 0
je 0x1009ba4c
test byte [esi + 0xa], 4
jne 0x1009ba4c
cmp byte [ecx + 0xfc], 0
je 0x1009c16d
mov byte [ecx + 0x1e88], 0
mov esi, dword [ecx + 0x1e74]
mov dword [ecx + 0x1e70], 0
mov dword [ecx + 0x1e7c], 0x7fffffff
mov dword [ecx + 0x1e78], 0x7fffffff
test esi, esi
je 0x1009baff
lea edx, [ecx + 0x1e7c]
lea edi, [ecx + 0x1e78]
mov dword [ecx + 0x1e70], esi
mov eax, dword [ecx + 0x1e80]
cmp eax, 0x7fffffff
je 0x1009baba
mov ebx, dword [esi + 0x17c]
cmp ebx, 0xffffffff
je 0x1009baba
add eax, ebx
inc eax
inc ebx
mov dword [esp + 0x20], edx
cdq
idiv ebx
mov dword [edi], edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 0x1e84]
cmp eax, 0x7fffffff
je 0x1009badd
mov esi, dword [esi + 0x180]
cmp esi, 0xffffffff
je 0x1009badd
add eax, esi
inc eax
inc esi
mov edi, edx
cdq
idiv esi
mov dword [edi], edx
mov dword [ecx + 0x1e74], 0
mov dword [ecx + 0x1e84], 0x7fffffff
mov dword [ecx + 0x1e80], 0x7fffffff
mov ebx, dword [esp + 0x1c]
mov dword [ecx + 0x1d9c], 0x7fffffff
movss xmm0, dword [0x1048d2e0]
movss dword [esp + 0x20], xmm0
cmp byte [ebx + 0x1b67], 0
jne 0x1009bb46
movss xmm0, dword [ebx + 0xb8]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
ja 0x1009bb46
movsd xmm1, qword [ebx + 0x1b50]
cvtsd2ss xmm1, xmm1
subss xmm1, xmm0
movss dword [esp + 0x20], xmm1
cmp dword [ebx + 0x1b74], 0
je 0x1009bbbd
xor esi, esi
jmp 0x1009bb69
inc esi
cmp esi, dword [ebx + 0x1b74]
je 0x1009bbbd
mov eax, dword [ebx + 0x1b7c]
mov eax, dword [eax + esi*4]
movzx ecx, byte [eax + 0x8e]
mov byte [eax + 0x8f], cl
mov word [eax + 0x9a], 0
mov byte [eax + 0x8e], 0
mov byte [eax + 0x90], 0
test cl, cl
jne 0x1009bb60
cmp byte [eax + 0x330], 0
jne 0x1009bb60
movss xmm0, dword [esp + 0x20]
ucomiss xmm0, dword [eax + 0x230]
jbe 0x1009bb60
push eax
call fcn.10096000
add esp, 4
jmp 0x1009bb60
mov eax, dword [ebx + 0x1f58]
test eax, eax
jle 0x1009bc12
xor esi, esi
xorps xmm2, xmm2
xor edi, edi
jmp 0x1009bbdb
inc edi
add esi, 0x1c8
cmp edi, eax
jge 0x1009bc12
mov ecx, dword [ebx + 0x1f60]
movss xmm0, dword [ecx + edi*4]
ucomiss xmm0, xmm2
jb 0x1009bbd0
movss xmm1, dword [esp + 0x20]
ucomiss xmm1, xmm0
jbe 0x1009bbd0
mov eax, dword [ebx + 0x1f34]
add eax, esi
push eax
call fcn.100ce380
xorps xmm2, xmm2
add esp, 4
mov eax, dword [ebx + 0x1f58]
jmp 0x1009bbd0
mov eax, dword [ebx + 0x1f4c]
test eax, eax
jle 0x1009bc6a
xor esi, esi
xorps xmm2, xmm2
xor edi, edi
jmp 0x1009bc38
inc edi
add esi, 0x68
cmp edi, eax
jge 0x1009bc6a
mov ecx, dword [ebx + 0x1f54]
movss xmm0, dword [ecx + esi + 4]
ucomiss xmm0, xmm2
jb 0x1009bc30
movss xmm1, dword [esp + 0x20]
ucomiss xmm1, xmm0
jbe 0x1009bc30
add ecx, esi
push ecx
call fcn.100ce460
xorps xmm2, xmm2
add esp, 4
mov eax, dword [ebx + 0x1f4c]
jmp 0x1009bc30
cmp byte [ebx + 0x1b67], 0
je 0x1009bd08
mov esi, dword [0x1058eba8]
mov eax, dword [esi + 0x1d10]
test eax, eax
je 0x1009bcbb
mov dword [esi + 0x1d0c], 0
mov dword [esi + 0x1d08], 0
dec dword [esi + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov dword [esi + 0x1d10], 0
mov eax, dword [esi + 0x1d1c]
test eax, eax
je 0x1009bd03
mov dword [esi + 0x1d18], 0
mov dword [esi + 0x1d14], 0
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x1009bce9
dec dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov dword [esi + 0x1d1c], 0
call fcn.100ce480
mov byte [ebx + 0x1b67], 0
mov eax, dword [ebx + 0x1d50]
test eax, eax
je 0x1009bd26
cmp byte [eax + 0x8f], 0
je 0x1009bdb2
cmp dword [ebx + 0x1b9c], 0
jns 0x1009be23
mov eax, dword [0x1058eba8]
test eax, eax
je 0x1009bd42
inc dword [eax + 0x36c]
push dword [0x1058ebb0]
push 0
call dword [0x10584f34]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1ba0]
test eax, eax
je 0x1009bda0
mov ecx, dword [ebx + 0x1b98]
shl ecx, 4
lea ecx, [ecx + ecx*2]
push ecx
push eax
push esi
call fcn.10368490
add esp, 0xc
mov eax, dword [ebx + 0x1ba0]
test eax, eax
je 0x1009bd90
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x1009bd90
dec dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov dword [ebx + 0x1ba0], esi
mov dword [ebx + 0x1b9c], 0
jmp 0x1009be23
mov ecx, dword [0x1058eba8]
mov eax, dword [ecx + 0x1b80]
test eax, eax
jle 0x1009be0c
mov ecx, dword [ecx + 0x1b88]
inc eax
jmp 0x1009bdd6
dec eax
cmp eax, 1
jbe 0x1009be0c
mov edx, dword [ecx + eax*4 - 8]
test edx, edx
je 0x1009bdd0
cmp byte [edx + 0x8f], 0
je 0x1009bdd0
mov esi, dword [edx + 8]
not esi
test esi, 0x40200
je 0x1009bdd0
mov eax, dword [edx + 0x2fc]
test eax, eax
je 0x1009be07
cmp byte [eax + 0x8f], 0
jne 0x1009be09
mov eax, edx
push eax
jmp 0x1009be0e
push 0
call fcn.10097c60
add esp, 4
cmp dword [ebx + 0x1b9c], 0
js 0x1009bd33
mov dword [ebx + 0x1b98], 0
cmp dword [ebx + 0x1d30], 0
jns 0x1009beb3
mov eax, dword [0x1058eba8]
test eax, eax
je 0x1009be45
inc dword [eax + 0x36c]
push dword [0x1058ebb0]
push 0
call dword [0x10584f34]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1d34]
test eax, eax
je 0x1009bea3
mov ecx, dword [ebx + 0x1d2c]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push eax
push esi
call fcn.10368490
add esp, 0xc
mov eax, dword [ebx + 0x1d34]
test eax, eax
je 0x1009be93
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x1009be93
dec dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov dword [ebx + 0x1d34], esi
mov dword [ebx + 0x1d30], 0
mov dword [ebx + 0x1d2c], 0
cmp dword [ebx + 0x1d0c], 0
js 0x1009bee3
mov dword [ebx + 0x1d08], 0
je 0x1009bf67
mov esi, dword [ebx + 0x1d10]
xor eax, eax
jmp 0x1009bfe7
mov eax, dword [0x1058eba8]
test eax, eax
je 0x1009bef2
inc dword [eax + 0x36c]
push dword [0x1058ebb0]
push 0
call dword [0x10584f34]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1d10]
test eax, eax
je 0x1009bf4d
mov ecx, dword [ebx + 0x1d08]
shl ecx, 2
push ecx
push eax
push esi
call fcn.10368490
add esp, 0xc
mov eax, dword [ebx + 0x1d10]
test eax, eax
je 0x1009bf3d
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x1009bf3d
dec dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov dword [ebx + 0x1d10], esi
mov dword [ebx + 0x1d0c], 0
mov dword [ebx + 0x1d08], 0
mov eax, dword [0x1058eba8]
test eax, eax
je 0x1009bf76
inc dword [eax + 0x36c]
push dword [0x1058ebb0]
push 0x20
call dword [0x10584f34]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1d10]
test eax, eax
je 0x1009bfd1
mov ecx, dword [ebx + 0x1d08]
shl ecx, 2
push ecx
push eax
push esi
call fcn.10368490
add esp, 0xc
mov eax, dword [ebx + 0x1d10]
test eax, eax
je 0x1009bfc1
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x1009bfc1
dec dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov dword [ebx + 0x1d10], esi
mov dword [ebx + 0x1d0c], 8
mov eax, dword [ebx + 0x1d08]
mov dword [esi + eax*4], 0
inc dword [ebx + 0x1d08]
cmp dword [ebx + 0x1d18], 0
jns 0x1009c07a
mov eax, dword [0x1058eba8]
test eax, eax
je 0x1009c00c
inc dword [eax + 0x36c]
push dword [0x1058ebb0]
push 0
call dword [0x10584f34]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1d1c]
test eax, eax
je 0x1009c06a
mov ecx, dword [ebx + 0x1d14]
shl ecx, 4
lea ecx, [ecx + ecx*2]
push ecx
push eax
push esi
call fcn.10368490
add esp, 0xc
mov eax, dword [ebx + 0x1d1c]
test eax, eax
je 0x1009c05a
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x1009c05a
dec dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f38]
add esp, 8
mov dword [ebx + 0x1d1c], esi
mov dword [ebx + 0x1d18], 0
mov dword [ebx + 0x1d14], 0
mov eax, dword [0x1058eba8]
mov dword [eax + 0x2fac], 0
cmp byte [eax + 0x2fa8], 0
je 0x1009c814
mov esi, dword [eax + 0x1be0]
mov dword [eax + 0x1e90], 7
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x1009c50f
movss xmm0, dword [eax + ecx*4 + 0x458]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1009c0da
jp 0x1009c0da
mov byte [eax + 0x2fa8], 0
jmp 0x1009c50f
movss xmm1, dword [eax + 0x8c]
ucomiss xmm0, xmm1
jbe 0x1009c50f
movaps xmm2, xmm0
subss xmm2, dword [eax + 0x18]
ucomiss xmm2, xmm0
jae 0x1009c50f
movss xmm3, dword [eax + 0x90]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x1009c501
xor ecx, ecx
ucomiss xmm1, xmm2
seta cl
movaps xmm4, xmm0
unpcklps xmm4, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
xor edx, edx
ucomiss xmm1, xmm0
subps xmm4, xmm2
seta dl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
movd xmm0, edx
pinsrw xmm0, ecx, 2
cvttps2dq xmm1, xmm4
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd ecx, xmm0
test cl, 1
jne 0x1009c0ce
jmp 0x1009c50f
mov eax, dword [ecx + 0x34]
test eax, eax
js 0x1009ba4c
movss xmm0, dword [ecx + eax*4 + 0x458]
mov al, 1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1009c8f1
jp 0x1009c8f1
and al, 1
mov byte [ecx + 0x1e88], al
je 0x1009ba53
cmp dword [ecx + 0x1bf0], 0
jne 0x1009ba53
mov dword [ecx + 0x1e74], esi
mov dword [ecx + 0x1e80], 0x7fffffff
cmp dword [ecx + 0x1d54], 0
je 0x1009c1da
mov eax, dword [ecx + 0x1d9c]
cmp eax, 0x7fffffff
jne 0x1009ca8a
movsx eax, byte [ecx + 0xfd]
neg eax
jmp 0x1009ca93
ucomiss xmm0, xmm1
movzx ebx, byte [ecx + 0xfc]
jne 0x1009c1fa
jnp 0x1009c3e5
test bl, bl
mov ebx, dword [esp + 0x1c]
je 0x1009c3f1
cmp byte [ecx + 0xa0], 0
je 0x1009ba26
cmp edx, eax
je 0x1009c23f
mov dword [ecx + 0x1bcc], eax
mov edx, dword [ecx + 0xe4]
mov esi, dword [ecx + 0xe8]
mov dword [ecx + 0x1bd4], esi
mov dword [ecx + 0x1bd0], edx
mov dword [ecx + 0x1bd8], 0x40000000
movss xmm1, dword [eax + 0x250]
mulss xmm0, dword [0x1048d488]
addss xmm0, xmm1
movss xmm2, dword [0x1048d494]
minss xmm2, xmm0
movss xmm3, dword [0x10398564]
cmpltss xmm0, xmm3
movaps xmm4, xmm0
andnps xmm4, xmm2
andps xmm0, xmm3
orps xmm0, xmm4
movss dword [eax + 0x250], xmm0
cmp eax, dword [eax + 0x2f0]
jne 0x1009ba26
divss xmm0, xmm1
movss xmm2, dword [0x10398490]
subss xmm2, xmm0
movsd xmm3, qword [ecx + 0xe4]
movsd xmm1, qword [eax + 0xc]
movsd xmm4, qword [eax + 0x14]
subps xmm3, xmm1
shufps xmm2, xmm2, 0
mulps xmm2, xmm4
mulps xmm2, xmm3
divps xmm2, xmm4
and dword [eax + 0xb4], 0xfffffff1
addps xmm2, xmm1
mov dword [eax + 0xb8], 0x7f7fffff
mov dword [eax + 0xbc], 0x7f7fffff
cvttps2dq xmm2, xmm2
cvtdq2ps xmm2, xmm2
movlps qword [eax + 0xc], xmm2
subps xmm2, xmm1
movsd xmm1, qword [eax + 0xd4]
addps xmm1, xmm2
movlps qword [eax + 0xd4], xmm1
movsd xmm1, qword [eax + 0xf4]
addps xmm1, xmm2
movlhps xmm2, xmm2
movlps qword [eax + 0xf4], xmm1
movups xmm1, xmmword [eax + 0xe4]
addps xmm1, xmm2
movups xmmword [eax + 0xe4], xmm1
shufps xmm0, xmm0, 0
movups xmm1, xmmword [eax + 0x14]
mulps xmm1, xmm0
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
movups xmmword [eax + 0x14], xmm0
jmp 0x1009ba26
cmp byte [ecx + 0x12d], 0
je 0x1009b185
cmp byte [edi + 0x1dbc], 0
je 0x1009b185
mov edx, dword [edi + 0x1dcc]
cmp edx, 1
ja 0x1009c39b
xor ebx, ebx
test edx, edx
sete bl
movss xmm0, dword [ebx*4 + 0x1048d480]
mulss xmm0, xmm1
addss xmm0, dword [ecx + 0x5c]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x6c], xmm0
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x7c], 0
mov edx, dword [edi + 0x1dcc]
mov esi, edx
and esi, 0xfffffffe
cmp esi, 2
jne 0x1009b185
xor ebx, ebx
cmp edx, 2
sete bl
movss xmm0, dword [ebx*4 + 0x1048d480]
mulss xmm0, xmm1
addss xmm0, dword [ecx + 0x60]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x70], xmm0
mov dword [ecx + 0x78], 0
mov dword [ecx + 0x80], 0
jmp 0x1009b185
test bl, bl
mov ebx, dword [esp + 0x1c]
jne 0x1009ba26
cmp byte [ecx + 0xfd], 0
je 0x1009c407
cmp byte [ecx + 0xb1], 0
je 0x1009c994
ucomiss xmm0, xmm1
movss xmm1, dword [ecx + 0xf8]
jne 0x1009c41a
jnp 0x1009c997
cmp edx, eax
je 0x1009c446
mov dword [ecx + 0x1bcc], eax
mov edx, dword [ecx + 0xe4]
mov esi, dword [ecx + 0xe8]
mov dword [ecx + 0x1bd4], esi
mov dword [ecx + 0x1bd0], edx
mov dword [ecx + 0x1bd8], 0x40000000
mov edx, dword [eax + 8]
test edx, 0x1000000
je 0x1009c480
xorps xmm2, xmm2
jmp 0x1009c467
mov eax, dword [eax + 0x2ec]
mov edx, dword [eax + 8]
test edx, 0x1000000
je 0x1009c480
movss xmm3, dword [eax + 0x68]
ucomiss xmm3, xmm2
jne 0x1009c473
jnp 0x1009c456
mov esi, edx
and esi, 0x210
cmp esi, 0x10
je 0x1009c456
test edx, 0x210
jne 0x1009c997
movss xmm2, dword [eax + 0x1d0]
subss xmm2, dword [eax + 0x1c8]
mulss xmm2, dword [0x1048d498]
movss xmm3, dword [ecx + 0x194c]
mulss xmm3, dword [eax + 0x250]
mov edx, dword [eax + 0x2ec]
test edx, edx
je 0x1009c4c6
mulss xmm3, dword [edx + 0x250]
mulss xmm3, dword [0x1048d49c]
minss xmm3, xmm2
cvttps2dq xmm2, xmm3
cvtdq2ps xmm2, xmm2
movss xmm3, dword [eax + 0x60]
mulss xmm0, xmm2
subss xmm3, xmm0
movss dword [eax + 0x70], xmm3
mov dword [eax + 0x78], 0
mov dword [eax + 0x80], 0
jmp 0x1009c997
ucomiss xmm0, xmm1
jb 0x1009c50f
ucomiss xmm1, xmm2
ja 0x1009c0ce
movss xmm0, dword [eax + 0x3f4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov dword [esp + 0x38], esi
jne 0x1009c543
jp 0x1009c543
test esi, esi
je 0x1009c553
mov dword [eax + 0x2fac], esi
mov byte [eax + 0x2fa8], 0
mov dword [esp + 0x94], 0
jmp 0x1009c55e
xor ecx, ecx
test esi, esi
sete cl
mov dword [esp + 0x94], ecx
jmp 0x1009c55e
mov dword [esp + 0x94], 1
or byte [eax + 0x1c84], 0x40
mov dword [eax + 0x1cd8], 0x3f19999a
push 0
push 0
call fcn.100a9f80
add esp, 8
mov eax, 0xa472679b
mov ecx, 0x73b81fb0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov eax, 0xdf22eab8
mov ecx, 0x91afbb9f
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov eax, 0x7f0c7b65
mov ecx, 0x6121f27c
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov esi, 0x8d977a76
mov edx, 0x5adc69a9
mov ecx, 0xc10408d3
mov ebx, 0x3adc7ac2
mov dword [esp + 0x20], ecx
mov dword [esp + 0x60], ebx
mov edi, 0xef02d0dc
mov eax, 0xa99f9ee7
mov dword [esp + 0xc], eax
mov dword [esp + 0x34], edi
mov eax, 0x6121f27c
mov ecx, 0x7f0c7b3d
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x70]
xor ecx, ecx
mov ecx, edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x5c], edx
mov edx, esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x74], ebx
mov esi, dword [esp + 0x20]
mov dword [esp + 0x70], esi
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x84], edi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x80], esi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], edx
movaps xmm0, xmmword [esp + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x50]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x18], 0
lea eax, [esp + 0x40]
push dword [esp + 0x38]
push eax
call fcn.100cf240
add esp, 8
mov eax, 0xb2617a83
mov ecx, 0x69995ab1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov eax, 0x8076f09f
mov ecx, 0xc6fdffc7
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov eax, 0xf2c0f4f
mov ecx, 0x84a9115
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov eax, 0x8db91d18
mov ecx, 0x5adc69a9
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], eax
lea eax, [esp + 0x70]
xor ecx, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0x8c], esi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x88], edi
movaps xmm0, xmmword [esp + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x50]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0x50], xmm0
lea eax, [esp + 0x40]
push eax
call fcn.100cf240
add esp, 4
mov eax, 0xa26d6490
mov ecx, 0x55a85aa9
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov eax, 0x8a70b2fc
mov ecx, 0xc0bff586
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov eax, 0x1a685b53
mov ecx, 0x646871e
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov eax, 0x8db60813
mov ecx, 0x5adc69a9
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x80], eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], edi
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0x18]
movaps xmm0, xmmword [esp + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1058eba8]
mov edi, dword [esp + 0x94]
shl edi, 4
add eax, edi
add eax, 0x15e4
movaps xmmword [esp + 0x50], xmm0
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.100cf2c0
add esp, 8
call fcn.100a4a50
mov eax, dword [0x1058eba8]
mov ebx, dword [esp + 0x1c]
mov byte [ebx + 0x1b65], 1
or byte [eax + 0x1c84], 2
mov dword [eax + 0x1ca4], 0x43c80000
mov dword [eax + 0x1ca8], 0x43c80000
mov dword [eax + 0x1c8c], 4
mov eax, 0xb4666d97
mov ecx, 0x7eff59a5
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov eax, 0x9a63b6b9
mov ecx, 0xa99fea8b
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov eax, 0xc10408d3
mov ecx, 0x3adc7ac2
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
mov eax, 0xef02d0dc
mov ecx, 0xa99f9ee7
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], eax
lea eax, [esp + 0x70]
xor esi, esi
xor ecx, ecx
movaps xmm0, xmmword [esp + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esp + 0x40], xmm0
lea eax, [esp + 0x40]
push 0
push 0
push eax
call fcn.1009d5f0
add esp, 0xc
mov eax, dword [ebx + 0x2f64]
test eax, eax
jle 0x1009c8e9
xor edi, edi
jmp 0x1009c8c8
inc edi
add esi, 0x14
cmp edi, eax
jge 0x1009c8e9
mov ecx, dword [ebx + 0x2f6c]
cmp dword [ecx + esi + 4], 1
jne 0x1009c8c0
lea eax, [ecx + esi]
push eax
push ebx
call dword [ecx + esi + 0xc]
add esp, 8
mov eax, dword [ebx + 0x2f64]
jmp 0x1009c8c0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movss xmm1, dword [ecx + 0x8c]
ucomiss xmm0, xmm1
jbe 0x1009ba4c
movaps xmm2, xmm0
subss xmm2, dword [ecx + 0x18]
ucomiss xmm2, xmm0
jae 0x1009ba4c
movss xmm3, dword [ecx + 0x90]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x1009ce0c
xor eax, eax
ucomiss xmm1, xmm2
seta al
movaps xmm4, xmm0
unpcklps xmm4, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
subps xmm4, xmm2
xor edx, edx
ucomiss xmm1, xmm0
seta dl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
cvttps2dq xmm0, xmm4
movd xmm1, edx
pinsrw xmm1, eax, 2
pslld xmm1, 0x1f
psrad xmm1, 0x1f
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
pcmpgtd xmm1, xmm0
jmp 0x1009ce17
mov esi, dword [edi + 0x1bf0]
test esi, esi
je 0x1009cdd2
mov bl, 1
mov dword [esp + 0x20], 0
jmp 0x1009cda5
movaps xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x1009c9a5
jnp 0x1009ba26
cmp dword [ecx + 0x1bcc], eax
je 0x1009c9dd
mov dword [ecx + 0x1bcc], eax
mov edx, dword [ecx + 0xe4]
mov esi, dword [ecx + 0xe8]
mov dword [ecx + 0x1bd4], esi
mov dword [ecx + 0x1bd0], edx
mov dword [ecx + 0x1bd8], 0x40000000
jmp 0x1009c9dd
mov eax, dword [eax + 0x2ec]
mov edx, dword [eax + 8]
test edx, 0x1000000
je 0x1009ca01
movss xmm2, dword [eax + 0x64]
ucomiss xmm2, xmm0
jne 0x1009c9f4
jnp 0x1009c9d7
mov esi, edx
and esi, 0x210
cmp esi, 0x10
je 0x1009c9d7
test edx, 0x210
jne 0x1009ba26
movss xmm0, dword [eax + 0x1cc]
subss xmm0, dword [eax + 0x1c4]
mulss xmm0, dword [0x1048d498]
movss xmm2, dword [ecx + 0x194c]
mulss xmm2, dword [eax + 0x250]
mov edx, dword [eax + 0x2ec]
test edx, edx
je 0x1009ca47
mulss xmm2, dword [edx + 0x250]
addss xmm2, xmm2
minss xmm2, xmm0
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movss xmm2, dword [eax + 0x5c]
mulss xmm1, xmm0
subss xmm2, xmm1
movss dword [eax + 0x6c], xmm2
mov dword [eax + 0x74], 0
mov dword [eax + 0x7c], 0
jmp 0x1009ba26
xor ecx, ecx
test al, 4
je 0x1009a08a
jmp 0x1009a109
movsx edx, byte [ecx + 0xfd]
sub eax, edx
mov dword [ecx + 0x1e84], eax
lea edx, [ecx + 0x1e7c]
mov dword [ecx + 0x1e7c], 0x7fffffff
lea edi, [ecx + 0x1e78]
mov dword [ecx + 0x1e78], 0x7fffffff
jmp 0x1009ba8b
mov dword [esp + 0x20], 0
mov edi, dword [ecx + 0x4c]
test edi, edi
js 0x1009cae7
cmp byte [ecx + edi + 0x100], 0
je 0x1009cae7
test byte [ecx + 0x1c10], 0x40
sete dl
mov dword [esp + 0x60], edx
jmp 0x1009caef
mov dword [esp + 0x60], 0
mov dword [esp + 0x18], edi
mov edi, dword [ecx + 0x50]
test edi, edi
js 0x1009cea6
movss xmm0, dword [ecx + edi*4 + 0x458]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1009ce20
jp 0x1009ce20
test byte [ecx + 0x1c10], 0x80
sete dl
mov dword [esp + 0x14], edx
jmp 0x1009ceae
movaps xmm3, xmm1
subss xmm3, dword [ecx + 0x18]
ucomiss xmm3, xmm1
jae 0x1009acea
movss xmm2, dword [ecx + 0x8c]
movss xmm4, dword [ecx + 0x90]
mulss xmm4, dword [0x1048d470]
mulss xmm2, dword [0x1048d474]
xorps xmm5, xmm5
ucomiss xmm5, xmm4
jae 0x1009d098
xor ebx, ebx
ucomiss xmm2, xmm3
seta bl
mov esi, ebx
movaps xmm5, xmm1
unpcklps xmm5, xmm3
movaps xmm3, xmm2
shufps xmm3, xmm2, 0
subps xmm5, xmm3
xor ebx, ebx
ucomiss xmm2, xmm1
seta bl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
cvttps2dq xmm1, xmm5
movd xmm2, ebx
pinsrw xmm2, esi, 2
pslld xmm2, 0x1f
psrad xmm2, 0x1f
por xmm2, xmm1
pshufd xmm1, xmm2, 0x55
psubd xmm2, xmm1
movd esi, xmm2
jmp 0x1009d0aa
movaps xmm3, xmm1
subss xmm3, dword [ecx + 0x18]
ucomiss xmm3, xmm1
jae 0x1009add7
movss xmm2, dword [ecx + 0x8c]
movss xmm4, dword [ecx + 0x90]
mulss xmm4, dword [0x1048d470]
mulss xmm2, dword [0x1048d474]
xorps xmm5, xmm5
ucomiss xmm5, xmm4
jae 0x1009d0b7
xor ebx, ebx
ucomiss xmm2, xmm3
seta bl
mov esi, ebx
movaps xmm5, xmm1
unpcklps xmm5, xmm3
movaps xmm3, xmm2
shufps xmm3, xmm2, 0
subps xmm5, xmm3
xor ebx, ebx
ucomiss xmm2, xmm1
seta bl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
cvttps2dq xmm1, xmm5
movd xmm2, ebx
pinsrw xmm2, esi, 2
pslld xmm2, 0x1f
psrad xmm2, 0x1f
por xmm2, xmm1
pshufd xmm1, xmm2, 0x55
psubd xmm2, xmm1
movd esi, xmm2
jmp 0x1009d0c9
movaps xmm3, xmm1
subss xmm3, dword [ecx + 0x18]
ucomiss xmm3, xmm1
jae 0x1009aec7
movss xmm2, dword [ecx + 0x8c]
movss xmm4, dword [ecx + 0x90]
mulss xmm4, dword [0x1048d470]
mulss xmm2, dword [0x1048d474]
xorps xmm5, xmm5
ucomiss xmm5, xmm4
jae 0x1009d0d6
xor ebx, ebx
ucomiss xmm2, xmm3
seta bl
mov esi, ebx
movaps xmm5, xmm1
unpcklps xmm5, xmm3
movaps xmm3, xmm2
shufps xmm3, xmm2, 0
subps xmm5, xmm3
xor ebx, ebx
ucomiss xmm2, xmm1
seta bl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
cvttps2dq xmm1, xmm5
movd xmm2, ebx
pinsrw xmm2, esi, 2
pslld xmm2, 0x1f
psrad xmm2, 0x1f
por xmm2, xmm1
pshufd xmm1, xmm2, 0x55
psubd xmm2, xmm1
movd esi, xmm2
jmp 0x1009d0e8
movaps xmm3, xmm1
subss xmm3, dword [ecx + 0x18]
ucomiss xmm3, xmm1
jae 0x1009afb7
movss xmm2, dword [ecx + 0x8c]
movss xmm4, dword [ecx + 0x90]
mulss xmm4, dword [0x1048d470]
mulss xmm2, dword [0x1048d474]
xorps xmm5, xmm5
ucomiss xmm5, xmm4
jae 0x1009d0f5
xor ebx, ebx
ucomiss xmm2, xmm3
seta bl
movaps xmm5, xmm1
unpcklps xmm5, xmm3
movaps xmm3, xmm2
shufps xmm3, xmm2, 0
subps xmm5, xmm3
xor edx, edx
ucomiss xmm2, xmm1
seta dl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
cvttps2dq xmm1, xmm5
movd xmm2, edx
pinsrw xmm2, ebx, 2
pslld xmm2, 0x1f
psrad xmm2, 0x1f
por xmm2, xmm1
pshufd xmm1, xmm2, 0x55
psubd xmm2, xmm1
movd edx, xmm2
jmp 0x1009d107
ucomiss xmm0, xmm1
jb 0x10099a0f
ucomiss xmm1, xmm2
ja 0x10099bf1
jmp 0x10099a0f
cmpeqss xmm0, xmm1
movd ebx, xmm0
and ebx, 1
mov dword [esp + 0x20], ebx
test esi, esi
mov ebx, dword [esp + 0x60]
je 0x1009cda9
cmp esi, ecx
jne 0x1009cdb9
mov dword [edi + 0x1d60], ecx
mov esi, dword [edi + 0x1bf0]
test esi, esi
je 0x1009cdc3
test bl, bl
jne 0x1009cde2
cmp esi, ecx
je 0x1009cdca
jmp 0x1009cde2
cmp byte [esp + 0x20], 0
je 0x1009cdea
mov dword [edi + 0x1d64], ecx
jmp 0x1009cdd8
mov dword [edi + 0x1d60], ecx
mov esi, dword [edi + 0x1bf0]
test esi, esi
je 0x1009cdea
cmp esi, ecx
jne 0x1009ab9f
movss xmm0, dword [edx + 0x1460]
ucomiss xmm0, xmm1
jne 0x1009ab9f
jp 0x1009ab9f
mov dword [edi + 0x1d68], ecx
jmp 0x1009ab9f
cmpltps xmm2, xmm1
cmpleps xmm1, xmm0
andps xmm1, xmm2
movd eax, xmm1
jmp 0x1009c195
movss xmm1, dword [ecx + 0x8c]
ucomiss xmm0, xmm1
jbe 0x1009cea6
movaps xmm2, xmm0
subss xmm2, dword [ecx + 0x18]
ucomiss xmm2, xmm0
jae 0x1009cea6
movss xmm3, dword [ecx + 0x90]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x1009d223
xor edx, edx
ucomiss xmm1, xmm2
seta dl
movaps xmm4, xmm0
unpcklps xmm4, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
xor ebx, ebx
ucomiss xmm1, xmm0
subps xmm4, xmm2
seta bl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
movd xmm0, ebx
pinsrw xmm0, edx, 2
cvttps2dq xmm1, xmm4
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd edx, xmm0
test dl, 1
jne 0x1009cb19
mov dword [esp + 0x14], 0
mov edi, dword [ecx + 0x54]
test edi, edi
js 0x1009cedf
movss xmm0, dword [ecx + edi*4 + 0x458]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov edi, dword [esp + 0x10]
jne 0x1009cef0
jp 0x1009cef0
test byte [ecx + 0x1c11], 1
sete dl
mov dword [esp + 0xc], edx
jmp 0x1009cf7e
mov dword [esp + 0xc], 0
mov edi, dword [esp + 0x10]
jmp 0x1009cf7e
movss xmm1, dword [ecx + 0x8c]
ucomiss xmm0, xmm1
jbe 0x1009cf76
movaps xmm2, xmm0
subss xmm2, dword [ecx + 0x18]
ucomiss xmm2, xmm0
jae 0x1009cf76
movss xmm3, dword [ecx + 0x90]
xorps xmm4, xmm4
ucomiss xmm4, xmm3
jae 0x1009d242
xor edx, edx
ucomiss xmm1, xmm2
seta dl
movaps xmm4, xmm0
unpcklps xmm4, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
xor ebx, ebx
ucomiss xmm1, xmm0
subps xmm4, xmm2
seta bl
shufps xmm3, xmm3, 0
divps xmm4, xmm3
movd xmm0, ebx
pinsrw xmm0, edx, 2
cvttps2dq xmm1, xmm4
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd edx, xmm0
test dl, 1
jne 0x1009cecc
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0x60]
cmp byte [esp + 0x20], dl
jne 0x1009cf96
mov edx, dword [esp + 0x14]
xor dl, byte [esp + 0xc]
je 0x1009b0a2
cmp word [eax + 0x124], 0
je 0x1009d04a
movss xmm0, dword [eax + 0x1d0]
subss xmm0, dword [eax + 0x1c8]
movss xmm1, dword [ecx + 0x194c]
mulss xmm1, dword [eax + 0x250]
mov edi, dword [eax + 0x2ec]
test edi, edi
je 0x1009cfd6
mulss xmm1, dword [edi + 0x250]
mov edi, dword [esp + 0x10]
subss xmm0, xmm1
movss xmm1, dword [eax + 0x314]
subss xmm1, dword [eax + 0x30c]
addss xmm1, xmm0
xorps xmm2, xmm2
movaps xmm7, xmm1
cmpless xmm7, xmm2
andnps xmm7, xmm1
test esi, esi
js 0x1009d306
movss xmm1, dword [ecx + esi*4 + 0x458]
ucomiss xmm1, xmm2
jne 0x1009d114
jp 0x1009d114
xorps xmm7, xmmword [0x103985f0]
mov dword [ecx + 0x1dcc], 3
mov dword [ecx + 0x1dd4], 2
mov dword [ecx + 0x1dc0], 0x30
jmp 0x1009b0a5
cmp byte [eax + 0x12d], 0
je 0x1009cfa4
test esi, esi
js 0x1009d4b9
movss xmm1, dword [ecx + esi*4 + 0x458]
xorps xmm7, xmm7
ucomiss xmm1, xmm7
jne 0x1009d261
jp 0x1009d261
movss xmm0, dword [eax + 0x60]
movss xmm1, dword [eax + 0x1d0]
subss xmm1, dword [eax + 0x1c8]
subss xmm0, xmm1
jmp 0x1009d4ed
cmpltps xmm3, xmm2
cmpleps xmm2, xmm1
andps xmm2, xmm3
movd esi, xmm2
and esi, 1
test esi, esi
jg 0x1009ada8
jmp 0x1009acea
cmpltps xmm3, xmm2
cmpleps xmm2, xmm1
andps xmm2, xmm3
movd esi, xmm2
and esi, 1
test esi, esi
jg 0x1009ae95
jmp 0x1009add7
cmpltps xmm3, xmm2
cmpleps xmm2, xmm1
andps xmm2, xmm3
movd esi, xmm2
and esi, 1
test esi, esi
jg 0x1009af85
jmp 0x1009aec7
cmpltps xmm3, xmm2
cmpleps xmm2, xmm1
andps xmm2, xmm3
movd edx, xmm2
and edx, 1
test edx, edx
jg 0x1009b073
jmp 0x1009afb7
movss xmm2, dword [ecx + 0x8c]
ucomiss xmm1, xmm2
jbe 0x1009d306
movaps xmm3, xmm1
subss xmm3, dword [ecx + 0x18]
ucomiss xmm3, xmm1
jae 0x1009d306
movss xmm4, dword [ecx + 0x90]
xorps xmm0, xmm0
ucomiss xmm0, xmm4
jae 0x1009d2f8
xor ebx, ebx
ucomiss xmm2, xmm3
seta bl
movaps xmm5, xmm1
unpcklps xmm5, xmm3
movaps xmm0, xmm2
shufps xmm0, xmm2, 0
xor edx, edx
ucomiss xmm2, xmm1
subps xmm5, xmm0
seta dl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
movd xmm0, edx
pinsrw xmm0, ebx, 2
cvttps2dq xmm1, xmm5
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd edx, xmm0
test dl, 1
jne 0x1009d020
jmp 0x1009d306
cmpltps xmm2, xmm0
cmpleps xmm0, xmm1
andps xmm0, xmm2
movd esi, xmm0
and esi, 1
test esi, esi
jg 0x1009ada8
jmp 0x1009adba
cmpltps xmm2, xmm0
cmpleps xmm0, xmm1
andps xmm0, xmm2
movd esi, xmm0
and esi, 1
test esi, esi
jg 0x1009ae95
jmp 0x1009aeaa
cmpltps xmm2, xmm0
cmpleps xmm0, xmm1
andps xmm0, xmm2
movd esi, xmm0
and esi, 1
test esi, esi
jg 0x1009af85
jmp 0x1009af9a
cmpltps xmm2, xmm0
cmpleps xmm0, xmm1
andps xmm0, xmm2
movd ecx, xmm0
and ecx, 1
test ecx, ecx
jg 0x1009b073
jmp 0x1009b082
mov dword [esp + 0x14], 0
ucomiss xmm0, xmm1
jb 0x1009ceae
ucomiss xmm1, xmm2
ja 0x1009cb19
jmp 0x1009ceae
mov dword [esp + 0xc], 0
ucomiss xmm0, xmm1
jb 0x1009cf7e
ucomiss xmm1, xmm2
ja 0x1009cecc
jmp 0x1009cf7e
movss xmm2, dword [ecx + 0x8c]
ucomiss xmm1, xmm2
jbe 0x1009d4b9
movaps xmm3, xmm1
subss xmm3, dword [ecx + 0x18]
ucomiss xmm3, xmm1
jae 0x1009d4b9
movss xmm4, dword [ecx + 0x90]
xorps xmm0, xmm0
ucomiss xmm0, xmm4
jae 0x1009d4a7
xor ebx, ebx
ucomiss xmm2, xmm3
seta bl
movaps xmm5, xmm1
unpcklps xmm5, xmm3
movaps xmm0, xmm2
shufps xmm0, xmm2, 0
xor edx, edx
ucomiss xmm2, xmm1
subps xmm5, xmm0
seta dl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
movd xmm0, edx
pinsrw xmm0, ebx, 2
cvttps2dq xmm1, xmm5
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd edx, xmm0
test dl, 1
mov edi, dword [esp + 0x10]
jne 0x1009d07a
jmp 0x1009d4b9
ucomiss xmm1, xmm2
jb 0x1009d306
ucomiss xmm2, xmm3
ja 0x1009d020
mov esi, dword [esp + 0x18]
test esi, esi
js 0x1009d3db
movss xmm1, dword [ecx + esi*4 + 0x458]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x1009d348
jp 0x1009d348
mov dword [ecx + 0x1dcc], 2
mov dword [ecx + 0x1dd4], 3
mov dword [ecx + 0x1dc0], 0x30
jmp 0x1009b0a5
movss xmm2, dword [ecx + 0x8c]
ucomiss xmm1, xmm2
jbe 0x1009d3db
movaps xmm3, xmm1
subss xmm3, dword [ecx + 0x18]
ucomiss xmm3, xmm1
jae 0x1009d3db
movss xmm4, dword [ecx + 0x90]
ucomiss xmm0, xmm4
jae 0x1009d3cd
xor ebx, ebx
ucomiss xmm2, xmm3
seta bl
movaps xmm5, xmm1
unpcklps xmm5, xmm3
movaps xmm0, xmm2
shufps xmm0, xmm2, 0
xor edx, edx
ucomiss xmm2, xmm1
subps xmm5, xmm0
seta dl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
movd xmm0, edx
pinsrw xmm0, ebx, 2
cvttps2dq xmm1, xmm5
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd edx, xmm0
test dl, 1
jne 0x1009d325
jmp 0x1009d3db
ucomiss xmm1, xmm2
jb 0x1009d3db
ucomiss xmm2, xmm3
ja 0x1009d325
cmp byte [esp + 0x14], 0
je 0x1009d43c
movss xmm0, dword [eax + 0x60]
xorps xmm0, xmmword [0x103985f0]
movss dword [eax + 0x314], xmm0
movss dword [eax + 0x30c], xmm0
movss xmm0, dword [eax + 0x308]
ucomiss xmm0, dword [eax + 0x310]
jbe 0x1009d423
mov dword [eax + 0x310], 0
mov dword [eax + 0x308], 0
mov dword [ecx + 0x1dcc], 3
mov dword [ecx + 0x1dc0], 0x50
jmp 0x1009b0a2
xorps xmm7, xmm7
cmp byte [esp + 0xc], 0
je 0x1009b0a5
movss xmm0, dword [eax + 0x68]
addss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x60]
movss dword [eax + 0x314], xmm0
movss dword [eax + 0x30c], xmm0
movss xmm0, dword [eax + 0x308]
ucomiss xmm0, dword [eax + 0x310]
jbe 0x1009d48e
mov dword [eax + 0x310], 0
mov dword [eax + 0x308], 0
mov dword [ecx + 0x1dcc], 2
mov dword [ecx + 0x1dc0], 0x50
jmp 0x1009b0a5
ucomiss xmm1, xmm2
mov edi, dword [esp + 0x10]
jb 0x1009d4b9
ucomiss xmm2, xmm3
ja 0x1009d07a
mov esi, dword [esp + 0x18]
test esi, esi
js 0x1009d5aa
movss xmm1, dword [ecx + esi*4 + 0x458]
xorps xmm7, xmm7
ucomiss xmm1, xmm7
jne 0x1009d508
jp 0x1009d508
movss xmm0, dword [eax + 0x1d0]
subss xmm0, dword [eax + 0x1c8]
addss xmm0, dword [eax + 0x60]
movss dword [eax + 0x70], xmm0
mov dword [eax + 0x78], 0
mov dword [eax + 0x80], 0
jmp 0x1009b0a5
movss xmm2, dword [ecx + 0x8c]
ucomiss xmm1, xmm2
jbe 0x1009d5aa
movaps xmm3, xmm1
subss xmm3, dword [ecx + 0x18]
ucomiss xmm3, xmm1
jae 0x1009d5aa
movss xmm4, dword [ecx + 0x90]
xorps xmm0, xmm0
ucomiss xmm0, xmm4
jae 0x1009d598
xor ecx, ecx
ucomiss xmm2, xmm3
seta cl
movaps xmm5, xmm1
unpcklps xmm5, xmm3
movaps xmm0, xmm2
shufps xmm0, xmm2, 0
xor edx, edx
ucomiss xmm2, xmm1
subps xmm5, xmm0
seta dl
shufps xmm4, xmm4, 0
divps xmm5, xmm4
movd xmm0, edx
pinsrw xmm0, ecx, 2
cvttps2dq xmm1, xmm5
pslld xmm0, 0x1f
psrad xmm0, 0x1f
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd ecx, xmm0
test cl, 1
mov edi, dword [esp + 0x10]
jne 0x1009d4d8
jmp 0x1009d5aa
ucomiss xmm1, xmm2
mov edi, dword [esp + 0x10]
jb 0x1009d5aa
ucomiss xmm2, xmm3
ja 0x1009d4d8
cmp byte [esp + 0x14], 0
je 0x1009d5ba
mov dword [eax + 0x70], 0
jmp 0x1009d5cf
cmp byte [esp + 0xc], 0
je 0x1009b0a2
movss xmm0, dword [eax + 0x68]
movss dword [eax + 0x70], xmm0
mov dword [eax + 0x78], 0
mov dword [eax + 0x80], 0
jmp 0x1009b0a2