Function at 0x4ccbf0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x3e8
mov r12, rdx
mov ebp, ecx
call sym.__main
mov ecx, 2
mov qword [rsp + 0x50], 0
mov r13, qword [sym.__acrt_iob_func]
call r13
xor r9d, r9d
xor edx, edx
mov r8d, 4
mov rcx, rax
call sym.setvbuf
xor ecx, ecx
mov rbx, qword [sym.imp.msvcrt.dll__isatty]
call rbx
mov ecx, 1
mov dword [0x004cf744], eax
call rbx
lea rcx, [sym.console_restore]
mov dword [0x004cf740], eax
call sym.atexit
lea rcx, [sym.sayAbnormalExit]
call sym.atexit
lea rcx, str.SQLITE_DEBUG_BREAK
call sym.getenv
test rax, rax
je 0x4ccccc
xor ecx, ecx
call rbx
test eax, eax
je 0x4cccc6
mov ecx, 2
call rbx
test eax, eax
je 0x4cccc6
call sym.getpid
mov ecx, 2
mov dword [rsp + 0x20], eax
call r13
mov r8d, dword [rsp + 0x20]
lea rdx, str.attach_debugger_to_process__d_and_press_any_key_to_continue._n
mov rcx, rax
call sym.fprintf
xor ecx, ecx
call r13
mov rcx, rax
call sym.fgetc
jmp 0x4ccccc
call qword [sym.imp.KERNEL32.dll_DebugBreak]
lea rcx, [sym.ConsoleCtrlHandler]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x4cccf9
mov ecx, 2
call r13
lea rcx, str.No_C_handler._n
mov rdx, rax
call sym.fputs
call sym.sqlite3_sourceid
mov r8d, 0x3c
lea rdx, [0x004db2a7]
mov rcx, rax
call sym.cli_strncmp
test eax, eax
je 0x4ccd49
call sym.sqlite3_sourceid
mov ecx, 2
mov qword [rsp + 0x20], rax
call r13
mov r8, qword [rsp + 0x20]
lea r9, [0x004db2a7]
lea rdx, str.SQLite_header_and_source_version_mismatch_n_s_n_s_n
mov rcx, rax
call sym.utf8_printf
jmp 0x4cd37f
lea r8, [rsp + 0x70]
mov ecx, 0xdc
lea rdx, [sym.shellLog]
mov rdi, r8
rep stosd dword [rdi], eax
mov ecx, 0x10
mov byte [rsp + 0x78], 1
movabs rax, 0x200000002
mov qword [rsp + 0xcc], rax
lea rax, [r8 + 0x250]
mov dword [rsp + 0xc4], 2
mov qword [rsp + 0x338], rax
mov word [rsp + 0x12e], 0x7c
mov word [rsp + 0x142], 0xa
mov dword [rsp + 0xec], 2
call sym.sqlite3_config
call sym.verify_uninitialized
mov edx, 1
mov ecx, 0x11
call sym.sqlite3_config
mov ecx, 2
call sym.sqlite3_config
lea r8, [0x004db32d]
mov ecx, 0x14
lea rdx, [0x00509130]
call sym.sqlite3_snprintf
lea r8, str.___..._
mov ecx, 0x14
lea rdx, [0x00509110]
call sym.sqlite3_snprintf
test ebp, ebp
jle 0x4cce17
test r12, r12
je 0x4cce17
cmp qword [r12], 0
jne 0x4cce30
lea rdx, str.src_shell.c
mov r8d, 0x6af6
lea rcx, str.argc_1__argv__argv_0_
call sym._assert
mov rax, qword [r12]
xor r15d, r15d
mov esi, 1
xor r14d, r14d
mov qword [0x00509148], rax
call sym.verify_uninitialized
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x3c], 1
cmp esi, ebp
jge 0x4cd33a
movsxd rax, esi
mov rbx, qword [r12 + rax*8]
lea rdi, [rax*8]
mov qword [rsp + 0x30], rdi
cmp byte [rbx], 0x2d
jne 0x4cce8f
cmp esi, dword [rsp + 0x38]
jle 0x4ccee5
cmp qword [rsp + 0x2c8], 0
jne 0x4ccea7
mov qword [rsp + 0x2c8], rbx
jmp 0x4cd333
inc dword [rsp + 0x28]
movsxd rdi, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
shl rdi, 3
mov rdx, rdi
call sym.realloc
mov rcx, rax
mov qword [rsp + 0x20], rax
call sym.shell_check_oom
mov rax, qword [rsp + 0x20]
mov dword [rsp + 0x3c], 0
mov qword [rax + rdi - 8], rbx
jmp 0x4cd333
cmp byte [rbx + 1], 0x2d
jne 0x4cceee
inc rbx
lea rdx, [0x004db35a]
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cd32f
lea rdx, str._separator
mov rcx, rbx
call sym.cli_strcmp
lea edi, [rsi + 1]
test eax, eax
je 0x4ccfb9
lea rdx, str._nullvalue
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4ccfb9
lea rdx, str._newline
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4ccfb9
lea rdx, str._cmd
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4ccfb9
lea rdx, str._init
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4ccf84
mov r8d, edi
mov rdx, r12
mov ecx, ebp
call sym.cmdline_option_value
mov r14, rax
jmp 0x4cd30b
lea rdx, str._batch
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4ccfa6
mov dword [0x004cf744], 0
jmp 0x4cd333
lea rdx, str._heap
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4ccfcb
mov r8d, edi
mov rdx, r12
mov ecx, ebp
call sym.cmdline_option_value
jmp 0x4cd30b
lea rdx, str._pagecache
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd0a3
mov r8d, edi
mov rdx, r12
mov ecx, ebp
call sym.cmdline_option_value
mov ebx, 0
mov rcx, rax
call sym.integerValue
mov rdx, r12
mov ecx, ebp
test rax, rax
mov qword [rsp + 0x30], rax
cmovns rbx, rax
mov eax, 0x11170
cmp rbx, 0x11170
cmovg rbx, rax
add esi, 2
mov r8d, esi
call sym.cmdline_option_value
mov rcx, rax
call sym.integerValue
mov r9, qword [rsp + 0x30]
mov rdi, rax
test r9, r9
setg cl
test rax, rax
jle 0x4cd05d
test cl, cl
je 0x4cd05d
movabs rax, 0xffffffffffff
cqo
idiv rbx
cmp rdi, rax
cmovg rdi, rax
mov byte [rsp + 0x30], cl
call sym.verify_uninitialized
test rdi, rdi
jle 0x4cd081
mov cl, byte [rsp + 0x30]
test cl, cl
je 0x4cd081
mov rcx, rbx
imul rcx, rdi
call sym.malloc
jmp 0x4cd083
xor eax, eax
mov r9, rdi
mov r8, rbx
mov rdx, rax
mov ecx, 7
call sym.sqlite3_config
or dword [rsp + 0xec], 1
jmp 0x4cd333
lea rdx, str._lookaside
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd123
mov r8d, edi
mov rdx, r12
mov ecx, ebp
call sym.cmdline_option_value
mov ebx, 0
mov edi, 0
mov rcx, rax
call sym.integerValue
mov rdx, r12
mov ecx, ebp
test eax, eax
cmovns ebx, eax
add esi, 2
mov r8d, esi
call sym.cmdline_option_value
mov rcx, rax
call sym.integerValue
test eax, eax
cmovns edi, eax
call sym.verify_uninitialized
mov edx, ebx
mov ecx, 0xd
imul ebx, edi
mov r8d, edi
call sym.sqlite3_config
test ebx, ebx
jne 0x4cd333
and dword [rsp + 0xec], 0xfffffffd
jmp 0x4cd333
lea rdx, str._threadsafe
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd175
mov r8d, edi
mov rdx, r12
mov ecx, ebp
call sym.cmdline_option_value
mov rcx, rax
call sym.integerValue
mov rbx, rax
call sym.verify_uninitialized
test ebx, ebx
mov ecx, 1
je 0x4cd16b
cmp ebx, 2
mov ecx, 2
je 0x4cd16b
mov ecx, 3
call sym.sqlite3_config
jmp 0x4cd30b
lea rdx, str._mmap
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd1ba
mov r8d, edi
mov rdx, r12
mov ecx, ebp
call sym.cmdline_option_value
mov rcx, rax
call sym.integerValue
mov rbx, rax
call sym.verify_uninitialized
mov r8, rbx
mov rdx, rbx
mov ecx, 0x16
call sym.sqlite3_config
jmp 0x4cd30b
lea rdx, str._vfs
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd1e2
mov r8d, edi
mov rdx, r12
mov ecx, ebp
call sym.cmdline_option_value
mov r15, rax
jmp 0x4cd30b
lea rdx, str._append
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd1ff
mov byte [rsp + 0x7d], 2
jmp 0x4cd333
lea rdx, str._deserialize
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd21c
mov byte [rsp + 0x7d], 5
jmp 0x4cd333
lea rdx, str._maxsize
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd24f
cmp edi, ebp
jge 0x4cd24f
mov rax, qword [rsp + 0x30]
mov rcx, qword [r12 + rax + 8]
call sym.integerValue
mov qword [rsp + 0xf8], rax
jmp 0x4cd30b
lea rdx, str._readonly
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd26c
mov byte [rsp + 0x7d], 4
jmp 0x4cd333
lea rdx, str._nofollow
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd28f
mov dword [rsp + 0xa4], 0x1000000
jmp 0x4cd333
lea rdx, str._memtrace
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd2b4
mov ecx, 2
call r13
mov rcx, rax
call sym.sqlite3MemTraceActivate
jmp 0x4cd333
lea rdx, str._bail
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd2d3
mov dword [0x00509164], 1
jmp 0x4cd333
lea rdx, str._nonce
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd30f
mov rcx, qword [rsp + 0x350]
call sym.free
mov rax, qword [rsp + 0x30]
mov rcx, qword [r12 + rax + 8]
call qword [sym.imp.msvcrt.dll__strdup]
mov qword [rsp + 0x350], rax
mov esi, edi
jmp 0x4cd333
lea rdx, str._unsafe_testing
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd333
or dword [rsp + 0xec], 0x400
jmp 0x4cd333
mov dword [rsp + 0x38], esi
inc esi
jmp 0x4cce68
call sym.verify_uninitialized
call sym.sqlite3_initialize
test r15, r15
je 0x4cd389
mov rcx, r15
call sym.sqlite3_vfs_find
test rax, rax
je 0x4cd365
mov edx, 1
mov rcx, rax
call sym.sqlite3_vfs_register
jmp 0x4cd389
mov ecx, 2
call r13
lea rdx, str.no_such_VFS:___s__n
mov r8, r15
mov rcx, rax
call sym.utf8_printf
mov ecx, 1
call sym.exit
mov rax, qword [rsp + 0x338]
mov dword [rsp + 0x30], 0
cmp qword [rax + 8], 0
jne 0x4cd3b7
lea rdi, [0x004d4d0f]
mov qword [rax + 8], rdi
xor eax, eax
cmp ebp, 1
sete al
mov dword [rsp + 0x30], eax
mov ecx, 1
call r13
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0xb0], rax
call sym.sqlite3_appendvfs_init
mov rax, qword [rsp + 0x338]
xor edx, edx
mov rcx, qword [rax + 8]
call qword [sym.imp.msvcrt.dll__access]
test eax, eax
jne 0x4cd3f7
lea rcx, [rsp + 0x70]
xor edx, edx
call sym.open_db
test r14, r14
mov rdi, qword [rsp + 0xa8]
mov esi, dword [rsp + 0xa0]
jne 0x4cd452
xor ecx, ecx
call sym.find_home_dir
test rax, rax
jne 0x4cd433
mov ecx, 2
call r13
lea rcx, str.___warning:_cannot_find_home_directory__cannot_read__.sqliterc_n
mov rdx, rax
call sym.fputs
jmp 0x4cd503
lea rcx, str._s_.sqliterc
mov rdx, rax
call sym.sqlite3_mprintf
mov r15, rax
mov rcx, rax
call sym.shell_check_oom
mov rbx, r15
jmp 0x4cd457
mov r15, r14
xor ebx, ebx
lea rdx, [0x004d4489]
mov rcx, r15
call sym.fopen
test rax, rax
mov qword [rsp + 0xa8], rax
je 0x4cd4c0
cmp dword [0x004cf744], 0
je 0x4cd496
mov ecx, 2
call r13
lea rdx, str.___Loading_resources_from__s_n
mov r8, r15
mov rcx, rax
call sym.utf8_printf
lea rcx, [rsp + 0x70]
call sym.process_input
test eax, eax
je 0x4cd4b1
cmp dword [0x00509164], 0
jne 0x4cd37f
mov rcx, qword [rsp + 0xa8]
call sym.fclose
jmp 0x4cd4ec
test r14, r14
je 0x4cd4ec
mov ecx, 2
call r13
lea rdx, str.cannot_open:___s__n
mov r8, r15
mov rcx, rax
call sym.utf8_printf
cmp dword [0x00509164], 0
jne 0x4cd37f
mov rcx, rbx
mov qword [rsp + 0xa8], rdi
mov dword [rsp + 0xa0], esi
call sym.sqlite3_free
lea r14, [rsp + 0x70]
xor edi, edi
mov esi, 1
lea rax, [r14 + 0x124]
mov qword [rsp + 0x40], rax
cmp esi, ebp
jge 0x4cdd30
movsxd rax, esi
mov rbx, qword [r12 + rax*8]
lea r15, [rax*8]
cmp byte [rbx], 0x2d
jne 0x4cdd29
cmp esi, dword [rsp + 0x38]
jge 0x4cdd29
cmp byte [rbx + 1], 0x2d
jne 0x4cd54e
inc rbx
lea rdx, str._init
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdb30
lea rdx, str._html
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd588
mov dword [rsp + 0xc4], 4
jmp 0x4cdd1b
lea rdx, str._list
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd5ab
mov dword [rsp + 0xc4], 2
jmp 0x4cdd1b
lea rdx, str._quote
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd5dc
mov dword [rsp + 0xc4], 6
lea rdx, [r14 + 0xbe]
lea r8, [0x004d4739]
jmp 0x4cd80f
lea rdx, str._line
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd5ff
mov dword [rsp + 0xc4], 0
jmp 0x4cdd1b
lea rdx, str._column
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd622
mov dword [rsp + 0xc4], 1
jmp 0x4cdd1b
lea rdx, str._json
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd645
mov dword [rsp + 0xc4], 0xd
jmp 0x4cdd1b
lea rdx, str._markdown
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd668
mov dword [rsp + 0xc4], 0xe
jmp 0x4cdd1b
lea rdx, str._table
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd68b
mov dword [rsp + 0xc4], 0xf
jmp 0x4cdd1b
lea rdx, str._box
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd6ae
mov dword [rsp + 0xc4], 0x10
jmp 0x4cdd1b
lea rdx, str._csv
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd6db
mov dword [rsp + 0xc4], 8
mov word [r14 + 0xbe], 0x2c
jmp 0x4cdd1b
lea rdx, str._append
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd6f8
mov byte [rsp + 0x7d], 2
jmp 0x4cdd1b
lea rdx, str._deserialize
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd715
mov byte [rsp + 0x7d], 5
jmp 0x4cdd1b
lea rdx, str._maxsize
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd750
lea edx, [rsi + 1]
cmp edx, ebp
jge 0x4cd750
mov rcx, qword [r12 + r15 + 8]
mov dword [rsp + 0x48], edx
call sym.integerValue
mov edx, dword [rsp + 0x48]
mov qword [rsp + 0xf8], rax
mov esi, edx
jmp 0x4cdd1b
lea rdx, str._readonly
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd76d
mov byte [rsp + 0x7d], 4
jmp 0x4cdd1b
lea rdx, str._nofollow
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd790
or dword [rsp + 0xa4], 0x1000000
jmp 0x4cdd1b
lea rdx, str._ascii
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd7e3
lea rdx, [r14 + 0xbe]
mov ecx, 0x14
mov dword [rsp + 0xc4], 0xa
lea r8, [0x004d9942]
call sym.sqlite3_snprintf
lea rdx, [r14 + 0xd2]
lea r8, [0x004d9944]
mov ecx, 0x14
call sym.sqlite3_snprintf
jmp 0x4cdd1b
lea rdx, str._tabs
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd829
mov dword [rsp + 0xc4], 2
lea rdx, [r14 + 0xbe]
lea r8, [0x004d9933]
mov ecx, 0x14
call sym.sqlite3_snprintf
lea rdx, [r14 + 0xd2]
lea r8, [0x004d54ab]
jmp 0x4cd7d4
lea rdx, str._separator
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd857
inc esi
mov rdx, r12
mov ecx, ebp
mov r8d, esi
call sym.cmdline_option_value
lea rdx, [r14 + 0xbe]
mov r9, rax
jmp 0x4cd883
lea rdx, str._newline
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd899
inc esi
mov rdx, r12
mov ecx, ebp
mov r8d, esi
call sym.cmdline_option_value
lea rdx, [r14 + 0xd2]
mov r9, rax
lea r8, [0x004d40ca]
mov ecx, 0x14
call sym.sqlite3_snprintf
jmp 0x4cdd1b
lea rdx, str._nullvalue
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd8cc
inc esi
mov rdx, r12
mov ecx, ebp
mov r8d, esi
call sym.cmdline_option_value
lea r8, [0x004d40ca]
mov rdx, qword [rsp + 0x40]
mov r9, rax
jmp 0x4cd88a
lea rdx, str._header
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd8ec
mov dword [rsp + 0xd8], 1
jmp 0x4cd90a
lea rdx, str._noheader
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd91a
mov dword [rsp + 0xd8], 0
or dword [rsp + 0xec], 0x80
jmp 0x4cdd1b
lea rdx, str._echo
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd93a
or dword [rsp + 0xec], 0x40
jmp 0x4cdd1b
lea rdx, str._eqp
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd957
mov byte [rsp + 0x79], 1
jmp 0x4cdd1b
lea rdx, str._eqpfull
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd974
mov byte [rsp + 0x79], 3
jmp 0x4cdd1b
lea rdx, str._stats
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd997
mov dword [rsp + 0x8c], 1
jmp 0x4cdd1b
lea rdx, str._scanstats
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd9b4
mov byte [rsp + 0x7c], 1
jmp 0x4cdd1b
lea rdx, str._backslash
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cd9d4
or dword [rsp + 0xec], 4
jmp 0x4cdd1b
lea rdx, str._bail
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdd1b
lea rdx, str._version
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cda26
call sym.sqlite3_sourceid
mov qword [rsp + 0x20], rax
call sym.sqlite3_libversion
mov r8, qword [rsp + 0x20]
lea rcx, str._s__s_n
mov rdx, rax
call sym.printf
jmp 0x4cdbf6
lea rdx, str._interactive
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cda48
mov dword [0x004cf744], 1
jmp 0x4cdd1b
lea rdx, str._batch
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cda6a
mov dword [0x004cf744], 0
jmp 0x4cdd1b
lea rdx, str._utf8
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cda8c
mov dword [0x00509160], 1
jmp 0x4cdd1b
lea rdx, str._heap
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdb30
lea rdx, str._pagecache
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdaef
lea rdx, str._lookaside
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdaef
lea rdx, str._threadsafe
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdaef
lea rdx, str._nonce
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cdaf7
add esi, 2
jmp 0x4cdd1b
lea rdx, str._mmap
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdb30
lea rdx, str._memtrace
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdb30
lea rdx, str._vfs
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cdb37
inc esi
jmp 0x4cdd1b
lea rdx, str._help
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cdb92
mov r8, qword [0x00509148]
mov ecx, 2
mov rbx, qword [sym.__acrt_iob_func]
mov qword [rsp + 0x20], r8
call rbx
mov r8, qword [rsp + 0x20]
lea rdx, str.Usage:__s__OPTIONS___FILENAME__SQL___nFILENAME_is_the_name_of_an_SQLite_database._A_new_database_is_created_nif_the_file_does_not_previously_exist._Defaults_to_:memory:._n
mov rcx, rax
call sym.utf8_printf
mov ecx, 2
call rbx
lea r8, str.________________________treat_no_subsequent_arguments_as_options_n____append______________append_the_database_to_the_end_of_the_file_n____ascii_______________set_output_mode_to_ascii_n____bail________________stop_after_hitting_an_error_n____batch_______________force_batch_I_O_n____box_________________set_output_mode_to_box_n____column______________set_output_mode_to_column_n____cmd_COMMAND_________run__COMMAND__before_reading_stdin_n____csv_________________set_output_mode_to_csv_n____deserialize_________open_the_database_using_sqlite3_deserialize___n____echo________________print_inputs_before_execution_n____init_FILENAME_______read_process_named_file_n_____no_header__________turn_headers_on_or_off_n____help________________show_this_message_n____html________________set_output_mode_to_HTML_n____interactive_________force_interactive_I_O_n____json________________set_output_mode_to_json_n____line________________set_output_mode_to_line_n____list________________set_output_mode_to_list_n____lookaside_SIZE_N____use_N_entries_of_SZ_bytes_for_lookaside_memory_n____markdown____________set_output_mode_to_markdown_n____maxsize_N___________maximum_size_for_a___deserialize_database_n____memtrace____________trace_all_memory_allocations_and_deallocations_n____mmap_N______________default_mmap_size_set_to_N_n____newline_SEP_________set_output_row_separator._Default:__n_n____nofollow____________refuse_to_open_symbolic_links_to_database_files_n____nonce_STRING________set_the_safe_mode_escape_nonce_n____nullvalue_TEXT______set_text_string_for_NULL_values._Default__n____pagecache_SIZE_N____use_N_slots_of_SZ_bytes_each_for_page_cache_memory_n____quote_______________set_output_mode_to_quote_n____readonly____________open_the_database_read_only_n____safe________________enable_safe_mode_n____separator_SEP_______set_output_column_separator._Default:__n____stats_______________print_memory_stats_before_each_finalize_n____table_______________set_output_mode_to_table_n____tabs________________set_output_mode_to_tabs_n____unsafe_testing______allow_unsafe_commands_and_modes_for_testing_n____utf8________________setup_interactive_console_code_page_for_UTF_8_n____version_____________show_SQLite_version_n____vfs_NAME____________use_NAME_as_the_default_VFS_n
lea rdx, str.OPTIONS_include:_n_s
jmp 0x4cd377
lea rdx, str._cmd
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cdc98
lea eax, [rbp - 1]
cmp eax, esi
je 0x4cdd30
inc esi
mov rdx, r12
mov ecx, ebp
mov r8d, esi
call sym.cmdline_option_value
cmp byte [rax], 0x2e
mov rbx, rax
jne 0x4cdbfd
mov rdx, r14
mov rcx, rax
call sym.do_meta_command
test eax, eax
mov edi, eax
je 0x4cdd1b
cmp dword [0x00509164], 0
je 0x4cdd1b
cmp edi, 2
jne 0x4ce11e
xor edi, edi
jmp 0x4ce11e
xor edx, edx
mov rcx, r14
call sym.open_db
lea r8, [rsp + 0x50]
mov rdx, rbx
mov rcx, r14
call sym.shell_exec
mov r8, qword [rsp + 0x50]
mov edi, eax
test r8, r8
mov qword [rsp + 0x48], r8
je 0x4cdc61
mov ecx, 2
call qword [sym.__acrt_iob_func]
mov r8, qword [rsp + 0x48]
lea rdx, str.Error:__s_n
mov rcx, rax
call sym.utf8_printf
cmp dword [0x00509164], 0
je 0x4cdd1b
test edi, edi
jne 0x4ce11e
jmp 0x4cdd11
test eax, eax
je 0x4cdd1b
mov ecx, 2
call qword [sym.__acrt_iob_func]
lea rdx, str.Error:_unable_to_process_SQL___s__n
mov r8, rbx
mov rcx, rax
call sym.utf8_printf
cmp dword [0x00509164], 0
je 0x4cdd1b
jmp 0x4ce11e
lea rdx, str._safe
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
jne 0x4cdcb7
mov word [rsp + 0x81], 0x101
jmp 0x4cdd1b
lea rdx, str._unsafe_testing
mov rcx, rbx
call sym.cli_strcmp
test eax, eax
je 0x4cdd1b
mov r8, qword [0x00509148]
mov ecx, 2
mov rsi, qword [sym.__acrt_iob_func]
mov qword [rsp + 0x20], r8
call rsi
mov r8, qword [rsp + 0x20]
lea rdx, str._s:_Error:_unknown_option:__s_n
mov r9, rbx
mov rcx, rax
call sym.utf8_printf
mov ecx, 2
call rsi
lea rcx, str.Use__help_for_a_list_of_options._n
mov rdx, rax
call sym.fputs
mov edi, 1
jmp 0x4ce11e
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0xcc], eax
inc esi
jmp 0x4cd51b
cmp dword [0x00509160], 0
je 0x4cde47
cmp dword [0x004cf744], 0
je 0x4cde47
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor ecx, ecx
mov dword [rsp + 0x58], 0
mov rbx, rax
call qword [sym.imp.msvcrt.dll__isatty]
test eax, eax
je 0x4cde56
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 2
jne 0x4cde56
lea rdx, [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x4cde56
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x4cddc3
mov ecx, 2
call r13
lea rcx, str.Cannot_use_UTF_8_code_page._n
mov rdx, rax
call sym.fputs
jmp 0x4cde56
mov eax, dword [rsp + 0x58]
mov qword [0x004cf730], rbx
mov dword [0x004cf738], eax
call qword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov dword [0x004cf728], eax
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov ecx, 0xfde9
mov dword [0x004cf72c], eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
mov edx, dword [rsp + 0x58]
mov rcx, qword [0x004cf730]
or edx, 3
mov dword [rsp + 0x58], edx
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
xor ecx, ecx
call r13
mov rcx, rax
call qword [sym.imp.msvcrt.dll__fileno]
mov edx, 0x20000
mov ecx, eax
call qword [sym.imp.msvcrt.dll__setmode]
mov dword [0x00509160], 1
mov dword [0x004cf724], eax
jmp 0x4cde60
xor ecx, ecx
call r13
xor edx, edx
mov rcx, rax
call sym.setBinaryMode
mov dword [0x00509160], 0
cmp dword [rsp + 0x3c], 0
lea rbx, [rsp + 0x70]
jne 0x4cdef9
mov rbp, qword [rsp + 0x20]
lea r14, [rsp + 0x50]
movsxd rax, dword [rsp + 0x28]
lea r12, [rbp + rax*8]
cmp r12, rbp
je 0x4ce031
mov rsi, qword [rbp]
cmp byte [rsi], 0x2e
jne 0x4cdeb6
mov rdx, rbx
mov rcx, rsi
call sym.do_meta_command
test eax, eax
mov edi, eax
je 0x4cdef1
mov rcx, qword [rsp + 0x20]
call sym.free
jmp 0x4cdbed
xor edx, edx
mov rcx, rbx
call sym.open_db
mov rdx, rsi
mov rcx, rbx
call sym.echo_group_input
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call sym.shell_exec
mov r8, qword [rsp + 0x50]
mov edi, eax
test r8, r8
jne 0x4ce0d0
test eax, eax
jne 0x4ce0eb
add rbp, 8
xor edi, edi
jmp 0x4cde84
cmp dword [0x004cf744], 0
je 0x4ce01a
call sym.sqlite3_sourceid
mov qword [rsp + 0x28], rax
call sym.sqlite3_libversion
mov r8, qword [rsp + 0x28]
lea rcx, str.SQLite_version__s__.19s_nEnter__.help__for_usage_hints._n
mov rdx, rax
call sym.printf
cmp dword [rsp + 0x30], 0
je 0x4cdf92
lea rcx, str.Connected_to_a
call sym.printf
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea rdx, [rsp + 0x58]
mov rsi, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
mov edx, 0xc
mov rcx, rsi
mov rdi, qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
call rdi
lea rdx, str.transient_in_memory_database
lea rcx, [0x004d40ca]
call sym.printf
mov rcx, rsi
movzx edx, word [rsp + 0x60]
call rdi
lea rcx, str.._nUse__.open_FILENAME__to_reopen_on_a_persistent_database.
call sym.puts
lea rcx, str.SQLITE_HISTORY
call sym.getenv
test rax, rax
je 0x4cdfb1
mov rcx, rax
call qword [sym.imp.msvcrt.dll__strdup]
mov rsi, rax
jmp 0x4cdff5
xor ecx, ecx
xor esi, esi
call sym.find_home_dir
test rax, rax
je 0x4cdff5
mov rcx, rax
mov qword [rsp + 0x28], rax
call sym.strlen30
lea edi, [rax + 0x14]
movsxd rcx, edi
call sym.malloc
test rax, rax
mov rsi, rax
je 0x4cdff5
mov r9, qword [rsp + 0x28]
lea r8, str._s_.sqlite_history
mov rdx, rax
mov ecx, edi
call sym.sqlite3_snprintf
mov qword [rsp + 0xa8], 0
mov rcx, rbx
call sym.process_input
test rsi, rsi
mov edi, eax
je 0x4ce031
mov rcx, rsi
call sym.free
jmp 0x4ce031
xor ecx, ecx
call r13
mov rcx, rbx
mov qword [rsp + 0xa8], rax
call sym.process_input
mov edi, eax
mov rcx, qword [rsp + 0x20]
call sym.free
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x4ce059
call sym.free
mov qword [rsp + 0x100], 0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x4ce068
call sym.close_db
lea rbp, [rbx + 0x78]
mov rsi, rbx
mov rcx, qword [rsi + 0x260]
call sym.sqlite3_free
mov rcx, qword [rsi + 0x250]
test rcx, rcx
je 0x4ce08c
call sym.close_db
add rsi, 0x18
cmp rbp, rsi
jne 0x4ce06f
mov ecx, 1
call sym.find_home_dir
mov rcx, rbx
call sym.output_reset
mov rcx, rbx
mov byte [rsp + 0x7e], 0
call sym.clearTempFile
mov rcx, qword [rsp + 0x180]
call sym.free
mov rcx, qword [rsp + 0x350]
call sym.free
jmp 0x4ce11e
mov qword [rsp + 0x28], r8
mov ecx, 2
call r13
mov r8, qword [rsp + 0x28]
lea rdx, str.Error:__s_n
jmp 0x4ce0fd
mov ecx, 2
call r13
lea rdx, str.Error:_unable_to_process_SQL:__s_n
mov r8, rsi
mov rcx, rax
call sym.utf8_printf
mov rcx, qword [rsp + 0x50]
call sym.sqlite3_free
mov rcx, qword [rsp + 0x20]
call sym.free
jmp 0x4cdc54
mov eax, edi
add rsp, 0x3e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret