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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
mov rbx, rcx
call fcn.140059260
xor edi, edi
nop dword [rax]
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 8]
call fcn.14002b250
test al, al
je 0x140059556
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 8]
call fcn.14002b250
test al, al
je 0x140059556
mov rcx, rbx
call fcn.1400597f0
mov rdx, qword [rbx + 0x38]
inc edi
mov rcx, qword [rbx + 0x80]
call fcn.14004b260
cmp edi, 5
jl 0x1400594e0
cmp edi, 0x64
jge 0x140059556
cmp byte [rbx + 0x88], 0
je 0x14005953a
cmp byte [rbx + 0x8a], 0
je 0x1400594e0
cmp byte [rbx + 0x89], 0
je 0x14005954c
cmp byte [rbx + 0x8b], 0
je 0x1400594e0
mov rax, qword [rbx + 0x60]
cmp dword [rax + 0x20], 0
je 0x1400594e0
mov r9, qword [rbx + 0x60]
movaps xmmword [rsp + 0x20], xmm6
cmp dword [r9 + 0x20], 0
jne 0x1400595a2
mov rcx, qword [rbx + 0xe0]
test rcx, rcx
jle 0x1400595a2
mov rax, qword [rbx + 0xd8]
test rax, rax
je 0x1400595cb
mov edx, dword [rax + 0x10]
test edx, edx
je 0x1400595a2
dec ecx
mov r8d, edx
imul rax, rcx, 0x186a0
mov ecx, edx
xor edx, edx
shr rcx, 1
add rax, rcx
div r8
mov dword [r9 + 0x20], eax
cmp byte [rbx + 0x88], 0
movsd xmm6, qword [0x140180de0]
je 0x140059612
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
jle 0x140059612
mov rax, qword [rbx + 0xa0]
test rax, rax
jne 0x1400595d2
call qword [0x14011aaa8]
int3
mov edx, dword [rax + 0x10]
test edx, edx
je 0x140059612
sub rcx, 1
xorps xmm6, xmm6
js 0x1400595e9
cvtsi2sd xmm6, rcx
jmp 0x1400595fe
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm6, rax
addsd xmm6, xmm6
mulsd xmm6, qword [0x140180e50]
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
divsd xmm6, xmm0
mov rax, qword [rbx + 0x60]
cmp dword [rax + 0x38], 0
jne 0x140059690
mov rdi, 0xfffffffffffffffc
lea rcx, [rbx + 8]
mov rdx, rdi
lea r8d, [rdi + 6]
call fcn.14002aff0
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 8]
call fcn.14002b250
test al, al
je 0x140059690
lea rdx, [rsp + 0x48]
lea rcx, [rbx + 8]
call fcn.14002b250
test al, al
je 0x140059690
movzx eax, word [rsp + 0x48]
mov r8d, 2
movzx ecx, word [rsp + 0x40]
shl ecx, 0x10
or eax, ecx
lea rcx, [rbx + 8]
sub rdi, rax
mov rdx, rdi
call fcn.14002aff0
mov rcx, rbx
call fcn.1400597f0
mov rcx, qword [rbx + 0x60]
mov eax, dword [rbx + 0x8c]
mov dword [rcx + 0x38], eax
cmp byte [rbx + 0x89], 0
je 0x1400597ce
cmp byte [rbx + 0x8b], 0
je 0x1400596e3
mov r8, qword [rbx + 0x60]
mov ecx, dword [r8 + 0x38]
test ecx, ecx
je 0x1400596e3
mov eax, dword [r8 + 0x20]
test eax, eax
je 0x1400596e3
imul rcx, rax
movabs rax, 0x4f8b588e368f0847
add rcx, 0xc350
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 0x10
mov dword [r8 + 0x1c], ecx
cmp byte [rbx + 0x89], 0
je 0x1400597ce
cmp byte [rbx + 0x8b], 0
je 0x1400597ce
cmp byte [rbx + 0x88], 0
je 0x1400597ce
cmp byte [rbx + 0x8a], 0
je 0x1400597ce
mov rdx, qword [rbx + 0x60]
mov r8d, dword [rdx + 0x40]
test r8d, r8d
je 0x1400597ce
cmp dword [rdx + 0x3c], 0
jne 0x1400597ce
mov r9d, dword [rdx + 0x38]
test r9d, r9d
je 0x1400597ce
mov rcx, qword [rbx + 0x40]
xorps xmm3, xmm3
test rcx, rcx
js 0x140059752
cvtsi2sd xmm3, rcx
jmp 0x140059767
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm3, rax
addsd xmm3, xmm3
movsd xmm2, qword [0x140180e08]
xorps xmm0, xmm0
mov eax, dword [rdx + 0x20]
xorps xmm1, xmm1
mulsd xmm6, qword [0x140180e18]
cvtsi2sd xmm0, r9
mulsd xmm3, xmm2
mulsd xmm6, xmm2
cvtsi2sd xmm1, r8
divsd xmm6, qword [0x140180e50]
divsd xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm3, xmm1
mulsd xmm0, qword [0x140180e18]
mulsd xmm0, xmm2
divsd xmm0, qword [0x140180e50]
subsd xmm3, xmm0
subsd xmm3, xmm6
cvttsd2si rax, xmm3
mov dword [rdx + 0x3c], eax
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret