Function at 0x14005e440
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
inc qword [rcx + 0x40]
xor r13d, r13d
or edi, 0xffffffff
cmp dword [rcx + 0x48], 0xb
mov rbx, rcx
mov esi, r13d
je 0x14005e7de
lea r14, [0x140000000]
lea r15, str.REINDEXEDESCAPEACHECKEYBEFOREIGNOREGEXPLAINSTEADDATABASELECTABLEFTHENDEFERRABLELSEXCEPTRANSACTIONATURALTERAISEXCLUSIVEXISTSAVEPOINTERSECTRIGGEREFERENCESCONSTRAINTOFFSETEMPORARYUNIQUERYWITHOUTERELEASEATTACHAVINGROUPDATEBEGINNERANGEBETWEENOTHINGLOBYCASCADELETECASECOLLATECREATECURRENT_DATEDETACHIMMEDIATEJOINSERTLIKEMATCHPLANALYZEPRAGMABORTVALUESVIRTUALIMITWHENOTNULLWHERECURSIVEAFTERENAMEANDEFAULTAUTOINCREMENTCASTCOLUMNCOMMITCONFLICTCROSSCURRENT_TIMESTAMPARTITIONDEFERREDISTINCTDROPRECEDINGFAILFILTEREPLACEFOLLOWINGFROMFULLIFISNULLORDERESTRICTOVERIGHTROLLBACKROWSUNBOUNDEDUNIONUSINGVACUUMVIEWINDOWINITIALLYPRIMARY
nop dword [rax]
mov ecx, dword [rbx + 0x48]
sub ecx, 1
je 0x14005e6fa
sub ecx, 6
je 0x14005e681
sub ecx, 1
je 0x14005e599
cmp ecx, 1
jne 0x14005e58c
cmp qword [rbx + 0x38], r13
lea rbp, [rbx + 0x38]
jne 0x14005e57f
lea rax, [rsp + 0x80]
lea r9d, [rcx + 0x7f]
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
lea rdx, str.PRAGMA_database_list
or r8d, 0xffffffff
mov qword [rsp + 0x20], r13
mov r12, r13
lea rsi, [0x140127e70]
call fcn.1400d3320
mov rdi, qword [rsp + 0x80]
mov rcx, rdi
call fcn.14008e7f0
cmp eax, 0x64
jne 0x14005e54a
mov edx, 1
mov rcx, rdi
call fcn.14008f1a0
lea rcx, str._z_sSELECT_pti.name_FROM___w_.sqlite_master_AS_sm_JOIN_pragma_table_info_sm.name__Q__AS_pti_WHERE_sm.typetable
mov r8, rsi
mov r9, rax
mov rdx, r12
mov qword [rsp + 0x20], rax
call fcn.140065990
mov r12, rax
test rax, rax
je 0x14005e7f8
mov rcx, rdi
lea rsi, str._UNION
call fcn.14008e7f0
cmp eax, 0x64
je 0x14005e503
mov rcx, rdi
call fcn.14008d7a0
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x30], r13
mov r9d, 0x80
or r8d, 0xffffffff
mov rdx, r12
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r13
call fcn.1400d3320
mov rcx, r12
call fcn.140063010
mov edi, r13d
mov esi, reloc.Config.dll_Ordinal_11
jmp 0x14005e6bc
test edi, edi
jns 0x14005e6bc
jmp 0x14005e740
cmp qword [rbx + 0x38], r13
lea rbp, [rbx + 0x38]
jne 0x14005e677
mov rcx, qword [rbx + 8]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
lea rdx, str.PRAGMA_database_list
mov r9d, 0x80
or r8d, 0xffffffff
mov qword [rsp + 0x20], r13
mov r12, r13
lea rsi, [0x140127e70]
call fcn.1400d3320
mov rdi, qword [rsp + 0x88]
mov rcx, rdi
call fcn.14008e7f0
cmp eax, 0x64
jne 0x14005e642
nop word [rax + rax]
mov edx, 1
mov rcx, rdi
call fcn.14008f1a0
lea rcx, str._z_sSELECT_name_FROM___w_.sqlite_master
mov r8, rsi
mov r9, rax
mov rdx, r12
call fcn.140065990
mov r12, rax
test rax, rax
je 0x14005e7f8
mov rcx, rdi
lea rsi, str._UNION
call fcn.14008e7f0
cmp eax, 0x64
je 0x14005e600
mov rcx, rdi
call fcn.14008d7a0
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x30], r13
mov r9d, 0x80
or r8d, 0xffffffff
mov rdx, r12
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r13
call fcn.1400d3320
mov rcx, r12
call fcn.140063010
mov edi, r13d
mov esi, 9
jmp 0x14005e6bc
cmp qword [rbx + 0x38], r13
lea rax, [rbx + 0x38]
jne 0x14005e6b4
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
lea rdx, str.PRAGMA_database_list
mov r9d, 0x80
or r8d, 0xffffffff
mov qword [rsp + 0x20], r13
call fcn.1400d3320
mov edi, 1
lea esi, [rdi + 7]
mov rcx, qword [rbx + 0x38]
call fcn.14008e7f0
mov rcx, qword [rbx + 0x38]
cmp eax, 0x64
jne 0x14005e6e9
mov edx, edi
call fcn.14008f1a0
mov rcx, qword [rbx + 0x38]
mov edx, edi
mov qword [rbx + 0x28], rax
call fcn.14008eea0
mov dword [rbx + 0x30], eax
jmp 0x14005e74a
call fcn.14008d7a0
mov qword [rbx + 0x38], r13
mov dword [rbx + 0x48], esi
jmp 0x14005e7d4
movsxd rcx, dword [rbx + 0x4c]
cmp ecx, 0x88
jl 0x14005e713
mov qword [rbx + 0x28], r13
mov dword [rbx + 0x48], 7
jmp 0x14005e73d
lea eax, [rcx + 1]
mov dword [rbx + 0x4c], eax
cmp ecx, 0x87
ja 0x14005e73d
movzx eax, word [r14 + rcx*2 + 0x1322d0]
add rax, r15
mov qword [rbx + 0x28], rax
movzx eax, byte [rcx + r14 + 0x132240]
mov dword [rbx + 0x30], eax
or edi, 0xffffffff
cmp qword [rbx + 0x28], r13
je 0x14005e7d4
mov edx, dword [rbx + 0x10]
test edx, edx
je 0x14005e7de
cmp edx, dword [rbx + 0x30]
jg 0x14005e7d4
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x28]
test r9, r9
jne 0x14005e76e
neg r8
sbb eax, eax
jmp 0x14005e7d0
test r8, r8
je 0x14005e7d4
test edx, edx
jle 0x14005e7ae
nop word [rax + rax]
movzx eax, byte [r9]
dec edx
test al, al
je 0x14005e7b0
movzx ecx, al
movzx eax, byte [r8]
movzx eax, byte [rax + r14 + 0x12ca10]
cmp byte [rcx + r14 + 0x12ca10], al
jne 0x14005e7b0
inc r9
inc r8
test edx, edx
jg 0x14005e780
dec edx
test edx, edx
js 0x14005e7de
movzx eax, byte [r8]
movzx ecx, byte [rax + r14 + 0x12ca10]
movzx eax, byte [r9]
movzx eax, byte [rax + r14 + 0x12ca10]
sub eax, ecx
test eax, eax
je 0x14005e7de
cmp dword [rbx + 0x48], 0xb
jne 0x14005e480
xor eax, eax
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 7
jmp 0x14005e7e0