Function at 0x42d180
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3018
call fcn.0054a430
mov eax, dword [0x5dbcc8]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
push 0x27ff
lea eax, [ebp - 0x300b]
push 0
push eax
mov esi, ecx
mov byte [ebp - 0x300c], 0
call fcn.00549e40
add esp, 0xc
push 0x3ff
lea ecx, [ebp - 0x80b]
push 0
push ecx
mov byte [ebp - 0x80c], 0
call fcn.00549e40
add esp, 0xc
push 0x3ff
lea edx, [ebp - 0x40b]
push 0
push edx
mov byte [ebp - 0x40c], 0
call fcn.00549e40
add esp, 0xc
push 1
push 0x23
lea eax, [ebp - 0x80c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push str.1905Cache2
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x42d24b
lea ebx, [eax + eax]
mov eax, ebx
call fcn.0054bbf0
mov edi, esp
test edi, edi
je 0x42d24b
push 0
push 0
push ebx
push edi
push 0xffffffffffffffff
push str.1905Cache2
push 0
push 3
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, edi
jmp 0x42d24d
xor eax, eax
push str.LocalData.db
push eax
lea ecx, [ebp - 0x80c]
push ecx
lea edx, [ebp - 0x300c]
push str._s_s_s
push edx
call fcn.00546876
mov eax, dword [ebp + 8]
add esp, 0x14
test eax, eax
jne 0x42d2d3
mov ebx, dword [esi + 0x3c]
test ebx, ebx
jne 0x42d28e
push eax
push str.delete_from_LookedTableNew_where_FilmID_s
lea eax, [ebp - 0x40c]
push eax
jmp 0x42d31c
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x42d2ae
xor eax, eax
push eax
push str.delete_from_LookedTableNew_where_FilmID_s
lea eax, [ebp - 0x40c]
push eax
jmp 0x42d31c
lea edi, [eax + eax]
mov eax, edi
call fcn.0054bbf0
mov eax, esp
push 3
push edi
push ebx
push eax
call fcn.0040c9b0
push eax
push str.delete_from_LookedTableNew_where_FilmID_s
lea eax, [ebp - 0x40c]
push eax
jmp 0x42d31c
cmp eax, 1
jne 0x42d324
mov ebx, dword [esi + 0xe4]
test ebx, ebx
jne 0x42d2e6
xor eax, eax
jmp 0x42d30f
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x42d2f9
xor eax, eax
jmp 0x42d30f
lea edi, [eax + eax]
mov eax, edi
call fcn.0054bbf0
mov eax, esp
push 3
push edi
push ebx
push eax
call fcn.0040c9b0
push eax
push str.delete_from_LookedTableNew_where_FilmID_s
lea ecx, [ebp - 0x40c]
push ecx
call fcn.00546876
add esp, 0xc
lea edx, [ebp - 0x3010]
push edx
lea eax, [ebp - 0x300c]
xor edi, edi
push eax
mov dword [ebp - 0x3010], edi
call dword [sym.imp.sqlite3.dll_sqlite3_open]
add esp, 8
test eax, eax
jne 0x42d38a
mov eax, dword [ebp - 0x3010]
lea ecx, [ebp - 0x3014]
push ecx
push esi
push edi
lea edx, [ebp - 0x40c]
push edx
push eax
mov dword [ebp - 0x3014], edi
call dword [sym.imp.sqlite3.dll_sqlite3_exec]
add esp, 0x14
test eax, eax
je 0x42d37a
mov ecx, dword [ebp - 0x3010]
push ecx
jmp 0x42d381
mov edx, dword [ebp - 0x3010]
push edx
call dword [sym.imp.sqlite3.dll_sqlite3_close]
add esp, 4
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0x4a0]
mov edx, dword [eax + 0xc]
add ecx, 0x4a0
call edx
test eax, eax
jle 0x42d47f
jmp 0x42d3b0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0x4a0]
mov edx, dword [eax]
add ecx, 0x4a0
push edi
call edx
mov ebx, eax
mov eax, dword [ebp + 8]
test eax, eax
jne 0x42d43b
test ebx, ebx
je 0x42d462
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x42d4f7
mov eax, dword [ebx + 0x4f8]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42d40c
test dx, dx
je 0x42d408
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42d40c
add eax, 4
add ecx, 4
test dx, dx
jne 0x42d3e6
xor eax, eax
jmp 0x42d411
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42d462
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx + 0x18]
add ecx, 0x4a0
push ebx
call eax
dec dword [esi + 0x138]
push 0
push 1
push 1
jmp 0x42d5d4
cmp eax, 1
jne 0x42d462
test ebx, ebx
je 0x42d462
lea eax, [esi + 0xe4]
push eax
lea ecx, [ebx + 0x5a0]
push ecx
call fcn.00415ae0
add esp, 8
test al, al
jne 0x42d501
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx + 0xc]
add ecx, 0x4a0
inc edi
call eax
cmp edi, eax
jl 0x42d3b0
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx + 0xc]
add ecx, 0x4a0
xor ebx, ebx
call eax
test eax, eax
jle 0x42d5d9
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx]
add ecx, 0x4a0
push ebx
call eax
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x42d54c
test eax, eax
je 0x42d594
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x42d4f7
mov ecx, dword [eax + 0x4f8]
mov di, word [ecx]
cmp di, word [edx]
jne 0x42d527
test di, di
je 0x42d4f3
mov di, word [ecx + 2]
cmp di, word [edx + 2]
jne 0x42d527
add ecx, 4
add edx, 4
test di, di
jne 0x42d4d1
xor ecx, ecx
jmp 0x42d52c
push 0x80004005
call fcn.0040d6e0
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx + 0x18]
add ecx, 0x4a0
push ebx
call eax
dec dword [esi + 0x138]
push 1
push 1
push 1
jmp 0x42d5d4
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x42d594
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 0x4a0]
add ecx, 0x4a0
push eax
mov eax, dword [edx + 0x18]
call eax
push 0
jmp 0x42d5ca
cmp ecx, 1
jne 0x42d594
test eax, eax
je 0x42d594
mov edx, dword [esi + 0xe4]
test edx, edx
je 0x42d4f7
mov ecx, dword [eax + 0x5a0]
mov di, word [ecx]
cmp di, word [edx]
jne 0x42d58b
test di, di
je 0x42d587
mov di, word [ecx + 2]
cmp di, word [edx + 2]
jne 0x42d58b
add ecx, 4
add edx, 4
test di, di
jne 0x42d565
xor ecx, ecx
jmp 0x42d590
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x42d5b3
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx + 0xc]
add ecx, 0x4a0
inc ebx
call eax
cmp ebx, eax
jl 0x42d49d
jmp 0x42d5d9
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 0x4a0]
add ecx, 0x4a0
push eax
mov eax, dword [edx + 0x18]
call eax
push 1
dec dword [esi + 0x13c]
push 1
push 0
call fcn.0042cae0
lea esp, [ebp - 0x3024]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00545eb2
mov esp, ebp
pop ebp
ret 4