Function at 0x14037c9a0
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, 0x148
mov rsi, qword [rcx + 0x10]
mov eax, dword [rsp + 0x1b8]
mov qword [rsp + 0xa0], rsi
mov rsi, qword [rcx]
mov r15, rcx
mov r12, r8
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x1a8], r9
mov word [rsp + 0x60], ax
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
test r9, r9
je 0x14037ca4e
cmp dword [r9], 0x40
mov edx, 0
cmovl rdx, r9
mov qword [rsp + 0x1a8], rdx
mov rsi, qword [rsp + 0x1a8]
and ah, 0xfe
mov qword [rsp + 0xf0], rsi
mov rsi, qword [rsp + 0x80]
test byte [rsi + 0x5c], 0x10
cmove ax, word [rsp + 0x60]
mov word [rsp + 0x60], ax
mov rax, qword [rsp + 0x198]
mov eax, dword [rax]
mov dword [rsp + 0x74], eax
cmp eax, 0x40
jg 0x14037ea3a
movzx eax, word [rsp + 0x60]
and ax, 0x20
mov word [rsp + 0x88], ax
je 0x14037cdac
mov dword [rsp + 0x74], 1
mov edx, 0x420
mov ebx, 0x3c0
mov rsi, qword [rsp + 0x80]
mov rcx, rsi
call sym.sqlite3DbMallocRawNN
cmp byte [rsi + 0x63], 0
mov qword [rsp + 0x48], rax
jne 0x14037d614
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x198]
mov edx, dword [rsp + 0x74]
mov qword [rax + 8], rsi
mov rsi, qword [rsp + 0x1a8]
mov byte [rax + 0x40], dl
mov qword [rax + 0x10], rsi
mov rsi, qword [rsp + 0x1b0]
mov qword [rax + 0x28], 0xffffffffffffffff
mov qword [rax + 0x18], rsi
mov rsi, rax
mov qword [rax], r15
lea rdi, [rsi + 0x49]
add rbx, rsi
lea r13, [rsi + 0x70]
mov qword [rax + 0x20], r12
mov eax, dword [r15 + 0x44]
and rdi, 0xfffffffffffffff8
sub eax, 1
mov dword [r15 + 0x44], eax
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], eax
movzx eax, word [rsp + 0x60]
mov word [rsi + 0x3c], ax
movzx eax, word [rsp + 0x1c0]
mov word [rsi + 0x3e], ax
mov eax, dword [r15 + 0xc0]
mov qword [rsi + 0x41], 0
mov dword [rsi + 0x38], eax
mov eax, esi
sub eax, edi
mov qword [rsi + 0x68], 0
lea ecx, [rax + 0x70]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
lea eax, [rdx + 1]
lea rcx, [rsi + 0x360]
mov edi, edx
cdqe
xor edx, edx
mov qword [rsp + 0xa8], rcx
lea r8, [rax + rax*2]
mov qword [rsp + 0x98], rcx
shl r8, 5
call sym.memset
lea rax, [rbx + 0x48]
xor r9d, r9d
mov rdx, r12
mov qword [rbx + 0x38], rax
mov r10d, 3
mov r8d, 0x2c
mov rcx, r13
movabs rax, 0x800000000
mov word [rbx + 0x2c], r9w
mov word [rbx + 0x30], r10w
mov dword [rbx + 0x28], 0
mov qword [rsi + 0x84], rax
lea rax, [rsi + 0x98]
mov dword [rsi + 0x25c], 0
mov qword [rsi + 0x70], rsi
mov byte [rsi + 0x81], 0
mov qword [rsi + 0x78], 0
mov qword [rsi + 0x90], rax
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf8], rbx
call dbg.sqlite3WhereSplit
test edi, edi
jne 0x14037d3fe
cmp qword [rsp + 0x1a8], 0
je 0x14037cc4b
mov rax, qword [rsp + 0x1a8]
mov eax, dword [rax]
mov byte [rsi + 0x41], al
test word [rsp + 0x60], 0x100
jne 0x14037d653
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r15
call dbg.sqlite3VdbeExplain
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x198]
mov eax, dword [rax + 0x84]
mov ebx, eax
mov dword [rsp + 0x50], eax
sub ebx, 1
js 0x14037cca3
nop word [rax + rax]
mov r8d, ebx
mov rdx, r13
mov rcx, rsi
call sym.exprAnalyze
sub ebx, 1
jae 0x14037cc90
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037cf9b
mov rax, qword [rsp + 0xe8]
lea rbp, [rsp + 0x110]
xor edi, edi
xor esi, esi
mov rcx, rbp
lea r12, [dbg.exprNodeIsDeterministic]
mov rbp, rdi
mov edx, dword [rax + 0x14]
lea r14, [dbg.sqlite3SelectWalkFail]
mov rdi, rcx
test edx, edx
jg 0x14037cd6b
jmp 0x14037cdc9
mov rdx, qword [rbx]
mov eax, 1
mov qword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], 0
mov qword [rdi + 0x28], 0
mov word [rsp + 0x134], ax
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], r14
test rdx, rdx
je 0x14037cd8b
mov rcx, rdi
call dbg.walkExpr
cmp word [rsp + 0x134], 0
jne 0x14037cd8b
mov rax, qword [rsp + 0xe8]
add esi, 1
add rbp, 0x38
cmp dword [rax + 0x14], esi
jle 0x14037cdc9
mov rbx, qword [rax + 0x20]
add rbx, rbp
test byte [rbx + 0x12], 2
jne 0x14037cd5f
cmp qword [rbx + 0x30], 0
jne 0x14037cd5f
mov eax, dword [rsp + 0x74]
test eax, eax
jne 0x14037ccf0
mov rax, qword [rsp + 0x48]
mov rdx, qword [rbx]
mov r9d, 0x10
mov rcx, r15
mov r8d, dword [rax + 0x34]
call sym.sqlite3ExprIfFalse
or word [rbx + 0x12], 4
jmp 0x14037cd57
mov eax, dword [rsp + 0x74]
lea ebx, [rax + rax*2 - 3]
shl ebx, 5
add ebx, 0x3c0
movsxd rbx, ebx
lea rdx, [rbx + 0x60]
jmp 0x14037cab8
movzx eax, word [rsp + 0x60]
and ax, 0x100
mov word [rsp + 0x90], ax
jne 0x14037e720
mov rbx, qword [rsp + 0xe0]
cmp dword [rsp + 0x74], 1
mov r13, qword [rbx + 8]
je 0x14037e621
movzx edx, byte [rbx + 0x40]
mov r14, qword [rsp + 0xf8]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
lea r12, [r13 + rax + 8]
mov rax, qword [rbx]
mov rax, qword [rax]
mov dword [r14 + 0x28], 0
mov qword [rsp + 0x58], rax
lea rax, [r14 + 0x48]
mov qword [rsp + 0x68], rax
mov qword [r14 + 0x38], rax
xor eax, eax
mov word [r14 + 0x2c], ax
mov eax, 3
mov word [r14 + 0x30], ax
lea rax, [r13 + 8]
mov dword [rsp + 0x10c], 0x4e20
cmp r12, rax
jbe 0x14037d038
lea rcx, [rsp + 0xe0]
lea rsi, [r13 + 0x78]
xor edi, edi
xor ebp, ebp
mov qword [rsp + 0x50], rcx
mov eax, 0x4e20
mov qword [rsp + 0x190], r15
nop word [rax + rax]
mov byte [r14 + 0x10], bpl
mov r11d, dword [rbx + 0x25c]
add eax, 0x3e8
mov dword [rsp + 0x10c], eax
mov edx, dword [rsi - 0x2c]
test r11d, r11d
jle 0x14037d348
movsxd r8, r11d
xor eax, eax
jmp 0x14037cec5
add rax, 1
cmp r8, rax
je 0x14037d348
mov ecx, eax
cmp edx, dword [rbx + rax*4 + 0x260]
jne 0x14037ceb8
mov eax, 1
shl rax, cl
mov qword [r14 + 8], rax
mov rax, qword [rsi - 0x50]
mov r13d, 0
test byte [rsi - 0x34], 0xa
mov r15d, dword [rax + 0x54]
cmovne r13, rdi
test r15d, r15d
jne 0x14037d350
mov rcx, qword [rsp + 0x50]
mov rdx, r13
xor r15d, r15d
call dbg.whereLoopAddBtree
test eax, eax
jne 0x14037d308
mov rax, qword [rsp + 0xe8]
cmp byte [rax + 0x11], 0
jne 0x14037d3dd
or rdi, qword [r14 + 8]
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x63], 0
je 0x14037d326
mov r15, qword [rsp + 0x190]
mov rdx, qword [r14 + 0x38]
xor eax, eax
cmp rdx, qword [rsp + 0x68]
je 0x14037d038
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x50], eax
mov edi, 3
mov rcx, rsi
call sym.sqlite3DbFreeNN
mov rcx, rsi
mov rdx, r14
xor esi, esi
call sym.whereLoopClearUnion
mov rax, qword [rsp + 0x68]
mov word [r14 + 0x2c], si
mov word [r14 + 0x30], di
mov qword [r14 + 0x38], rax
mov eax, dword [rsp + 0x50]
mov dword [r14 + 0x28], 0
test eax, eax
je 0x14037d067
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x14037cffa
nop
mov rax, qword [rdx]
mov qword [rbx + 0x60], rax
mov rax, qword [rdx + 8]
movdqu xmm0, xmmword [rdx + 0x10]
movups xmmword [rax], xmm0
movdqu xmm1, xmmword [rdx + 0x20]
movups xmmword [rax + 0x10], xmm1
movdqu xmm2, xmmword [rdx + 0x30]
movups xmmword [rax + 0x20], xmm2
movdqu xmm3, xmmword [rdx + 0x40]
movups xmmword [rax + 0x30], xmm3
mov rcx, qword [rdx + 0x50]
mov qword [rax + 0x40], rcx
mov rax, qword [rbx]
mov rcx, qword [rax]
call sym.sqlite3DbFreeNN
mov rdx, qword [rbx + 0x60]
test rdx, rdx
jne 0x14037cfb0
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x80]
mov eax, dword [rdx + 0x38]
mov dword [r15 + 0xc0], eax
call dbg.whereInfoFree
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x48]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call sym.whereLoopClearUnion
mov rax, qword [rsp + 0x68]
mov edx, 3
mov dword [r14 + 0x28], 0
mov word [r14 + 0x30], dx
mov qword [r14 + 0x38], rax
xor eax, eax
mov word [r14 + 0x2c], ax
mov rsi, qword [rsp + 0x48]
xor edx, edx
mov rcx, rsi
call sym.wherePathSolver.isra.0
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037cf9b
cmp qword [rsi + 0x10], 0
je 0x14037d661
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + 0x48]
lea edx, [rax + 1]
mov word [rsp + 0x50], ax
movsx edx, dx
call sym.wherePathSolver.isra.0
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037cf9b
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x14037d661
mov ebx, dword [r15 + 0x30]
test ebx, ebx
jne 0x14037cf9b
mov rax, qword [rsp + 0x80]
movzx r14d, byte [rax + 0x63]
test r14b, r14b
jne 0x14037cf9b
mov rsi, qword [rsp + 0x48]
cmp byte [rsi + 0x40], 1
jbe 0x14037d685
cmp qword [rsp + 0x1b0], 0
je 0x14037d685
mov qword [rsp + 0x78], 0xffffffffffffffff
test word [rsp + 0x60], 0x400
jne 0x14037d68e
test byte [rax + 0x5d], 1
jne 0x14037d68e
mov rax, qword [rsp + 0x1b0]
lea r12, [rsi + 0x258]
mov r11d, dword [rax]
test r11d, r11d
jle 0x14037eea5
xor ebx, ebx
xor esi, esi
mov rdi, rax
mov rax, rbx
shl rax, 5
mov rdx, qword [rdi + rax + 8]
test rdx, rdx
je 0x14037d16c
mov rcx, r12
call sym.sqlite3WhereExprUsageNN
or rsi, rax
add rbx, 1
cmp dword [rdi], ebx
jg 0x14037d150
mov rbp, qword [rsp + 0xf0]
test rbp, rbp
je 0x14037d1ba
mov r10d, dword [rbp]
test r10d, r10d
jle 0x14037ee9e
xor edi, edi
xor ebx, ebx
mov rax, rdi
shl rax, 5
mov rdx, qword [rbp + rax + 8]
test rdx, rdx
je 0x14037d1ae
mov rcx, r12
call sym.sqlite3WhereExprUsageNN
or rbx, rax
add rdi, 1
cmp dword [rbp], edi
jg 0x14037d192
or rsi, rbx
mov rbp, qword [rsp + 0x48]
movzx ebx, byte [rbp + 0x40]
sub ebx, 1
test ebx, ebx
jle 0x14037d685
movsxd rax, ebx
mov r12, 0xffffffffffffffff
lea rax, [rax + rax*2]
shl rax, 5
lea rdi, [rbp + rax + 0x360]
jmp 0x14037d1f7
sub rdi, 0x60
sub ebx, 1
je 0x14037ec88
mov rdx, qword [rdi + 0x50]
mov r10, qword [rbp + 8]
movzx r11d, byte [rdx + 0x10]
lea rax, [r11*8]
sub rax, r11
shl rax, 4
test byte [r10 + rax + 0x44], 8
je 0x14037d1ea
cmp word [rsp + 0x90], 0
jne 0x14037d22c
test byte [rdx + 0x29], 0x10
je 0x14037d1ea
mov rcx, qword [rdx + 8]
test rcx, rsi
jne 0x14037d1ea
mov rax, qword [rsp + 0xe8]
movsxd r8, dword [rax + 0x14]
mov rdx, qword [rax + 0x20]
lea rax, [r8*8]
sub rax, r8
lea r8, [rdx + rax*8]
cmp rdx, r8
jae 0x14037eeac
lea r9, [r11*8]
mov rax, rdx
sub r9, r11
shl r9, 4
add r9, r10
mov r10, rcx
and r10, qword [rax + 0x30]
je 0x14037d297
mov r10, qword [rax]
test byte [r10 + 4], 1
je 0x14037ec92
mov r11d, dword [r9 + 0x4c]
cmp dword [r10 + 0x34], r11d
jne 0x14037ec92
add rax, 0x38
cmp r8, rax
ja 0x14037d272
mov rax, rcx
not rax
and r12, rax
mov rax, rcx
and rax, qword [rdx + 0x30]
je 0x14037d2b7
or word [rdx + 0x12], 4
add rdx, 0x38
cmp r8, rdx
ja 0x14037d2a9
movzx eax, byte [rbp + 0x40]
sub eax, 1
cmp eax, ebx
je 0x14037d2f3
sub eax, ebx
mov rcx, rdi
lea r8d, [rax + rax*2]
lea eax, [rbx + 1]
lea rax, [rax + rax*2]
shl r8d, 5
shl rax, 5
movsxd r8, r8d
lea rdx, [rbp + rax + 0x360]
call sym.memmove
sub byte [rbp + 0x40], 1
sub dword [rsp + 0x74], 1
jmp 0x14037d1ea
or rdi, qword [r14 + 8]
cmp eax, 0x65
jne 0x14037ede6
lea rdx, str.abbreviated_query_algorithm_search
mov ecx, 0x1c
call dbg.sqlite3_log
add ebp, 1
cmp r12, rsi
jbe 0x14037cf38
mov eax, dword [rsp + 0x10c]
add rsi, 0x70
jmp 0x14037ce88
xor eax, eax
jmp 0x14037ced8
cmp r12, rsi
jbe 0x14037d63b
mov r9, rsi
xor r15d, r15d
movsxd r8, r11d
test r15, r15
je 0x14037d3b8
mov edx, dword [r9 + 0x44]
test r11d, r11d
jle 0x14037d397
xor eax, eax
jmp 0x14037d381
add rax, 1
cmp r8, rax
je 0x14037d397
mov ecx, eax
cmp edx, dword [rbx + rax*4 + 0x260]
jne 0x14037d378
mov eax, 1
shl rax, cl
or r15, rax
add r9, 0x70
cmp r12, r9
ja 0x14037d362
mov rcx, qword [rsp + 0x50]
mov r8, r15
mov rdx, r13
call dbg.whereLoopAddVirtual
jmp 0x14037cf0b
test byte [r9 + 0x3c], 0xa
jne 0x14037d367
add r9, 0x70
cmp r12, r9
ja 0x14037d3b8
mov rcx, qword [rsp + 0x50]
mov r8, r15
mov rdx, r13
call dbg.whereLoopAddVirtual
jmp 0x14037cf0b
mov rcx, qword [rsp + 0x50]
mov r8, r15
mov rdx, r13
call dbg.whereLoopAddOr
or rdi, qword [r14 + 8]
test eax, eax
je 0x14037cf29
jmp 0x14037d30c
mov rax, qword [rsp + 0x198]
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x50], r13
lea rbp, [rax + 0x28]
nop word [rax + rax]
mov rsi, qword [rsp + 0x48]
mov edx, dword [rbp + 0x24]
mov rdi, qword [rsp + 0x198]
movsxd rax, dword [rsi + 0x25c]
lea ecx, [rax + 1]
mov dword [rsi + 0x25c], ecx
mov dword [rsi + rax*4 + 0x260], edx
movsxd rdx, dword [rsp + 0x58]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
test byte [rdi + rax + 0x48], 4
je 0x14037d5c8
mov r12, qword [rbp + 0x40]
test r12, r12
je 0x14037d5c8
mov r8d, dword [r12]
test r8d, r8d
jle 0x14037d5c8
mov rdi, qword [rbp]
xor ebx, ebx
xor esi, esi
nop dword [rax + rax]
movsx edx, word [rdi + 0x46]
mov r9d, ebx
cmp esi, edx
jge 0x14037d600
movsxd rax, esi
mov r14d, esi
shl rax, 5
add rax, qword [rdi + 8]
jmp 0x14037d4c1
add r14d, 1
add rax, 0x20
cmp r14d, edx
je 0x14037d600
test byte [rax + 0x1c], 2
je 0x14037d4b0
mov rcx, qword [r15]
mov edx, 0x48
call sym.sqlite3DbMallocRawNN
mov r13, rax
test rax, rax
je 0x14037d5c8
mov qword [r13 + 0x28], 0
mov ecx, 0xffffffff
lea esi, [r14 + 1]
mov qword [r13 + 0x30], 0
mov qword [r13], 0
mov qword [r13 + 0x40], 0
mov qword [r13 + 8], 0
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x18], 0
mov qword [r13 + 0x20], 0
mov qword [r13 + 0x38], 0
mov byte [r13], 0xa6
mov eax, dword [rbp + 0x24]
mov word [r13 + 0x32], cx
mov dword [r13 + 0x2c], eax
mov rax, rbx
shl rax, 5
mov dword [r13 + 0x28], 1
mov rdx, qword [r12 + rax + 8]
mov word [r13 + 0x30], r14w
mov qword [r13 + 0x40], rdi
test rdx, rdx
je 0x14037d575
mov rcx, qword [r15]
xor r9d, r9d
xor r8d, r8d
call dbg.exprDup
mov rdx, rax
mov r8, rdx
xor r9d, r9d
mov edx, 0xad
mov rcx, r15
call dbg.sqlite3PExpr
mov r8, r13
mov edx, 0x35
mov rcx, r15
mov r9, rax
call dbg.sqlite3PExpr
mov r9, rax
test byte [rbp + 0x1c], 8
jne 0x14037d5f0
mov rcx, qword [rsp + 0x50]
mov r8d, 1
mov rdx, r9
add rbx, 1
call dbg.whereClauseInsert
cmp dword [r12], ebx
jg 0x14037d490
nop dword [rax]
mov rdi, qword [rsp + 0x198]
add dword [rsp + 0x58], 1
add rbp, 0x70
mov eax, dword [rsp + 0x58]
cmp dword [rdi], eax
jg 0x14037d420
mov r13, qword [rsp + 0x50]
jmp 0x14037cc69
mov edx, dword [rbp + 0x24]
mov rcx, rax
call dbg.sqlite3SetJoinExpr
jmp 0x14037d5a4
mov r8, qword [rdi]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r15
call dbg.sqlite3ErrorMsg
jmp 0x14037d5c8
test rax, rax
je 0x14037d01f
mov rcx, qword [rsp + 0x80]
mov rdx, rax
call sym.sqlite3DbFreeNN
mov qword [rsp + 0x48], 0
jmp 0x14037d01f
xor r15d, r15d
mov rcx, qword [rsp + 0x50]
mov rdx, r13
mov r8, r15
call dbg.whereLoopAddVirtual
jmp 0x14037cf0b
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x43], 1
jmp 0x14037cc58
mov rax, qword [rsp + 0x80]
test byte [rax + 0x31], 0x10
je 0x14037d0ce
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x68], 0xffffffffffffffff
jmp 0x14037d0ce
mov qword [rsp + 0x78], 0xffffffffffffffff
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsi]
movsx edx, word [rsi + 0x48]
add dword [rax + 0xc0], edx
test byte [rsp + 0x60], 4
je 0x14037d6de
mov r8, qword [rsi + 0x3b0]
mov eax, dword [r8 + 0x28]
test ah, 0x10
je 0x14037eb97
mov rsi, qword [rsp + 0x198]
mov ecx, 1
mov rdx, qword [rsi + 0x28]
mov rsi, qword [rsp + 0x48]
mov byte [rsi + 0x42], cl
test byte [rdx + 0x40], 0x80
je 0x14037ec1a
mov eax, dword [rsp + 0x74]
test eax, eax
jle 0x14037ec5b
sub eax, 1
mov rsi, qword [rsp + 0x48]
mov byte [rsp + 0x58], r14b
lea rax, [rax + rax*2]
mov r14, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x98]
shl rax, 5
lea rbp, [rsi + rax + 0x3c0]
mov qword [rsp + 0x50], rbp
mov rbp, qword [rsp + 0x198]
nop dword [rax]
movzx edi, byte [rbx + 0x34]
lea rax, [rdi*8]
sub rax, rdi
shl rax, 4
mov rsi, qword [rbp + rax + 0x28]
mov rdx, qword [rsi + 0x70]
test rdx, rdx
je 0x14037eddb
mov rax, qword [r14 + 0x20]
cmp rdx, qword [rax + 0x18]
je 0x14037e619
add rax, 0x38
xor r12d, r12d
nop word [rax + rax]
add rax, 0x20
add r12d, 1
cmp rdx, qword [rax - 0x20]
jne 0x14037d768
mov r13, qword [rbx + 0x50]
mov edx, dword [rsi + 0x40]
mov ecx, dword [r13 + 0x28]
test dh, 0x40
jne 0x14037d791
cmp qword [rsi + 0x18], 0
je 0x14037e488
and ch, 2
je 0x14037d843
mov edx, dword [rsi + 0x40]
and edx, 0x80
mov rsi, qword [r13 + 0x20]
je 0x14037d7c3
movzx eax, byte [rsi + 0x64]
and eax, 3
cmp al, 2
jne 0x14037d7c3
cmp word [rsp + 0x88], 0
jne 0x14037eaf7
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x42], 0
jne 0x14037e5c8
mov edi, dword [rsp + 0x1c0]
test edi, edi
je 0x14037d7ec
cmp word [rsp + 0x88], 0
jne 0x14037e9fa
mov r8d, dword [r15 + 0x34]
mov edx, 0x62
lea eax, [r8 + 1]
mov dword [r15 + 0x34], eax
mov dword [rbx + 8], r8d
mov r9d, dword [rsi + 0x58]
mov rdi, qword [rsp + 0xa0]
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call sym.sqlite3VdbeAddOp3
mov rdx, rsi
mov rcx, r15
call sym.sqlite3VdbeSetP4KeyInfo
mov eax, dword [r13 + 0x28]
test al, 0xf
je 0x14037d843
test eax, 0x188002
jne 0x14037d843
mov rax, qword [rsp + 0x48]
test byte [rax + 0x3c], 1
je 0x14037ebe4
test r12d, r12d
js 0x14037d878
mov r8, qword [r15 + 0xa0]
mov edx, 1
mov ecx, r12d
test r8, r8
cmove r8, r15
shl edx, cl
mov eax, dword [r8 + 0x74]
test eax, edx
jne 0x14037d878
or eax, edx
mov dword [r8 + 0x74], eax
cmp r12d, 1
je 0x14037ea2d
add rbx, 0x60
cmp rbx, qword [rsp + 0x50]
jne 0x14037d728
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
mov dword [rsi + 0x4c], eax
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037cf9b
movzx eax, word [rsp + 0x60]
mov rsi, qword [rsp + 0x198]
mov r14, r15
mov dword [rsp + 0x98], 0
mov dword [rsp + 0xd4], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
nop
mov rax, qword [rsp + 0x50]
mov rbp, qword [rax + 0x50]
test byte [rbp + 0x29], 0x40
je 0x14037e143
mov rax, qword [rsp + 0x50]
movzx ebx, byte [rax + 0x34]
lea rax, [rbx*8]
sub rax, rbx
shl rax, 4
lea rax, [rsi + rax + 8]
mov qword [rsp + 0xb8], rax
mov rax, qword [r14 + 0x10]
mov edi, dword [rax + 0x90]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0xc8], edi
cmp edi, dword [rax + 0x94]
jge 0x14037e598
mov edi, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0x58]
lea eax, [rdi + 1]
mov dword [rcx + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0x11
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
movsxd rax, ebx
xor edi, edi
lea rbx, [rax*8]
mov qword [rsp + 0xa8], rax
sub rbx, rax
shl rbx, 4
mov rax, qword [rsi + rbx + 0x28]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0x84]
mov r15, qword [rax + 0x90]
lea rax, [rdx*8]
sub rax, rdx
lea r13, [r15 + rax*8]
cmp r15, r13
jae 0x14037eb7d
xor r12d, r12d
mov dword [rsp + 0x68], edi
mov rdi, rbp
mov qword [rsp + 0x190], r14
mov ebp, r12d
mov r14, qword [rsp + 0xb8]
mov qword [rsp + 0x60], 0
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x88], 0
jmp 0x14037da69
mov eax, dword [rsp + 0x68]
lea ebp, [rax + 1]
movzx eax, word [rdi + 0x30]
cmp ebp, eax
jle 0x14037da45
mov rax, qword [rsp + 0x190]
mov r8d, ebp
mov rdx, rdi
mov qword [rsp + 0xb0], r10
mov rcx, qword [rax]
call sym.whereLoopResize.part.0
mov r10, qword [rsp + 0xb0]
test eax, eax
jne 0x14037ebd7
movsxd rax, dword [rsp + 0x68]
mov rdx, qword [rdi + 0x38]
mov dword [rsp + 0x68], ebp
mov ebp, 1
or qword [rsp + 0x60], r10
mov qword [rdx + rax*8], r15
add r15, 0x38
cmp r13, r15
jbe 0x14037dae4
cmp qword [rdi], 0
jne 0x14037da88
test byte [r15 + 0x12], 2
jne 0x14037da88
mov rdx, qword [r15]
test byte [rdx + 4], 1
je 0x14037e248
nop dword [rax + rax]
mov eax, dword [rsi + rbx + 0x4c]
cmp dword [r15 + 0x1c], eax
jne 0x14037da60
mov r8, r12
mov rdx, r14
mov rcx, r15
call sym.termCanDriveIndex.part.0
test eax, eax
je 0x14037da60
movsxd rcx, dword [r15 + 0x20]
mov r10d, 1
movabs rax, 0x8000000000000000
shl r10, cl
cmp ecx, 0x40
cmovge r10, rax
test bpl, bpl
je 0x14037e208
test qword [rsp + 0x60], r10
je 0x14037da08
add r15, 0x38
mov ebp, 1
cmp r13, r15
ja 0x14037da69
mov r12, qword [rsp + 0x60]
mov rbp, rdi
mov edi, dword [rsp + 0x68]
movabs rcx, 0x8000000000000000
mov r14, qword [rsp + 0x190]
not r12
mov eax, edi
or r12, rcx
mov rcx, qword [rsp + 0xa8]
mov word [rbp + 0x2c], ax
mov r10d, 0x3f
mov word [rbp + 0x18], ax
lea rax, [rcx*8]
mov dword [rbp + 0x28], 0x4241
sub rax, rcx
shl rax, 4
mov rdx, qword [rsi + rax + 0x60]
mov rax, qword [rsp + 0x90]
movsx eax, word [rax + 0x46]
and r12, rdx
cmp ax, 0x3f
mov word [rsp + 0xb0], ax
cmovle r10d, eax
test ax, ax
jle 0x14037db7b
xor ecx, ecx
nop dword [rax]
mov rax, r12
shr rax, cl
add ecx, 1
and eax, 1
add edi, eax
cmp r10d, ecx
jne 0x14037db68
test rdx, rdx
jns 0x14037db8c
movsx eax, word [rsp + 0xb0]
lea edi, [rdi + rax - 0x3f]
mov rcx, qword [r14]
lea edx, [rdi + 1]
xor r8d, r8d
mov dword [rsp + 0x68], r10d
movsx edx, dx
lea r9, [rsp + 0x110]
call dbg.sqlite3AllocateIndexObject
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14037e119
lea rcx, str.auto_index
mov qword [rbp + 0x20], rax
xor r11d, r11d
mov r10d, dword [rsp + 0x68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x90]
cmp r13, rbx
jbe 0x14037ea5d
lea rax, str.BINARY
mov dword [rsp + 0xcc], r10d
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x198], rsi
lea r15, [rax*8]
mov qword [rsp + 0xc0], rbp
mov rbp, qword [rsp + 0xb8]
sub r15, rax
mov qword [rsp + 0xb8], r12
mov r12, rcx
shl r15, 4
mov dword [rsp + 0xd0], edi
mov rdi, rbx
mov ebx, r11d
add r15, rsi
mov rsi, qword [rsp + 0x78]
nop dword [rax]
mov eax, dword [r15 + 0x4c]
cmp dword [rdi + 0x1c], eax
jne 0x14037dca0
mov r8, rsi
mov rdx, rbp
mov rcx, rdi
call sym.termCanDriveIndex.part.0
test eax, eax
je 0x14037dca0
mov ecx, dword [rdi + 0x20]
mov eax, 1
movabs rdx, 0x8000000000000000
shl rax, cl
cmp ecx, 0x40
cmovge rax, rdx
test rax, r12
je 0x14037e2ef
nop dword [rax + rax]
add rdi, 0x38
cmp r13, rdi
ja 0x14037dc58
movsxd rax, ebx
mov rbp, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xb8]
mov r10d, dword [rsp + 0xcc]
mov edi, dword [rsp + 0xd0]
mov r11, rax
lea r8, [rax + rax]
mov rsi, qword [rsp + 0x198]
shl rax, 3
cmp word [rsp + 0xb0], 0
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x40]
jle 0x14037dd29
mov r9, qword [rsp + 0x68]
xor eax, eax
nop dword [rax]
bt r12, rax
jae 0x14037dd16
movsxd r8, r11d
add r11d, 1
mov word [rcx + r8*2], ax
mov qword [rdx + r8*8], r9
add eax, 1
cmp r10d, eax
jne 0x14037dd00
movsxd rax, r11d
lea r8, [rax + rax]
shl rax, 3
mov rbx, qword [rsp + 0xa8]
lea r10, [rbx*8]
sub r10, rbx
shl r10, 4
cmp qword [rsi + r10 + 0x60], 0
js 0x14037e40b
mov r9d, 0xffffffff
mov rbx, qword [rsp + 0x50]
mov dword [rsp + 0x90], r11d
mov word [rcx + r8], r9w
mov r8d, dword [r14 + 0x34]
lea r9d, [rdi + 1]
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
mov qword [rdx + rax], rcx
lea eax, [r8 + 1]
mov edx, 0x65
mov rcx, rdi
mov dword [r14 + 0x34], eax
mov dword [rbx + 8], r8d
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0x60]
mov rcx, r14
call sym.sqlite3VdbeSetP4KeyInfo
mov rax, qword [rsp + 0x48]
movzx r12d, byte [rbx + 0x34]
mov r11d, dword [rsp + 0x90]
mov rax, qword [rax + 0x70]
mov r13, qword [rax + 8]
lea rax, [r12*8]
sub rax, r12
shl rax, 4
add rax, r13
test byte [rax + 0x48], 0x10
je 0x14037e3a9
mov ebx, dword [rax + 0x3c]
mov r15d, dword [rdi + 0x90]
cmp r15d, dword [rdi + 0x94]
jge 0x14037eac8
mov rdi, qword [rsp + 0x58]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0x45
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov rdi, qword [rsp + 0x58]
xor r9d, r9d
mov r8d, ebx
mov edx, 0xd
lea rax, [r12*8]
mov dword [rsp + 0x68], r11d
sub rax, r12
mov rcx, rdi
shl rax, 4
mov eax, dword [r13 + rax + 0x38]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rax, rdi
mov edi, dword [rdi + 0x90]
mov r11d, dword [rsp + 0x68]
cmp edi, dword [rax + 0x94]
jge 0x14037ea9f
mov rcx, qword [rsp + 0x58]
lea eax, [rdi + 1]
mov dword [rcx + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ebx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0xe
mov rdx, qword [rsp + 0x88]
xor ebx, ebx
test rdx, rdx
je 0x14037def1
mov eax, dword [r14 + 0x44]
mov r9d, 0x10
mov rcx, r14
mov dword [rsp + 0x68], r11d
lea ebx, [rax - 1]
mov dword [r14 + 0x44], ebx
mov r8d, ebx
call sym.sqlite3ExprIfFalse
or dword [rbp + 0x28], 0x20000
mov r11d, dword [rsp + 0x68]
movzx eax, byte [r14 + 0x1f]
test al, al
je 0x14037e460
sub eax, 1
mov byte [r14 + 0x1f], al
movzx eax, al
mov ebp, dword [r14 + rax*4 + 0xd0]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov r9d, ebp
mov rcx, r14
mov dword [rsp + 0x68], r11d
mov r8d, dword [rax + 4]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call dbg.sqlite3GenerateIndexKey
mov rcx, qword [rsp + 0x58]
mov edx, 0x86
mov r9d, ebp
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 8]
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
mov rcx, qword [rsp + 0x58]
mov r11d, dword [rsp + 0x68]
mov edx, dword [rcx + 0x90]
test edx, edx
jle 0x14037dfa6
mov r10, qword [rcx + 0x88]
movsxd rax, edx
mov ecx, 0x10
lea rax, [rax + rax*2]
lea rax, [r10 + rax*8]
mov word [rax - 0x16], cx
cmp qword [rsp + 0x88], 0
je 0x14037dfd2
mov rax, qword [rsp + 0x58]
not ebx
mov rcx, qword [rax + 0x18]
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x14037ea11
mov rax, qword [rcx + 0x50]
movsxd rbx, ebx
mov dword [rax + rbx*4], edx
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
lea rax, [r12*8]
sub rax, r12
shl rax, 4
test byte [r13 + rax + 0x48], 0x10
je 0x14037e35b
mov ecx, dword [rsp + 0x60]
add ecx, r11d
test r15d, r15d
jns 0x14037e015
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x90]
mov dword [rsp + 0x60], eax
lea r15d, [rax - 1]
mov rbx, qword [rsp + 0x58]
lea rax, [0x1407d6d60]
mov rdx, qword [rbx]
cmp byte [rdx + 0x63], 0
jne 0x14037e03c
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x50]
mov r9d, r8d
mov r8d, edi
mov rdx, qword [r14 + 0x10]
mov eax, dword [rax + 8]
mov dword [rsp + 0x28], eax
lea rax, [r12*8]
sub rax, r12
shl rax, 4
add r13, rax
mov eax, dword [r13 + 0x40]
mov dword [rsp + 0x20], eax
mov rcx, qword [r14]
call sym.translateColumnToCopy.isra.0
mov rbx, qword [rsp + 0x58]
mov edx, edi
mov rcx, rbx
call sym.sqlite3VdbeGoto.isra.0
and byte [r13 + 0x48], 0xef
mov edx, dword [rbx + 0x90]
mov rbx, qword [rsp + 0x58]
lea eax, [rdx - 1]
test edi, edi
lea rcx, [0x1407d6d60]
cmovs edi, eax
mov rax, qword [rbx]
movzx eax, byte [rax + 0x63]
test al, al
jne 0x14037e0c2
mov rcx, qword [rbx + 0x88]
movsxd rdi, edi
lea r8, [rdi + rdi*2]
lea rcx, [rcx + r8*8]
mov dword [rcx + 8], edx
test ebp, ebp
je 0x14037e0e3
movzx ecx, byte [r14 + 0x1f]
cmp cl, 7
ja 0x14037e0e3
lea r8d, [rcx + 1]
mov byte [r14 + 0x1f], r8b
mov dword [r14 + rcx*4 + 0xd0], ebp
mov edi, dword [rsp + 0xc8]
lea ecx, [rdx - 1]
test edi, edi
cmovns ecx, edi
mov edi, ecx
lea rcx, [0x1407d6d60]
test al, al
jne 0x14037e116
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x88]
lea rcx, [rax + rcx*8]
mov dword [rcx + 8], edx
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14037e131
mov rcx, qword [r14]
mov rdx, rax
call dbg.sqlite3ExprDeleteNN
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037e2e7
mov rax, qword [r14 + 0xa0]
test rax, rax
cmove rax, r14
cmp byte [rax + 0x113], 2
jne 0x14037e17e
mov rax, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, r14
mov r9, qword [rax + 0x50]
movzx r8d, byte [rax + 0x34]
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x20], eax
call sym.sqlite3WhereExplainOneScan.part.0.isra.0
mov rdx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x50]
mov rcx, r14
mov ebx, dword [rsp + 0x98]
mov r15, qword [rsp + 0x48]
mov eax, dword [rdx + 0x90]
mov r9d, ebx
mov r8, r15
add ebx, 1
mov dword [rdi + 0x20], eax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rdi
add rdi, 0x60
mov qword [rsp + 0x28], rax
call sym.sqlite3WhereCodeOneLoopStart
mov dword [rsp + 0x98], ebx
mov qword [rsp + 0x78], rax
mov eax, dword [rdi - 0x48]
mov qword [rsp + 0x50], rdi
mov dword [r15 + 0x30], eax
cmp dword [rsp + 0x74], ebx
jne 0x14037d8e0
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x90]
mov rsi, qword [rsp + 0x48]
mov dword [rsi + 0x50], eax
jmp 0x14037d01f
mov rax, qword [rsp + 0x90]
shl rcx, 5
lea rdx, str.automatic_index_on__s__s_
mov qword [rsp + 0xb0], r10
add rcx, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [rcx]
mov ecx, 0x11c
call dbg.sqlite3_log
mov r10, qword [rsp + 0xb0]
jmp 0x14037dacb
lea rcx, [dbg.exprNodeIsConstant]
mov eax, dword [rsi + rbx + 0x4c]
mov r10d, 3
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x118], rcx
lea rcx, [dbg.sqlite3SelectWalkFail]
mov qword [rsp + 0x120], rcx
lea rcx, [rsp + 0x110]
mov word [rsp + 0x134], r10w
mov dword [rsp + 0x138], eax
call dbg.walkExpr
mov rdx, qword [rsp + 0xb0]
cmp word [rsp + 0x134], 0
je 0x14037da88
mov rax, qword [rsp + 0x190]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax]
call dbg.exprDup
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x190]
mov r8, rax
call dbg.sqlite3ExprAnd
mov qword [rsp + 0x88], rax
jmp 0x14037da88
mov r15, r14
jmp 0x14037cf9b
or r12, rax
mov rax, qword [rsp + 0x60]
mov r8, qword [rdi]
movsxd r10, ebx
mov qword [rsp + 0xd8], r10
mov rax, qword [rax + 8]
test byte [r8 + 5], 2
mov r11, qword [r8 + 0x18]
mov rdx, qword [r8 + 0x10]
mov word [rax + r10*2], cx
je 0x14037e470
mov r8, rdx
mov rcx, r14
mov rdx, r11
call sym.sqlite3BinaryCompareCollSeq
mov r10, qword [rsp + 0xd8]
lea rdx, str.BINARY
test rax, rax
je 0x14037e346
mov rdx, qword [rax]
mov rax, qword [rsp + 0x60]
add ebx, 1
mov rax, qword [rax + 0x40]
mov qword [rax + r10*8], rdx
jmp 0x14037dca0
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0
mov edx, 5
lea r9d, [rdi + 1]
mov rcx, rbx
call sym.sqlite3VdbeAddOp3
mov edx, dword [rbx + 0x90]
test edx, edx
jle 0x14037e091
mov r8, qword [rbx + 0x88]
movsxd rax, edx
mov r9d, 3
lea rax, [rax + rax*2]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], r9w
jmp 0x14037e091
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
mov rax, qword [rsp + 0x58]
mov edi, dword [rax + 0x90]
cmp edi, dword [rax + 0x94]
jge 0x14037ea73
mov rcx, qword [rsp + 0x58]
lea eax, [rdi + 1]
xor r15d, r15d
mov dword [rcx + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x25
jmp 0x14037deb5
mov r10, qword [rsp + 0x90]
cmp word [r10 + 0x46], 0x3f
jle 0x14037dd4c
lea eax, [r11 + 1]
mov rbx, qword [rsp + 0x68]
mov r8d, 0x3f
cdqe
mov word [rcx + rax*2 - 2], r8w
movsx r9d, word [r10 + 0x46]
add r8d, 1
mov r11d, eax
mov qword [rdx + rax*8 - 8], rbx
add rax, 1
cmp r8d, r9d
jl 0x14037e430
movsxd rax, r11d
lea r8, [rax + rax]
shl rax, 3
jmp 0x14037dd4c
mov eax, dword [r14 + 0x38]
lea ebp, [rax + 1]
mov dword [r14 + 0x38], ebp
jmp 0x14037df10
mov r8, r11
mov rcx, r14
call sym.sqlite3BinaryCompareCollSeq
mov r10, qword [rsp + 0xd8]
jmp 0x14037e337
test ch, 4
jne 0x14037eb16
mov eax, dword [rsi + 0x54]
test eax, eax
jne 0x14037d791
test cl, 0x40
jne 0x14037e54f
cmp word [rsp + 0x88], 0
jne 0x14037e54f
mov r11, qword [rsp + 0x48]
lea rdx, [rdi*8]
mov ecx, 0x62
sub rdx, rdi
shl rdx, 4
cmp byte [r11 + 0x42], 0
mov edx, dword [rbp + rdx + 0x4c]
je 0x14037e4e1
mov dword [r11 + 0x28], edx
mov ecx, 0x63
mov dword [rsp + 0x20], ecx
mov r9, rsi
mov r8d, r12d
mov rcx, r15
mov dword [rsp + 0x68], eax
call sym.sqlite3OpenTable
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x42], 0
jne 0x14037e517
cmp word [rsi + 0x46], 0x3f
jg 0x14037e517
test byte [rsi + 0x40], 0xe0
mov eax, dword [rsp + 0x68]
je 0x14037eeb7
mov rdx, qword [rsp + 0xa0]
mov ecx, dword [r13 + 0x28]
movsxd rax, dword [rdx + 0x90]
test eax, eax
jle 0x14037d791
mov r8, qword [rdx + 0x88]
lea rax, [rax + rax*2]
movzx edx, byte [rsp + 0x58]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], dx
jmp 0x14037d791
cmp r12d, 1
je 0x14037eca0
mov rdx, qword [r15]
movsxd rax, r12d
shl rax, 5
add rax, qword [rdx + 0x20]
mov rax, qword [rax + 8]
cmp byte [rax + 0x11], 0
je 0x14037d791
mov rax, qword [rsi]
mov r8d, dword [rsi + 0x38]
mov rcx, r15
xor r9d, r9d
mov edx, r12d
mov qword [rsp + 0x20], rax
call dbg.lockTable
mov ecx, dword [r13 + 0x28]
jmp 0x14037d791
xor r9d, r9d
xor r8d, r8d
mov edx, 0x11
mov rcx, rax
mov dword [rsp + 0x20], 0
call dbg.growOp3
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x50]
mov rbp, qword [rax + 0x50]
jmp 0x14037d978
lea rax, [rdi*8]
mov r8d, dword [rsp + 0x1c0]
sub rax, rdi
shl rax, 4
mov rax, qword [rbp + rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14037e5fd
jmp 0x14037e602
mov rax, qword [rax + 0x28]
add r8d, 1
test rax, rax
je 0x14037e602
cmp rsi, rax
jne 0x14037e5f0
mov rax, qword [rsp + 0x48]
mov edx, 0x63
mov dword [rax + 0x2c], r8d
mov dword [rbx + 8], r8d
jmp 0x14037d801
xor r12d, r12d
jmp 0x14037d776
test byte [rbx + 0x3c], 0x20
jne 0x14037cdf7
mov rsi, qword [r13 + 0x28]
mov edi, dword [rsi + 0x54]
test edi, edi
jne 0x14037cdf7
test byte [r13 + 0x48], 2
jne 0x14037cdf7
xor r11d, r11d
mov r10d, dword [r13 + 0x4c]
lea rcx, [rbx + 0x70]
xor r9d, r9d
mov rbp, qword [rsp + 0xf8]
mov r8d, 0xffffffff
mov qword [rsp + 0x50], rcx
mov edx, r10d
mov dword [rsp + 0x58], r10d
mov dword [rbp + 0x28], 0
mov word [rbp + 0x2e], r11w
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x82
call dbg.sqlite3WhereFindTerm
mov rcx, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
test rax, rax
je 0x14037ecae
mov rdx, qword [rbp + 0x38]
mov ecx, 1
mov r8d, 1
mov r9d, 0x21
mov dword [rbp + 0x28], 0x1101
mov qword [rdx], rax
mov word [rbp + 0x2c], cx
mov word [rbp + 0x18], r8w
mov word [rbp + 0x14], r9w
mov eax, 1
mov word [rbp + 0x16], ax
mov eax, 1
mov qword [rbx + 0x3b0], rbp
mov qword [rbp + 8], 1
mov word [rbx + 0x48], ax
mov rax, qword [rbx + 0x10]
mov dword [rbx + 0x364], r10d
test rax, rax
je 0x14037e706
mov eax, dword [rax]
mov byte [rbx + 0x41], al
test byte [rbx + 0x3d], 1
je 0x14037d0be
mov byte [rbx + 0x43], 1
jmp 0x14037d0be
mov rax, qword [rsp + 0x198]
cmp dword [rax], 1
jne 0x14037e9cf
mov rax, qword [rsp + 0x198]
mov r12d, dword [rax + 0x4c]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x1b0]
mov eax, dword [rax]
test eax, eax
jle 0x14037e7b1
mov rsi, qword [rsp + 0x1b0]
sub eax, 1
shl rax, 5
lea rcx, [rsi + 8]
lea r8, [rsi + rax + 0x28]
mov rax, qword [rcx]
test rax, rax
jne 0x14037e785
jmp 0x14037e7a8
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x14037e7a8
mov edx, dword [rax + 4]
test edx, 0x41000
je 0x14037e98e
and edx, 0x40000
jne 0x14037e778
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14037e785
nop dword [rax]
add rcx, 0x20
cmp r8, rcx
jne 0x14037e767
mov r14, qword [r9 + 0x10]
test r14, r14
je 0x14037e9cf
mov qword [rsp + 0x190], r15
mov rsi, qword [rsp + 0x1b0]
mov r15d, r12d
jmp 0x14037e7e5
mov r14, qword [r14 + 0x28]
test r14, r14
je 0x14037e9c7
cmp byte [r14 + 0x62], 0
je 0x14037e7d8
cmp qword [r14 + 0x48], 0
jne 0x14037e7d8
cmp word [r14 + 0x5e], 0
je 0x14037e8c5
xor edi, edi
jmp 0x14037e81e
movzx eax, word [r14 + 0x5e]
add rdi, 1
lea ebp, [r12 + 1]
cmp eax, edi
jle 0x14037e8bd
mov qword [rsp + 0x28], r14
mov r8d, edi
mov edx, r15d
mov rcx, r13
mov dword [rsp + 0x20], 2
mov r9, 0xffffffffffffffff
mov r12d, edi
mov ebp, edi
call dbg.sqlite3WhereFindTerm
test rax, rax
jne 0x14037e808
mov rax, qword [r14 + 0x40]
mov r8, qword [rax + rdi*8]
mov eax, dword [rsi]
test eax, eax
jle 0x14037e8b8
lea r9, [rdi + rdi]
xor ebx, ebx
nop
mov rax, rbx
shl rax, 5
mov r10, qword [rsi + rax + 8]
mov rax, r10
test r10, r10
jne 0x14037e88d
jmp 0x14037e8b0
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x14037e8b0
mov edx, dword [rax + 4]
test edx, 0x41000
je 0x14037e8e0
and edx, 0x40000
jne 0x14037e880
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14037e88d
nop dword [rax]
add rbx, 1
cmp dword [rsi], ebx
jg 0x14037e860
movzx eax, word [r14 + 0x5e]
cmp ebp, eax
jne 0x14037e7d8
mov r15, qword [rsp + 0x190]
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x43], 1
jmp 0x14037cde0
movzx ecx, byte [rax]
lea edx, [rcx + 0x5a]
and edx, 0xfd
jne 0x14037e8b0
mov rdx, qword [r14 + 8]
movzx ecx, word [rdx + r9]
cmp word [rax + 0x30], cx
jne 0x14037e8b0
cmp r15d, dword [rax + 0x2c]
jne 0x14037e8b0
mov rcx, qword [rsp + 0x190]
mov rdx, r10
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r8
call dbg.sqlite3ExprCollSeq
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
test rax, rax
je 0x14037eb02
mov r10, qword [rax]
xor ecx, ecx
jmp 0x14037e95a
lea r11, [0x140768440]
movzx edx, byte [r11 + rdx]
cmp byte [r11 + rax], dl
jne 0x14037e8b0
add rcx, 1
movzx eax, byte [r10 + rcx]
movzx edx, byte [r8 + rcx]
cmp eax, edx
jne 0x14037e940
test eax, eax
jne 0x14037e956
mov rax, qword [r14 + 8]
movsx rax, word [rax + r9]
movsx edx, ax
test edx, edx
jns 0x14037ec40
cmp edx, 0xffffffff
jne 0x14037e8b8
jmp 0x14037e808
movzx esi, byte [rax]
lea edx, [rsi + 0x5a]
and edx, 0xfd
jne 0x14037e7a8
cmp r12d, dword [rax + 0x2c]
jne 0x14037e7a8
cmp word [rax + 0x30], 0
js 0x14037e8cd
add rcx, 0x20
cmp r8, rcx
jne 0x14037e767
jmp 0x14037e7b1
mov r15, qword [rsp + 0x190]
cmp qword [rsp + 0x1a8], 0
jne 0x14037cde0
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x1b0]
or word [rax + 0x3c], 0x80
mov qword [rax + 0x10], rsi
jmp 0x14037cde0
mov eax, dword [rsp + 0x1c0]
mov edx, 0x61
mov dword [rbx + 8], eax
mov r8d, eax
jmp 0x14037d801
mov rdx, qword [rsp + 0x58]
mov r8d, ebx
mov dword [rsp + 0x68], r11d
call dbg.resizeResolveLabel
mov r11d, dword [rsp + 0x68]
jmp 0x14037dfd2
mov rcx, r8
call dbg.sqlite3OpenTempDatabase
jmp 0x14037d878
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r15
call dbg.sqlite3ErrorMsg
mov qword [rsp + 0x48], 0
jmp 0x14037d01f
lea rcx, str.BINARY
xor eax, eax
xor r8d, r8d
mov qword [rsp + 0x68], rcx
jmp 0x14037dcde
xor r9d, r9d
mov edx, 0x25
mov rcx, rax
mov dword [rsp + 0x68], r11d
mov dword [rsp + 0x20], 0
xor r15d, r15d
call dbg.growOp3
mov r11d, dword [rsp + 0x68]
mov edi, eax
jmp 0x14037deb5
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
mov r8d, ebx
mov edx, 0xe
mov dword [rsp + 0x20], 0
call dbg.growOp3
mov r11d, dword [rsp + 0x68]
mov edi, eax
jmp 0x14037deb5
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x45
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x68], r11d
call dbg.growOp3
mov r11d, dword [rsp + 0x68]
mov r15d, eax
jmp 0x14037de2d
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x14037d843
mov rax, qword [rsp + 0x190]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x14037e930
mov rax, qword [rsi + 0x60]
test rax, rax
jne 0x14037eb31
jmp 0x14037eb36
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14037eb36
cmp r14, qword [rax]
jne 0x14037eb28
lea rdx, [rdi*8]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0xa0]
xor r9d, r9d
sub rdx, rdi
mov dword [rsp + 0x30], 0xfffffff4
mov dword [rsp + 0x20], 0
shl rdx, 4
mov r8d, dword [rbp + rdx + 0x4c]
mov edx, 0xa9
call sym.sqlite3VdbeAddOp4
mov ecx, dword [r13 + 0x28]
jmp 0x14037d791
mov qword [rsp + 0x88], 0
mov r12, 0xffffffffffffffff
xor eax, eax
jmp 0x14037db0a
movzx esi, word [rsp + 0x60]
test sil, 8
je 0x14037d6de
mov rdi, qword [rsp + 0x198]
mov rdx, qword [rdi + 0x28]
mov r9d, dword [rdx + 0x54]
test r9d, r9d
jne 0x14037d6de
test ah, 0x20
je 0x14037ebcd
and esi, 0x10
je 0x14037d6de
mov ecx, 2
jmp 0x14037d6cc
mov r14, qword [rsp + 0x190]
jmp 0x14037e119
cmp byte [rax + 0x43], 2
je 0x14037d843
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x14037d843
mov r11, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov esi, 2
lea rax, [r11 + rax*8]
mov word [rax - 0x16], si
jmp 0x14037d843
test al, 0x40
je 0x14037d6de
test byte [rsp + 0x60], 8
mov edx, 8
cmovne r14d, edx
and eax, 0xffffffbf
mov dword [r8 + 0x28], eax
jmp 0x14037d6de
mov rdx, qword [r14 + 0x18]
shl rax, 5
add rax, qword [rdx + 8]
cmp byte [rax + 0x18], 0
jne 0x14037e808
jmp 0x14037e8b8
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
mov dword [rsi + 0x4c], eax
mov rsi, qword [rsp + 0x80]
cmp byte [rsi + 0x63], 0
jne 0x14037cf9b
jmp 0x14037e1f4
mov qword [rsp + 0x78], r12
jmp 0x14037d68e
cmp r8, rax
ja 0x14037d1ea
jmp 0x14037d2a0
and ch, 2
jne 0x14037d79d
jmp 0x14037d848
mov r12, qword [rsi + 0x10]
test r12, r12
je 0x14037ee53
mov qword [rsp + 0x190], r15
mov r15, r13
mov r13, rbx
mov ebx, r10d
mov r10, qword [rsp + 0x190]
jmp 0x14037ece4
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x14037ee6f
cmp byte [r12 + 0x62], 0
je 0x14037ecd6
cmp qword [r12 + 0x48], 0
jne 0x14037ecd6
movzx edx, word [r12 + 0x5e]
cmp dx, 3
ja 0x14037ecd6
movzx eax, byte [r12 + 0x64]
mov r8d, eax
and r8d, 8
cmp r8b, 1
sbb edi, edi
and edi, 0xffffff80
add edi, 0x82
test dx, dx
je 0x14037ee7d
xor esi, esi
jmp 0x14037ed43
mov rdx, qword [rbp + 0x38]
lea r14d, [rsi + 1]
mov qword [rdx + rsi*8], rax
movzx eax, word [r12 + 0x5e]
add rsi, 1
cmp eax, esi
jle 0x14037ed81
mov qword [rsp + 0x28], r12
xor r9d, r9d
mov r8d, esi
mov edx, ebx
mov dword [rsp + 0x20], edi
mov r14d, esi
mov qword [rsp + 0x190], r10
mov qword [rsp + 0x50], rcx
call dbg.sqlite3WhereFindTerm
mov rcx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x190]
test rax, rax
jne 0x14037ed29
movzx eax, word [r12 + 0x5e]
cmp r14d, eax
jne 0x14037ecd6
mov qword [rsp + 0x190], r10
movzx eax, byte [r12 + 0x64]
mov r10d, ebx
mov rbx, r13
mov r13, r15
mov r15, qword [rsp + 0x190]
mov dword [rbp + 0x28], 0x1201
test al, 0x20
jne 0x14037ee30
mov rax, qword [r13 + 0x60]
and rax, qword [r12 + 0x68]
je 0x14037ee30
mov eax, 0x27
mov word [rbp + 0x2c], r14w
mov word [rbp + 0x18], r14w
mov qword [rbp + 0x20], r12
mov word [rbp + 0x14], ax
jmp 0x14037e6d0
mov r12d, 0xffff8000
jmp 0x14037d776
mov r15, qword [rsp + 0x190]
mov rdx, qword [r14 + 0x38]
cmp qword [rsp + 0x68], rdx
jne 0x14037cf51
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call sym.whereLoopClearUnion
mov rax, qword [rsp + 0x68]
mov word [r14 + 0x2c], 0
mov word [r14 + 0x30], 3
mov qword [r14 + 0x38], rax
mov dword [r14 + 0x28], 0
jmp 0x14037cf9b
mov edx, 0x27
mov dword [rbp + 0x28], 0x1241
mov word [rbp + 0x2c], r14w
mov word [rbp + 0x18], r14w
mov qword [rbp + 0x20], r12
mov word [rbp + 0x14], dx
jmp 0x14037e6d0
mov eax, dword [rbp + 0x28]
test eax, eax
jne 0x14037e6d0
mov rbx, qword [rsp + 0xe0]
mov r13, qword [rbx + 8]
jmp 0x14037cdf7
mov r15, r10
mov eax, dword [rbp + 0x28]
mov r10d, ebx
mov rbx, r13
jmp 0x14037ee56
mov qword [rsp + 0x190], r10
xor r14d, r14d
mov r10d, ebx
mov rbx, r13
mov r13, r15
mov r15, qword [rsp + 0x190]
jmp 0x14037eda9
xor ebx, ebx
jmp 0x14037d1b7
xor esi, esi
jmp 0x14037d174
not rcx
and r12, rcx
jmp 0x14037d2c0
lea rdx, [rdi*8]
sub rdx, rdi
shl rdx, 4
mov rdx, qword [rbp + rdx + 0x60]
test rdx, rdx
je 0x14037eed8
add eax, 1
shr rdx, 1
jne 0x14037eed0
mov rcx, qword [rsp + 0xa0]
mov r9d, 0xfffffffd
movsxd r8, eax
mov edx, 0xffffffff
call sym.sqlite3VdbeChangeP4
jmp 0x14037e517