Function at 0x1026be50
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.1020b2d0
fstp qword [esp + 0x3c]
movsd xmm0, qword [esp + 0x3c]
xorps xmm1, xmm1
add esp, 0x1c
comisd xmm1, xmm0
ja 0x1026bee7
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 0x1026be76
mov esi, eax
cmp byte [esi + 0xc], 0
je 0x1026bfff
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 0x1026bf6a
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1026bf50
movsd xmm0, qword [ecx + 0xf0]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1026bf6a
mov esi, edx
jmp 0x1026bfe1
movzx eax, al
movsd xmm0, qword [ecx + eax*8 + 0xe8]
ucomisd xmm0, qword [0x103878b0]
lahf
test ah, 0x44
jnp 0x1026bf49
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.1020b350
fstp qword [esp + 0x3c]
movsd xmm0, qword [esp + 0x3c]
xorps xmm1, xmm1
add esp, 0x1c
comisd xmm1, xmm0
ja 0x1026bfdd
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 0x1026bfe1
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 0x1026bf10
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 + 0x18]
movsd xmm3, qword [eax + 8]
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 + 0x28]
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 0x1026c543
movsd xmm0, qword [ebp + 0x18]
subsd xmm0, qword [ebp + 0x10]
movsd qword [ebp + 0x18], xmm0
nop dword [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 xmm0, qword [esp + 0x60]
movaps xmm1, xmm0
movsd xmm2, qword [0x1039ae68]
subsd xmm1, qword [ebp + 0x10]
divsd xmm1, qword [ebp + 0x18]
comisd xmm2, xmm1
movsd qword [esp + 0x18], xmm1
jbe 0x1026c530
comisd xmm1, xmmword [0x1039ae70]
jbe 0x1026c530
movsd xmm2, qword [esp + 0x10]
movsd xmm5, qword [0x10399988]
comisd xmm5, xmm2
movsd xmm6, qword [0x10399a18]
jbe 0x1026c12a
xorps xmm2, xmm2
movsd qword [esp + 0x10], xmm2
movsd xmm4, qword [0x103878b0]
comisd xmm5, xmm1
xorps xmm3, xmm3
jbe 0x1026c143
xorps xmm1, xmm1
movsd qword [esp + 0x18], xmm1
jmp 0x1026c168
comisd xmm2, xmm6
jbe 0x1026c10e
movsd xmm4, qword [0x103878b0]
movaps xmm2, xmm4
movsd qword [esp + 0x10], xmm2
jmp 0x1026c116
comisd xmm1, xmm6
jbe 0x1026c154
movaps xmm1, xmm4
movsd qword [esp + 0x18], xmm1
jmp 0x1026c168
ucomisd xmm1, xmm3
lahf
test ah, 0x44
jnp 0x1026c168
ucomisd xmm1, xmm4
lahf
test ah, 0x44
jp 0x1026c18e
mov ecx, dword [esi + 4]
lea eax, [esp + 0x80]
sub esp, 8
movsd qword [esp], xmm1
push eax
call fcn.1020baa0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x60], xmm0
movsd xmm0, qword [esp + 0x60]
mov eax, dword [esi + 4]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x2c], xmm0
movsd xmm0, qword [esp + 0x68]
cvtpd2ps xmm0, xmm0
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 0x1026c1f4
movups xmm0, xmmword [ecx]
xorps xmm1, xmm1
movups xmmword [esp + 0x60], xmm0
movsd qword [esp + 0x18], xmm1
jmp 0x1026c24d
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 0x1026c247
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 0x1026c255
movsd xmm1, qword [esp + 0x18]
movsd xmm5, qword [0x103878b0]
mov ecx, dword [esi + 8]
cmp byte [ecx + 0x1c6], 0
jbe 0x1026c286
movsd xmm0, qword [ecx + 0x158]
subsd xmm0, xmm1
movsd xmm1, qword [0x10399998]
andps xmm0, xmmword [0x10386870]
comisd xmm1, xmm0
ja 0x1026c530
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 0x1026c2ca
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x1026c2ca
movups xmm0, xmmword [edx]
xorps xmm1, xmm1
movups xmmword [esp + 0x60], xmm0
movsd qword [esp + 0x10], xmm1
jmp 0x1026c308
movsd xmm0, qword [edx + 0x20]
movsd xmm2, qword [edx + 0x28]
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm2, xmm2
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x1026c302
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x1026c302
movups xmm0, xmmword [edx + 0x20]
movaps xmm1, xmm5
movups xmmword [esp + 0x60], xmm0
movsd qword [esp + 0x10], xmm1
jmp 0x1026c308
movsd xmm1, qword [esp + 0x10]
xor edx, edx
mov dword [esp + 0xc], edx
cmp byte [ecx + 0x1c6], dl
jbe 0x1026c50c
xor edi, edi
nop dword [eax]
movsd xmm0, qword [edi + ecx]
ucomisd xmm0, qword [esp + 0x60]
lahf
test ah, 0x44
jp 0x1026c4ef
movsd xmm0, qword [edi + ecx + 8]
ucomisd xmm0, qword [esp + 0x68]
lahf
test ah, 0x44
jp 0x1026c4ef
movsd xmm0, qword [ecx + edx*8 + 0xf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1026c530
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 0x1026c3c7
movsd xmm0, qword [esp + 0x78]
subsd xmm0, qword [esp + 0x68]
andps xmm0, xmm3
comisd xmm4, xmm0
ja 0x1026c530
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 0x1026c4e8
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 0x1026c4e8
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 0x1026c475
movaps xmm1, xmm2
jmp 0x1026c478
movaps xmm1, xmm3
movsd xmm0, qword [esp + 0x40]
comisd xmm1, xmm0
jbe 0x1026c487
movaps xmm1, xmm0
movsd xmm4, qword [esp + 0x48]
comisd xmm1, xmm4
jbe 0x1026c496
movaps xmm1, xmm4
comisd xmm2, xmm3
ja 0x1026c49f
movaps xmm2, xmm3
comisd xmm0, xmm2
ja 0x1026c4a8
movaps xmm0, xmm2
comisd xmm4, xmm0
ja 0x1026c4b1
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 0x1026c530
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 0x1026c320
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 0x1026c090
cmp byte [ebp + 0x20], 0
je 0x1026c551
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