Function at 0x18005b4a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov rax, qword [0x1800bddb0]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov rbx, qword [rcx + 0x10]
mov rax, qword [rcx]
mov r12, r9
mov r15, r8
mov rdi, rdx
mov r13, rcx
mov qword [rbp - 0x80], rcx
mov qword [rsp + 0x60], rax
test rbx, rbx
jne 0x18005b4f6
call fcn.180011f90
mov rbx, rax
test rax, rax
je 0x18005e338
or dword [rbx + 0x94], 8
mov rax, qword [r13]
mov dword [r13 + 0x58], 2
cmp dword [r15 + 8], 0
mov qword [rsp + 0x150], rsi
jbe 0x18005b564
cmp byte [rax + 0xa9], 0
je 0x18005b535
lea rdx, str.corrupt_database
mov rcx, r13
call fcn.180048910
jmp 0x18005e330
mov rdx, rdi
mov rcx, rax
mov rsi, r15
call fcn.18004d4f0
mov edx, eax
mov dword [rsp + 0x68], eax
test eax, eax
jns 0x18005b572
lea rdx, str.unknown_database__T
mov r8, rdi
mov rcx, r13
call fcn.180048910
jmp 0x18005e330
movzx edx, byte [rax + 0xa8]
mov rsi, rdi
mov dword [rsp + 0x68], edx
test edx, edx
js 0x18005e330
mov rdi, qword [rsp + 0x60]
movsxd rax, edx
mov qword [rsp + 0x148], r14
mov r14, qword [rdi + 0x20]
mov rcx, rax
mov qword [rbp - 0x20], rax
shl rcx, 5
add r14, rcx
mov qword [rbp - 8], rcx
mov qword [rbp - 0x70], r14
cmp edx, 1
jne 0x18005b5b9
mov rcx, r13
call fcn.180058320
test eax, eax
jne 0x18005e328
mov rdx, rsi
mov rcx, rdi
call fcn.180057b70
mov qword [rbp - 0x28], rax
test rax, rax
je 0x18005e328
cmp dword [rbp + 0xb0], 0
mov rcx, rdi
je 0x18005b5ee
lea rdx, [0x1800a8884]
mov r8, r12
call fcn.180057320
jmp 0x18005b5f6
mov rdx, r12
call fcn.180057b70
xor esi, esi
mov qword [rsp + 0x70], rax
cmp dword [r15 + 8], esi
jbe 0x18005b608
mov rdi, qword [r14]
jmp 0x18005b60b
mov rdi, rsi
mov r12, qword [rbp - 0x28]
mov r9, rax
mov edx, 0x13
mov rcx, r13
mov r8, r12
mov qword [rbp - 0x50], rdi
mov qword [rsp + 0x20], rdi
call fcn.18003cfe0
test eax, eax
jne 0x18005e308
mov rax, qword [rsp + 0x70]
mov qword [rbp + 8], r12
mov qword [rbp], rsi
mov qword [rbp + 0x10], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp + 0x18], rsi
mov rcx, qword [rax + 0x18]
mov r13d, 1
mov dword [rax + 0x228], esi
mov r12d, r13d
test rcx, rcx
je 0x18005b670
call qword [0x1800bcef8]
mov rax, qword [rsp + 0x60]
mov rdx, rdi
mov rcx, rax
call fcn.180046350
mov rdi, rax
test rax, rax
je 0x18005b6d7
cmp byte [rax + 0x11], sil
je 0x18005b69a
inc dword [rax + 0x14]
cmp byte [rax + 0x12], sil
jne 0x18005b69a
mov rcx, rax
call fcn.1800176c0
mov rax, qword [rdi + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x18005b6be
lea r8, [rbp]
mov edx, 0xe
call qword [rax + 0x50]
mov r12d, eax
jmp 0x18005b6c4
mov r12d, 0xc
cmp byte [rdi + 0x11], sil
je 0x18005b6d7
dec dword [rdi + 0x14]
jne 0x18005b6d7
mov rcx, rdi
call fcn.180080340
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x18005b6eb
call qword [0x1800bcf08]
test r12d, r12d
jne 0x18005b711
mov r8, qword [rbp]
lea rdx, str.result
mov rcx, rbx
call fcn.1800377f0
mov rcx, qword [rbp]
call sym.sqlite3.dll_sqlite3_free
jmp 0x18005e308
cmp r12d, 0xc
je 0x18005b749
mov r8, qword [rbp]
test r8, r8
je 0x18005b739
mov rcx, qword [rbp - 0x80]
lea rdx, [0x1800a6394]
call fcn.180048910
mov rcx, qword [rbp]
call sym.sqlite3.dll_sqlite3_free
mov rax, qword [rbp - 0x80]
inc dword [rax + 0x50]
mov dword [rax + 0x18], r12d
jmp 0x18005e308
mov eax, 0x3a
mov r12d, esi
lea rcx, str.application_id
mov dword [rsp + 0x78], eax
nop dword [rax]
add eax, r12d
cdq
sub eax, edx
sar eax, 1
movsxd rdi, eax
mov rdx, rdi
add rdx, rdx
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rbp - 0x28]
call sym.sqlite3.dll_sqlite3_stricmp
test eax, eax
je 0x18005b7a6
jns 0x18005b78d
lea eax, [rdi - 1]
mov dword [rsp + 0x78], eax
jmp 0x18005b795
mov eax, dword [rsp + 0x78]
lea r12d, [rdi + 1]
lea rcx, str.application_id
cmp r12d, eax
jle 0x18005b760
jmp 0x18005e308
cmp r12d, dword [rsp + 0x78]
jg 0x18005e308
mov r12, rdi
mov rdi, qword [rbp - 0x80]
lea rax, str.application_id
shl r12, 4
add r12, rax
test byte [r12 + 9], r13b
je 0x18005b7dd
mov rcx, rdi
call fcn.18005eee0
test eax, eax
jne 0x18005e308
movzx eax, byte [r12 + 8]
cmp eax, 0x24
ja case.0x18005b7fd.3
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x5e358]
add rax, rcx
jmp rax
mov r15d, dword [rsp + 0x68]
mov rcx, rbx
mov edx, r15d
call fcn.180077880
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x18005b864
lea rdx, str.cache_size
lea r8, [rbp - 0x70]
mov rcx, rbx
mov qword [rbp - 0x70], rdx
mov edx, r13d
call fcn.18003a2d0
add dword [rdi + 0x58], 2
xor r9d, r9d
lea r8, [0x1800a0958]
lea edx, [r9 + 9]
mov rcx, rbx
call fcn.18006b7d0
mov dword [rax + 4], r15d
mov dword [rax + 0x1c], r15d
mov dword [rax + 0x94], 0xfffff830
jmp 0x18005e308
mov rcx, rax
call fcn.18003cdb0
mov esi, eax
test eax, eax
jns 0x18005b882
cmp eax, 0x80000000
jne 0x18005b880
mov esi, 0x7fffffff
jmp 0x18005b882
neg esi
mov r8d, r15d
xor edx, edx
mov rcx, rdi
call fcn.18003de60
mov r9d, 3
mov r8d, r15d
lea edx, [r9 + 0x62]
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.18006b510
mov rax, qword [r14 + 0x18]
mov dword [rax + 0x74], esi
mov rax, qword [r14 + 0x18]
mov rcx, qword [r14 + 8]
mov edx, dword [rax + 0x74]
call fcn.180041910
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
mov rdi, qword [r14 + 8]
test rax, rax
jne 0x18005b8ed
test rdi, rdi
je 0x18005b8de
mov rax, qword [rdi + 8]
mov esi, dword [rax + 0x30]
movsxd r8, esi
lea rdx, str.page_size
jmp 0x18005e300
mov rcx, rax
call fcn.18003cdb0
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov dword [rcx + 0x60], eax
mov rcx, rdi
or r8d, 0xffffffff
mov edx, eax
call fcn.180041a30
mov rdi, qword [rsp + 0x60]
cmp eax, 7
jne 0x18005e30d
mov rcx, rdi
call fcn.180057e20
jmp 0x18005e30d
mov rax, qword [rsp + 0x70]
mov r14, qword [r14 + 8]
or r12, 0xffffffffffffffff
mov qword [rbp - 0x70], r14
test rax, rax
je 0x18005b957
xor r8d, r8d
mov edx, r13d
mov rcx, rax
call fcn.180029410
mov ecx, esi
test al, al
setne cl
mov r12d, ecx
cmp dword [r15 + 8], esi
jne 0x18005b993
test r12d, r12d
js 0x18005b993
mov rax, qword [rsp + 0x60]
cmp dword [rax + 0x28], esi
jle 0x18005b993
mov rdi, rsi
mov r14, rax
mov rcx, qword [r14 + 0x20]
mov edx, r12d
mov rcx, qword [rdi + rcx + 8]
call fcn.1800417f0
inc esi
lea rdi, [rdi + 0x20]
cmp esi, dword [r14 + 0x28]
jl 0x18005b972
mov r14, qword [rbp - 0x70]
mov edx, r12d
mov rcx, r14
call fcn.1800417f0
lea rdx, str.secure_delete
movsxd r8, eax
jmp 0x18005e300
mov r14d, dword [rsp + 0x68]
mov rcx, rdi
mov edx, r14d
call fcn.180043810
inc dword [rdi + 0x58]
mov r15, qword [rbp - 0x28]
movzx eax, byte [r15]
mov edi, dword [rdi + 0x58]
lea r12, [0x180000000]
cmp byte [rax + r12 + 0xa0de0], 0x70
jne 0x18005b9f2
mov r9d, edi
mov r8d, r14d
mov edx, 0x9d
mov rcx, rbx
call fcn.18006b4a0
jmp 0x18005ba29
mov rcx, qword [rsp + 0x70]
call fcn.18003cdb0
mov esi, eax
test eax, eax
jns 0x18005ba12
cmp eax, 0x80000000
jne 0x18005ba10
mov esi, 0x7fffffff
jmp 0x18005ba12
neg esi
mov r9d, edi
mov r8d, r14d
mov edx, 0x9e
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.18006b510
mov r9d, r13d
mov r8d, edi
mov edx, 0x56
mov rcx, rbx
call fcn.18006b4a0
mov edx, r13d
mov rcx, rbx
call fcn.1800769f0
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
jne 0x18005e308
mov rbx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x18005ba66
mov eax, dword [rax + 0x70]
jmp 0x18005ba6b
mov eax, 0x3b9aca00
or rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [r15 + rsi], 0
jne 0x18005ba70
and esi, 0x3fffffff
cmp esi, eax
jle 0x18005ba87
lea esi, [rax + 1]
lea edi, [rsi + 1]
cmp esi, eax
jg 0x18005e308
mov eax, 0x20
cmp edi, eax
cmovg eax, edi
cmp dword [rbx + 0x20], eax
jge 0x18005bab8
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.180074b90
test eax, eax
jne 0x18005e308
jmp 0x18005bac5
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
mov rcx, qword [rbx + 0x10]
movsxd r8, edi
mov rdx, r15
call fcn.180091e20
mov eax, 0x202
mov dword [rbx + 0xc], esi
mov word [rbx + 8], ax
mov byte [rbx + 0xa], r13b
jmp 0x18005e308
mov rcx, qword [rsp + 0x70]
lea rdi, str.normal
call fcn.180029180
mov r8d, eax
mov eax, dword [r15 + 8]
test eax, eax
jne 0x18005bb86
cmp r8d, 0xffffffff
jne 0x18005bb1d
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x57]
jmp 0x18005bbb6
test eax, eax
jne 0x18005bb86
mov r9, qword [rsp + 0x60]
cmp dword [r9 + 0x28], 2
jle 0x18005bb82
mov edx, 0x40
lea r14d, [rax + 2]
nop word [rax + rax]
mov rax, qword [r9 + 0x20]
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
test r8d, r8d
js 0x18005bb71
cmp byte [rcx + 0x11], sil
jne 0x18005bb71
mov rax, qword [rcx + 0x118]
test rax, rax
je 0x18005bb6d
cmp byte [rax + 0x3f], 2
je 0x18005bb71
mov byte [rcx + 8], r8b
inc r14d
add rdx, 0x20
cmp r14d, dword [r9 + 0x28]
jl 0x18005bb40
mov r14, qword [rbp - 0x70]
mov byte [r9 + 0x57], r8b
mov rax, qword [r14 + 8]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
test r8d, r8d
js 0x18005bbb2
cmp byte [rax + 0x11], sil
jne 0x18005bbb2
mov rcx, qword [rax + 0x118]
test rcx, rcx
je 0x18005bbae
cmp byte [rcx + 0x3f], 2
je 0x18005bbb2
mov byte [rax + 8], r8b
movzx eax, byte [rax + 8]
cmp eax, r13d
lea r8, str.exclusive
lea rdx, str.locking_mode
cmovne r8, rdi
mov rcx, rbx
call fcn.1800377f0
jmp 0x18005e308
lea rax, str.journal_mode
lea r8, [rbp - 0x70]
mov edx, r13d
mov rcx, rbx
mov qword [rbp - 0x70], rax
call fcn.18003a2d0
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005bce7
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], sil
jne 0x18005bc04
and edi, 0x3fffffff
mov r12d, esi
lea r14, str.delete
lea rcx, [0x1800a0840]
cmp r14, rcx
je 0x18005bce7
mov rdx, qword [r14]
test rdx, rdx
je 0x18005bce7
mov r8d, edi
mov rcx, rax
call sym.sqlite3.dll_sqlite3_strnicmp
test eax, eax
je 0x18005bc56
mov rax, qword [rsp + 0x70]
inc r12d
add r14, 8
jmp 0x18005bc1d
cmp r12d, 0xffffffff
je 0x18005bceb
mov ecx, dword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov edi, dword [rax + 0x28]
dec edi
js 0x18005bccf
movsxd r14, edi
movsxd rcx, ecx
mov rsi, r14
mov qword [rbp - 0x70], rcx
shl rsi, 5
mov rax, qword [rax + 0x20]
cmp qword [rsi + rax + 8], 0
je 0x18005bcbf
cmp r14, rcx
je 0x18005bc99
cmp dword [r15 + 8], 0
jne 0x18005bcbf
mov edx, edi
mov rcx, rbx
call fcn.180077880
mov r9d, r13d
mov r8d, edi
mov edx, 9
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.18006b510
mov rcx, qword [rbp - 0x70]
mov rax, qword [rsp + 0x60]
dec r14
sub rsi, 0x20
dec edi
jns 0x18005bc81
mov r9d, r13d
mov r8d, r13d
mov edx, 0x56
mov rcx, rbx
call fcn.18006b4a0
jmp 0x18005e308
or r12d, 0xffffffff
cmp dword [r15 + 8], esi
jne 0x18005bc60
mov ecx, esi
mov dword [r15 + 8], r13d
jmp 0x18005bc64
mov rax, qword [r14 + 8]
mov qword [rbp - 0x48], 0xfffffffffffffffe
mov rcx, qword [rax + 8]
mov rax, qword [rsp + 0x70]
mov rdi, qword [rcx]
test rax, rax
je 0x18005bd4f
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.180046620
mov rax, qword [rbp - 0x48]
or rcx, 0xffffffffffffffff
cmp rax, rcx
cmovl rax, rcx
mov rcx, qword [rdi + 0x118]
mov qword [rdi + 0xc8], rax
test rcx, rcx
je 0x18005bd4f
mov qword [rcx + 0x20], rax
mov r8, qword [rdi + 0xc8]
lea rdx, str.journal_size_limit
jmp 0x18005e300
mov rax, qword [rsp + 0x70]
mov rdi, qword [r14 + 8]
test rax, rax
jne 0x18005bd87
mov rcx, rdi
call fcn.18003f9d0
lea rdx, str.auto_vacuum
movsxd r8, eax
jmp 0x18005e300
mov rcx, rax
call fcn.180028ea0
mov rcx, rdi
mov esi, eax
mov rax, qword [rsp + 0x60]
mov edx, esi
mov byte [rax + 0x58], sil
call fcn.180041880
test eax, eax
jne 0x18005e308
lea ecx, [rsi - 1]
cmp ecx, r13d
ja 0x18005e308
mov edi, dword [rbx + 0x3c]
lea r8, [0x1800a0bc0]
lea edx, [rax + 5]
xor r9d, r9d
mov rcx, rbx
call fcn.18006b7d0
mov edx, dword [rsp + 0x68]
lea ecx, [rdi + 4]
mov dword [rax + 0x38], ecx
lea ecx, [rsi - 1]
mov dword [rax + 4], edx
mov dword [rax + 0x6c], ecx
mov rcx, rbx
mov dword [rax + 0x1c], edx
mov dword [rax + 0x64], edx
call fcn.180077880
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005be17
lea rdx, [rbp - 0x78]
mov rcx, rax
call fcn.180052410
test eax, eax
je 0x18005be17
mov esi, dword [rbp - 0x78]
test esi, esi
jg 0x18005be1c
mov esi, 0x7fffffff
mov r8d, dword [rsp + 0x68]
xor edx, edx
mov rcx, rdi
call fcn.18003de60
mov r9d, r13d
mov r8d, esi
mov edx, 0x4b
mov rcx, rbx
call fcn.18006b4a0
mov r8d, dword [rsp + 0x68]
mov edx, 0x44
mov rcx, rbx
call fcn.18006b430
mov r8d, r13d
mov edx, 0x56
mov rcx, rbx
mov edi, eax
call fcn.18006b430
or r9d, 0xffffffff
mov r8d, r13d
lea edx, [r9 + 0x5b]
mov rcx, rbx
call fcn.18006b4a0
mov r9d, edi
mov r8d, r13d
mov edx, 0x41
mov rcx, rbx
call fcn.18006b4a0
mov edx, edi
mov rcx, rbx
call fcn.180073d80
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x18005beb5
mov rax, qword [r14 + 0x18]
lea rdx, str.cache_size
movsxd r8, dword [rax + 0x74]
jmp 0x18005e300
mov rcx, rax
call fcn.18003cdb0
mov rcx, qword [r14 + 0x18]
mov dword [rcx + 0x74], eax
jmp 0x18005b8af
mov rdi, qword [rsp + 0x70]
test rdi, rdi
jne 0x18005befa
mov rax, qword [rsp + 0x60]
test byte [rax + 0x2c], 0x20
je 0x18005beeb
mov rcx, qword [r14 + 8]
xor edx, edx
call fcn.180041b70
mov esi, eax
movsxd r8, esi
lea rdx, str.cache_spill
jmp 0x18005e300
lea rdx, [rbp - 0x60]
mov rcx, rdi
mov dword [rbp - 0x60], r13d
call fcn.180052410
mov ebx, dword [rbp - 0x60]
test eax, eax
je 0x18005bf1c
mov rcx, qword [r14 + 8]
mov edx, ebx
call fcn.180041b70
test ebx, ebx
mov edx, r13d
mov rcx, rdi
setne r8b
call fcn.180029410
test al, al
mov rax, qword [rsp + 0x60]
je 0x18005bf47
or dword [rax + 0x2c], 0x20
mov rcx, rax
call fcn.18003a470
jmp 0x18005e308
and dword [rax + 0x2c], 0xffffffdf
mov rcx, rax
call fcn.18003a470
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005bfe1
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.180046620
mov rdx, qword [rbp - 0x58]
mov r8, qword [rsp + 0x60]
test rdx, rdx
cmovs rdx, qword [0x1800bcfa0]
mov qword [rbp - 0x58], rdx
cmp dword [r15 + 8], esi
jne 0x18005bf90
mov qword [r8 + 0x38], rdx
mov eax, dword [r8 + 0x28]
dec eax
movsxd rdi, eax
js 0x18005bfe1
mov r14, qword [rbp - 0x20]
mov rsi, rdi
shl rsi, 5
nop word [rax + rax]
mov rax, qword [r8 + 0x20]
mov rcx, qword [rsi + rax + 8]
test rcx, rcx
je 0x18005bfd8
cmp rdi, r14
je 0x18005bfca
cmp dword [r15 + 8], 0
jne 0x18005bfd8
call fcn.1800419a0
mov rdx, qword [rbp - 0x58]
mov r8, qword [rsp + 0x60]
sub rsi, 0x20
dec rdi
jns 0x18005bfb0
mov rdi, qword [rsp + 0x60]
mov qword [rbp - 0x58], 0xffffffffffffffff
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x18005bffd
call qword [0x1800bcef8]
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
call fcn.180046350
mov rdi, rax
test rax, rax
je 0x18005c065
cmp byte [rax + 0x11], 0
je 0x18005c028
inc dword [rax + 0x14]
cmp byte [rax + 0x12], 0
jne 0x18005c028
mov rcx, rax
call fcn.1800176c0
mov rax, qword [rdi + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x18005c04c
lea r8, [rbp - 0x58]
mov edx, 0x12
call qword [rax + 0x50]
mov r13d, eax
jmp 0x18005c052
mov r13d, 0xc
cmp byte [rdi + 0x11], 0
je 0x18005c065
dec dword [rdi + 0x14]
jne 0x18005c065
mov rcx, rdi
call fcn.180080340
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x18005c079
call qword [0x1800bcf08]
test r13d, r13d
jne 0x18005c08e
mov r8, qword [rbp - 0x58]
lea rdx, str.mmap_size
jmp 0x18005e300
mov rdi, qword [rsp + 0x60]
cmp r13d, 0xc
je 0x18005e30d
mov rax, qword [rbp - 0x80]
inc dword [rax + 0x50]
mov dword [rax + 0x18], r13d
jmp 0x18005e30d
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x18005c0cd
mov rax, qword [rsp + 0x60]
lea rdx, str.temp_store
movzx r8d, byte [rax + 0x54]
jmp 0x18005e300
mov rcx, rax
call fcn.180029550
mov rdi, qword [rdi]
movzx ecx, byte [rdi + 0x54]
mov ebx, eax
cmp ecx, eax
je 0x18005e308
mov rcx, qword [rbp - 0x80]
call fcn.18002a420
test eax, eax
jne 0x18005e308
mov byte [rdi + 0x54], bl
jmp 0x18005e308
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x18005c124
mov r8, qword [sym.sqlite3.dll_sqlite3_temp_directory]
lea rdx, str.temp_store_directory
mov rcx, rbx
call fcn.1800377f0
jmp 0x18005e308
cmp byte [rcx], sil
je 0x18005c15e
mov rax, qword [rsp + 0x60]
mov rdx, rcx
lea r9, [rbp - 0x78]
mov rax, qword [rax]
mov r8d, r13d
mov rcx, rax
call qword [rax + 0x38]
test eax, eax
jne 0x18005c14a
cmp dword [rbp - 0x78], esi
jne 0x18005c15e
lea rdx, str.not_a_writable_directory
mov rcx, rdi
call fcn.180048910
jmp 0x18005e308
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x54], r13b
ja 0x18005c171
mov rcx, rdi
call fcn.18002a420
mov rcx, qword [sym.sqlite3.dll_sqlite3_temp_directory]
call sym.sqlite3.dll_sqlite3_free
mov rax, qword [rsp + 0x70]
cmp byte [rax], sil
je 0x18005c1a2
lea rcx, [0x1800a6394]
mov rdx, rax
call sym.sqlite3.dll_sqlite3_mprintf
mov qword [sym.sqlite3.dll_sqlite3_temp_directory], rax
jmp 0x18005e308
mov qword [sym.sqlite3.dll_sqlite3_temp_directory], rsi
jmp 0x18005e308
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x18005c1d3
mov r8, qword [sym.sqlite3.dll_sqlite3_data_directory]
lea rdx, str.data_store_directory
mov rcx, rbx
call fcn.1800377f0
jmp 0x18005e308
cmp byte [rcx], sil
je 0x18005c201
mov rax, qword [rsp + 0x60]
mov rdx, rcx
lea r9, [rbp - 0x78]
mov rax, qword [rax]
mov r8d, r13d
mov rcx, rax
call qword [rax + 0x38]
test eax, eax
jne 0x18005c14a
cmp dword [rbp - 0x78], esi
je 0x18005c14a
mov rcx, qword [sym.sqlite3.dll_sqlite3_data_directory]
call sym.sqlite3.dll_sqlite3_free
mov rax, qword [rsp + 0x70]
cmp byte [rax], sil
je 0x18005c232
lea rcx, [0x1800a6394]
mov rdx, rax
call sym.sqlite3.dll_sqlite3_mprintf
mov qword [sym.sqlite3.dll_sqlite3_data_directory], rax
jmp 0x18005e308
mov qword [sym.sqlite3.dll_sqlite3_data_directory], rsi
jmp 0x18005e308
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x18005c25e
movzx eax, byte [r14 + 0x10]
lea rdx, str.synchronous
dec eax
movsxd r8, eax
jmp 0x18005e300
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x53], sil
jne 0x18005c27d
lea rdx, str.Safety_level_may_not_be_changed_inside_a_transaction
mov rcx, rdi
call fcn.180048910
jmp 0x18005e308
movzx r8d, r13b
xor edx, edx
call fcn.180029410
mov rcx, qword [rsp + 0x60]
mov byte [r14 + 0x11], r13b
inc eax
and eax, 7
cmove eax, r13d
mov byte [r14 + 0x10], al
call fcn.18003a470
jmp 0x18005e308
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x18005c2cf
mov rcx, qword [rsp + 0x60]
mov eax, dword [r12 + 0xc]
mov rdx, qword [r12]
test dword [rcx + 0x2c], eax
setne sil
mov r8, rsi
jmp 0x18005e300
mov rax, qword [rsp + 0x60]
mov edi, dword [r12 + 0xc]
cmp byte [rax + 0x53], sil
jne 0x18005c2e3
btr edi, 0x13
xor r8d, r8d
mov edx, r13d
call fcn.180029410
test al, al
je 0x18005c2fc
mov rax, qword [rsp + 0x60]
or dword [rax + 0x2c], edi
jmp 0x18005c317
mov rcx, qword [rsp + 0x60]
mov eax, edi
not eax
and dword [rcx + 0x2c], eax
cmp edi, 0x2000000
jne 0x18005c317
mov qword [rcx + 0x290], rsi
mov edx, 0x95
mov rcx, rbx
call fcn.18006b3c0
mov rcx, qword [rsp + 0x60]
call fcn.18003a470
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e308
mov r9, qword [rbp - 0x50]
mov r8, rax
mov edx, 2
mov rcx, rdi
call fcn.180056f00
mov r14, rax
mov qword [rbp - 0x48], rax
test rax, rax
je 0x18005e308
mov r15, qword [rax + 0x10]
mov r12d, esi
test r15, r15
je 0x18005c386
mov ecx, dword [r15 + 0x64]
and cl, 3
cmp cl, 2
je 0x18005c386
mov r15, qword [r15 + 0x28]
test r15, r15
jne 0x18005c371
mov edx, dword [rsp + 0x68]
mov rcx, rdi
mov dword [rdi + 0x58], 6
call fcn.180043810
lea r8, [0x1800bc0f8]
mov edx, 6
mov rcx, rbx
call fcn.18003a2d0
mov rdx, r14
mov rcx, rdi
call fcn.1800778c0
mov rax, qword [rbp - 0x48]
mov r14, qword [r14 + 8]
movsx eax, word [rax + 0x3e]
mov edi, esi
test eax, eax
jle 0x18005e308
or r9, 0xffffffffffffffff
movzx r10d, byte [r14 + 0x1b]
test r10b, 2
je 0x18005c3e5
inc r12d
jmp 0x18005c4aa
test r13b, r10b
jne 0x18005c3ef
mov r8d, esi
jmp 0x18005c41f
mov r8d, r13d
test r15, r15
je 0x18005c41f
mov rdx, r13
cmp eax, edx
jl 0x18005c41f
mov rcx, qword [r15 + 8]
movsxd r9, eax
movsx eax, word [rcx]
cmp eax, edi
je 0x18005c41b
inc rdx
inc r8d
add rcx, 2
cmp rdx, r9
jle 0x18005c405
or r9, 0xffffffffffffffff
mov rax, qword [r14 + 8]
test rax, rax
je 0x18005c42e
mov rdx, qword [rax + 8]
jmp 0x18005c431
mov rdx, rsi
test r10b, 4
jne 0x18005c440
lea rcx, [0x1800a491c]
jmp 0x18005c455
mov rcx, qword [r14]
mov rax, r9
inc rax
cmp byte [rcx + rax], sil
jne 0x18005c446
inc rcx
add rcx, rax
mov dword [rsp + 0x40], r8d
mov qword [rsp + 0x38], rdx
mov eax, esi
cmp byte [r14 + 0x18], al
mov r9d, edi
lea r8, str.issisi
setne al
sub r9d, r12d
mov edx, r13d
mov dword [rsp + 0x30], eax
mov rax, qword [r14]
mov qword [rsp + 0x28], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180075b00
mov r9d, 6
mov r8d, r13d
lea edx, [r9 + 0x50]
mov rcx, rbx
call fcn.18006b4a0
or r9, 0xffffffffffffffff
mov rax, qword [rbp - 0x48]
inc edi
add r14, 0x20
movsx eax, word [rax + 0x3e]
cmp edi, eax
jl 0x18005c3d2
jmp 0x18005e308
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x18005c4da
mov rcx, qword [rbp - 0x80]
call fcn.180011f90
mov rdi, rax
mov rax, qword [rbp - 0x80]
mov edx, dword [rsp + 0x68]
mov rcx, rax
mov dword [rax + 0x58], 4
call fcn.180043810
lea r8, str.table
mov edx, 4
mov rcx, rdi
call fcn.18003a2d0
mov rcx, qword [r14 + 0x18]
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x18005e308
mov r15d, 2
nop dword [rax]
mov rbx, qword [r14 + 0x10]
lea r8, str.ssii
mov edx, r13d
movsx ecx, word [rbx + 0x44]
movsx eax, word [rbx + 0x42]
mov r9, qword [rbx]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180075b00
mov r9d, 4
lea edx, [r9 + 0x52]
mov r8d, r13d
mov rcx, rdi
call fcn.18006b4a0
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x18005c5b6
nop dword [rax]
mov rax, qword [rbx + 0x10]
mov r9, qword [rbx]
lea r8, [0x1800a88f8]
movsx ecx, word [rax]
movsx eax, word [rbx + 0x5c]
mov edx, r15d
mov dword [rsp + 0x28], ecx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.180075b00
mov r9d, 4
mov r8d, r13d
lea edx, [r9 + 0x52]
mov rcx, rdi
call fcn.18006b4a0
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18005c570
mov r14, qword [r14]
test r14, r14
jne 0x18005c520
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e308
mov r8, qword [rbp - 0x50]
mov rcx, qword [rsp + 0x60]
mov rdx, rax
call fcn.18004dd50
mov r14, rax
test rax, rax
je 0x18005e308
cmp dword [r12 + 0xc], esi
je 0x18005c60a
movzx eax, word [rax + 0x60]
mov dword [rdi + 0x58], 6
mov dword [rsp + 0x78], eax
jmp 0x18005c621
movzx eax, word [rax + 0x5e]
mov edi, 3
mov dword [rsp + 0x78], eax
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x58], edi
mov rdi, rax
mov rax, qword [r14 + 0x18]
mov edx, dword [rsp + 0x68]
mov rcx, rdi
mov qword [rbp - 0x70], rax
call fcn.180043810
mov edx, dword [rdi + 0x58]
lea r8, str.seqno
mov rcx, rbx
call fcn.18003a2d0
movsxd rax, dword [rsp + 0x78]
mov r15d, esi
mov rdi, rsi
test rax, rax
jle 0x18005e308
nop dword [rax + rax]
mov rax, qword [r14 + 8]
movzx edx, word [rax + rdi*2]
test dx, dx
jns 0x18005c672
mov rcx, rsi
jmp 0x18005c686
mov rax, qword [rbp - 0x70]
movsx rcx, dx
mov rax, qword [rax + 8]
shl rcx, 5
mov rcx, qword [rcx + rax]
movsx eax, dx
mov qword [rsp + 0x28], rcx
lea r8, [0x1800a88fc]
mov r9d, r15d
mov edx, r13d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.180075b00
cmp dword [r12 + 0xc], esi
je 0x18005c6e9
movzx eax, word [r14 + 0x5e]
mov rcx, qword [r14 + 0x40]
mov edx, esi
cmp r15d, eax
mov rax, qword [r14 + 0x38]
lea r8, [0x1800a8900]
movzx r9d, byte [rax + rdi]
mov rax, qword [rcx + rdi*8]
setl dl
mov dword [rsp + 0x28], edx
mov rcx, rbx
mov edx, 4
mov qword [rsp + 0x20], rax
call fcn.180075b00
mov rax, qword [rbp - 0x80]
mov r8d, r13d
mov edx, 0x56
mov r9d, dword [rax + 0x58]
mov rcx, rbx
call fcn.18006b4a0
movsxd rcx, dword [rsp + 0x78]
inc rdi
inc r15d
cmp rdi, rcx
jl 0x18005c660
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e308
mov r8, qword [rbp - 0x50]
mov rcx, qword [rsp + 0x60]
mov rdx, rax
call fcn.18004de50
mov rbx, rax
test rax, rax
je 0x18005e308
mov r14, qword [rdi + 0x10]
test r14, r14
jne 0x18005c759
mov rcx, rdi
call fcn.180011f90
mov r14, rax
mov edx, dword [rsp + 0x68]
mov rcx, rdi
mov dword [rdi + 0x58], 5
call fcn.180043810
lea r8, [0x1800bd020]
mov edx, 5
mov rcx, r14
call fcn.18003a2d0
mov rbx, qword [rbx + 0x10]
mov edi, esi
test rbx, rbx
je 0x18005e308
lea r15, [0x1800a8904]
lea r12, [0x1800a8908]
lea rax, [0x1800a4a1c]
nop dword [rax]
nop dword [rax + rax]
mov edx, esi
mov qword [rbp + 0x30], rax
mov eax, dword [rbx + 0x64]
cmp qword [rbx + 0x48], rdx
mov ecx, esi
mov qword [rbp + 0x20], r15
setne dl
and eax, 3
cmp byte [rbx + 0x62], cl
mov dword [rsp + 0x38], edx
setne cl
mov qword [rbp + 0x28], r12
mov rax, qword [rbp + rax*8 + 0x20]
lea r8, str.isisi
mov r9d, edi
mov qword [rsp + 0x30], rax
mov rax, qword [rbx]
mov dword [rsp + 0x28], ecx
mov edx, r13d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180075b00
mov r9d, 5
mov r8d, r13d
lea edx, [r9 + 0x51]
mov rcx, r14
call fcn.18006b4a0
mov rbx, qword [rbx + 0x28]
inc edi
lea rax, [0x1800a4a1c]
test rbx, rbx
jne 0x18005c7b0
jmp 0x18005e308
mov rax, qword [rbp - 0x80]
mov edi, 3
lea r8, [0x1800bd048]
mov edx, edi
mov rcx, rbx
mov dword [rax + 0x58], edi
call fcn.18003a2d0
mov rdx, qword [rsp + 0x60]
cmp dword [rdx + 0x28], esi
jle 0x18005c8cf
mov r14, rsi
nop dword [rax + rax]
mov rdx, qword [rdx + 0x20]
mov rax, qword [rdx + r14 + 8]
test rax, rax
je 0x18005c8bf
mov rax, qword [rax + 8]
mov rcx, qword [rax]
lea rax, [0x1800a491c]
cmp byte [rcx + 0x14], 0
jne 0x18005c889
mov rax, qword [rcx + 0xd0]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + r14]
lea r8, [0x1800a8914]
mov r9d, esi
mov edx, r13d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180075b00
mov r9d, edi
mov r8d, r13d
mov edx, 0x56
mov rcx, rbx
call fcn.18006b4a0
mov rdx, qword [rsp + 0x60]
inc esi
add r14, 0x20
cmp esi, dword [rdx + 0x28]
jl 0x18005c860
mov rdi, rdx
jmp 0x18005e30d
mov r14d, 2
lea r8, [0x1800bd060]
mov rcx, rbx
mov edx, r14d
mov dword [rdi + 0x58], r14d
call fcn.18003a2d0
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rdx + 0x208]
test rdi, rdi
je 0x18005c8cf
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdi + 0x10]
lea r8, [0x1800a8918]
mov r9d, esi
mov rcx, qword [rax]
mov edx, r13d
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.180075b00
mov r9d, r14d
mov r8d, r13d
mov edx, 0x56
mov rcx, rbx
inc esi
call fcn.18006b4a0
mov rdi, qword [rdi]
test rdi, rdi
jne 0x18005c910
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e308
mov r8, qword [rbp - 0x50]
mov rcx, qword [rsp + 0x60]
mov rdx, rax
call fcn.18004de50
mov rbx, rax
mov qword [rbp - 0x70], rax
test rax, rax
je 0x18005e308
mov r15, qword [rdi + 0x10]
test r15, r15
jne 0x18005c996
mov rcx, rdi
call fcn.180011f90
mov r15, rax
mov rbx, qword [rbx + 0x20]
test rbx, rbx
je 0x18005e308
mov edx, dword [rsp + 0x68]
mov r14d, 8
mov rcx, rdi
mov r12d, esi
mov dword [rdi + 0x58], r14d
call fcn.180043810
lea r8, [0x1800bd070]
mov edx, r14d
mov rcx, r15
call fcn.18003a2d0
lea r9, str.NONE
nop word [rax + rax]
cmp dword [rbx + 0x28], 0
mov edi, esi
jle 0x18005ca8b
mov rsi, qword [rbp - 0x70]
lea r14, [rbx + 0x40]
movzx ecx, byte [rbx + 0x2d]
call fcn.1800119e0
movzx ecx, byte [rbx + 0x2e]
mov r8, rax
call fcn.1800119e0
mov rcx, qword [rsi + 8]
movsxd rdx, dword [r14]
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rax
mov rax, qword [r14 + 8]
shl rdx, 5
mov qword [rsp + 0x38], rax
mov rax, qword [rdx + rcx]
lea r8, str.iissssss
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x10]
mov r9d, r12d
mov qword [rsp + 0x28], rax
mov edx, r13d
mov rcx, r15
mov dword [rsp + 0x20], edi
call fcn.180075b00
mov r9d, 8
lea edx, [r9 + 0x4e]
mov r8d, r13d
mov rcx, r15
call fcn.18006b4a0
inc edi
lea r14, [r14 + 0x10]
lea r9, str.NONE
cmp edi, dword [rbx + 0x28]
jl 0x18005c9f4
xor esi, esi
lea r9, str.NONE
mov rbx, qword [rbx + 8]
inc r12d
test rbx, rbx
jne 0x18005c9e0
jmp 0x18005e308
mov eax, dword [rdi + 0x58]
mov rbx, qword [rdi + 0x10]
lea r14d, [rax + 1]
add eax, 5
lea r12d, [rax + 1]
mov dword [rsp + 0x78], r14d
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x40], r12d
mov dword [rdi + 0x58], r12d
test rbx, rbx
jne 0x18005cad2
mov rcx, rdi
call fcn.180011f90
mov rbx, rax
lea r8, str.table
mov edx, 4
mov rcx, rbx
call fcn.18003a2d0
mov edx, dword [rsp + 0x68]
mov rcx, rdi
call fcn.180043810
mov rax, qword [rsp + 0x60]
mov rdx, qword [rbp - 8]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rdx + rcx + 0x18]
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x18005e308
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rbp - 0x50]
test rcx, rcx
je 0x18005cb38
mov r8, rcx
mov rcx, qword [rbp - 0x80]
mov r9, rdi
xor edx, edx
call fcn.180056f00
mov r15, rax
mov rax, rsi
jmp 0x18005cb3f
mov r15, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x38], r15
test r15, r15
je 0x18005cf42
cmp qword [r15 + 0x20], 0
je 0x18005cf42
mov rax, qword [r15]
mov r8d, dword [r15 + 0x38]
mov edx, dword [rsp + 0x68]
mov rcx, qword [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.180066c20
movsx ecx, word [r15 + 0x3e]
mov rax, qword [rbp - 0x80]
add ecx, r12d
cmp ecx, dword [rax + 0x58]
jle 0x18005cb8b
mov dword [rax + 0x58], ecx
mov r8d, dword [rsp + 0x68]
mov r9, r15
xor edx, edx
mov rcx, rax
mov dword [rsp + 0x20], 0x67
call fcn.180057f80
mov r8, qword [r15]
mov edx, r14d
mov rcx, rbx
call fcn.1800742b0
mov r14, qword [r15 + 0x20]
mov eax, r13d
mov dword [rbp - 0x68], eax
test r14, r14
je 0x18005cc97
nop word [rax + rax]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x60]
mov r8, rdi
call fcn.18004de50
mov rdi, rax
test rax, rax
je 0x18005cc7e
mov rcx, qword [rax]
mov r8d, dword [rax + 0x38]
mov edx, dword [rsp + 0x68]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp - 0x80]
xor r9d, r9d
mov qword [rbp - 0x58], rsi
call fcn.180066c20
mov rcx, qword [rbp - 0x80]
lea r9, [rbp - 0x58]
mov r8, r14
mov rdx, rdi
mov qword [rsp + 0x20], rsi
call fcn.18004f7e0
test eax, eax
jne 0x18005e308
mov rax, qword [rbp - 0x58]
test rax, rax
jne 0x18005cc54
mov r8d, dword [rsp + 0x68]
mov edx, dword [rbp - 0x68]
mov rcx, qword [rbp - 0x80]
mov r9, rdi
mov dword [rsp + 0x20], 0x67
call fcn.180057f80
jmp 0x18005cc7e
mov ecx, dword [rsp + 0x68]
mov r9d, dword [rax + 0x58]
mov r8d, dword [rbp - 0x68]
mov dword [rsp + 0x20], ecx
mov edx, 0x67
mov rcx, rbx
call fcn.18006b510
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x80]
call fcn.180076b10
mov eax, dword [rbp - 0x68]
mov r14, qword [r14 + 8]
mov rdi, qword [rbp - 0x50]
inc eax
mov dword [rbp - 0x68], eax
test r14, r14
jne 0x18005cbd0
mov rcx, qword [rbp - 0x80]
cmp dword [rcx + 0x54], eax
jge 0x18005cca3
mov dword [rcx + 0x54], eax
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x38]
call fcn.18006b430
mov r14, qword [r15 + 0x20]
mov dword [rbp - 0x64], r13d
mov edi, eax
mov dword [rbp - 0x3c], eax
test r14, r14
je 0x18005cf1c
mov eax, dword [rsp + 0x78]
lea ecx, [rax + 1]
add eax, 2
mov dword [rbp - 0x2c], ecx
mov dword [rbp - 0x30], eax
nop dword [rax + rax]
mov r8, qword [rbp - 0x50]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.18004de50
mov qword [rbp - 0x58], rsi
mov r13, rsi
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x48], rsi
test rax, rax
je 0x18005cd26
lea rcx, [rbp - 0x48]
lea r9, [rbp - 0x58]
mov r8, r14
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp - 0x80]
mov rdx, rax
call fcn.18004f7e0
mov r13, qword [rbp - 0x48]
mov rcx, rbx
call fcn.180074380
mov edi, eax
mov dword [rbp - 0x60], eax
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x18005cdd6
cmp qword [rbp - 0x58], 0
jne 0x18005cdd6
mov eax, dword [r14 + 0x40]
movsx ecx, word [r15 + 0x3c]
xor r8d, r8d
cmp eax, ecx
mov rcx, rbx
mov dword [rbp - 0x60], eax
je 0x18005cd94
lea edx, [r8 + 0x5f]
mov r9d, eax
mov dword [rsp + 0x20], r12d
call fcn.18006b510
mov r8d, dword [rbp - 0x60]
mov r9d, r12d
mov rdx, r15
mov rcx, rbx
call fcn.180043a50
mov r9d, edi
mov r8d, r12d
mov edx, 0x22
mov rcx, rbx
jmp 0x18005cd9c
mov r9d, r12d
mov edx, 0x7a
call fcn.18006b4a0
mov r8d, dword [rbp - 0x64]
xor r9d, r9d
lea edx, [r9 + 0x20]
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.18006b510
mov edx, edi
mov rcx, rbx
call fcn.180073560
mov edx, dword [rbx + 0x3c]
mov rcx, rbx
sub edx, 2
call fcn.180073d80
jmp 0x18005cea5
cmp dword [r14 + 0x28], 0
jle 0x18005ce4c
mov eax, dword [rbp - 0x40]
mov esi, dword [rbp - 0x60]
mov edi, r12d
neg eax
mov r15, r13
lea r12, [r14 + 0x40]
mov dword [rbp - 0x68], eax
test r13, r13
je 0x18005cdfc
mov r9d, dword [r15]
jmp 0x18005ce00
mov r9d, dword [r12]
mov rdx, qword [rbp - 0x38]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.180049dd0
mov r9d, esi
mov r8d, edi
mov edx, 0x22
mov rcx, rbx
call fcn.18006b4a0
mov eax, dword [rbp - 0x68]
inc edi
add eax, edi
add r12, 0x10
add r15, 4
cmp eax, dword [r14 + 0x28]
jl 0x18005cdf2
mov edi, dword [rbp - 0x60]
mov r15, qword [rbp - 0x38]
mov r12d, dword [rbp - 0x40]
mov rax, qword [rbp - 0x18]
xor esi, esi
test rax, rax
je 0x18005cea5
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x60]
call fcn.1800536b0
mov ecx, dword [r14 + 0x28]
mov r8d, r12d
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x78]
mov r9d, ecx
mov edx, 0x62
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.18006b590
mov eax, dword [rbp - 0x78]
mov r8d, dword [rbp - 0x64]
mov r9d, edi
mov edx, 0x1f
mov rcx, rbx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], eax
call fcn.18006b740
mov r9d, dword [rbp - 0x2c]
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x7a]
call fcn.18006b4a0
mov eax, dword [rbp - 0x64]
mov r9, qword [r14 + 0x10]
mov edx, dword [rbp - 0x30]
dec eax
lea r8, [0x1800a8934]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.180075b00
mov r8d, dword [rsp + 0x78]
mov r9d, 4
lea edx, [r9 + 0x52]
mov rcx, rbx
call fcn.18006b4a0
mov edx, edi
mov rcx, rbx
call fcn.180076730
mov rcx, qword [rsp + 0x60]
mov rdx, r13
call fcn.180046230
mov r14, qword [r14 + 8]
inc dword [rbp - 0x64]
test r14, r14
jne 0x18005cce0
mov edi, dword [rbp - 0x3c]
lea r13d, [r14 + 1]
xor r8d, r8d
lea r9d, [rdi + 1]
mov rcx, rbx
lea edx, [r8 + 7]
call fcn.18006b4a0
mov edx, edi
mov rcx, rbx
call fcn.180073d80
mov r14d, dword [rsp + 0x78]
mov rax, qword [rbp - 0x10]
test rax, rax
jne 0x18005cb11
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e308
xor r8d, r8d
mov edx, r13d
mov rcx, rax
call fcn.180029410
mov rcx, qword [rsp + 0x60]
test al, al
setne sil
mov edx, esi
call fcn.18005f780
jmp 0x18005e308
mov rax, qword [rbp - 0x28]
mov edi, esi
lea r8, [rbp - 0x70]
movzx eax, byte [rax]
mov edx, r13d
cmp byte [rax + rcx + 0xa0de0], 0x71
mov ecx, dword [rsp + 0x68]
sete dil
or rax, 0xffffffffffffffff
cmp qword [r15], rsi
mov r15, qword [rbp - 0x80]
cmove ecx, eax
lea rax, str.integrity_check
mov dword [rsp + 0x68], ecx
mov rcx, rbx
mov qword [rbp - 0x70], rax
mov dword [r15 + 0x58], 6
call fcn.18003a2d0
mov rax, qword [rsp + 0x70]
mov r14d, 0x64
mov dword [rbp - 0x40], r14d
mov dword [rbp - 0x78], r14d
test rax, rax
je 0x18005d003
lea rdx, [rbp - 0x78]
mov rcx, rax
call fcn.180052410
mov eax, dword [rbp - 0x78]
test eax, eax
cmovle eax, r14d
mov r14d, eax
mov dword [rbp - 0x40], eax
mov r9d, r13d
mov r8d, r14d
mov edx, 0x4b
mov rcx, rbx
call fcn.18006b4a0
movsxd rax, edi
mov rdi, qword [rsp + 0x60]
mov ecx, esi
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x68], ecx
cmp dword [rdi + 0x28], ecx
jle 0x18005dd80
movsxd rax, dword [rsp + 0x68]
mov r12d, 3
mov rdx, rax
mov qword [rbp - 0x70], rax
mov r14d, esi
test rdx, rdx
js 0x18005d052
cmp ecx, eax
jne 0x18005dd67
mov edx, ecx
mov rcx, r15
call fcn.180043810
mov r8d, r13d
mov edx, 0x41
mov rcx, rbx
call fcn.18006b430
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x4a]
mov rcx, rbx
mov edi, eax
call fcn.18006b4a0
mov edx, edi
mov rcx, rbx
call fcn.180073d80
mov r9, qword [rsp + 0x60]
movsxd rcx, dword [rbp - 0x68]
mov rax, qword [r9 + 0x20]
shl rcx, 5
mov edx, esi
mov r15, qword [rcx + rax + 0x18]
mov qword [rbp - 0x20], rcx
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x18005d0ec
nop
mov rax, qword [r8 + 0x10]
test byte [rax + 0x46], 0x20
jne 0x18005d0bc
inc edx
mov rax, qword [rax + 0x10]
mov ecx, esi
test rax, rax
je 0x18005d0dd
nop word [rax + rax]
mov rax, qword [rax + 0x28]
inc edx
inc ecx
test rax, rax
jne 0x18005d0d0
mov r8, qword [r8]
cmp ecx, r14d
cmovg r14d, ecx
test r8, r8
jne 0x18005d0b0
lea eax, [rdx + 1]
mov rcx, r9
movsxd rdx, eax
shl rdx, 2
call fcn.180046280
mov rdi, rax
test rax, rax
je 0x18005dd77
mov r9, qword [r15 + 0x10]
mov r8d, esi
mov rdx, rsi
test r9, r9
je 0x18005d15e
nop dword [rax]
mov rcx, qword [r9 + 0x10]
test byte [rcx + 0x46], 0x20
jne 0x18005d137
mov eax, dword [rcx + 0x38]
inc r8d
inc rdx
mov dword [rdi + rdx*4 - 4], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x18005d156
mov eax, dword [rcx + 0x58]
inc r8d
inc rdx
mov dword [rdi + rdx*4 - 4], eax
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x18005d140
mov r9, qword [r9]
test r9, r9
jne 0x18005d120
mov dword [rdi + rdx*4], esi
mov rdx, qword [rbp - 0x80]
lea ecx, [r14 + 8]
cmp dword [rdx + 0x58], ecx
mov r14d, 2
cmovg ecx, dword [rdx + 0x58]
mov dword [rdx + 0x58], ecx
mov rax, qword [rbx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edx
jg 0x18005d1a2
mov r9d, r8d
mov edx, 0x8c
mov rcx, rbx
mov r8d, r14d
mov dword [rsp + 0x20], r13d
call fcn.1800296a0
mov edx, eax
jmp 0x18005d1cf
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x8c
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x18005d1e7
mov r8, rdi
mov edx, 0xfffffff1
call fcn.1800264a0
jmp 0x18005d221
test edx, edx
jns 0x18005d1f0
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18005d219
mov r9d, 0xfffffff1
mov r8, rdi
mov rcx, rbx
call fcn.1800816e0
jmp 0x18005d221
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf1
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
jne 0x18005d23d
movsxd rax, dword [rbx + 0x3c]
mov edx, dword [rbp - 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov byte [rax + rcx*8 - 0x15], dl
mov r8d, r14d
mov edx, 0x22
mov rcx, rbx
call fcn.18006b430
mov rcx, qword [rsp + 0x60]
lea rdx, str._in_database__s__n
mov r8, qword [rcx + 0x20]
mov r14d, eax
mov rax, qword [rbp - 0x20]
mov r8, qword [rax + r8]
call fcn.180057320
mov rcx, qword [rbx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov rdi, rax
cmp dword [rcx + 0x64], edx
jg 0x18005d297
xor r8d, r8d
mov r9d, r12d
mov rcx, rbx
lea edx, [r8 + 0x61]
mov dword [rsp + 0x20], esi
call fcn.1800296a0
mov edx, eax
jmp 0x18005d2c2
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x61
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], 3
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x18005d2d8
mov r8, rdi
or edx, 0xffffffff
call fcn.1800264a0
jmp 0x18005d315
test edx, edx
jns 0x18005d2e1
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18005d308
or r9d, 0xffffffff
mov r8, rdi
mov rcx, rbx
call fcn.1800816e0
jmp 0x18005d315
test rdi, rdi
je 0x18005d315
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xff
mov edi, 2
mov rcx, rbx
mov dword [rsp + 0x20], r13d
lea r9d, [rdi + 2]
lea edx, [rdi + 0x50]
mov r8d, edi
call fcn.18006b510
lea edx, [rdi + 0x32]
lea r8d, [rdi + 2]
mov r9d, r12d
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.18006b510
lea edx, [rdi + 0x54]
mov r9d, r13d
mov r8d, edi
mov rcx, rbx
call fcn.18006b4a0
mov edx, r14d
mov rcx, rbx
call fcn.180073d80
mov r14, qword [r15 + 0x10]
mov qword [rbp - 0x20], r14
test r14, r14
je 0x18005dd53
mov rax, qword [rbp - 0x48]
nop dword [rax + rax]
test rax, rax
jne 0x18005dd53
mov r15, qword [r14 + 0x10]
mov qword [rbp - 0x18], rsi
mov dword [rbp - 0x64], 0xffffffff
mov r14, qword [r15 + 0x10]
mov qword [rbp - 8], r15
test r14, r14
je 0x18005dd3f
test byte [r15 + 0x46], 0x20
jne 0x18005d3b6
mov qword [rbp - 0x38], rsi
jmp 0x18005d3cd
mov eax, dword [r14 + 0x64]
and al, 3
cmp al, 2
je 0x18005d3c9
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x18005d3b6
mov qword [rbp - 0x38], r14
mov r8d, r13d
mov edx, 0x41
mov rcx, rbx
call fcn.18006b430
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x4a]
mov rcx, rbx
mov edi, eax
call fcn.18006b4a0
mov edx, edi
mov rcx, rbx
call fcn.180073d80
mov rcx, qword [rbp - 0x80]
call fcn.1800494a0
mov rcx, qword [rbp - 0x80]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r8d, [r9 + 0x67]
mov rdx, r15
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r13d
call fcn.180058060
mov r9d, 7
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x44]
call fcn.18006b4a0
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x18005d47e
mov r14d, 8
nop dword [rax + rax]
xor r8d, r8d
mov r9d, r14d
mov rcx, rbx
lea edx, [r8 + 0x4b]
call fcn.18006b4a0
mov rdi, qword [rdi + 0x28]
inc r14d
test rdi, rdi
jne 0x18005d460
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov rcx, rbx
lea edx, [r9 + 0x38]
call fcn.18006b4a0
mov edx, 0x5a
mov r9d, r13d
lea r8d, [rdx - 0x53]
mov rcx, rbx
call fcn.18006b4a0
mov r14d, esi
mov dword [rbp - 0x50], eax
cmp si, word [r15 + 0x3e]
jge 0x18005d65d
mov rdi, rsi
mov qword [rbp - 0x10], rsi
nop
movsx ecx, word [r15 + 0x3c]
cmp r14d, ecx
je 0x18005d644
mov rax, qword [r15 + 8]
cmp byte [rax + rdi + 0x18], 0
je 0x18005d644
mov r8d, dword [rsp + 0x78]
mov r9d, r14d
mov rdx, r15
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.180049dd0
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
jne 0x18005d50f
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov byte [rax + rcx*8 - 0x15], 0x80
mov r8d, r12d
mov edx, 0x23
mov rcx, rbx
call fcn.18006b430
or r9d, 0xffffffff
mov r8d, r13d
lea edx, [r9 + 0x5b]
mov rcx, rbx
mov dword [rbp - 0x3c], eax
call fcn.18006b4a0
mov r9, qword [r15 + 8]
mov r8, qword [r15]
mov r9, qword [r9 + rdi]
mov rcx, qword [rsp + 0x60]
lea rdx, str.NULL_value_in__s._s
call fcn.180057320
mov rcx, qword [rbx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov rdi, rax
cmp dword [rcx + 0x64], edx
jg 0x18005d57b
xor r8d, r8d
mov r9d, r12d
mov rcx, rbx
lea edx, [r8 + 0x61]
mov dword [rsp + 0x20], esi
call fcn.1800296a0
mov edx, eax
jmp 0x18005d5a6
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x61
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], 3
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x18005d5bc
mov r8, rdi
or edx, 0xffffffff
call fcn.1800264a0
jmp 0x18005d5f9
test edx, edx
jns 0x18005d5c5
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18005d5ec
or r9d, 0xffffffff
mov r8, rdi
mov rcx, rbx
call fcn.1800816e0
jmp 0x18005d5f9
test rdi, rdi
je 0x18005d5f9
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xff
mov r9d, r13d
mov r8d, r12d
mov edx, 0x56
mov rcx, rbx
call fcn.18006b4a0
mov r8d, r13d
mov edx, 0x41
mov rcx, rbx
call fcn.18006b430
mov edx, 0x4a
mov rcx, rbx
mov edi, eax
call fcn.18006b3c0
mov edx, dword [rbp - 0x3c]
mov rcx, rbx
call fcn.180073d80
mov edx, edi
mov rcx, rbx
call fcn.180073d80
mov rdi, qword [rbp - 0x10]
movsx eax, word [r15 + 0x3e]
add rdi, 0x20
inc r14d
mov qword [rbp - 0x10], rdi
cmp r14d, eax
jl 0x18005d4c0
mov r14, qword [r15 + 0x10]
test r14, r14
je 0x18005da09
mov ecx, dword [rbp - 0x60]
mov eax, 8
sub eax, ecx
mov r15d, ecx
mov dword [rbp - 0x78], ecx
mov dword [rbp - 0x3c], eax
nop dword [rax]
mov rcx, rbx
call fcn.180074380
mov edi, eax
cmp qword [rbp - 0x38], r14
je 0x18005d9f1
mov eax, dword [rbp - 0x64]
mov r8d, dword [rsp + 0x78]
mov rcx, qword [rbp - 0x80]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x18]
xor r9d, r9d
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x58]
mov rdx, r14
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
call fcn.1800518a0
mov r8d, dword [rbp - 0x3c]
mov r9d, r13d
mov edx, 0x5a
mov rcx, rbx
add r8d, r15d
mov dword [rbp - 0x64], eax
mov qword [rbp - 0x18], r14
call fcn.18006b4a0
movzx ecx, word [r14 + 0x60]
mov eax, dword [rbp - 0x64]
mov dword [rsp + 0x28], ecx
mov r9d, edi
mov rcx, rbx
mov r8d, r15d
mov edx, 0x1f
mov dword [rsp + 0x20], eax
call fcn.18006b740
or r9d, 0xffffffff
lea edx, [r9 + 0x5b]
mov r8d, r13d
mov rcx, rbx
mov edi, eax
call fcn.18006b4a0
lea r8, str.row
mov edx, r12d
mov rcx, rbx
call fcn.1800742b0
mov edx, 0x34
mov r9d, r12d
lea r8d, [rdx - 0x2d]
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.18006b510
lea r8, str._missing_from_index
mov edx, 4
mov rcx, rbx
call fcn.1800742b0
mov edx, 0x34
mov r9d, r12d
lea r8d, [rdx - 0x30]
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.18006b510
mov r8, qword [r14]
mov edx, 4
mov rcx, rbx
call fcn.1800742b0
mov edx, 0x34
mov r9d, r12d
lea r8d, [rdx - 0x30]
mov rcx, rbx
mov dword [rsp + 0x20], r12d
mov dword [rbp - 0x30], eax
call fcn.18006b510
mov r9d, r13d
mov r8d, r12d
mov edx, 0x56
mov rcx, rbx
call fcn.18006b4a0
mov r8d, r13d
mov edx, 0x41
mov rcx, rbx
call fcn.18006b430
mov edx, 0x4a
mov rcx, rbx
mov dword [rbp - 0x2c], eax
call fcn.18006b3c0
mov edx, dword [rbx + 0x3c]
dec edx
mov rcx, qword [rbx + 0x30]
mov dword [rcx + 0x6c], edx
mov edx, dword [rbx + 0x3c]
test edi, edi
jns 0x18005d7e8
lea edi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
je 0x18005d7fa
lea rax, [0x1800bf8b8]
jmp 0x18005d809
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
cmp byte [r14 + 0x62], 0
je 0x18005d9a8
mov rcx, rbx
call fcn.180074380
mov edi, esi
movsxd r12, eax
cmp si, word [r14 + 0x5e]
jae 0x18005d88c
mov r13, qword [rbp - 8]
mov r15, rsi
mov esi, dword [rbp - 0x64]
nop word [rax + rax]
mov rcx, qword [r14 + 8]
movsx rdx, word [r15 + rcx]
test edx, edx
js 0x18005d85f
mov rax, qword [r13 + 8]
mov rcx, rdx
shl rcx, 5
cmp byte [rcx + rax + 0x18], 0
jne 0x18005d873
lea r8d, [rdi + rsi]
mov r9d, r12d
mov edx, 0x22
mov rcx, rbx
call fcn.18006b4a0
movzx eax, word [r14 + 0x5e]
inc edi
add r15, 2
cmp edi, eax
jl 0x18005d840
mov r15d, dword [rbp - 0x78]
xor esi, esi
lea r13d, [rsi + 1]
mov r8d, r15d
mov edx, 7
mov rcx, rbx
call fcn.18006b430
mov edx, r12d
mov rcx, rbx
mov edi, eax
call fcn.180073560
mov edx, dword [rbx + 0x3c]
mov rcx, qword [rbx + 0x30]
dec edx
mov dword [rcx + 0x6c], edx
mov edx, dword [rbx + 0x3c]
test edi, edi
jns 0x18005d8bf
lea edi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
je 0x18005d8d1
lea rax, [0x1800bf8b8]
jmp 0x18005d8e0
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movzx eax, word [r14 + 0x5e]
mov r9d, r12d
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x64]
mov r8d, r15d
mov edx, 0x3a
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.18006b740
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18005d92c
or r9d, 0xffffffff
mov r8d, r13d
mov rcx, rbx
lea edx, [r9 + 0x5b]
mov dword [rsp + 0x20], esi
call fcn.1800296a0
jmp 0x18005d95b
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x5a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], 0xffffffff
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
lea r8, str.non_unique_entry_in_index
mov edx, 3
mov rcx, rbx
call fcn.1800742b0
mov edx, dword [rbp - 0x30]
mov rcx, rbx
call fcn.180073560
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rdx + 0x88]
test rcx, rcx
je 0x18005d99a
lea rax, [r12*4 + 4]
sub rcx, rax
mov eax, dword [rbx + 0x3c]
mov dword [rcx], eax
mov eax, dword [rbx + 0x3c]
mov r12d, 3
dec eax
mov dword [rdx + 0x6c], eax
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x6c], ecx
mov ecx, dword [rbp - 0x2c]
mov edx, dword [rbx + 0x3c]
test ecx, ecx
jns 0x18005d9c1
lea ecx, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
je 0x18005d9d3
lea rax, [0x1800bf8b8]
jmp 0x18005d9e2
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
mov rcx, qword [rbp - 0x80]
mov dword [rax + 8], edx
mov edx, dword [rbp - 0x58]
call fcn.180060180
mov r14, qword [r14 + 0x28]
inc r15d
mov dword [rbp - 0x78], r15d
test r14, r14
jne 0x18005d680
mov r15, qword [rbp - 8]
mov edi, dword [rbp - 0x50]
mov r8d, dword [rsp + 0x78]
mov edx, 7
mov r9d, edi
mov rcx, rbx
call fcn.18006b4a0
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x6c], ecx
mov edx, dword [rbx + 0x3c]
lea ecx, [rdi - 1]
test ecx, ecx
jns 0x18005da3a
lea ecx, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
je 0x18005da4c
lea rax, [0x1800bf8b8]
jmp 0x18005da5b
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
lea r8, str.wrong__of_entries_in_index
mov rcx, rbx
mov edx, 2
call fcn.1800742b0
mov r15, qword [r15 + 0x10]
test r15, r15
je 0x18005dd3b
mov rax, qword [rbp - 0x38]
mov r14d, 8
nop dword [rax]
cmp rax, r15
je 0x18005dd2b
movsxd rdi, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
lea edx, [rdi + 2]
cmp dword [rax + 0x64], edi
jg 0x18005dac2
mov r9d, edx
mov r8d, r13d
mov rcx, rbx
mov edx, 0x41
mov dword [rsp + 0x20], esi
call fcn.1800296a0
jmp 0x18005daed
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x41
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18005db12
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x4a]
mov dword [rsp + 0x20], esi
call fcn.1800296a0
jmp 0x18005db3d
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x4a
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], 0
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18005db6b
mov r8d, dword [rbp - 0x60]
mov r9d, r12d
mov edx, 0x63
add r8d, 0xfffffff8
mov rcx, rbx
mov dword [rsp + 0x20], esi
add r8d, r14d
call fcn.1800296a0
jmp 0x18005db9f
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x63
lea rdx, [rax + rcx*8]
mov eax, dword [rbp - 0x60]
add eax, 0xfffffff8
mov byte [rdx + 3], 0
mov qword [rdx + 8], 3
add eax, r14d
mov qword [rdx + 0x10], rsi
mov dword [rdx + 4], eax
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
add edi, 8
cmp dword [rax + 0x64], ecx
jg 0x18005dbc9
mov r9d, edi
mov r8d, r14d
mov edx, 0x25
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.1800296a0
jmp 0x18005dbf5
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x25
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
jne 0x18005dc0f
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov byte [rax + rcx*8 - 0x15], 0x90
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18005dc35
or r9d, 0xffffffff
mov r8d, r13d
mov rcx, rbx
lea edx, [r9 + 0x5b]
mov dword [rsp + 0x20], esi
call fcn.1800296a0
jmp 0x18005dc64
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x5a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], 0xffffffff
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov r8, qword [r15]
mov edx, r12d
mov rcx, rbx
call fcn.1800742b0
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18005dc9e
mov r9d, 2
mov r8d, r12d
mov rcx, rbx
lea edx, [r9 + 0x32]
mov dword [rsp + 0x20], 7
call fcn.1800296a0
jmp 0x18005dcd1
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x34
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], 2
mov dword [rax + rcx*8 + 0xc], 7
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18005dcf8
mov edx, 0x56
mov r9d, r13d
mov rcx, rbx
lea r8d, [rdx - 0x4f]
mov dword [rsp + 0x20], esi
call fcn.1800296a0
jmp 0x18005dd27
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x56
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 7
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbp - 0x38]
mov r15, qword [r15 + 0x28]
inc r14d
test r15, r15
jne 0x18005da90
mov rax, qword [rbp - 0x48]
mov r14, qword [rbp - 0x20]
mov r14, qword [r14]
mov qword [rbp - 0x20], r14
test r14, r14
jne 0x18005d380
mov rdx, qword [rbp - 0x70]
mov ecx, dword [rbp - 0x68]
mov eax, dword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov r15, qword [rbp - 0x80]
inc ecx
mov dword [rbp - 0x68], ecx
cmp ecx, dword [rdi + 0x28]
jl 0x18005d042
jmp 0x18005dd7c
mov rdi, qword [rsp + 0x60]
mov r14d, dword [rbp - 0x40]
xor r9d, r9d
lea r8, [0x1800a1858]
mov rcx, rbx
lea edx, [r9 + 4]
call fcn.18006b7d0
test rax, rax
je 0x18005e30d
lea rcx, [0x1800a89c8]
neg r14d
mov byte [rax + 0x31], 0xfe
mov qword [rax + 0x40], rcx
mov dword [rax + 8], r14d
jmp 0x18005e30d
mov r8, qword [rsp + 0x70]
test r8, r8
jne 0x18005ddfe
mov rcx, rdi
call fcn.18005eee0
test eax, eax
jne 0x18005e308
mov rax, qword [rdi]
lea rdi, str.UTF8
lea rdx, str.encoding
movzx r8d, byte [rax + 0x52]
mov rcx, rbx
add r8, r8
mov r8, qword [rdi + r8*8]
call fcn.1800377f0
jmp 0x18005e308
mov rax, qword [rsp + 0x60]
mov rbx, qword [rax + 0x20]
mov rax, qword [rbx + 0x18]
movzx ecx, word [rax + 0x72]
test r13b, cl
je 0x18005de1d
test cl, 4
je 0x18005e308
mov rax, qword [str.UTF8]
lea rdi, str.UTF8
test rax, rax
je 0x18005de80
mov rdx, rax
mov rcx, r8
call fcn.180066a40
test eax, eax
je 0x18005de53
mov rax, qword [rdi + 0x10]
mov r8, qword [rsp + 0x70]
add rdi, 0x10
test rax, rax
jne 0x18005de30
jmp 0x18005de80
movzx eax, byte [rdi + 8]
movzx ecx, al
test al, al
jne 0x18005de63
mov ecx, 2
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x52], cl
mov rax, qword [rbx + 0x18]
mov byte [rax + 0x71], cl
cmp qword [rdi], rsi
jne 0x18005e308
mov r8, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x80]
lea rdx, str.unsupported_encoding:__s
call fcn.180048910
jmp 0x18005e308
mov r14d, dword [rsp + 0x68]
mov esi, dword [r12 + 0xc]
mov rcx, rbx
mov edx, r14d
call fcn.180077880
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x18005def0
test byte [r12 + 9], 2
jne 0x18005def0
xor r9d, r9d
lea r8, [0x1800a19d0]
mov rcx, rbx
lea edx, [r9 + 2]
call fcn.18006b7d0
mov rcx, rdi
mov dword [rax + 4], r14d
mov dword [rax + 0x1c], r14d
mov dword [rax + 0x20], esi
mov rbx, rax
call fcn.18003cdb0
mov dword [rbx + 0x24], eax
jmp 0x18005e308
xor r9d, r9d
lea r8, [0x1800a19d8]
mov rcx, rbx
lea edx, [r9 + 3]
call fcn.18006b7d0
mov edx, r13d
mov rcx, rbx
mov dword [rax + 4], r14d
mov dword [rax + 0x1c], r14d
mov dword [rax + 0x24], esi
call fcn.1800769f0
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
jne 0x18005dfc2
mov rdi, qword [rbx + 0x20]
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x18005df3b
mov eax, dword [rax + 0x70]
jmp 0x18005df40
mov eax, 0x3b9aca00
mov r15, qword [rbp - 0x28]
or r14, 0xffffffffffffffff
nop dword [rax + rax]
inc r14
cmp byte [r15 + r14], 0
jne 0x18005df50
and r14d, 0x3fffffff
cmp r14d, eax
jle 0x18005df6a
lea r14d, [rax + 1]
lea esi, [r14 + 1]
cmp r14d, eax
jg 0x18005dfc2
mov eax, 0x20
cmp esi, eax
cmovg eax, esi
cmp dword [rdi + 0x20], eax
jge 0x18005df95
xor r8d, r8d
mov edx, eax
mov rcx, rdi
call fcn.180074b90
test eax, eax
jne 0x18005dfc2
jmp 0x18005dfa2
mov rax, qword [rdi + 0x18]
and word [rdi + 8], 0xd
mov qword [rdi + 0x10], rax
mov rcx, qword [rdi + 0x10]
movsxd r8, esi
mov rdx, r15
call fcn.180091e20
mov eax, 0x202
mov dword [rdi + 0xc], r14d
mov word [rdi + 8], ax
mov byte [rdi + 0xa], r13b
and dword [rbx + 0x94], 0xfffffff7
jmp 0x18005e308
lea rax, str.compile_option
lea r8, [rbp - 0x70]
mov edx, r13d
mov rcx, rbx
mov dword [rdi + 0x58], r13d
mov qword [rbp - 0x70], rax
call fcn.18003a2d0
mov rdi, rsi
lea r12, [0x180000000]
cmp rdi, 3
ja 0x18005e006
mov r8, qword [r12 + rdi*8 + 0xa10b0]
jmp 0x18005e009
mov r8, rsi
inc rdi
test r8, r8
je 0x18005dfc2
mov edx, r13d
mov rcx, rbx
call fcn.1800742b0
mov r9d, r13d
mov r8d, r13d
mov edx, 0x56
mov rcx, rbx
call fcn.18006b4a0
jmp 0x18005dff6
cmp qword [r15], rsi
mov rax, qword [rsp + 0x70]
mov r14d, 0xa
cmovne r14d, dword [rsp + 0x68]
mov edi, 3
test rax, rax
je 0x18005e169
movzx r11d, byte [rax]
lea r12, [0x180000000]
lea rcx, str.full
movzx edx, byte [r11 + r12 + 0xa0de0]
lea r8d, [rdx - 0x66]
test r8d, r8d
jne 0x18005e0b3
mov r10, rax
movzx r9d, r11b
sub r10, rcx
test r9b, r9b
je 0x18005e14d
movzx r9d, byte [rcx + r10 + 1]
movzx eax, byte [rcx + 1]
inc rcx
movzx r8d, byte [r9 + r12 + 0xa0de0]
movzx eax, byte [rax + r12 + 0xa0de0]
sub r8d, eax
je 0x18005e081
mov rax, qword [rsp + 0x70]
mov r15, qword [rsp + 0x70]
mov r8, rax
lea eax, [rdx - 0x72]
test eax, eax
jne 0x18005e0fd
lea r10, str.restart
movzx r9d, r11b
sub r10, r15
test r9b, r9b
je 0x18005e15b
movzx eax, byte [r8 + r10 + 1]
movzx r9d, byte [r8 + 1]
inc r8
movzx ecx, byte [rax + r12 + 0xa0de0]
movzx eax, byte [r9 + r12 + 0xa0de0]
sub eax, ecx
je 0x18005e0d0
movzx eax, byte [str.truncate]
mov r8, r15
movzx eax, byte [rax + r12 + 0xa0de0]
sub edx, eax
jne 0x18005e169
lea r10, str.truncate
movzx r9d, r11b
sub r10, r15
test r9b, r9b
je 0x18005e164
movzx r9d, byte [r8 + 1]
movzx eax, byte [r8 + r10 + 1]
inc r8
movzx ecx, byte [rax + r12 + 0xa0de0]
movzx edx, byte [r9 + r12 + 0xa0de0]
sub edx, ecx
je 0x18005e122
jmp 0x18005e169
test r8d, r8d
jne 0x18005e0ae
mov esi, r13d
jmp 0x18005e169
test eax, eax
jne 0x18005e0fd
lea esi, [rax + 2]
jmp 0x18005e169
test edx, edx
cmove esi, edi
lea r8, str.busy
mov edx, edi
mov rcx, rbx
call fcn.18003a2d0
mov rax, qword [rbp - 0x80]
mov r9d, esi
mov r8d, r14d
mov edx, 8
mov rcx, rbx
mov dword [rax + 0x58], edi
mov dword [rsp + 0x20], r13d
call fcn.18006b510
mov r9d, edi
jmp 0x18005bcd2
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e1bf
mov rcx, rax
call fcn.18003cdb0
mov rcx, qword [rsp + 0x60]
mov edx, eax
call sym.sqlite3.dll_sqlite3_wal_autocheckpoint
mov rax, qword [rsp + 0x60]
lea rcx, [0x180079380]
cmp qword [rax + 0x120], rcx
jne 0x18005e1da
mov esi, dword [rax + 0x128]
movsxd r8, esi
lea rdx, str.wal_autocheckpoint
jmp 0x18005e300
mov rcx, qword [rsp + 0x60]
call fcn.1800058d0
jmp 0x18005e308
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e21b
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.180046620
test eax, eax
jne 0x18005e21b
mov rcx, qword [rbp - 0x70]
call sym.sqlite3.dll_sqlite3_soft_heap_limit64
call sym.sqlite3.dll_sqlite3_initialize
test eax, eax
je 0x18005e237
or rax, 0xffffffffffffffff
lea rdx, str.soft_heap_limit
mov r8, rax
jmp 0x18005e300
mov rcx, qword [0x1800bf700]
test rcx, rcx
je 0x18005e250
call qword [0x1800bcef8]
mov rcx, qword [0x1800bf700]
mov rax, qword [0x1800bf708]
mov qword [rbp - 0x70], rax
test rcx, rcx
je 0x18005e26a
call qword [0x1800bcf08]
mov rax, qword [rbp - 0x70]
mov r8, rax
lea rdx, str.soft_heap_limit
jmp 0x18005e300
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e2ba
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.180046620
test eax, eax
jne 0x18005e2ba
mov rax, qword [rbp - 0x70]
test rax, rax
js 0x18005e2ba
mov esi, 0x7fffffff
and eax, esi
jl 0x18005e2ba
mov ecx, 8
cmp eax, ecx
cmovg eax, ecx
mov rcx, qword [rsp + 0x60]
mov dword [rcx + 0x9c], eax
mov rax, qword [rsp + 0x60]
lea rdx, str.threads
movsxd r8, dword [rax + 0x9c]
jmp 0x18005e300
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005e2ed
mov rcx, rax
call fcn.18003cdb0
mov rcx, qword [rsp + 0x60]
mov edx, eax
call sym.sqlite3.dll_sqlite3_busy_timeout
mov rax, qword [rsp + 0x60]
lea rdx, str.timeout
movsxd r8, dword [rax + 0x278]
mov rcx, rbx
call fcn.180037720
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
call fcn.180046230
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
call fcn.180046230
mov r14, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x150]
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.180092ad0
add rsp, 0x158
pop r15
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret