Function at 0x14026f090
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 rdi, qword [rsp + 0xa0]
xor r15d, r15d
mov r10, qword [rcx]
mov rsi, r8
mov rbx, qword [rcx + 0x10]
movzx r11d, r9w
mov r13, qword [rcx + 8]
mov rax, qword [rdi + 0x20]
movsxd r14, dword [rdi]
mov rbp, qword [r10]
mov qword [rsp + 0x88], rax
movzx eax, byte [rbx + 0x10]
imul rax, rax, 0x68
mov qword [rsp + 0x28], rbp
add rax, qword [r10 + 8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0xa0], r14d
mov dword [rax], r15d
mov qword [rbx], rdx
mov r8, qword [rdi + 8]
test r14d, r14d
jle 0x14026f160
mov r10, qword [rsp + 0xb8]
add r8, 5
mov r9d, r14d
nop dword [rax]
movsxd rax, dword [r8 + 3]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x20]
mov byte [r8], r15b
mov rax, qword [rdx + 0x28]
and rax, rsi
cmp rax, qword [rdx + 0x28]
jne 0x14026f156
test word [rdx + 0x14], r11w
jne 0x14026f156
test r10, r10
jne 0x14026f152
movzx eax, byte [rdx + 0x17]
sub al, 0x49
cmp al, 1
jbe 0x14026f156
mov byte [r8], 1
add r8, 0xc
sub r9, 1
jne 0x14026f120
mov rcx, qword [rsp + 0x88]
lea r12, [r14*8]
mov r8, r12
mov qword [rsp + 0x30], r14
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsp + 0x20]
movabs rax, 0x546d42aea2879f2e
mov qword [rdi + 0x30], r15
mov dword [rdi + 0x28], r15d
mov dword [rdi + 0x3c], r15d
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x48], 0x19
mov dword [rdi + 0x50], r15d
mov rax, qword [rcx + 0x58]
mov qword [rdi + 0x58], rax
mov dword [rdi + 0x78], r15d
mov rax, qword [rcx + 0x28]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14026f1d5
mov rax, qword [rbp]
cmp qword [rcx], rax
je 0x14026f1d5
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14026f1c7
mov r14, qword [rcx + 0x10]
mov rdx, rdi
mov rax, qword [rbp]
mov rcx, r14
inc dword [rax + 0x48]
mov rax, qword [r14]
call qword [rax + 0x18]
mov rcx, qword [rbp]
mov esi, eax
dec dword [rcx + 0x48]
test eax, eax
je 0x14026f230
cmp eax, 0x13
je 0x14026f230
cmp eax, 7
jne 0x14026f20e
mov rcx, qword [rbp]
call fcn.14022b480
jmp 0x14026f230
mov r8, qword [r14 + 0x10]
test r8, r8
jne 0x14026f221
mov ecx, esi
call fcn.140172c10
mov r8, rax
lea rdx, [0x1402a1008]
mov rcx, rbp
call fcn.140205cd0
mov rbp, qword [r14 + 0x10]
test rbp, rbp
je 0x14026f294
cmp dword [0x140343050], r15d
je 0x14026f28b
mov rcx, qword [0x14034c0c0]
test rcx, rcx
je 0x14026f254
call qword [0x1403430d0]
mov rcx, rbp
call qword [0x140343088]
dec qword [0x14034c048]
mov rcx, rbp
movsxd rdx, eax
sub qword [0x14034c000], rdx
call qword [0x140343078]
mov rcx, qword [0x14034c0c0]
test rcx, rcx
je 0x14026f294
call qword [0x1403430e0]
jmp 0x14026f294
mov rcx, rbp
call qword [0x140343078]
mov qword [r14 + 0x10], r15
test esi, esi
je 0x14026f2a8
cmp esi, 0x13
cmove esi, r15d
jmp 0x14026f6de
mov rcx, qword [rbx + 0x48]
mov r8, r12
xor edx, edx
mov ebp, 0xffffffff
call sub.VCRUNTIME140.dll_memset
mov edx, dword [rsp + 0xa0]
xorps xmm0, xmm0
mov r10d, r15d
movups xmmword [rbx + 0x18], xmm0
movups xmmword [rbx + 0x28], xmm0
mov rax, qword [rdi + 8]
test edx, edx
jle 0x14026f3f8
movzx r14d, word [rsp + 0xa8]
lea rsi, [rax + 5]
mov rax, qword [rsp + 0x88]
mov r11, r15
mov r12, qword [rsp + 0x30]
nop dword [rax]
movsxd rcx, dword [rax + r11*8]
lea r8d, [rcx - 1]
test r8d, r8d
js 0x14026f3e5
movsxd rax, dword [rsi + 3]
cmp r8d, edx
jge 0x14026f4ff
test eax, eax
js 0x14026f4ff
cmp eax, dword [r13 + 0x14]
jge 0x14026f4ff
mov r9, rcx
mov rcx, qword [rbx + 0x48]
cmp qword [rcx + r9*8 - 8], r15
jne 0x14026f4ff
cmp byte [rsi], r15b
je 0x14026f4ff
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x20]
mov rax, qword [rdx + 0x28]
or qword [rbx], rax
mov rax, qword [rsp + 0x88]
cmp r8d, ebp
mov qword [rcx + r9*8 - 8], rdx
cmovg ebp, r8d
cmp byte [rax + r11*8 + 4], r15b
je 0x14026f397
cmp r10d, 0x10
jge 0x14026f38d
bt r14d, r10d
jb 0x14026f38d
movzx eax, word [rbx + 0x22]
bts eax, r8d
mov word [rbx + 0x22], ax
cmp byte [rdx + 0x17], 0x4a
jne 0x14026f397
or dword [rbx + 0x1c], 2
cmp r10d, 0x1f
jg 0x14026f3a9
mov ecx, r10d
mov eax, 1
shl eax, cl
jmp 0x14026f3ac
mov eax, r15d
test dword [rdi + 0x78], eax
je 0x14026f453
mov eax, dword [rbx + 0x30]
bts eax, r8d
mov dword [rbx + 0x30], eax
mov rcx, qword [rsp + 0xb0]
movzx eax, byte [rdx + 0x17]
sub al, 0x49
cmp al, 1
ja 0x14026f3da
cmp dword [rcx], r15d
jne 0x14026f478
mov rax, qword [rsp + 0x88]
mov edx, r12d
inc r10d
inc r11
add rsi, 0xc
cmp r11, r12
jl 0x14026f300
lea eax, [rbp + 1]
mov ecx, r15d
mov word [rbx + 0x3c], ax
test ebp, ebp
js 0x14026f423
mov rax, qword [rbx + 0x48]
nop word [rax + rax]
cmp qword [rax], r15
je 0x14026f4ff
inc ecx
add rax, 8
cmp ecx, ebp
jle 0x14026f410
mov eax, dword [rdi + 0x28]
mov dword [rbx + 0x18], eax
mov eax, dword [rbx + 0x1c]
xor eax, dword [rdi + 0x38]
and eax, 1
xor dword [rbx + 0x1c], eax
mov rax, qword [rdi + 0x30]
mov dword [rdi + 0x38], r15d
mov qword [rbx + 0x28], rax
cmp dword [rdi + 0x3c], r15d
je 0x14026f526
mov eax, dword [rdi + 0x10]
jmp 0x14026f529
test byte [rdx + 0x14], 1
je 0x14026f3bf
mov rcx, qword [rsp + 0xb0]
and dword [rdi + 0x50], 0xfffffffe
mov dword [rdi + 0x3c], r15d
mov dword [rcx], 1
jmp 0x14026f3c7
cmp dword [rdi + 0x38], r15d
je 0x14026f4ea
mov rbx, qword [rdi + 0x30]
test rbx, rbx
je 0x14026f4e2
cmp dword [0x140343050], r15d
je 0x14026f4d9
mov rcx, qword [0x14034c0c0]
test rcx, rcx
je 0x14026f4a2
call qword [0x1403430d0]
mov rcx, rbx
call qword [0x140343088]
dec qword [0x14034c048]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x14034c000], rdx
call qword [0x140343078]
mov rcx, qword [0x14034c0c0]
test rcx, rcx
je 0x14026f4e2
call qword [0x1403430e0]
jmp 0x14026f4e2
mov rcx, rbx
call qword [0x140343078]
mov qword [rdi + 0x30], r15
mov dword [rdi + 0x38], r15d
mov rax, qword [rsp + 0xb8]
mov dword [rax], 1
xor eax, eax
jmp 0x14026f6e0
mov r8, qword [rsp + 0x20]
lea rdx, str._s.xBestIndex_malfunction
mov rcx, qword [rsp + 0x28]
mov r8, qword [r8 + 0x28]
mov r8, qword [r8]
call fcn.140205cd0
mov eax, 1
jmp 0x14026f6e0
mov eax, r15d
movsd xmm0, qword [0x1402a8dc8]
mov byte [rbx + 0x20], al
mov word [rbx + 0x12], r15w
movsd xmm1, qword [rdi + 0x40]
comisd xmm0, xmm1
movsd qword [rsp + 0xb0], xmm1
jb 0x14026f553
movzx ecx, r15w
jmp 0x14026f5bb
movsd xmm0, qword [0x1402a8e90]
comisd xmm0, xmm1
jb 0x14026f59a
movsd xmm0, qword [0x1402a8ec0]
xor eax, eax
comisd xmm1, xmm0
jb 0x14026f588
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x14026f588
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si rcx, xmm1
add rcx, rax
call fcn.14022a510
movzx ecx, ax
jmp 0x14026f5bb
mov rcx, qword [rsp + 0xb0]
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 ecx, 0x28
mov rax, qword [rdi + 0x48]
cmp rax, 8
jae 0x14026f5ef
cmp rax, 2
jb 0x14026f63f
nop dword [rax]
nop dword [rax + rax]
add cx, 0xfff6
add rax, rax
cmp rax, 8
jb 0x14026f5e0
jmp 0x14026f62d
cmp rax, 0xff
jbe 0x14026f610
nop word [rax + rax]
add cx, 0x28
shr rax, 4
cmp rax, 0xff
ja 0x14026f600
cmp rax, 0xf
jbe 0x14026f62d
nop word [rax + rax]
add cx, 0xa
shr rax, 1
cmp rax, 0xf
ja 0x14026f620
and eax, 7
lea rdx, [0x1403438d0]
add cx, word [rdx + rax*2]
lea r15d, [rcx - 0xa]
mov ecx, dword [rbx + 0x38]
mov rdx, rbx
mov eax, ecx
mov word [rbx + 0x16], r15w
bts ecx, 0xc
btr eax, 0xc
test dword [rdi + 0x50], 1
cmove ecx, eax
mov dword [rbx + 0x38], ecx
mov rcx, qword [rsp + 0x80]
call fcn.14026f960
test byte [rbx + 0x1c], 1
mov esi, eax
je 0x14026f6de
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x14026f6da
cmp dword [0x140343050], 0
je 0x14026f6d1
mov rcx, qword [0x14034c0c0]
test rcx, rcx
je 0x14026f69a
call qword [0x1403430d0]
mov rcx, rdi
call qword [0x140343088]
dec qword [0x14034c048]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x14034c000], rdx
call qword [0x140343078]
mov rcx, qword [0x14034c0c0]
test rcx, rcx
je 0x14026f6da
call qword [0x1403430e0]
jmp 0x14026f6da
mov rcx, rdi
call qword [0x140343078]
and dword [rbx + 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