Function at 0x180115d20
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 [0x180191008]
xor rax, rsp
mov qword [rsp + 0xa0], rax
xor ebp, ebp
mov qword [rcx + 0x18], rdx
lea r13, [0x180195b48]
movq xmm6, rcx
mov r12, r9
mov r15, r8
mov r14, rdx
mov rsi, rcx
punpcklqdq xmm6, xmm6
cmp dword [rsp + 0x130], ebp
je 0x180115eb9
call fcn.1800e74e0
test eax, eax
jne 0x180115dbf
lea ecx, [rbp + 0x20]
call fcn.18002a230
mov rbx, rax
test rax, rax
je 0x180115dbf
test r14, r14
je 0x180115da4
mov eax, dword [r14 + 0x88]
jmp 0x180115da9
mov eax, 0x3b9aca00
mov qword [rbx + 8], rbp
mov qword [rbx], rbp
mov dword [rbx + 0x10], ebp
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x18], ebp
mov word [rbx + 0x1c], bp
jmp 0x180115dc2
mov rbx, r13
mov r9, r12
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov r8, r15
mov rcx, rbx
call fcn.18002d490
mov edi, ebp
cmp byte [rsi + 0x29], bpl
jbe 0x180115dfc
nop
mov r8d, edi
lea rdx, str._a_d
mov rcx, rbx
call fcn.18002d490
movzx eax, byte [rsi + 0x29]
inc edi
cmp edi, eax
jl 0x180115de0
mov r9, r12
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
mov r8, r15
mov rcx, rbx
call fcn.18002d490
mov r9, r12
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
mov r8, r15
mov rcx, rbx
call fcn.18002d490
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.18002d490
test rbx, rbx
je 0x180115f70
cmp rbx, r13
je 0x180115f70
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180115e7c
mov eax, dword [rbx + 0x18]
mov byte [rax + rcx], bpl
cmp dword [rbx + 0x14], ebp
jbe 0x180115e7c
test byte [rbx + 0x1d], 4
jne 0x180115e7c
mov rcx, rbx
call fcn.18002ce60
mov rdi, rax
jmp 0x180115e80
mov rdi, qword [rbx + 8]
mov rcx, rbx
call fcn.18002a420
test rdi, rdi
je 0x180115f70
xor r9d, r9d
mov qword [rsp + 0x20], rbp
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.1800a1c30
mov rcx, rdi
mov ebx, eax
call fcn.18002a420
test ebx, ebx
jne 0x180116344
cmp dword [0x180191018], 2
jl 0x180115f7a
movdqa xmm3, xmmword [0x18017a5f0]
mov eax, 3
movdqa xmm2, xmmword [0x18017a5c0]
pmovsxdq xmm0, xmm3
movd xmm4, eax
lea rax, [rsi + 0x78]
psllq xmm0, xmm4
paddq xmm0, xmm6
paddq xmm0, xmm2
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm0, xmmword [0x18017a5e0]
paddd xmm0, xmm3
pmovsxdq xmm1, xmm0
movdqa xmm0, xmmword [0x18017a600]
psllq xmm1, xmm4
paddd xmm0, xmm3
paddq xmm1, xmm6
paddq xmm1, xmm2
movdqu xmmword [rsp + 0x70], xmm1
pmovsxdq xmm1, xmm0
movdqa xmm0, xmmword [0x18017a610]
psllq xmm1, xmm4
paddd xmm0, xmm3
paddq xmm1, xmm6
paddq xmm1, xmm2
movdqu xmmword [rsp + 0x80], xmm1
pmovsxdq xmm1, xmm0
movq xmm0, rax
psllq xmm1, xmm4
punpcklqdq xmm0, xmm0
paddq xmm1, xmm0
movdqu xmmword [rsp + 0x90], xmm1
jmp 0x180115fa8
mov eax, 7
jmp 0x180116346
lea rcx, [rsp + 0x60]
mov rdx, rbp
mov r8d, 8
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 0x180115f90
mov rdx, qword [rsi + 0x30]
lea r8, str.sqlite_stat1
mov qword [rsp + 0x40], rbp
mov edi, 0x64
mov qword [rsp + 0x38], rbp
xor r9d, r9d
mov qword [rsp + 0x30], rbp
mov rcx, r14
mov qword [rsp + 0x28], rbp
mov r13d, edi
mov qword [rsp + 0x20], rbp
call fcn.1800ec290
mov ebx, eax
test eax, eax
je 0x180115ff5
cmp eax, 1
mov edi, 0x100000
cmove ebx, ebp
jmp 0x180116080
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.18002d2d0
mov rbp, rax
test rax, rax
jne 0x180116016
lea ebx, [rax + 7]
jmp 0x180116077
xor ecx, ecx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rcx
mov r9d, 0x80
mov qword [rsp + 0x28], rax
mov rdx, rbp
mov qword [rsp + 0x20], rcx
lea r8d, [rcx - 1]
mov rcx, r14
call fcn.1800aba20
mov ebx, eax
test eax, eax
jne 0x18011606f
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18005aa50
cmp eax, edi
jne 0x180116065
xor edx, edx
mov rcx, rbx
call fcn.18005b610
mov r13, rax
mov rcx, rbx
call fcn.180059a80
mov ebx, eax
mov rcx, rbp
call fcn.18002a420
cmp r13, rdi
cmovg rdi, r13
xor ebp, ebp
mov qword [rsi + 0x50], rdi
lea r13, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
mov rdi, rbp
nop
test ebx, ebx
jne 0x180116162
cmp rdi, 3
jne 0x1801160aa
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], bl
jne 0x1801160af
mov rcx, qword [r13 + rdi*8]
mov r8, r12
mov rdx, r15
call fcn.18002d2d0
mov rbp, rax
test rax, rax
je 0x180116150
mov rcx, qword [rsp + rdi*8 + 0x60]
xor eax, eax
mov qword [rsp + 0x30], rax
mov r9d, 0x85
mov qword [rsp + 0x28], rcx
mov rdx, rbp
mov rcx, r14
mov qword [rsp + 0x20], rax
lea r8d, [rax - 1]
call fcn.1800aba20
cmp dword [0x180191d70], 0
mov ebx, eax
je 0x180116145
mov rcx, qword [0x1801975c8]
test rcx, rcx
je 0x18011610e
call qword [0x180191df0]
mov rcx, rbp
call qword [0x180191da8]
dec qword [0x1801973d8]
movsxd rcx, eax
sub qword [0x180197390], rcx
mov rcx, rbp
call qword [0x180191d98]
mov rcx, qword [0x1801975c8]
test rcx, rcx
je 0x180116155
call qword [0x180191e00]
jmp 0x180116155
mov rcx, rbp
call qword [0x180191d98]
jmp 0x180116155
mov ebx, 7
inc rdi
cmp rdi, 8
jl 0x180116090
cmp byte [rsi + 0x29], 0
je 0x180116344
mov r8, r12
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
mov rdx, r15
call fcn.18002d2d0
mov qword [rsi + 0x60], rax
test rax, rax
je 0x18011633f
call fcn.1800e74e0
test eax, eax
jne 0x1801161d6
lea ecx, [rax + 0x20]
call fcn.18002a230
mov rbx, rax
test rax, rax
je 0x1801161d6
test r14, r14
je 0x1801161b2
mov eax, dword [r14 + 0x88]
jmp 0x1801161b7
mov eax, 0x3b9aca00
xor ebp, ebp
mov dword [rbx + 0x14], eax
mov qword [rbx + 8], rbp
lea r13, [0x180195b48]
mov qword [rbx], rbp
mov dword [rbx + 0x10], ebp
mov dword [rbx + 0x18], ebp
mov word [rbx + 0x1c], bp
jmp 0x1801161e2
lea r13, [0x180195b48]
xor ebp, ebp
mov rbx, r13
mov r9, r12
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov r8, r15
mov rcx, rbx
call fcn.18002d490
cmp byte [rsi + 0x29], 0
mov edi, ebp
jbe 0x180116254
nop
test edi, edi
je 0x180116234
mov eax, dword [rbx + 0x18]
lea ecx, [rax + 1]
cmp ecx, dword [rbx + 0x10]
jb 0x180116226
mov r8d, 1
lea rdx, [0x1801736a0]
mov rcx, rbx
call fcn.18002cd90
jmp 0x180116234
mov dword [rbx + 0x18], ecx
mov rcx, rax
mov rax, qword [rbx + 8]
mov byte [rcx + rax], 0x2c
lea r9d, [rdi + 2]
mov r8d, edi
lea rdx, str.a_d__d
mov rcx, rbx
call fcn.18002d490
movzx eax, byte [rsi + 0x29]
inc edi
cmp edi, eax
jl 0x180116200
lea rdx, str._WHERE_rowid_1
mov rcx, rbx
call fcn.18002d490
test rbx, rbx
je 0x18011633f
cmp rbx, r13
je 0x18011633f
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18011629e
mov eax, dword [rbx + 0x18]
mov byte [rax + rcx], 0
cmp dword [rbx + 0x14], 0
jbe 0x18011629e
test byte [rbx + 0x1d], 4
jne 0x18011629e
mov rcx, rbx
call fcn.18002ce60
mov rdi, rax
jmp 0x1801162a2
mov rdi, qword [rbx + 8]
mov rcx, rbx
call fcn.18002a420
test rdi, rdi
je 0x18011633f
lea rax, [rsi + 0xb8]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rax
mov r9d, 0x85
mov r8d, 0xffffffff
mov qword [rsp + 0x20], rbp
mov rdx, rdi
mov rcx, r14
call fcn.1800aba20
cmp dword [0x180191d70], 0
mov ebx, eax
je 0x180116334
mov rcx, qword [0x1801975c8]
test rcx, rcx
je 0x1801162fd
call qword [0x180191df0]
mov rcx, rdi
call qword [0x180191da8]
dec qword [0x1801973d8]
movsxd rcx, eax
sub qword [0x180197390], rcx
mov rcx, rdi
call qword [0x180191d98]
mov rcx, qword [0x1801975c8]
test rcx, rcx
je 0x180116344
call qword [0x180191e00]
jmp 0x180116344
mov rcx, rdi
call qword [0x180191d98]
jmp 0x180116344
mov ebx, 7
mov eax, ebx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.18013b850
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