Function at 0x1800af880
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 0x1800af953
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 0x1800af94a
test word [rdx + 0x14], r10w
jne 0x1800af94a
test rsi, rsi
jne 0x1800af946
movzx eax, byte [rdx + 0x17]
cmp al, 0x49
jb 0x1800af946
cmp al, 0x4a
jbe 0x1800af94a
mov byte [r8], 1
add r8, 0xc
dec r9
jne 0x1800af910
mov rcx, qword [rsp + 0x88]
lea rsi, [r12*8]
xor edx, edx
mov r8, rsi
mov r14, r12
call fcn.18012da30
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.1800ad2e0
test eax, eax
je 0x1800af9ca
cmp eax, 0x13
cmove eax, ebp
jmp 0x1800afde8
mov rcx, qword [rbx + 0x48]
mov r8, rsi
xor edx, edx
or r12d, 0xffffffff
call fcn.18012da30
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 0x1800afb17
lea rsi, [rax + 5]
mov rax, qword [rsp + 0x88]
nop dword [rax]
mov edx, dword [rax + r11*8]
dec edx
js 0x1800afb04
movsxd rax, dword [rsi + 3]
cmp edx, r14d
jge 0x1800afb91
test eax, eax
js 0x1800afb91
cmp eax, dword [r13 + 0x14]
jge 0x1800afb91
mov r8, qword [rbx + 0x48]
movsxd rcx, edx
cmp qword [r8 + rcx*8], rbp
jne 0x1800afb91
cmp byte [rsi], bpl
je 0x1800afb91
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 0x1800afaae
cmp r10d, 0x10
jge 0x1800afaa3
movzx eax, word [rsp + 0xa8]
bt eax, r10d
jb 0x1800afaa3
mov eax, 1
mov ecx, edx
shl ax, cl
or word [rbx + 0x22], ax
cmp byte [r9 + 0x17], 0x4a
jne 0x1800afaae
or dword [rbx + 0x1c], 2
cmp r10d, 0x1f
jg 0x1800afac0
mov ecx, r10d
mov eax, 1
shl eax, cl
jmp 0x1800afac2
mov eax, ebp
test dword [rdi + 0x78], eax
je 0x1800afad5
mov ecx, edx
mov eax, 1
shl eax, cl
or dword [rbx + 0x30], eax
jmp 0x1800afaea
test byte [r9 + 0x14], 1
je 0x1800afaea
and dword [rdi + 0x50], 0xfffffffe
mov dword [rdi + 0x3c], ebp
mov dword [r15], 1
movzx eax, byte [r9 + 0x17]
cmp al, 0x49
jb 0x1800afafc
cmp al, 0x4a
ja 0x1800afafc
cmp dword [r15], ebp
jne 0x1800afb67
mov rax, qword [rsp + 0x88]
inc r11
inc r10d
add rsi, 0xc
cmp r11, r14
jl 0x1800afa10
lea eax, [r12 + 1]
mov ecx, ebp
mov word [rbx + 0x3c], ax
test r12d, r12d
js 0x1800afb40
mov rax, qword [rbx + 0x48]
nop dword [rax + rax]
cmp qword [rax], rbp
je 0x1800afb91
inc ecx
add rax, 8
cmp ecx, r12d
jle 0x1800afb30
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 0x1800afbbe
mov eax, dword [rdi + 0x10]
jmp 0x1800afbc0
cmp dword [rdi + 0x38], ebp
je 0x1800afb7c
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 0x1800afde8
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.18000f0b0
mov eax, 1
jmp 0x1800afde8
mov eax, ebp
movsd xmm0, qword [0x180157e90]
mov byte [rbx + 0x20], al
mov word [rbx + 0x12], bp
movsd xmm1, qword [rdi + 0x40]
mov edx, 0x28
lea r8, [0x180172040]
comisd xmm0, xmm1
movsd qword [rsp + 0xa0], xmm1
jb 0x1800afbf7
movzx eax, bp
jmp 0x1800afcdf
movsd xmm0, qword [0x180157ef0]
comisd xmm0, xmm1
jb 0x1800afcbe
movsd xmm0, qword [0x180157eb0]
xor ecx, ecx
comisd xmm1, xmm0
jbe 0x1800afc30
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x1800afc30
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm1
add rax, rcx
movzx ecx, dx
cmp rax, 8
jae 0x1800afc6e
cmp rax, 2
jae 0x1800afc50
mov eax, ebp
jmp 0x1800afcdf
add rax, rax
add cx, 0xfff6
cmp rax, 8
jb 0x1800afc50
and eax, 7
movzx eax, word [r8 + rax*2]
add ax, cx
sub ax, 0xa
jmp 0x1800afcdf
cmp rax, 0xff
jbe 0x1800afc8f
nop word [rax + rax]
shr rax, 4
add cx, dx
cmp rax, 0xff
ja 0x1800afc80
cmp rax, 0xf
jbe 0x1800afcad
nop word [rax + rax]
shr rax, 1
add cx, 0xa
cmp rax, 0xf
ja 0x1800afca0
and eax, 7
movzx eax, word [r8 + rax*2]
add ax, cx
sub ax, 0xa
jmp 0x1800afcdf
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 0x1800afd02
cmp rax, 2
jb 0x1800afd4c
add rax, rax
add dx, 0xfff6
cmp rax, 8
jb 0x1800afcf3
jmp 0x1800afd3d
cmp rax, 0xff
jbe 0x1800afd20
nop word [rax + rax]
shr rax, 4
add dx, 0x28
cmp rax, 0xff
ja 0x1800afd10
cmp rax, 0xf
jbe 0x1800afd3d
nop word [rax + rax]
shr rax, 1
add dx, 0xa
cmp rax, 0xf
ja 0x1800afd30
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 0x1800afd5f
or dword [rbx + 0x38], 0x1000
jmp 0x1800afd66
and dword [rbx + 0x38], 0xffffefff
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
call fcn.1800adc00
test byte [rbx + 0x1c], 1
mov esi, eax
je 0x1800afde6
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1800afde2
cmp dword [0x180171920], 0
je 0x1800afdd9
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x1800afda2
call qword [0x1801719a0]
mov rcx, rdi
call qword [0x180171958]
dec qword [0x180181138]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x1801810f0], rdx
call qword [0x180171948]
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x1800afde2
call qword [0x1801719b0]
jmp 0x1800afde2
mov rcx, rdi
call qword [0x180171948]
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