Function at 0x14021ce90
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
lea rsi, [0x140285800]
mov r13, qword [rsp + 0x158]
lea eax, [r8 - 6]
mov rbp, rcx
lea rdi, [rsp + 0x78]
mov r15, rdx
mov ecx, 0xa
mov r14d, r8d
mov r12, r9
rep movsd dword [rdi], dword [rsi]
cmp eax, 0x61
jbe 0x14021cf00
xor eax, eax
cmp r8d, 6
lea rcx, [0x14036c8ee]
mov edi, 1
setge al
add eax, 2
cdqe
mov rdx, qword [rsp + rax*8 + 0x78]
call fcn.14026cbb0
mov qword [r13], rax
jmp 0x14021d6c7
mov r8d, 1
mov edx, 1
mov rcx, rbp
mov edi, 7
call fcn.140271b70
mov edx, 2
mov rcx, rbp
call fcn.140271b70
mov rcx, qword [r12 + 8]
call sub.msvcrt.dll_strlen
mov rcx, qword [r12 + 0x10]
mov rbx, rax
call sub.msvcrt.dll_strlen
movsxd r9, ebx
mov rdx, rax
lea eax, [rax + rax]
mov qword [rsp + 0x58], r9
cdqe
mov qword [rsp + 0x68], rdx
lea rsi, [r9 + rax + 0x3d0]
mov rcx, rsi
call fcn.14026cb10
mov rbx, rax
test rax, rax
je 0x14021d6c7
test r15, r15
mov r9, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
setne al
setne r8b
mov rdi, rbx
movzx eax, al
lea r10, [rbx + 0x3c8]
movsxd rdx, edx
mov dword [rsp + 0x60], eax
xor eax, eax
lea r15, [rsp + 0xa0]
rep stosb byte [rdi], al
lea rax, [0x1402889c0]
mov qword [rbx + 0x30], r10
mov rdi, r10
mov qword [rbx], rax
lea rax, [r10 + r9 + 1]
lea rcx, [rax + rdx + 1]
mov byte [rbx + 0x26], r8b
mov qword [rbx + 0x40], rcx
mov rcx, r9
mov qword [rbx + 0x38], rax
mov rsi, qword [r12 + 8]
mov dword [rbx + 0x48], 1
rep movsb byte [rdi], byte [rsi]
mov rdi, rax
mov rcx, rdx
mov rsi, qword [r12 + 0x10]
rep movsb byte [rdi], byte [rsi]
mov rcx, rdx
mov rsi, qword [r12 + 0x10]
mov rdi, qword [rbx + 0x40]
rep movsb byte [rdi], byte [rsi]
mov rcx, rbp
mov esi, 4
add rdx, qword [rbx + 0x40]
mov dword [rdx], 0x646f6e5f
mov word [rdx + 4], 0x65
call fcn.14026f2a0
mov r9, qword [r12 + 0x18]
mov rdx, r15
mov qword [rsp + 0x58], rax
mov rcx, r9
mov qword [rsp + 0x68], r9
call fcn.14023f740
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
lea rdx, str.CREATE_TABLE_x__.s_INT
mov r8d, eax
call fcn.14026f210
movsxd rdi, dword [rsp + 0x60]
mov r9, qword [r12 + rsi*8]
mov al, byte [rbx + 0x29]
cmp byte [r9], 0x2b
jne 0x14021d082
inc eax
inc r9
mov rdx, r15
mov byte [rbx + 0x29], al
mov rcx, r9
mov qword [rsp + 0x60], r9
call fcn.14023f740
mov r9, qword [rsp + 0x60]
lea rdx, str.__.s
mov r8d, eax
jmp 0x14021d0ac
test al, al
jne 0x14021d0c6
inc byte [rbx + 0x25]
mov rdx, r15
mov rcx, r9
mov qword [rsp + 0x60], r9
call fcn.14023f740
mov r9, qword [rsp + 0x60]
mov r8d, eax
lea rax, str.DJ7_
mov rdx, qword [rax + rdi*8]
mov rcx, qword [rsp + 0x58]
call fcn.14026f210
lea rax, [rsi + 1]
cmp r14d, eax
jle 0x14021d0c4
mov rsi, rax
jmp 0x14021d04c
inc esi
mov rcx, qword [rsp + 0x58]
lea rdx, [0x1403743bf]
call fcn.14026f210
mov rcx, qword [rsp + 0x58]
call fcn.14026f250
mov rdi, rax
test rax, rax
jne 0x14021d0fa
xor ecx, ecx
mov esi, 7
call fcn.14026bb70
jmp 0x14021d6bd
cmp r14d, esi
jle 0x14021d123
lea rdx, str.Auxiliary_rtree_columns_must_be_last
lea rcx, [0x14036c8ee]
call fcn.14026cbb0
mov rcx, rdi
mov qword [r13], rax
call fcn.14026bb70
jmp 0x14021d6b8
mov rdx, rax
mov rcx, rbp
call fcn.14026ae60
mov esi, eax
test eax, eax
je 0x14021d15c
mov rcx, rbp
call fcn.14026b390
lea rcx, [0x14036c8ee]
mov rdx, rax
call fcn.14026cbb0
mov rcx, rdi
mov qword [r13], rax
call fcn.14026bb70
jmp 0x14021d6bd
mov rcx, rdi
call fcn.14026bb70
mov al, byte [rbx + 0x25]
mov edx, eax
shr dl, 1
mov byte [rbx + 0x24], dl
cmp al, 1
jbe 0x14021d2f3
cmp al, 0xa
ja 0x14021d2fa
mov edx, 1
test al, 1
jne 0x14021d2ff
lea eax, [rax*4 + 8]
cmp dword [rsp + 0x160], 0
mov rdx, qword [rbx + 0x30]
mov byte [rbx + 0x27], al
je 0x14021d243
xor r11d, r11d
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0xa0], r11d
call fcn.14026cbb0
mov rdi, rax
test rax, rax
je 0x14021d273
mov r8, r15
mov rdx, rax
mov rcx, rbp
call fcn.140205440
mov r14d, eax
test eax, eax
jne 0x14021d279
mov eax, dword [rsp + 0xa0]
lea edx, [rax - 0x40]
movzx eax, byte [rbx + 0x27]
mov dword [rbx + 0x20], edx
imul eax, eax, 0x33
add eax, 4
cmp edx, eax
jle 0x14021d201
mov dword [rbx + 0x20], eax
mov rcx, rdi
call fcn.14026bb70
mov rax, qword [r12 + 0x10]
mov r12, qword [r12 + 8]
mov rcx, rbp
mov qword [rbx + 0x18], rbp
mov qword [rsp + 0x58], rax
call fcn.14026f2a0
mov r9, qword [rsp + 0x58]
mov r8, r12
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov rcx, rax
mov rdi, rax
call fcn.14026f210
jmp 0x14021d319
mov r8, qword [rbx + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
call fcn.14026cbb0
mov rdi, rax
test rax, rax
je 0x14021d273
lea r8, [rbx + 0x20]
mov rdx, rax
mov rcx, rbp
call fcn.140205440
mov r14d, eax
test eax, eax
je 0x14021d2a4
jmp 0x14021d279
mov r14d, 7
mov rcx, rbp
mov esi, r14d
call fcn.14026b390
lea rcx, [0x14036c8ee]
mov rdx, rax
call fcn.14026cbb0
mov rcx, rdi
mov qword [r13], rax
call fcn.14026bb70
jmp 0x14021d6bd
cmp dword [rbx + 0x20], 0x1bf
jg 0x14021d2d3
mov rdx, qword [rbx + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
mov esi, 0x10b
call fcn.14026cbb0
mov rcx, rdi
mov qword [r13], rax
call fcn.14026bb70
jmp 0x14021d6bd
mov rcx, rdi
call fcn.14026bb70
mov rax, qword [r12 + 0x10]
mov r12, qword [r12 + 8]
mov qword [rbx + 0x18], rbp
mov qword [rsp + 0x58], rax
jmp 0x14021d3ca
mov edx, 2
jmp 0x14021d2ff
mov edx, 3
mov rdx, qword [rsp + rdx*8 + 0x78]
lea rcx, [0x14036c8ee]
call fcn.14026cbb0
mov qword [r13], rax
jmp 0x14021d6b8
movzx eax, byte [rbx + 0x29]
cmp r14d, eax
jge 0x14021d339
mov r8d, r14d
lea rdx, str._a_d
mov rcx, rdi
inc r14d
call fcn.14026f210
jmp 0x14021d319
mov r9, qword [rsp + 0x58]
mov r8, r12
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
mov rcx, rdi
call fcn.14026f210
mov r9, qword [rsp + 0x58]
mov r8, r12
mov rcx, rdi
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
call fcn.14026f210
mov eax, dword [rbx + 0x20]
mov r9, qword [rsp + 0x58]
mov r8, r12
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.14026f210
mov rcx, rdi
call fcn.14026f250
mov r14, rax
test rax, rax
jne 0x14021d39f
mov edi, 7
jmp 0x14021d68c
xor r10d, r10d
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], r10
mov rdx, rax
call fcn.14026b500
mov rcx, r14
mov edi, eax
call fcn.14026bb70
test edi, edi
jne 0x14021d68c
lea rax, [rbx + 0x78]
xor r9d, r9d
mov rdx, qword [rbx + 0x30]
mov rcx, rbp
mov qword [rsp + 0xa0], rax
lea rax, [rbx + 0x80]
lea r8, str.sqlite_stat1
mov qword [rsp + 0xa8], rax
lea rax, [rbx + 0x88]
mov qword [rsp + 0xb0], rax
lea rax, [rbx + 0x90]
mov qword [rsp + 0xb8], rax
lea rax, [rbx + 0x98]
mov qword [rsp + 0xc0], rax
lea rax, [rbx + 0xa0]
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r9
xor r9d, r9d
mov qword [rsp + 0xc8], rax
lea rax, [rbx + 0xa8]
mov qword [rsp + 0xd0], rax
lea rax, [rbx + 0xb0]
mov qword [rsp + 0xd8], rax
call fcn.140270a00
mov edi, eax
test eax, eax
je 0x14021d48d
mov r14d, 0x100000
cmp eax, 1
jne 0x14021d51f
xor edi, edi
jmp 0x14021d51f
mov rdx, qword [rbx + 0x30]
mov r8, qword [rbx + 0x38]
lea rcx, str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
call fcn.14026cbb0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14021d508
xor r8d, r8d
lea r9, [rsp + 0x70]
mov rdx, rax
mov rcx, rbp
mov qword [rsp + 0x20], r8
or r8d, 0xffffffff
mov r14d, 0x64
call fcn.14026cfb0
mov edi, eax
test eax, eax
jne 0x14021d4fc
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14026e550
cmp eax, 0x64
jne 0x14021d4f2
xor edx, edx
mov rcx, rdi
call fcn.1402698b0
mov r14, rax
mov rcx, rdi
call fcn.14026bad0
mov edi, eax
mov rcx, qword [rsp + 0x60]
call fcn.14026bb70
jmp 0x14021d513
mov r14d, 0x64
mov edi, 7
mov eax, 0x64
cmp r14, rax
cmovl r14, rax
mov qword [rbx + 0x50], r14
xor r14d, r14d
cmp r14d, 7
jg 0x14021d5a3
test edi, edi
jne 0x14021d5a3
cmp r14, 3
jne 0x14021d543
cmp byte [rbx + 0x29], 0
lea rcx, str.INSERT_INTO__w_.__w_rowid__rowid_nodeno_VALUES__1__2_ON_CONFLICT_rowid_DO_UPDATE_SET_nodenoexcluded.nodeno
jne 0x14021d54e
lea rax, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
mov rcx, qword [rax + r14*8]
mov r8, qword [rsp + 0x58]
mov rdx, r12
mov edi, 7
call fcn.14026cbb0
mov rdx, rax
test rax, rax
je 0x14021d596
xor ecx, ecx
mov r9d, 5
or r8d, 0xffffffff
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [r15 + r14*8]
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.14026cfe0
mov rdx, qword [rsp + 0x60]
mov edi, eax
mov rcx, rdx
inc r14
call fcn.14026bb70
jmp 0x14021d526
cmp byte [rbx + 0x29], 0
je 0x14021d688
mov r8, qword [rsp + 0x58]
mov rdx, r12
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
call fcn.14026cbb0
mov qword [rbx + 0x60], rax
test rax, rax
je 0x14021d395
mov rcx, rbp
lea rdi, str.a_d__d
call fcn.14026f2a0
mov r9, qword [rsp + 0x58]
mov r8, r12
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov rcx, rax
mov r14, rax
lea r12, [0x14036bed9]
call fcn.14026f210
cmp byte [rbx + 0x29], 0
je 0x14021d633
lea r9d, [rsi + 2]
mov r8d, esi
mov rdx, rdi
mov rcx, r14
call fcn.14026f210
movzx eax, byte [rbx + 0x29]
inc esi
cmp eax, esi
jle 0x14021d633
mov r8d, 1
mov rdx, r12
mov rcx, r14
call fcn.14026f140
jmp 0x14021d604
lea rdx, str._WHERE_rowid_1
mov rcx, r14
call fcn.14026f210
mov rcx, r14
call fcn.14026f250
mov rsi, rax
test rax, rax
je 0x14021d395
xor eax, eax
mov rcx, rbp
mov r9d, 5
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
lea rax, [rbx + 0xb8]
mov rdx, rsi
mov qword [rsp + 0x20], rax
call fcn.14026cfe0
mov rcx, rsi
mov edi, eax
call fcn.14026bb70
test edi, edi
je 0x14021d6ab
mov rcx, rbp
mov esi, edi
call fcn.14026b390
lea rcx, [0x14036c8ee]
mov rdx, rax
call fcn.14026cbb0
mov qword [r13], rax
jmp 0x14021d6bd
mov rax, qword [rsp + 0x150]
mov qword [rax], rbx
jmp 0x14021d6c7
mov esi, 1
mov rcx, rbx
mov edi, esi
call fcn.14021e0d0
mov eax, edi
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret