Function at 0x10083d80
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x101289b8]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0x18], 0
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x2c], eax
mov dword [ebx + 0xc], edi
je 0x10083f72
call sym.e_sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x10083e06
push eax
push 0x18
call fcn.100b3720
mov esi, eax
add esp, 8
test esi, esi
je 0x10083e06
test edi, edi
je 0x10083ddb
mov eax, dword [edi + 0x78]
jmp 0x10083de0
mov eax, 0x3b9aca00
mov dword [esi + 4], 0
mov dword [esi], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0
mov word [esi + 0x14], 0
jmp 0x10083e0b
mov esi, 0x10125958
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
push str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
push esi
call sym.e_sqlite3.dll_sqlite3_str_appendf
add esp, 0x10
cmp byte [ebx + 0x19], 0
jbe 0x10083e42
xor edi, edi
push edi
push str._a_d
push esi
call sym.e_sqlite3.dll_sqlite3_str_appendf
movzx eax, byte [ebx + 0x19]
inc edi
add esp, 0xc
cmp edi, eax
jl 0x10083e27
mov edi, dword [ebp - 0x40]
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
push str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
push esi
call sym.e_sqlite3.dll_sqlite3_str_appendf
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
push str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
push esi
call sym.e_sqlite3.dll_sqlite3_str_appendf
push dword [ebx + 0x10]
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
push str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
push esi
call sym.e_sqlite3.dll_sqlite3_str_appendf
add esp, 0x34
test esi, esi
je 0x10083feb
cmp esi, 0x10125958
je 0x10083feb
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10083eb4
mov eax, dword [esi + 0x10]
mov byte [ecx + eax], 0
cmp dword [esi + 0xc], 0
jbe 0x10083eb4
test byte [esi + 0x15], 4
jne 0x10083eb4
push esi
call fcn.100e2480
add esp, 4
jmp 0x10083eb7
mov eax, dword [esi + 4]
push esi
mov dword [ebp - 0x28], eax
call sym.e_sqlite3.dll_sqlite3_free
mov esi, dword [ebp - 0x28]
add esp, 4
test esi, esi
je 0x10083feb
push 0
push 0
push 0
push esi
push edi
call sym.e_sqlite3.dll_sqlite3_exec
add esp, 0x14
mov dword [ebp - 0x3c], eax
cmp dword [0x101250f8], 0
je 0x10083f53
mov eax, dword [0x10129520]
test eax, eax
je 0x10083f0a
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
mov esi, dword [ebp - 0x28]
add esp, 4
push esi
mov esi, dword [0x10125124]
mov ecx, esi
call dword [0x1010a1d8]
call esi
sub dword [0x101294b8], eax
add esp, 4
mov eax, dword [ebp - 0x28]
mov esi, dword [0x1012511c]
mov ecx, esi
dec dword [0x101294dc]
push eax
call dword [0x1010a1d8]
call esi
mov eax, dword [0x10129520]
add esp, 4
test eax, eax
je 0x10083f67
mov esi, dword [0x10125150]
push eax
jmp 0x10083f5a
push esi
mov esi, dword [0x1012511c]
mov ecx, esi
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x1008443e
movaps xmm1, xmmword [0x1011b940]
mov eax, 2
xor ecx, ecx
movd xmm2, eax
lea eax, [ebx + 0x50]
movd xmm0, eax
pshufd xmm3, xmm0, 0
movd xmm0, ecx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
pslld xmm0, xmm2
paddd xmm0, xmm3
movups xmmword [ebp + ecx*4 - 0x24], xmm0
add ecx, 4
cmp ecx, 8
jl 0x10083f90
xor edx, edx
mov esi, 0x64
push edx
push edx
push edx
push edx
push edx
push edx
push str.sqlite_stat1
push dword [ebx + 0x20]
mov dword [ebp - 0x28], edx
push edi
call sym.e_sqlite3.dll_sqlite3_table_column_metadata
mov ebx, eax
add esp, 0x24
test ebx, ebx
je 0x10084001
xor eax, eax
mov esi, 0x100000
cmp ebx, 1
cmove ebx, eax
jmp 0x1008408c
pop edi
pop esi
mov eax, 7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100fa425
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x30]
push dword [eax + 0x24]
push dword [eax + 0x20]
push str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
call sym.e_sqlite3.dll_sqlite3_mprintf
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x10084023
lea ebx, [eax + 7]
jmp 0x10084087
push 0
lea ecx, [ebp - 0x3c]
push ecx
push 0
push 0x80
push 0xffffffffffffffff
push eax
push edi
call fcn.100b3340
mov ebx, eax
add esp, 0x1c
test ebx, ebx
jne 0x1008406e
mov ebx, dword [ebp - 0x3c]
push ebx
call sym.e_sqlite3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x10084063
push 0
push ebx
call sym.e_sqlite3.dll_sqlite3_column_int64
add esp, 8
mov dword [ebp - 0x28], edx
mov esi, eax
push ebx
call sym.e_sqlite3.dll_sqlite3_finalize
add esp, 4
mov ebx, eax
push dword [ebp - 0x38]
call sym.e_sqlite3.dll_sqlite3_free
mov ecx, dword [ebp - 0x28]
add esp, 4
test ecx, ecx
jl 0x10084087
jg 0x1008408e
cmp esi, 0x64
ja 0x1008408e
mov esi, 0x64
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x30], esi
xor esi, esi
mov dword [eax + 0x34], ecx
nop dword [eax]
test ebx, ebx
jne 0x10084107
cmp esi, 3
jne 0x100840b3
cmp byte [eax + 0x19], bl
mov eax, str.INSERT_INTO__w_.__w_rowid__rowid_nodeno_VALUES__1__2_ON_CONFLICT_rowid_DO_UPDATE_SET_nodenoexcluded.nodeno
jne 0x100840ba
mov eax, dword [esi*4 + 0x10125290]
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
push eax
call sym.e_sqlite3.dll_sqlite3_mprintf
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x100840f0
push 0
push dword [ebp + esi*4 - 0x24]
push 0
push 0x85
push 0xffffffffffffffff
push eax
push edi
call fcn.100b3340
mov ebx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x38]
jmp 0x100840f5
mov ebx, 7
push eax
call sym.e_sqlite3.dll_sqlite3_free
mov eax, dword [ebp - 0x30]
inc esi
add esp, 4
cmp esi, 8
jl 0x100840a0
cmp byte [eax + 0x19], 0
je 0x1008443c
push dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x34]
push ebx
push str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
call sym.e_sqlite3.dll_sqlite3_mprintf
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov dword [ecx + 0x40], eax
test eax, eax
je 0x10084437
call sym.e_sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x10084181
push eax
push 0x18
call fcn.100b3720
mov esi, eax
add esp, 8
test esi, esi
je 0x10084181
test edi, edi
je 0x10084156
mov eax, dword [edi + 0x78]
jmp 0x1008415b
mov eax, 0x3b9aca00
mov dword [esi + 4], 0
mov dword [esi], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0
mov word [esi + 0x14], 0
jmp 0x10084186
mov esi, 0x10125958
push dword [ebp - 0x2c]
push ebx
push str.UPDATE___w_.__w_rowid_SET
push esi
call sym.e_sqlite3.dll_sqlite3_str_appendf
mov eax, dword [ebp - 0x30]
xor ebx, ebx
add esp, 0x10
cmp byte [eax + 0x19], bl
jbe 0x100841ed
mov edi, eax
test ebx, ebx
je 0x100841ce
mov ecx, dword [esi + 0x10]
inc ecx
cmp ecx, dword [esi + 8]
jb 0x100841c3
push 1
push 0x101134d0
push esi
call fcn.100324f0
add esp, 0xc
jmp 0x100841ce
mov eax, dword [esi + 4]
mov dword [esi + 0x10], ecx
mov byte [eax + ecx - 1], 0x2c
lea eax, [ebx + 2]
push eax
push ebx
push str.a_d__d
push esi
call sym.e_sqlite3.dll_sqlite3_str_appendf
movzx eax, byte [edi + 0x19]
inc ebx
add esp, 0x10
cmp ebx, eax
jl 0x100841a4
mov edi, dword [ebp - 0x40]
push str._WHERE_rowid_1
push esi
call sym.e_sqlite3.dll_sqlite3_str_appendf
add esp, 8
test esi, esi
je 0x10084437
cmp esi, 0x10125958
je 0x10084437
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10084239
mov eax, dword [esi + 0x10]
mov byte [ecx + eax], 0
cmp dword [esi + 0xc], 0
jbe 0x10084239
test byte [esi + 0x15], 4
jne 0x10084239
push esi
call fcn.100e2480
add esp, 4
mov dword [ebp - 0x28], eax
mov ebx, eax
jmp 0x1008423f
mov ebx, dword [esi + 4]
mov dword [ebp - 0x28], ebx
push esi
call sym.e_sqlite3.dll_sqlite3_free
add esp, 4
test ebx, ebx
je 0x10084437
mov eax, dword [ebp - 0x30]
xor ebx, ebx
add eax, 0x70
mov dword [ebp - 0x38], eax
mov dword [eax], ebx
test edi, edi
jne 0x10084268
mov eax, str.NULL
jmp 0x10084281
mov al, byte [edi + 0x61]
cmp al, 0x76
je 0x100842b6
cmp al, 0xba
je 0x1008427c
cmp al, 0x6d
mov eax, str.invalid
jne 0x10084281
mov eax, str.unopened
push eax
push str.API_call_with__s_database_connection_pointer
push 0x15
call sym.e_sqlite3.dll_sqlite3_log
push 0x1011b6ec
push 0x21b40
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call sym.e_sqlite3.dll_sqlite3_log
add esp, 0x20
mov ebx, 0x15
jmp 0x1008437d
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100842d1
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
cmp byte [edi + 0x5f], bl
jne 0x100842e0
push edi
call fcn.10029260
add esp, 4
nop
push 0
push dword [ebp - 0x38]
push 0
push 0x85
push 0xffffffffffffffff
push dword [ebp - 0x28]
push edi
call fcn.100bb380
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x1008432f
cmp byte [edi + 0x57], 0
jne 0x1008432f
cmp esi, 0x201
jne 0x10084318
mov eax, ebx
inc ebx
cmp eax, 0x19
jl 0x100842e0
jmp 0x1008432f
cmp esi, 0x11
jne 0x1008432f
push 0xffffffffffffffff
push edi
call fcn.100bd370
mov eax, ebx
add esp, 8
inc ebx
test eax, eax
je 0x100842e0
cmp byte [edi + 0x5f], 0
jne 0x1008433e
push edi
call fcn.100295b0
add esp, 4
cmp byte [edi + 0x57], 0
jne 0x1008434c
test esi, esi
jne 0x1008434c
xor ebx, ebx
jmp 0x10084358
push esi
push edi
call fcn.10025920
add esp, 8
mov ebx, eax
mov eax, dword [edi + 0xc]
mov dword [edi + 0x1c8], 0
test eax, eax
je 0x1008437d
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
cmp dword [0x101250f8], 0
je 0x1008440e
mov eax, dword [0x10129520]
test eax, eax
je 0x100843a7
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov edi, dword [ebp - 0x28]
mov esi, dword [0x10125124]
mov ecx, esi
push edi
call dword [0x1010a1d8]
call esi
mov esi, dword [0x1012511c]
add esp, 4
sub dword [0x101294b8], eax
mov ecx, esi
dec dword [0x101294dc]
push edi
call dword [0x1010a1d8]
call esi
mov eax, dword [0x10129520]
add esp, 4
test eax, eax
je 0x1008443c
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100fa425
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x28]
mov esi, dword [0x1012511c]
mov ecx, esi
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100fa425
mov esp, ebp
pop ebp
ret
mov ebx, 7
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100fa425
mov esp, ebp
pop ebp
ret