Function at 0x1800b05b0
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 0x1800b0683
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 0x1800b067a
test word [rdx + 0x14], r10w
jne 0x1800b067a
test rsi, rsi
jne 0x1800b0676
movzx eax, byte [rdx + 0x17]
cmp al, 0x49
jb 0x1800b0676
cmp al, 0x4a
jbe 0x1800b067a
mov byte [r8], 1
add r8, 0xc
dec r9
jne 0x1800b0640
mov rcx, qword [rsp + 0x88]
lea rsi, [r12*8]
xor edx, edx
mov r8, rsi
mov r14, r12
call fcn.18012e4b0
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.1800ae010
test eax, eax
je 0x1800b06fa
cmp eax, 0x13
cmove eax, ebp
jmp 0x1800b0b18
mov rcx, qword [rbx + 0x48]
mov r8, rsi
xor edx, edx
or r12d, 0xffffffff
call fcn.18012e4b0
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 0x1800b0847
lea rsi, [rax + 5]
mov rax, qword [rsp + 0x88]
nop dword [rax]
mov edx, dword [rax + r11*8]
dec edx
js 0x1800b0834
movsxd rax, dword [rsi + 3]
cmp edx, r14d
jge 0x1800b08c1
test eax, eax
js 0x1800b08c1
cmp eax, dword [r13 + 0x14]
jge 0x1800b08c1
mov r8, qword [rbx + 0x48]
movsxd rcx, edx
cmp qword [r8 + rcx*8], rbp
jne 0x1800b08c1
cmp byte [rsi], bpl
je 0x1800b08c1
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 0x1800b07de
cmp r10d, 0x10
jge 0x1800b07d3
movzx eax, word [rsp + 0xa8]
bt eax, r10d
jb 0x1800b07d3
mov eax, 1
mov ecx, edx
shl ax, cl
or word [rbx + 0x22], ax
cmp byte [r9 + 0x17], 0x4a
jne 0x1800b07de
or dword [rbx + 0x1c], 2
cmp r10d, 0x1f
jg 0x1800b07f0
mov ecx, r10d
mov eax, 1
shl eax, cl
jmp 0x1800b07f2
mov eax, ebp
test dword [rdi + 0x78], eax
je 0x1800b0805
mov ecx, edx
mov eax, 1
shl eax, cl
or dword [rbx + 0x30], eax
jmp 0x1800b081a
test byte [r9 + 0x14], 1
je 0x1800b081a
and dword [rdi + 0x50], 0xfffffffe
mov dword [rdi + 0x3c], ebp
mov dword [r15], 1
movzx eax, byte [r9 + 0x17]
cmp al, 0x49
jb 0x1800b082c
cmp al, 0x4a
ja 0x1800b082c
cmp dword [r15], ebp
jne 0x1800b0897
mov rax, qword [rsp + 0x88]
inc r11
inc r10d
add rsi, 0xc
cmp r11, r14
jl 0x1800b0740
lea eax, [r12 + 1]
mov ecx, ebp
mov word [rbx + 0x3c], ax
test r12d, r12d
js 0x1800b0870
mov rax, qword [rbx + 0x48]
nop dword [rax + rax]
cmp qword [rax], rbp
je 0x1800b08c1
inc ecx
add rax, 8
cmp ecx, r12d
jle 0x1800b0860
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 0x1800b08ee
mov eax, dword [rdi + 0x10]
jmp 0x1800b08f0
cmp dword [rdi + 0x38], ebp
je 0x1800b08ac
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 0x1800b0b18
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 0x1800b0b18
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 0x1800b0927
movzx eax, bp
jmp 0x1800b0a0f
movsd xmm0, qword [0x1801591a0]
comisd xmm0, xmm1
jb 0x1800b09ee
movsd xmm0, qword [0x180159160]
xor ecx, ecx
comisd xmm1, xmm0
jbe 0x1800b0960
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x1800b0960
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm1
add rax, rcx
movzx ecx, dx
cmp rax, 8
jae 0x1800b099e
cmp rax, 2
jae 0x1800b0980
mov eax, ebp
jmp 0x1800b0a0f
add rax, rax
add cx, 0xfff6
cmp rax, 8
jb 0x1800b0980
and eax, 7
movzx eax, word [r8 + rax*2]
add ax, cx
sub ax, 0xa
jmp 0x1800b0a0f
cmp rax, 0xff
jbe 0x1800b09bf
nop word [rax + rax]
shr rax, 4
add cx, dx
cmp rax, 0xff
ja 0x1800b09b0
cmp rax, 0xf
jbe 0x1800b09dd
nop word [rax + rax]
shr rax, 1
add cx, 0xa
cmp rax, 0xf
ja 0x1800b09d0
and eax, 7
movzx eax, word [r8 + rax*2]
add ax, cx
sub ax, 0xa
jmp 0x1800b0a0f
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 0x1800b0a32
cmp rax, 2
jb 0x1800b0a7c
add rax, rax
add dx, 0xfff6
cmp rax, 8
jb 0x1800b0a23
jmp 0x1800b0a6d
cmp rax, 0xff
jbe 0x1800b0a50
nop word [rax + rax]
shr rax, 4
add dx, 0x28
cmp rax, 0xff
ja 0x1800b0a40
cmp rax, 0xf
jbe 0x1800b0a6d
nop word [rax + rax]
shr rax, 1
add dx, 0xa
cmp rax, 0xf
ja 0x1800b0a60
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 0x1800b0a8f
or dword [rbx + 0x38], 0x1000
jmp 0x1800b0a96
and dword [rbx + 0x38], 0xffffefff
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
call fcn.1800ae930
test byte [rbx + 0x1c], 1
mov esi, eax
je 0x1800b0b16
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1800b0b12
cmp dword [0x180172920], 0
je 0x1800b0b09
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x1800b0ad2
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 0x1800b0b12
call qword [0x1801729b0]
jmp 0x1800b0b12
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