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

Disassembly:
mov dword [rsp + 0x20], r9d
mov byte [rsp + 0x18], r8b
movsd qword [rsp + 0x10], xmm1
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rcx, qword [rsp + 0x60]
call fcn.1401cca30
mov word [rsp + 0x38], ax
movsx eax, word [rsp + 0x38]
test eax, eax
jle 0x1401ca8c9
movsd xmm0, qword [rsp + 0x68]
divsd xmm0, qword [0x140276928]
call fcn.1400d4010
movsd qword [rsp + 0x48], xmm0
movsx eax, byte [rsp + 0x70]
test eax, eax
jne 0x1401ca599
xor edx, edx
mov rcx, qword [rsp + 0x60]
call fcn.1401cca90
cvtsi2sd xmm0, rax
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x1401ca599
mov rcx, qword [rsp + 0x60]
call fcn.1401cc9b0
imul eax, eax, 0x3e8
mov rcx, qword [rsp + 0x88]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
call fcn.1401cc990
imul eax, eax, 0x3e8
mov rcx, qword [rsp + 0x90]
mov dword [rcx], eax
jmp 0x1401ca8c7
movsx eax, word [rsp + 0x38]
dec eax
mov word [rsp + 0x20], ax
jmp 0x1401ca5b4
movzx eax, word [rsp + 0x20]
dec ax
mov word [rsp + 0x20], ax
movsx eax, word [rsp + 0x20]
test eax, eax
jl 0x1401ca889
movzx edx, word [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.1401cca90
mov qword [rsp + 0x30], rax
movsx eax, byte [rsp + 0x70]
test eax, eax
je 0x1401ca86f
mov rax, qword [rsp + 0x30]
sub rax, 0x15180
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x48]
comisd xmm1, xmm0
jb 0x1401ca86f
movsx eax, word [rsp + 0x20]
dec eax
movzx edx, ax
mov rcx, qword [rsp + 0x60]
call fcn.1401ccd20
mov dword [rsp + 0x3c], eax
movsx eax, word [rsp + 0x20]
dec eax
movzx edx, ax
mov rcx, qword [rsp + 0x60]
call fcn.1401ca430
test eax, eax
je 0x1401ca639
mov byte [rsp + 0x29], 1
jmp 0x1401ca63e
mov byte [rsp + 0x29], 0
movzx eax, byte [rsp + 0x29]
mov byte [rsp + 0x2a], al
movzx edx, word [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.1401ccd20
mov dword [rsp + 0x40], eax
movzx edx, word [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.1401ca430
test eax, eax
je 0x1401ca674
mov byte [rsp + 0x27], 1
jmp 0x1401ca679
mov byte [rsp + 0x27], 0
movzx eax, byte [rsp + 0x27]
mov byte [rsp + 0x26], al
movsx eax, byte [rsp + 0x2a]
test eax, eax
je 0x1401ca69b
movsx eax, byte [rsp + 0x26]
test eax, eax
jne 0x1401ca69b
mov byte [rsp + 0x2b], 1
jmp 0x1401ca6a0
mov byte [rsp + 0x2b], 0
movzx eax, byte [rsp + 0x2b]
mov byte [rsp + 0x24], al
movsx eax, byte [rsp + 0x2a]
test eax, eax
jne 0x1401ca6c2
movsx eax, byte [rsp + 0x26]
test eax, eax
je 0x1401ca6c2
mov byte [rsp + 0x28], 1
jmp 0x1401ca6c7
mov byte [rsp + 0x28], 0
movzx eax, byte [rsp + 0x28]
mov byte [rsp + 0x25], al
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
test eax, eax
jl 0x1401ca7a3
mov eax, dword [rsp + 0x78]
and eax, 3
cmp eax, 1
jne 0x1401ca6f9
movsx eax, byte [rsp + 0x24]
test eax, eax
jne 0x1401ca70e
mov eax, dword [rsp + 0x78]
and eax, 3
cmp eax, 3
jne 0x1401ca725
movsx eax, byte [rsp + 0x25]
test eax, eax
je 0x1401ca725
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x1401ca79e
mov eax, dword [rsp + 0x78]
and eax, 3
cmp eax, 1
jne 0x1401ca73a
movsx eax, byte [rsp + 0x25]
test eax, eax
jne 0x1401ca74f
mov eax, dword [rsp + 0x78]
and eax, 3
cmp eax, 3
jne 0x1401ca766
movsx eax, byte [rsp + 0x24]
test eax, eax
je 0x1401ca766
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x1401ca79e
mov eax, dword [rsp + 0x78]
and eax, 0xc
cmp eax, 0xc
jne 0x1401ca789
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x1401ca79e
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x1401ca86f
mov eax, dword [rsp + 0x80]
and eax, 3
cmp eax, 1
jne 0x1401ca7bb
movsx eax, byte [rsp + 0x24]
test eax, eax
jne 0x1401ca7d3
mov eax, dword [rsp + 0x80]
and eax, 3
cmp eax, 3
jne 0x1401ca7ed
movsx eax, byte [rsp + 0x25]
test eax, eax
je 0x1401ca7ed
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x1401ca86f
mov eax, dword [rsp + 0x80]
and eax, 3
cmp eax, 1
jne 0x1401ca805
movsx eax, byte [rsp + 0x25]
test eax, eax
jne 0x1401ca81d
mov eax, dword [rsp + 0x80]
and eax, 3
cmp eax, 3
jne 0x1401ca834
movsx eax, byte [rsp + 0x24]
test eax, eax
je 0x1401ca834
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x1401ca86f
mov eax, dword [rsp + 0x80]
and eax, 0xc
cmp eax, 4
jne 0x1401ca85a
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x1401ca86f
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
cvtsi2sd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x48]
comisd xmm1, xmm0
jb 0x1401ca884
jmp 0x1401ca889
jmp 0x1401ca5a7
movzx edx, word [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.1401cc9d0
imul eax, eax, 0x3e8
mov rcx, qword [rsp + 0x88]
mov dword [rcx], eax
movzx edx, word [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.1401ca430
imul eax, eax, 0x3e8
mov rcx, qword [rsp + 0x90]
mov dword [rcx], eax
jmp 0x1401ca8fd
mov rcx, qword [rsp + 0x60]
call fcn.1401cc9b0
imul eax, eax, 0x3e8
mov rcx, qword [rsp + 0x88]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
call fcn.1401cc990
imul eax, eax, 0x3e8
mov rcx, qword [rsp + 0x90]
mov dword [rcx], eax
add rsp, 0x58
ret