Function at 0x10020610
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007536f
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x1009e034]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
lea eax, [ebp - 0xdc]
push eax
push str.Module.iBrowser.Chrome
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x108], 0x7db
mov dword [ebp - 0xdc], 0
call dword [sym.imp.isafemc.dll_long_int___cdecl_CreateDllObject_wchar_t_const___void___]
add esp, 8
test eax, eax
jne 0x10020f0f
mov dword [ebp - 0x94], 7
mov dword [ebp - 0x98], eax
mov word [ebp - 0xa8], ax
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xdc]
lea edx, [ebp - 0xa8]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x18]
call eax
test al, al
je 0x10020eea
push str.Default
lea edx, [ebp - 0xa8]
lea ecx, [ebp - 0x48]
call fcn.10058b60
add esp, 4
push 0x20
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x100206fa
push 0x7db
mov ecx, eax
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
call fcn.1002bd30
jmp 0x100206fc
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
movlpd qword [ebp - 0x20], xmm0
push str.Archived_History
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 2
call fcn.10058b60
add esp, 4
mov esi, eax
mov byte [ebp - 4], 3
cmp dword [esi + 0x14], 8
jb 0x1002074f
mov eax, dword [esi]
jmp 0x10020751
mov eax, esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call edi
cmp eax, 1
jne 0x10020768
push esi
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
mov esi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
jb 0x10020786
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Current_Tabs
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 4
cmp dword [ebx + 0x14], 8
jb 0x100207ac
mov eax, dword [ebx]
jmp 0x100207ae
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x100207bf
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x100207d7
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Current_Session
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 5
cmp dword [ebx + 0x14], 8
jb 0x100207fd
mov eax, dword [ebx]
jmp 0x100207ff
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x10020810
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x10020828
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Last_Tabs
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 6
cmp dword [ebx + 0x14], 8
jb 0x1002084e
mov eax, dword [ebx]
jmp 0x10020850
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x10020861
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x10020879
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Last_Session
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 7
cmp dword [ebx + 0x14], 8
jb 0x1002089f
mov eax, dword [ebx]
jmp 0x100208a1
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x100208b2
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x100208ca
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Visited_Links
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 8
cmp dword [ebx + 0x14], 8
jb 0x100208f0
mov eax, dword [ebx]
jmp 0x100208f2
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x10020903
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x1002091b
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Archived_History_journal
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 9
cmp dword [ebx + 0x14], 8
jb 0x10020941
mov eax, dword [ebx]
jmp 0x10020943
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x10020954
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x1002096c
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.History_Provider_Cache
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 0xa
cmp dword [ebx + 0x14], 8
jb 0x10020992
mov eax, dword [ebx]
jmp 0x10020994
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x100209a5
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x100209bd
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Top_Sites
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 0xb
cmp dword [ebx + 0x14], 8
jb 0x100209e3
mov eax, dword [ebx]
jmp 0x100209e5
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x100209f6
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x10020a0e
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Top_Sites_journal
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 0xc
cmp dword [ebx + 0x14], 8
jb 0x10020a34
mov eax, dword [ebx]
jmp 0x10020a36
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x10020a47
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x10020a5f
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Shortcuts
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 0xd
cmp dword [ebx + 0x14], 8
jb 0x10020a85
mov eax, dword [ebx]
jmp 0x10020a87
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x10020a98
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe4], 8
jb 0x10020ab0
push dword [ebp - 0xf8]
call esi
add esp, 4
push str.Shortcuts_journal
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
call fcn.10058b60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 0xe
cmp dword [ebx + 0x14], 8
jb 0x10020ad6
mov eax, dword [ebx]
jmp 0x10020ad8
mov eax, ebx
push eax
call edi
cmp eax, 1
jne 0x10020ae9
push ebx
lea ecx, [ebp - 0x30]
call fcn.10012e10
cmp dword [ebp - 0xe4], 8
jb 0x10020afd
push dword [ebp - 0xf8]
call esi
add esp, 4
mov ecx, dword [ebp - 0xe0]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x1c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x60]
push eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
call fcn.1002be10
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x10020b53
push dword [ebp - 0x5c]
push ebx
call fcn.1000db40
push ebx
call esi
add esp, 4
xor eax, eax
xor bl, bl
mov dword [ebp - 0x7c], 7
mov dword [ebp - 0x80], 0
mov word [ebp - 0x90], ax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0xdc]
lea edx, [ebp - 0x90]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
test al, al
je 0x10020b95
lea ecx, [ebp - 0x90]
call fcn.10054990
mov bl, al
push str.History
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x78]
call fcn.10058b60
add esp, 4
mov byte [ebp - 4], 0x12
test bl, bl
jne 0x10020e87
cmp dword [ebp - 0x64], 8
lea eax, [ebp - 0x78]
cmovae eax, dword [ebp - 0x78]
push eax
call edi
cmp eax, 1
jne 0x10020e87
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x50], 0
call dword [sym.imp.sqlite3.dll_public:_void___thiscall_CppSQLite3DB::constructor_void_]
push 0xfde9
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x14
call fcn.10053260
add esp, 4
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 0x10
jb 0x10020c01
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x54]
call dword [sym.imp.sqlite3.dll_public:_void___thiscall_CppSQLite3DB::open_char_const___bool_]
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x14
call fcn.10001a90
push 0x3e8
lea ecx, [ebp - 0x54]
call dword [sym.imp.sqlite3.dll_public:_void___thiscall_CppSQLite3DB::setBusyTimeout_int_]
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0x120], str.segments
mov dword [ebp - 0x11c], str.visit
mov dword [ebp - 0x118], str.keyword_search_terms
mov dword [ebp - 0x114], str.downloads
mov dword [ebp - 0x110], str.segment_usage
mov dword [ebp - 0x10c], str.urls
xor edi, edi
mov dword [ebp - 0xfc], edi
cmp edi, 6
jae 0x10020e4d
mov ebx, dword [ebp + edi*4 - 0x120]
push ebx
lea eax, [ebp - 0xc0]
push str.select__from__s_limit_1
push eax
call fcn.10063730
add esp, 0xc
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0xac], 0x10
lea eax, [ebp - 0xc0]
cmovae eax, dword [ebp - 0xc0]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call dword [sym.imp.sqlite3.dll_public:_class_CppSQLite3Statement___thiscall_CppSQLite3DB::compileStatement_char_const__]
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
call dword [sym.imp.sqlite3.dll_public:_class_CppSQLite3Query___thiscall_CppSQLite3Statement::execQuery_void_]
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x19
call dword [sym.imp.sqlite3.dll_public:_bool___thiscall_CppSQLite3Query::eof_void_]
test al, al
jne 0x10020dde
push ebx
lea ecx, [ebp - 0xf8]
call fcn.10001a30
push ecx
lea edx, [ebp - 0xf8]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x1a
call fcn.10053380
add esp, 4
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], 8
jb 0x10020d3e
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x138]
call fcn.10008e70
mov ebx, dword [ebp - 0xe0]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x78]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x1c
call fcn.1002c010
cmp dword [ebp - 0x124], 8
jb 0x10020d7a
push dword [ebp - 0x138]
call esi
add esp, 4
xor eax, eax
cmp dword [ebp - 0x13c], 8
mov dword [ebp - 0x124], 7
mov dword [ebp - 0x128], 0
mov word [ebp - 0x138], ax
jb 0x10020dab
push dword [ebp - 0x150]
call esi
add esp, 4
xor eax, eax
cmp dword [ebp - 0xe4], 0x10
mov dword [ebp - 0x13c], 7
mov dword [ebp - 0x140], 0
mov word [ebp - 0x150], ax
jb 0x10020de4
push dword [ebp - 0xf8]
call esi
add esp, 4
jmp 0x10020de4
mov ebx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x18
call dword [sym.imp.sqlite3.dll_public_virtual:_void___thiscall_CppSQLite3Query::destructor_void_]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x17
call dword [sym.imp.sqlite3.dll_public_virtual:_void___thiscall_CppSQLite3Statement::destructor_void_]
mov dword [ebp - 4], 0x16
jmp 0x10020e2f
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0xac], 0x10
jb 0x10020e47
push dword [ebp - 0xc0]
call esi
add esp, 4
inc edi
jmp 0x10020c6e
mov dword [ebp - 4], 0x13
jmp 0x10020e6f
lea ecx, [ebp - 0x54]
call dword [sym.imp.sqlite3.dll_public:_void___thiscall_CppSQLite3DB::close_void_]
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x12
call dword [sym.imp.sqlite3.dll_public_virtual:_void___thiscall_CppSQLite3DB::destructor_void_]
jmp 0x10020e8d
mov ebx, dword [ebp - 0xe0]
cmp dword [ebp - 0x64], 8
jb 0x10020e9b
push dword [ebp - 0x78]
call esi
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7c], 8
mov dword [ebp - 0x64], 7
mov dword [ebp - 0x68], 0
mov word [ebp - 0x78], ax
jb 0x10020ec4
push dword [ebp - 0x90]
call esi
add esp, 4
mov ecx, dword [ebp - 0x104]
push ebx
push dword [ebp - 0x108]
call fcn.1001f0a0
mov byte [ebp - 4], 0
cmp dword [ebp - 0x34], 8
jb 0x10020ef0
push dword [ebp - 0x48]
call esi
add esp, 4
jmp 0x10020ef0
mov esi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x94], 8
jb 0x10020f0f
push dword [ebp - 0xa8]
call esi
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1006e4e6
mov esp, ebp
pop ebp
ret