Function at 0x1401c00d0
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, [0x1402257c0]
mov rbp, qword [rsp + 0x158]
lea eax, [r8 - 6]
lea rdi, [rsp + 0x78]
mov r14, rdx
mov r13d, r8d
mov qword [rsp + 0x130], rcx
mov r12, r9
mov ecx, 0xa
rep movsd dword [rdi], dword [rsi]
cmp eax, 0x61
jbe 0x1401c0146
xor eax, eax
cmp r8d, 6
lea rcx, [0x1402a2fba]
mov r15d, 1
setge al
add eax, 2
cdqe
mov rdx, qword [rsp + rax*8 + 0x78]
call fcn.14020dd20
mov qword [rbp], rax
jmp 0x1401c08f1
mov rcx, qword [rsp + 0x130]
mov r8d, 1
mov edx, 1
mov r15d, 7
call fcn.140212540
mov rcx, qword [r12 + 8]
call sub.msvcrt.dll_strlen
mov rcx, qword [r12 + 0x10]
mov rbx, rax
call sub.msvcrt.dll_strlen
movsxd rdx, ebx
movsxd r8, eax
mov qword [rsp + 0x58], rdx
lea rsi, [rdx + r8 + 0x3ca]
mov qword [rsp + 0x60], r8
mov rcx, rsi
call fcn.14020dc80
mov rbx, rax
test rax, rax
je 0x1401c08f1
test r14, r14
mov rcx, rsi
mov rdi, rbx
mov rdx, qword [rsp + 0x58]
setne r10b
setne r14b
xor eax, eax
rep stosb byte [rdi], al
lea rax, [0x1402292a0]
mov byte [rbx + 0x26], r10b
mov rcx, rdx
mov qword [rbx], rax
lea rax, [rbx + 0x3c8]
movzx r14d, r14b
lea r9, [rax + rdx + 1]
mov qword [rbx + 0x30], rax
mov rdi, rax
mov qword [rbx + 0x38], r9
mov rsi, qword [r12 + 8]
mov dword [rbx + 0x40], 1
rep movsb byte [rdi], byte [rsi]
mov rdi, r9
mov rcx, qword [rsp + 0x60]
mov rsi, qword [r12 + 0x10]
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x130]
mov edi, 4
lea rsi, str.__.s_REAL
call fcn.1402100f0
mov r9, qword [r12 + 0x18]
mov r15, rax
lea rax, [rsp + 0xa0]
mov rcx, r9
mov rdx, rax
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x68], rax
call fcn.1401e1f60
mov r9, qword [rsp + 0x58]
lea rdx, str.CREATE_TABLE_x__.s_INT
mov rcx, r15
mov r8d, eax
call fcn.140210060
mov r9, qword [r12 + rdi*8]
mov al, byte [rbx + 0x29]
cmp byte [r9], 0x2b
jne 0x1401c0297
inc eax
inc r9
mov rdx, qword [rsp + 0x68]
mov byte [rbx + 0x29], al
mov rcx, r9
mov qword [rsp + 0x58], r9
call fcn.1401e1f60
mov r9, qword [rsp + 0x58]
lea rdx, str.__.s
mov r8d, eax
jmp 0x1401c02bc
test al, al
jne 0x1401c02d8
inc byte [rbx + 0x25]
mov rdx, qword [rsp + 0x68]
mov rcx, r9
mov qword [rsp + 0x58], r9
call fcn.1401e1f60
mov rdx, qword [rsi + r14*8]
mov r9, qword [rsp + 0x58]
mov r8d, eax
mov rcx, r15
call fcn.140210060
lea rax, [rdi + 1]
cmp r13d, eax
jle 0x1401c02d2
mov rdi, rax
jmp 0x1401c025f
lea r14d, [rdi + 1]
jmp 0x1401c02db
mov r14d, edi
lea rdx, [0x1402aa51b]
mov rcx, r15
mov esi, 7
call fcn.140210060
mov rcx, r15
call fcn.1402100a0
mov rdi, rax
test rax, rax
je 0x1401c0358
cmp r13d, r14d
jle 0x1401c0322
lea rdx, str.Auxiliary_rtree_columns_must_be_last
lea rcx, [0x1402a2fba]
mov esi, 1
call fcn.14020dd20
mov qword [rbp], rax
jmp 0x1401c0358
mov rcx, qword [rsp + 0x130]
mov rdx, rax
call fcn.14020c0c0
mov esi, eax
test eax, eax
je 0x1401c0358
mov rcx, qword [rsp + 0x130]
call fcn.14020c5c0
lea rcx, [0x1402a2fba]
mov rdx, rax
call fcn.14020dd20
mov qword [rbp], rax
mov rcx, rdi
call fcn.14020cdc0
test esi, esi
jne 0x1401c08e6
mov al, byte [rbx + 0x25]
mov edx, eax
shr dl, 1
mov byte [rbx + 0x24], dl
cmp al, 1
jbe 0x1401c048e
cmp al, 0xa
ja 0x1401c0495
mov edx, 1
test al, 1
jne 0x1401c049a
lea eax, [rax*4 + 8]
cmp dword [rsp + 0x160], 0
mov rdx, qword [rbx + 0x30]
mov byte [rbx + 0x27], al
je 0x1401c03ff
xor r10d, r10d
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0xa0], r10d
call fcn.14020dd20
mov rdi, rax
test rax, rax
je 0x1401c0433
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x130]
mov rdx, rax
call fcn.1401a9570
mov esi, eax
test eax, eax
jne 0x1401c0438
mov eax, dword [rsp + 0xa0]
lea edx, [rax - 0x40]
movzx eax, byte [rbx + 0x27]
imul eax, eax, 0x33
add eax, 4
cmp eax, edx
cmovg eax, edx
mov dword [rbx + 0x20], eax
jmp 0x1401c047c
mov r8, qword [rbx + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
call fcn.14020dd20
mov rdi, rax
test rax, rax
je 0x1401c0433
mov rcx, qword [rsp + 0x130]
lea r8, [rbx + 0x20]
mov rdx, rax
call fcn.1401a9570
mov esi, eax
test eax, eax
je 0x1401c045a
jmp 0x1401c0438
mov esi, 7
mov rcx, qword [rsp + 0x130]
call fcn.14020c5c0
lea rcx, [0x1402a2fba]
mov rdx, rax
call fcn.14020dd20
mov qword [rbp], rax
jmp 0x1401c047c
cmp dword [rbx + 0x20], 0x1bf
jg 0x1401c047c
mov rdx, qword [rbx + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
mov esi, 0x10b
call fcn.14020dd20
mov qword [rbp], rax
mov rcx, rdi
call fcn.14020cdc0
test esi, esi
jne 0x1401c08e6
jmp 0x1401c04b9
mov edx, 2
jmp 0x1401c049a
mov edx, 3
mov rdx, qword [rsp + rdx*8 + 0x78]
lea rcx, [0x1402a2fba]
mov esi, 1
call fcn.14020dd20
mov qword [rbp], rax
jmp 0x1401c08e6
mov rax, qword [r12 + 0x10]
cmp dword [rsp + 0x160], 0
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x130]
mov qword [rbx + 0x18], rax
je 0x1401c05d0
mov rcx, rax
xor r15d, r15d
lea r14, str._a_d
call fcn.1402100f0
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov rcx, rax
mov rdi, rax
call fcn.140210060
movzx eax, byte [rbx + 0x29]
cmp r15d, eax
jge 0x1401c0531
mov r8d, r15d
mov rdx, r14
mov rcx, rdi
inc r15d
call fcn.140210060
jmp 0x1401c0515
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rcx, rdi
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
call fcn.140210060
mov r9, qword [rsp + 0x58]
mov rcx, rdi
mov r8, qword [rsp + 0x60]
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
call fcn.140210060
mov eax, dword [rbx + 0x20]
mov r9, qword [rsp + 0x58]
mov rcx, rdi
mov r8, qword [rsp + 0x60]
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov dword [rsp + 0x20], eax
call fcn.140210060
mov rcx, rdi
call fcn.1402100a0
mov rdi, rax
test rax, rax
jne 0x1401c059e
mov r15d, 7
jmp 0x1401c08b4
xor r9d, r9d
mov rcx, qword [rsp + 0x130]
xor r8d, r8d
mov rdx, rax
mov qword [rsp + 0x20], r9
xor r9d, r9d
call fcn.14020c730
mov rcx, rdi
mov r15d, eax
call fcn.14020cdc0
test r15d, r15d
jne 0x1401c08b4
lea rax, [rbx + 0x78]
xor r8d, r8d
mov rdx, qword [rbx + 0x30]
xor r9d, r9d
mov qword [rsp + 0xa0], rax
lea rax, [rbx + 0x80]
mov rcx, qword [rsp + 0x130]
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], r8
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
lea r8, str.sqlite_stat1
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.140211440
mov r15d, eax
test eax, eax
je 0x1401c0694
cmp eax, 1
jne 0x1401c0729
xor r15d, r15d
jmp 0x1401c0729
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.14020dd20
mov r14, rax
test rax, rax
je 0x1401c0710
xor ecx, ecx
lea r9, [rsp + 0x70]
or r8d, 0xffffffff
mov rdx, rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x130]
mov edi, 0x64
call fcn.14020e120
mov r15d, eax
test eax, eax
jne 0x1401c0706
mov r15, qword [rsp + 0x70]
mov rcx, r15
call fcn.14020f490
cmp eax, 0x64
jne 0x1401c06fb
xor edx, edx
mov rcx, r15
call fcn.14020ab50
mov rdi, rax
mov rcx, r15
call fcn.14020cd20
mov r15d, eax
mov rcx, r14
call fcn.14020cdc0
jmp 0x1401c071b
mov edi, 0x64
mov r15d, 7
mov eax, 0x64
cmp rdi, rax
cmovl rdi, rax
jmp 0x1401c072e
mov edi, 0x100000
mov qword [rbx + 0x48], rdi
xor r12d, r12d
lea rdi, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
lea r14, str.INSERT_INTO__w_.__w_rowid__rowid_nodeno_VALUES__1__2_ON_CONFLICT_rowid_DO_UPDATE_SET_nodenoexcluded.nodeno
cmp r12d, 7
jg 0x1401c07bd
test r15d, r15d
jne 0x1401c07bd
cmp r12, 3
jne 0x1401c075d
cmp byte [rbx + 0x29], 0
mov rcx, r14
jne 0x1401c0761
mov rcx, qword [rdi + r12*8]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r15d, 7
call fcn.14020dd20
mov r13, rax
test rax, rax
je 0x1401c07b0
mov rax, qword [rsp + 0x68]
xor edx, edx
mov r9d, 5
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x28], rdx
or r8d, 0xffffffff
mov rdx, r13
mov rax, qword [rax + r12*8]
mov qword [rsp + 0x20], rax
call fcn.14020e150
mov r15d, eax
mov rcx, r13
inc r12
call fcn.14020cdc0
jmp 0x1401c0743
cmp byte [rbx + 0x29], 0
je 0x1401c08af
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
call fcn.14020dd20
mov qword [rbx + 0x58], rax
test rax, rax
je 0x1401c0593
mov rcx, qword [rsp + 0x130]
lea r12, [0x1402a2725]
lea r13, str.a_d__d
call fcn.1402100f0
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov rcx, rax
mov rdi, rax
call fcn.140210060
movzx eax, byte [rbx + 0x29]
cmp esi, eax
jge 0x1401c0854
test esi, esi
je 0x1401c083e
mov r8d, 1
mov rdx, r12
mov rcx, rdi
call fcn.14020ff90
lea r9d, [rsi + 2]
mov r8d, esi
mov rdx, r13
mov rcx, rdi
call fcn.140210060
inc esi
jmp 0x1401c0821
lea rdx, str._WHERE_rowid_1
mov rcx, rdi
call fcn.140210060
mov rcx, rdi
call fcn.1402100a0
mov rsi, rax
test rax, rax
je 0x1401c0593
xor eax, eax
mov r9d, 5
or r8d, 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x28], rax
lea rax, [rbx + 0xb8]
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x20], rax
call fcn.14020e150
mov rcx, rsi
mov r15d, eax
call fcn.14020cdc0
test r15d, r15d
je 0x1401c08d9
mov rcx, qword [rsp + 0x130]
mov esi, r15d
call fcn.14020c5c0
lea rcx, [0x1402a2fba]
mov rdx, rax
call fcn.14020dd20
mov qword [rbp], rax
jmp 0x1401c08e6
mov rax, qword [rsp + 0x150]
mov qword [rax], rbx
jmp 0x1401c08f1
mov rcx, rbx
mov r15d, esi
call fcn.1401c15c0
mov eax, r15d
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret