Function at 0x5bf100
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe48
mov eax, dword [0x6eb874]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xe48], ecx
push 0x208
push 0
lea eax, [ebp - 0x61c]
push eax
call fcn.0063a460
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x61c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [ebp - 0x61c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x208
push 0
lea eax, [ebp - 0x414]
push eax
call fcn.0063a460
add esp, 0xc
push 0x6ab2b4
lea ecx, [ebp - 0x61c]
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
cmp dword [ebp + 8], 0
je 0x5bf238
push 0x208
push 0
lea eax, [ebp - 0xe3c]
push eax
call fcn.0063a460
add esp, 0xc
push 1
push 0x19
lea ecx, [ebp - 0xe3c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x208
push 0
lea edx, [ebp - 0xa2c]
push edx
call fcn.0063a460
add esp, 0xc
xor eax, eax
mov byte [ebp - 0xe3d], al
lea ecx, [ebp - 0xe3d]
call fcn.005c5cb0
push eax
lea ecx, [ebp - 0xe3c]
push ecx
lea edx, [ebp - 0xa2c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0xa2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5bf238
xor ecx, ecx
mov byte [ebp - 0xe3e], cl
push 0
push 0
lea edx, [ebp - 0x414]
push edx
lea eax, [ebp - 0xa2c]
push eax
push 0
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0xe3e]
call fcn.005c9190
push eax
call fcn.004bd650
add esp, 0x1c
push 0x208
push 0
lea edx, [ebp - 0x20c]
push edx
call fcn.0063a460
add esp, 0xc
push 1
push 0x17
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
xor ecx, ecx
mov byte [ebp - 0xe3f], cl
lea ecx, [ebp - 0xe3f]
call fcn.005c91e0
push eax
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5bf2a2
lea ecx, [ebp - 0x20c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
xor edx, edx
mov byte [ebp - 0xe40], dl
lea ecx, [ebp - 0xe40]
call fcn.005c80d0
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5bf30b
xor edx, edx
mov byte [ebp - 0xe41], dl
push 0
push 0
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x20c]
push ecx
push 0
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0xe41]
call fcn.005c7dd0
push eax
call fcn.004bd650
add esp, 0x1c
push 0x208
push 0
lea eax, [ebp - 0x824]
push eax
call fcn.0063a460
add esp, 0xc
push 1
push 0x17
lea ecx, [ebp - 0x824]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
xor edx, edx
mov byte [ebp - 0xe42], dl
lea ecx, [ebp - 0xe42]
call fcn.005c6cc0
push eax
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x824]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5bf3cc
push 0x208
push 0
lea edx, [ebp - 0xc34]
push edx
call fcn.0063a460
add esp, 0xc
push 0x6ab2cc
lea eax, [ebp - 0x61c]
push eax
lea ecx, [ebp - 0xc34]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
xor edx, edx
mov byte [ebp - 0xe43], dl
push 1
push 0
lea eax, [ebp - 0xc34]
push eax
lea ecx, [ebp - 0x824]
push ecx
push 0
lea edx, [ebp - 0xc34]
push edx
lea ecx, [ebp - 0xe43]
call fcn.005c6970
push eax
call fcn.004bd650
add esp, 0x1c
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006135ac
mov esp, ebp
pop ebp
ret 4