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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x24
push ebx
push esi
mov esi, dword [0x10213d84]
push edi
mov byte [esi + 0x357], 0
mov dword [esi + 0x1e44], 0
mov dword [esi + 0x1e48], 0
mov bh, byte [esi + 8]
and bh, 1
test byte [esi + 8], 2
mov byte [esp + 0x13], bh
je 0x1009d7ad
test byte [esi + 0xc], 1
je 0x1009d7ad
cmp dword [esi + 0x1d74], 3
lea ecx, [esi + 0x1d74]
mov bl, 1
xorps xmm1, xmm1
je 0x1009d7b8
movss xmm0, dword [esi + 0x300]
comiss xmm0, xmm1
ja 0x1009d7a1
movss xmm0, dword [esi + 0x308]
comiss xmm0, xmm1
ja 0x1009d7a1
movss xmm0, dword [esi + 0x304]
comiss xmm0, xmm1
ja 0x1009d7a1
movss xmm0, dword [esi + 0x30c]
comiss xmm0, xmm1
ja 0x1009d7a1
movss xmm0, dword [esi + 0x310]
comiss xmm0, xmm1
ja 0x1009d7a1
movss xmm0, dword [esi + 0x314]
comiss xmm0, xmm1
ja 0x1009d7a1
movss xmm0, dword [esi + 0x318]
comiss xmm0, xmm1
ja 0x1009d7a1
movss xmm0, dword [esi + 0x31c]
lea ecx, [esi + 0x1d74]
comiss xmm0, xmm1
jbe 0x1009d7b8
mov dword [esi + 0x1d74], 3
jmp 0x1009d7b2
xor bl, bl
xorps xmm1, xmm1
lea ecx, [esi + 0x1d74]
test bh, bh
je 0x1009d903
mov eax, dword [esi + 0x64]
test eax, eax
js 0x1009d7e2
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1009d7e2
mov dword [esi + 0x300], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1009d804
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1009d804
mov dword [esi + 0x308], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1009d826
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1009d826
mov dword [esi + 0x304], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x38]
test eax, eax
js 0x1009d848
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1009d848
mov dword [esi + 0x344], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x1009d86a
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1009d86a
mov dword [esi + 0x348], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x40]
test eax, eax
js 0x1009d88c
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1009d88c
mov dword [esi + 0x34c], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1009d8ae
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1009d8ae
mov dword [esi + 0x350], 0x3f800000
mov dword [ecx], 2
mov al, byte [esi + 0xfc]
test al, al
je 0x1009d8c2
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfd], 0
je 0x1009d8d5
mov dword [esi + 0x33c], 0x3f800000
cmp byte [esi + 0xfe], 0
je 0x1009d903
test al, al
jne 0x1009d903
mov dword [esi + 0x340], 0x3f800000
cmp byte [esi + 0x1e60], al
je 0x1009d903
cmp dword [esi + 0x151c], 0
jle 0x1009d903
mov byte [esi + 0x1e60], al
movups xmm0, xmmword [esi + 0x146c]
mov eax, dword [esi + 0x14bc]
lea ecx, [esi + 0x146c]
movss xmm2, dword [0x10209580]
movups xmmword [esi + 0x14c0], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [esi + 0x14d0], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [esi + 0x14e0], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [esi + 0x14f0], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [esi + 0x1500], xmm0
mov dword [esi + 0x1510], eax
mov eax, 0x15
nop dword [eax]
movss xmm0, dword [ecx - 0x116c]
comiss xmm0, xmm1
jbe 0x1009d982
movss xmm0, dword [ecx]
comiss xmm1, xmm0
jbe 0x1009d97b
movaps xmm0, xmm1
jmp 0x1009d985
addss xmm0, dword [esi + 0x18]
jmp 0x1009d985
movaps xmm0, xmm2
movss dword [ecx], xmm0
add ecx, 4
sub eax, 1
jne 0x1009d960
mov eax, dword [esi + 0x1d9c]
test eax, eax
je 0x1009d9f8
mov edx, dword [esi + 0x1d44]
test edx, edx
je 0x1009d9f8
mov ecx, dword [esi + 0x1d8c]
mov dword [esi + 0x1d48], eax
mov dword [esi + 0x1d8c], ecx
mov dword [esi + 0x1d4c], 0
mov dword [edx + ecx*4 + 0x33c], eax
add ecx, ecx
mov eax, dword [esi + 0x1d44]
movups xmm0, xmmword [esi + 0x1da0]
movups xmmword [eax + ecx*8 + 0x344], xmm0
cmp byte [esi + 0x1d9a], 0
je 0x1009d9f8
mov word [esi + 0x1d95], 1
mov byte [esi + 0x1d97], 1
cmp byte [esi + 0x1db0], 0
mov word [esi + 0x1d99], 0
mov dword [esi + 0x1d9c], 0
mov dword [esi + 0x1d64], 0
je 0x1009da23
call fcn.1009e630
cmp dword [esi + 0x1db8], 2
jne 0x1009da4f
cmp dword [esi + 0x1dd0], 0
jne 0x1009da45
cmp dword [esi + 0x1e20], 0
jne 0x1009da45
mov byte [esi + 0x1d96], 0
mov dword [esi + 0x1db8], 0
cmp byte [esi + 0x1d95], 0
je 0x1009dac8
cmp byte [esi + 0x1d94], 0
je 0x1009dac8
test byte [esi + 8], 4
je 0x1009dac1
test byte [esi + 0xc], 4
je 0x1009dac1
cmp byte [esi + 0x1d96], 0
jne 0x1009dac1
cmp byte [esi + 0x1d97], 0
je 0x1009dac1
cmp dword [esi + 0x1d44], 0
je 0x1009dac1
lea ecx, [esp + 0x20]
call fcn.1009d240
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [esi + 0x380], xmm0
movss dword [esi + 0x384], xmm1
movss dword [esi + 0xe4], xmm0
movss dword [esi + 0xe8], xmm1
mov byte [esi + 0x357], 1
mov byte [esi + 0x1d95], 0
mov ecx, dword [esi + 0x1d44]
mov byte [esi + 0x1d94], 0
mov dword [esi + 0x1d60], 0
test ecx, ecx
je 0x1009db0c
mov eax, ecx
cmp dword [eax + 0x32c], eax
je 0x1009db02
test dword [eax + 0x10], 0x14000000
jne 0x1009db02
mov eax, dword [eax + 0x328]
test eax, eax
jne 0x1009dae5
jmp 0x1009db0c
cmp eax, ecx
je 0x1009db0c
mov dword [eax + 0x338], ecx
mov eax, dword [esi + 0x1d44]
test eax, eax
je 0x1009db32
cmp dword [eax + 0x338], 0
je 0x1009db32
cmp dword [esi + 0x1d8c], 0
jne 0x1009db32
mov dword [eax + 0x338], 0
call fcn.1009ef00
test bh, bh
jne 0x1009db3f
test bl, bl
je 0x1009dbb4
mov eax, dword [esi + 0x1d44]
test eax, eax
je 0x1009dbb4
test dword [eax + 0x10], 0x40000
jne 0x1009dbb4
mov byte [esi + 0x359], 1
cmp dword [esi + 0x1d48], 0
je 0x1009dbbb
cmp byte [esi + 0x1d96], 0
jne 0x1009dbbb
mov al, 1
mov edx, 1
mov byte [esi + 0x35a], al
mov ecx, edx
call fcn.1009d380
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x1009dd38
cmp dword [esi + 0x1be0], 0
je 0x1009dbc8
mov ebx, dword [0x10213d84]
mov eax, dword [ebx + 0x1bf8]
shr eax, 1
test dl, al
jne 0x1009dd3e
call fcn.1008fef0
jmp 0x1009dd3e
mov byte [esi + 0x359], 0
cmp dword [esi + 0x1e4c], 0
jne 0x1009db6b
xor al, al
jmp 0x1009db6d
cmp dword [esi + 0x1d8c], 0
je 0x1009dbdd
xor ecx, ecx
call fcn.1009d0a0
jmp 0x1009dd38
mov edi, dword [esi + 0x1d44]
test edi, edi
je 0x1009dcd6
cmp edi, dword [edi + 0x32c]
je 0x1009dcd6
test dword [edi + 0x10], 0x4000000
jne 0x1009dcd6
mov ebx, dword [edi + 0x328]
test ebx, ebx
je 0x1009dcd6
movss xmm0, dword [edi + 0x14]
mov ecx, ebx
movss dword [esp + 0x14], xmm0
movss xmm0, dword [edi + 0x18]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [edi + 0x1c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0x20]
movss dword [esp + 0x20], xmm0
call fcn.10099a70
movss xmm5, dword [esp + 0x1c]
movss xmm4, dword [esp + 0x14]
movaps xmm2, xmm5
movss xmm3, dword [esp + 0x18]
addss xmm2, dword [esp + 0x20]
subss xmm5, dword [ebx + 0x18]
mov ecx, dword [edi + 0x74]
addss xmm3, xmm4
subss xmm4, dword [ebx + 0x14]
subss xmm2, dword [ebx + 0x18]
movss dword [esp + 0x24], xmm5
xorps xmm5, xmm5
subss xmm3, dword [ebx + 0x14]
mov ebx, dword [0x10213d84]
movss dword [esp + 0x20], xmm4
movss dword [esp + 0x2c], xmm2
mov eax, dword [ebx + 0x1d44]
mov dword [ebx + 0x1d48], ecx
mov dword [ebx + 0x1d8c], 0
mov dword [ebx + 0x1d4c], 0
mov dword [eax + 0x33c], ecx
mov eax, dword [ebx + 0x1d44]
movss dword [esp + 0x28], xmm3
movups xmm0, xmmword [esp + 0x20]
movups xmmword [eax + 0x344], xmm0
jmp 0x1009dd3e
mov edx, dword [esi + 0x1d20]
test edx, edx
jle 0x1009dd05
mov eax, dword [esi + 0x1d28]
lea ecx, [edx + edx*8]
mov eax, dword [eax + ecx*4 - 0x20]
test dword [eax + 0x10], 0x8000000
jne 0x1009dd38
lea ecx, [edx - 1]
mov dl, 1
call fcn.1009be40
xorps xmm5, xmm5
jmp 0x1009dd38
test edi, edi
je 0x1009dd24
mov eax, dword [edi + 0x10]
test eax, 0x4000000
jne 0x1009dd1a
test eax, 0x1000000
jne 0x1009dd24
mov dword [edi + 0x33c], 0
mov dword [esi + 0x1d4c], 0
mov dword [esi + 0x1d48], 0
mov ebx, dword [0x10213d84]
mov edi, dword [esi + 0x1d48]
mov dword [esi + 0x1d5c], 0
mov dword [esi + 0x1d58], 0
mov dword [esi + 0x1d54], 0
mov dword [esi + 0x1d50], 0
test edi, edi
je 0x1009de2f
cmp byte [esi + 0x1d96], 0
jne 0x1009de2f
cmp dword [esi + 0x1e4c], 0
jne 0x1009de2f
mov eax, dword [esi + 0x1d44]
test eax, eax
je 0x1009de2f
test dword [eax + 0x10], 0x40000
jne 0x1009de2f
movss xmm0, dword [ebx + 0x300]
comiss xmm0, xmm5
seta al
mov byte [esp + 0x12], al
test al, al
je 0x1009ddd4
mov edx, 1
xor ecx, ecx
call fcn.1009d380
comiss xmm0, xmm5
jbe 0x1009ddd4
mov cl, dl
jmp 0x1009ddd6
xor cl, cl
mov eax, dword [esi + 0x1be0]
test eax, eax
jne 0x1009ddec
test cl, cl
je 0x1009ddf0
mov dword [esi + 0x1d50], edi
jmp 0x1009ddf0
cmp eax, edi
jne 0x1009de2f
cmp byte [esp + 0x12], 0
je 0x1009ddfd
mov dword [esi + 0x1d54], edi
test eax, eax
je 0x1009de05
cmp eax, edi
jne 0x1009de2f
test cl, cl
je 0x1009de0f
mov dword [esi + 0x1d58], edi
test eax, eax
je 0x1009de17
cmp eax, edi
jne 0x1009de2f
mov edx, 1
lea ecx, [edx + 1]
call fcn.1009d380
comiss xmm0, xmm5
jbe 0x1009de2f
mov dword [esi + 0x1d5c], edi
mov ecx, dword [esi + 0x1d44]
test ecx, ecx
je 0x1009de49
test dword [ecx + 0x10], 0x40000
je 0x1009de49
mov byte [esi + 0x1d96], 1
mov eax, dword [esi + 0x1d70]
mov byte [esi + 0x1db0], 0
test eax, eax
je 0x1009de72
mov dword [esi + 0x1d5c], eax
mov dword [esi + 0x1d58], eax
mov dword [esi + 0x1d54], eax
mov dword [esi + 0x1d50], eax
cmp dword [esi + 0x1db8], 0
mov dword [esi + 0x1d70], 0
jne 0x1009dfb8
or edi, 0xffffffff
mov dword [esi + 0x1dc0], 0xffffffff
mov dword [esi + 0x1db4], 0
test ecx, ecx
je 0x1009dfb0
or edi, edi
cmp dword [esi + 0x1e4c], 0
jne 0x1009dfb0
or edi, 0xffffffff
test dword [ecx + 0x10], 0x40000
jne 0x1009dfb0
or edi, edi
test byte [ebx + 0x1bf4], 1
jne 0x1009df00
mov edx, 3
lea ecx, [edx + 1]
call fcn.1009d380
comiss xmm5, xmm0
jb 0x1009def4
lea ecx, [edx + 0xe]
or edi, 0xffffffff
call fcn.1009d380
comiss xmm0, xmm5
jbe 0x1009df00
mov dword [esi + 0x1dc0], 0
xor edi, edi
mov eax, dword [ebx + 0x1bf4]
shr eax, 1
test al, 1
jne 0x1009df3a
mov edx, 3
lea ecx, [edx + 2]
call fcn.1009d380
comiss xmm5, xmm0
jb 0x1009df2b
lea ecx, [edx + 0xf]
call fcn.1009d380
comiss xmm0, xmm5
jbe 0x1009df3a
mov dword [esi + 0x1dc0], 1
mov edi, 1
mov eax, dword [ebx + 0x1bf4]
shr eax, 2
test al, 1
jne 0x1009df75
mov edx, 3
lea ecx, [edx + 3]
call fcn.1009d380
comiss xmm5, xmm0
jb 0x1009df66
lea ecx, [edx + 0x10]
call fcn.1009d380
comiss xmm0, xmm5
jbe 0x1009df75
mov dword [esi + 0x1dc0], 2
mov edi, 2
mov eax, dword [ebx + 0x1bf4]
shr eax, 3
test al, 1
jne 0x1009dfb0
mov edx, 3
lea ecx, [edx + 4]
call fcn.1009d380
comiss xmm5, xmm0
jb 0x1009dfa1
lea ecx, [edx + 0x11]
call fcn.1009d380
comiss xmm0, xmm5
jbe 0x1009dfb0
mov dword [esi + 0x1dc0], 3
mov edi, 3
mov dword [esi + 0x1dc8], edi
jmp 0x1009dfc2
mov dword [esi + 0x1db8], 2
xor al, al
xorps xmm0, xmm0
movss dword [esp + 0x18], xmm0
cmp byte [esp + 0x13], al
je 0x1009dfe4
call fcn.1009e860
mov al, byte [esi + 0x1db0]
movss dword [esp + 0x18], xmm0
mov ecx, dword [esi + 0x1dc0]
cmp ecx, 0xffffffff
je 0x1009e00a
mov byte [esi + 0x1db0], 1
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x1dbc], eax
mov dword [esi + 0x1dc4], ecx
jmp 0x1009e00e
test al, al
je 0x1009e031
cmp dword [esi + 0x1d48], 0
jne 0x1009e031
mov word [esi + 0x1d99], 0x101
mov dword [esi + 0x1d9c], 0
mov byte [esi + 0x1d96], 0
cmp byte [ebx + 0x1db0], 0
jne 0x1009e047
cmp byte [ebx + 0x1d99], 0
jne 0x1009e047
xor al, al
jmp 0x1009e049
mov al, 1
movss xmm1, dword [0x1020922c]
mov byte [ebx + 0x1d98], al
mov edi, dword [esi + 0x1d44]
test edi, edi
je 0x1009e23f
test dword [edi + 0x10], 0x40000
jne 0x1009e23f
cmp dword [esi + 0x1e4c], 0
jne 0x1009e23f
movss xmm0, dword [ebx + 0x1944]
mov eax, dword [edi + 0x328]
mulss xmm0, dword [edi + 0x28c]
test eax, eax
je 0x1009e0a1
mulss xmm0, dword [eax + 0x28c]
cmp word [edi + 0x144], 0
mulss xmm0, dword [0x10209434]
mulss xmm0, dword [esi + 0x18]
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x14], xmm1
jne 0x1009e18c
cmp byte [edi + 0x14d], 0
je 0x1009e18c
cmp byte [esi + 0x1db0], 0
je 0x1009e18c
mov eax, dword [esi + 0x1dc0]
movss xmm2, dword [0x10209290]
test eax, eax
je 0x1009e107
cmp eax, 1
jne 0x1009e13f
movaps xmm0, xmm2
jmp 0x1009e10f
movss xmm0, dword [0x10209580]
mulss xmm0, xmm1
mov dword [edi + 0x90], 0
mov dword [edi + 0x98], 0
addss xmm0, dword [edi + 0x78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x88], xmm0
mov eax, dword [esi + 0x1dc0]
cmp eax, 2
je 0x1009e154
cmp eax, 3
jne 0x1009e18c
movaps xmm0, xmm2
jmp 0x1009e15c
movss xmm0, dword [0x10209580]
mulss xmm0, xmm1
mov dword [edi + 0x94], 0
mov dword [edi + 0x9c], 0
addss xmm0, dword [edi + 0x7c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x8c], xmm0
movss xmm3, dword [0x102091b4]
mov edx, 4
push ecx
mov dword [esp], 0x41200000
lea ecx, [esp + 0x24]
push 0
call fcn.1009d500
movss xmm0, dword [esp + 0x28]
add esp, 8
movss xmm2, dword [esp + 0x14]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1009e200
cmp byte [edi + 0xa8], 0
je 0x1009e200
mulss xmm0, xmm2
mov dword [edi + 0x90], 0
mov dword [edi + 0x98], 0
addss xmm0, dword [edi + 0x78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x88], xmm0
movss xmm0, dword [esp + 0x24]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1009e23f
mulss xmm0, xmm2
mov dword [edi + 0x94], 0
mov dword [edi + 0x9c], 0
addss xmm0, dword [edi + 0x7c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x8c], xmm0
mov dword [esi + 0x1dcc], 0
mov dword [esi + 0x1dd4], 0
mov dword [esi + 0x1dd0], 0
mov dword [esi + 0x1dd8], 0
mov dword [esi + 0x1ddc], 0
mov dword [esi + 0x1de0], 0
mov dword [esi + 0x1de4], 0
mov dword [esi + 0x1df0], 0x7f7fffff
mov dword [esi + 0x1dec], 0x7f7fffff
mov dword [esi + 0x1de8], 0x7f7fffff
mov dword [esi + 0x1df4], 0
mov dword [esi + 0x1dfc], 0
mov dword [esi + 0x1df8], 0
mov dword [esi + 0x1e00], 0
mov dword [esi + 0x1e04], 0
mov dword [esi + 0x1e08], 0
mov dword [esi + 0x1e0c], 0
mov dword [esi + 0x1e18], 0x7f7fffff
mov dword [esi + 0x1e14], 0x7f7fffff
mov dword [esi + 0x1e10], 0x7f7fffff
mov dword [esi + 0x1e1c], 0
mov dword [esi + 0x1e24], 0
mov dword [esi + 0x1e20], 0
mov dword [esi + 0x1e28], 0
mov dword [esi + 0x1e2c], 0
mov dword [esi + 0x1e30], 0
mov dword [esi + 0x1e34], 0
mov dword [esi + 0x1e40], 0x7f7fffff
mov dword [esi + 0x1e3c], 0x7f7fffff
mov dword [esi + 0x1e38], 0x7f7fffff
cmp byte [esi + 0x1db0], 0
je 0x1009e507
cmp dword [esi + 0x1d74], 3
jne 0x1009e507
mov ecx, dword [esi + 0x1d8c]
movss xmm4, dword [0x10209290]
test ecx, ecx
jne 0x1009e50f
mov eax, dword [esi + 0x1d44]
movss xmm2, dword [eax + 0x200]
movss xmm5, dword [eax + 0x20c]
subss xmm2, dword [eax + 0x14]
subss xmm5, dword [eax + 0x18]
movss xmm7, dword [eax + 0x208]
movss xmm3, dword [eax + 0x204]
subss xmm7, dword [eax + 0x14]
subss xmm3, dword [eax + 0x18]
movss xmm6, dword [eax + 0x344]
subss xmm2, xmm4
addss xmm5, xmm4
addss xmm7, xmm4
subss xmm3, xmm4
comiss xmm6, xmm2
movss dword [esp + 0x20], xmm5
jb 0x1009e41b
movss xmm0, dword [eax + 0x348]
comiss xmm0, xmm3
jb 0x1009e41b
comiss xmm7, dword [eax + 0x34c]
jb 0x1009e41b
comiss xmm5, dword [eax + 0x350]
jae 0x1009e50f
movss xmm4, dword [ebx + 0x1944]
mov edx, dword [eax + 0x328]
mulss xmm4, dword [eax + 0x28c]
test edx, edx
je 0x1009e43d
mulss xmm4, dword [edx + 0x28c]
mulss xmm4, dword [0x1020922c]
movaps xmm1, xmm5
add ecx, ecx
subss xmm1, xmm3
movaps xmm5, xmm7
subss xmm5, xmm2
movss xmm0, dword [eax + ecx*8 + 0x348]
minss xmm1, xmm4
minss xmm5, xmm4
xorps xmm1, xmmword [0x10209860]
xorps xmm5, xmmword [0x10209860]
subss xmm3, xmm1
movaps xmm4, xmm1
subss xmm2, xmm5
addss xmm4, dword [esp + 0x20]
addss xmm5, xmm7
comiss xmm3, xmm0
jbe 0x1009e493
movaps xmm0, xmm3
jmp 0x1009e497
minss xmm0, xmm4
comiss xmm2, xmm6
jbe 0x1009e4a1
movaps xmm6, xmm2
jmp 0x1009e4a5
minss xmm6, xmm5
movss dword [eax + ecx*8 + 0x344], xmm6
movss dword [eax + ecx*8 + 0x348], xmm0
movss xmm0, dword [eax + ecx*8 + 0x350]
comiss xmm3, xmm0
ja 0x1009e4cc
movaps xmm3, xmm0
minss xmm3, xmm4
movss xmm0, dword [eax + ecx*8 + 0x34c]
comiss xmm2, xmm0
ja 0x1009e4e1
movaps xmm2, xmm0
minss xmm2, xmm5
movss dword [eax + ecx*8 + 0x34c], xmm2
movss dword [eax + ecx*8 + 0x350], xmm3
mov dword [esi + 0x1d4c], 0
mov dword [esi + 0x1d48], 0
movss xmm4, dword [0x10209290]
mov eax, dword [esi + 0x1d44]
test eax, eax
je 0x1009e562
mov ecx, dword [esi + 0x1d8c]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 + 0x344]
comiss xmm0, dword [eax + ecx*8 + 0x34c]
ja 0x1009e562
movss xmm0, dword [eax + ecx*8 + 0x348]
comiss xmm0, dword [eax + ecx*8 + 0x350]
ja 0x1009e562
movups xmm0, xmmword [eax + ecx*8 + 0x344]
lea ecx, [esp + 0x20]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [esp + 0x20], xmm0
jmp 0x1009e57a
lea ecx, [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [esp + 0x20], xmm0
test eax, eax
je 0x1009e5bc
movss xmm2, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
movaps xmm3, xmm2
addss xmm3, dword [esp + 0x28]
addss xmm2, dword [esp + 0x20]
movaps xmm1, xmm0
addss xmm1, dword [esp + 0x2c]
addss xmm0, dword [esp + 0x24]
movss dword [esp + 0x28], xmm3
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x24], xmm0
jmp 0x1009e5c4
xorps xmm0, xmm0
movups xmmword [esp + 0x20], xmm0
movss xmm1, dword [esp + 0x18]
lea eax, [esp + 0x20]
movups xmm0, xmmword [eax]
pop edi
movups xmmword [esi + 0x1d78], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x1d7c]
addss xmm1, dword [esi + 0x1d84]
movss dword [esi + 0x1d7c], xmm0
movss dword [esi + 0x1d84], xmm1
movss xmm0, dword [esi + 0x1d78]
addss xmm0, xmm4
mov dword [esi + 0x1d88], 0
minss xmm0, dword [esi + 0x1d80]
movss dword [esi + 0x1d78], xmm0
movss dword [esi + 0x1d80], xmm0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret