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

Disassembly:
sub esp, 0x144
mov eax, dword [0x851070]
xor eax, esp
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x154]
push esi
mov esi, dword [esp + 0x150]
mov dword [esp + 0xb4], edx
mov edx, dword [eax]
mov dword [esp + 0xe4], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [eax + 0xc]
push edi
mov edi, dword [eax + 4]
mov eax, dword [esi + 8]
lea esi, [edx*4]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xbc], ecx
movd xmm0, dword [esp + 0xa0]
mov ecx, dword [eax + 0x2c]
mov edx, ecx
mov eax, dword [eax + 8]
imul edx, edi
mov dword [esp + 0xf8], esi
cvtdq2ps xmm0, xmm0
add edx, eax
add edx, esi
lea esi, [edi + 1]
mov dword [esp + 0xe0], esi
imul esi, ecx
movzx ecx, byte [edx + 3]
mov dword [esp + 0x134], ecx
add esi, eax
movzx eax, byte [edx + 7]
add esi, dword [esp + 0xf8]
add edx, 8
mov dword [esp + 0x11c], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0xc4], edx
movzx eax, byte [esi + 3]
mov dword [esp + 0x140], eax
movzx eax, byte [esi + 7]
add esi, 8
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x144], eax
movss xmm7, dword [esi + 0x14]
movss xmm2, dword [esi + 0x18]
subss xmm7, xmm0
movss xmm1, dword [esi + 0x1c]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x158]
subss xmm1, xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm2
movq qword [esp + 0x100], xmm0
movaps xmm0, xmm7
mulss xmm0, xmm7
mulss xmm2, xmm2
movss dword [esp + 0xb0], xmm1
mov eax, dword [esp + 0xb0]
addss xmm0, xmm2
mulss xmm1, xmm1
mov dword [esp + 0x108], eax
addss xmm0, xmm1
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movss xmm2, dword [esp + 0x158]
lea eax, [esp + 0x94]
movaps xmm6, xmm0
movaps xmm5, xmm6
mulss xmm7, xmm6
push eax
mulss xmm5, dword [esp + 0x108]
mulss xmm6, dword [esp + 0x10c]
movss dword [esp + 0x104], xmm7
movss dword [esp + 0x108], xmm5
movss dword [esp + 0x10c], xmm6
lea ecx, [esp + 0x128]
call fcn.006b36c0
movss xmm2, dword [esi + 0x40]
add esp, 4
mulss xmm2, xmm5
xorps xmm1, xmm1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0xd4], xmm0
movss xmm0, dword [esi + 0x3c]
mulss xmm0, xmm7
mov dword [esp + 0xdc], eax
addss xmm2, xmm0
movss xmm0, dword [esi + 0x44]
mulss xmm0, xmm6
addss xmm2, xmm0
xorps xmm2, xmmword [0x7f2030]
comiss xmm2, dword [esi + 0x30]
movss dword [esp + 0x114], xmm2
jb 0x6b7a19
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0x114]
comiss xmm0, xmm1
fstp dword [esp + 0x118]
jbe 0x6b7a10
subss xmm1, dword [esi + 0x30]
mulss xmm1, dword [esp + 0x118]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b7a19
movss xmm1, dword [esp + 0x118]
movss xmm0, dword [esi + 8]
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mulss xmm0, xmm1
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0xf4], xmm0
lea eax, [esp + 0xdc]
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm1
push eax
movss dword [esp + 0xfc], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0x100], xmm0
call fcn.006b3320
mov ecx, dword [esp + 0x10c]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0x10c], ecx
mov ecx, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xb4]
dec eax
cmp ecx, eax
jge 0x6b7d3f
nop
movss xmm6, dword [esi + 0x14]
mov eax, dword [esp + 0x128]
movss xmm2, dword [esi + 0x18]
movss xmm3, dword [esi + 0x1c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x12c]
subss xmm6, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x140], eax
subss xmm2, xmm0
mov eax, dword [esp + 0xc4]
movd xmm0, dword [esp + 0x134]
cvtdq2ps xmm0, xmm0
movzx edx, byte [eax + 3]
add eax, 4
mov dword [esp + 0x11c], edx
mov dword [esp + 0x138], edx
mov edx, dword [esp + 0xc8]
movaps xmm1, xmm2
mulss xmm0, dword [esp + 0x158]
mov dword [esp + 0xc4], eax
mulss xmm1, xmm2
movzx eax, byte [edx + 3]
add edx, 4
subss xmm3, xmm0
mov dword [esp + 0x144], eax
movaps xmm0, xmm6
mov dword [esp + 0xc8], edx
mulss xmm0, xmm6
addss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm1
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movaps xmm5, xmm0
lea ecx, [esp + 0x124]
mulss xmm6, xmm5
movaps xmm4, xmm5
mulss xmm5, xmm3
mulss xmm4, xmm2
movaps xmm0, xmm6
movss xmm2, dword [esp + 0x158]
movss dword [esp + 0xb0], xmm5
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x108], eax
lea eax, [esp + 0x94]
unpcklps xmm0, xmm4
push eax
movq qword [esp + 0x104], xmm0
call fcn.006b3790
mulss xmm6, dword [esi + 0x3c]
add esp, 4
xorps xmm1, xmm1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0xd4], xmm0
movss xmm0, dword [esi + 0x40]
mulss xmm0, xmm4
mov dword [esp + 0xdc], eax
addss xmm6, xmm0
movss xmm0, dword [esi + 0x44]
mulss xmm0, xmm5
addss xmm6, xmm0
xorps xmm6, xmmword [0x7f2030]
comiss xmm6, dword [esi + 0x30]
movss dword [esp + 0x114], xmm6
jb 0x6b7ca5
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm6
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0x114]
comiss xmm0, xmm1
fstp dword [esp + 0x118]
jbe 0x6b7c9c
subss xmm1, dword [esi + 0x30]
mulss xmm1, dword [esp + 0x118]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b7ca5
movss xmm1, dword [esp + 0x118]
movss xmm0, dword [esi + 8]
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mulss xmm0, xmm1
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0xf4], xmm0
lea eax, [esp + 0xdc]
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm1
push eax
movss dword [esp + 0xfc], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0x100], xmm0
call fcn.006b3320
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
inc ecx
mov dword [esp + 0x110], ecx
mov dword [edx], eax
add edx, 4
mov eax, dword [esp + 0xb4]
dec eax
mov dword [esp + 0x10c], edx
cmp ecx, eax
jl 0x6b7ab0
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x11c], eax
movss xmm2, dword [esi + 0x14]
movss xmm3, dword [esi + 0x18]
movss xmm7, dword [esp + 0x158]
movd xmm0, ecx
mov ecx, dword [esp + 0x11c]
cvtdq2ps xmm0, xmm0
mov edx, dword [esp + 0x144]
movss xmm6, dword [esi + 0x1c]
subss xmm2, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
subss xmm3, xmm0
mulss xmm1, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
subss xmm6, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm0, xmm1
movaps xmm1, xmm6
mulss xmm1, xmm6
addss xmm0, xmm1
addss xmm0, dword [0x7f1594]
call fcn.006b3300
mulss xmm6, xmm0
movaps xmm4, xmm0
movaps xmm5, xmm0
mulss xmm4, xmm3
movss dword [esp + 0xb0], xmm6
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x108], eax
mov eax, ecx
sub eax, dword [esp + 0x134]
add eax, eax
mulss xmm5, xmm2
sub eax, dword [esp + 0x140]
add eax, edx
mov dword [esp + 0xb0], 0x3f800000
sub edx, ecx
add edx, edx
movaps xmm0, xmm5
sub edx, dword [esp + 0x134]
add edx, dword [esp + 0x140]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x90], eax
movd xmm2, edx
mulss xmm3, dword [0x7f169c]
cvtdq2ps xmm2, xmm2
xorps xmm3, xmmword [0x7f2030]
mulss xmm2, dword [0x7f169c]
unpcklps xmm0, xmm4
movq qword [esp + 0x100], xmm0
xorps xmm2, xmmword [0x7f2030]
mulss xmm3, xmm7
mulss xmm2, xmm7
movaps xmm0, xmm3
unpcklps xmm0, xmm2
movq qword [esp + 0x88], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm2, xmm2
addss xmm0, xmm2
addss xmm0, dword [0x7f16c0]
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movss xmm2, dword [esi + 0x40]
movaps xmm1, xmm0
mulss xmm1, dword [esp + 0x8c]
mulss xmm5, dword [esi + 0x3c]
mulss xmm3, xmm0
mulss xmm0, dword [esp + 0x90]
unpcklps xmm3, xmm1
movq qword [esp + 0xd4], xmm3
movss dword [esp + 0x90], xmm0
mov eax, dword [esp + 0x90]
mov dword [esp + 0xdc], eax
mulss xmm2, xmm4
movss xmm0, dword [esi + 0x44]
addss xmm2, xmm5
mulss xmm0, xmm6
xorps xmm1, xmm1
addss xmm2, xmm0
xorps xmm2, xmmword [0x7f2030]
comiss xmm2, dword [esi + 0x30]
movss dword [esp + 0x114], xmm2
jb 0x6b7f59
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0x114]
comiss xmm0, xmm1
fstp dword [esp + 0x118]
jbe 0x6b7f50
subss xmm1, dword [esi + 0x30]
mulss xmm1, dword [esp + 0x118]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b7f59
movss xmm1, dword [esp + 0x118]
movss xmm0, dword [esi + 8]
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mulss xmm0, xmm1
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0xf4], xmm0
lea eax, [esp + 0xdc]
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm1
push eax
movss dword [esp + 0xfc], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0x100], xmm0
call fcn.006b3320
mov edi, dword [esp + 0x10c]
mov edx, dword [esp + 0xe0]
mov dword [edi], eax
add edi, 4
mov eax, dword [esp + 0xbc]
dec eax
mov dword [esp + 0x114], eax
cmp edx, eax
jge 0x6b897d
lea eax, [edx + 1]
mov dword [esp + 0x28], 0x3f800000
mov dword [esp + 0x9c], 0x3f800000
mov dword [esp + 0xc4], eax
nop word [eax + eax]
mov ecx, dword [esp + 0x150]
mov esi, dword [esp + 0xc4]
add esi, 0xfffffffe
movd xmm0, dword [esp + 0xa0]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x118], ecx
imul esi, eax
movss xmm7, dword [esp + 0x158]
add esi, dword [esp + 0xf8]
add esi, ecx
mov ecx, eax
imul ecx, edx
mov dword [esp + 0xd0], ecx
mov edx, ecx
mov ecx, dword [esp + 0xc4]
imul ecx, eax
add edx, dword [esp + 0xf8]
add edx, dword [esp + 0x118]
mov eax, ecx
mov dword [esp + 0xcc], ecx
add eax, dword [esp + 0xf8]
add eax, dword [esp + 0x118]
mov dword [esp + 0xcc], eax
movzx eax, byte [esi + 3]
movzx ecx, byte [edx + 3]
add edx, 4
mov dword [esp + 0xfc], eax
movzx eax, byte [esi + 7]
add esi, 8
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x110], eax
mov dword [esp + 0xd0], edx
movzx edx, byte [edx + 3]
movzx eax, byte [esi + 3]
mov dword [esp + 0x120], eax
movzx eax, byte [esi + 7]
add esi, 8
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0xb8]
add dword [esp + 0xd0], 4
mov dword [esp + 0x11c], eax
mov dword [esp + 0x118], ecx
movss xmm4, dword [esi + 0x14]
movss xmm3, dword [esi + 0x18]
subss xmm4, xmm0
movd xmm0, dword [esp + 0xe0]
movss xmm2, dword [esi + 0x1c]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xc8], edx
subss xmm3, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
subss xmm2, xmm0
movaps xmm0, xmm4
unpcklps xmm0, xmm3
movq qword [esp + 0x100], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm3, xmm3
movss dword [esp + 0x34], xmm2
mov eax, dword [esp + 0x34]
addss xmm0, xmm3
mulss xmm2, xmm2
mov dword [esp + 0x108], eax
addss xmm0, xmm2
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movaps xmm6, xmm0
mov eax, edx
movaps xmm5, xmm6
movaps xmm3, xmm6
mulss xmm3, dword [esp + 0x104]
mulss xmm6, dword [esp + 0x108]
mulss xmm5, xmm4
movss dword [esp + 0x104], xmm3
movss dword [esp + 0x108], xmm6
movss dword [esp + 0x100], xmm5
sub eax, ecx
movss xmm4, dword [0x7f2030]
add eax, eax
sub eax, dword [esp + 0x120]
sub eax, dword [esp + 0xfc]
add eax, dword [esp + 0x11c]
add eax, dword [esp + 0x110]
movd xmm2, eax
mov eax, dword [esp + 0x120]
sub eax, dword [esp + 0xfc]
add eax, eax
sub eax, dword [esp + 0x110]
add eax, dword [esp + 0x11c]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mulss xmm2, dword [0x7f1688]
mov eax, dword [esp + 0x28]
cvtdq2ps xmm1, xmm1
mov dword [esp + 0x90], eax
xorps xmm2, xmm4
mulss xmm1, dword [0x7f164c]
mulss xmm2, xmm7
xorps xmm1, xmm4
mulss xmm1, xmm7
movaps xmm0, xmm2
unpcklps xmm0, xmm1
movq qword [esp + 0x88], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
mulss xmm1, xmm1
addss xmm0, xmm1
addss xmm0, dword [0x7f16c0]
addss xmm0, dword [0x7f1594]
call fcn.006b3300
mulss xmm2, xmm0
movaps xmm1, xmm0
mulss xmm0, dword [esp + 0x90]
mulss xmm1, dword [esp + 0x8c]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esi + 0x3c]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
mov eax, dword [esp + 0x90]
movq qword [esp + 0x44], xmm2
movss xmm2, dword [esi + 0x40]
mulss xmm2, xmm3
mov dword [esp + 0x4c], eax
mulss xmm0, xmm5
addss xmm2, xmm0
movss xmm0, dword [esi + 0x44]
mulss xmm0, xmm6
addss xmm2, xmm0
xorps xmm2, xmm4
comiss xmm2, dword [esi + 0x30]
movss dword [esp + 0xc0], xmm2
jb 0x6b831c
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0xc0]
comiss xmm0, xmm1
fstp dword [esp + 0x10c]
jbe 0x6b8313
subss xmm1, dword [esi + 0x30]
mulss xmm1, dword [esp + 0x10c]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b831c
movss xmm1, dword [esp + 0x10c]
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0x68]
movaps xmm0, xmm1
mulss xmm0, dword [esi + 8]
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0x70], xmm0
lea eax, [esp + 0x4c]
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm1
push eax
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0x7c], xmm0
call fcn.006b3320
mov ecx, dword [esp + 0xb4]
mov dword [edi], eax
dec ecx
mov eax, dword [esp + 0xa4]
add edi, 4
mov dword [esp + 0x10c], edi
mov dword [esp + 0x80], eax
cmp eax, ecx
jge 0x6b86d3
mov dword [esp + 0x10], 0x3f800000
nop dword [eax + eax]
mov esi, dword [esp + 0x110]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x120]
mov dword [esp + 0xfc], esi
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x120], esi
mov esi, dword [esp + 0xc8]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x84]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx edi, byte [esi + 3]
add esi, 4
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0xd0]
add dword [esp + 0xd0], 4
mov dword [esp + 0x110], edi
movzx esi, byte [esi + 3]
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0xcc]
add dword [esp + 0xcc], 4
movzx esi, byte [esi + 3]
mov dword [esp + 0x11c], esi
mov esi, dword [esp + 0xb8]
movss xmm2, dword [esi + 0x14]
movss xmm3, dword [esi + 0x18]
subss xmm2, xmm0
movd xmm0, dword [esp + 0xe0]
movss xmm4, dword [esi + 0x1c]
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
subss xmm3, xmm0
mulss xmm1, xmm2
movd xmm0, dword [esp + 0xc0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x158]
subss xmm4, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm0, xmm1
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movaps xmm6, xmm0
movaps xmm5, xmm6
movaps xmm7, xmm6
mulss xmm6, xmm4
mulss xmm7, xmm3
movss dword [esp + 0x1c], xmm6
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0x118]
add eax, eax
movss xmm4, dword [0x7f2030]
sub eax, edx
mulss xmm5, xmm2
sub eax, ecx
add eax, dword [esp + 0x11c]
add eax, edi
movaps xmm0, xmm5
unpcklps xmm0, xmm7
movq qword [esp + 0x100], xmm0
movd xmm3, eax
mov eax, dword [esp + 0x120]
sub eax, dword [esp + 0xfc]
add eax, eax
sub eax, ecx
sub eax, edi
add eax, edx
add eax, dword [esp + 0x11c]
cvtdq2ps xmm3, xmm3
movd xmm2, eax
mulss xmm3, dword [0x7f1638]
cvtdq2ps xmm2, xmm2
xorps xmm3, xmm4
mulss xmm2, dword [0x7f1638]
mulss xmm3, dword [esp + 0x158]
xorps xmm2, xmm4
mulss xmm2, dword [esp + 0x158]
movaps xmm0, xmm3
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
unpcklps xmm0, xmm2
movq qword [esp + 0x74], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm2, xmm2
addss xmm0, xmm2
addss xmm0, dword [0x7f16c0]
addss xmm0, dword [0x7f1594]
call fcn.006b3300
mulss xmm7, dword [esi + 0x40]
movaps xmm1, xmm0
mov edi, dword [esp + 0x10c]
mulss xmm5, dword [esi + 0x3c]
mulss xmm6, dword [esi + 0x44]
mulss xmm1, dword [esp + 0x78]
addss xmm7, xmm5
mulss xmm3, xmm0
mulss xmm0, dword [esp + 0x7c]
addss xmm7, xmm6
unpcklps xmm3, xmm1
movq qword [esp + 0x38], xmm3
xorps xmm1, xmm1
movss dword [esp + 0x7c], xmm0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x40], eax
xorps xmm7, xmm4
comiss xmm7, dword [esi + 0x30]
movss dword [esp + 0xe4], xmm7
jb 0x6b8631
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm7
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0xe4]
comiss xmm0, xmm1
fstp dword [esp + 0x118]
jbe 0x6b8628
subss xmm1, dword [esi + 0x30]
mulss xmm1, dword [esp + 0x118]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b8631
movss xmm1, dword [esp + 0x118]
movss xmm0, dword [esi + 8]
lea eax, [esp + 0x5c]
mov ecx, dword [esp + 0xe8]
mulss xmm0, xmm1
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0x64], xmm0
lea eax, [esp + 0x40]
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm1
push eax
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0x70], xmm0
call fcn.006b3320
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xc0]
dec edx
mov dword [edi], eax
add edi, 4
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x10c], edi
mov dword [esp + 0x80], eax
mov dword [esp + 0x118], ecx
cmp eax, edx
jl 0x6b83a0
mov edx, dword [esp + 0xfc]
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x120], edx
jmp 0x6b86da
mov ecx, dword [esp + 0x118]
movss xmm2, dword [esi + 0x14]
mov edx, dword [esp + 0xc8]
movss xmm3, dword [esi + 0x18]
movss xmm4, dword [esi + 0x1c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
movd xmm0, dword [esp + 0xe0]
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
subss xmm3, xmm0
mulss xmm1, xmm2
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x158]
subss xmm4, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm0, xmm1
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movaps xmm7, xmm0
sub edx, ecx
movaps xmm6, xmm7
movaps xmm5, xmm7
mulss xmm7, xmm4
add edx, edx
sub edx, dword [esp + 0x120]
sub edx, dword [esp + 0xfc]
movss xmm4, dword [0x7f2030]
movss dword [esp + 0x58], xmm7
mov eax, dword [esp + 0x58]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x11c]
add edx, eax
sub eax, dword [esp + 0x110]
add edx, dword [esp + 0x110]
add eax, eax
sub eax, dword [esp + 0xfc]
add eax, dword [esp + 0x120]
mulss xmm5, xmm3
mulss xmm6, xmm2
movd xmm3, edx
cvtdq2ps xmm3, xmm3
movd xmm2, eax
movaps xmm0, xmm6
mulss xmm3, dword [0x7f1688]
mov eax, dword [esp + 0x9c]
cvtdq2ps xmm2, xmm2
mov dword [esp + 0xf4], eax
unpcklps xmm0, xmm5
xorps xmm3, xmm4
mulss xmm2, dword [0x7f164c]
mulss xmm3, dword [esp + 0x158]
movq qword [esp + 0x100], xmm0
xorps xmm2, xmm4
mulss xmm2, dword [esp + 0x158]
movaps xmm0, xmm3
unpcklps xmm0, xmm2
movq qword [esp + 0xec], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm2, xmm2
addss xmm0, xmm2
addss xmm0, dword [0x7f16c0]
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movaps xmm2, xmm0
movaps xmm1, xmm0
mulss xmm1, dword [esp + 0xf0]
mulss xmm0, dword [esp + 0xf4]
mulss xmm2, xmm3
movss dword [esp + 0xf4], xmm0
mov eax, dword [esp + 0xf4]
unpcklps xmm2, xmm1
movq qword [esp + 0xa8], xmm2
movss xmm2, dword [esi + 0x40]
mov dword [esp + 0xb0], eax
mulss xmm6, dword [esi + 0x3c]
xorps xmm1, xmm1
movss xmm0, dword [esi + 0x44]
mulss xmm2, xmm5
mulss xmm0, xmm7
addss xmm2, xmm6
addss xmm2, xmm0
xorps xmm2, xmm4
comiss xmm2, dword [esi + 0x30]
movss dword [esp + 0xe4], xmm2
jb 0x6b88fc
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0xe4]
comiss xmm0, xmm1
fstp dword [esp + 0xc0]
jbe 0x6b88f3
subss xmm1, dword [esi + 0x30]
mulss xmm1, dword [esp + 0xc0]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b88fc
movss xmm1, dword [esp + 0xc0]
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0xd4]
movaps xmm0, xmm1
mulss xmm0, dword [esi + 8]
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0xdc], xmm0
lea eax, [esp + 0xb0]
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm1
push eax
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0xe8], xmm0
call fcn.006b3320
mov edx, dword [esp + 0xe0]
inc dword [esp + 0xc4]
inc edx
mov dword [edi], eax
add edi, 4
mov dword [esp + 0xe0], edx
cmp edx, dword [esp + 0x114]
jl 0x6b8000
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0xbc]
movd xmm0, dword [esp + 0xa0]
add edx, 0xfffffffe
movss xmm3, dword [esi + 0x14]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 8]
movss xmm2, dword [esi + 0x18]
imul edx, ecx
imul ecx, dword [esp + 0x114]
cvtdq2ps xmm0, xmm0
add edx, eax
add ecx, eax
add edx, dword [esp + 0xf8]
movss xmm7, dword [esp + 0x158]
add ecx, dword [esp + 0xf8]
subss xmm3, xmm0
movd xmm0, dword [esp + 0xe0]
movzx eax, byte [edx + 3]
movss xmm1, dword [esi + 0x1c]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x120], eax
movzx eax, byte [edx + 7]
add edx, 8
mov dword [esp + 0xbc], edx
movzx edx, byte [ecx + 3]
add ecx, 4
mov dword [esp + 0x110], ecx
subss xmm2, xmm0
add dword [esp + 0x110], 4
mov dword [esp + 0x11c], eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movzx ecx, byte [ecx + 3]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ecx
mulss xmm0, xmm7
subss xmm1, xmm0
movaps xmm0, xmm3
unpcklps xmm0, xmm2
movq qword [esp + 0x100], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm2, xmm2
movss dword [esp + 0x9c], xmm1
mov eax, dword [esp + 0x9c]
addss xmm0, xmm2
mulss xmm1, xmm1
mov dword [esp + 0x108], eax
addss xmm0, xmm1
addss xmm0, dword [0x7f1594]
call fcn.006b3300
mov eax, ecx
movaps xmm6, xmm0
sub eax, edx
movaps xmm5, xmm6
add eax, eax
mulss xmm5, xmm3
sub eax, dword [esp + 0x120]
add eax, dword [esp + 0x11c]
movaps xmm4, xmm6
mulss xmm4, dword [esp + 0x104]
mulss xmm6, dword [esp + 0x108]
movd xmm3, eax
mov eax, edx
sub eax, dword [esp + 0x120]
add eax, eax
movss dword [esp + 0x100], xmm5
sub eax, dword [esp + 0x11c]
add eax, ecx
movss dword [esp + 0x104], xmm4
cvtdq2ps xmm3, xmm3
movd xmm2, eax
mulss xmm3, dword [0x7f169c]
cvtdq2ps xmm2, xmm2
xorps xmm3, xmmword [0x7f2030]
mulss xmm2, dword [0x7f169c]
movss dword [esp + 0x108], xmm6
mulss xmm3, xmm7
xorps xmm2, xmmword [0x7f2030]
mulss xmm2, xmm7
movaps xmm0, xmm3
mov dword [esp + 0x9c], 0x3f800000
unpcklps xmm0, xmm2
mov eax, dword [esp + 0x9c]
movq qword [esp + 0xec], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mov dword [esp + 0xf4], eax
mulss xmm2, xmm2
addss xmm0, xmm2
addss xmm0, dword [0x7f16c0]
addss xmm0, dword [0x7f1594]
call fcn.006b3300
mov esi, dword [esp + 0xb8]
movaps xmm2, xmm0
movaps xmm1, xmm0
mulss xmm2, xmm3
mulss xmm1, dword [esp + 0xf0]
mulss xmm0, dword [esp + 0xf4]
mulss xmm5, dword [esi + 0x3c]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
movq qword [esp + 0xa8], xmm2
movss xmm2, dword [esi + 0x40]
mulss xmm2, xmm4
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [esi + 0x44]
mov eax, dword [esp + 0xf4]
addss xmm2, xmm5
mulss xmm0, xmm6
mov dword [esp + 0xb0], eax
addss xmm2, xmm0
xorps xmm2, xmmword [0x7f2030]
comiss xmm2, dword [esi + 0x30]
movss dword [esp + 0xe4], xmm2
jb 0x6b8c3d
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0xe4]
comiss xmm0, xmm1
fstp dword [esp + 0x114]
jbe 0x6b8c34
subss xmm1, dword [esi + 0x30]
mulss xmm1, dword [esp + 0x114]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b8c3d
movss xmm1, dword [esp + 0x114]
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0xd4]
movaps xmm0, xmm1
mulss xmm0, dword [esi + 8]
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0xdc], xmm0
lea eax, [esp + 0xb0]
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm1
push eax
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0xe8], xmm0
call fcn.006b3320
mov ecx, dword [esp + 0xa4]
mov dword [edi], eax
add edi, 4
mov eax, dword [esp + 0xb4]
dec eax
mov dword [esp + 0x10c], edi
cmp ecx, eax
jge 0x6b8fcc
mov dword [esp + 0x58], 0x3f800000
movd xmm0, dword [esp + 0xa4]
movss xmm2, dword [esi + 0x14]
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
movss xmm3, dword [esi + 0x18]
mov edx, dword [esp + 0xf8]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xbc]
movss xmm4, dword [esi + 0x1c]
subss xmm2, xmm0
movd xmm0, dword [esp + 0xe0]
cvtdq2ps xmm0, xmm0
movzx edi, byte [eax + 3]
add eax, 4
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x110]
add dword [esp + 0x110], 4
movaps xmm1, xmm2
mov dword [esp + 0x11c], edi
subss xmm3, xmm0
mulss xmm1, xmm2
movzx eax, byte [eax + 3]
movd xmm0, dword [esp + 0xf8]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xfc], eax
mulss xmm0, dword [esp + 0x158]
subss xmm4, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm0, xmm1
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movaps xmm6, xmm0
movaps xmm5, xmm6
movaps xmm7, xmm6
mulss xmm6, xmm4
mulss xmm7, xmm3
movss dword [esp + 0x9c], xmm6
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xfc]
sub eax, edx
movss xmm4, dword [0x7f2030]
add eax, eax
mulss xmm5, xmm2
sub eax, ecx
add eax, edi
movaps xmm0, xmm5
unpcklps xmm0, xmm7
movd xmm3, eax
mov eax, dword [esp + 0xf8]
sub eax, dword [esp + 0x120]
add eax, eax
movq qword [esp + 0x100], xmm0
sub eax, edi
sub eax, ecx
add eax, dword [esp + 0xfc]
add eax, edx
cvtdq2ps xmm3, xmm3
movd xmm2, eax
mulss xmm3, dword [0x7f164c]
mov eax, dword [esp + 0x58]
cvtdq2ps xmm2, xmm2
mov dword [esp + 0xf4], eax
xorps xmm3, xmm4
mulss xmm2, dword [0x7f1688]
mulss xmm3, dword [esp + 0x158]
xorps xmm2, xmm4
mulss xmm2, dword [esp + 0x158]
movaps xmm0, xmm3
unpcklps xmm0, xmm2
movq qword [esp + 0xec], xmm0
movaps xmm0, xmm3
mulss xmm2, xmm2
mulss xmm0, xmm3
addss xmm0, xmm2
addss xmm0, dword [0x7f16c0]
addss xmm0, dword [0x7f1594]
call fcn.006b3300
mulss xmm7, dword [esi + 0x40]
movaps xmm2, xmm0
mov edi, dword [esp + 0x10c]
mulss xmm6, dword [esi + 0x44]
movaps xmm1, xmm0
mulss xmm0, dword [esp + 0xf4]
mulss xmm1, dword [esp + 0xf0]
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [esi + 0x3c]
mov eax, dword [esp + 0xf4]
mulss xmm0, xmm5
mov dword [esp + 0xb0], eax
mulss xmm2, xmm3
addss xmm7, xmm0
unpcklps xmm2, xmm1
xorps xmm1, xmm1
movq qword [esp + 0xa8], xmm2
addss xmm7, xmm6
xorps xmm7, xmm4
comiss xmm7, dword [esi + 0x30]
movss dword [esp + 0xe4], xmm7
jb 0x6b8f3f
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm7
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0xe4]
comiss xmm0, xmm1
fstp dword [esp + 0x114]
jbe 0x6b8f36
subss xmm1, dword [esi + 0x30]
mulss xmm1, dword [esp + 0x114]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b8f3f
movss xmm1, dword [esp + 0x114]
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0xd4]
movaps xmm0, xmm1
mulss xmm0, dword [esi + 8]
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0xdc], xmm0
lea eax, [esp + 0xb0]
movaps xmm0, xmm1
mulss xmm1, dword [esi + 0x10]
push eax
mulss xmm0, dword [esi + 0xc]
movss dword [esp + 0xe8], xmm1
movss dword [esp + 0xe4], xmm0
call fcn.006b3320
mov ecx, dword [esp + 0xa4]
mov dword [edi], eax
inc ecx
mov eax, dword [esp + 0xb4]
add edi, 4
dec eax
mov dword [esp + 0x10c], edi
mov dword [esp + 0xa4], ecx
cmp ecx, eax
jl 0x6b8cc1
mov eax, dword [esp + 0x120]
mov dword [esp + 0x120], eax
movss xmm2, dword [esi + 0x14]
movss xmm3, dword [esi + 0x18]
movd xmm0, ecx
mov ecx, dword [esp + 0xfc]
cvtdq2ps xmm0, xmm0
mov edx, dword [esp + 0xf8]
movss xmm4, dword [esi + 0x1c]
subss xmm2, xmm0
movd xmm0, dword [esp + 0xe0]
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
subss xmm3, xmm0
mulss xmm1, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x158]
subss xmm4, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm0, xmm1
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movaps xmm7, xmm0
movaps xmm6, xmm7
movaps xmm5, xmm7
mulss xmm7, xmm4
movss xmm4, dword [0x7f2030]
mulss xmm5, xmm3
movss dword [esp + 0x9c], xmm7
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x108], eax
mov eax, ecx
sub ecx, dword [esp + 0x11c]
sub eax, edx
add eax, eax
mulss xmm6, xmm2
sub eax, dword [esp + 0x120]
add ecx, ecx
add eax, dword [esp + 0x11c]
sub ecx, dword [esp + 0x120]
add ecx, edx
mov dword [esp + 0x9c], 0x3f800000
movaps xmm0, xmm6
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xf4], eax
movd xmm1, ecx
mulss xmm3, dword [0x7f169c]
cvtdq2ps xmm1, xmm1
unpcklps xmm0, xmm5
xorps xmm3, xmm4
mulss xmm1, dword [0x7f169c]
mulss xmm3, dword [esp + 0x158]
movq qword [esp + 0x100], xmm0
xorps xmm1, xmm4
mulss xmm1, dword [esp + 0x158]
movaps xmm0, xmm3
unpcklps xmm0, xmm1
movq qword [esp + 0xec], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm1, xmm1
addss xmm0, xmm1
addss xmm0, dword [0x7f16c0]
addss xmm0, dword [0x7f1594]
call fcn.006b3300
movss xmm1, dword [esp + 0xf4]
movss xmm2, dword [esp + 0xf0]
mulss xmm1, xmm0
mulss xmm3, xmm0
mulss xmm2, xmm0
movss dword [esp + 0xf4], xmm1
mov eax, dword [esp + 0xf4]
movss xmm1, dword [esi + 0x40]
unpcklps xmm3, xmm2
movq qword [esp + 0xa8], xmm3
mov dword [esp + 0xb0], eax
mulss xmm6, dword [esi + 0x3c]
movss xmm0, dword [esi + 0x44]
mulss xmm1, xmm5
mulss xmm0, xmm7
addss xmm1, xmm6
addss xmm1, xmm0
movss xmm0, dword [esi + 0x30]
movss dword [esp + 0xbc], xmm0
xorps xmm1, xmm4
comiss xmm1, xmm0
movss dword [esp + 0xe4], xmm1
jb 0x6b9205
movss xmm0, dword [esi + 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.00564730
movss xmm0, dword [esi + 0x34]
add esp, 8
movss xmm1, dword [esp + 0xe4]
comiss xmm0, xmm1
fstp dword [esp + 0x114]
jbe 0x6b91fa
subss xmm1, dword [esp + 0xbc]
mulss xmm1, dword [esp + 0x114]
mulss xmm1, dword [esi + 0x38]
jmp 0x6b9208
movss xmm1, dword [esp + 0x114]
jmp 0x6b9208
xorps xmm1, xmm1
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0xd4]
movaps xmm0, xmm1
mulss xmm0, dword [esi + 8]
push eax
lea eax, [esp + 0x104]
push eax
movss dword [esp + 0xdc], xmm0
lea eax, [esp + 0xb0]
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm1
push eax
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0xe8], xmm0
call fcn.006b3320
mov ecx, dword [esp + 0x148]
mov dword [edi], eax
pop edi
pop esi
xor ecx, esp
call fcn.00735c28
add esp, 0x144
ret