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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rax, qword [rcx]
mov rsi, qword [rcx + 8]
mov rdi, qword [rax]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rcx + 0x10]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rax + 8]
movzx r12d, byte [rdi + 0x10]
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x88], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x128], rdx
movsxd rdx, dword [rsi + 0x14]
mov qword [rsp + 0x58], rax
lea rax, [r12 + r12*2]
lea rax, [r12 + rax*4]
mov qword [rsp + 0x50], rdi
lea r10, [rcx + rax*8]
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x9c], 0
mov rax, qword [r10 + 0x28]
mov qword [rsp + 0x80], rax
mov rax, qword [rsi + 0x20]
test edx, edx
jle 0x1401b3cb6
lea r9, [rdx*8]
mov ecx, dword [r10 + 0x4c]
xor edi, edi
sub r9, rdx
lea r9, [rax + r9*8]
nop word [rax + rax]
movzx r11d, word [rax + 0x12]
mov edx, r11d
and edx, 0xffffffbf
mov word [rax + 0x12], dx
cmp dword [rax + 0x1c], ecx
jne 0x1401b3380
mov rbx, r8
and rbx, qword [rax + 0x28]
jne 0x1401b3380
movzx ebx, word [rax + 0x14]
and ebx, 0xf7ff
je 0x1401b3380
and r11d, 0x80
jne 0x1401b3380
movzx r11d, byte [r10 + 0x44]
test r11b, 0x58
je 0x1401b3370
mov rbx, qword [rax]
mov esi, dword [rbx + 4]
test sil, 3
je 0x1401b3380
cmp ecx, dword [rbx + 0x34]
jne 0x1401b3380
and r11d, 0x18
je 0x1401b3370
and esi, 2
jne 0x1401b3380
nop dword [rax]
or edx, 0x40
add edi, 1
mov word [rax + 0x12], dx
nop word [rax + rax]
add rax, 0x38
cmp rax, r9
jne 0x1401b3310
movsxd rdi, edi
lea rax, [rdi*8]
sub rax, rdi
lea rax, [rax*4 + 0x88]
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x58], 0
je 0x1401b34e2
mov rax, qword [rsp + 0x58]
mov r14d, dword [rax]
test r14d, r14d
jle 0x1401b3c8e
lea r13, [rax + 8]
lea rax, [r12 + r12*2]
xor ebp, ebp
shl rax, 2
lea rsi, [dbg.exprNodeIsConstant]
lea rbx, [dbg.sqlite3SelectWalkFail]
mov qword [rsp + 0x68], rax
mov r15, qword [r13]
mov ecx, 1
mov qword [rsp + 0xa0], 0
mov word [rsp + 0xc4], cx
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], rbx
test r15, r15
je 0x1401b3670
lea rcx, [rsp + 0xa0]
mov rdx, r15
call dbg.sqlite3WalkExprNN
cmp word [rsp + 0xc4], 0
jne 0x1401b3670
test byte [r13 + 0x10], 2
jne 0x1401b34e2
movzx eax, byte [r15]
cmp al, 0xa7
je 0x1401b3650
cmp al, 0x71
jne 0x1401b34e2
mov rax, qword [r15 + 0x10]
cmp byte [rax], 0xa7
jne 0x1401b34e2
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
add rcx, r12
mov ecx, dword [rdx + rcx*8 + 0x4c]
cmp dword [rax + 0x2c], ecx
jne 0x1401b34e2
movsx rax, word [rax + 0x30]
mov word [r15 + 0x30], ax
test ax, ax
js 0x1401b3670
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x80]
lea r10, str.BINARY
mov rax, qword [rax + 8]
lea rcx, [rax + rcx*8]
mov rax, qword [rcx]
movzx ecx, word [rcx + 0x12]
test ch, 2
jne 0x1401b34bc
jmp 0x1401b34ce
add rax, 1
cmp byte [rax], 0
jne 0x1401b34b8
and ecx, 4
jne 0x1401b3630
lea r10, [rax + 1]
mov rcx, qword [r15 + 8]
mov rdx, r10
call sym.sqlite3_stricmp
test eax, eax
je 0x1401b3670
xor ebx, ebx
xor esi, esi
xor r14d, r14d
mov rax, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rax]
add rbp, rbx
test rcx, rcx
je 0x1401b3a90
mov rdx, rbp
call sym.sqlite3DbMallocRawNN
mov r12, rax
test r12, r12
je 0x1401b3aa4
mov r8, rbp
xor edx, edx
mov rcx, r12
call sym.memset
lea rax, [rdi + rdi*2]
mov dword [r12 + 0x70], esi
xor edx, edx
lea r10, [r12 + rdi*8 + 0x80]
mov rdi, qword [rsp + 0x48]
mov word [rsp + 0x60], dx
lea rbp, [r10 + rax*4]
mov rax, qword [rsp + 0x70]
mov qword [r12 + 8], r10
add rbx, rbp
mov qword [r12 + 0x18], rbp
mov rsi, rax
mov qword [r12 + 0x20], rbx
mov ebx, dword [rsi + 0x14]
mov qword [r12 + 0x60], rax
mov qword [r12 + 0x68], rdi
mov rax, qword [rax + 0x20]
mov dword [r12 + 0x74], 0
test ebx, ebx
jle 0x1401b376a
xor edx, edx
xor r15d, r15d
mov r13d, 1
jmp 0x1401b35ca
cmp r9w, 0x40
je 0x1401b36d0
test r11w, 0x180
je 0x1401b36e0
cmp r9w, 0x100
setne cl
add ecx, 0x47
mov byte [r8 + 4], cl
add r15d, 1
add edx, 1
add rax, 0x38
cmp edx, ebx
je 0x1401b3770
movzx ecx, word [rax + 0x12]
test cl, 0x40
je 0x1401b35bb
movsxd r8, r15d
mov r9d, dword [rax + 0x20]
movzx r11d, word [rax + 0x14]
lea r8, [r8 + r8*2]
lea r8, [r10 + r8*4]
mov dword [r8], r9d
mov r9d, r11d
and r9w, 0x3fff
mov dword [r8 + 8], edx
cmp r9w, 1
jne 0x1401b3590
test cx, cx
js 0x1401b3623
mov r9d, dword [r12 + 0x74]
mov esi, r13d
mov ecx, r15d
shl esi, cl
mov r11d, r9d
or r9d, esi
cmp r15d, 0x20
cmovge r9d, r11d
mov dword [r12 + 0x74], r9d
mov byte [r8 + 4], 2
jmp 0x1401b35b7
add rax, 1
cmp byte [rax], 0
je 0x1401b34ca
add rax, 1
cmp byte [rax], 0
jne 0x1401b3630
jmp 0x1401b34ca
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
add rax, r12
mov eax, dword [rcx + rax*8 + 0x4c]
cmp dword [r15 + 0x2c], eax
jne 0x1401b34e2
nop dword [rax + rax]
add ebp, 1
add r13, 0x20
cmp r14d, ebp
jne 0x1401b33e2
mov rax, qword [rsp + 0x88]
movsxd rbx, r14d
shl rbx, 3
movzx esi, word [rax + 0x3c]
test sil, 0x80
je 0x1401b3caa
lea rax, [r12 + r12*2]
mov rcx, qword [rsp + 0x60]
lea rax, [r12 + rax*4]
test byte [rcx + rax*8 + 0x49], 0x40
jne 0x1401b3caa
test si, 0x200
setne sil
movzx esi, sil
add esi, 2
jmp 0x1401b34e9
movzx ecx, byte [rax + 0x17]
mov byte [r8 + 4], cl
jmp 0x1401b35b7
and r11d, 0x3c
mov byte [r8 + 4], r9b
je 0x1401b35b7
mov rcx, qword [rax]
mov r11, qword [rcx + 0x18]
movzx ecx, byte [r11]
cmp cl, 0xb0
jne 0x1401b3703
movzx ecx, byte [r11 + 2]
cmp cl, 0xb1
je 0x1401b3b0e
cmp cl, 0x8a
jne 0x1401b35b7
mov rcx, qword [r11 + 0x20]
mov rcx, qword [rcx + 0x20]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x1401b35b7
mov ecx, r15d
mov esi, r13d
movzx edi, word [rsp + 0x60]
shl esi, cl
mov ecx, esi
mov r11d, edi
or ecx, edi
cmp r15d, 0x10
cmovl r11d, ecx
mov word [rsp + 0x60], r11w
cmp r9w, 0x10
je 0x1401b3ca0
cmp r9w, 4
jne 0x1401b35b7
mov byte [r8 + 4], 0x20
jmp 0x1401b35b7
xor r15d, r15d
nop dword [rax]
mov dword [r12], r15d
test r14d, r14d
je 0x1401b3836
mov rsi, qword [rsp + 0x58]
lea eax, [r14 - 1]
xor r14d, r14d
lea rbx, [dbg.sqlite3SelectWalkFail]
shl rax, 5
lea r13, [rsp + 0xa0]
mov qword [rsp + 0x58], r12
lea rax, [rsi + rax + 0x28]
lea r15, [rsi + 8]
mov r12, r13
mov r13, rbp
lea rsi, [dbg.exprNodeIsConstant]
mov rbp, rbx
mov rbx, rax
nop dword [rax]
mov rdi, qword [r15]
mov eax, 1
mov qword [rsp + 0xa0], 0
mov word [rsp + 0xc4], ax
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], rbp
test rdi, rdi
je 0x1401b3824
mov rdx, rdi
mov rcx, r12
call dbg.sqlite3WalkExprNN
cmp word [rsp + 0xc4], 0
jne 0x1401b3824
movsxd rax, r14d
add r14d, 1
lea rdx, [r13 + rax*8]
movsx eax, word [rdi + 0x30]
mov dword [rdx], eax
movzx eax, byte [r15 + 0x10]
and eax, 1
mov byte [rdx + 4], al
add r15, 0x20
cmp rbx, r15
jne 0x1401b37c0
mov r12, qword [rsp + 0x58]
mov r15d, dword [r12]
mov rdx, qword [rsp + 0x50]
xor ebp, ebp
xor r13d, r13d
mov dword [r12 + 0x10], r14d
movzx eax, word [rdx + 0x40]
and byte [rdx + 0x1c], 0xfe
mov word [rdx + 0x12], bp
mov dword [rdx + 0x38], 0x400
mov word [rdx + 0x3c], r13w
cmp r15d, eax
jg 0x1401b3960
movzx esi, word [rsp + 0x60]
lea rax, [rsp + 0x9c]
xor r9d, r9d
lea rdi, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x128]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x30], rdi
mov rcx, qword [rsp + 0x120]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r12
call sym.whereLoopAddVirtualOne
mov ebx, dword [rsp + 0x9c]
mov r13d, eax
test ebx, ebx
jne 0x1401b3ad0
test r13d, r13d
je 0x1401b39f0
mov ecx, dword [r12 + 0x38]
test ecx, ecx
jne 0x1401b3ac0
mov rax, qword [rsp + 0x48]
mov edx, dword [r12]
xor ebx, ebx
mov r15, qword [rax]
test edx, edx
jle 0x1401b3938
nop word [rax + rax]
mov r14, qword [r12 + rbx*8 + 0x80]
test r14, r14
je 0x1401b3922
test word [r14 + 0x14], 0x9000
jne 0x1401b390e
mov eax, dword [r14 + 0x20]
test eax, eax
je 0x1401b3916
mov rcx, r14
call dbg.vdbeMemClear
mov rcx, qword [r14 + 0x18]
mov rdx, r14
call sym.sqlite3DbFreeNN
mov qword [r12 + rbx*8 + 0x80], 0
add rbx, 1
cmp dword [r12], ebx
jg 0x1401b38f0
mov rdx, r12
mov rcx, r15
call sym.sqlite3DbFreeNN
mov eax, r13d
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x48]
mov r8d, r15d
mov rcx, qword [rax]
call sym.whereLoopResize.part.0
test eax, eax
je 0x1401b3866
mov rax, qword [rsp + 0x48]
mov edi, dword [r12]
xor ebx, ebx
mov r14, qword [rax]
test edi, edi
jle 0x1401b39d8
nop word [rax + rax]
mov r13, qword [r12 + rbx*8 + 0x80]
test r13, r13
je 0x1401b39c2
test word [r13 + 0x14], 0x9000
jne 0x1401b39ae
mov esi, dword [r13 + 0x20]
test esi, esi
je 0x1401b39b6
mov rcx, r13
call dbg.vdbeMemClear
mov rcx, qword [r13 + 0x18]
mov rdx, r13
call sym.sqlite3DbFreeNN
mov qword [r12 + rbx*8 + 0x80], 0
add rbx, 1
cmp dword [r12], ebx
jg 0x1401b3990
mov rdx, r12
mov rcx, r14
mov r13d, 7
call sym.sqlite3DbFreeNN
jmp 0x1401b3943
mov r14, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0xa0]
not r14
mov rax, r14
and rax, qword [rbx]
mov dword [rsp + 0x80], ecx
mov qword [rsp + 0x58], rax
jne 0x1401b3b19
test ecx, ecx
je 0x1401b38c8
mov qword [rsp + 0x38], 0
mov rdx, qword [rsp + 0x128]
mov r9d, 1
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x30], rdi
mov rcx, qword [rsp + 0x120]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r12
call sym.whereLoopAddVirtualOne
mov rbx, qword [rsp + 0x50]
mov rcx, r14
and rcx, qword [rbx]
sete dl
mov qword [rsp + 0x60], rcx
movzx edx, dl
mov dword [rsp + 0x78], edx
test eax, eax
jne 0x1401b3c41
mov dword [rsp + 0x80], edx
jmp 0x1401b3b33
mov rcx, rbp
call sym.sqlite3Malloc
mov r12, rax
test r12, r12
jne 0x1401b3516
mov rcx, qword [rsp + 0x48]
lea rdx, [0x14038e27c]
mov r13d, 7
call dbg.sqlite3ErrorMsg
jmp 0x1401b3943
mov rcx, qword [r12 + 0x30]
call sym.sqlite3_free
jmp 0x1401b38d5
mov qword [rsp + 0x30], rdi
mov rdx, qword [rsp + 0x128]
xor r9d, r9d
mov r8, 0xffffffffffffffff
mov dword [rsp + 0x28], esi
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], r12
call sym.whereLoopAddVirtualOne
mov r13d, eax
jmp 0x1401b38bf
mov rcx, qword [r11 + 0x20]
mov ecx, dword [rcx]
jmp 0x1401b371f
mov r11d, dword [rsp + 0x80]
test r11d, r11d
jne 0x1401b3a27
mov qword [rsp + 0x60], 0
lea eax, [r15 - 1]
mov dword [rsp + 0x68], esi
mov rsi, qword [rsp + 0x128]
xor ebx, ebx
lea rbp, [rax + rax*2]
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x88], r13d
mov r13, qword [rsp + 0x70]
shl rbp, 2
mov dword [rsp + 0x78], eax
nop dword [rax]
mov r8, rbx
test r15d, r15d
jle 0x1401b3cd0
mov rdx, qword [r12 + 8]
mov r9, qword [r13 + 0x20]
mov rbx, 0xffffffffffffffff
lea rax, [rdx + 8]
lea rcx, [rdx + rbp + 0x14]
nop dword [rax]
movsxd r10, dword [rax]
lea rdx, [r10*8]
sub rdx, r10
mov r11, qword [r9 + rdx*8 + 0x28]
and r11, r14
cmp r11, r8
jbe 0x1401b3bb2
cmp r11, rbx
cmovb rbx, r11
add rax, 0xc
cmp rcx, rax
jne 0x1401b3b90
cmp rbx, 0xffffffffffffffff
je 0x1401b3cd0
cmp rbx, qword [rsp + 0x58]
je 0x1401b3b68
cmp qword [rsp + 0x60], rbx
je 0x1401b3b68
mov eax, dword [rsp + 0x68]
mov qword [rsp + 0x30], rdi
mov r8, rbx
xor r9d, r9d
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x120]
or r8, rsi
mov rdx, rsi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r12
call sym.whereLoopAddVirtualOne
mov rcx, qword [rsp + 0x50]
cmp qword [rcx], rsi
jne 0x1401b3c35
mov r10d, dword [rsp + 0xa0]
mov ecx, 1
mov dword [rsp + 0x80], 1
test r10d, r10d
cmovne ecx, dword [rsp + 0x78]
mov dword [rsp + 0x78], ecx
test eax, eax
je 0x1401b3b68
mov esi, dword [rsp + 0x68]
mov r13d, eax
mov eax, dword [rsp + 0x78]
or eax, r13d
jne 0x1401b38c8
mov r8, qword [rsp + 0x128]
mov qword [rsp + 0x30], rdi
mov r9d, 1
mov dword [rsp + 0x28], esi
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x38], 0
mov rdx, r8
mov qword [rsp + 0x20], r12
call sym.whereLoopAddVirtualOne
mov r13d, eax
jmp 0x1401b38c8
je 0x1401b3680
jmp 0x1401b34e2
mov byte [r8 + 4], 8
jmp 0x1401b35b7
shr si, 6
and esi, 1
jmp 0x1401b34e9
mov qword [rsp + 0x78], 0x88
xor edi, edi
jmp 0x1401b33a4
mov r9d, dword [rsp + 0x80]
mov esi, dword [rsp + 0x68]
mov r13d, dword [rsp + 0x88]
test r9d, r9d
jne 0x1401b3c44
mov r8, qword [rsp + 0x128]
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov dword [rsp + 0x28], esi
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x38], 0
mov rdx, r8
mov qword [rsp + 0x20], r12
call sym.whereLoopAddVirtualOne
mov r8d, dword [rsp + 0xa0]
mov r13d, eax
test r8d, r8d
je 0x1401b38c8
jmp 0x1401b3c44