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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
mov ebp, dword [esp + 0x38]
push esi
push edi
push 0x34
push 0
push ebp
mov dword [esp + 0x1c], 0xffffff9d
mov dword [esp + 0x24], 1
call fcn.100a2020
mov edi, dword [esp + 0x54]
mov eax, dword [edi]
mov dword [ebp + 0x24], eax
movd xmm0, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101fce60]
cvtps2pd xmm0, xmm0
call fcn.100b1b30
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [0x10178b48]
call fcn.100b1b30
movsd xmm1, qword [esp + 0x40]
add esp, 4
divsd xmm1, xmm0
addsd xmm1, qword [0x102511a0]
movsd qword [esp + 0x3c], xmm1
fld qword [esp + 0x3c]
fstp qword [esp]
call fcn.100afd20
movd xmm1, dword [esp + 0x58]
mov esi, 1
movd xmm2, dword [esp + 0x54]
fstp qword [esp + 0x3c]
movsd xmm0, qword [esp + 0x3c]
subsd xmm0, qword [0x101735a0]
cvtdq2pd xmm2, xmm2
mov ebx, dword [esp + 0x54]
cvttsd2si ecx, xmm0
cvtdq2ps xmm0, xmm1
mov dword [ebp + 0x20], ecx
inc ecx
shl esi, cl
mulss xmm0, dword [0x101fcdfc]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102511a0]
divsd xmm0, xmm2
call fcn.100b1b30
mulsd xmm0, qword [0x101fce28]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
subsd xmm0, qword [0x101fce48]
mulsd xmm0, xmm1
movd xmm1, dword [edi]
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
movd xmm1, dword [esp + 0x58]
cvtdq2ps xmm1, xmm1
cvttsd2si edi, xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mov dword [ebp + 0x1c], edi
addss xmm0, dword [0x101fcdfc]
mulss xmm0, xmm1
movd xmm1, dword [esp + 0x54]
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102511a0]
divsd xmm0, xmm1
call fcn.100b1b30
mulsd xmm0, qword [0x101fce28]
movd xmm1, esi
lea esi, [ebx*4]
cvtdq2pd xmm1, xmm1
subsd xmm0, qword [0x101fce48]
mulsd xmm0, xmm1
addsd xmm0, qword [0x102511a0]
cvttsd2si eax, xmm0
sub eax, edi
inc eax
mov dword [ebp + 0x28], eax
push esi
call fcn.100a843f
push esi
mov dword [ebp + 0x10], eax
call fcn.100a843f
push esi
mov dword [ebp + 0x14], eax
call fcn.100a843f
mov dword [ebp + 0x18], eax
add esp, 0x14
mov eax, dword [esp + 0x44]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ebp], ebx
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x30], 0x3f800000
cmp eax, 0x6590
jge 0x1008cb27
mov dword [ebp + 0x30], 0
jmp 0x1008cb45
cmp eax, 0x9470
jge 0x1008cb37
mov dword [ebp + 0x30], 0x3f70a3d7
jmp 0x1008cb45
cmp eax, 0xb3b0
jle 0x1008cb45
mov dword [ebp + 0x30], 0x3fa33333
xor esi, esi
xor edi, edi
nop dword [eax]
xorps xmm0, xmm0
lea eax, [edi + 1]
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x101fce18]
subsd xmm0, qword [0x10178b48]
addsd xmm0, qword [0x101fce48]
mulsd xmm0, qword [0x101fce20]
call fcn.100b1850
xorps xmm1, xmm1
addsd xmm0, xmm0
cvtsi2sd xmm1, dword [esp + 0x4c]
sub esp, 8
mulsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [esp + 0x58]
divsd xmm0, xmm1
addsd xmm0, qword [0x102511a0]
movsd qword [esp + 0x3c], xmm0
fld qword [esp + 0x3c]
fstp qword [esp]
call fcn.100afd20
movss xmm1, dword [edi*4 + 0x101f72c0]
add esp, 8
fstp qword [esp + 0x34]
cvttsd2si ecx, qword [esp + 0x34]
cmp esi, ecx
jge 0x1008cce7
movss xmm2, dword [edi*4 + 0x101f72c4]
mov eax, ecx
movsd xmm4, qword [0x1017d118]
subss xmm2, xmm1
sub eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
cmp eax, 4
jl 0x1008ccc0
cmp esi, ebx
jge 0x1008cce7
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm3, xmm2
addsd xmm0, xmm4
addss xmm3, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
lea eax, [esi + 1]
cmp eax, ebx
jge 0x1008d063
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
movaps xmm1, xmm2
addsd xmm0, xmm4
addss xmm1, xmm3
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4 + 4], xmm0
lea eax, [esi + 2]
cmp eax, ebx
jge 0x1008d063
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm3, xmm2
addsd xmm0, xmm4
addss xmm3, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4 + 8], xmm0
lea eax, [esi + 3]
cmp eax, ebx
jge 0x1008d063
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
movaps xmm1, xmm2
addsd xmm0, xmm4
addss xmm1, xmm3
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
lea eax, [ecx - 3]
mov edx, esi
cmp esi, eax
jl 0x1008cc05
cmp edx, ecx
jge 0x1008cce7
nop dword [eax]
cmp esi, ebx
jge 0x1008cce7
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
movaps xmm0, xmm2
addss xmm1, xmm0
cmp esi, ecx
jl 0x1008ccc0
inc edi
cmp edi, 0x57
jl 0x1008cb50
cmp esi, ebx
jge 0x1008cd4f
mov eax, ebx
sub eax, esi
cmp eax, 4
jl 0x1008cd40
lea edx, [ebx - 3]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + esi*4 - 4]
mov dword [ecx + esi*4], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + esi*4]
mov dword [ecx + esi*4 + 4], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + esi*4 + 4]
mov dword [ecx + esi*4 + 8], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + esi*4 + 8]
mov dword [ecx + esi*4 + 0xc], eax
add esi, 4
mov eax, esi
cmp esi, edx
jl 0x1008cd01
cmp eax, ebx
jge 0x1008cd4f
nop dword [eax + eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + esi*4 - 4]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x1008cd40
mov dword [esp + 0x48], 0
test ebx, ebx
jle 0x1008d06a
mov eax, dword [esp + 0x50]
lea ecx, [ebx + ebx]
cdq
idiv ecx
mov edi, eax
xor eax, eax
mov ecx, edi
mov dword [esp + 0x1c], eax
imul ecx, edi
xor edx, edx
mov dword [esp + 0x34], ecx
nop dword [eax]
imul eax, edx
xorps xmm0, xmm0
mov esi, edi
imul esi, edx
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x101fcdf0]
cvtps2pd xmm0, xmm0
call fcn.100b2090
mulsd xmm0, qword [0x101fce40]
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
movsd qword [esp + 0x2c], xmm0
mulss xmm1, dword [0x101fcdf8]
cvtps2pd xmm0, xmm1
call fcn.100b2090
mulsd xmm0, qword [0x101fce50]
mov edx, dword [esp + 0x44]
movsd xmm1, qword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
addsd xmm1, xmm0
add eax, dword [edx + 0x78]
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
mulss xmm0, dword [0x101fcdf4]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x2c], xmm0
cmp eax, ecx
jge 0x1008ced3
subss xmm0, dword [edx + 0x70]
mov ebx, dword [esp + 0x10]
mov eax, edi
imul eax, edi
movss dword [esp + 0x20], xmm0
mov ebp, eax
mov dword [esp + 0x28], eax
imul ebp, ebx
nop word [eax + eax]
mov eax, ebp
xorps xmm0, xmm0
imul eax, ebx
mov esi, edi
imul esi, ebx
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x101fcdf0]
cvtps2pd xmm0, xmm0
call fcn.100b2090
mulsd xmm0, qword [0x101fce40]
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
movsd qword [esp + 0x10], xmm0
mulss xmm1, dword [0x101fcdf8]
cvtps2pd xmm0, xmm1
call fcn.100b2090
mulsd xmm0, qword [0x101fce50]
mov edx, dword [esp + 0x44]
movsd xmm1, qword [esp + 0x10]
mov ecx, dword [esp + 0x48]
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
mulss xmm0, dword [0x101fcdf4]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
movss xmm0, dword [esp + 0x20]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x1008cec7
mov eax, dword [edx + 0x78]
inc ebx
add ebp, dword [esp + 0x28]
add eax, ebx
cmp eax, ecx
jl 0x1008ce30
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
cmp esi, ebx
jg 0x1008cf96
mov eax, dword [edx + 0x7c]
mov ebp, edi
add eax, ecx
imul ebp, esi
mov dword [esp + 0x28], eax
nop dword [eax]
cmp esi, eax
jl 0x1008cf83
mov eax, edi
xorps xmm0, xmm0
imul eax, edi
imul eax, esi
imul eax, esi
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x101fcdf0]
cvtps2pd xmm0, xmm0
call fcn.100b2090
mulsd xmm0, qword [0x101fce40]
xorps xmm1, xmm1
cvtsi2ss xmm1, ebp
movsd qword [esp + 0x20], xmm0
mulss xmm1, dword [0x101fcdf8]
cvtps2pd xmm0, xmm1
call fcn.100b2090
mulsd xmm0, qword [0x101fce50]
mov eax, dword [esp + 0x44]
movsd xmm1, qword [esp + 0x20]
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ebp
mulss xmm0, dword [0x101fcdf4]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
movss xmm0, dword [esp + 0x2c]
addss xmm0, dword [eax + 0x74]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x1008cf8e
mov eax, dword [esp + 0x28]
inc esi
add ebp, edi
cmp esi, ebx
jle 0x1008cef0
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
mov eax, dword [ebp + 0x18]
shl ecx, 0x10
add ecx, 0xfffeffff
add ecx, esi
mov dword [eax + edx*4], ecx
inc edx
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x34]
mov dword [esp + 0x48], edx
mov dword [esp + 0x1c], eax
cmp edx, ebx
jl 0x1008cd80
movd xmm1, dword [esp + 0x50]
xor esi, esi
movd xmm2, ebx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm2, xmm2
movsd qword [esp + 0x34], xmm1
movsd qword [esp + 0x2c], xmm2
nop dword [eax + eax]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x101fcdfc]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102511a0]
mulsd xmm0, xmm1
divsd xmm0, xmm2
call fcn.100b1b30
mov ecx, dword [ebp + 0x20]
mov eax, 1
mulsd xmm0, qword [0x101fce28]
inc ecx
shl eax, cl
movsd xmm2, qword [esp + 0x2c]
subsd xmm0, qword [0x101fce48]
movd xmm1, eax
mov eax, dword [ebp + 0x14]
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd xmm1, qword [esp + 0x34]
addsd xmm0, qword [0x102511a0]
cvttsd2si ecx, xmm0
mov dword [eax + esi*4], ecx
inc esi
cmp esi, ebx
jl 0x1008cff0
jmp 0x1008d074
mov esi, eax
jmp 0x1008cce7
movd xmm1, dword [esp + 0x50]
cvtdq2pd xmm1, xmm1
mov eax, dword [esp + 0x44]
sub esp, 8
mulsd xmm1, qword [0x102511a0]
movss xmm0, dword [eax + 0x1c]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x18]
add eax, 0x24
movss dword [esp], xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
push ebx
push ecx
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
push eax
call fcn.1008e340
push 0xc
mov dword [ebp + 8], eax
call fcn.100a843f
add esp, 0x18
mov dword [ebp + 0xc], eax
lea edi, [ebx*4]
xor esi, esi
push edi
call fcn.100a843f
mov ecx, dword [ebp + 0xc]
add esp, 4
mov dword [esi + ecx], eax
add esi, 4
cmp esi, 0xc
jl 0x1008d0d1
xor esi, esi
test ebx, ebx
jle 0x1008d235
movd xmm2, dword [esp + 0x50]
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm2, xmm2
addsd xmm1, xmm1
movsd qword [esp + 0x2c], xmm2
movsd qword [esp + 0x34], xmm1
nop dword [eax]
nop dword [eax + eax]
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
addsd xmm0, qword [0x102511a0]
mulsd xmm0, xmm2
divsd xmm0, xmm1
call fcn.100b1b30
mulsd xmm0, qword [0x101fce28]
xorps xmm1, xmm1
mov eax, dword [ebp + 4]
movss xmm3, dword [0x101fce64]
movsd xmm2, qword [0x101735a0]
subsd xmm0, qword [0x101fce48]
addsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
maxss xmm1, xmm0
xorps xmm0, xmm0
minss xmm3, xmm1
cvttss2si ecx, xmm3
movss xmm1, dword [eax + ecx*4 + 0x84]
cvtsi2ss xmm0, ecx
cvtps2pd xmm1, xmm1
subss xmm3, xmm0
cvtps2pd xmm0, xmm3
subsd xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [eax + ecx*4 + 0x88]
mov eax, dword [ebp + 0xc]
mulsd xmm1, xmm2
mov eax, dword [eax]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [eax + esi*4], xmm0
movaps xmm0, xmm3
mov eax, dword [ebp + 4]
movss xmm1, dword [eax + ecx*4 + 0xc8]
mulss xmm0, dword [eax + ecx*4 + 0xcc]
mov eax, dword [ebp + 0xc]
cvtps2pd xmm1, xmm1
mov eax, dword [eax + 4]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp + 4]
movss xmm1, dword [eax + ecx*4 + 0x10c]
mulss xmm3, dword [eax + ecx*4 + 0x110]
mov eax, dword [ebp + 0xc]
cvtps2pd xmm1, xmm1
mov eax, dword [eax + 8]
cvtps2pd xmm0, xmm3
mulsd xmm1, xmm2
movsd xmm2, qword [esp + 0x2c]
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movsd xmm1, qword [esp + 0x34]
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, ebx
jl 0x1008d120
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret