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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r10d, dword [rsp + 0xa0]
mov esi, edx
mov rbx, qword [0x1401a9bf8]
mov r8d, r10d
or r8d, 1
movaps xmmword [rsp + 0x30], xmm6
test r10b, 7
mov rax, qword [rbx + 0x3ef8]
cmovne r8d, r10d
mov ebp, r8d
or ebp, 0x20
test r8d, 0x3f0
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3ef8]
cmovne ebp, r8d
mov r14, qword [rbx + 0x3f00]
mov qword [rsp + 0x20], r15
bt ebp, 0xb
jae 0x1400ca15a
test r14, r14
je 0x1400ca15a
cmp qword [r14 + 0x378], r15
jne 0x1400ca15a
mov dil, 1
mov qword [rbx + 0x3f00], r15
jmp 0x1400ca15d
xor dil, dil
xor r13b, r13b
call fcn.140098c10
xor r9d, r9d
movzx r12d, al
mov dword [rsp + 0xa0], r12d
test al, al
je 0x1400ca1a3
cmp byte [rbx + 0x4a9c], r9b
je 0x1400ca329
cmp dword [rbx + 0x4abc], esi
jne 0x1400ca1b0
test byte [rbx + 0x4aa0], 2
jne 0x1400ca1b0
xor r12b, r12b
mov dword [rsp + 0xa0], r12d
jmp 0x1400ca1b0
cmp byte [rbx + 0x4a9c], r9b
je 0x1400ca329
bt ebp, 9
jae 0x1400ca329
test byte [rbx + 0x4aa0], 4
jne 0x1400ca329
mov r11, qword [0x1401a9bf8]
mov r8, qword [r11 + 0x3ef8]
cmp byte [r11 + 0x4917], r9b
je 0x1400ca216
cmp byte [r11 + 0x4916], r9b
jne 0x1400ca216
test byte [r11 + 0x4798], 4
jne 0x1400ca330
mov eax, dword [r11 + 0x48e0]
cmp eax, dword [r11 + 0x4794]
jne 0x1400ca330
test eax, eax
jne 0x1400ca2c6
jmp 0x1400ca330
mov eax, dword [r11 + 0x479c]
test al, 1
je 0x1400ca330
cmp qword [r11 + 0x3f00], r8
je 0x1400ca236
test al, al
jns 0x1400ca330
mov rcx, qword [r11 + 0x48d8]
test rcx, rcx
je 0x1400ca2a2
mov rcx, qword [rcx + 0x378]
test rcx, rcx
je 0x1400ca2a2
cmp byte [rcx + 0xb7], r9b
je 0x1400ca2a2
mov rax, qword [r8 + 0x378]
cmp rcx, rax
je 0x1400ca2a2
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x1400ca272
bt edx, 0x1a
jae 0x1400ca2a2
cmp qword [rax + 0x378], rcx
je 0x1400ca2a2
nop dword [rax + rax]
cmp rax, rcx
je 0x1400ca2a2
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x1400ca280
test dword [r11 + 0x4798], 0x100
je 0x1400ca330
test byte [r11 + 0x4798], 4
jne 0x1400ca330
mov eax, dword [r8 + 0x7c]
cmp dword [r11 + 0x4794], eax
jne 0x1400ca2c6
cmp byte [r8 + 0xb8], r9b
jne 0x1400ca330
mov dword [r11 + 0x3f44], esi
mov dl, 1
mov dword [rsp + 0xa0], edx
mov byte [r11 + 0x3f4c], r9b
test esi, esi
je 0x1400ca2f1
cmp dword [r11 + 0x3f48], esi
je 0x1400ca2f1
mov qword [r11 + 0x3f50], r9
movss xmm1, dword [rbx + 0x3f50]
movss xmm2, dword [0x1401120a0]
movaps xmm0, xmm1
subss xmm0, dword [rbx + 0x18]
comiss xmm2, xmm0
jb 0x1400ca337
comiss xmm1, xmm2
jb 0x1400ca337
xor edx, edx
mov dword [rbx + 0x4b18], esi
mov rcx, r15
mov r13b, 1
call fcn.1400a14f0
xor r9d, r9d
mov r11, qword [0x1401a9bf8]
mov edx, dword [rsp + 0xa0]
test dil, dil
je 0x1400ca343
mov qword [rbx + 0x3f00], r14
mov r12d, 0xffffffff
mov r10d, 1
xorps xmm6, xmm6
test dl, dl
je 0x1400ca383
bt ebp, 0xc
jae 0x1400ca383
mov eax, dword [rbx + 0x3f48]
cmp eax, esi
je 0x1400ca383
test eax, eax
je 0x1400ca383
xor dl, dl
mov r15d, esi
bt ebp, 0x15
mov dword [rsp + 0xa0], edx
cmovb r15d, r9d
jmp 0x1400ca60e
bt ebp, 0x15
mov r15d, esi
cmovb r15d, r9d
test dl, dl
je 0x1400ca60e
mov edi, r12d
mov r14d, r12d
test r10b, bpl
je 0x1400ca3d9
xor r8d, r8d
mov edx, r15d
xor ecx, ecx
call fcn.1400a2ab0
movzx edi, al
dec edi
cmp byte [r11 + 0x3766], 0
je 0x1400ca3d3
mov edx, r15d
mov ecx, 0x281
call fcn.1400a4810
test al, al
je 0x1400ca3d3
xor eax, eax
mov r14d, eax
mov r10d, 1
test bpl, 2
je 0x1400ca420
xor r8d, r8d
mov edx, r15d
mov ecx, r10d
call fcn.1400a2ab0
mov r10d, 1
test al, al
je 0x1400ca3fe
cmp edi, r12d
cmove edi, r10d
cmp byte [r11 + 0x3767], 0
je 0x1400ca420
mov edx, r15d
mov ecx, 0x282
call fcn.1400a4810
test al, al
je 0x1400ca420
cmp r14d, r12d
cmove r14d, r10d
test bpl, 4
je 0x1400ca469
xor r8d, r8d
mov edx, r15d
mov ecx, 2
call fcn.1400a2ab0
mov r10d, 2
test al, al
je 0x1400ca447
cmp edi, r12d
cmove edi, r10d
cmp byte [r11 + 0x3768], 0
je 0x1400ca469
mov edx, r15d
mov ecx, 0x283
call fcn.1400a4810
test al, al
je 0x1400ca469
cmp r14d, r12d
cmove r14d, r10d
bt ebp, 0x10
jae 0x1400ca496
cmp byte [rbx + 0xe24], 0
jne 0x1400ca5f2
cmp byte [rbx + 0xe25], 0
jne 0x1400ca5f2
cmp byte [rbx + 0xe26], 0
jne 0x1400ca5f2
cmp edi, r12d
je 0x1400ca56e
cmp dword [rbx + 0x3f58], esi
je 0x1400ca56e
bt ebp, 0x14
jb 0x1400ca4ca
lea edx, [rdi + 0x281]
mov rcx, r11
call fcn.1400929f0
mov dword [rax + 4], esi
mov dword [rax], esi
mov word [rax + 8], 0
test bpl, 0x60
je 0x1400ca507
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.140098ab0
mov dword [rbx + 0x3f84], edi
bt ebp, 0x12
jb 0x1400ca4f4
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.1400a6f20
mov rcx, qword [rsp + 0x20]
xor edx, edx
call fcn.1400a14f0
mov r11, qword [0x1401a9bf8]
test bpl, 0x10
jne 0x1400ca521
bt ebp, 8
jae 0x1400ca56e
movsxd rax, edi
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x1400ca56e
mov rdx, qword [rsp + 0x20]
mov ecx, 0
bt ebp, 0x11
mov r13b, 1
cmovb rdx, rcx
cmovae ecx, esi
call fcn.140098ab0
bt ebp, 0x12
jb 0x1400ca550
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.1400a6f20
mov dword [rbx + 0x3f84], edi
xor edx, edx
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.1400a14f0
mov r11, qword [0x1401a9bf8]
jmp 0x1400ca573
mov rdi, qword [rsp + 0x20]
test bpl, bpl
jns 0x1400ca5b8
cmp r14d, r12d
je 0x1400ca5b8
bt ebp, 0xa
jae 0x1400ca595
movsxd rax, r14d
movss xmm0, dword [rbx + rax*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jae 0x1400ca598
mov r13b, 1
bt ebp, 0x12
jb 0x1400ca5a8
mov rdx, rdi
mov ecx, esi
call fcn.1400a6f20
xor edx, edx
xor ecx, ecx
call fcn.140098ab0
mov r11, qword [0x1401a9bf8]
cmp dword [rbx + 0x3f58], esi
jne 0x1400ca5f2
bt ebp, 0xa
jae 0x1400ca5f2
movsxd rcx, dword [rbx + 0x3f84]
movss xmm0, dword [rbx + rcx*4 + 0x3778]
comiss xmm0, xmm6
jbe 0x1400ca5f2
mov r8d, 1
mov edx, r15d
call fcn.1400a2ab0
test al, al
je 0x1400ca5f2
mov r13b, 1
jmp 0x1400ca5f7
test r13b, r13b
je 0x1400ca5fe
mov byte [rbx + 0x4916], 1
mov edx, dword [rsp + 0xa0]
mov r10d, 1
xor r9d, r9d
cmp dword [rbx + 0x48e0], esi
jne 0x1400ca652
cmp byte [rbx + 0x4916], 0
jne 0x1400ca652
cmp byte [rbx + 0x4917], 0
je 0x1400ca652
mov eax, dword [rbx + 0x3f58]
test eax, eax
je 0x1400ca640
cmp eax, esi
je 0x1400ca640
mov rcx, qword [rsp + 0x20]
cmp eax, dword [rcx + 0x7c]
jne 0x1400ca652
bt ebp, 0x13
movzx edx, dl
cmovae edx, r10d
mov dword [rsp + 0xa0], edx
cmp dword [rbx + 0x48ec], esi
jne 0x1400ca74b
cmp dword [rbx + 0x48f0], esi
sete cl
je 0x1400ca70a
bt ebp, 0xa
jae 0x1400ca70a
movss xmm0, dword [r11 + 0x2ef0]
maxss xmm0, dword [r11 + 0x2f00]
movss xmm3, dword [rbx + 0x40]
movss xmm2, dword [rbx + 0x3c]
maxss xmm0, dword [r11 + 0x3510]
ucomiss xmm0, xmm6
movaps xmm1, xmm0
subss xmm1, dword [rbx + 0x18]
jp 0x1400ca6b0
jne 0x1400ca6b0
mov eax, r10d
jmp 0x1400ca705
comiss xmm1, xmm0
jb 0x1400ca6b9
xor eax, eax
jmp 0x1400ca705
comiss xmm6, xmm3
jb 0x1400ca6d7
comiss xmm2, xmm1
jbe 0x1400ca6cd
comiss xmm0, xmm2
jb 0x1400ca6cd
mov eax, r10d
jmp 0x1400ca705
mov qword [rsp + 0x28], r9
mov rax, r9
jmp 0x1400ca705
comiss xmm2, xmm1
jbe 0x1400ca6e1
mov eax, r12d
jmp 0x1400ca6ed
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
comiss xmm2, xmm0
ja 0x1400ca6ff
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si r12d, xmm0
sub r12d, eax
mov eax, r12d
test eax, eax
setg cl
cmp dword [rbx + 0x48e8], esi
je 0x1400ca716
test cl, cl
je 0x1400ca74b
mov rdi, qword [rsp + 0x20]
mov ecx, esi
mov rdx, rdi
mov r13b, 1
call fcn.140098ab0
mov eax, dword [rbx + 0x490c]
mov dword [rbx + 0x3f80], eax
bt ebp, 0x12
jb 0x1400ca744
mov rdx, rdi
mov ecx, esi
call fcn.1400a6f20
mov r11, qword [0x1401a9bf8]
xor r14b, r14b
cmp dword [rbx + 0x3f58], esi
jne 0x1400ca8c9
mov eax, dword [rbx + 0x3f80]
cmp eax, 1
jne 0x1400ca89a
cmp byte [rbx + 0x3f64], r14b
je 0x1400ca7a3
movss xmm1, dword [rbx + 0xe08]
movss xmm0, dword [rbx + 0xe0c]
mov rax, qword [rsp + 0x80]
subss xmm1, dword [rax]
subss xmm0, dword [rax + 4]
movss dword [rbx + 0x3f6c], xmm1
movss dword [rbx + 0x3f70], xmm0
movsxd r10, dword [rbx + 0x3f84]
cmp r10d, 0xffffffff
jne 0x1400ca7c6
xor edx, edx
xor ecx, ecx
call fcn.140098ab0
mov r12d, dword [rsp + 0xa0]
jmp 0x1400ca88b
cmp byte [r10 + r11 + 0xe10], r14b
je 0x1400ca7f3
lea ecx, [r10 + 0x281]
mov edx, r15d
call fcn.1400a4810
test al, al
je 0x1400ca7f3
mov r12d, dword [rsp + 0xa0]
mov r14b, 1
jmp 0x1400ca88b
mov r12d, dword [rsp + 0xa0]
test r12b, r12b
je 0x1400ca806
test bpl, 0x20
jne 0x1400ca80f
mov eax, ebp
shr eax, 6
test al, 1
je 0x1400ca882
cmp byte [rbx + 0x4a9c], r14b
jne 0x1400ca882
bt ebp, 8
jae 0x1400ca839
cmp byte [r10 + rbx + 0x3766], r14b
je 0x1400ca839
cmp word [rbx + r10*2 + 0x375c], 2
jne 0x1400ca839
mov dil, 1
jmp 0x1400ca83c
xor dil, dil
bt ebp, 0xa
jae 0x1400ca857
movss xmm0, dword [rbx + r10*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jb 0x1400ca857
mov r11b, 1
jmp 0x1400ca85a
xor r11b, r11b
lea ecx, [r10 + 0x281]
mov edx, r15d
call fcn.1400a4810
test dil, dil
jne 0x1400ca882
test r11b, r11b
jne 0x1400ca882
test al, al
movzx r13d, r13b
mov eax, 1
cmovne r13d, eax
xor edx, edx
xor ecx, ecx
call fcn.140098ab0
bt ebp, 0x12
jb 0x1400ca8bb
mov byte [rbx + 0x4916], 1
jmp 0x1400ca8bb
add eax, 0xfffffffe
cmp eax, 1
ja 0x1400ca8b3
cmp dword [rbx + 0x48ec], esi
je 0x1400ca8b3
xor edx, edx
xor ecx, ecx
call fcn.140098ab0
mov r12d, dword [rsp + 0xa0]
test r13b, r13b
je 0x1400ca8d1
mov byte [rbx + 0x3f67], 1
jmp 0x1400ca8d1
mov r12d, dword [rsp + 0xa0]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400ca8e1
mov byte [rax], r12b
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400ca8f1
mov byte [rax], r14b
mov rbx, qword [rsp + 0x88]
movzx eax, r13b
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret