Function at 0x14005ae90
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 0x14005aee7
vmovss xmm1, dword [rcx + 4]
vxorps xmm0, xmm0, xmm0
vcomiss xmm1, xmm0
jb 0x14005b47a
vsubss xmm0, xmm1, xmm2
vmaxss xmm0, xmm0, dword [0x14008e428]
vmovss dword [rcx + 4], xmm0
vzeroupper
mov rsi, qword [rsp + 0x58]
vmovaps xmm7, xmmword [rsp + 0x20]
add rsp, 0x40
pop rdi
ret
mov qword [rsp + 0x50], rbx
mov rbx, rsi
vmovaps xmmword [rsp + 0x30], xmm6
cmp rsi, 1
jbe 0x14005af11
lea r9, [0x14005ae70]
mov r8d, 0xc
mov rdx, rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
vmovss xmm6, dword [0x14008e428]
vxorps xmm5, xmm5, xmm5
vcomiss xmm7, xmm5
mov r8d, 1
jbe 0x14005b041
mov ecx, r8d
cmp r8d, esi
jge 0x14005b041
vmovss xmm0, dword [rdi + 4]
lea rdx, [rcx*2 + 1]
add rdx, rcx
lea rdx, [rdi + rdx*4]
nop dword [rax]
vcomiss xmm0, dword [rdx]
ja 0x14005af65
inc r8d
inc rcx
add rdx, 0xc
cmp rcx, rbx
jl 0x14005af50
cmp r8d, esi
jge 0x14005af80
lea rax, [rcx + rcx*2]
vmovss xmm1, dword [rdi + rax*4 + 4]
vcomiss xmm1, xmm5
jb 0x14005af80
vsubss xmm1, xmm0, xmm1
jmp 0x14005af84
vsubss xmm1, xmm0, xmm6
vcomiss xmm1, xmm5
jbe 0x14005b041
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm4, xmm4, r8d
xor r9d, r9d
vdivss xmm0, xmm7, xmm4
vminss xmm3, xmm0, xmm1
cmp rcx, 4
jl 0x14005b001
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 0x14005afc0
cmp r9, rcx
jge 0x14005b032
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 0x14005b01b
vfnmadd231ss xmm7, xmm3, xmm4
vcomiss xmm7, xmm5
ja 0x14005af30
xor r8d, r8d
vmovaps xmm4, xmm5
test esi, esi
jle 0x14005b25a
cmp esi, 0x10
jb 0x14005b25a
and esi, 0xfffffff0
lea r9d, [r8 + 2]
vxorps xmm3, xmm3, xmm3
vxorps xmm4, xmm4, xmm4
lea rdx, [rdi + 0x10]
nop dword [rax]
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 0x14005b070
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 0x14005b366
mov rax, rbx
sub rax, r8
cmp rax, 4
jl 0x14005b32a
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 0x14005b2a0
cmp r8, rbx
jge 0x14005b366
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 0x14005b33f
vcomiss xmm4, xmm5
jbe 0x14005b46f
xor edx, edx
cmp rbx, 4
jl 0x14005b426
lea rcx, [rdi + 4]
vcomiss xmm4, xmm5
jbe 0x14005b46f
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 0x14005b46f
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 0x14005b46f
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 0x14005b46f
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 0x14005b380
cmp rdx, rbx
jge 0x14005b465
lea rcx, [rdx*2 + 1]
add rcx, rdx
lea rcx, [rdi + rcx*4]
vcomiss xmm4, xmm5
jbe 0x14005b46f
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 0x14005b43a
vcomiss xmm4, xmm5
ja 0x14005b370
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