Function at 0x4f0f30
Capabilities:
Get common file path

Disassembly:
sub esp, 0x31c
mov eax, dword [0x6aae14]
xor eax, esp
mov dword [esp + 0x318], eax
push esi
mov esi, dword [esp + 0x324]
push edi
push 0x104
lea eax, [esp + 0x21d]
push 0
push eax
mov byte [esp + 0x224], 0
call fcn.005dfd60
push 0x104
lea ecx, [esp + 0x121]
push 0
push ecx
mov byte [esp + 0x128], 0
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x29]
push 0
push edx
mov byte [esp + 0x30], 0
call fcn.005dfd60
add esp, 0x24
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x74b9f0], 0
mov edi, eax
mov dword [esp + 8], edi
jne 0x4f0fd2
cmp dword [esp + 0x32c], 0
jne 0x4f100e
push 0x74b9d8
mov dword [0x74b9f0], 1
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
cmp dword [esp + 0x32c], 0
jne 0x4f0ffa
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
mov ecx, dword [esp + 0x318]
xor ecx, esp
call fcn.005dfbbe
add esp, 0x31c
ret
cmp dword [0x74b9f0], 0
je 0x4f100e
push 0x74b9d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x68fed4], 0xffffffff
mov byte [esp + 0xc], 0
mov byte [esp + 0x110], 0
mov byte [esp + 0x218], 0
jne 0x4f104d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x68fed4
call fcn.004d9f10
add esp, 0x2c
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebp
test esi, esi
je 0x4f1064
push 0x615764
push esi
jmp 0x4f117b
cmp byte [0x74b8d0], 0
jne 0x4f1171
push 0x105
push 0x74b8d0
call fcn.004ebf90
push 0x74b8d0
call fcn.004e24e0
add esp, 0xc
push 0x612e88
push 0x74b8d0
call ebx
push 0x615764
push 0x74b8d0
call fcn.005e00ad
mov esi, eax
add esp, 8
test esi, esi
jne 0x4f118d
push 0x105
push 0x74b8d0
mov byte [0x74b8d0], al
call fcn.004ebf90
push 0x74b8d0
call fcn.004e24e0
add esp, 0xc
push 0x649038
push 0x74b8d0
call ebx
push 0x615764
push 0x74b8d0
call fcn.005e00ad
mov esi, eax
add esp, 8
test esi, esi
jne 0x4f118d
push 0x74b8d0
push 0x105
mov byte [0x74b8d0], al
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x74b8d0
call fcn.004e24e0
add esp, 4
push 0x612e88
push 0x74b8d0
call ebx
push 0x615764
push 0x74b8d0
call fcn.005e00ad
mov esi, eax
add esp, 8
test esi, esi
jne 0x4f118d
push 0x104
push 0x74b8d0
mov byte [0x74b8d0], al
call fcn.004f0cb0
push 0x74b8d0
call fcn.004e24e0
add esp, 0xc
push 0x612e88
push 0x74b8d0
call ebx
push 0x615764
push 0x74b8d0
call fcn.005e00ad
mov esi, eax
add esp, 8
test esi, esi
je 0x4f12b4
push 0x105
lea eax, [esp + 0x224]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x118]
push ecx
lea edx, [esp + 0x224]
push edx
call fcn.004e1490
push 0
lea eax, [esp + 0x20]
push 1
push eax
call fcn.004eff90
push 0x5000
call fcn.005e20e4
push 0x5000
mov ebp, eax
call fcn.005e20e4
add esp, 0x1c
mov edi, eax
test ebp, ebp
je 0x4f12da
test edi, edi
je 0x4f12d1
mov byte [edi], 0
mov byte [ebp], 0
cmp dword [0x68fed4], 0
je 0x4f122b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x124]
push edx
push 0x649000
push edi
call fcn.005dfb23
add esp, 0x18
jmp 0x4f1252
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor eax, 0xff000000
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x120]
push ecx
push 0x649024
push edi
call fcn.005dfb23
add esp, 0x14
mov eax, dword [esp + 0x334]
lea edx, [esp + 0x338]
push edx
push eax
push ebp
call fcn.005e2cf9
add esp, 0xc
cmp byte [ebp], 0xa
push ebp
push edi
je 0x4f1277
call ebx
jmp 0x4f127d
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0xa
push edi
call fcn.005e0940
add esp, 8
test eax, eax
jne 0x4f1294
push 0x60cc70
push edi
call ebx
push esi
push edi
call fcn.005e2972
push esi
call fcn.005dff6d
push ebp
call fcn.005e0865
push edi
call fcn.005e0865
mov edi, dword [esp + 0x24]
add esp, 0x14
cmp dword [0x74b9f0], 0
je 0x4f12c8
push 0x74b9d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x4f12e7
push ebp
call fcn.005e0865
add esp, 4
test edi, edi
je 0x4f12e7
push edi
call fcn.005e0865
add esp, 4
mov ecx, dword [esp + 0x328]
pop ebp
pop ebx
pop edi
pop esi
xor ecx, esp
call fcn.005dfbbe
add esp, 0x31c
ret