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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x108
mov eax, dword [0x100eea8c]
push esi
mov esi, eax
mov dword [esp + 0x68], ecx
push edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], esi
call fcn.100366b0
mov edx, dword [ebp + 8]
mov edi, eax
mov dword [esp + 0x1c], eax
xorps xmm0, xmm0
mov dword [esp + 0x5c], edi
movss dword [esp + 0xc], xmm0
test eax, eax
jne 0x1003848a
cmp dword [esi + 0x1a34], 0
je 0x1003842f
mov eax, dword [esi + 0x1a5c]
mov ecx, dword [esi + 0x1a60]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
jmp 0x1003843f
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x38]
movss xmm0, dword [eax]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0xac], xmm0
push dword [esp + 0xac]
push dword [esp + 0xac]
call fcn.10036750
mov edx, dword [ebp + 8]
mov edi, eax
mov eax, dword [0x100eea8c]
add esp, 8
mov dword [esp + 0x5c], edi
mov dword [esp + 0x2c], eax
mov ecx, edx
mov eax, edx
and ecx, 0xc0200
or eax, 6
cmp ecx, 0xc0200
mov ecx, dword [esi + 0x1940]
mov dword [esp + 0x90], ecx
cmovne eax, edx
mov edx, dword [edi + 0x21c]
mov dword [esp + 0x18], eax
mov dword [esp + 0xa4], edx
cmp edx, ecx
je 0x100384c7
mov dword [edi + 8], eax
jmp 0x100384ce
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
mov edx, dword [esi + 0x1970]
lea ecx, [esi + 0x1970]
mov dword [esp + 0x30], ecx
test edx, edx
jne 0x100384e6
xor eax, eax
jmp 0x100384f0
mov eax, dword [esi + 0x1978]
mov eax, dword [eax + edx*4 - 4]
mov edx, dword [esp + 0xa4]
cmp edx, dword [esp + 0x90]
je 0x1003851d
mov edx, dword [esp + 0x18]
and edx, 0x5000000
neg edx
sbb edx, edx
and edx, eax
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xa4]
jmp 0x10038527
mov eax, dword [edi + 0x2ec]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x90]
dec eax
mov byte [edi + 0x82], 0
cmp edx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 0xa8]
setl byte [esp + 0x13]
mov dword [esp + 0x34], edx
and eax, 0x4000000
mov dword [esp + 0x24], eax
je 0x10038592
mov eax, dword [esi + 0x1a24]
lea esi, [eax + eax*8]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1a20]
mov eax, dword [edi + 0x8c]
cmp edi, dword [edx + esi*4 + 4]
setne cl
cmp eax, dword [edx + esi*4]
mov edx, dword [esp + 0x34]
setne al
or cl, al
mov al, byte [esp + 0x13]
or al, cl
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x13], al
jmp 0x10038596
mov al, byte [esp + 0x13]
test al, al
jne 0x100385a6
test edx, edx
jg 0x100385a6
mov byte [edi + 0x80], al
jmp 0x100385c2
or dword [edi + 0xac], 8
or dword [edi + 0xb0], 8
or dword [edi + 0xb4], 8
mov byte [edi + 0x80], 1
mov esi, dword [ecx + 4]
mov edx, dword [ecx]
cmp edx, esi
jne 0x10038601
inc edx
mov dword [esp + 0x20], edx
test esi, esi
je 0x100385e3
mov eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add eax, esi
jmp 0x100385e8
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10040b50
mov ecx, dword [esp + 0x30]
mov esi, dword [0x100eea8c]
mov edx, dword [ecx]
jmp 0x10038605
mov esi, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
mov dword [eax + edx*4], edi
inc dword [ecx]
lea ecx, [edi + 0x1a4]
cmp dword [esp + 0x24], 0
movss xmm0, dword [esi + 0x18b0]
mov dword [esi + 0x198c], edi
mulss xmm0, dword [edi + 0x26c]
movss dword [esi + 0x18c0], xmm0
movss dword [esi + 0x18ac], xmm0
movzx eax, word [edi + 0x1c0]
mov word [ecx], ax
movzx eax, word [edi + 0x198]
mov word [ecx + 2], ax
movzx eax, word [esi + 0x1a24]
mov word [ecx + 4], ax
movzx eax, word [esi + 0x19f4]
mov word [ecx + 6], ax
movzx eax, word [esi + 0x1a00]
mov word [ecx + 8], ax
movzx eax, word [esi + 0x1a0c]
mov word [ecx + 0xa], ax
je 0x10038730
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1a24]
lea edx, [ecx + 0x1a24]
mov dword [esp + 0x64], edx
mov ecx, dword [ecx + 0x1a20]
lea eax, [eax + eax*8]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov dword [ecx + eax*4 + 4], edi
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp eax, ecx
jne 0x100386ed
lea esi, [eax + 1]
test ecx, ecx
je 0x100386cd
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x64]
sar eax, 1
add eax, ecx
jmp 0x100386d2
mov eax, 8
cmp eax, esi
mov ecx, edx
cmovg esi, eax
push esi
call fcn.10040e10
mov ecx, dword [esp + 0x64]
mov esi, dword [0x100eea8c]
mov eax, dword [ecx]
jmp 0x100386ef
mov ecx, edx
mov edi, dword [esp + 0x2c]
lea edx, [eax + eax*8]
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 8]
movups xmm0, xmmword [edi + eax*4]
movups xmmword [ecx + edx*4], xmm0
movups xmm0, xmmword [edi + eax*4 + 0x10]
movups xmmword [ecx + edx*4 + 0x10], xmm0
mov eax, dword [edi + eax*4 + 0x20]
mov dword [ecx + edx*4 + 0x20], eax
mov ecx, edi
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x5c]
inc dword [eax]
mov eax, dword [esp + 0x30]
mov eax, dword [ecx + eax*4]
mov dword [edi + 0x8c], eax
cmp dword [esp + 0x34], 0
jle 0x1003874b
test dword [esp + 0x18], 0x1000000
jne 0x1003874b
mov dword [edi + 0x300], 0
mov edx, dword [esp + 0x14]
mov byte [esp + 0x12], 0
mov byte [esp + 0xb], 0
mov byte [esp + 0x11], 0
mov ecx, dword [edx + 0x1a30]
test ecx, ecx
je 0x100387f0
mov eax, dword [edi + 0xac]
and eax, ecx
setne byte [esp + 0x12]
test ecx, eax
je 0x100387db
movss xmm1, dword [edx + 0x1a58]
movss xmm0, dword [edx + 0x1a54]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x100dd400]
jbe 0x100387db
mov eax, dword [edx + 0x1a4c]
mov ecx, dword [edx + 0x1a50]
mov dword [edi + 0xb8], eax
mov dword [edi + 0xbc], ecx
mov eax, dword [edx + 0x1a54]
mov ecx, dword [edx + 0x1a58]
and dword [edi + 0xac], 0xfffffff1
mov dword [edi + 0xc0], eax
mov dword [edi + 0xc4], ecx
jmp 0x100387f0
push ecx
add edx, 0x1a4c
mov ecx, edi
call fcn.1003bec0
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [edx + 0x1a34]
test ecx, ecx
je 0x1003885f
mov eax, dword [edi + 0xb0]
lea edi, [edx + 0x1a5c]
movss xmm1, dword [esp + 0xc]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x5c]
and eax, ecx
je 0x1003882c
movss xmm0, dword [edx + 0x1a5c]
comiss xmm0, xmm1
jbe 0x1003882c
mov byte [esp + 0xb], 1
jmp 0x10038835
mov byte [esp + 0xb], 0
test eax, eax
je 0x10038847
movss xmm0, dword [edx + 0x1a60]
comiss xmm0, xmm1
mov byte [esp + 0x11], 1
ja 0x1003884c
mov byte [esp + 0x11], 0
mov edx, dword [esp + 0x20]
push ecx
mov ecx, edi
call fcn.1003bf80
mov edx, dword [esp + 0x18]
add esp, 4
cmp dword [edx + 0x1a38], 0
je 0x10038918
mov eax, dword [edx + 0x1a64]
mov ecx, dword [edx + 0x1a68]
movss xmm0, dword [esp + 0xc]
mov dword [edi + 0x38], ecx
movss xmm3, dword [edi + 0x38]
ucomiss xmm3, xmm0
mov dword [edi + 0x34], eax
lahf
test ah, 0x44
jnp 0x10038936
mov eax, dword [edi + 8]
test al, 1
je 0x100388a2
movaps xmm2, xmm0
jmp 0x100388c8
movss xmm0, dword [esi + 0x1538]
movss xmm2, dword [esi + 0x18b0]
addss xmm0, xmm0
mulss xmm2, dword [edi + 0x26c]
addss xmm2, xmm0
movss xmm0, dword [esp + 0xc]
test eax, 0x400
je 0x10038906
movss xmm1, dword [esi + 0x18b0]
mulss xmm1, dword [edi + 0x26c]
movss xmm0, dword [esi + 0x1538]
addss xmm0, xmm0
addss xmm1, dword [edi + 0x14c]
addss xmm1, xmm0
addss xmm1, xmm2
addss xmm1, xmm3
movss dword [edi + 0x38], xmm1
jmp 0x10038936
movaps xmm1, xmm0
addss xmm1, xmm2
addss xmm1, xmm3
movss dword [edi + 0x38], xmm1
jmp 0x10038936
mov eax, dword [esp + 0xa4]
cmp eax, dword [esp + 0x90]
je 0x10038936
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov ecx, dword [edx + 0x1a3c]
test ecx, ecx
je 0x10038964
mov al, byte [edx + 0x1a6c]
mov byte [esp + 0x7f], al
mov eax, dword [edi + 0xb4]
test ecx, eax
je 0x10038964
and eax, 0xfffffff1
mov dword [edi + 0xb4], eax
mov al, byte [esp + 0x7f]
mov byte [edi + 0x7d], al
cmp dword [edx + 0x1a44], 0
je 0x10038974
mov ecx, edi
call fcn.1003ba40
cmp byte [edi + 0x80], 0
je 0x10038992
and dword [edi + 0xac], 0xfffffff7
and dword [edi + 0xb0], 0xfffffff7
and dword [edi + 0xb4], 0xfffffff7
mov eax, dword [esp + 0xa4]
cmp eax, dword [esp + 0x90]
je 0x1003b65a
mov ecx, dword [esp + 0x18]
mov eax, ecx
mov edx, dword [esp + 0x60]
and eax, 0x3000000
mov dword [edi + 0x2ec], edx
test edx, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov dword [edi + 0x2f8], edi
mov dword [edi + 0x2f4], edi
mov dword [edi + 0x2f0], edi
je 0x10038a10
cmp eax, 0x1000000
jne 0x100389f0
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x2f0]
mov dword [edi + 0x2f0], eax
test ecx, 0x8000000
jne 0x10038a10
test ecx, 0x5000000
je 0x10038a10
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x2f4]
mov dword [edi + 0x2f4], eax
test dword [edi + 8], 0x800000
je 0x10038a37
mov ecx, edi
nop dword [eax + eax]
mov eax, dword [ecx + 0x2ec]
mov ecx, eax
mov dword [edi + 0x2f8], ecx
test dword [eax + 8], 0x800000
jne 0x10038a20
xor eax, eax
mov byte [edi + 0x7a], 1
mov word [edi + 0x86], ax
movzx eax, word [edx + 0x1988]
inc dword [edx + 0x1988]
mov word [edi + 0x88], ax
xor eax, eax
mov word [edi + 0x84], ax
mov eax, dword [esp + 0x90]
mov dword [edi + 0x1cc], 0xff7fffff
mov dword [edi + 0x1d0], 0xff7fffff
mov dword [edi + 0x1d4], 0x7f7fffff
mov dword [edi + 0x1d8], 0x7f7fffff
mov dword [edi + 0x21c], eax
mov eax, dword [edi + 0x1c4]
cmp eax, 1
jge 0x10038ade
test eax, eax
je 0x10038ab7
cdq
sub eax, edx
lea edx, [edi + 0x1c0]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10038ac2
mov ecx, 8
lea edx, [edi + 0x1c0]
mov eax, 1
cmp ecx, eax
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10040b50
mov esi, dword [0x100eea8c]
mov edx, dword [esp + 0x14]
mov dword [edi + 0x1c0], 1
cmp dword [edx + 0x1ae4], 0
je 0x10038bdf
test dword [edi + 8], 0x80000
jne 0x10038bdf
cmp dword [esp + 0x1c], 0
je 0x10038bdf
mov eax, dword [edi]
mov ecx, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10038b40
test dl, dl
je 0x10038b3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10038b40
add eax, 2
add ecx, 2
test dl, dl
jne 0x10038b20
xor eax, eax
jmp 0x10038b45
sbb eax, eax
or eax, 1
test eax, eax
je 0x10038bdf
mov ecx, dword [esp + 0x6c]
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x70], edx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038b60
sub ecx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
cmp edx, eax
jae 0x10038bc8
test ecx, ecx
je 0x10038b88
test esi, esi
je 0x10038b88
dec dword [esi + 0x36c]
push dword [0x100eea90]
push ecx
call fcn.10031b50
mov eax, dword [0x100eea8c]
add esp, 8
test eax, eax
je 0x10038ba6
inc dword [eax + 0x36c]
push dword [0x100eea90]
push dword [esp + 0x34]
call fcn.10031b40
mov esi, dword [0x100eea8c]
mov ecx, eax
mov eax, dword [esp + 0x38]
add esp, 8
mov dword [esp + 0x70], eax
push eax
push dword [esp + 0x70]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov dword [edi], eax
add esp, 0xc
mov eax, dword [esp + 0x70]
mov dword [edi + 0x4c], eax
mov edx, edi
lea ecx, [esp + 0x40]
call fcn.10036d10
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [edi + 0xa4]
movss dword [edi + 0x2c], xmm0
movss dword [edi + 0x30], xmm1
test eax, eax
jle 0x10038c0e
dec eax
mov dword [edi + 0xa4], eax
mov eax, dword [edi + 0xa8]
test eax, eax
jle 0x10038c1f
dec eax
mov dword [edi + 0xa8], eax
cmp dword [esp + 0x1c], 0
mov al, byte [esp + 0xb]
mov dl, byte [esp + 0x11]
jne 0x10038c40
test al, al
je 0x10038c36
test dl, dl
jne 0x10038c40
mov dword [edi + 0xa8], 1
cmp byte [esp + 0x13], 0
je 0x10038c94
test dword [esp + 0x18], 0x6000000
je 0x10038c94
test byte [esp + 0x18], 0x40
mov dword [edi + 0xa8], 1
je 0x10038c94
test al, al
jne 0x10038c74
mov dword [edi + 0x1c], 0
mov dword [edi + 0x14], 0
test dl, dl
jne 0x10038c86
mov dword [edi + 0x20], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov eax, dword [esp + 0x18]
mov ecx, eax
mov dword [esi + 0x198c], edi
and ecx, 0x1000000
movss xmm0, dword [edi + 0x26c]
mulss xmm0, dword [esi + 0x18b0]
mov dword [esp + 0x64], ecx
movss dword [esi + 0x18c0], xmm0
movss dword [esi + 0x18ac], xmm0
je 0x10038cda
mov edx, dword [esp + 0x14]
movss xmm0, dword [edx + 0x1528]
jmp 0x10038d02
test eax, 0x6000000
je 0x10038cf6
test eax, 0x8000000
jne 0x10038cf6
mov edx, dword [esp + 0x14]
movss xmm0, dword [edx + 0x1530]
jmp 0x10038d02
mov edx, dword [esp + 0x14]
movss xmm0, dword [edx + 0x1510]
movss xmm2, dword [esp + 0xc]
movss dword [edi + 0x48], xmm0
mov eax, dword [edx + 0x1504]
mov ecx, dword [edx + 0x1508]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], ecx
mov ecx, dword [esp + 0x18]
mov eax, ecx
and eax, 0x5010000
cmp eax, 0x1000000
jne 0x10038d5b
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x10038d5b
test ecx, 0x400
je 0x10038d4c
movss xmm0, dword [edx + 0x1508]
jmp 0x10038d4f
movaps xmm0, xmm2
mov dword [edi + 0x3c], 0
movss dword [edi + 0x40], xmm0
movss xmm0, dword [edi + 0x3c]
maxss xmm0, dword [edx + 0x1544]
maxss xmm0, dword [edx + 0x1a8c]
movss dword [edi + 0x148], xmm0
mov eax, dword [edx + 0x1a90]
mov dword [edi + 0x14c], eax
test cl, 0x21
jne 0x10038e9d
mov ecx, dword [edi + 8]
test cl, 1
je 0x10038d9a
movaps xmm3, xmm2
jmp 0x10038dba
movss xmm0, dword [esi + 0x1538]
movss xmm3, dword [edi + 0x26c]
addss xmm0, xmm0
mulss xmm3, dword [esi + 0x18b0]
addss xmm3, xmm0
movss xmm5, dword [edi + 0xc]
movaps xmm4, xmm5
movss xmm6, dword [edi + 0x10]
addss xmm4, dword [edi + 0x1c]
addss xmm3, dword [edi + 0x10]
cmp dword [edx + 0x1990], edi
jne 0x10038e6a
cmp dword [edx + 0x1998], 0
jne 0x10038e6a
cmp dword [edx + 0x19a0], 0
jne 0x10038e6a
mov eax, dword [esi + 0x198c]
movss xmm1, dword [esi + 0x1554]
movss xmm0, dword [esi + 0x1558]
maxss xmm5, dword [eax + 0x1cc]
minss xmm4, dword [eax + 0x1d4]
maxss xmm6, dword [eax + 0x1d0]
minss xmm3, dword [eax + 0x1d8]
subss xmm5, xmm1
addss xmm4, xmm1
movss xmm1, dword [esi + 0xe0]
subss xmm6, xmm0
addss xmm3, xmm0
comiss xmm1, xmm5
jb 0x10038e6a
movss xmm0, dword [esi + 0xe4]
comiss xmm0, xmm6
jb 0x10038e6a
comiss xmm4, xmm1
jbe 0x10038e6a
comiss xmm3, xmm0
jbe 0x10038e6a
cmp byte [edx + 0x3d5], 0
je 0x10038e6a
mov byte [edi + 0x7e], 1
cmp byte [edi + 0x7e], 0
je 0x10038ea1
cmp byte [edi + 0x7d], 0
sete al
mov byte [edi + 0x7d], al
test ecx, 0x100
jne 0x10038e94
comiss xmm2, dword [esi + 0x2c40]
jb 0x10038e94
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x2c40], eax
mov ecx, edi
call fcn.1003ba40
jmp 0x10038ea1
mov byte [edi + 0x7d], 0
lea eax, [edi + 0x2c]
mov byte [edi + 0x7e], 0
push eax
mov edx, edi
lea ecx, [esp + 0xa0]
call fcn.10036dd0
movss xmm0, dword [0x100dd638]
add esp, 4
test byte [esp + 0x18], 0x40
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x1c], xmm0
je 0x10038f1a
cmp byte [edi + 0x7d], 0
jne 0x10038f1a
cmp byte [esp + 0xb], 0
jne 0x10038ef6
movss xmm0, dword [esp + 0x9c]
movss dword [esp + 0x74], xmm0
movss dword [edi + 0x1c], xmm0
cmp byte [esp + 0x11], 0
jne 0x10038fd3
movss xmm0, dword [esp + 0xa0]
movss dword [esp + 0x1c], xmm0
movss dword [edi + 0x20], xmm0
jmp 0x10038fd3
mov eax, dword [edi + 0x90]
test eax, eax
jg 0x10038f31
cmp dword [edi + 0x94], 0
jle 0x10038fd3
cmp byte [esp + 0xb], 0
jne 0x10038f69
test eax, eax
jle 0x10038f69
cmp byte [edi + 0x98], 0
je 0x10038f55
movss xmm0, dword [edi + 0x1c]
maxss xmm0, dword [esp + 0x9c]
jmp 0x10038f5e
movss xmm0, dword [esp + 0x9c]
movss dword [esp + 0x74], xmm0
movss dword [edi + 0x1c], xmm0
cmp byte [esp + 0x11], 0
jne 0x10038fa6
cmp dword [edi + 0x94], 0
jle 0x10038fa6
cmp byte [edi + 0x98], 0
je 0x10038f92
movss xmm0, dword [edi + 0x20]
maxss xmm0, dword [esp + 0xa0]
jmp 0x10038f9b
movss xmm0, dword [esp + 0xa0]
movss dword [esp + 0x1c], xmm0
movss dword [edi + 0x20], xmm0
cmp byte [edi + 0x7d], 0
jne 0x10038fd3
test dword [edi + 8], 0x100
mov ecx, dword [0x100eea8c]
jne 0x10038fd3
movss xmm0, dword [esp + 0xc]
comiss xmm0, dword [ecx + 0x2c40]
jb 0x10038fd3
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x2c40], eax
push dword [edi + 0x20]
mov edx, edi
lea ecx, [esp + 0x44]
push dword [edi + 0x1c]
call fcn.10036b30
mov dl, byte [edi + 0x7d]
add esp, 8
movss xmm3, dword [eax]
movss xmm0, dword [eax + 4]
movss dword [edi + 0x1c], xmm3
movss dword [edi + 0x20], xmm0
test dl, dl
je 0x10039060
cmp dword [esp + 0x64], 0
jne 0x10039060
test byte [edi + 8], 1
je 0x10039016
movss xmm2, dword [esp + 0xc]
jmp 0x1003903b
mov eax, dword [0x100eea8c]
movss xmm0, dword [eax + 0x1538]
movss xmm2, dword [eax + 0x18b0]
addss xmm0, xmm0
mulss xmm2, dword [edi + 0x26c]
addss xmm2, xmm0
addss xmm2, dword [edi + 0x10]
movaps xmm0, xmm3
addss xmm0, dword [edi + 0xc]
subss xmm2, dword [edi + 0x10]
subss xmm0, dword [edi + 0xc]
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x38], xmm0
jmp 0x1003906e
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x38]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], ecx
test dl, dl
jne 0x1003917a
movss xmm0, dword [esp + 0x74]
movss xmm1, dword [0x100dd638]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100390a1
movss xmm3, dword [edi + 0x24]
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100390b7
movss xmm2, dword [edi + 0x20]
jmp 0x100390bc
movss xmm2, dword [edi + 0x28]
mov edx, dword [esp + 0x18]
test edx, 0x4000
jne 0x100390db
movss xmm0, dword [edi + 0x30]
comiss xmm0, xmm2
jbe 0x100390d7
test dl, 8
je 0x100390db
xor cl, cl
jmp 0x100390dd
mov cl, 1
mov byte [edi + 0x79], cl
test edx, 0x8000
jne 0x10039128
mov esi, dword [esp + 0x14]
movss xmm1, dword [esp + 0xc]
test cl, cl
je 0x10039100
movss xmm0, dword [esi + 0x1564]
jmp 0x10039103
movaps xmm0, xmm1
subss xmm3, xmm0
movss xmm0, dword [edi + 0x2c]
comiss xmm0, xmm3
jbe 0x1003911f
mov eax, edx
and eax, 0x808
cmp eax, 0x800
je 0x10039128
mov byte [edi + 0x78], 0
movaps xmm0, xmm1
jmp 0x10039162
mov esi, dword [esp + 0x14]
mov byte [edi + 0x78], 1
test cl, cl
jne 0x10039154
subss xmm2, dword [esi + 0x1564]
movss xmm0, dword [edi + 0x30]
comiss xmm0, xmm2
jbe 0x1003914f
test dl, 8
jne 0x1003914f
mov cl, 1
jmp 0x10039151
xor cl, cl
mov byte [edi + 0x79], cl
movss xmm0, dword [esi + 0x1564]
movss xmm1, dword [esp + 0xc]
test cl, cl
je 0x1003916e
movss xmm1, dword [esi + 0x1564]
movss dword [edi + 0x70], xmm1
movss dword [edi + 0x74], xmm0
jmp 0x1003917e
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x13], 0
mov edx, dword [esp + 0x24]
je 0x100391c3
mov dword [edi + 0xa0], 0xffffffff
test edx, edx
je 0x100391c3
cmp byte [esp + 0x12], 0
jne 0x100391c3
mov eax, dword [esi + 0x1a24]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x1a2c]
movss xmm0, dword [eax + ecx*4 - 0x10]
movss xmm1, dword [eax + ecx*4 - 0xc]
movss dword [edi + 0xc], xmm0
movss dword [edi + 0x10], xmm1
cmp dword [esp + 0x64], 0
je 0x10039258
mov ecx, dword [esp + 0x60]
add ecx, 0x150
mov ax, word [ecx]
mov word [edi + 0x86], ax
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
cmp edx, eax
jne 0x1003921e
inc edx
mov dword [esp + 0x20], edx
test eax, eax
je 0x10039202
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x10039207
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10040b50
mov ecx, dword [esp + 0x60]
add ecx, 0x150
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
mov dword [eax + edx*4], edi
inc dword [ecx]
mov edx, dword [esp + 0x24]
mov al, byte [esp + 0x12]
mov ecx, dword [esp + 0x28]
test edx, edx
jne 0x10039260
test al, al
jne 0x10039260
cmp ecx, 0x3000000
je 0x10039260
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], ecx
mov al, byte [esp + 0x12]
mov ecx, dword [esp + 0x28]
movss xmm0, dword [edi + 0xb8]
ucomiss xmm0, dword [0x100dd638]
movss dword [esp + 0x20], xmm0
lahf
test ah, 0x44
jnp 0x10039449
cmp dword [edi + 0xa8], 0
jne 0x10039449
movss xmm4, dword [edi + 0x20]
movss xmm0, dword [esi + 0x1594]
movss xmm2, dword [edi + 0x1c]
movss xmm5, dword [edi + 0xc4]
movss xmm6, dword [edi + 0xbc]
movss xmm3, dword [esi + 0x1598]
and dword [edi + 0xac], 0xfffffff1
movss xmm1, dword [esp + 0x20]
mov dword [edi + 0xb8], 0x7f7fffff
mov dword [edi + 0xbc], 0x7f7fffff
mulss xmm2, dword [edi + 0xc0]
movss dword [esp + 0x78], xmm4
mulss xmm5, dword [esp + 0x78]
subss xmm1, xmm2
movss xmm4, dword [edi + 0x10]
movss xmm7, dword [edi + 0xc]
subss xmm6, xmm5
movss dword [esp + 0x68], xmm4
maxss xmm0, xmm1
maxss xmm3, xmm6
cvttss2si eax, xmm0
movd xmm1, eax
cvttss2si eax, xmm3
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0xc], xmm1
subss xmm1, xmm7
movss dword [edi + 0x10], xmm0
subss xmm0, xmm4
addss xmm1, dword [edi + 0xc8]
addss xmm0, dword [edi + 0xcc]
movss dword [edi + 0xc8], xmm1
movss dword [edi + 0xcc], xmm0
movss xmm1, dword [edi + 0x10]
movss xmm0, dword [edi + 0xc]
subss xmm1, xmm4
subss xmm0, xmm7
addss xmm1, dword [edi + 0xe4]
addss xmm0, dword [edi + 0xe0]
movss dword [edi + 0xe4], xmm1
movss dword [edi + 0xe0], xmm0
cmp byte [esp + 0x12], 0
jne 0x10039532
cmp dword [esp + 0x64], 0
jne 0x10039532
cmp dword [edi + 0x90], 0
jg 0x10039532
cmp dword [edi + 0x94], 0
jg 0x10039532
movss xmm0, dword [esi + 0x10]
movss xmm1, dword [esp + 0xc]
comiss xmm0, xmm1
jbe 0x10039532
movss xmm0, dword [esi + 0x14]
comiss xmm0, xmm1
jbe 0x10039532
cmp byte [esi + 0xb0], 0
movss xmm4, dword [esi + 0x1590]
movss xmm5, dword [esi + 0x158c]
maxss xmm4, dword [esi + 0x1598]
maxss xmm5, dword [esi + 0x1594]
je 0x100394ce
test byte [edi + 8], 1
jne 0x100394ce
mov eax, dword [0x100eea8c]
movss xmm0, dword [eax + 0x1538]
movss xmm1, dword [eax + 0x18b0]
addss xmm0, xmm0
mulss xmm1, dword [edi + 0x26c]
addss xmm1, xmm0
movss xmm0, dword [edi + 0x14]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x3c], xmm1
jmp 0x100394dc
test dword [esp + 0x18], 0x10000000
je 0x10039479
mov edx, edi
lea ecx, [esp + 0xb0]
call fcn.1003c580
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [edi + 0xc], xmm0
movss dword [edi + 0x10], xmm1
jmp 0x10039385
test edx, edx
je 0x100394ae
test al, al
jne 0x100394ae
cmp dword [esp + 0x34], 0
jle 0x100394ae
mov edx, edi
lea ecx, [esp + 0xb0]
call fcn.1003c580
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [edi + 0xc], xmm0
movss dword [edi + 0x10], xmm1
jmp 0x10039390
test dword [esp + 0x18], 0x2000000
je 0x10039385
test al, al
jne 0x10039532
cmp ecx, 0x3000000
je 0x10039390
jmp 0x10039488
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
lea eax, [esp + 0x38]
movss xmm3, dword [eax]
addss xmm3, dword [edi + 0xc]
movss xmm2, dword [eax + 4]
addss xmm2, dword [edi + 0x10]
maxss xmm3, xmm5
maxss xmm2, xmm4
subss xmm3, dword [eax]
subss xmm2, dword [eax + 4]
movss dword [edi + 0xc], xmm3
movss dword [edi + 0x10], xmm2
movss xmm0, dword [esi + 0x10]
subss xmm0, xmm5
minss xmm3, xmm0
movss xmm0, dword [esi + 0x14]
subss xmm0, xmm4
movss dword [edi + 0xc], xmm3
minss xmm2, xmm0
movss dword [edi + 0x10], xmm2
cmp dword [esp + 0x64], 0
cvttss2si eax, dword [edi + 0xc]
movd xmm1, eax
cvttss2si eax, dword [edi + 0x10]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0xc], xmm1
movss dword [edi + 0x10], xmm0
je 0x10039565
movss xmm7, dword [esi + 0x1524]
jmp 0x10039587
mov eax, dword [esp + 0x18]
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1003957f
movss xmm7, dword [esi + 0x152c]
jmp 0x10039587
movss xmm7, dword [esi + 0x150c]
mov eax, dword [edi + 0x338]
movss dword [edi + 0x44], xmm7
cmp eax, 0x7fffffff
je 0x100395ad
mov ecx, dword [edi + 0x328]
cmp ecx, 0xffffffff
je 0x100395ad
inc eax
add eax, ecx
inc ecx
cdq
idiv ecx
jmp 0x100395b2
mov edx, Ordinal_2
mov eax, dword [edi + 0x33c]
mov dword [edi + 0x330], edx
cmp eax, 0x7fffffff
je 0x100395d9
mov ecx, dword [edi + 0x32c]
cmp ecx, 0xffffffff
je 0x100395d9
inc eax
add eax, ecx
inc ecx
cdq
idiv ecx
jmp 0x100395de
mov edx, Ordinal_2
mov dword [edi + 0x334], edx
lea ecx, [esp + 0x40]
push 1
mov edx, edi
mov dword [edi + 0x32c], 0xffffffff
mov dword [edi + 0x328], 0xffffffff
mov dword [edi + 0x33c], Ordinal_2
mov dword [edi + 0x338], Ordinal_2
call fcn.10036f30
xor dl, dl
add esp, 4
mov dword [esp + 0x34], edx
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [edi + 0x58], xmm0
movss dword [edi + 0x5c], xmm1
mov dword [edi + 0x60], 0x7f7fffff
mov dword [edi + 0x64], 0x7f7fffff
cmp byte [esp + 0x13], dl
je 0x10039675
test dword [esp + 0x18], 0x1000
jne 0x10039675
cmp dword [esp + 0x24], 0
je 0x10039661
mov byte [esp + 0x34], 1
jmp 0x10039675
cmp dword [esp + 0x28], 0
mov eax, 1
movzx edx, dl
cmove edx, eax
mov dword [esp + 0x34], edx
movss xmm1, dword [esi + 0x18ac]
xorps xmm0, xmm0
addss xmm7, dword [0x100dd4b4]
movaps xmmword [esp + 0x100], xmm0
xor ecx, ecx
movaps xmm0, xmm1
or eax, 0xffffffff
mulss xmm1, dword [0x100dd450]
cmp byte [esi + 0xaf], cl
mulss xmm0, dword [0x100dd4c0]
setne cl
mov dword [esp + 0x30], eax
addss xmm7, xmm1
inc ecx
cmp byte [edi + 0x7d], 0
mov dword [esp + 0x58], ecx
maxss xmm0, xmm7
cvttss2si esi, xmm0
jne 0x100396ef
lea eax, [esp + 0x100]
push eax
push ecx
lea eax, [esp + 0x38]
mov ecx, edi
push eax
lea edx, [esp + 0xa8]
call fcn.100370c0
mov eax, dword [esp + 0x3c]
add esp, 0xc
movss xmm0, dword [edi + 0x14]
comiss xmm0, dword [esp + 0xc]
mov byte [edi + 0x83], al
jbe 0x10039715
test dword [esp + 0x18], 0x2000040
jne 0x10039715
mulss xmm0, dword [0x100dd48c]
jmp 0x10039729
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + 0x18ac]
mulss xmm0, dword [0x100dd58c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x220], xmm0
mov ecx, dword [edi + 0x274]
call fcn.10048450
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov eax, 2
cmp byte [edx + 0x15a1], cl
cmovne ecx, eax
xor eax, eax
cmp byte [edx + 0x15a0], al
setne al
or ecx, eax
mov eax, dword [edi + 0x274]
mov dword [eax + 0x24], ecx
mov eax, dword [edx + 0x18a8]
mov ecx, dword [edi + 0x274]
lea edi, [ecx + 0x48]
mov dword [esp + 0x78], ecx
mov ecx, dword [edi]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 4]
cmp ecx, eax
jne 0x100397ba
inc ecx
test eax, eax
je 0x100397a6
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 4]
jmp 0x100397ab
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10040b50
mov ecx, dword [edi]
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0x78]
inc dword [edi]
call fcn.10048970
mov edi, dword [0x100eea8c]
movss xmm0, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
movss dword [esp + 0x80], xmm0
and eax, 0x5000000
movss dword [esp + 0x84], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x88], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x8c], xmm0
cmp eax, 0x1000000
jne 0x1003988e
cmp dword [esp + 0x28], 0x3000000
je 0x1003988e
mov eax, dword [edi + 0x198c]
mov byte [eax + 0x7c], 1
mov eax, dword [esp + 0x60]
mov edi, dword [edi + 0x198c]
push dword [eax + 0x1d8]
mov ecx, dword [edi + 0x274]
push dword [eax + 0x1d4]
push dword [eax + 0x1d0]
push dword [eax + 0x1cc]
push 1
call fcn.10048a30
mov eax, dword [edi + 0x274]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
jmp 0x100398eb
push dword [esp + 0x8c]
mov eax, dword [edi + 0x198c]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
mov byte [eax + 0x7c], 1
mov edi, dword [edi + 0x198c]
push dword [esp + 0x8c]
push 1
mov ecx, dword [edi + 0x274]
call fcn.10048a30
mov eax, dword [edi + 0x274]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
test dword [esp + 0x18], 0x8000000
mov dword [edi + 0x1cc], eax
movss dword [edi + 0x1d0], xmm0
movss dword [edi + 0x1d4], xmm1
movss dword [edi + 0x1d8], xmm2
je 0x1003992d
call fcn.1003c280
mov edi, dword [esp + 0x5c]
cmp edi, eax
jne 0x10039931
cmp dword [edi + 0xa8], 0
jg 0x10039931
mov al, 1
jmp 0x10039933
mov edi, dword [esp + 0x5c]
xor al, al
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x1ae0]
test ecx, ecx
je 0x1003994d
cmp edi, dword [ecx + 0x2f0]
jne 0x1003994d
mov cl, 1
jmp 0x1003994f
xor cl, cl
movss xmm5, dword [0x100dd5f4]
movss xmm6, dword [0x100dd47c]
mov byte [esp + 0xb], cl
test al, al
jne 0x1003996f
test cl, cl
je 0x10039c69
mov ecx, dword [0x100eea8c]
movss xmm3, dword [edx + 0x1bec]
movss xmm1, dword [0x100dd4b4]
movzx eax, al
mulss xmm3, dword [ecx + 0x1500]
add eax, eax
movups xmm4, xmmword [ecx + eax*8 + 0x1888]
movaps xmm0, xmm4
movaps xmmword [esp + 0x40], xmm4
shufps xmm0, xmm4, 0xff
mulss xmm3, xmm0
movss xmm0, dword [esp + 0xc]
comiss xmm0, xmm4
jbe 0x100399ba
movaps xmm2, xmm0
jmp 0x100399c1
movaps xmm2, xmm1
minss xmm2, xmm4
movss xmm4, dword [esp + 0x44]
comiss xmm0, xmm4
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si ecx, xmm2
jbe 0x100399dd
movaps xmm2, xmm0
jmp 0x100399e4
movaps xmm2, xmm1
minss xmm2, xmm4
movss xmm4, dword [esp + 0x48]
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si eax, xmm2
shl eax, 8
or ecx, eax
comiss xmm0, xmm4
jbe 0x10039a05
movaps xmm2, xmm0
jmp 0x10039a0c
movaps xmm2, xmm1
minss xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si eax, xmm2
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm3
jbe 0x10039a27
movaps xmm1, xmm0
jmp 0x10039a2b
minss xmm1, xmm3
mulss xmm1, xmm5
push 0xf
push ecx
mov dword [esp], 0
addss xmm1, xmm6
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x274]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.1004a5f0
cmp byte [esp + 0xb], 0
mov edx, dword [esp + 0x14]
je 0x10039c59
movss xmm2, dword [esp + 0xc]
cmp edi, dword [edx + 0x1ae0]
jne 0x10039c03
movss xmm3, dword [edi + 0xc]
movss xmm4, dword [edi + 0x10]
movaps xmm1, xmm3
movss xmm0, dword [edx + 0x18ac]
movaps xmm5, xmm4
addss xmm3, dword [edi + 0x14]
addss xmm4, dword [edi + 0x18]
subss xmm1, xmm0
subss xmm5, xmm0
addss xmm3, xmm0
addss xmm4, xmm0
comiss xmm2, xmm1
movss dword [esp + 0x80], xmm1
movss dword [esp + 0x84], xmm5
movss dword [esp + 0x88], xmm3
movss dword [esp + 0x8c], xmm4
jb 0x10039af5
comiss xmm2, xmm5
jb 0x10039af5
comiss xmm3, dword [esp + 0x78]
jb 0x10039af5
comiss xmm4, dword [esp + 0x20]
jae 0x10039c03
mov eax, dword [0x100eea8c]
movss xmm3, dword [edx + 0x1aec]
mulss xmm3, dword [0x100dd454]
movups xmm4, xmmword [eax + 0x1878]
mulss xmm3, dword [eax + 0x1500]
comiss xmm2, xmm4
movss xmm6, dword [edx + 0x150c]
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xff
mulss xmm3, xmm0
movss xmm0, dword [0x100dd4b4]
movaps xmmword [esp + 0x40], xmm4
jbe 0x10039b43
movaps xmm1, xmm2
jmp 0x10039b4a
movaps xmm1, xmm0
minss xmm1, xmm4
movss xmm5, dword [0x100dd5f4]
movss xmm7, dword [0x100dd47c]
movss xmm4, dword [esp + 0x44]
comiss xmm2, xmm4
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si ecx, xmm1
jbe 0x10039b76
movaps xmm1, xmm2
jmp 0x10039b7d
movaps xmm1, xmm0
minss xmm1, xmm4
movss xmm4, dword [esp + 0x48]
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm2, xmm4
jbe 0x10039b9e
movaps xmm1, xmm2
jmp 0x10039ba5
movaps xmm1, xmm0
minss xmm1, xmm4
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm2, xmm3
jbe 0x10039bc0
movaps xmm0, xmm2
jmp 0x10039bc4
minss xmm0, xmm3
mulss xmm0, xmm5
push 0xf
push ecx
movss dword [esp], xmm6
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x274]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.1004a5f0
movss xmm2, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
movss xmm5, dword [0x100dd5f4]
movss xmm6, dword [0x100dd47c]
movss xmm7, dword [edi + 0x44]
movss xmm1, dword [edi + 0x48]
mov ecx, dword [edx + 0x1adc]
movss dword [esp + 0x74], xmm7
movss dword [esp + 0x2c], xmm1
test ecx, ecx
jne 0x10039c39
mov ecx, dword [edx + 0x1a9c]
cmp byte [esp + 0x34], 0
jne 0x10039c71
test ecx, ecx
je 0x10039c52
mov eax, dword [edi + 0x2f4]
cmp eax, dword [ecx + 0x2f4]
je 0x10039c71
mov byte [esp + 0xb], 0
jmp 0x10039c76
movss xmm5, dword [0x100dd5f4]
movss xmm6, dword [0x100dd47c]
movss xmm2, dword [esp + 0xc]
jmp 0x10039c13
mov byte [esp + 0xb], 1
mov eax, dword [edi + 8]
mov ecx, dword [0x100eea8c]
and eax, 1
mov dword [esp + 0x94], eax
je 0x10039c90
movaps xmm3, xmm2
jmp 0x10039cb0
movss xmm0, dword [ecx + 0x1538]
movss xmm3, dword [ecx + 0x18b0]
addss xmm0, xmm0
mulss xmm3, dword [edi + 0x26c]
addss xmm3, xmm0
cmp byte [edi + 0x7d], 0
movss xmm4, dword [edi + 0xc]
addss xmm3, dword [edi + 0x10]
movaps xmm0, xmm4
movss dword [esp + 0x30], xmm4
addss xmm0, dword [edi + 0x1c]
movss dword [esp + 0x80], xmm4
movss xmm4, dword [edi + 0x10]
movss dword [esp + 0xac], xmm3
movss dword [esp + 0x84], xmm4
movss dword [esp + 0xa8], xmm0
movss dword [esp + 0x88], xmm0
movss dword [esp + 0x8c], xmm3
je 0x10039e2d
cmp byte [esp + 0xb], 0
movss xmm0, dword [edx + 0x1540]
movss dword [esp + 0x68], xmm0
movss dword [edx + 0x1540], xmm1
je 0x10039d38
cmp byte [edx + 0x1afe], 0
mov eax, 0x158
je 0x10039d3d
mov eax, 0x168
movups xmm3, xmmword [ecx + eax + 0x1500]
movss xmm0, dword [0x100dd4b4]
comiss xmm2, xmm3
movaps xmm4, xmm3
movaps xmmword [esp + 0x40], xmm3
shufps xmm4, xmm3, 0xff
mulss xmm4, dword [ecx + 0x1500]
jbe 0x10039d6b
movaps xmm1, xmm2
jmp 0x10039d72
movaps xmm1, xmm0
minss xmm1, xmm3
movss xmm3, dword [esp + 0x44]
comiss xmm2, xmm3
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si edx, xmm1
jbe 0x10039d8e
movaps xmm1, xmm2
jmp 0x10039d95
movaps xmm1, xmm0
minss xmm1, xmm3
movss xmm3, dword [esp + 0x48]
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si eax, xmm1
shl eax, 8
or edx, eax
comiss xmm2, xmm3
jbe 0x10039db6
movaps xmm1, xmm2
jmp 0x10039dbd
movaps xmm1, xmm0
minss xmm1, xmm3
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si eax, xmm1
shl eax, 0x10
or edx, eax
comiss xmm2, xmm4
jbe 0x10039dd8
movaps xmm0, xmm2
jmp 0x10039ddc
minss xmm0, xmm4
push dword [esp + 0xac]
mulss xmm0, xmm5
movaps xmm2, xmm7
push dword [esp + 0xac]
push dword [esp + 0x8c]
addss xmm0, xmm6
push dword [esp + 0x8c]
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.10032df0
mov esi, dword [esp + 0x24]
add esp, 0x10
movss xmm0, dword [esp + 0x68]
movss dword [esi + 0x1540], xmm0
jmp 0x1003a7a7
mov eax, dword [esp + 0x18]
test al, al
js 0x1003a025
test eax, 0x6000000
je 0x10039e47
mov eax, 0xe8
jmp 0x10039e5e
cmp dword [esp + 0x64], 0
mov eax, 0xc8
mov dword [esp + 0x68], 0xd8
cmovne eax, dword [esp + 0x68]
movups xmm3, xmmword [ecx + eax + 0x1500]
movss xmm0, dword [0x100dd4b4]
comiss xmm2, xmm3
movaps xmm4, xmm3
movaps xmmword [esp + 0x40], xmm3
shufps xmm4, xmm3, 0xff
mulss xmm4, dword [ecx + 0x1500]
jbe 0x10039e8c
movaps xmm1, xmm2
jmp 0x10039e93
movaps xmm1, xmm0
minss xmm1, xmm3
movss xmm3, dword [esp + 0x44]
comiss xmm2, xmm3
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si eax, xmm1
mov dword [esp + 0x24], eax
jbe 0x10039eb3
movaps xmm1, xmm2
jmp 0x10039eba
movaps xmm1, xmm0
minss xmm1, xmm3
movss xmm3, dword [esp + 0x48]
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si eax, xmm1
shl eax, 8
or dword [esp + 0x24], eax
comiss xmm2, xmm3
jbe 0x10039edd
movaps xmm1, xmm2
jmp 0x10039ee4
movaps xmm1, xmm0
minss xmm1, xmm3
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si eax, xmm1
shl eax, 0x10
or dword [esp + 0x24], eax
comiss xmm2, xmm4
jbe 0x10039f01
movaps xmm1, xmm2
jmp 0x10039f08
movaps xmm1, xmm0
minss xmm1, xmm4
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si eax, xmm1
shl eax, 0x18
or eax, dword [esp + 0x24]
cmp dword [edx + 0x1a48], 0
mov dword [esp + 0x1c], eax
je 0x10039f64
movss xmm1, dword [edx + 0x1a88]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10039f64
comiss xmm2, xmm1
jbe 0x10039f43
movaps xmm0, xmm2
jmp 0x10039f47
minss xmm0, xmm1
mov edx, dword [esp + 0x1c]
mulss xmm0, xmm5
and edx, 0xffffff
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x18
or edx, eax
jmp 0x10039f68
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x94], 0
movss xmm3, dword [edi + 0xc]
movss xmm4, dword [edi + 0x10]
movaps xmm0, xmm3
addss xmm0, dword [edi + 0x14]
movss dword [esp + 0x38], xmm0
movaps xmm0, xmm4
addss xmm0, dword [edi + 0x18]
movss dword [esp + 0x3c], xmm0
je 0x10039f9d
movaps xmm1, xmm2
jmp 0x10039fbd
movss xmm0, dword [ecx + 0x1538]
movss xmm1, dword [ecx + 0x18b0]
addss xmm0, xmm0
mulss xmm1, dword [edi + 0x26c]
addss xmm1, xmm0
mov eax, dword [esp + 0x18]
addss xmm3, xmm2
and eax, 1
addss xmm1, xmm4
mov dword [esp + 0x1c], eax
mov ecx, 0xf
mov eax, 0xc
cmovne eax, ecx
push eax
push ecx
mov ecx, dword [edi + 0x274]
lea eax, [esp + 0x40]
movss dword [esp], xmm7
push edx
push eax
lea eax, [esp + 0xd8]
movss dword [esp + 0xd8], xmm3
push eax
movss dword [esp + 0xe0], xmm1
call fcn.1004a5f0
mov ecx, dword [0x100eea8c]
movss xmm7, dword [esp + 0x74]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1003a02c
and eax, 1
mov dword [esp + 0x1c], eax
mov dword [edx + 0x1a48], 0
test eax, eax
jne 0x1003a139
movzx eax, byte [esp + 0xb]
movss xmm0, dword [esp + 0xc]
add eax, eax
movss xmm1, dword [0x100dd4b4]
movups xmm3, xmmword [ecx + eax*8 + 0x1648]
comiss xmm0, xmm3
movaps xmm4, xmm3
movaps xmmword [esp + 0x40], xmm3
shufps xmm4, xmm3, 0xff
mulss xmm4, dword [ecx + 0x1500]
jbe 0x1003a079
movaps xmm2, xmm0
jmp 0x1003a080
movaps xmm2, xmm1
minss xmm2, xmm3
movss xmm5, dword [0x100dd5f4]
movss xmm6, dword [0x100dd47c]
movss xmm3, dword [esp + 0x44]
comiss xmm0, xmm3
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si ecx, xmm2
jbe 0x1003a0ac
movaps xmm2, xmm0
jmp 0x1003a0b3
movaps xmm2, xmm1
minss xmm2, xmm3
movss xmm3, dword [esp + 0x48]
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si eax, xmm2
shl eax, 8
or ecx, eax
comiss xmm0, xmm3
jbe 0x1003a0d4
movaps xmm2, xmm0
jmp 0x1003a0db
movaps xmm2, xmm1
minss xmm2, xmm3
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si eax, xmm2
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm4
jbe 0x1003a0f6
movaps xmm1, xmm0
jmp 0x1003a0fa
minss xmm1, xmm4
mulss xmm1, xmm5
push 3
push ecx
movss dword [esp], xmm7
addss xmm1, xmm6
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x274]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.1004a5f0
mov ecx, dword [0x100eea8c]
mov eax, dword [esp + 0x1c]
test dword [esp + 0x18], 0x400
je 0x1003a458
mov edx, dword [edi + 8]
movss xmm2, dword [esp + 0xc]
test dl, 1
je 0x1003a15a
movaps xmm4, xmm2
jmp 0x1003a17a
movss xmm0, dword [ecx + 0x1538]
movss xmm4, dword [ecx + 0x18b0]
addss xmm0, xmm0
mulss xmm4, dword [edi + 0x26c]
addss xmm4, xmm0
movss xmm5, dword [edi + 0x10]
addss xmm4, xmm5
test edx, 0x400
je 0x1003a1b5
movss xmm3, dword [ecx + 0x18b0]
mulss xmm3, dword [edi + 0x26c]
movss xmm0, dword [ecx + 0x1538]
addss xmm0, xmm0
addss xmm3, dword [edi + 0x14c]
addss xmm3, xmm0
jmp 0x1003a1b8
movaps xmm3, xmm2
movss xmm1, dword [edi + 0xc]
movaps xmm0, xmm4
maxss xmm0, xmm5
movaps xmm6, xmm1
maxss xmm6, xmm1
addss xmm4, xmm3
addss xmm5, dword [edi + 0x18]
movss dword [esp + 0x44], xmm0
movaps xmm0, xmm1
movss dword [esp + 0x94], xmm6
movss dword [esp + 0x40], xmm6
minss xmm4, xmm5
addss xmm0, dword [edi + 0x1c]
addss xmm1, dword [edi + 0x14]
movss dword [esp + 0x68], xmm4
movss dword [esp + 0x4c], xmm4
minss xmm0, xmm1
movss dword [esp + 0x48], xmm0
test eax, eax
je 0x1003a21c
movss xmm6, dword [esp + 0x74]
jmp 0x1003a21f
movaps xmm6, xmm2
movups xmm3, xmmword [ecx + 0x1678]
movss xmm0, dword [0x100dd4b4]
comiss xmm2, xmm3
movaps xmm4, xmm3
movaps xmmword [esp + 0xb0], xmm3
shufps xmm4, xmm3, 0xff
mulss xmm4, dword [ecx + 0x1500]
jbe 0x1003a24f
movaps xmm1, xmm2
jmp 0x1003a256
movaps xmm1, xmm0
minss xmm1, xmm3
movss xmm5, dword [0x100dd5f4]
movss xmm7, dword [0x100dd47c]
movss xmm3, dword [esp + 0xb4]
comiss xmm2, xmm3
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si ecx, xmm1
jbe 0x1003a285
movaps xmm1, xmm2
jmp 0x1003a28c
movaps xmm1, xmm0
minss xmm1, xmm3
movss xmm3, dword [esp + 0xb8]
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm2, xmm3
jbe 0x1003a2b0
movaps xmm1, xmm2
jmp 0x1003a2b7
movaps xmm1, xmm0
minss xmm1, xmm3
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm2, xmm4
jbe 0x1003a2d2
movaps xmm0, xmm2
jmp 0x1003a2d6
minss xmm0, xmm4
mulss xmm0, xmm5
push 3
push ecx
movss dword [esp], xmm6
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x274]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1004a5f0
mov eax, dword [esp + 0x14]
movss xmm1, dword [esp + 0xc]
movss xmm7, dword [eax + 0x1540]
comiss xmm7, xmm1
jbe 0x1003a458
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [edi + 0x10]
movss xmm3, dword [esp + 0x68]
comiss xmm0, xmm3
jbe 0x1003a458
mov eax, dword [0x100eea8c]
movss xmm0, dword [0x100dd4b4]
movups xmm4, xmmword [eax + 0x15f8]
comiss xmm1, xmm4
movaps xmm5, xmm4
movaps xmmword [esp + 0xb0], xmm4
shufps xmm5, xmm4, 0xff
mulss xmm5, dword [eax + 0x1500]
jbe 0x1003a36e
movaps xmm2, xmm1
jmp 0x1003a375
movaps xmm2, xmm0
minss xmm2, xmm4
movss xmm6, dword [0x100dd5f4]
movss xmm4, dword [esp + 0xb4]
comiss xmm1, xmm4
mulss xmm2, xmm6
addss xmm2, dword [0x100dd47c]
cvttss2si edx, xmm2
jbe 0x1003a3a0
movaps xmm2, xmm1
jmp 0x1003a3a7
movaps xmm2, xmm0
minss xmm2, xmm4
movss xmm4, dword [esp + 0xb8]
mulss xmm2, xmm6
addss xmm2, dword [0x100dd47c]
cvttss2si eax, xmm2
shl eax, 8
or edx, eax
comiss xmm1, xmm4
jbe 0x1003a3cf
movaps xmm2, xmm1
jmp 0x1003a3d6
movaps xmm2, xmm0
minss xmm2, xmm4
movss xmm4, dword [0x100dd47c]
mulss xmm2, xmm6
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 0x10
or edx, eax
comiss xmm1, xmm5
jbe 0x1003a3f9
movaps xmm0, xmm1
jmp 0x1003a3fd
minss xmm0, xmm5
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
movss xmm1, dword [esp + 0x94]
mulss xmm0, xmm6
mov dword [esp + 0x38], eax
push ecx
movss dword [esp], xmm7
addss xmm0, xmm4
mov dword [esp + 0x40], ecx
mov ecx, dword [edi + 0x274]
movss dword [esp + 0xcc], xmm1
movss dword [esp + 0xd0], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, edx
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.1004a4d0
cmp byte [edi + 0x78], 0
je 0x1003a465
xor ecx, ecx
call fcn.1004f5f0
cmp byte [edi + 0x79], 0
je 0x1003a475
mov ecx, 1
call fcn.1004f5f0
test byte [esp + 0x18], 2
jne 0x1003a79c
movss xmm4, dword [esp + 0x2c]
xor edx, edx
movaps xmm0, xmm4
mov dword [esp + 0x70], edx
addss xmm0, dword [esp + 0x74]
mov ecx, 0x100eca0c
mov dword [esp + 0x24], ecx
movss dword [esp + 0x9c], xmm0
nop word [eax + eax]
movss xmm0, dword [edi + 0xc]
and edx, 1
movss xmm1, dword [edi + 0x10]
movaps xmm2, xmm0
addss xmm2, dword [edi + 0x14]
mov eax, dword [edi + 0x274]
movaps xmm3, xmm1
addss xmm3, dword [edi + 0x18]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x98], edx
subss xmm2, xmm0
subss xmm3, xmm1
mulss xmm2, dword [ecx - 0xc]
mulss xmm3, dword [ecx - 8]
addss xmm2, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm3, xmm1
movss dword [esp + 0x94], xmm2
movss dword [esp + 0x68], xmm3
je 0x1003a527
movss dword [esp + 0xd4], xmm0
movaps xmm0, xmm4
movss dword [esp + 0xd0], xmm4
jmp 0x1003a539
movss dword [esp + 0xf0], xmm0
movss dword [esp + 0xf4], xmm4
mulss xmm0, dword [ecx - 4]
lea eax, [esp + 0xf4]
test edx, edx
lea edx, [esp + 0xd4]
cmovne eax, edx
addss xmm0, xmm2
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [eax]
mulss xmm0, dword [ecx]
mov ecx, dword [esp + 0x1c]
add ecx, 0x54
addss xmm0, xmm3
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
movss dword [esp + 0xcc], xmm0
cmp eax, dword [ecx + 4]
jne 0x1003a5d1
lea edx, [eax + 1]
mov eax, dword [ecx + 4]
mov dword [esp + 0x28], edx
test eax, eax
je 0x1003a5a1
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x1003a5a6
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10040e90
mov ecx, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x94]
movss xmm3, dword [esp + 0x68]
movss xmm4, dword [esp + 0x2c]
mov eax, dword [ecx + 0x54]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov eax, dword [eax + 0x5c]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [eax + edi*8], ecx
mov ecx, edi
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*8 + 4], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x98]
inc dword [eax + 0x54]
mov eax, dword [edi + 0x274]
mov dword [esp + 0x1c], eax
test edx, edx
je 0x1003a62e
movss dword [esp + 0xb0], xmm0
movss dword [esp + 0xb4], xmm4
jmp 0x1003a643
movss dword [esp + 0xec], xmm0
movaps xmm0, xmm4
movss dword [esp + 0xe8], xmm4
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xec]
test edx, edx
lea edx, [esp + 0xb4]
cmovne eax, edx
mulss xmm0, dword [ecx - 4]
addss xmm0, xmm2
movss dword [esp + 0x38], xmm0
movss xmm0, dword [eax]
mulss xmm0, dword [ecx]
mov ecx, dword [esp + 0x1c]
add ecx, 0x54
addss xmm0, xmm3
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
movss dword [esp + 0x3c], xmm0
cmp eax, dword [ecx + 4]
jne 0x1003a6d9
lea edx, [eax + 1]
mov eax, dword [ecx + 4]
mov dword [esp + 0x98], edx
test eax, eax
je 0x1003a6af
cdq
sub eax, edx
mov edx, dword [esp + 0x98]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x1003a6b4
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10040e90
mov ecx, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x94]
movss xmm3, dword [esp + 0x68]
mov eax, dword [ecx + 0x54]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0x5c]
movss xmm0, dword [esp + 0x9c]
mov dword [eax + edi*8], ecx
mov ecx, edi
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*8 + 4], edx
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x54]
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x274]
mulss xmm0, dword [eax - 4]
push dword [eax + 8]
push dword [eax + 4]
addss xmm0, xmm2
movss xmm2, dword [esp + 0x7c]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0xa4]
mulss xmm0, dword [eax]
lea eax, [esp + 0x48]
push eax
addss xmm0, xmm3
movss dword [esp + 0x50], xmm0
call fcn.10049ee0
mov eax, dword [esp + 0x70]
mov edi, dword [edi + 0x274]
mov ecx, edi
push dword [esp + eax*4 + 0x100]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.10049b10
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x24]
inc edx
movss xmm4, dword [esp + 0x2c]
add ecx, 0x18
mov dword [edi + 0x54], 0
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x24], ecx
cmp edx, dword [esp + 0x58]
jl 0x1003a4b0
mov ecx, edi
call fcn.10037d10
mov esi, dword [esp + 0x14]
movss xmm2, dword [esp + 0xc]
cmp dword [esi + 0x1ae0], edi
jne 0x1003aa08
movss xmm5, dword [edi + 0xc]
movss xmm3, dword [esi + 0x18ac]
movaps xmm7, xmm5
movss xmm4, dword [edi + 0x10]
subss xmm7, xmm3
movss xmm0, dword [edi + 0x44]
movaps xmm6, xmm4
maxss xmm0, dword [esi + 0x150c]
addss xmm5, dword [edi + 0x14]
addss xmm4, dword [edi + 0x18]
comiss xmm2, xmm7
movss dword [esp + 0x70], xmm0
subss xmm6, xmm3
addss xmm5, xmm3
addss xmm4, xmm3
jb 0x1003a849
comiss xmm2, xmm6
jb 0x1003a849
comiss xmm5, dword [esp + 0x78]
jb 0x1003a849
comiss xmm4, dword [esp + 0x20]
movss xmm1, dword [0x100dd4b4]
jb 0x1003a851
xorps xmm3, xmmword [0x100dde20]
subss xmm3, xmm1
movaps xmm0, xmm3
subss xmm7, xmm3
addss xmm5, xmm0
movss xmm0, dword [edi + 0x44]
subss xmm6, xmm3
movss dword [esp + 0x70], xmm0
addss xmm4, xmm3
jmp 0x1003a851
movss xmm1, dword [0x100dd4b4]
mov edx, dword [0x100eea8c]
movss xmm0, dword [esi + 0x1aec]
mov ecx, dword [edi + 0x274]
mov dword [esp + 0x20], ecx
mulss xmm0, dword [edx + 0x1500]
movups xmm3, xmmword [edx + 0x1878]
movss dword [esp + 0x2c], xmm0
movss xmm2, dword [esp + 0x2c]
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xff
mulss xmm2, xmm0
movaps xmmword [esp + 0x100], xmm3
movss dword [esp + 0x2c], xmm2
movss xmm2, dword [esp + 0xc]
comiss xmm2, xmm3
jbe 0x1003a8ad
movaps xmm0, xmm2
jmp 0x1003a8b4
movaps xmm0, xmm1
minss xmm0, xmm3
mulss xmm0, dword [0x100dd5f4]
movss xmm3, dword [esp + 0x104]
comiss xmm2, xmm3
addss xmm0, dword [0x100dd47c]
cvttss2si eax, xmm0
mov dword [esp + 0x24], eax
jbe 0x1003a8df
movaps xmm0, xmm2
jmp 0x1003a8e6
movaps xmm0, xmm1
minss xmm0, xmm3
mulss xmm0, dword [0x100dd5f4]
movss xmm3, dword [esp + 0x108]
addss xmm0, dword [0x100dd47c]
cvttss2si eax, xmm0
shl eax, 8
or dword [esp + 0x24], eax
comiss xmm2, xmm3
jbe 0x1003a914
movaps xmm0, xmm2
jmp 0x1003a91b
movaps xmm0, xmm1
minss xmm0, xmm3
movss xmm3, dword [0x100dd5f4]
mulss xmm0, xmm3
addss xmm0, dword [0x100dd47c]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x2c]
shl eax, 0x10
or dword [esp + 0x24], eax
comiss xmm2, xmm0
jbe 0x1003a94a
movaps xmm1, xmm2
jmp 0x1003a94e
minss xmm1, xmm0
movss xmm0, dword [0x100dd47c]
mulss xmm1, xmm3
addss xmm1, xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, dword [esp + 0x24]
mov dword [esp + 0x58], eax
test eax, 0xff000000
je 0x1003aa0e
test byte [ecx + 0x24], 1
addss xmm7, xmm0
movss xmm3, dword [esp + 0x70]
addss xmm6, xmm0
push 0xffffffffffffffff
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xb8]
movss dword [esp + 0xb8], xmm7
movss dword [esp + 0xbc], xmm6
push eax
je 0x1003a9b7
subss xmm5, xmm0
subss xmm4, xmm0
jmp 0x1003a9c7
subss xmm5, dword [0x100dd478]
subss xmm4, dword [0x100dd478]
movss dword [esp + 0x4c], xmm5
movss dword [esp + 0x50], xmm4
call fcn.1004a1b0
mov eax, dword [esp + 0x20]
push ecx
mov dword [esp], 0x40400000
mov ecx, eax
push 1
push dword [esp + 0x60]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.10048fe0
mov eax, dword [esp + 0x20]
movss xmm2, dword [esp + 0xc]
mov dword [eax + 0x54], 0
mov edx, dword [0x100eea8c]
movss xmm4, dword [edi + 0xc]
subss xmm4, dword [edi + 0x58]
movss xmm3, dword [edi + 0x3c]
mov ecx, dword [edi + 0x20]
movaps xmm0, xmm3
mov eax, dword [edi + 0x1c]
mov dword [edi + 0x24], eax
mov dword [edi + 0x28], ecx
addss xmm0, xmm4
mov ecx, dword [edi + 8]
mov eax, ecx
and eax, 1
mov dword [esp + 0x58], eax
movss dword [edi + 0x20c], xmm0
je 0x1003aa4b
movaps xmm6, xmm2
jmp 0x1003aa6b
movss xmm0, dword [edx + 0x1538]
movss xmm6, dword [edx + 0x18b0]
addss xmm0, xmm0
mulss xmm6, dword [edi + 0x26c]
addss xmm6, xmm0
and ecx, 0x400
je 0x1003aa9d
movss xmm1, dword [edx + 0x18b0]
mulss xmm1, dword [edi + 0x26c]
movss xmm0, dword [edx + 0x1538]
addss xmm0, xmm0
addss xmm1, dword [edi + 0x14c]
addss xmm1, xmm0
jmp 0x1003aaa0
movaps xmm1, xmm2
movss xmm5, dword [edi + 0x10]
subss xmm5, dword [edi + 0x5c]
movss xmm7, dword [edi + 0x40]
movaps xmm0, xmm5
addss xmm0, xmm7
addss xmm0, xmm6
addss xmm0, xmm1
movss dword [edi + 0x210], xmm0
movss xmm0, dword [edi + 0x34]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1003aade
movss xmm0, dword [edi + 0x14]
subss xmm0, dword [edi + 0x70]
subss xmm4, xmm3
addss xmm4, xmm0
movss xmm0, dword [edi + 0x38]
ucomiss xmm0, xmm2
movss dword [edi + 0x214], xmm4
lahf
test ah, 0x44
jp 0x1003ab06
movss xmm0, dword [edi + 0x18]
subss xmm0, dword [edi + 0x74]
cmp dword [esp + 0x58], 0
subss xmm5, xmm7
addss xmm3, xmm2
mov dword [edi + 0x1b4], 0
mov dword [edi + 0x1b8], 0
addss xmm5, xmm0
subss xmm3, dword [edi + 0x58]
movss dword [edi + 0x218], xmm5
movss dword [edi + 0x1b0], xmm3
je 0x1003ab47
movaps xmm4, xmm2
jmp 0x1003ab67
movss xmm0, dword [edx + 0x1538]
movss xmm4, dword [edx + 0x18b0]
addss xmm0, xmm0
mulss xmm4, dword [edi + 0x26c]
addss xmm4, xmm0
test ecx, ecx
je 0x1003ab95
movss xmm1, dword [edx + 0x18b0]
mulss xmm1, dword [edi + 0x26c]
movss xmm0, dword [edx + 0x1538]
addss xmm0, xmm0
addss xmm1, dword [edi + 0x14c]
addss xmm1, xmm0
jmp 0x1003ab98
movaps xmm1, xmm2
movss xmm0, dword [edi + 0x20]
addss xmm1, xmm4
subss xmm0, dword [edi + 0x74]
addss xmm3, xmm2
mov dword [edi + 0xf4], 0
mov dword [edi + 0xf8], 0
mov dword [edi + 0xfc], 0
addss xmm1, xmm7
mov dword [edi + 0xf0], 0
mov byte [edi + 0x144], 0
addss xmm3, dword [edi + 0xc]
subss xmm1, dword [edi + 0x5c]
movss dword [edi + 0xd8], xmm3
mov eax, dword [edi + 0xd8]
mov dword [edi + 0xc8], eax
addss xmm1, dword [edi + 0x10]
mov dword [edi + 0xd0], eax
mov dword [edi + 0xe0], eax
mov eax, dword [edi + 0xf4]
mov dword [edi + 0xe8], eax
movss dword [edi + 0xdc], xmm1
movss xmm1, dword [edi + 0x30]
mov ecx, dword [edi + 0xdc]
subss xmm1, xmm0
movaps xmm0, xmm2
mov dword [edi + 0xcc], ecx
mov dword [edi + 0xd4], ecx
mov dword [edi + 0xe4], ecx
mov ecx, dword [edi + 0xf8]
maxss xmm0, xmm1
mov dword [edi + 0xec], ecx
comiss xmm0, xmm2
seta al
mov byte [edi + 0x145], al
mov eax, dword [edi + 0x140]
mov dword [edi + 0x13c], eax
lea eax, [edi + 0x150]
mov dword [edi + 0x140], 0
mov byte [edi + 0x146], 0
movss xmm0, dword [edi + 0xcc]
subss xmm0, dword [0x100dd630]
movss dword [edi + 0x100], xmm0
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1003acc4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x150]
call fcn.10040b50
lea eax, [edi + 0x150]
mov ecx, dword [esp + 0x60]
mov dword [eax], 0
mov dword [edi + 0x160], 1
test ecx, ecx
je 0x1003acf0
mov eax, dword [ecx + 0x160]
mov dword [edi + 0x164], eax
mov eax, dword [ecx + 0x168]
jmp 0x1003acfc
mov dword [edi + 0x164], 1
xor eax, eax
mov dword [edi + 0x168], eax
mov eax, dword [edi + 0x220]
mov dword [edi + 0x16c], eax
lea eax, [edi + 0x174]
mov dword [edi + 0x170], 0xbf800000
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1003ad47
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x174]
call fcn.10040b50
lea eax, [edi + 0x174]
mov dword [eax], 0
lea eax, [edi + 0x180]
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1003ad7c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x180]
call fcn.10040b50
lea eax, [edi + 0x180]
mov dword [eax], 0
lea eax, [edi + 0x18c]
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1003adb1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18c]
call fcn.10040b50
lea eax, [edi + 0x18c]
mov dword [eax], 0
lea eax, [edi + 0x254]
mov dword [edi + 0x1bc], 0
mov dword [edi + 0x104], 0
push ecx
mov dword [edi + 0x108], 0
lea ecx, [edi + 0x198]
mov dword [edi + 0x15c], eax
call fcn.10040850
cmp byte [esp + 0x13], 0
lea ecx, [edi + 0x244]
movss xmm0, dword [esi + 0x1544]
mov dword [edi + 0x224], 3
mov dword [edi + 0x230], 0
mov dword [edi + 0x22c], 0
movss dword [edi + 0x228], xmm0
je 0x1003ae37
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
cmp dword [edi + 0x224], 0
jle 0x1003ae9f
movss xmm1, dword [esp + 0xc]
xor edx, edx
nop
test edx, edx
jle 0x1003ae65
movss xmm0, dword [ecx]
comiss xmm0, xmm1
jbe 0x1003ae65
movss xmm0, dword [edi + 0x22c]
addss xmm0, dword [edi + 0x228]
movss dword [edi + 0x22c], xmm0
cvttss2si eax, dword [edi + 0x22c]
inc edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx - 0x10], xmm0
movss xmm0, dword [ecx]
addss xmm0, dword [edi + 0x22c]
movss dword [edi + 0x22c], xmm0
mov dword [ecx], 0
add ecx, 4
cmp edx, dword [edi + 0x224]
jl 0x1003ae40
cmp dword [esp + 0x64], 0
je 0x1003af05
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x168]
cmp dword [edi + 0x168], ecx
je 0x1003af05
lea esi, [edi + 0x174]
mov dword [edi + 0x168], ecx
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov dword [esp + 0x58], eax
cmp edx, eax
jne 0x1003aefd
lea ecx, [edx + 1]
test eax, eax
je 0x1003aee3
cdq
sub eax, edx
sar eax, 1
add eax, dword [esp + 0x58]
jmp 0x1003aee8
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.10040b50
mov ecx, dword [edi + 0x168]
mov edx, dword [esi]
mov eax, dword [esi + 8]
mov dword [eax + edx*4], ecx
inc dword [esi]
mov eax, dword [edi + 0x90]
test eax, eax
jle 0x1003af16
dec eax
mov dword [edi + 0x90], eax
mov eax, dword [edi + 0x94]
test eax, eax
jle 0x1003af27
dec eax
mov dword [edi + 0x94], eax
cmp byte [esp + 0x34], 0
mov esi, dword [0x100eea8c]
je 0x1003afb1
mov ecx, edi
call fcn.1003ba40
mov eax, dword [edi + 8]
test eax, 0x40000
jne 0x1003afa5
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1003af5a
cmp dword [edi + 0x300], 0
jne 0x1003afa5
mov ecx, dword [esi + 0x1af4]
mov eax, dword [esi + 0x1a9c]
movaps xmm0, xmmword [0x100dde70]
mov dword [esi + 0x1aa0], 0
mov dword [eax + ecx*4 + 0x300], 0
mov word [esi + 0x1b01], 1
mov dword [esi + 0x1b04], 0
movups xmmword [esi + 0x1b08], xmm0
mov byte [esi + 0x1b00], 1
jmp 0x1003afb1
mov eax, dword [edi + 0x300]
mov dword [esi + 0x1aa0], eax
mov eax, dword [esp + 0x18]
movaps xmm6, xmmword [esp + 0x80]
test al, 1
jne 0x1003b3fa
mov eax, dword [edi + 0x168]
mov dword [esp + 0x58], eax
or eax, 0x10
mov dword [edi + 0x168], eax
mov eax, dword [esp + 0x18]
and eax, 0x20
mov dword [edi + 0x134], 1
mov dword [edi + 0x138], 2
mov dword [esp + 0x9c], eax
jne 0x1003b050
mov ecx, dword [edi + 0x1c0]
xor edx, edx
mov eax, dword [edi + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, str.COLLAPSE
call fcn.10031e70
add esp, 4
cmp dword [esi + 0x19ac], eax
jne 0x1003b029
mov dword [esi + 0x19b4], eax
cmp dword [esi + 0x19b0], eax
jne 0x1003b038
mov byte [esi + 0x19c0], 1
lea edx, [edi + 0xc]
mov ecx, eax
call fcn.1004f2b0
mov esi, dword [0x100eea8c]
test al, al
je 0x1003b050
mov byte [edi + 0x7e], 1
mov eax, dword [esp + 0x58]
mov dword [edi + 0x134], 0
mov dword [edi + 0x138], 1
mov dword [edi + 0x168], eax
mov eax, dword [esp + 0x18]
and eax, 0x100000
mov dword [esp + 0x98], eax
je 0x1003b0d7
movss xmm3, dword [0x100dd638]
lea eax, [esp + 0x40]
movss xmm2, dword [esi + 0x18ac]
push ecx
push 0
push 0x100d9d50
push ecx
mov ecx, dword [esi + 0x18a8]
mov dword [esp], 0xbf800000
push eax
call fcn.1004ceb0
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [0x100dd4b0]
movss xmm2, dword [esp + 0xc]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x34], xmm0
jmp 0x1003b0e3
movss xmm2, dword [esp + 0xc]
movss dword [esp + 0x34], xmm2
mov edx, dword [esp + 0x6c]
mov eax, edx
cmp edx, 0xffffffff
jae 0x1003b106
nop
mov cl, byte [eax]
test cl, cl
je 0x1003b106
cmp cl, 0x23
jne 0x1003b100
cmp byte [eax + 1], cl
je 0x1003b106
inc eax
cmp eax, 0xffffffff
jb 0x1003b0f0
movss xmm0, dword [esi + 0x18ac]
cmp edx, eax
jne 0x1003b117
movaps xmm1, xmm2
jmp 0x1003b166
movss xmm3, dword [0x100dd638]
movaps xmm2, xmm0
push ecx
push eax
push edx
push ecx
mov ecx, dword [esi + 0x18a8]
lea eax, [esp + 0x50]
mov dword [esp], 0xbf800000
push eax
call fcn.1004ceb0
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [0x100dd4b0]
movss xmm2, dword [esp + 0xc]
mov edx, dword [esp + 0x6c]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x44]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cmp dword [esp + 0x9c], 0
addss xmm0, xmm2
movss xmm7, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
movaps xmm6, xmm7
addss xmm6, xmm1
movss dword [esp + 0x44], xmm0
movaps xmm0, xmmword [esp + 0x80]
movaps xmmword [esp + 0xd0], xmm0
movss dword [esp + 0x78], xmm6
movss dword [esp + 0x40], xmm6
je 0x1003b1b4
movss xmm1, dword [ecx + 0x1534]
movaps xmm5, xmm1
jmp 0x1003b1cf
movss xmm5, dword [ecx + 0x1534]
movaps xmm1, xmm5
addss xmm1, dword [ecx + 0x18ac]
addss xmm1, dword [ecx + 0x154c]
movss xmm3, dword [ecx + 0x151c]
lea eax, [ecx + 0x151c]
comiss xmm3, xmm2
mov dword [esp + 0x58], eax
movaps xmm0, xmm5
jbe 0x1003b1f8
movaps xmm0, xmm1
subss xmm0, xmm5
mulss xmm0, xmm3
addss xmm0, xmm5
cmp dword [esp + 0x6c], 0xffffffff
movss xmm4, dword [esp + 0xd8]
movss xmm3, dword [esp + 0x30]
subss xmm4, xmm0
addss xmm3, xmm1
mov dword [esp + 0x20], edx
movss dword [esp + 0xd8], xmm4
movss dword [esp + 0xd0], xmm3
movaps xmm0, xmmword [esp + 0xd0]
movaps xmmword [esp + 0xf0], xmm0
movss xmm0, dword [edi + 0x14]
addss xmm0, dword [edi + 0xc]
subss xmm0, xmm5
movss dword [esp + 0xf8], xmm0
jae 0x1003b26c
mov al, byte [edx]
test al, al
je 0x1003b268
cmp al, 0x23
jne 0x1003b262
cmp byte [edx + 1], al
je 0x1003b268
inc edx
cmp edx, 0xffffffff
jb 0x1003b253
mov dword [esp + 0x20], edx
mov eax, edx
sub eax, dword [esp + 0x6c]
je 0x1003b2ff
mov ecx, dword [esi + 0x198c]
lea eax, [esp + 0xf0]
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0x48]
mov ecx, dword [ecx + 0x274]
push eax
push edx
push dword [esp + 0x7c]
lea eax, [esp + 0xec]
push eax
lea edx, [esp + 0xe8]
call fcn.10032920
add esp, 0x18
cmp byte [esi + 0x2c68], 0
je 0x1003b2d1
push dword [esp + 0x20]
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0xd4]
call fcn.1003fca0
add esp, 4
mov ecx, dword [esp + 0x14]
movss xmm7, dword [esp + 0x34]
movss xmm6, dword [esp + 0x78]
movss xmm2, dword [esp + 0xc]
movss xmm3, dword [esp + 0xd0]
movss xmm4, dword [esp + 0xd8]
mov esi, dword [0x100eea8c]
cmp dword [esp + 0x98], 0
je 0x1003b3ee
movss xmm0, dword [ecx + 0x18ac]
lea edx, [esp + 0xb0]
xorps xmm0, xmmword [0x100dde20]
mulss xmm0, dword [0x100dd454]
mov dword [esp + 0x40], 0
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x1520]
movss dword [esp + 0x44], xmm0
movaps xmm0, xmm4
subss xmm4, xmm3
addss xmm0, xmm2
movd xmm1, eax
lea eax, [esp + 0xf0]
cvtdq2ps xmm1, xmm1
push eax
lea eax, [esp + 0x44]
push eax
push 0
subss xmm4, xmm6
movss dword [esp + 0xbc], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0xe8]
push ecx
push 0x100d9d50
mulss xmm4, dword [ecx + 0x151c]
lea ecx, [esp + 0xfc]
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [0x100dd4e4]
addss xmm4, xmm3
subss xmm0, xmm7
maxss xmm3, xmm4
addss xmm3, xmm6
addss xmm3, xmm0
movss xmm0, dword [esp + 0xe8]
addss xmm0, xmm2
addss xmm3, xmm2
addss xmm0, xmm1
movss dword [esp + 0xfc], xmm3
movss dword [esp + 0x100], xmm0
call fcn.10032d50
mov esi, dword [0x100eea8c]
add esp, 0x14
mov eax, dword [esp + 0x18]
movaps xmm6, xmmword [esp + 0x80]
movss xmm0, dword [edi + 0xc]
and eax, 0x401
movss xmm1, dword [edi + 0x10]
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x40], xmm0
movss xmm5, dword [esp + 0x30]
addss xmm0, dword [edi + 0x14]
addss xmm1, dword [edi + 0x18]
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm1
movups xmm0, xmmword [esp + 0x40]
movups xmmword [edi + 0x1dc], xmm0
movss xmm1, dword [edi + 0x1dc]
movss xmm0, dword [edi + 0x1e0]
maxss xmm1, dword [edi + 0x1cc]
maxss xmm0, dword [edi + 0x1d0]
movss dword [edi + 0x1dc], xmm1
movss dword [edi + 0x1e0], xmm0
movss xmm1, dword [edi + 0x1e4]
movss xmm0, dword [edi + 0x1e8]
minss xmm1, dword [edi + 0x1d4]
minss xmm0, dword [edi + 0x1d8]
movss dword [edi + 0x1e4], xmm1
movss dword [edi + 0x1e8], xmm0
movss xmm1, dword [edi + 0x48]
addss xmm5, xmm1
movss dword [edi + 0x1ec], xmm5
cmp eax, 1
jne 0x1003b4b8
movaps xmm2, xmm1
jmp 0x1003b4c4
mov eax, dword [esp + 0x14]
movss xmm2, dword [eax + 0x1540]
test dword [edi + 8], 0x400
je 0x1003b4f7
movss xmm4, dword [esi + 0x18b0]
mulss xmm4, dword [edi + 0x26c]
movss xmm0, dword [esi + 0x1538]
addss xmm0, xmm0
addss xmm4, dword [edi + 0x14c]
addss xmm4, xmm0
jmp 0x1003b4fd
movss xmm4, dword [esp + 0xc]
addss xmm4, dword [esp + 0xac]
movss xmm7, dword [0x100dd47c]
addss xmm5, xmm7
addss xmm4, xmm2
movss dword [edi + 0x1f0], xmm4
addss xmm4, xmm7
movss xmm3, dword [edi + 0x14]
addss xmm3, dword [edi + 0xc]
subss xmm3, dword [edi + 0x70]
subss xmm3, xmm1
movss dword [edi + 0x1f4], xmm3
addss xmm3, xmm7
movss xmm2, dword [edi + 0x18]
addss xmm2, dword [edi + 0x10]
subss xmm2, dword [edi + 0x74]
subss xmm2, xmm1
movss dword [edi + 0x1f8], xmm2
addss xmm2, xmm7
movss xmm0, dword [edi + 0x3c]
mulss xmm0, xmm7
subss xmm0, xmm1
movss xmm1, dword [esp + 0xc]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
addss xmm5, xmm1
subss xmm3, xmm1
cvttss2si eax, xmm5
movss xmm5, dword [esp + 0x84]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm4
movss dword [edi + 0x1fc], xmm0
movss xmm4, dword [esp + 0x30]
movd xmm0, eax
cvttss2si eax, xmm3
cvtdq2ps xmm0, xmm0
movss xmm3, dword [esp + 0xa8]
movss dword [edi + 0x200], xmm0
movd xmm0, eax
cvttss2si eax, xmm2
movss xmm2, dword [esp + 0xac]
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x204], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x208], xmm0
mov eax, dword [edi + 0x50]
mov dword [edi + 0x10c], eax
movss xmm1, dword [esi + 0x1554]
movss xmm0, dword [esi + 0x1558]
subss xmm4, xmm1
addss xmm3, xmm1
movss xmm1, dword [esi + 0xe0]
addss xmm2, xmm0
subss xmm5, xmm0
comiss xmm1, xmm4
jb 0x1003b64b
movss xmm0, dword [esi + 0xe4]
comiss xmm0, xmm5
jb 0x1003b64b
comiss xmm3, xmm1
jbe 0x1003b64b
comiss xmm2, xmm0
jbe 0x1003b64b
mov eax, 1
jmp 0x1003b64d
xor eax, eax
mov dword [edi + 0x110], eax
movups xmmword [edi + 0x114], xmm6
mov eax, dword [esi + 0x198c]
mov byte [eax + 0x7c], 1
push dword [edi + 0x208]
mov esi, dword [esi + 0x198c]
push dword [edi + 0x204]
push dword [edi + 0x200]
mov ecx, dword [esi + 0x274]
push dword [edi + 0x1fc]
push 1
call fcn.10048a30
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [esi + 0x1cc], eax
mov eax, dword [esp + 0xa4]
movss dword [esi + 0x1d0], xmm0
movss dword [esi + 0x1d4], xmm1
movss dword [esi + 0x1d8], xmm2
cmp eax, dword [esp + 0x90]
je 0x1003b6e5
mov byte [edi + 0x7c], 0
mov eax, dword [esp + 0x14]
inc word [edi + 0x84]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x1a48], 0
mov dword [eax + 0x1a44], 0
mov dword [eax + 0x1a40], 0
mov dword [eax + 0x1a3c], 0
mov dword [eax + 0x1a38], 0
mov dword [eax + 0x1a34], 0
mov dword [eax + 0x1a30], 0
test ecx, 0x1000000
je 0x1003b7a6
test cl, 0x40
jne 0x1003b785
cmp dword [edi + 0x90], 0
jg 0x1003b785
cmp dword [edi + 0x94], 0
jg 0x1003b785
movss xmm0, dword [edi + 0x1dc]
comiss xmm0, dword [edi + 0x1e4]
jae 0x1003b77b
movss xmm0, dword [edi + 0x1e0]
comiss xmm0, dword [edi + 0x1e8]
jb 0x1003b785
mov dword [edi + 0xa4], 1
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x1003b7a6
cmp byte [ecx + 0x7d], 0
jne 0x1003b79c
cmp byte [ecx + 0x81], 0
je 0x1003b7a6
mov dword [edi + 0xa4], 1
movss xmm0, dword [esp + 0xc]
comiss xmm0, dword [eax + 0x1500]
jb 0x1003b7ff
mov dword [edi + 0xa4], 1
mov al, 1
mov byte [edi + 0x81], al
cmp byte [edi + 0x7d], 0
jne 0x1003b7d7
cmp byte [edi + 0x7a], 0
je 0x1003b7d7
test al, al
je 0x1003b815
cmp dword [edi + 0x90], 0
jg 0x1003b815
cmp dword [edi + 0x94], 0
jg 0x1003b815
cmp dword [edi + 0xa8], 0
jg 0x1003b815
mov al, 1
mov byte [edi + 0x7f], al
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0xa4], 0
jg 0x1003b7bf
cmp dword [edi + 0xa8], 0
jg 0x1003b7bf
xor al, al
jmp 0x1003b7c1
xor al, al
mov byte [edi + 0x7f], al
xor al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret