Function at 0x1800b05a0
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 r13, qword [rcx + 8]
mov rbx, qword [rcx + 0x10]
mov rdi, qword [rsp + 0xa0]
mov rax, qword [rdi + 0x20]
movsxd r12, dword [rdi]
mov r15, qword [rsp + 0xb0]
mov qword [rsp + 0x88], rax
mov rax, qword [rcx]
xor ebp, ebp
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov r11, r8
mov qword [rsp + 0x30], rcx
movzx ecx, byte [rbx + 0x10]
mov qword [rbx], rdx
mov r8, qword [rdi + 8]
movzx r10d, r9w
mov qword [rsp + 0x28], rax
imul rcx, rcx, 0x68
mov qword [rsp + 0x20], rcx
mov dword [r15], ebp
test r12d, r12d
jle 0x1800b0673
mov rsi, qword [rsp + 0xb8]
add r8, 5
mov r9d, r12d
nop dword [rax + rax]
movsxd rdx, dword [r8 + 3]
imul rdx, rdx, 0x38
add rdx, qword [r13 + 0x20]
mov byte [r8], bpl
mov rcx, qword [rdx + 0x28]
mov rax, rcx
and rax, r11
cmp rax, rcx
jne 0x1800b066a
test word [rdx + 0x14], r10w
jne 0x1800b066a
test rsi, rsi
jne 0x1800b0666
movzx eax, byte [rdx + 0x17]
cmp al, 0x49
jb 0x1800b0666
cmp al, 0x4a
jbe 0x1800b066a
mov byte [r8], 1
add r8, 0xc
dec r9
jne 0x1800b0630
mov rcx, qword [rsp + 0x88]
lea rsi, [r12*8]
xor edx, edx
mov r8, rsi
mov r14, r12
call fcn.18012e4c0
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov qword [rdi + 0x30], rbp
mov dword [rdi + 0x28], ebp
mov dword [rdi + 0x3c], ebp
mov qword [rdi + 0x48], 0x19
mov dword [rdi + 0x50], ebp
movabs rax, 0x546d42aea2879f2e
mov qword [rdi + 0x40], rax
mov rax, qword [rcx + rdx + 0x58]
mov r8, rdi
mov qword [rdi + 0x58], rax
mov dword [rdi + 0x78], ebp
mov rdx, qword [rcx + rdx + 0x28]
mov rcx, qword [rsp + 0x30]
call fcn.1800ae000
test eax, eax
je 0x1800b06ea
cmp eax, 0x13
cmove eax, ebp
jmp 0x1800b0b08
mov rcx, qword [rbx + 0x48]
mov r8, rsi
xor edx, edx
or r12d, 0xffffffff
call fcn.18012e4c0
xor eax, eax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov rax, qword [rdi + 8]
mov r10d, ebp
mov r11, rbp
test r14, r14
jle 0x1800b0837
lea rsi, [rax + 5]
mov rax, qword [rsp + 0x88]
nop dword [rax]
mov edx, dword [rax + r11*8]
dec edx
js 0x1800b0824
movsxd rax, dword [rsi + 3]
cmp edx, r14d
jge 0x1800b08b1
test eax, eax
js 0x1800b08b1
cmp eax, dword [r13 + 0x14]
jge 0x1800b08b1
mov r8, qword [rbx + 0x48]
movsxd rcx, edx
cmp qword [r8 + rcx*8], rbp
jne 0x1800b08b1
cmp byte [rsi], bpl
je 0x1800b08b1
mov r9, rax
imul r9, r9, 0x38
add r9, qword [r13 + 0x20]
mov rax, qword [r9 + 0x28]
or qword [rbx], rax
mov rax, qword [rsp + 0x88]
cmp edx, r12d
mov qword [r8 + rcx*8], r9
cmovg r12d, edx
cmp byte [rax + r11*8 + 4], bpl
je 0x1800b07ce
cmp r10d, 0x10
jge 0x1800b07c3
movzx eax, word [rsp + 0xa8]
bt eax, r10d
jb 0x1800b07c3
mov eax, 1
mov ecx, edx
shl ax, cl
or word [rbx + 0x22], ax
cmp byte [r9 + 0x17], 0x4a
jne 0x1800b07ce
or dword [rbx + 0x1c], 2
cmp r10d, 0x1f
jg 0x1800b07e0
mov ecx, r10d
mov eax, 1
shl eax, cl
jmp 0x1800b07e2
mov eax, ebp
test dword [rdi + 0x78], eax
je 0x1800b07f5
mov ecx, edx
mov eax, 1
shl eax, cl
or dword [rbx + 0x30], eax
jmp 0x1800b080a
test byte [r9 + 0x14], 1
je 0x1800b080a
and dword [rdi + 0x50], 0xfffffffe
mov dword [rdi + 0x3c], ebp
mov dword [r15], 1
movzx eax, byte [r9 + 0x17]
cmp al, 0x49
jb 0x1800b081c
cmp al, 0x4a
ja 0x1800b081c
cmp dword [r15], ebp
jne 0x1800b0887
mov rax, qword [rsp + 0x88]
inc r11
inc r10d
add rsi, 0xc
cmp r11, r14
jl 0x1800b0730
lea eax, [r12 + 1]
mov ecx, ebp
mov word [rbx + 0x3c], ax
test r12d, r12d
js 0x1800b0860
mov rax, qword [rbx + 0x48]
nop dword [rax + rax]
cmp qword [rax], rbp
je 0x1800b08b1
inc ecx
add rax, 8
cmp ecx, r12d
jle 0x1800b0850
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], ebp
mov qword [rbx + 0x28], rax
cmp dword [rdi + 0x3c], ebp
je 0x1800b08de
mov eax, dword [rdi + 0x10]
jmp 0x1800b08e0
cmp dword [rdi + 0x38], ebp
je 0x1800b089c
mov rcx, qword [rdi + 0x30]
call sym.sqlite.dll_sqlite3_free
mov qword [rdi + 0x30], rbp
mov dword [rdi + 0x38], ebp
mov rax, qword [rsp + 0xb8]
mov dword [rax], 1
xor eax, eax
jmp 0x1800b0b08
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov r8, qword [r8 + rdx + 0x28]
lea rdx, str._s.xBestIndex_malfunction
mov r8, qword [r8]
call fcn.18000fdc0
mov eax, 1
jmp 0x1800b0b08
mov eax, ebp
movsd xmm0, qword [0x180159140]
mov byte [rbx + 0x20], al
mov word [rbx + 0x12], bp
movsd xmm1, qword [rdi + 0x40]
mov edx, 0x28
lea r8, [0x180173040]
comisd xmm0, xmm1
movsd qword [rsp + 0xa0], xmm1
jb 0x1800b0917
movzx eax, bp
jmp 0x1800b09ff
movsd xmm0, qword [0x1801591a0]
comisd xmm0, xmm1
jb 0x1800b09de
movsd xmm0, qword [0x180159160]
xor ecx, ecx
comisd xmm1, xmm0
jbe 0x1800b0950
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x1800b0950
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm1
add rax, rcx
movzx ecx, dx
cmp rax, 8
jae 0x1800b098e
cmp rax, 2
jae 0x1800b0970
mov eax, ebp
jmp 0x1800b09ff
add rax, rax
add cx, 0xfff6
cmp rax, 8
jb 0x1800b0970
and eax, 7
movzx eax, word [r8 + rax*2]
add ax, cx
sub ax, 0xa
jmp 0x1800b09ff
cmp rax, 0xff
jbe 0x1800b09af
nop word [rax + rax]
shr rax, 4
add cx, dx
cmp rax, 0xff
ja 0x1800b09a0
cmp rax, 0xf
jbe 0x1800b09cd
nop word [rax + rax]
shr rax, 1
add cx, 0xa
cmp rax, 0xf
ja 0x1800b09c0
and eax, 7
movzx eax, word [r8 + rax*2]
add ax, cx
sub ax, 0xa
jmp 0x1800b09ff
mov rcx, qword [rsp + 0xa0]
mov eax, 0x3fe
shr rcx, 0x34
sub cx, ax
movzx eax, cx
shl ax, 2
add cx, ax
lea eax, [rcx + rcx]
mov word [rbx + 0x14], ax
mov rax, qword [rdi + 0x48]
cmp rax, 8
jae 0x1800b0a22
cmp rax, 2
jb 0x1800b0a6c
add rax, rax
add dx, 0xfff6
cmp rax, 8
jb 0x1800b0a13
jmp 0x1800b0a5d
cmp rax, 0xff
jbe 0x1800b0a40
nop word [rax + rax]
shr rax, 4
add dx, 0x28
cmp rax, 0xff
ja 0x1800b0a30
cmp rax, 0xf
jbe 0x1800b0a5d
nop word [rax + rax]
shr rax, 1
add dx, 0xa
cmp rax, 0xf
ja 0x1800b0a50
and eax, 7
movzx ebp, word [r8 + rax*2]
add bp, dx
sub bp, 0xa
mov word [rbx + 0x16], bp
test byte [rdi + 0x50], 1
je 0x1800b0a7f
or dword [rbx + 0x38], 0x1000
jmp 0x1800b0a86
and dword [rbx + 0x38], 0xffffefff
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
call fcn.1800ae920
test byte [rbx + 0x1c], 1
mov esi, eax
je 0x1800b0b06
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1800b0b02
cmp dword [0x180172920], 0
je 0x1800b0af9
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x1800b0ac2
call qword [0x1801729a0]
mov rcx, rdi
call qword [0x180172958]
dec qword [0x180182138]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x1801820f0], rdx
call qword [0x180172948]
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x1800b0b02
call qword [0x1801729b0]
jmp 0x1800b0b02
mov rcx, rdi
call qword [0x180172948]
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