Function at 0x4dabe0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4bc
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [ebp - 0x474], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp + 4], 0
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_setvbuf
mov ebx, dword [sym.imp.msvcrt.dll__isatty]
mov dword [esp], 0
call ebx
mov dword [esp], 1
mov dword [0x4f1c5c], eax
call ebx
mov dword [esp], 0x4c2a1b
mov dword [0x4f1c58], eax
call fcn.004e8f90
mov dword [esp], 0x4c28c8
call fcn.004e8f90
mov dword [esp], str.SQLITE_DEBUG_BREAK
call sub.msvcrt.dll_getenv
test eax, eax
je 0x4dacb8
mov dword [esp], 0
call ebx
test eax, eax
je 0x4dacb2
mov dword [esp], 2
call ebx
test eax, eax
je 0x4dacb2
call sub.msvcrt.dll__getpid
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.attach_debugger_to_process__d_and_press_any_key_to_continue._n
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sub.msvcrt.dll_fgetc
jmp 0x4dacb8
call dword [sym.imp.KERNEL32.dll_DebugBreak]
mov dword [esp + 4], 1
mov dword [esp], 0x4c29d3
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
push ebx
push ebx
jne 0x4daceb
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], str.No_C_handler._n
add eax, 0x40
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
call fcn.00408e09
mov ecx, 0x3c
mov edx, 0x50f721
call fcn.004bb7f6
test eax, eax
mov dword [ebp - 0x480], eax
je 0x4dad37
call fcn.00408e09
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 0xc], 0x50f721
mov dword [esp + 4], str.SQLite_header_and_source_version_mismatch_n_s_n_s_n
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
jmp 0x4db566
lea edx, [ebp - 0x458]
mov eax, dword [ebp - 0x480]
mov ecx, 0x110
xor ebx, ebx
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x234]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x4c5dc7
mov dword [esp], 0x10
mov dword [ebp - 0x414], 2
mov dword [ebp - 0x40c], 2
mov dword [ebp - 0x408], 2
mov byte [ebp - 0x454], 1
mov dword [ebp - 0xa4], eax
mov word [ebp - 0x3b2], 0x7c
mov word [ebp - 0x39e], 0xa
mov dword [ebp - 0x3ec], 2
call fcn.004356de
call fcn.004c5e12
mov dword [esp + 4], 1
mov dword [esp], 0x11
call fcn.004356de
mov dword [esp], 2
call fcn.004356de
mov dword [esp + 8], str.sqlite_
mov dword [esp + 4], 0x51a434
mov dword [esp], 0x14
call fcn.0042a3d9
mov dword [esp + 8], str.___..._
mov dword [esp + 4], 0x51a420
mov dword [esp], 0x14
call fcn.0042a3d9
call fcn.004358b5
mov eax, dword [ebp + 8]
shl eax, 3
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x490], eax
call fcn.004bd956
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebp + 8]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x47c], eax
cmp ebx, dword [ebp + 8]
jge 0x4daeca
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ebx*4]
mov dword [esp], eax
call fcn.004b1d02
mov dword [ebp - 0x488], eax
call fcn.004bd956
mov edi, dword [ebp - 0x488]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov dword [esp], ecx
mov dword [ebp - 0x494], ecx
call sub.msvcrt.dll_malloc
mov edx, eax
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x48c], edx
mov dword [eax + ebx*4], edx
mov eax, edx
call fcn.004bd956
mov edx, dword [ebp - 0x48c]
mov eax, dword [ebp - 0x490]
mov esi, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x494]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov dword [eax + ebx*4], edx
mov eax, dword [ebp - 0x488]
inc ebx
mov dword [esp], eax
call fcn.0040b268
jmp 0x4dae40
call fcn.004b1f28
cmp dword [ebp + 8], 0
jle 0x4daee9
cmp dword [ebp - 0x47c], 0
je 0x4daee9
mov eax, dword [ebp - 0x47c]
cmp dword [eax], 0
jne 0x4daf05
mov dword [esp + 8], 0x6af6
mov dword [esp + 4], str.shell.c
mov dword [esp], str.argc_1__argv__argv_0_
call fcn.004eaa60
mov eax, dword [ebp - 0x47c]
mov edi, 1
mov eax, dword [eax]
mov dword [0x51a448], eax
call fcn.004c5e12
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x49c], 0
mov dword [ebp - 0x498], 1
mov dword [ebp - 0x494], 0
mov dword [ebp - 0x4a4], eax
cmp edi, dword [ebp + 8]
jge 0x4db45e
lea eax, [edi*4]
mov dword [ebp - 0x488], eax
mov eax, dword [ebp - 0x47c]
mov ebx, dword [eax + edi*4]
cmp byte [ebx], 0x2d
jne 0x4daf83
cmp edi, dword [ebp - 0x4a4]
jle 0x4dafe0
cmp dword [ebp - 0x230], 0
jne 0x4daf97
mov dword [ebp - 0x230], ebx
jmp 0x4db51a
inc dword [ebp - 0x49c]
mov eax, dword [ebp - 0x49c]
lea esi, [eax*4]
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x48c], eax
call fcn.004bd956
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x498], 0
mov dword [eax + esi - 4], ebx
jmp 0x4db51a
xor eax, eax
cmp byte [ebx + 1], 0x2d
mov edx, 0x50f7f0
sete al
add ebx, eax
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4db514
mov edx, str._separator
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4db09e
mov edx, str._nullvalue
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4db09e
mov edx, str._newline
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4db09e
mov edx, str._cmd
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4db09e
mov edx, str._init
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db06f
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc edi
mov ecx, edi
call fcn.004c5e43
mov dword [ebp - 0x494], eax
jmp 0x4db51a
mov edx, str._batch
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db08e
mov dword [0x4f1c5c], 0
jmp 0x4db51a
mov edx, str._heap
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db0b4
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc edi
mov ecx, edi
call fcn.004c5e43
jmp 0x4db51a
mov edx, str._pagecache
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db215
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
lea ecx, [edi + 1]
call fcn.004c5e43
call fcn.004bca70
cmp edx, 0
mov ebx, eax
mov esi, edx
jg 0x4db0f6
jl 0x4db0fd
cmp eax, 0x11170
ja 0x4db0f6
test edx, edx
js 0x4db0fd
jmp 0x4db101
mov ebx, 0x11170
jmp 0x4db0ff
xor ebx, ebx
xor esi, esi
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
add edi, 2
mov ecx, edi
call fcn.004c5e43
call fcn.004bca70
mov dword [ebp - 0x484], edx
mov edx, esi
mov dword [ebp - 0x488], eax
sar edx, 0x1f
mov eax, edx
sub eax, ebx
sbb edx, esi
mov eax, edx
mov edx, dword [ebp - 0x484]
shr eax, 0x1f
mov dword [ebp - 0x4a8], eax
sar edx, 0x1f
mov eax, edx
sub eax, dword [ebp - 0x488]
sbb edx, dword [ebp - 0x484]
mov eax, edx
shr eax, 0x1f
je 0x4db19c
cmp byte [ebp - 0x4a8], 0
je 0x4db19c
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffff
call fcn.004e9fbc
cmp dword [ebp - 0x484], edx
jl 0x4db19c
jg 0x4db190
cmp dword [ebp - 0x488], eax
jbe 0x4db19c
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], edx
call fcn.004c5e12
mov edx, dword [ebp - 0x484]
sar edx, 0x1f
mov eax, edx
sub eax, dword [ebp - 0x488]
sbb edx, dword [ebp - 0x484]
mov eax, edx
shr eax, 0x1f
je 0x4db1db
cmp byte [ebp - 0x4a8], 0
je 0x4db1db
mov eax, dword [ebp - 0x488]
imul eax, ebx
mov dword [esp], eax
call sub.msvcrt.dll_malloc
jmp 0x4db1dd
xor eax, eax
mov edx, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x484]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], 7
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.004356de
or dword [ebp - 0x3ec], 1
jmp 0x4db51a
mov edx, str._lookaside
mov eax, ebx
call fcn.004bdf51
test eax, eax
mov esi, eax
jne 0x4db291
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
lea ecx, [edi + 1]
call fcn.004c5e43
call fcn.004bca70
test eax, eax
mov edx, dword [ebp - 0x47c]
cmovs eax, esi
add edi, 2
mov ebx, eax
mov eax, dword [ebp + 8]
mov ecx, edi
call fcn.004c5e43
call fcn.004bca70
test eax, eax
cmovns esi, eax
call fcn.004c5e12
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
imul esi, ebx
mov dword [esp], 0xd
call fcn.004356de
test esi, esi
jne 0x4db51a
and dword [ebp - 0x3ec], 0xfffffffd
jmp 0x4db51a
mov edx, str._threadsafe
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db2ea
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc edi
mov ecx, edi
call fcn.004c5e43
call fcn.004bca70
mov ebx, eax
call fcn.004c5e12
test ebx, ebx
je 0x4db2d0
cmp ebx, 2
jne 0x4db2d9
mov dword [esp], 2
jmp 0x4db2e0
mov dword [esp], 1
jmp 0x4db2e0
mov dword [esp], 3
call fcn.004356de
jmp 0x4db51a
mov edx, str._mmap
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db34e
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc edi
mov ecx, edi
call fcn.004c5e43
call fcn.004bca70
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], edx
call fcn.004c5e12
mov eax, dword [ebp - 0x488]
mov edx, dword [ebp - 0x484]
mov dword [esp], 0x16
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004356de
jmp 0x4db51a
mov edx, str._vfs
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db37a
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc edi
mov ecx, edi
call fcn.004c5e43
mov dword [ebp - 0x4a0], eax
jmp 0x4db51a
mov edx, str._zip
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db396
mov byte [ebp - 0x44f], 3
jmp 0x4db51a
mov edx, str._append
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db3b2
mov byte [ebp - 0x44f], 2
jmp 0x4db51a
mov edx, str._deserialize
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db3ce
mov byte [ebp - 0x44f], 5
jmp 0x4db51a
mov edx, str._maxsize
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db40e
lea esi, [edi + 1]
cmp dword [ebp + 8], esi
jle 0x4db40e
mov eax, dword [ebp - 0x47c]
mov ecx, dword [ebp - 0x488]
mov edi, esi
mov eax, dword [eax + ecx + 4]
call fcn.004bca70
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
jmp 0x4db51a
mov edx, str._readonly
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db42a
mov byte [ebp - 0x44f], 4
jmp 0x4db51a
mov edx, str._nofollow
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db449
mov dword [ebp - 0x428], 0x1000000
jmp 0x4db51a
mov ecx, 2
mov edx, 0x50f87f
mov eax, ebx
call fcn.004bb7f6
test eax, eax
jne 0x4db47a
call fcn.004c5e12
call fcn.004358b5
cmp dword [ebp - 0x4a0], 0
jne 0x4db520
jmp 0x4db572
mov edx, str._memtrace
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db49c
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ca86f
jmp 0x4db51a
mov edx, str._bail
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db4b8
mov dword [0x51a458], 1
jmp 0x4db51a
mov edx, str._nonce
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db4f8
mov eax, dword [ebp - 0x94]
inc edi
mov dword [esp], eax
call fcn.004ec038
mov eax, dword [ebp - 0x47c]
mov ecx, dword [ebp - 0x488]
mov eax, dword [eax + ecx + 4]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__strdup]
mov dword [ebp - 0x94], eax
jmp 0x4db51a
mov edx, str._unsafe_testing
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db51a
or dword [ebp - 0x3ec], 0x400
jmp 0x4db51a
mov dword [ebp - 0x4a4], edi
inc edi
jmp 0x4daf57
mov eax, dword [ebp - 0x4a0]
mov dword [esp], eax
call fcn.00435bc2
test eax, eax
je 0x4db544
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00435c47
jmp 0x4db572
mov eax, dword [ebp - 0x4a0]
mov dword [esp + 4], str.no_such_VFS:___s__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
mov dword [esp], 1
call sub.msvcrt.dll_exit
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x4a0], 0
cmp dword [eax + 4], 0
jne 0x4db59e
mov dword [eax + 4], str.:memory:
xor eax, eax
cmp dword [ebp + 8], 1
sete al
mov dword [ebp - 0x4a0], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
add eax, 0x20
mov dword [ebp - 0x420], eax
call fcn.004cae5d
mov eax, dword [ebp - 0xa4]
mov dword [esp + 4], 0
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__access]
test eax, eax
jne 0x4db5f3
lea eax, [ebp - 0x458]
xor edx, edx
call fcn.004cfaa0
cmp dword [ebp - 0x494], 0
mov eax, dword [ebp - 0x424]
mov edi, dword [ebp - 0x42c]
mov dword [ebp - 0x488], eax
je 0x4db618
mov esi, dword [ebp - 0x494]
xor ebx, ebx
jmp 0x4db63e
mov eax, dword [0x51a3a0]
test eax, eax
je 0x4dc3ff
mov dword [esp + 4], eax
mov dword [esp], str._s_.sqliterc
call fcn.004440e8
mov esi, eax
mov ebx, esi
call fcn.004bd956
mov dword [esp + 4], 0x507267
mov dword [esp], esi
call sub.msvcrt.dll_fopen
test eax, eax
mov dword [ebp - 0x424], eax
je 0x4db6a9
cmp dword [0x4f1c5c], 0
je 0x4db67d
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], esi
mov dword [esp + 4], str.___Loading_resources_from__s_n
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
lea eax, [ebp - 0x458]
call fcn.004da5c1
test eax, eax
je 0x4db699
cmp dword [0x51a458], 0
jne 0x4db566
mov eax, dword [ebp - 0x424]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
jmp 0x4db6db
cmp dword [ebp - 0x494], 0
je 0x4db6db
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], esi
mov dword [esp + 4], str.cannot_open:___s__n
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
cmp dword [0x51a458], 0
jne 0x4db566
mov eax, dword [ebp - 0x488]
mov dword [esp], ebx
mov dword [ebp - 0x42c], edi
mov dword [ebp - 0x424], eax
call fcn.0040b268
mov eax, dword [ebp + 8]
xor edi, edi
mov esi, 1
dec eax
mov dword [ebp - 0x4a8], eax
cmp esi, dword [ebp + 8]
jge 0x4dbf84
lea eax, [esi*4]
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x47c]
add eax, dword [ebp - 0x494]
mov ebx, dword [eax]
mov dword [ebp - 0x488], eax
cmp byte [ebx], 0x2d
jne 0x4dbf7e
cmp esi, dword [ebp - 0x4a4]
jge 0x4dbf7e
xor eax, eax
cmp byte [ebx + 1], 0x2d
mov edx, str._init
sete al
add ebx, eax
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbcfd
mov edx, str._html
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db783
mov dword [ebp - 0x414], 4
jmp 0x4dbf72
mov edx, str._list
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db7a2
mov dword [ebp - 0x414], 2
jmp 0x4dbf72
mov edx, str._quote
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db7c9
mov dword [ebp - 0x414], 6
mov dword [esp + 8], 0x507651
jmp 0x4dba03
mov edx, str._line
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db7e8
mov dword [ebp - 0x414], 0
jmp 0x4dbf72
mov edx, str._column
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db807
mov dword [ebp - 0x414], 1
jmp 0x4dbf72
mov edx, str._json
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db826
mov dword [ebp - 0x414], 0xd
jmp 0x4dbf72
mov edx, str._markdown
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db845
mov dword [ebp - 0x414], 0xe
jmp 0x4dbf72
mov edx, str._table
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db864
mov dword [ebp - 0x414], 0xf
jmp 0x4dbf72
mov edx, str._box
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db883
mov dword [ebp - 0x414], 0x10
jmp 0x4dbf72
mov edx, str._csv
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db8ab
mov dword [ebp - 0x414], 8
mov word [ebp - 0x3b2], 0x2c
jmp 0x4dbf72
mov edx, str._zip
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db8c7
mov byte [ebp - 0x44f], 3
jmp 0x4dbf72
mov edx, str._append
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db8e3
mov byte [ebp - 0x44f], 2
jmp 0x4dbf72
mov edx, str._deserialize
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db8ff
mov byte [ebp - 0x44f], 5
jmp 0x4dbf72
mov edx, str._maxsize
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db94b
lea ecx, [esi + 1]
cmp dword [ebp + 8], ecx
jle 0x4db94b
mov dword [ebp - 0x488], ecx
mov eax, dword [ebp - 0x47c]
mov ecx, dword [ebp - 0x494]
mov eax, dword [eax + ecx + 4]
call fcn.004bca70
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
mov esi, ecx
jmp 0x4dbf72
mov edx, str._readonly
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db967
mov byte [ebp - 0x44f], 4
jmp 0x4dbf72
mov edx, str._nofollow
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db986
or dword [ebp - 0x428], 0x1000000
jmp 0x4dbf72
mov edx, str._ascii
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4db9e1
lea eax, [ebp - 0x3b2]
mov dword [esp + 8], 0x50dbc6
mov dword [esp], 0x14
mov dword [ebp - 0x414], 0xa
mov dword [esp + 4], eax
call fcn.0042a3d9
mov dword [esp + 8], 0x50dbc8
lea eax, [ebp - 0x39e]
mov dword [esp], 0x14
mov dword [esp + 4], eax
call fcn.0042a3d9
jmp 0x4dbf72
mov edx, str._tabs
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dba23
mov dword [ebp - 0x414], 2
mov dword [esp + 8], 0x50dbbe
lea eax, [ebp - 0x3b2]
mov dword [esp], 0x14
mov dword [esp + 4], eax
call fcn.0042a3d9
mov dword [esp + 8], 0x508c29
jmp 0x4db9c6
mov edx, str._separator
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dba58
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc esi
mov ecx, esi
call fcn.004c5e43
mov dword [esp + 8], 0x506d0a
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x3b2]
jmp 0x4dba8b
mov edx, str._newline
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbaa0
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc esi
mov ecx, esi
call fcn.004c5e43
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x39e]
mov dword [esp + 8], 0x506d0a
mov dword [esp + 4], eax
mov dword [esp], 0x14
call fcn.0042a3d9
jmp 0x4dbf72
mov edx, str._nullvalue
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbad5
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc esi
mov ecx, esi
call fcn.004c5e43
mov dword [esp + 8], 0x506d0a
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x354]
jmp 0x4dba8b
mov edx, str._header
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbaf1
mov dword [ebp - 0x400], 1
jmp 0x4dbb0b
mov edx, str._noheader
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbb1a
mov dword [ebp - 0x400], 0
or dword [ebp - 0x3ec], 0x80
jmp 0x4dbf72
mov edx, str._echo
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbb36
or dword [ebp - 0x3ec], 0x40
jmp 0x4dbf72
mov edx, str._eqp
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbb52
mov byte [ebp - 0x453], 1
jmp 0x4dbf72
mov edx, str._eqpfull
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbb6e
mov byte [ebp - 0x453], 3
jmp 0x4dbf72
mov edx, str._stats
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbb8d
mov dword [ebp - 0x440], 1
jmp 0x4dbf72
mov edx, str._scanstats
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbba9
mov byte [ebp - 0x450], 1
jmp 0x4dbf72
mov edx, str._backslash
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbbc5
or dword [ebp - 0x3ec], 4
jmp 0x4dbf72
mov edx, str._bail
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbf72
mov edx, str._version
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbc18
call fcn.00408e09
mov ebx, eax
call fcn.00405d05
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str._s__s_n
call sub.msvcrt.dll_printf
mov dword [ebp - 0x480], 0
jmp 0x4dc485
mov edx, str._interactive
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbc37
mov dword [0x4f1c5c], 1
jmp 0x4dbf72
mov edx, str._batch
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbc56
mov dword [0x4f1c5c], 0
jmp 0x4dbf72
mov edx, str._utf8
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbc75
mov dword [0x51a454], 1
jmp 0x4dbf72
mov edx, str._heap
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbcfd
mov edx, str._pagecache
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbcc5
mov edx, str._lookaside
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbcc5
mov edx, str._threadsafe
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbcc5
mov edx, str._nonce
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbccd
add esi, 2
jmp 0x4dbf72
mov edx, str._mmap
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbcfd
mov edx, str._memtrace
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbcfd
mov edx, str._vfs
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbd03
inc esi
jmp 0x4dbf72
mov edx, str._help
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbd49
mov eax, dword [0x51a448]
mov dword [esp + 4], 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 dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
mov dword [esp + 8], str.________________________treat_no_subsequent_arguments_as_options_n____A_ARGS...___________run__.archive_ARGS__and_exit_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____zip_________________open_the_file_as_a_ZIP_Archive_n
mov dword [esp + 4], str.OPTIONS_include:_n_s
jmp 0x4db556
mov edx, str._cmd
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbe50
cmp esi, dword [ebp - 0x4a8]
je 0x4dbf84
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp + 8]
inc esi
mov ecx, esi
call fcn.004c5e43
cmp byte [eax], 0x2e
mov ebx, eax
jne 0x4dbdb2
lea edx, [ebp - 0x458]
call fcn.004d13b1
test eax, eax
mov edi, eax
je 0x4dbf72
cmp dword [0x51a458], 0
je 0x4dbf72
cmp eax, 2
cmove edi, dword [ebp - 0x480]
jmp 0x4dc3f4
lea eax, [ebp - 0x458]
xor edx, edx
call fcn.004cfaa0
lea ecx, [ebp - 0x474]
lea eax, [ebp - 0x458]
mov edx, ebx
call fcn.004cc607
mov edi, eax
mov eax, dword [ebp - 0x474]
test eax, eax
je 0x4dbe1a
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Error:__s_n
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
cmp dword [0x51a458], 0
je 0x4dbf72
test edi, edi
mov dword [ebp - 0x480], edi
jne 0x4dc485
jmp 0x4dbf63
test edi, edi
je 0x4dbf72
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_unable_to_process_SQL___s__n
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
cmp dword [0x51a458], 0
je 0x4dbf72
jmp 0x4dc3f4
mov ecx, 2
mov edx, 0x50f87f
mov eax, ebx
call fcn.004bb7f6
test eax, eax
jne 0x4dbef6
cmp dword [ebp - 0x49c], 0
je 0x4dbe93
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_cannot_mix_regular_SQL_or_dot_commands_with___s__n
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
jmp 0x4dbf63
lea eax, [ebp - 0x458]
mov edx, 2
call fcn.004cfaa0
cmp byte [ebx + 2], 0
je 0x4dbec9
mov eax, dword [ebp - 0x488]
add ebx, 2
mov dword [eax], ebx
mov eax, dword [ebp - 0x47c]
lea ecx, [eax + esi*4 - 4]
mov eax, dword [ebp + 8]
sub eax, esi
inc eax
mov dword [esp], eax
jmp 0x4dbed7
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x488]
sub eax, esi
mov dword [esp], eax
lea eax, [ebp - 0x458]
mov edx, 1
call fcn.004d072e
mov dword [ebp - 0x498], 0
jmp 0x4dbf84
mov edx, str._safe
mov eax, ebx
call fcn.004bdf51
test eax, eax
jne 0x4dbf16
mov byte [ebp - 0x44a], 1
mov byte [ebp - 0x44b], 1
jmp 0x4dbf72
mov edx, str._unsafe_testing
mov eax, ebx
call fcn.004bdf51
test eax, eax
je 0x4dbf72
mov eax, dword [0x51a448]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str._s:_Error:_unknown_option:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], str.Use__help_for_a_list_of_options._n
add eax, 0x40
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
mov dword [ebp - 0x480], 1
jmp 0x4dc485
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x40c], eax
inc esi
jmp 0x4db706
cmp dword [0x51a454], 0
je 0x4dc0c2
cmp dword [0x4f1c5c], 0
je 0x4dc0c2
mov dword [esp], 0xfffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push edx
mov ebx, eax
mov dword [ebp - 0x470], 0
mov dword [esp], 0
call dword [sym.imp.msvcrt.dll__isatty]
test eax, eax
je 0x4dc0ce
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 2
push esi
jne 0x4dc0ce
lea eax, [ebp - 0x470]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
push ecx
push ecx
je 0x4dc0ce
mov dword [esp], 0xfde9
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
push edx
jne 0x4dc02c
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], str.Cannot_use_UTF_8_code_page._n
add eax, 0x40
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
jmp 0x4dc0ce
mov eax, dword [ebp - 0x470]
mov dword [0x4f1c50], ebx
mov dword [0x4f1c54], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov dword [0x4f1c48], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [esp], 0xfde9
mov dword [0x4f1c4c], eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCP]
push eax
mov dword [esp], 0xfde9
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
push eax
mov eax, dword [ebp - 0x470]
or eax, 3
mov dword [ebp - 0x470], eax
mov dword [esp + 4], eax
mov eax, dword [0x4f1c50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetConsoleMode]
push eax
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__fileno]
mov dword [esp + 4], 0x20000
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__setmode]
mov dword [0x51a454], 1
mov dword [0x4f1c44], eax
jmp 0x4dc0d8
mov eax, dword [sym.imp.msvcrt.dll__iob]
xor edx, edx
call fcn.004bdee2
mov dword [0x51a454], 0
xor esi, esi
cmp dword [ebp - 0x498], 0
jne 0x4dc184
cmp esi, dword [ebp - 0x49c]
je 0x4dc2e4
mov eax, dword [ebp - 0x48c]
mov ebx, dword [eax + esi*4]
cmp byte [ebx], 0x2e
jne 0x4dc137
lea edx, [ebp - 0x458]
mov eax, ebx
call fcn.004d13b1
test eax, eax
mov ebx, eax
je 0x4dc17c
mov eax, dword [ebp - 0x48c]
mov dword [esp], eax
call fcn.004ec038
cmp ebx, 2
cmove ebx, dword [ebp - 0x480]
mov dword [ebp - 0x480], ebx
jmp 0x4dc485
lea eax, [ebp - 0x458]
xor edx, edx
call fcn.004cfaa0
lea eax, [ebp - 0x458]
mov edx, ebx
call fcn.004c8a46
lea ecx, [ebp - 0x474]
lea eax, [ebp - 0x458]
mov edx, ebx
call fcn.004cc607
mov edi, eax
mov eax, dword [ebp - 0x474]
test eax, eax
jne 0x4dc43a
test edi, edi
jne 0x4dc448
inc esi
xor edi, edi
jmp 0x4dc0e7
cmp dword [0x4f1c5c], 0
je 0x4dc2cc
call fcn.00408e09
mov ebx, eax
call fcn.00405d05
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.SQLite_version__s__.19s_nEnter__.help__for_usage_hints._n
call sub.msvcrt.dll_printf
cmp dword [ebp - 0x4a0], 0
je 0x4dc232
mov dword [esp], str.Connected_to_a
call sub.msvcrt.dll_printf
mov dword [esp], 0xfffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ebx, eax
push edx
lea eax, [ebp - 0x470]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
push ecx
push ecx
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov dword [esp + 4], 0xc
mov dword [esp], ebx
call esi
push edi
push edi
mov dword [esp + 4], str.transient_in_memory_database
mov dword [esp], 0x506d0a
call sub.msvcrt.dll_printf
movzx eax, word [ebp - 0x468]
mov dword [esp], ebx
mov dword [esp + 4], eax
call esi
push eax
push eax
mov dword [esp], str.._nUse__.open_FILENAME__to_reopen_on_a_persistent_database.
call sub.msvcrt.dll_puts
mov dword [esp], str.SQLITE_HISTORY
call sub.msvcrt.dll_getenv
test eax, eax
mov ebx, eax
je 0x4dc251
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__strdup]
mov ebx, eax
jmp 0x4dc2a7
mov esi, dword [0x51a3a0]
test esi, esi
jne 0x4dc277
mov dword [esp], str.USERPROFILE
call sub.msvcrt.dll_getenv
mov dword [0x51a3a0], eax
call fcn.004c28f1
test eax, eax
mov esi, eax
je 0x4dc2a7
mov eax, esi
call fcn.004b442b
lea edi, [eax + 0x14]
mov dword [esp], edi
call sub.msvcrt.dll_malloc
test eax, eax
mov ebx, eax
je 0x4dc2a7
mov dword [esp + 0xc], esi
mov dword [esp + 8], str._s_.sqlite_history
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0042a3d9
lea eax, [ebp - 0x458]
mov dword [ebp - 0x424], 0
call fcn.004da5c1
test ebx, ebx
mov edi, eax
je 0x4dc2e4
mov dword [esp], ebx
call fcn.004ec038
jmp 0x4dc2e4
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x458]
call fcn.004da5c1
mov edi, eax
mov eax, dword [ebp - 0x48c]
mov dword [esp], eax
call fcn.004ec038
mov eax, dword [ebp - 0x3d8]
test eax, eax
je 0x4dc30e
mov dword [esp], eax
call fcn.004ec038
mov dword [ebp - 0x3d8], 0
cmp dword [ebp - 0x458], 0
lea ebx, [ebp - 0x458]
je 0x4dc335
mov eax, ebx
or edx, 0xffffffff
call fcn.004be30b
mov eax, dword [ebp - 0x458]
mov dword [esp], eax
call fcn.004d03a9
mov esi, ebx
mov dword [ebp - 0x47c], 0
mov eax, dword [esi + 0x22c]
mov dword [esp], eax
call fcn.0040b268
cmp dword [esi + 0x224], 0
je 0x4dc377
mov edx, dword [ebp - 0x47c]
lea eax, [ebp - 0x458]
call fcn.004be30b
mov eax, dword [esi + 0x224]
mov dword [esp], eax
call fcn.004d03a9
inc dword [ebp - 0x47c]
add esi, 0x50
cmp dword [ebp - 0x47c], 5
jne 0x4dc341
mov eax, dword [0x51a3a0]
mov dword [esp], eax
call fcn.004ec038
mov eax, ebx
mov dword [0x51a3a0], 0
call fcn.004ca025
mov eax, ebx
xor ebx, ebx
mov byte [ebp - 0x44e], 0
call fcn.004d0422
cmp ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x490]
jge 0x4dc3d0
mov eax, dword [eax + ebx*4]
inc ebx
mov dword [esp], eax
call fcn.004ec038
jmp 0x4dc3b7
mov dword [esp], eax
call fcn.004ec038
mov eax, dword [ebp - 0x360]
mov dword [esp], eax
call fcn.004ec038
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call fcn.004ec038
mov dword [ebp - 0x480], edi
jmp 0x4dc485
mov dword [esp], str.USERPROFILE
call sub.msvcrt.dll_getenv
mov dword [0x51a3a0], eax
call fcn.004c28f1
test eax, eax
jne 0x4db625
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], str.___warning:_cannot_find_home_directory__cannot_read__.sqliterc_n
add eax, 0x40
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
jmp 0x4db6f5
mov dword [esp + 8], eax
mov dword [esp + 4], str.Error:__s_n
jmp 0x4dc454
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_unable_to_process_SQL:__s_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
call fcn.0040b268
mov eax, dword [ebp - 0x48c]
mov dword [esp], eax
call fcn.004ec038
jmp 0x4dbe07
mov eax, dword [ebp - 0x480]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret