Function at 0x18009c7e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x90
mov rsi, qword [rcx + 0x10]
or eax, 0xffffffff
xor r15d, r15d
mov r12d, r9d
mov r13, rdx
mov rdi, rcx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x3c], r15d
test rsi, rsi
jne 0x18009c874
call fcn.1800335e0
mov rsi, rax
mov qword [rdi + 0x10], rax
test rax, rax
je 0x18009c843
xor r9d, r9d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
mov dword [rsp + 0x20], r15d
call fcn.180042780
cmp qword [rdi + 0x1c0], r15
jne 0x18009c859
mov rax, qword [rdi]
test byte [rax + 0x4c], 8
jne 0x18009c859
mov byte [rdi + 0x23], 1
test rsi, rsi
jne 0x18009c870
xor eax, eax
add rsp, 0x90
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret
mov eax, dword [rsp + 0x30]
inc dword [rdi + 0x70]
test byte [r13 + 4], 0x20
jne 0x18009c88a
mov rcx, rdi
call fcn.18004c1d0
mov dword [rsp + 0x30], eax
cmp byte [rdi + 0x1f2], 2
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0x88], rbp
jne 0x18009c983
cmp byte [r13], 0x4b
lea rcx, str.LIST
lea r9, str.SCALAR
cmove r9, rcx
test eax, eax
mov eax, dword [rdi + 0x204]
lea rcx, [0x1800ec114]
lea r8, str.CORRELATED
lea rdx, str.EXECUTE__s_s_SUBQUERY__d
cmovns r8, rcx
mov rcx, qword [rdi]
mov dword [rsp + 0x20], eax
call fcn.18003bc00
mov r8d, dword [rdi + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov rcx, rsi
mov dword [rsp + 0x20], r15d
mov r12, rax
call fcn.180042780
mov rbp, qword [rsi + 8]
mov rcx, qword [rsi]
test rbp, rbp
je 0x18009c970
cmp byte [rcx + 0x51], r15b
jne 0x18009c970
test eax, eax
jns 0x18009c925
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rbx, [rax + rax*2]
movsx edx, byte [rbp + rbx*8 + 1]
mov r8, qword [rbp + rbx*8 + 0x10]
call fcn.180046990
mov qword [rbp + rbx*8 + 0x10], r15
test r12, r12
jne 0x18009c958
mov r12d, dword [rsp + 0xd8]
mov qword [rbp + rbx*8 + 0x10], r15
mov byte [rbp + rbx*8 + 1], r15b
jmp 0x18009c983
mov qword [rbp + rbx*8 + 0x10], r12
mov r12d, dword [rsp + 0xd8]
mov byte [rbp + rbx*8 + 1], 0xff
jmp 0x18009c983
mov r8, r12
or edx, 0xffffffff
call fcn.180046990
mov r12d, dword [rsp + 0xd8]
cmp byte [r13], 0x4b
mov qword [rsp + 0x80], r14
je 0x18009ca89
mov rbp, qword [r13 + 0x20]
inc dword [rdi + 0x54]
cmp byte [r13], 0x77
mov r9d, dword [rdi + 0x54]
mov byte [rsp + 0x51], r15b
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x54], r9d
mov dword [rsp + 0x5c], r15d
jne 0x18009c9dc
xor r8d, r8d
mov rcx, rsi
mov byte [rsp + 0x50], 0xa
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x58], r9d
mov dword [rsp + 0x20], r15d
call fcn.180042780
jmp 0x18009c9f5
xor r8d, r8d
mov rcx, rsi
mov byte [rsp + 0x50], 3
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], r15d
call fcn.180042780
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rdi]
call fcn.18003ac70
mov rcx, qword [rdi]
lea r8, [0x1800e6a80]
mov r9d, 1
mov edx, 0x84
call fcn.180032980
mov r12, qword [rdi]
mov rbx, rax
test rax, rax
jne 0x18009ca3c
xor edx, edx
mov rcx, r12
call fcn.18003ac70
xor edx, edx
mov rcx, r12
call fcn.18003ac70
jmp 0x18009ca60
mov rcx, rax
call fcn.180029200
mov r11, qword [rdi]
mov r8d, dword [r11 + 0x74]
cmp dword [rbx + 0x28], r8d
jle 0x18009ca60
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.18003b940
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rdi
mov qword [rbp + 0x60], rbx
mov dword [rbp + 0xc], r15d
call fcn.180096280
test eax, eax
jne 0x18009cb47
mov ebx, dword [rsp + 0x54]
jmp 0x18009cf1d
mov rcx, qword [r13 + 0x10]
call fcn.18001b480
mov r9d, r15d
mov edx, 0x39
mov byte [rsp + 0xc0], al
mov eax, dword [rdi + 0x50]
mov rcx, rsi
mov dword [r13 + 0x2c], eax
inc dword [rdi + 0x50]
mov r8d, dword [r13 + 0x2c]
test r12d, r12d
mov dword [rsp + 0x20], r15d
sete r9b
call fcn.180042780
mov r14d, eax
mov dword [rsp + 0x38], eax
test r12d, r12d
je 0x18009cad6
mov qword [rsp + 0x70], r15
jmp 0x18009caee
mov rcx, qword [rdi]
mov edx, 1
mov r8d, edx
call fcn.180031c10
mov r15, rax
mov qword [rsp + 0x70], rax
bt dword [r13 + 4], 0xb
jae 0x18009cb6d
mov ecx, dword [r13 + 0x2c]
mov rbx, qword [r13 + 0x20]
xor eax, eax
mov dword [rsp + 0x54], ecx
movzx ecx, byte [rsp + 0xc0]
mov byte [rsp + 0x50], 0xb
mov byte [rsp + 0x51], cl
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x50]
mov rcx, rdi
mov rdx, rbx
mov dword [rbx + 0xc], eax
call fcn.180096280
test eax, eax
je 0x18009cb4e
test r15, r15
je 0x18009cb47
add dword [r15], 0xffffffff
jne 0x18009cb47
mov rcx, r15
call sym.SQLite.Interop.dll_sqlite3_free
xor eax, eax
jmp 0x18009cfa9
mov rax, qword [rbx]
mov rdx, qword [r13 + 0x10]
mov rcx, rdi
mov r8, qword [rax + 8]
mov r8, qword [r8]
call fcn.18006b250
mov qword [r15 + 0x20], rax
jmp 0x18009ceb2
mov rbx, qword [r13 + 0x20]
test rbx, rbx
je 0x18009ceb2
movzx eax, byte [rsp + 0xc0]
mov edx, 0x41
test al, al
mov ecx, eax
cmove ecx, edx
mov byte [rsp + 0xc0], cl
test r15, r15
je 0x18009cbaa
mov rdx, qword [r13 + 0x10]
mov rcx, rdi
call fcn.180068ae0
mov qword [r15 + 0x20], rax
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x18009cbbe
inc dword [rdi + 0x54]
mov ebp, dword [rdi + 0x54]
mov dword [rsp + 0x40], ebp
jmp 0x18009cbce
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebp, dword [rdi + rax*4 + 0x24]
mov dword [rsp + 0x40], ebp
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x18009cbdf
inc dword [rdi + 0x54]
mov r14d, dword [rdi + 0x54]
jmp 0x18009cbec
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov r14d, dword [rdi + rax*4 + 0x24]
test r12d, r12d
je 0x18009cc0b
xor r8d, r8d
mov r9d, r14d
mov rcx, rsi
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x20], 0
call fcn.180042780
mov eax, dword [rbx]
mov rcx, qword [rbx + 8]
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x68], rcx
test eax, eax
jle 0x18009ce2b
mov r15d, dword [rsp + 0x40]
nop word [rax + rax]
mov ebp, dword [rsp + 0x30]
mov rbx, qword [rcx]
test ebp, ebp
js 0x18009cc59
mov rcx, rbx
call fcn.18002ce60
test eax, eax
jne 0x18009cc59
mov edx, ebp
mov rcx, rsi
call fcn.18004d630
mov dword [rsp + 0x30], 0xffffffff
test r12d, r12d
je 0x18009ccf3
bt dword [rbx + 4], 0xa
jae 0x18009cc72
mov eax, dword [rbx + 8]
mov dword [rsp + 0x34], eax
jmp 0x18009ccd6
movzx ecx, byte [rbx]
sub ecx, 0x9d
je 0x18009ccaa
cmp ecx, 1
jne 0x18009ccf3
mov rcx, qword [rbx + 0x10]
bt dword [rcx + 4], 0xa
jae 0x18009cc96
mov eax, dword [rcx + 8]
mov dword [rsp + 0x34], eax
jmp 0x18009ccd6
lea rdx, [rsp + 0x34]
call fcn.180010120
test eax, eax
je 0x18009ccf3
mov eax, dword [rsp + 0x34]
jmp 0x18009ccd6
mov rcx, qword [rbx + 0x10]
bt dword [rcx + 4], 0xa
jae 0x18009ccbe
mov eax, dword [rcx + 8]
mov dword [rsp + 0x48], eax
jmp 0x18009ccd0
lea rdx, [rsp + 0x48]
call fcn.180010120
test eax, eax
je 0x18009ccf3
mov eax, dword [rsp + 0x48]
neg eax
mov dword [rsp + 0x34], eax
mov r8d, dword [r13 + 0x2c]
mov r9d, r14d
mov edx, 0x54
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.180042780
jmp 0x18009ce02
mov r8d, r15d
mov rdx, rbx
mov rcx, rdi
call fcn.1800aaa50
mov ebp, eax
test r12d, r12d
je 0x18009cd45
mov r9d, dword [rsi + 0x3c]
mov r8d, eax
mov edx, 0x26
mov rcx, rsi
add r9d, 2
mov dword [rsp + 0x20], 0
call fcn.180042780
mov r8d, dword [r13 + 0x2c]
mov r9d, r14d
mov edx, 0x4b
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.180042780
jmp 0x18009ce02
mov r9d, 1
mov r8d, eax
mov rcx, rsi
lea edx, [r9 + 0x30]
mov dword [rsp + 0x20], r14d
call fcn.180042780
mov r12, qword [rsi + 8]
mov rcx, qword [rsi]
test r12, r12
je 0x18009cdbc
cmp byte [rcx + 0x51], 0
jne 0x18009cdbc
test eax, eax
jns 0x18009cd7a
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rbx, [rax + rax*2]
movsx edx, byte [r12 + rbx*8 + 1]
mov r8, qword [r12 + rbx*8 + 0x10]
call fcn.180046990
mov qword [r12 + rbx*8 + 0x10], 0
mov rcx, qword [rsi]
lea rdx, [rsp + 0xc0]
mov r8d, 1
call fcn.180034f20
mov byte [r12 + rbx*8 + 1], 0xff
mov qword [r12 + rbx*8 + 0x10], rax
jmp 0x18009cdce
lea r8, [rsp + 0xc0]
mov edx, 1
call fcn.180046990
mov r8d, 1
mov edx, ebp
mov rcx, rdi
call fcn.180022bf0
mov r8d, dword [r13 + 0x2c]
mov r9d, r14d
mov edx, 0x6e
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.180042780
mov r12d, dword [rsp + 0xd8]
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x68]
dec eax
add rcx, 0x28
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x68], rcx
test eax, eax
jg 0x18009cc30
mov r15, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x40]
test ebp, ebp
je 0x18009ce61
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x18009ce61
xor ecx, ecx
lea rax, [rdi + 0x88]
cmp dword [rax + 0xc], ebp
je 0x18009ce5d
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18009ce41
movzx eax, dl
mov dword [rdi + rax*4 + 0x24], ebp
inc byte [rdi + 0x1f]
jmp 0x18009ce61
mov byte [rax + 6], 1
test r14d, r14d
je 0x18009cead
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x18009cea6
xor ecx, ecx
lea rax, [rdi + 0x88]
cmp dword [rax + 0xc], r14d
je 0x18009ce9b
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18009ce78
movzx eax, dl
mov dword [rdi + rax*4 + 0x24], r14d
inc byte [rdi + 0x1f]
mov r14d, dword [rsp + 0x38]
jmp 0x18009ceb2
mov r14d, dword [rsp + 0x38]
mov byte [rax + 6], 1
jmp 0x18009ceb2
mov r14d, dword [rsp + 0x38]
jmp 0x18009ceb2
mov r14d, dword [rsp + 0x38]
test r15, r15
je 0x18009cf16
mov rbp, qword [rsi + 8]
mov rcx, qword [rsi]
test rbp, rbp
je 0x18009cf00
cmp byte [rcx + 0x51], 0
jne 0x18009cf00
test r14d, r14d
jns 0x18009ced5
mov r14d, dword [rsi + 0x3c]
dec r14d
movsxd rax, r14d
lea rbx, [rax + rax*2]
movsx edx, byte [rbp + rbx*8 + 1]
mov r8, qword [rbp + rbx*8 + 0x10]
call fcn.180046990
mov qword [rbp + rbx*8 + 0x10], r15
mov byte [rbp + rbx*8 + 1], 0xfa
mov ebx, dword [rsp + 0x3c]
xor r15d, r15d
jmp 0x18009cf1d
mov r8, r15
mov edx, 0xfffffffa
call fcn.180046990
mov ebx, dword [rsp + 0x3c]
xor r15d, r15d
jmp 0x18009cf1d
mov ebx, dword [rsp + 0x3c]
xor r15d, r15d
mov eax, dword [rsp + 0xd0]
test eax, eax
je 0x18009cf37
mov edx, dword [r13 + 0x2c]
mov r8d, eax
mov rcx, rsi
call fcn.18004c120
mov eax, dword [rsp + 0x30]
test eax, eax
js 0x18009cf5e
mov edx, dword [rsi + 0x3c]
cmp edx, eax
jbe 0x18009cf52
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
dec dword [rdi + 0x70]
lea rcx, [rdi + 0x94]
mov r8d, 0xa
nop
mov edx, dword [rcx]
test edx, edx
je 0x18009cf9d
mov eax, dword [rdi + 0x70]
cmp dword [rcx - 4], eax
jle 0x18009cf9d
cmp byte [rcx - 6], 0
je 0x18009cf9a
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18009cf96
movzx eax, al
mov dword [rdi + rax*4 + 0x24], edx
inc byte [rdi + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r15d
add rcx, 0x14
sub r8, 1
jne 0x18009cf70
mov eax, ebx
mov r14, qword [rsp + 0x80]
mov rbx, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret