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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x8c], eax
push esi
push edi
mov eax, ecx
xor edi, edi
mov dword [esp + 8], eax
xor esi, esi
movsd xmm0, qword [ebp + 8]
sub esp, 0x18
mov eax, dword [eax]
add eax, esi
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp + 0x18]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp + 0x10]
movsd qword [esp], xmm0
push eax
call fcn.1020b310
fstp qword [esp + 0x3c]
movsd xmm0, qword [esp + 0x3c]
xorps xmm1, xmm1
add esp, 0x1c
comisd xmm1, xmm0
ja 0x1026d007
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 8]
add eax, esi
push eax
sub esp, 0x10
mov eax, edi
sar eax, 1
movsd qword [esp + 8], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.1020bc10
xorps xmm1, xmm1
mov eax, dword [esp + 8]
add esi, 0x20
add edi, 2
cmp esi, 0x30
jl 0x1026cf96
mov esi, eax
cmp byte [esi + 0xc], 0
je 0x1026d11f
xor eax, eax
xor edi, edi
mov dword [esp + 0xc], eax
nop word [eax + eax]
mov edx, dword [esp + 8]
mov esi, eax
sar esi, 1
mov ecx, dword [edx + 8]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov al, byte [ecx + 0x1c6]
test al, al
je 0x1026d08a
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1026d070
movsd xmm0, qword [ecx + 0xf0]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1026d08a
mov esi, edx
jmp 0x1026d101
movzx eax, al
movsd xmm0, qword [ecx + eax*8 + 0xe8]
ucomisd xmm0, qword [0x103878b0]
lahf
test ah, 0x44
jnp 0x1026d069
movsd xmm0, qword [ebp + 8]
sub esp, 0x18
mov eax, dword [edx]
add eax, edi
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp + 0x18]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp + 0x10]
movsd qword [esp], xmm0
push eax
call fcn.1020b4e0
fstp qword [esp + 0x3c]
movsd xmm0, qword [esp + 0x3c]
xorps xmm1, xmm1
add esp, 0x1c
comisd xmm1, xmm0
ja 0x1026d0fd
mov eax, dword [esp + 8]
mov eax, dword [eax]
add eax, edi
push eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
movd xmm0, esi
mov esi, dword [esp + 0x1c]
cvtdq2pd xmm0, xmm0
mov ecx, dword [esi + 8]
movsd qword [esp], xmm0
call fcn.1020bc10
xorps xmm1, xmm1
jmp 0x1026d101
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
add edi, 0x20
add eax, 2
mov dword [esp + 0xc], eax
cmp edi, 0x30
jl 0x1026d030
mov ecx, esi
call fcn.1026bbf0
mov eax, dword [esi]
lea ecx, [esp + 0x50]
movsd xmm4, qword [ebp + 8]
push ecx
sub esp, 0x18
movss xmm0, dword [eax + 0x30]
movsd xmm2, qword [eax + 0x10]
movsd xmm3, qword [eax]
cvtps2pd xmm0, xmm0
mulsd xmm2, xmm0
mulsd xmm0, xmm4
subsd xmm2, xmm0
movaps xmm0, xmm3
subsd xmm0, xmm4
addsd xmm2, xmm4
movsd qword [esp + 0x10], xmm0
movaps xmm1, xmm2
addsd xmm2, xmm2
subsd xmm1, xmm3
subsd xmm3, xmm2
addsd xmm1, xmm1
addsd xmm3, qword [eax + 0x20]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm3
call fcn.10173730
mov ecx, eax
add esp, 0x1c
xor eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 8], eax
test ecx, ecx
jle 0x1026d663
movsd xmm0, qword [ebp + 0x18]
subsd xmm0, qword [ebp + 0x10]
movsd qword [ebp + 0x18], xmm0
nop word [eax + eax]
movsd xmm0, qword [esp + eax*8 + 0x50]
sub esp, 8
mov ecx, dword [esi]
lea eax, [esp + 0x68]
movsd qword [esp + 0x18], xmm0
movsd qword [esp], xmm0
push eax
call fcn.1020a870
movsd xmm1, qword [esp + 0x68]
movaps xmm0, xmm1
movsd xmm2, qword [0x1039ae68]
subsd xmm0, qword [ebp + 0x10]
divsd xmm0, qword [ebp + 0x18]
comisd xmm2, xmm0
movsd qword [esp + 0x18], xmm0
jbe 0x1026d650
comisd xmm0, xmmword [0x1039ae70]
jbe 0x1026d650
movsd xmm2, qword [esp + 0x10]
movsd xmm5, qword [0x10399988]
comisd xmm5, xmm2
movsd xmm6, qword [0x10399a18]
jbe 0x1026d24a
xorps xmm2, xmm2
movsd qword [esp + 0x10], xmm2
movsd xmm4, qword [0x103878b0]
comisd xmm5, xmm0
xorps xmm3, xmm3
jbe 0x1026d263
xorps xmm0, xmm0
movsd qword [esp + 0x18], xmm0
jmp 0x1026d288
comisd xmm2, xmm6
jbe 0x1026d22e
movsd xmm4, qword [0x103878b0]
movaps xmm2, xmm4
movsd qword [esp + 0x10], xmm2
jmp 0x1026d236
comisd xmm0, xmm6
jbe 0x1026d274
movaps xmm0, xmm4
movsd qword [esp + 0x18], xmm0
jmp 0x1026d288
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1026d288
ucomisd xmm0, xmm4
lahf
test ah, 0x44
jp 0x1026d2ae
mov ecx, dword [esi + 4]
lea eax, [esp + 0x80]
sub esp, 8
movsd qword [esp], xmm0
push eax
call fcn.1020baa0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x60], xmm0
movsd xmm1, qword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
mov eax, dword [esi + 4]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x2c], xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x30], xmm0
movsd xmm0, qword [eax]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x38], xmm0
movsd xmm0, qword [eax + 8]
lea eax, [esp + 0x38]
cvtpd2ps xmm0, xmm0
push eax
lea eax, [esp + 0x30]
push eax
movss dword [esp + 0x44], xmm0
call fcn.10171800
mov ecx, dword [esi + 4]
add esp, 8
test al, al
je 0x1026d314
movups xmm0, xmmword [ecx]
xorps xmm1, xmm1
movups xmmword [esp + 0x60], xmm0
movsd qword [esp + 0x18], xmm1
jmp 0x1026d36d
movsd xmm0, qword [ecx + 0x10]
lea eax, [esp + 0x20]
cvtpd2ps xmm0, xmm0
push eax
lea eax, [esp + 0x30]
push eax
movss dword [esp + 0x28], xmm0
movsd xmm0, qword [ecx + 0x18]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x2c], xmm0
call fcn.10171800
add esp, 8
test al, al
je 0x1026d367
mov eax, dword [esi + 4]
movsd xmm5, qword [0x103878b0]
movaps xmm1, xmm5
movsd qword [esp + 0x18], xmm1
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x60], xmm0
jmp 0x1026d375
movsd xmm1, qword [esp + 0x18]
movsd xmm5, qword [0x103878b0]
mov ecx, dword [esi + 8]
cmp byte [ecx + 0x1c6], 0
jbe 0x1026d3a6
movsd xmm0, qword [ecx + 0x158]
subsd xmm0, xmm1
movsd xmm1, qword [0x10399998]
andps xmm0, xmmword [0x10386870]
comisd xmm1, xmm0
ja 0x1026d650
mov edx, dword [esi]
movss xmm3, dword [esp + 0x2c]
movss xmm1, dword [esp + 0x30]
movsd xmm0, qword [edx]
movsd xmm2, qword [edx + 8]
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm2, xmm2
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x1026d3ea
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x1026d3ea
movups xmm0, xmmword [edx]
xorps xmm1, xmm1
movups xmmword [esp + 0x60], xmm0
movsd qword [esp + 0x10], xmm1
jmp 0x1026d428
movsd xmm0, qword [edx + 0x20]
movsd xmm2, qword [edx + 0x28]
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm2, xmm2
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x1026d422
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x1026d422
movups xmm0, xmmword [edx + 0x20]
movaps xmm1, xmm5
movups xmmword [esp + 0x60], xmm0
movsd qword [esp + 0x10], xmm1
jmp 0x1026d428
movsd xmm1, qword [esp + 0x10]
xor edx, edx
mov dword [esp + 0xc], edx
cmp byte [ecx + 0x1c6], dl
jbe 0x1026d62c
xor edi, edi
nop dword [eax]
movsd xmm0, qword [edi + ecx]
ucomisd xmm0, qword [esp + 0x60]
lahf
test ah, 0x44
jp 0x1026d60f
movsd xmm0, qword [edi + ecx + 8]
ucomisd xmm0, qword [esp + 0x68]
lahf
test ah, 0x44
jp 0x1026d60f
movsd xmm0, qword [ecx + edx*8 + 0xf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1026d650
mov ecx, dword [esi]
addsd xmm0, xmm1
sub esp, 8
lea eax, [esp + 0x78]
mulsd xmm0, qword [0x103885a0]
movsd qword [esp], xmm0
push eax
call fcn.1020a870
movsd xmm1, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x60]
movaps xmm0, xmm1
movsd xmm3, qword [0x10386870]
subsd xmm0, xmm2
movsd xmm4, qword [0x10399998]
andps xmm0, xmm3
comisd xmm4, xmm0
jbe 0x1026d4e7
movsd xmm0, qword [esp + 0x78]
subsd xmm0, qword [esp + 0x68]
andps xmm0, xmm3
comisd xmm4, xmm0
ja 0x1026d650
cvtpd2ps xmm0, xmm2
sub esp, 8
cvtpd2ps xmm1, xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.10209e00
add esp, 8
test al, al
je 0x1026d608
movsd xmm0, qword [esp + 0x68]
sub esp, 8
movsd xmm1, qword [esp + 0x80]
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm1, xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.10209e00
add esp, 8
test al, al
je 0x1026d608
movsd xmm0, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
subsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x40], xmm0
subsd xmm0, xmm2
movsd qword [esp + 0x48], xmm2
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm2, qword [esp + 0x60]
movaps xmm5, xmm0
movsd xmm3, qword [esp + 0x70]
comisd xmm3, xmm2
jbe 0x1026d595
movaps xmm1, xmm2
jmp 0x1026d598
movaps xmm1, xmm3
movsd xmm0, qword [esp + 0x40]
comisd xmm1, xmm0
jbe 0x1026d5a7
movaps xmm1, xmm0
movsd xmm4, qword [esp + 0x48]
comisd xmm1, xmm4
jbe 0x1026d5b6
movaps xmm1, xmm4
comisd xmm2, xmm3
ja 0x1026d5bf
movaps xmm2, xmm3
comisd xmm0, xmm2
ja 0x1026d5c8
movaps xmm0, xmm2
comisd xmm4, xmm0
ja 0x1026d5d1
movaps xmm4, xmm0
xorps xmm1, xmmword [0x1038b810]
sub esp, 8
maxsd xmm1, xmm4
movaps xmm0, xmm1
addsd xmm0, xmm5
cvtsd2ss xmm0, xmm0
movss dword [esp + 4], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [esp], xmm0
call fcn.10209c00
add esp, 8
test al, al
jne 0x1026d650
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0xc]
movzx eax, byte [ecx + 0x1c6]
inc edx
movsd xmm1, qword [esp + 0x10]
add edi, 0x10
mov dword [esp + 0xc], edx
cmp edx, eax
jl 0x1026d440
movsd xmm0, qword [esp + 0x18]
lea eax, [esp + 0x60]
movsd xmm2, qword [esp + 0x10]
push eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm2
call fcn.1020bc10
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
cmp eax, dword [esp + 0x34]
jl 0x1026d1b0
cmp byte [ebp + 0x20], 0
je 0x1026d671
mov ecx, dword [esi + 8]
call fcn.1020bbd0
mov ecx, esi
call fcn.1026bcc0
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x94]
pop edi
pop esi
movzx eax, byte [eax + 0x1c6]
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret 0x1c