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

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
movsxd rsi, edx
mov rdi, rcx
vmovaps xmmword [rsp + 0x20], xmm7
vmovaps xmm7, xmm2
cmp esi, 1
jne 0x140044358
vmovss xmm1, dword [rcx + 4]
vxorps xmm0, xmm0, xmm0
vcomiss xmm1, xmm0
jb 0x1400448ea
vsubss xmm0, xmm1, xmm2
vmaxss xmm0, xmm0, dword [0x140077894]
vmovss dword [rcx + 4], xmm0
jmp 0x1400448ea
mov qword [rsp + 0x50], rbx
mov rbx, rsi
vmovaps xmmword [rsp + 0x30], xmm6
cmp rsi, 1
jbe 0x140044382
lea r9, [0x1400442f0]
mov r8d, 0xc
mov rdx, rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
vmovss xmm6, dword [0x140077894]
vxorps xmm5, xmm5, xmm5
vcomiss xmm7, xmm5
mov r8d, 1
jbe 0x1400444b1
mov ecx, r8d
cmp r8d, esi
jge 0x1400444b1
vmovss xmm0, dword [rdi + 4]
lea rdx, [rcx*2 + 1]
add rdx, rcx
lea rdx, [rdi + rdx*4]
nop
vcomiss xmm0, dword [rdx]
ja 0x1400443d5
inc r8d
inc rcx
add rdx, 0xc
cmp rcx, rbx
jl 0x1400443c0
cmp r8d, esi
jge 0x1400443f0
lea rax, [rcx + rcx*2]
vmovss xmm1, dword [rdi + rax*4 + 4]
vcomiss xmm1, xmm5
jb 0x1400443f0
vsubss xmm1, xmm0, xmm1
jmp 0x1400443f4
vsubss xmm1, xmm0, xmm6
vcomiss xmm1, xmm5
jbe 0x1400444b1
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm4, xmm4, r8d
xor r9d, r9d
vdivss xmm0, xmm7, xmm4
vminss xmm3, xmm0, xmm1
cmp rcx, 4
jl 0x140044471
lea rdx, [rcx - 4]
shr rdx, 2
lea rax, [rdi + 0x10]
inc rdx
lea r9, [rdx*4]
nop
vmovss xmm0, dword [rax - 0xc]
vmovss xmm2, dword [rax]
lea rax, [rax + 0x30]
vsubss xmm1, xmm0, xmm3
vmovss dword [rax - 0x3c], xmm1
vmovss xmm1, dword [rax - 0x24]
vsubss xmm0, xmm2, xmm3
vmovss dword [rax - 0x30], xmm0
vsubss xmm0, xmm1, xmm3
vmovss xmm1, dword [rax - 0x18]
vmovss dword [rax - 0x24], xmm0
vsubss xmm0, xmm1, xmm3
vmovss dword [rax - 0x18], xmm0
sub rdx, 1
jne 0x140044430
cmp r9, rcx
jge 0x1400444a2
lea rax, [r9*2 + 1]
add rax, r9
lea rdx, [rdi + rax*4]
mov rax, rcx
sub rax, r9
vmovss xmm0, dword [rdx]
lea rdx, [rdx + 0xc]
vsubss xmm1, xmm0, xmm3
vmovss dword [rdx - 0xc], xmm1
sub rax, 1
jne 0x14004448b
vfnmadd231ss xmm7, xmm3, xmm4
vcomiss xmm7, xmm5
ja 0x1400443a1
xor r8d, r8d
vmovaps xmm4, xmm5
test esi, esi
jle 0x1400446ca
cmp esi, 0x10
jb 0x1400446ca
and esi, 0xfffffff0
lea rdx, [rdi + 0x10]
vxorps xmm3, xmm3, xmm3
vxorps xmm4, xmm4, xmm4
mov r9d, 2
nop
vmovss xmm1, dword [rdx - 0xc]
vinsertps xmm1, xmm1, dword [rdx], 0x10
vinsertps xmm1, xmm1, dword [rdx + 0xc], 0x20
vinsertps xmm1, xmm1, dword [rdx + 0x18], 0x30
vmovss xmm0, dword [rdx + 0x24]
vinsertps xmm0, xmm0, dword [rdx + 0x30], 0x10
vinsertps xmm0, xmm0, dword [rdx + 0x3c], 0x20
vinsertps xmm0, xmm0, dword [rdx + 0x48], 0x30
vinsertf128 ymm1, ymm1, xmm0, 1
vcvttps2dq ymm0, ymm1
vcvtdq2ps ymm2, ymm0
vsubps ymm1, ymm1, ymm2
vaddps ymm3, ymm1, ymm3
vperm2f128 ymm1, ymm2, ymm2, 1
vpermilps xmm0, xmm2, 0xe5
movsxd rax, r8d
lea rax, [rax + rax*2]
vmovss dword [rdi + rax*4 + 4], xmm2
movsxd rax, r9d
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 - 8], xmm0
vunpckhps xmm0, xmm0, xmm0
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 4], xmm0
vunpckhps xmm0, xmm0, xmm0
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 0x10], xmm0
vpermilps xmm0, xmm1, 0xe5
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 0x1c], xmm1
vunpckhps xmm1, xmm0, xmm0
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 0x28], xmm0
vunpckhps xmm0, xmm1, xmm1
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 0x34], xmm1
vmovss xmm1, dword [rdx + 0x54]
vinsertps xmm1, xmm1, dword [rdx + 0x60], 0x10
vinsertps xmm1, xmm1, dword [rdx + 0x6c], 0x20
vinsertps xmm1, xmm1, dword [rdx + 0x78], 0x30
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 0x40], xmm0
vmovss xmm0, dword [rdx + 0x84]
vinsertps xmm0, xmm0, dword [rdx + 0x90], 0x10
vinsertps xmm0, xmm0, dword [rdx + 0x9c], 0x20
vinsertps xmm0, xmm0, dword [rdx + 0xa8], 0x30
vinsertf128 ymm1, ymm1, xmm0, 1
lea rcx, [rax + rax*2]
movsxd rax, r9d
vcvttps2dq ymm0, ymm1
vcvtdq2ps ymm2, ymm0
vmovss dword [rdi + rcx*4 + 0x4c], xmm2
lea rcx, [rax + rax*2]
movsxd rax, r9d
vsubps ymm1, ymm1, ymm2
vpermilps xmm0, xmm2, 0xe5
vmovss dword [rdi + rcx*4 + 0x58], xmm0
lea rcx, [rax + rax*2]
movsxd rax, r9d
vunpckhps xmm0, xmm0, xmm0
vmovss dword [rdi + rcx*4 + 0x64], xmm0
vunpckhps xmm0, xmm0, xmm0
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 0x70], xmm0
vaddps ymm4, ymm1, ymm4
vperm2f128 ymm1, ymm2, ymm2, 1
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 0x7c], xmm1
vpermilps xmm0, xmm1, 0xe5
vunpckhps xmm1, xmm0, xmm0
lea rcx, [rax + rax*2]
vmovss dword [rdi + rcx*4 + 0x88], xmm0
movsxd rax, r9d
lea rdx, [rdx + 0xc0]
add r8d, 0x10
vunpckhps xmm0, xmm1, xmm1
lea rcx, [rax + rax*2]
movsxd rax, r9d
vmovss dword [rdi + rcx*4 + 0x94], xmm1
add r9d, 0x10
lea rcx, [rax + rax*2]
vmovss dword [rdi + rcx*4 + 0xa0], xmm0
cmp r8d, esi
jl 0x1400444e0
vaddps ymm0, ymm4, ymm3
vhaddps ymm1, ymm0, ymm0
vhaddps ymm2, ymm1, ymm1
vextractf128 xmm0, ymm2, 1
vaddps xmm4, xmm0, xmm2
movsxd r8, r8d
cmp r8, rbx
jge 0x1400447d6
mov rax, rbx
sub rax, r8
cmp rax, 4
jl 0x14004479a
lea rcx, [r8 + 2]
mov rdx, rbx
sub rdx, r8
lea rcx, [r8 + rcx*2]
sub rdx, 4
lea rcx, [rdi + rcx*4]
shr rdx, 2
inc rdx
lea r8, [r8 + rdx*4]
nop word [rax + rax]
vmovss xmm0, dword [rcx - 0xc]
vmovss xmm2, dword [rcx]
lea rcx, [rcx + 0x30]
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vsubss xmm0, xmm0, xmm1
vmovss dword [rcx - 0x3c], xmm1
vaddss xmm3, xmm4, xmm0
vxorps xmm1, xmm1, xmm1
vcvttss2si eax, xmm2
vcvtsi2ss xmm1, xmm1, eax
vsubss xmm0, xmm2, xmm1
vaddss xmm4, xmm3, xmm0
vmovss xmm0, dword [rcx - 0x24]
vmovss dword [rcx - 0x30], xmm1
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vsubss xmm0, xmm0, xmm1
vaddss xmm2, xmm4, xmm0
vmovss xmm0, dword [rcx - 0x18]
vmovss dword [rcx - 0x24], xmm1
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vsubss xmm0, xmm0, xmm1
vmovss dword [rcx - 0x18], xmm1
vaddss xmm4, xmm2, xmm0
sub rdx, 1
jne 0x140044710
cmp r8, rbx
jge 0x1400447d6
lea rcx, [r8*2 + 1]
mov rdx, rbx
add rcx, r8
sub rdx, r8
lea rcx, [rdi + rcx*4]
vmovss xmm0, dword [rcx]
lea rcx, [rcx + 0xc]
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vsubss xmm0, xmm0, xmm1
vmovss dword [rcx - 0xc], xmm1
vaddss xmm4, xmm4, xmm0
sub rdx, 1
jne 0x1400447af
vcomiss xmm4, xmm5
jbe 0x1400448df
xor edx, edx
cmp rbx, 4
jl 0x140044896
lea rcx, [rdi + 4]
vcomiss xmm4, xmm5
jbe 0x1400448df
vmovss xmm0, dword [rcx + 4]
vsubss xmm1, xmm0, dword [rcx]
vminss xmm3, xmm1, xmm6
vaddss xmm2, xmm3, dword [rcx]
vsubss xmm4, xmm4, xmm3
vcomiss xmm4, xmm5
vmovss dword [rcx], xmm2
jbe 0x1400448df
vmovss xmm0, dword [rcx + 0x10]
vsubss xmm1, xmm0, dword [rcx + 0xc]
vminss xmm3, xmm1, xmm6
vaddss xmm2, xmm3, dword [rcx + 0xc]
vsubss xmm4, xmm4, xmm3
vcomiss xmm4, xmm5
vmovss dword [rcx + 0xc], xmm2
jbe 0x1400448df
vmovss xmm0, dword [rcx + 0x1c]
vsubss xmm1, xmm0, dword [rcx + 0x18]
vminss xmm3, xmm1, xmm6
vaddss xmm2, xmm3, dword [rcx + 0x18]
vsubss xmm4, xmm4, xmm3
vcomiss xmm4, xmm5
vmovss dword [rcx + 0x18], xmm2
jbe 0x1400448df
vmovss xmm0, dword [rcx + 0x28]
vsubss xmm1, xmm0, dword [rcx + 0x24]
vminss xmm3, xmm1, xmm6
vaddss xmm2, xmm3, dword [rcx + 0x24]
vmovss dword [rcx + 0x24], xmm2
add rcx, 0x30
lea rax, [rbx - 3]
add rdx, 4
vsubss xmm4, xmm4, xmm3
cmp rdx, rax
jl 0x1400447f0
cmp rdx, rbx
jge 0x1400448d5
lea rcx, [rdx*2 + 1]
add rcx, rdx
lea rcx, [rdi + rcx*4]
vcomiss xmm4, xmm5
jbe 0x1400448df
vmovss xmm0, dword [rcx + 4]
vsubss xmm1, xmm0, dword [rcx]
vminss xmm3, xmm1, xmm6
vaddss xmm2, xmm3, dword [rcx]
vmovss dword [rcx], xmm2
add rcx, 0xc
inc rdx
vsubss xmm4, xmm4, xmm3
cmp rdx, rbx
jl 0x1400448aa
vcomiss xmm4, xmm5
ja 0x1400447e0
mov rbx, qword [rsp + 0x50]
vmovaps xmm6, xmmword [rsp + 0x30]
vzeroupper
mov rsi, qword [rsp + 0x58]
vmovaps xmm7, xmmword [rsp + 0x20]
add rsp, 0x40
pop rdi
ret