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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rsi, qword [rsp + 0x80]
xor ebp, ebp
mov r10, qword [rcx]
mov r11, r8
mov rbx, qword [rcx + 0x18]
mov rdi, qword [rcx + 8]
movsxd r15, dword [rsi]
mov r14, qword [rsi + 0x20]
movzx eax, byte [rbx + 0x10]
mov r12, qword [r10]
imul r13, rax, 0x70
mov rax, qword [rsp + 0x90]
add r13, qword [r10 + 8]
lea r10d, [rbp + 1]
mov qword [rbx], rdx
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x80], r14
mov dword [rax], ebp
test r15d, r15d
jle 0x1400cc9d1
add rcx, 5
mov r8d, r15d
movsxd rax, dword [rcx + 3]
imul rdx, rax, 0x38
add rdx, qword [rdi + 0x20]
mov byte [rcx], bpl
mov rax, qword [rdx + 0x28]
and rax, r11
cmp rax, qword [rdx + 0x28]
jne 0x1400cc9c8
test word [rdx + 0x14], r9w
movzx eax, bpl
cmove eax, r10d
mov byte [rcx], al
add rcx, 0xc
sub r8, r10
jne 0x1400cc99d
mov r8, r15
xor edx, edx
shl r8, 3
mov rcx, r14
call fcn.140175ef0
mov qword [rsi + 0x30], rbp
movabs rax, 0x546d42aea2879f2e
mov qword [rsi + 0x40], rax
mov dword [rsi + 0x28], ebp
mov dword [rsi + 0x3c], ebp
mov qword [rsi + 0x48], Ordinal_32
mov dword [rsi + 0x50], ebp
mov rax, qword [r13 + 0x60]
mov qword [rsi + 0x58], rax
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1400cca2c
mov rax, qword [r12]
cmp qword [rcx], rax
je 0x1400cca2c
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x1400cca1e
mov r14, qword [rcx + 0x10]
mov rdx, rsi
mov rcx, r14
mov rax, qword [r14]
call qword [rax + Ordinal_26]
mov edi, eax
test eax, eax
je 0x1400cca79
cmp eax, 0x13
je 0x1400cca79
cmp eax, 7
jne 0x1400cca57
mov rcx, qword [r12]
call fcn.1400603cc
jmp 0x1400cca79
mov r8, qword [r14 + 0x10]
test r8, r8
jne 0x1400cca6a
mov ecx, edi
call fcn.1400d99bc
mov r8, rax
lea rdx, [0x1401e8edc]
mov rcx, r12
call fcn.140062934
mov rcx, qword [r14 + 0x10]
call fcn.14005fce0
xor r11d, r11d
mov qword [r14 + 0x10], r11
test edi, edi
je 0x1400cca99
cmp edi, 0x13
cmove edi, r11d
jmp 0x1400ccca4
or ebp, 0xffffffff
mov edi, r11d
test r15d, r15d
jle 0x1400ccb08
cmp r15d, 2
jb 0x1400ccb08
lea rdx, [rbx + 0x38]
mov r9, qword [rdx]
lea eax, [r15 - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
cmp r9, rdx
ja 0x1400ccac6
cmp rax, rdx
jae 0x1400ccb08
mov eax, r15d
and eax, 0x80000001
jge 0x1400ccadc
mov ecx, 1
sub eax, ecx
or eax, 0xfffffffe
add eax, ecx
mov edx, r15d
sub edx, eax
add edi, 2
cmp edi, edx
jl 0x1400ccae1
lea eax, [rdx + 1]
mov rcx, r9
cdq
sub eax, edx
xor edx, edx
sar eax, 1
movsxd r8, eax
shl r8, 4
and r8, 0xfffffffffffffff8
call fcn.140175ef0
xor r11d, r11d
movsxd rcx, edi
mov edi, 1
cmp rcx, r15
jge 0x1400ccb22
mov rax, qword [rbx + 0x38]
mov qword [rax + rcx*8], r11
add rcx, rdi
jmp 0x1400ccb10
mov word [rbx + 0x1e], r11w
mov r9d, r11d
mov rax, qword [rsi + 8]
test r15d, r15d
jle 0x1400ccc2a
lea r8, [rax + 5]
mov rcx, r11
mov rax, qword [rsp + 0x80]
movsxd r10, dword [rax + rcx*8]
lea edx, [r10 - 1]
test edx, edx
js 0x1400ccc17
cmp edx, r15d
jge 0x1400ccc6e
movsxd rax, dword [r8 + 3]
test eax, eax
js 0x1400ccc6e
mov r11, qword [rsp + 0x68]
cmp eax, dword [r11 + 0x14]
jge 0x1400ccc6e
mov rdi, qword [rbx + 0x38]
mov r11, r10
cmp qword [rdi + r10*8 - 8], 0
jne 0x1400ccc6e
cmp byte [r8], 0
je 0x1400ccc6e
imul r10, rax, 0x38
mov rax, qword [rsp + 0x68]
add r10, qword [rax + 0x20]
mov rax, qword [r10 + 0x28]
or qword [rbx], rax
mov eax, edx
cmp edx, ebp
mov qword [rdi + r11*8 - 8], r10
cmovle eax, ebp
xor r11d, r11d
mov ebp, eax
mov rax, qword [rsp + 0x80]
cmp byte [rax + rcx*8 + 4], r11b
je 0x1400ccbf2
cmp r9d, 0x10
jge 0x1400ccbf2
movzx eax, word [rsp + 0x88]
bt eax, r9d
jb 0x1400ccbea
movzx eax, word [rbx + 0x1e]
bts eax, edx
mov word [rbx + 0x1e], ax
mov rax, qword [rsp + 0x80]
mov edi, 1
test byte [r10 + 0x14], dil
je 0x1400ccc17
mov rax, qword [rsp + 0x90]
and dword [rsi + 0x50], 0xfffffffe
mov dword [rsi + 0x3c], r11d
mov dword [rax], edi
mov rax, qword [rsp + 0x80]
add r9d, edi
add rcx, rdi
add r8, 0xc
cmp rcx, r15
jl 0x1400ccb46
lea eax, [rdi + rbp]
mov ecx, r11d
mov word [rbx + 0x2c], ax
test ebp, ebp
js 0x1400ccc4b
mov rax, qword [rbx + 0x38]
cmp qword [rax], r11
je 0x1400ccc8e
add ecx, edi
add rax, 8
cmp ecx, ebp
jle 0x1400ccc3c
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x18], eax
mov al, byte [rsi + 0x38]
mov byte [rbx + 0x1c], al
mov rax, qword [rsi + 0x30]
mov dword [rsi + 0x38], r11d
mov qword [rbx + 0x20], rax
cmp dword [rsi + 0x3c], r11d
je 0x1400cccab
mov eax, dword [rsi + 0x10]
jmp 0x1400cccae
mov r8, qword [r13 + 0x28]
lea rdx, str._s.xBestIndex_malfunction
mov rcx, r12
mov r8, qword [r8]
call fcn.140062934
mov eax, 1
jmp 0x1400ccdef
mov r8, qword [r13 + 0x28]
lea rdx, str._s.xBestIndex_malfunction
mov rcx, r12
mov r8, qword [r8]
call fcn.140062934
mov eax, edi
jmp 0x1400ccdef
mov eax, r11d
movsd xmm0, qword [0x1401f5280]
mov byte [rbx + 0x1d], al
mov word [rbx + 0x12], r11w
movsd xmm1, qword [rsi + 0x40]
comisd xmm0, xmm1
movsd qword [rsp + 0x90], xmm1
jb 0x1400cccd8
movzx ecx, r11w
jmp 0x1400ccd40
movsd xmm0, qword [0x1401f5310]
comisd xmm0, xmm1
jb 0x1400ccd1f
movsd xmm0, qword [0x1401f5340]
xor eax, eax
comisd xmm1, xmm0
jb 0x1400ccd0d
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x1400ccd0d
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si rcx, xmm1
add rcx, rax
call fcn.1400639a4
movzx ecx, ax
jmp 0x1400ccd40
mov rcx, qword [rsp + 0x90]
mov eax, 0x3fe
shr rcx, 0x34
sub cx, ax
movzx eax, cx
shl ax, 2
add cx, ax
add cx, cx
mov word [rbx + 0x14], cx
mov rcx, qword [rsi + 0x48]
call fcn.1400639a4
mov edx, dword [rbx + 0x28]
mov word [rbx + 0x16], ax
mov eax, edx
mov ecx, dword [rsi + 0x50]
bts edx, 0xc
btr eax, 0xc
test dil, cl
cmove edx, eax
mov dword [rbx + 0x28], edx
mov rdx, rbx
mov rcx, qword [rsp + 0x60]
call fcn.1400cb4a8
xor ebp, ebp
mov esi, eax
cmp byte [rbx + 0x1c], bpl
je 0x1400ccded
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x1400ccde9
cmp dword [0x140213e00], ebp
je 0x1400ccde0
mov rcx, qword [0x14021db28]
test rcx, rcx
je 0x1400ccda4
call qword [0x140213e80]
mov rcx, rdi
call qword [0x140213e38]
mov ecx, 1
movsxd rdx, eax
sub qword [0x14021d8b8], rcx
mov rcx, rdi
sub qword [0x14021d870], rdx
call qword [0x140213e28]
mov rcx, qword [0x14021db28]
test rcx, rcx
je 0x1400ccde9
call qword [0x140213e90]
jmp 0x1400ccde9
mov rcx, rdi
call qword [0x140213e28]
mov byte [rbx + 0x1c], bpl
mov eax, esi
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret