Function at 0x14023570c
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, 0x40
mov r12, qword [rcx + 8]
mov rax, rcx
mov rbx, qword [rsp + 0xa0]
xor r14d, r14d
mov r11, r8
mov qword [rsp + 0x20], r12
mov r10, qword [rax]
mov rdi, qword [rax + 0x10]
mov rcx, qword [rbx + 0x20]
mov qword [rsp + 0x88], rcx
mov rbp, qword [r10 + 8]
movzx eax, byte [rdi + 0x10]
mov r15, qword [r10]
movsxd r10, dword [rbx]
imul rsi, rax, 0x68
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rbp
mov dword [rax], r14d
mov qword [rdi], rdx
mov rcx, qword [rbx + 8]
test r10d, r10d
jle 0x1402357d6
mov r14, qword [rsp + 0xb8]
add rcx, 5
mov r8d, r10d
movsxd rax, dword [rcx + 3]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x20]
mov byte [rcx], 0
mov rax, qword [rdx + 0x28]
and rax, r11
cmp rax, qword [rdx + 0x28]
jne 0x1402357c9
test word [rdx + 0x14], r9w
jne 0x1402357c9
test r14, r14
jne 0x1402357c6
mov al, byte [rdx + 0x17]
sub al, 0x49
cmp al, 1
jbe 0x1402357c9
mov byte [rcx], 1
add rcx, 0xc
sub r8, 1
jne 0x140235794
xor r14d, r14d
mov rcx, qword [rsp + 0x88]
lea r13, [r10*8]
mov r8, r13
mov qword [rsp + 0x38], r10
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbx + 0x30], r14
movabs rax, 0x546d42aea2879f2e
mov qword [rbx + 0x40], rax
mov dword [rbx + 0x28], r14d
mov dword [rbx + 0x3c], r14d
mov qword [rbx + 0x48], 0x19
mov dword [rbx + 0x50], r14d
mov rax, qword [rsi + rbp + 0x58]
mov qword [rbx + 0x58], rax
mov dword [rbx + 0x78], r14d
mov rbp, qword [rsi + rbp + 0x28]
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x140235847
mov rcx, qword [r15]
cmp qword [rax], rcx
je 0x140235847
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140235839
mov r12, qword [rax + 0x10]
mov rdx, rbx
mov rax, qword [r15]
mov rcx, r12
inc dword [rax + 0x48]
mov rax, qword [r12]
call qword [rax + 0x18]
mov esi, eax
mov rax, qword [r15]
dec dword [rax + 0x48]
test esi, esi
je 0x1402358a1
cmp esi, 0x13
je 0x1402358a1
cmp esi, 7
jne 0x14023587e
mov rcx, qword [r15]
call fcn.140204b18
jmp 0x1402358a1
mov r8, qword [r12 + 0x10]
test r8, r8
jne 0x140235892
mov ecx, esi
call fcn.1401ed88c
mov r8, rax
lea rdx, [0x140327230]
mov rcx, r15
call fcn.1401ed934
mov rax, qword [rbp + 0x50]
cmp byte [rax + 0x1d], r14b
je 0x1402358f5
mov rax, qword [r15]
mov r14d, dword [rax + 0x28]
xor eax, eax
mov ebp, eax
test r14d, r14d
jle 0x1402358ce
mov edx, ebp
mov rcx, r15
call fcn.1401e8d6c
inc ebp
cmp ebp, r14d
jl 0x1402358bb
xor eax, eax
cmp dword [r15 + 0x80], eax
je 0x1402358f2
mov ebp, eax
test r14d, r14d
jle 0x1402358f2
mov r8d, ebp
xor edx, edx
mov rcx, r15
call fcn.1401e4198
inc ebp
cmp ebp, r14d
jl 0x1402358de
xor r14d, r14d
mov rcx, qword [r12 + 0x10]
call fcn.1401825f0
mov qword [r12 + 0x10], r14
test esi, esi
je 0x140235914
cmp esi, 0x13
cmove esi, r14d
jmp 0x140235c8b
mov rcx, qword [rdi + 0x48]
mov r8, r13
xor edx, edx
or esi, 0xffffffff
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea r8d, [rsi + 0x21]
lea rcx, [rdi + 0x18]
call sub.VCRUNTIME140.dll_memset
mov r13, qword [rsp + 0x38]
xor r9d, r9d
mov rax, qword [rbx + 8]
mov r10d, r9d
test r13, r13
jle 0x140235a68
lea rbp, [rax + 5]
mov r11d, r9d
mov rax, qword [rsp + 0x88]
movsxd rcx, dword [rax + r11*8]
lea r8d, [rcx - 1]
test r8d, r8d
js 0x140235a55
cmp r8d, r13d
jge 0x140235b77
movsxd rax, dword [rbp + 3]
test eax, eax
js 0x140235b77
mov rdx, qword [rsp + 0x20]
cmp eax, dword [rdx + 0x14]
jge 0x140235b77
mov r9, rcx
xor edx, edx
mov rcx, qword [rdi + 0x48]
cmp qword [rcx + r9*8 - 8], rdx
jne 0x140235b77
cmp byte [rbp], dl
je 0x140235b77
imul rdx, rax, 0x38
mov rax, qword [rsp + 0x20]
add rdx, qword [rax + 0x20]
mov rax, qword [rdx + 0x28]
or qword [rdi], rax
mov eax, r8d
cmp r8d, esi
mov qword [rcx + r9*8 - 8], rdx
cmovle eax, esi
xor r9d, r9d
mov esi, eax
mov rax, qword [rsp + 0x88]
cmp byte [rax + r11*8 + 4], r9b
je 0x140235a0c
cmp r10d, 0x10
jge 0x140235a02
movzx eax, word [rsp + 0xa8]
bt eax, r10d
jb 0x140235a02
movzx eax, word [rdi + 0x22]
bts eax, r8d
mov word [rdi + 0x22], ax
cmp byte [rdx + 0x17], 0x4a
jne 0x140235a0c
or dword [rdi + 0x1c], 2
mov ecx, r10d
mov eax, 1
shl eax, cl
mov ecx, r9d
cmp r10d, 0x1f
cmovle ecx, eax
test dword [rbx + 0x78], ecx
je 0x140235ac5
mov eax, dword [rdi + 0x30]
bts eax, r8d
mov dword [rdi + 0x30], eax
mov rcx, qword [rsp + 0xb0]
mov al, byte [rdx + 0x17]
sub al, 0x49
cmp al, 1
ja 0x140235a4d
cmp dword [rcx], r9d
jne 0x140235aea
mov rax, qword [rsp + 0x88]
inc r10d
inc r11
add rbp, 0xc
cmp r11, r13
jl 0x14023595b
mov r12d, 1
mov ecx, r9d
lea eax, [r12 + rsi]
mov word [rdi + 0x3c], ax
test esi, esi
js 0x140235a95
mov rax, qword [rdi + 0x48]
cmp qword [rax], r9
je 0x140235ba2
add ecx, r12d
add rax, 8
cmp ecx, esi
jle 0x140235a81
mov eax, dword [rbx + 0x28]
mov dword [rdi + 0x18], eax
mov eax, dword [rdi + 0x1c]
xor eax, dword [rbx + 0x38]
and eax, r12d
xor dword [rdi + 0x1c], eax
mov rax, qword [rbx + 0x30]
mov dword [rbx + 0x38], r9d
mov qword [rdi + 0x28], rax
cmp dword [rbx + 0x3c], r9d
je 0x140235bcb
mov eax, dword [rbx + 0x10]
jmp 0x140235bce
test byte [rdx + 0x14], 1
je 0x140235a33
mov rcx, qword [rsp + 0xb0]
and dword [rbx + 0x50], 0xfffffffe
mov dword [rbx + 0x3c], r9d
mov dword [rcx], 1
jmp 0x140235a3b
cmp dword [rbx + 0x38], r9d
je 0x140235b62
mov rdi, qword [rbx + 0x30]
test rdi, rdi
je 0x140235b5a
cmp dword [0x14033e0f0], r9d
je 0x140235b4e
mov rcx, qword [0x140343d60]
test rcx, rcx
je 0x140235b14
call qword [0x14033e170]
mov rcx, rdi
call qword [0x14033e128]
dec qword [0x140343cf8]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x140343cb0], rdx
call qword [0x14033e118]
mov rcx, qword [0x140343d60]
xor r9d, r9d
test rcx, rcx
je 0x140235b5a
call qword [0x14033e180]
jmp 0x140235b57
mov rcx, rdi
call qword [0x14033e118]
xor r9d, r9d
mov qword [rbx + 0x30], r9
mov dword [rbx + 0x38], r9d
mov rax, qword [rsp + 0xb8]
mov dword [rax], 1
xor eax, eax
jmp 0x140235c8d
mov rcx, qword [rsp + 0x30]
lea rdx, str._s.xBestIndex_malfunction
mov r8, qword [rsp + 0x28]
mov r8, qword [r8 + rcx + 0x28]
mov rcx, r15
mov r8, qword [r8]
call fcn.1401ed934
mov eax, 1
jmp 0x140235c8d
mov rcx, qword [rsp + 0x30]
lea rdx, str._s.xBestIndex_malfunction
mov r8, qword [rsp + 0x28]
mov r8, qword [r8 + rcx + 0x28]
mov rcx, r15
mov r8, qword [r8]
call fcn.1401ed934
mov eax, r12d
jmp 0x140235c8d
mov eax, r9d
mov byte [rdi + 0x20], al
mov word [rdi + 0x12], r9w
movsd xmm0, qword [rbx + 0x40]
call fcn.140204158
mov word [rdi + 0x14], ax
mov rcx, qword [rbx + 0x48]
call fcn.140204080
mov edx, dword [rdi + 0x38]
xor ebp, ebp
mov word [rdi + 0x16], ax
mov eax, edx
mov ecx, dword [rbx + 0x50]
bts edx, 0xc
btr eax, 0xc
and cl, r12b
mov rcx, qword [rsp + 0x80]
cmove edx, eax
mov dword [rdi + 0x38], edx
mov rdx, rdi
call fcn.140235fd8
mov esi, eax
test byte [rdi + 0x1c], r12b
je 0x140235c8b
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140235c87
cmp dword [0x14033e0f0], ebp
je 0x140235c7e
mov rcx, qword [0x140343d60]
test rcx, rcx
je 0x140235c47
call qword [0x14033e170]
mov rcx, rbx
call qword [0x14033e128]
sub qword [0x140343cf8], r12
mov rcx, rbx
movsxd rdx, eax
sub qword [0x140343cb0], rdx
call qword [0x14033e118]
mov rcx, qword [0x140343d60]
test rcx, rcx
je 0x140235c87
call qword [0x14033e180]
jmp 0x140235c87
mov rcx, rbx
call qword [0x14033e118]
and dword [rdi + 0x1c], 0xfffffffe
mov eax, esi
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret