Function at 0x64a130
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, [0x006b1840]
mov r12, qword [rsp + 0x158]
lea eax, [r8 - 6]
mov rbp, rcx
lea rdi, [rsp + 0x78]
mov ecx, 0xa
mov r14d, r8d
mov r13, r9
cmp eax, 0x61
rep movsd dword [rdi], dword [rsi]
jbe 0x64a19d
xor eax, eax
cmp r8d, 6
lea rcx, [0x0079fcd7]
setge al
mov edi, 1
add eax, 2
cdqe
mov rdx, qword [rsp + rax*8 + 0x78]
call fcn.00698900
mov qword [r12], rax
jmp 0x64a938
mov qword [rsp + 0x60], rdx
mov r8d, 1
mov edx, 1
mov rcx, rbp
call fcn.0069cf70
mov rdi, qword [r13 + 8]
or rdx, 0xffffffffffffffff
xor eax, eax
mov rcx, rdx
repne scasb al, byte [rdi]
mov rdi, qword [r13 + 0x10]
not rcx
lea r9, [rcx + rdx]
mov rcx, rdx
repne scasb al, byte [rdi]
movsxd r9, r9d
mov edi, 7
mov rdx, rcx
mov qword [rsp + 0x58], r9
not rdx
dec rdx
movsxd r15, edx
lea rsi, [r9 + r15 + 0x3ca]
mov rcx, rsi
call fcn.00698860
test rax, rax
mov rbx, rax
je 0x64a938
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
mov rdi, rax
mov rcx, rsi
lea r8, [rbx + 0x3c8]
test r10, r10
setne r10b
xor eax, eax
rep stosb byte [rdi], al
lea rax, [0x006b5320]
mov byte [rbx + 0x26], r10b
mov qword [rbx + 0x30], r8
mov rdi, r8
mov dword [rbx + 0x40], 1
mov rcx, r9
mov qword [rbx], rax
lea rax, [r8 + r9 + 1]
mov byte [rsp + 0x68], r10b
mov qword [rbx + 0x38], rax
mov rsi, qword [r13 + 8]
rep movsb byte [rdi], byte [rsi]
mov rdi, rax
mov rcx, r15
lea r15, str.__.s_REAL
mov rsi, qword [r13 + 0x10]
rep movsb byte [rdi], byte [rsi]
mov rcx, rbp
mov edi, 4
call fcn.0069ab10
mov r9, qword [r13 + 0x18]
mov rsi, rax
lea rax, [rsp + 0xa0]
mov dword [rsp + 0xa0], 0
mov rdx, rax
mov qword [rsp + 0x58], rax
mov rcx, r9
mov qword [rsp + 0x60], r9
call fcn.00669820
mov r9, qword [rsp + 0x60]
lea rdx, str.CREATE_TABLE_x__.s_INT
mov r8d, eax
mov rcx, rsi
call fcn.0069aa80
mov r10b, byte [rsp + 0x68]
mov rax, r10
and eax, 1
mov qword [rsp + 0x60], rax
mov r9, qword [r13 + rdi*8]
mov r8d, edi
mov al, byte [rbx + 0x29]
cmp byte [r9], 0x2b
jne 0x64a31b
mov rdx, qword [rsp + 0x58]
inc r9
inc eax
mov byte [rbx + 0x29], al
mov rcx, r9
mov qword [rsp + 0x68], r9
mov dword [rsp + 0xa0], 0
call fcn.00669820
mov r9, qword [rsp + 0x68]
mov r8d, eax
lea rdx, str.__.s
jmp 0x64a350
test al, al
jne 0x64a368
inc byte [rbx + 0x25]
mov rdx, qword [rsp + 0x58]
mov rcx, r9
mov qword [rsp + 0x68], r9
mov dword [rsp + 0xa0], 0
call fcn.00669820
mov r8d, eax
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov rdx, qword [r15 + rax*8]
mov rcx, rsi
call fcn.0069aa80
lea r8d, [rdi + 1]
inc rdi
cmp r14d, edi
jg 0x64a2d4
lea rdx, [0x007a64bb]
mov rcx, rsi
mov dword [rsp + 0x60], r8d
call fcn.0069aa80
mov rcx, rsi
mov esi, 7
call fcn.0069aac0
test rax, rax
mov r15, rax
je 0x64a3e6
mov r8d, dword [rsp + 0x60]
cmp r14d, r8d
jle 0x64a3ba
mov rdx, qword [rsp + 0x98]
lea rcx, [0x0079fcd7]
mov esi, 1
call fcn.00698900
mov qword [r12], rax
jmp 0x64a3e6
mov rdx, rax
mov rcx, rbp
call fcn.00696cf0
test eax, eax
mov esi, eax
je 0x64a3e6
mov rcx, rbp
call fcn.006971d0
lea rcx, [0x0079fcd7]
mov rdx, rax
call fcn.00698900
mov qword [r12], rax
mov rcx, r15
call fcn.00697980
test esi, esi
jne 0x64a92e
mov al, byte [rbx + 0x25]
mov dl, al
shr dl, 1
test dl, dl
mov byte [rbx + 0x24], dl
je 0x64a4fe
cmp al, 0xa
ja 0x64a505
test al, 1
mov edx, 1
jne 0x64a50a
cmp dword [rsp + 0x160], 0
lea eax, [rax*4 + 8]
mov rdx, qword [rbx + 0x30]
mov byte [rbx + 0x27], al
je 0x64a485
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0xa0], 0
call fcn.00698900
mov r8, qword [rsp + 0x58]
mov rdx, rax
mov rcx, rbp
mov r14, rax
call fcn.00633ad0
test eax, eax
mov esi, eax
jne 0x64a4ad
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 0x64a4ec
mov dword [rbx + 0x20], eax
jmp 0x64a4ec
mov r8, qword [rbx + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
call fcn.00698900
lea r8, [rbx + 0x20]
mov rdx, rax
mov rcx, rbp
mov r14, rax
call fcn.00633ad0
test eax, eax
mov esi, eax
je 0x64a4ca
mov rcx, rbp
call fcn.006971d0
lea rcx, [0x0079fcd7]
mov rdx, rax
call fcn.00698900
mov qword [r12], rax
jmp 0x64a4ec
cmp dword [rbx + 0x20], 0x1bf
jg 0x64a4ec
mov rdx, qword [rbx + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
mov esi, 0x10b
call fcn.00698900
mov qword [r12], rax
mov rcx, r14
call fcn.00697980
test esi, esi
jne 0x64a92e
jmp 0x64a529
mov edx, 2
jmp 0x64a50a
mov edx, 3
mov rdx, qword [rsp + rdx*8 + 0x78]
lea rcx, [0x0079fcd7]
mov esi, 1
call fcn.00698900
mov qword [r12], rax
jmp 0x64a92e
cmp dword [rsp + 0x160], 0
mov r14, qword [r13 + 0x10]
mov r13, qword [r13 + 8]
mov qword [rbx + 0x18], rbp
jne 0x64a60a
lea rax, [rbx + 0x78]
mov rdx, qword [rbx + 0x30]
lea r8, str.sqlite_stat1
xor r9d, r9d
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0xa0], rax
lea rax, [rbx + 0x80]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, rbp
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 + 0xc8], rax
lea rax, [rbx + 0xa8]
mov qword [rsp + 0xd0], rax
lea rax, [rbx + 0xb0]
mov qword [rsp + 0xd8], rax
call fcn.0069be40
test eax, eax
mov edi, eax
jne 0x64a6db
jmp 0x64a6f3
mov rcx, rbp
xor edi, edi
call fcn.0069ab10
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov r9, r14
mov r8, r13
mov rcx, rax
mov r15, rax
call fcn.0069aa80
movzx edx, byte [rbx + 0x29]
cmp edi, edx
jge 0x64a64a
lea rdx, str._a_d
mov r8d, edi
mov rcx, r15
inc edi
call fcn.0069aa80
jmp 0x64a62c
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
mov rcx, r15
mov r9, r14
mov r8, r13
call fcn.0069aa80
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
mov rcx, r15
mov r9, r14
mov r8, r13
call fcn.0069aa80
mov eax, dword [rbx + 0x20]
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov rcx, r15
mov r9, r14
mov r8, r13
mov dword [rsp + 0x20], eax
call fcn.0069aa80
mov rcx, r15
call fcn.0069aac0
test rax, rax
mov r15, rax
jne 0x64a6aa
mov edi, 7
jmp 0x64a902
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, rbp
mov qword [rsp + 0x20], 0
call fcn.00697340
mov rcx, r15
mov edi, eax
call fcn.00697980
test edi, edi
je 0x64a543
jmp 0x64a902
cmp eax, 1
mov qword [rbx + 0x48], 0x100000
jne 0x64a78c
xor edi, edi
jmp 0x64a78c
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.00698900
test rax, rax
mov qword [rsp + 0x60], rax
je 0x64a770
lea r9, [rsp + 0x70]
or r8d, 0xffffffff
mov qword [rsp + 0x20], 0
mov rdx, rax
mov rcx, rbp
mov r15d, 0x64
call fcn.00698d10
test eax, eax
mov edi, eax
jne 0x64a764
mov rcx, qword [rsp + 0x70]
call fcn.00699ec0
cmp eax, 0x64
jne 0x64a758
mov rcx, qword [rsp + 0x70]
xor edx, edx
call fcn.00695650
mov r15, rax
mov rcx, qword [rsp + 0x70]
call fcn.006978f0
mov edi, eax
mov rcx, qword [rsp + 0x60]
call fcn.00697980
jmp 0x64a77b
mov r15d, 0x64
mov edi, 7
cmp r15, 0x64
mov eax, 0x64
cmovl r15, rax
mov qword [rbx + 0x48], r15
xor r15d, r15d
cmp r15d, 7
mov eax, r15d
jg 0x64a81d
test edi, edi
jne 0x64a81d
cmp eax, 3
jne 0x64a7b2
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 0x64a7bd
lea rax, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
mov rcx, qword [rax + r15*8]
mov r8, r14
mov rdx, r13
mov edi, 7
call fcn.00698900
test rax, rax
mov r11, rax
je 0x64a80d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], 0
mov rdx, r11
mov r9d, 5
or r8d, 0xffffffff
mov rcx, rbp
mov qword [rsp + 0x60], r11
mov rax, qword [rax + r15*8]
mov qword [rsp + 0x20], rax
call fcn.00698d40
mov r11, qword [rsp + 0x60]
mov edi, eax
mov rcx, r11
inc r15
call fcn.00697980
jmp 0x64a78f
cmp byte [rbx + 0x29], 0
je 0x64a8fe
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
mov r8, r14
mov rdx, r13
call fcn.00698900
test rax, rax
mov qword [rbx + 0x58], rax
je 0x64a6a0
mov rcx, rbp
call fcn.0069ab10
mov r9, r14
mov r8, r13
lea rdx, str.UPDATE___w_.__w_rowid_SET
lea r13, [0x0079f33a]
lea r14, str.a_d__d
mov rcx, rax
mov rdi, rax
call fcn.0069aa80
movzx eax, byte [rbx + 0x29]
cmp esi, eax
jge 0x64a8a7
test esi, esi
je 0x64a891
mov r8d, 1
mov rdx, r13
mov rcx, rdi
call fcn.0069a9c0
lea r9d, [rsi + 2]
mov r8d, esi
mov rdx, r14
mov rcx, rdi
inc esi
call fcn.0069aa80
jmp 0x64a874
lea rdx, str._WHERE_rowid_1
mov rcx, rdi
call fcn.0069aa80
mov rcx, rdi
call fcn.0069aac0
test rax, rax
mov rsi, rax
je 0x64a6a0
lea rax, [rbx + 0xb8]
mov rcx, rbp
mov qword [rsp + 0x28], 0
mov r9d, 5
or r8d, 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
call fcn.00698d40
mov rcx, rsi
mov edi, eax
call fcn.00697980
test edi, edi
je 0x64a921
mov rcx, rbp
mov esi, edi
call fcn.006971d0
lea rcx, [0x0079fcd7]
mov rdx, rax
call fcn.00698900
mov qword [r12], rax
jmp 0x64a92e
mov rax, qword [rsp + 0x150]
mov qword [rax], rbx
jmp 0x64a938
mov rcx, rbx
mov edi, esi
call fcn.0064b650
mov eax, edi
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret