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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x38
push esi
mov esi, dword [0x1008b850]
push edi
mov byte [esi + 0x357], 0
mov dword [esi + 0x1e00], 0
mov dword [esi + 0x1e04], 0
mov dl, byte [esi + 8]
and dl, 1
test byte [esi + 8], 2
mov byte [ebp - 2], dl
je 0x1002eb9d
test byte [esi + 0xc], 1
je 0x1002eb9d
cmp dword [esi + 0x1d30], 3
lea ecx, [esi + 0x1d30]
mov byte [ebp - 1], 1
xorps xmm1, xmm1
je 0x1002ebaa
movss xmm0, dword [esi + 0x300]
comiss xmm0, xmm1
ja 0x1002eb91
movss xmm0, dword [esi + 0x308]
comiss xmm0, xmm1
ja 0x1002eb91
movss xmm0, dword [esi + 0x304]
comiss xmm0, xmm1
ja 0x1002eb91
movss xmm0, dword [esi + 0x30c]
comiss xmm0, xmm1
ja 0x1002eb91
movss xmm0, dword [esi + 0x310]
comiss xmm0, xmm1
ja 0x1002eb91
movss xmm0, dword [esi + 0x314]
comiss xmm0, xmm1
ja 0x1002eb91
movss xmm0, dword [esi + 0x318]
comiss xmm0, xmm1
ja 0x1002eb91
movss xmm0, dword [esi + 0x31c]
lea ecx, [esi + 0x1d30]
comiss xmm0, xmm1
jbe 0x1002ebaa
mov dword [esi + 0x1d30], 3
jmp 0x1002eba4
mov byte [ebp - 1], 0
xorps xmm1, xmm1
lea ecx, [esi + 0x1d30]
test dl, dl
je 0x1002ecf5
mov eax, dword [esi + 0x64]
test eax, eax
js 0x1002ebd4
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1002ebd4
mov dword [esi + 0x300], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1002ebf6
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1002ebf6
mov dword [esi + 0x308], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1002ec18
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1002ec18
mov dword [esi + 0x304], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x38]
test eax, eax
js 0x1002ec3a
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1002ec3a
mov dword [esi + 0x344], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x1002ec5c
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1002ec5c
mov dword [esi + 0x348], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x40]
test eax, eax
js 0x1002ec7e
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1002ec7e
mov dword [esi + 0x34c], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1002eca0
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1002eca0
mov dword [esi + 0x350], 0x3f800000
mov dword [ecx], 2
mov al, byte [esi + 0xfc]
test al, al
je 0x1002ecb4
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfd], 0
je 0x1002ecc7
mov dword [esi + 0x33c], 0x3f800000
cmp byte [esi + 0xfe], 0
je 0x1002ecf5
test al, al
jne 0x1002ecf5
mov dword [esi + 0x340], 0x3f800000
cmp byte [esi + 0x1e1c], al
je 0x1002ecf5
cmp dword [esi + 0x1508], 0
jle 0x1002ecf5
mov byte [esi + 0x1e1c], al
movups xmm0, xmmword [esi + 0x1458]
mov eax, dword [esi + 0x14a8]
lea ecx, [esi + 0x1458]
movss xmm2, dword [0x1008244c]
movups xmmword [esi + 0x14ac], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [esi + 0x14bc], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [esi + 0x14cc], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [esi + 0x14dc], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [esi + 0x14ec], xmm0
mov dword [esi + 0x14fc], eax
mov eax, 0x15
nop
movss xmm0, dword [ecx - 0x1158]
comiss xmm0, xmm1
jbe 0x1002ed72
movss xmm0, dword [ecx]
comiss xmm1, xmm0
jbe 0x1002ed6b
movaps xmm0, xmm1
jmp 0x1002ed75
addss xmm0, dword [esi + 0x18]
jmp 0x1002ed75
movaps xmm0, xmm2
movss dword [ecx], xmm0
add ecx, 4
sub eax, 1
jne 0x1002ed50
mov eax, dword [esi + 0x1d58]
test eax, eax
je 0x1002ede8
mov edx, dword [esi + 0x1d00]
test edx, edx
je 0x1002ede8
mov ecx, dword [esi + 0x1d48]
mov dword [esi + 0x1d04], eax
mov dword [esi + 0x1d48], ecx
mov dword [esi + 0x1d08], 0
mov dword [edx + ecx*4 + 0x32c], eax
add ecx, ecx
mov eax, dword [esi + 0x1d00]
movups xmm0, xmmword [esi + 0x1d5c]
movups xmmword [eax + ecx*8 + 0x334], xmm0
cmp byte [esi + 0x1d56], 0
je 0x1002ede8
mov word [esi + 0x1d51], 1
mov byte [esi + 0x1d53], 1
cmp byte [esi + 0x1d6c], 0
mov word [esi + 0x1d55], 0
mov dword [esi + 0x1d58], 0
mov dword [esi + 0x1d20], 0
je 0x1002ee13
call fcn.1002fa40
cmp dword [esi + 0x1d74], 2
jne 0x1002ee3f
cmp dword [esi + 0x1d8c], 0
jne 0x1002ee35
cmp dword [esi + 0x1ddc], 0
jne 0x1002ee35
mov byte [esi + 0x1d52], 0
mov dword [esi + 0x1d74], 0
cmp byte [esi + 0x1d51], 0
je 0x1002eeb7
cmp byte [esi + 0x1d50], 0
je 0x1002eeb7
test byte [esi + 8], 4
je 0x1002eeb0
test byte [esi + 0xc], 4
je 0x1002eeb0
cmp byte [esi + 0x1d52], 0
jne 0x1002eeb0
cmp byte [esi + 0x1d53], 0
je 0x1002eeb0
cmp dword [esi + 0x1d00], 0
je 0x1002eeb0
lea ecx, [ebp - 0x28]
call fcn.1002e7d0
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 + 0x1d51], 0
mov ecx, dword [esi + 0x1d00]
mov byte [esi + 0x1d50], 0
mov dword [esi + 0x1d1c], 0
test ecx, ecx
je 0x1002eefb
mov eax, ecx
cmp dword [eax + 0x31c], eax
je 0x1002eef1
test dword [eax + 8], 0x14000000
jne 0x1002eef1
mov eax, dword [eax + 0x318]
test eax, eax
jne 0x1002eed4
jmp 0x1002eefb
cmp eax, ecx
je 0x1002eefb
mov dword [eax + 0x328], ecx
mov eax, dword [esi + 0x1d00]
test eax, eax
je 0x1002ef21
cmp dword [eax + 0x328], 0
je 0x1002ef21
cmp dword [esi + 0x1d48], 0
jne 0x1002ef21
mov dword [eax + 0x328], 0
call fcn.10030320
cmp byte [ebp - 2], 0
jne 0x1002ef32
cmp byte [ebp - 1], 0
je 0x1002efad
mov eax, dword [esi + 0x1d00]
test eax, eax
je 0x1002efad
test dword [eax + 8], 0x40000
jne 0x1002efad
mov byte [esi + 0x359], 1
cmp dword [esi + 0x1d04], 0
je 0x1002efb4
cmp byte [esi + 0x1d52], 0
jne 0x1002efb4
mov al, 1
mov edx, 1
mov byte [esi + 0x35a], al
mov ecx, edx
call fcn.1002e930
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x1002f129
cmp dword [esi + 0x1bd4], 0
je 0x1002efc1
mov edx, dword [0x1008b850]
mov dword [ebp - 8], edx
mov eax, dword [edx + 0x1bec]
shr eax, 1
test al, 1
jne 0x1002f132
call fcn.10022450
mov edx, dword [ebp - 8]
jmp 0x1002f132
mov byte [esi + 0x359], 0
cmp dword [esi + 0x1e08], 0
jne 0x1002ef5e
xor al, al
jmp 0x1002ef60
cmp dword [esi + 0x1d48], 0
je 0x1002efd6
xor ecx, ecx
call fcn.1002e630
jmp 0x1002f129
mov edi, dword [esi + 0x1d00]
test edi, edi
je 0x1002f0c7
cmp edi, dword [edi + 0x31c]
je 0x1002f0c7
test dword [edi + 8], 0x4000000
jne 0x1002f0c7
mov eax, dword [edi + 0x318]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x1002f0c7
movss xmm0, dword [edi + 0xc]
mov ecx, eax
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [ebp - 8], xmm0
movss xmm0, dword [edi + 0x18]
movss dword [ebp - 0x24], xmm0
call fcn.1002ba60
movss xmm5, dword [ebp - 0x14]
movss xmm4, dword [ebp - 0xc]
movaps xmm2, xmm5
mov eax, dword [ebp - 0x10]
movaps xmm3, xmm4
mov edx, dword [0x1008b850]
addss xmm2, dword [ebp - 0x24]
addss xmm3, dword [ebp - 8]
subss xmm5, dword [eax + 0x10]
subss xmm4, dword [eax + 0xc]
mov ecx, dword [edi + 0x54]
subss xmm2, dword [eax + 0x10]
subss xmm3, dword [eax + 0xc]
mov eax, dword [edx + 0x1d00]
mov dword [edx + 0x1d04], ecx
mov dword [edx + 0x1d48], 0
mov dword [edx + 0x1d08], 0
mov dword [eax + 0x32c], ecx
mov eax, dword [edx + 0x1d00]
movss dword [ebp - 0x2c], xmm5
xorps xmm5, xmm5
movss dword [ebp - 0x30], xmm4
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x24], xmm2
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [eax + 0x334], xmm0
jmp 0x1002f12f
mov edx, dword [esi + 0x1cdc]
test edx, edx
jle 0x1002f0f6
mov eax, dword [esi + 0x1ce4]
lea ecx, [edx + edx*8]
mov eax, dword [eax + ecx*4 - 0x20]
test dword [eax + 8], 0x8000000
jne 0x1002f129
lea ecx, [edx - 1]
mov dl, 1
call fcn.1002d440
xorps xmm5, xmm5
jmp 0x1002f129
test edi, edi
je 0x1002f115
mov eax, dword [edi + 8]
test eax, 0x4000000
jne 0x1002f10b
test eax, 0x1000000
jne 0x1002f115
mov dword [edi + 0x32c], 0
mov dword [esi + 0x1d08], 0
mov dword [esi + 0x1d04], 0
mov edx, dword [0x1008b850]
mov dword [ebp - 8], edx
mov edi, dword [esi + 0x1d04]
mov dword [esi + 0x1d18], 0
mov dword [esi + 0x1d14], 0
mov dword [esi + 0x1d10], 0
mov dword [esi + 0x1d0c], 0
test edi, edi
je 0x1002f221
cmp byte [esi + 0x1d52], 0
jne 0x1002f221
cmp dword [esi + 0x1e08], 0
jne 0x1002f221
mov eax, dword [esi + 0x1d00]
test eax, eax
je 0x1002f221
test dword [eax + 8], 0x40000
jne 0x1002f221
movss xmm0, dword [edx + 0x300]
comiss xmm0, xmm5
seta al
mov byte [ebp - 1], al
test al, al
je 0x1002f1c7
mov edx, 1
xor ecx, ecx
call fcn.1002e930
comiss xmm0, xmm5
jbe 0x1002f1c7
mov cl, dl
jmp 0x1002f1c9
xor cl, cl
mov eax, dword [esi + 0x1bd4]
test eax, eax
jne 0x1002f1df
test cl, cl
je 0x1002f1e3
mov dword [esi + 0x1d0c], edi
jmp 0x1002f1e3
cmp eax, edi
jne 0x1002f221
cmp byte [ebp - 1], 0
je 0x1002f1ef
mov dword [esi + 0x1d10], edi
test eax, eax
je 0x1002f1f7
cmp eax, edi
jne 0x1002f221
test cl, cl
je 0x1002f201
mov dword [esi + 0x1d14], edi
test eax, eax
je 0x1002f209
cmp eax, edi
jne 0x1002f221
mov edx, 1
lea ecx, [edx + 1]
call fcn.1002e930
comiss xmm0, xmm5
jbe 0x1002f221
mov dword [esi + 0x1d18], edi
mov ecx, dword [esi + 0x1d00]
test ecx, ecx
je 0x1002f23b
test dword [ecx + 8], 0x40000
je 0x1002f23b
mov byte [esi + 0x1d52], 1
mov eax, dword [esi + 0x1d2c]
mov byte [esi + 0x1d6c], 0
test eax, eax
je 0x1002f264
mov dword [esi + 0x1d18], eax
mov dword [esi + 0x1d14], eax
mov dword [esi + 0x1d10], eax
mov dword [esi + 0x1d0c], eax
cmp dword [esi + 0x1d74], 0
mov dword [esi + 0x1d2c], 0
jne 0x1002f3b6
or edi, 0xffffffff
mov dword [esi + 0x1d7c], 0xffffffff
mov dword [esi + 0x1d70], 0
test ecx, ecx
je 0x1002f3ae
or edi, edi
cmp dword [esi + 0x1e08], 0
jne 0x1002f3ae
or edi, 0xffffffff
test dword [ecx + 8], 0x40000
jne 0x1002f3ae
mov eax, dword [ebp - 8]
or edi, edi
test byte [eax + 0x1be8], 1
jne 0x1002f2f8
mov edx, 3
lea ecx, [edx + 1]
call fcn.1002e930
comiss xmm0, xmm5
ja 0x1002f2e9
lea ecx, [edx + 0xe]
or edi, 0xffffffff
call fcn.1002e930
comiss xmm0, xmm5
jbe 0x1002f2f5
mov dword [esi + 0x1d7c], 0
xor edi, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1be8]
shr eax, 1
test al, 1
jne 0x1002f332
mov edx, 3
lea ecx, [edx + 2]
call fcn.1002e930
comiss xmm0, xmm5
ja 0x1002f323
lea ecx, [edx + 0xf]
call fcn.1002e930
comiss xmm0, xmm5
jbe 0x1002f332
mov dword [esi + 0x1d7c], 1
mov edi, 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1be8]
shr eax, 2
test al, 1
jne 0x1002f370
mov edx, 3
lea ecx, [edx + 3]
call fcn.1002e930
comiss xmm0, xmm5
ja 0x1002f361
lea ecx, [edx + 0x10]
call fcn.1002e930
comiss xmm0, xmm5
jbe 0x1002f370
mov dword [esi + 0x1d7c], 2
mov edi, 2
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1be8]
shr eax, 3
test al, 1
jne 0x1002f3ae
mov edx, 3
lea ecx, [edx + 4]
call fcn.1002e930
comiss xmm0, xmm5
ja 0x1002f39f
lea ecx, [edx + 0x11]
call fcn.1002e930
comiss xmm0, xmm5
jbe 0x1002f3ae
mov dword [esi + 0x1d7c], 3
mov edi, 3
mov dword [esi + 0x1d84], edi
jmp 0x1002f3c0
mov dword [esi + 0x1d74], 2
xor al, al
xorps xmm0, xmm0
movss dword [ebp - 0x10], xmm0
cmp byte [ebp - 2], al
je 0x1002f3e2
call fcn.1002fc90
mov al, byte [esi + 0x1d6c]
xorps xmm5, xmm5
movss dword [ebp - 0x10], xmm0
mov ecx, dword [esi + 0x1d7c]
cmp ecx, 0xffffffff
je 0x1002f408
mov byte [esi + 0x1d6c], 1
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x1d78], eax
mov dword [esi + 0x1d80], ecx
jmp 0x1002f40c
test al, al
je 0x1002f42f
cmp dword [esi + 0x1d04], 0
jne 0x1002f42f
mov word [esi + 0x1d55], 0x101
mov dword [esi + 0x1d58], 0
mov byte [esi + 0x1d52], 0
mov ecx, dword [ebp - 8]
cmp byte [ecx + 0x1d6c], 0
jne 0x1002f448
cmp byte [ecx + 0x1d55], 0
jne 0x1002f448
xor al, al
jmp 0x1002f44a
mov al, 1
movss xmm1, dword [0x10082224]
mov byte [ecx + 0x1d54], al
mov edi, dword [esi + 0x1d00]
test edi, edi
je 0x1002f64c
test dword [edi + 8], 0x40000
jne 0x1002f64c
cmp dword [esi + 0x1e08], 0
jne 0x1002f64c
movss xmm0, dword [ecx + 0x1934]
mov eax, dword [edi + 0x318]
mulss xmm0, dword [edi + 0x27c]
test eax, eax
je 0x1002f4a2
mulss xmm0, dword [eax + 0x27c]
cmp word [edi + 0x148], 0
mulss xmm0, dword [0x10082394]
mulss xmm0, dword [esi + 0x18]
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0xc], xmm1
jne 0x1002f57a
cmp byte [edi + 0x151], 0
je 0x1002f57a
cmp byte [esi + 0x1d6c], 0
je 0x1002f57a
mov eax, dword [esi + 0x1d7c]
movss xmm2, dword [0x10082268]
test eax, eax
je 0x1002f507
cmp eax, 1
jne 0x1002f536
movaps xmm0, xmm2
jmp 0x1002f50f
movss xmm0, dword [0x1008244c]
mulss xmm0, xmm1
mov dword [edi + 0x70], 0
mov dword [edi + 0x78], 0
addss xmm0, dword [edi + 0x58]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x68], xmm0
mov eax, dword [esi + 0x1d7c]
cmp eax, 2
je 0x1002f54b
cmp eax, 3
jne 0x1002f57a
movaps xmm0, xmm2
jmp 0x1002f553
movss xmm0, dword [0x1008244c]
mulss xmm0, xmm1
mov dword [edi + 0x74], 0
mov dword [edi + 0x7c], 0
addss xmm0, dword [edi + 0x5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x6c], xmm0
xor edx, edx
lea ecx, [edx + 9]
call fcn.1002e930
lea ecx, [edx + 8]
movaps xmm7, xmm0
call fcn.1002e930
subss xmm7, xmm0
lea ecx, [edx + 0xb]
addss xmm7, xmm5
call fcn.1002e930
lea ecx, [edx + 0xa]
movaps xmm6, xmm0
call fcn.1002e930
mov ecx, dword [ebp - 8]
subss xmm6, xmm0
movss xmm1, dword [ecx + 0x338]
comiss xmm1, xmm5
addss xmm6, xmm5
jbe 0x1002f5d2
mulss xmm7, dword [0x100821f4]
mulss xmm6, dword [0x100821f4]
movss xmm0, dword [ecx + 0x33c]
comiss xmm0, xmm5
jbe 0x1002f5ef
mulss xmm7, dword [0x10082318]
mulss xmm6, dword [0x10082318]
movss xmm1, dword [ebp - 0xc]
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jnp 0x1002f624
cmp byte [edi + 0x88], dl
je 0x1002f624
mulss xmm7, xmm1
mov dword [edi + 0x70], edx
mov dword [edi + 0x78], edx
addss xmm7, dword [edi + 0x58]
cvttss2si eax, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x68], xmm0
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jnp 0x1002f64c
mulss xmm6, xmm1
mov dword [edi + 0x74], edx
mov dword [edi + 0x7c], edx
addss xmm6, dword [edi + 0x5c]
cvttss2si eax, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x6c], xmm0
mov dword [esi + 0x1d88], 0
mov dword [esi + 0x1d90], 0
mov dword [esi + 0x1d8c], 0
mov dword [esi + 0x1d94], 0
mov dword [esi + 0x1d98], 0
mov dword [esi + 0x1d9c], 0
mov dword [esi + 0x1da0], 0
mov dword [esi + 0x1dac], 0x7f7fffff
mov dword [esi + 0x1da8], 0x7f7fffff
mov dword [esi + 0x1da4], 0x7f7fffff
mov dword [esi + 0x1db0], 0
mov dword [esi + 0x1db8], 0
mov dword [esi + 0x1db4], 0
mov dword [esi + 0x1dbc], 0
mov dword [esi + 0x1dc0], 0
mov dword [esi + 0x1dc4], 0
mov dword [esi + 0x1dc8], 0
mov dword [esi + 0x1dd4], 0x7f7fffff
mov dword [esi + 0x1dd0], 0x7f7fffff
mov dword [esi + 0x1dcc], 0x7f7fffff
mov dword [esi + 0x1dd8], 0
mov dword [esi + 0x1de0], 0
mov dword [esi + 0x1ddc], 0
mov dword [esi + 0x1de4], 0
mov dword [esi + 0x1de8], 0
mov dword [esi + 0x1dec], 0
mov dword [esi + 0x1df0], 0
mov dword [esi + 0x1dfc], 0x7f7fffff
mov dword [esi + 0x1df8], 0x7f7fffff
mov dword [esi + 0x1df4], 0x7f7fffff
cmp byte [esi + 0x1d6c], 0
je 0x1002f91a
cmp dword [esi + 0x1d30], 3
jne 0x1002f91a
mov edx, dword [esi + 0x1d48]
movss xmm5, dword [0x10082268]
test edx, edx
jne 0x1002f922
mov eax, dword [esi + 0x1d00]
movss xmm2, dword [eax + 0x1f0]
subss xmm2, dword [eax + 0xc]
movss xmm6, dword [eax + 0x1f8]
movss xmm7, dword [eax + 0x1fc]
movss xmm3, dword [eax + 0x1f4]
subss xmm6, dword [eax + 0xc]
subss xmm7, dword [eax + 0x10]
subss xmm3, dword [eax + 0x10]
movss xmm0, dword [eax + 0x334]
subss xmm2, xmm5
addss xmm6, xmm5
addss xmm7, xmm5
subss xmm3, xmm5
comiss xmm0, xmm2
jb 0x1002f822
movss xmm0, dword [eax + 0x338]
comiss xmm0, xmm3
jb 0x1002f822
comiss xmm6, dword [eax + 0x33c]
jb 0x1002f822
comiss xmm7, dword [eax + 0x340]
jae 0x1002f922
movss xmm4, dword [ecx + 0x1934]
mov ecx, dword [eax + 0x318]
mulss xmm4, dword [eax + 0x27c]
test ecx, ecx
je 0x1002f844
mulss xmm4, dword [ecx + 0x27c]
mulss xmm4, dword [0x10082224]
movaps xmm1, xmm7
add edx, edx
subss xmm1, xmm3
movaps xmm5, xmm6
subss xmm5, xmm2
movss xmm0, dword [eax + edx*8 + 0x338]
minss xmm1, xmm4
minss xmm5, xmm4
xorps xmm1, xmmword [0x10082820]
xorps xmm5, xmmword [0x10082820]
subss xmm3, xmm1
movaps xmm4, xmm1
subss xmm2, xmm5
addss xmm5, xmm6
addss xmm4, xmm7
comiss xmm3, xmm0
jbe 0x1002f898
movaps xmm1, xmm3
jmp 0x1002f89f
movaps xmm1, xmm4
minss xmm1, xmm0
movss xmm6, dword [eax + 0x334]
comiss xmm2, xmm6
jbe 0x1002f8b1
movaps xmm0, xmm2
jmp 0x1002f8b8
movaps xmm0, xmm5
minss xmm0, xmm6
movss dword [eax + edx*8 + 0x334], xmm0
movss dword [eax + edx*8 + 0x338], xmm1
movss xmm0, dword [eax + edx*8 + 0x340]
comiss xmm3, xmm0
ja 0x1002f8df
movaps xmm3, xmm4
minss xmm3, xmm0
movss xmm0, dword [eax + edx*8 + 0x33c]
comiss xmm2, xmm0
ja 0x1002f8f4
movaps xmm2, xmm5
minss xmm2, xmm0
movss dword [eax + edx*8 + 0x33c], xmm2
movss dword [eax + edx*8 + 0x340], xmm3
mov dword [esi + 0x1d08], 0
mov dword [esi + 0x1d04], 0
movss xmm5, dword [0x10082268]
mov eax, dword [esi + 0x1d00]
test eax, eax
je 0x1002f972
mov ecx, dword [esi + 0x1d48]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 + 0x334]
comiss xmm0, dword [eax + ecx*8 + 0x33c]
ja 0x1002f972
movss xmm0, dword [eax + ecx*8 + 0x338]
comiss xmm0, dword [eax + ecx*8 + 0x340]
ja 0x1002f972
movups xmm0, xmmword [eax + ecx*8 + 0x334]
lea ecx, [ebp - 0x30]
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x30], xmm0
jmp 0x1002f987
lea ecx, [ebp - 0x30]
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x30], xmm0
test eax, eax
je 0x1002f9c5
movss xmm4, dword [ebp - 0x28]
movss xmm3, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x2c]
addss xmm4, dword [eax + 0xc]
addss xmm3, dword [eax + 0x10]
addss xmm1, dword [eax + 0xc]
addss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x28], xmm4
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x2c], xmm0
jmp 0x1002f9cc
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
movss xmm1, dword [ebp - 0x10]
lea eax, [ebp - 0x30]
movups xmm0, xmmword [eax]
pop edi
movups xmmword [esi + 0x1d34], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x1d38]
addss xmm1, dword [esi + 0x1d40]
movss dword [esi + 0x1d38], xmm0
movss dword [esi + 0x1d40], xmm1
movss xmm0, dword [esi + 0x1d34]
addss xmm0, xmm5
mov dword [esi + 0x1d44], 0
minss xmm0, dword [esi + 0x1d3c]
movss dword [esi + 0x1d34], xmm0
movss dword [esi + 0x1d3c], xmm0
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret