Function at 0x18035c590
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rsi, rcx
mov qword [rcx + 0x18], rdx
xor r13d, r13d
lea rbp, [0x1804d2a88]
mov r12, r9
mov r15, r8
mov r14, rdx
movq xmm6, rsi
punpcklqdq xmm6, xmm6
cmp dword [rsp + 0x130], r13d
je 0x18035c6fa
mov rcx, rdx
call fcn.18029a050
mov r9, r12
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov r8, r15
mov rcx, rax
mov rbx, rax
call fcn.18029a460
mov edi, r13d
cmp byte [rsi + 0x29], r13b
jbe 0x18035c63c
nop dword [rax + rax]
mov r8d, edi
lea rdx, str._a_d
mov rcx, rbx
call fcn.18029a460
movzx eax, byte [rsi + 0x29]
inc edi
cmp edi, eax
jl 0x18035c620
mov r9, r12
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
mov r8, r15
mov rcx, rbx
call fcn.18029a460
mov r9, r12
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
mov r8, r15
mov rcx, rbx
call fcn.18029a460
mov eax, dword [rsi + 0x20]
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov r9, r12
mov dword [rsp + 0x20], eax
mov r8, r15
mov rcx, rbx
call fcn.18029a460
test rbx, rbx
je 0x18035c7ac
cmp rbx, rbp
je 0x18035c7ac
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18035c6bd
mov eax, dword [rbx + 0x18]
mov byte [rax + rcx], r13b
cmp dword [rbx + 0x14], r13d
jbe 0x18035c6bd
test byte [rbx + 0x1d], 4
jne 0x18035c6bd
mov rcx, rbx
call fcn.180299ec0
mov rdi, rax
jmp 0x18035c6c1
mov rdi, qword [rbx + 8]
mov rcx, rbx
call fcn.180297930
test rdi, rdi
je 0x18035c7ac
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.1802fddf0
mov rcx, rdi
mov ebx, eax
call fcn.180297930
test ebx, ebx
jne 0x18035cc1a
cmp dword [0x1804cd020], 2
jl 0x18035c7b6
movdqa xmm5, xmmword [0x1803e8790]
mov eax, 3
movdqa xmm3, xmmword [0x1803e8800]
movdqa xmm1, xmmword [0x1803e87f0]
movq xmm0, xmm3
paddd xmm1, xmm0
movd xmm4, eax
pmovsxdq xmm2, xmm0
psllq xmm2, xmm4
paddq xmm2, xmm5
paddq xmm2, xmm6
movdqu xmmword [rsp + 0x60], xmm2
pmovsxdq xmm2, xmm1
movdqa xmm1, xmmword [0x1803e8820]
psllq xmm2, xmm4
paddd xmm1, xmm0
paddq xmm2, xmm5
paddq xmm2, xmm6
movdqu xmmword [rsp + 0x70], xmm2
pmovsxdq xmm2, xmm1
movdqa xmm1, xmmword [0x1803e8840]
psllq xmm2, xmm4
paddd xmm1, xmm0
paddq xmm2, xmm5
paddq xmm2, xmm6
movdqu xmmword [rsp + 0x80], xmm2
pmovsxdq xmm2, xmm1
psllq xmm2, xmm4
paddq xmm2, xmm5
paddq xmm2, xmm6
movdqu xmmword [rsp + 0x90], xmm2
jmp 0x18035c7e8
mov eax, 7
jmp 0x18035cc1c
lea rcx, [rsp + 0x60]
mov rdx, r13
mov r8d, 8
nop dword [rax]
nop dword [rax + rax]
lea rax, [rsi + 0x78]
add rax, rdx
add rdx, 8
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x18035c7d0
mov rdx, qword [rsi + 0x30]
lea r8, str.sqlite_stat1
mov qword [rsp + 0x40], r13
xor r9d, r9d
mov qword [rsp + 0x38], r13
mov rcx, r14
mov qword [rsp + 0x30], r13
mov rdi, r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.180338570
mov ebx, eax
test eax, eax
je 0x18035c834
cmp eax, 1
mov qword [rsi + 0x48], 0x100000
cmove ebx, r13d
jmp 0x18035c8e7
mov r8, qword [rsi + 0x38]
lea rcx, str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
mov rdx, qword [rsi + 0x30]
call fcn.18029a2a0
mov rbp, rax
test rax, rax
jne 0x18035c858
lea ebx, [rax + 7]
jmp 0x18035c8e7
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
mov r9d, 0x80
mov r8d, 0xffffffff
mov qword [rsp + 0x20], r13
mov rdx, rbp
mov rcx, r14
call fcn.180304000
mov ebx, eax
test eax, eax
jne 0x18035c8c5
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1802c3740
cmp eax, 0x64
jne 0x18035c8a8
xor edx, edx
mov rcx, rbx
call fcn.1802c4220
mov rdi, rax
mov rcx, rbx
call fcn.1802c2760
mov ebx, eax
test ebx, ebx
jne 0x18035c8df
test rdi, rdi
jne 0x18035c8cf
mov qword [rsi + 0x48], 0x100000
jmp 0x18035c8df
cmp eax, 7
je 0x18035c8b2
mov ebx, r13d
jmp 0x18035c8b6
mov eax, 0x64
cmp rdi, rax
cmovg rax, rdi
mov qword [rsi + 0x48], rax
mov rcx, rbp
call fcn.180297930
mov rdi, r13
lea rax, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
test ebx, ebx
jne 0x18035c9ca
cmp rdi, 3
jne 0x18035c90c
lea rcx, str.INSERT_INTO__w_.__w_rowid__rowid_nodeno_VALUES__1__2_ON_CONFLICT_rowid_DO_UPDATE_SET_nodenoexcluded.nodeno
cmp byte [rsi + 0x29], r13b
jne 0x18035c910
mov rcx, qword [rax + rdi*8]
mov r8, r12
mov rdx, r15
call fcn.18029a2a0
mov rbp, rax
test rax, rax
je 0x18035c9b1
mov rcx, qword [rsp + rdi*8 + 0x60]
mov r9d, 0x85
mov qword [rsp + 0x30], r13
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rcx
mov rdx, rax
mov rcx, r14
mov qword [rsp + 0x20], r13
call fcn.180304000
cmp dword [0x1804ce130], r13d
mov ebx, eax
je 0x18035c9a6
mov rcx, qword [0x1804df4c8]
test rcx, rcx
je 0x18035c96f
call qword [0x1804ce1b0]
mov rcx, rbp
call qword [0x1804ce168]
dec qword [0x1804df258]
movsxd rcx, eax
sub qword [0x1804df210], rcx
mov rcx, rbp
call qword [0x1804ce158]
mov rcx, qword [0x1804df4c8]
test rcx, rcx
je 0x18035c9b6
call qword [0x1804ce1c0]
jmp 0x18035c9b6
mov rcx, rbp
call qword [0x1804ce158]
jmp 0x18035c9b6
mov ebx, 7
inc rdi
lea rax, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
cmp rdi, 8
jl 0x18035c8f1
cmp byte [rsi + 0x29], r13b
je 0x18035cc1a
mov r8, r12
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
mov rdx, r15
call fcn.18029a2a0
mov qword [rsi + 0x58], rax
test rax, rax
je 0x18035cc15
call fcn.180333dc0
test eax, eax
jne 0x18035ca3c
lea ecx, [rax + 0x20]
call fcn.1802976f0
mov rbx, rax
test rax, rax
je 0x18035ca3c
test r14, r14
je 0x18035ca17
mov eax, dword [r14 + 0x7c]
jmp 0x18035ca1c
mov eax, 0x3b9aca00
mov qword [rbx + 8], r13
lea rbp, [0x1804d2a88]
mov qword [rbx], r13
mov dword [rbx + 0x10], r13d
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x18], r13d
mov word [rbx + 0x1c], r13w
jmp 0x18035ca46
lea rbp, [0x1804d2a88]
mov rbx, rbp
mov r9, r12
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov r8, r15
mov rcx, rbx
call fcn.18029a460
mov edi, r13d
cmp byte [rsi + 0x29], r13b
jbe 0x18035cad7
test edi, edi
je 0x18035ca9d
mov eax, dword [rbx + 0x18]
lea ecx, [rax + 1]
cmp ecx, dword [rbx + 0x10]
jb 0x18035ca8a
mov r8d, 1
lea rdx, [0x1803e0eac]
mov rcx, rbx
call fcn.180299e10
jmp 0x18035ca9d
mov dword [rbx + 0x18], ecx
mov rcx, rax
add rcx, qword [rbx + 8]
movzx eax, byte [0x1803e0eac]
mov byte [rcx], al
movzx eax, byte [rsi + 0x2a]
lea r9d, [rdi + 2]
mov r8d, edi
mov rcx, rbx
cmp edi, eax
jge 0x18035cac1
lea rdx, str.a_dcoalesce___d_a_d_
mov dword [rsp + 0x20], edi
call fcn.18029a460
jmp 0x18035cacd
lea rdx, str.a_d__d
call fcn.18029a460
movzx eax, byte [rsi + 0x29]
inc edi
cmp edi, eax
jl 0x18035ca64
lea rdx, str._WHERE_rowid_1
mov rcx, rbx
call fcn.18029a460
test rbx, rbx
je 0x18035cc15
cmp rbx, rbp
je 0x18035cc15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18035cb21
mov eax, dword [rbx + 0x18]
mov byte [rax + rcx], r13b
cmp dword [rbx + 0x14], r13d
jbe 0x18035cb21
test byte [rbx + 0x1d], 4
jne 0x18035cb21
mov rcx, rbx
call fcn.180299ec0
mov rdi, rax
jmp 0x18035cb25
mov rdi, qword [rbx + 8]
cmp dword [0x1804ce130], r13d
je 0x18035cb77
mov rcx, qword [0x1804df4c8]
test rcx, rcx
je 0x18035cb40
call qword [0x1804ce1b0]
mov rcx, rbx
call qword [0x1804ce168]
dec qword [0x1804df258]
movsxd rcx, eax
sub qword [0x1804df210], rcx
mov rcx, rbx
call qword [0x1804ce158]
mov rcx, qword [0x1804df4c8]
test rcx, rcx
je 0x18035cb80
call qword [0x1804ce1c0]
jmp 0x18035cb80
mov rcx, rbx
call qword [0x1804ce158]
test rdi, rdi
je 0x18035cc15
lea rax, [rsi + 0xb8]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
mov r9d, 0x85
mov r8d, 0xffffffff
mov qword [rsp + 0x20], r13
mov rdx, rdi
mov rcx, r14
call fcn.180304000
cmp dword [0x1804ce130], r13d
mov ebx, eax
je 0x18035cc0a
mov rcx, qword [0x1804df4c8]
test rcx, rcx
je 0x18035cbd3
call qword [0x1804ce1b0]
mov rcx, rdi
call qword [0x1804ce168]
dec qword [0x1804df258]
movsxd rcx, eax
sub qword [0x1804df210], rcx
mov rcx, rdi
call qword [0x1804ce158]
mov rcx, qword [0x1804df4c8]
test rcx, rcx
je 0x18035cc1a
call qword [0x1804ce1c0]
jmp 0x18035cc1a
mov rcx, rdi
call qword [0x1804ce158]
jmp 0x18035cc1a
mov ebx, 7
mov eax, ebx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.180388400
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret