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

Disassembly:
lea rbx, [rsp - 0x38]
cmp rbx, qword [r15 + 8]
jbe fcn.140095ad0
mov rsp, rbx
mov qword [rsp + 0x10], rdx
mov rax, qword [rdx + 0x88]
mov r8d, dword [rdx + 0x3c]
test r8d, r8d
je 0x140058dda
mov rcx, qword [rdx + 0x10]
mov ebx, dword [rdx + 0x5c]
movabs rsi, 0x47ae147ae147ae15
nop dword [rax]
cmp rax, 6
jl 0x140058a67
vxorpd xmm0, xmm0, xmm0
vmovsd xmm1, qword [r14 + 0x2c8bf0]
vblendvpd xmm2, xmm1, xmm0, xmm0
vblendvpd xmm1, xmm0, xmm1, xmm0
vmaxsd xmm1, xmm2, xmm1
vcmpunordsd xmm3, xmm2, xmm2
vblendvpd xmm1, xmm1, xmm2, xmm3
vmovsd xmm2, qword [0x1402db030]
vucomisd xmm1, xmm2
nop
jp 0x140058d6e
ja 0x140058d6e
mov r8d, dword [rdx + 0x4c]
lea r8, [r14 + r8*8]
test ebx, ebx
je 0x140058df8
mov dword [rsp + 0xc], ebx
vmovsd xmm1, qword [r14 + 0x2c8c18]
mov r9, qword [rdx + 0x18]
vblendvpd xmm2, xmm1, xmm0, xmm0
vblendvpd xmm0, xmm0, xmm1, xmm0
vmaxsd xmm0, xmm2, xmm0
vcmpunordsd xmm1, xmm2, xmm2
vblendvpd xmm0, xmm0, xmm2, xmm1
mov rdx, r8
mov r8, rcx
call fcn.140059b10
nop
mov rdx, qword [rsp + 0x10]
mov rcx, qword [rdx + 0x10]
nop
test eax, eax
jne 0x140058bd5
mov qword [rsp + 0x20], rcx
movabs rsi, 0x47ae147ae147ae15
mov rbx, rdx
mov edx, eax
nop dword [rax]
test edx, edx
jne 0x140058b78
mov rcx, qword [rbx + 0x10]
mov rax, rcx
mul rsi
mov r8, rcx
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 6
mov rdx, r8
shl rdx, 3
shl r8, 1
add rdx, r8
shr rdx, 2
mov r9, rcx
add r9, qword [rbx + 0x18]
mov r8, rcx
mov qword [rsp + 0x28], rcx
call fcn.14005a540
nop
mov rcx, qword [rsp + 0x28]
sub rcx, rax
and rcx, 0xfffffffffff00000
mov rdx, qword [rsp + 0x10]
mov eax, dword [rdx + 0x28]
cmp rcx, 0x800000
mov r8, 0x800000
cmovb rcx, r8
test eax, eax
je 0x140058de0
mov eax, dword [rdx + 0x28]
nop dword [rax]
test eax, eax
je 0x140058df2
mov r8, qword [rdx + 0x10]
mov rax, qword [r14 + rax*8 + 0x10]
mov r9, qword [rdx + 8]
shl r9, 1
sub rax, r9
and rax, 0xfffffffffff00000
cmp r8, rax
mov r9, rax
cmova r9, r8
cmp rcx, rax
cmova rcx, r9
mov qword [rdx + 0x10], rcx
add rsp, 0x38
sub dword [r15 + 0x10], 1
jle fcn.140116590
ret
mov dword [rsp + 0x34], 1
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0xc], ebx
vmovsd xmm0, qword [0x1402db038]
vmovsd xmm1, qword [0x1402db108]
mov rbx, rdx
vmovsd qword [rsp + 0x18], xmm1
call fcn.140059850
nop
vmovsd xmm1, qword [rsp + 0x18]
vsubsd xmm0, xmm1, xmm0
vmovsd xmm2, qword [0x1402db038]
vucomisd xmm2, xmm0
ja 0x140058ad5
mov edx, dword [rsp + 0x34]
push qword [rsp + 0x28]
pop qword [rsp + 0x20]
movabs rsi, 0x47ae147ae147ae15
mov rbx, qword [rsp + 0x10]
jmp 0x14005899c
mov ebx, dword [rsp + 0xc]
vxorpd xmm0, xmm0, xmm0
vmovsd xmm2, qword [r14 + 0x2c8bf0]
vblendvpd xmm3, xmm2, xmm0, xmm0
vblendvpd xmm2, xmm0, xmm2, xmm0
vmaxsd xmm2, xmm3, xmm2
vcmpunordsd xmm4, xmm3, xmm3
vblendvpd xmm2, xmm2, xmm3, xmm4
test ebx, ebx
je 0x140058dfe
vmovsd xmm3, qword [r14 + 0x2c8c18]
vblendvpd xmm4, xmm3, xmm0, xmm0
vblendvpd xmm3, xmm0, xmm3, xmm0
vmaxsd xmm3, xmm4, xmm3
vcmpunordsd xmm5, xmm4, xmm4
vblendvpd xmm3, xmm3, xmm4, xmm5
vaddsd xmm3, xmm2, xmm3
vblendvpd xmm4, xmm3, xmm1, xmm3
vblendvpd xmm1, xmm1, xmm3, xmm3
vminsd xmm1, xmm4, xmm1
vcmpunordsd xmm3, xmm4, xmm4
vblendvpd xmm1, xmm1, xmm4, xmm3
vucomisd xmm1, xmm0
ja 0x140058bef
mov edx, dword [rsp + 0x34]
push qword [rsp + 0x28]
pop qword [rsp + 0x20]
movabs rsi, 0x47ae147ae147ae15
mov rbx, qword [rsp + 0x10]
jmp 0x14005899c
mov rdx, rbx
nop dword [rax + rax]
cmp byte [rdx + 0xac], 0
je 0x140058be5
vmovsd xmm0, qword [0x1402db038]
vmovsd xmm1, qword [0x1402db108]
mov rcx, rdx
call fcn.140059850
nop
vmovsd xmm1, qword [0x1402db108]
vsubsd xmm0, xmm1, xmm0
vmovsd xmm1, qword [0x1402db038]
vucomisd xmm1, xmm0
jp 0x140058bc6
jbe 0x140058c8f
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x10]
jmp 0x1400589fc
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x28], rcx
nop
jmp 0x140058a78
mov rcx, qword [rsp + 0x20]
jmp 0x1400589fc
movabs rsi, 0x47ae147ae147ae15
mov rdx, qword [rsp + 0x10]
mov rax, qword [rdx + 0x50]
mov rcx, qword [rdx + 0x10]
lea r8, [rax + 0xa]
mov rax, rcx
mov rbx, rdx
mul rsi
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 6
imul r8, rax
lea rax, [r8 + 0xfffff]
and rax, 0xfffffffffff00000
test rax, rax
jl 0x140058d51
vxorpd xmm3, xmm3, xmm3
vcvtsi2sd xmm3, xmm3, rax
vdivsd xmm1, xmm2, xmm1
vmulsd xmm1, xmm3, xmm1
vucomisd xmm1, xmm1
jnp 0x140058ceb
mov rax, 0
inc qword [rbx + 0x88]
add rax, qword [rsp + 0x28]
lea rax, [rax + 0xfffff]
and rax, 0xfffffffffff00000
cmp rcx, rax
cmova rax, rcx
mov edx, dword [rsp + 0x34]
mov qword [rsp + 0x20], rax
jmp 0x14005899c
movabs rsi, 0x47ae147ae147ae15
mov rdx, qword [rsp + 0x10]
mov rcx, qword [rdx + 0x10]
mov rax, rcx
mov rbx, rdx
mul rsi
mov r8, rcx
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 6
mov rdx, r8
shl rdx, 3
shl r8, 1
add rdx, r8
shr rdx, 2
mov r9, rcx
add r9, qword [rbx + 0x18]
mov r8, rcx
mov qword [rsp + 0x20], rcx
call fcn.14005a540
nop
mov rcx, qword [rsp + 0x20]
jmp 0x1400589ed
vcvttsd2si rax, xmm1
movabs rdx, 0x8000000000000000
movabs rdi, 0x7fffffffffffffff
cmp rdx, rax
je 0x140058d9d
cmp rax, 1
jl 0x140058d85
cmp rdi, rax
jne 0x140058c60
vmovsd xmm2, qword [0x1402db028]
vdivsd xmm1, xmm1, xmm2
vcvttsd2si rax, xmm1
cmp rdx, rax
je 0x140058daf
nop word [rax + rax]
cmp rdi, rax
je 0x140058d91
shl rax, 1
jmp 0x140058c60
vmovsd xmm3, qword [0x1402db028]
shr rax, 1
vxorpd xmm4, xmm4, xmm4
vcvtsi2sd xmm4, xmm4, rax
vmulsd xmm3, xmm4, xmm3
jmp 0x140058c47
mov dword [rsp + 0x34], 1
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0xc], ebx
nop
jmp 0x140058a78
mov rax, 0
jmp 0x140058c60
mov rax, 0xffffffffffffffff
jmp 0x140058c60
vucomisd xmm1, xmm0
jbe 0x140058d0d
mov rax, rdi
jmp 0x140058d0d
vucomisd xmm1, xmm1
jp 0x140058dce
vucomisd xmm1, xmm0
nop
jbe 0x140058d3a
mov rax, rdi
jmp 0x140058d3a
mov rax, 0
jmp 0x140058d3a
call fcn.1401079b0
nop
mov qword [rsp + 0x20], rcx
lea rdx, [r14 + 0x1d8a78]
call fcn.14011f360
nop
call fcn.1401079b0
nop
call fcn.1401079b0
nop
mov ecx, dword [rsp + 0x34]
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x10]
call fcn.1401079b0
nop
int3