Function at 0x4c7450
Capabilities:
Get common file path

Disassembly:
sub esp, 0x828
mov eax, dword [0x704dd8]
xor eax, esp
mov dword [esp + 0x824], eax
push ebp
push esi
push edi
xor eax, eax
mov esi, ecx
push 0x206
push eax
lea ecx, [esp + 0x222]
push ecx
mov dword [esi + 0x14], 0
mov dword [esp + 0x18], 1
mov word [esp + 0x224], ax
call fcn.004e9ba0
add esp, 0xc
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [eax + 0x616550]
mov word [esp + eax + 0x218], cx
add eax, 2
test cx, cx
jne 0x4c74a0
lea eax, [esp + 0x218]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4c74c1
mov edx, dword [str.1.0.1.0528]
mov ecx, dword [0x614670]
mov dword [eax], edx
mov edx, dword [0x614674]
mov dword [eax + 4], ecx
mov ecx, dword [0x614678]
mov dword [eax + 8], edx
mov edx, dword [0x61467c]
mov dword [eax + 0xc], ecx
mov cx, word [0x614680]
mov dword [eax + 0x10], edx
mov word [eax + 0x14], cx
lea eax, [esp + 0x218]
add eax, 0xfffffffe
mov edi, edi
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4c7510
mov edx, dword [str.0416]
mov ecx, dword [0x616548]
mov edi, dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov dword [eax], edx
mov dx, word [0x61654c]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [esp + 0x218]
push eax
push 1
push 0xf001f
call edi
mov dword [esi + 0xc], eax
test eax, eax
jne 0x4c7768
mov ebp, dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
lea ecx, [esp + 0x218]
push ecx
push 0x9c
push eax
push 4
push eax
push 0xffffffffffffffff
mov dword [esp + 0x24], eax
call ebp
mov dword [esi + 0xc], eax
test eax, eax
jne 0x4c7768
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x42a]
push eax
mov word [esp + 0x42c], dx
call fcn.004e9ba0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x63e]
push edx
mov word [esp + 0x640], cx
call fcn.004e9ba0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x32]
push ecx
mov word [esp + 0x34], ax
call fcn.004e9ba0
add esp, 0x24
lea edx, [esp + 0x420]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push str.0416
push str.1.0.1.0528
push 0x5fea14
lea eax, [esp + 0x42c]
push eax
lea ecx, [esp + 0x638]
push str._s_s_s_s
push ecx
call fcn.00403b80
add esp, 0x18
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x616550]
mov word [esp + eax + 0x10], cx
add eax, 2
test cx, cx
jne 0x4c7620
lea eax, [esp + 0x10]
add eax, 0xfffffffe
jmp 0x4c7640
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4c7640
mov edx, dword [0x616520]
mov ecx, dword [0x616524]
mov dword [eax], edx
mov edx, dword [0x616528]
mov dword [eax + 4], ecx
mov cx, word [0x61652c]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
lea eax, [esp + 0x10]
add eax, 0xfffffffe
jmp 0x4c7680
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4c7680
mov edx, dword [str.1.0.1.0528]
mov ecx, dword [0x614670]
mov dword [eax], edx
mov edx, dword [0x614674]
mov dword [eax + 4], ecx
mov ecx, dword [0x614678]
mov dword [eax + 8], edx
mov edx, dword [0x61467c]
mov dword [eax + 0xc], ecx
mov cx, word [0x614680]
mov dword [eax + 0x10], edx
mov word [eax + 0x14], cx
lea eax, [esp + 0x10]
add eax, 0xfffffffe
lea ebx, [ebx]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4c76d0
mov edx, dword [str.0416]
mov ecx, dword [0x616548]
mov dword [eax], edx
mov dx, word [0x61654c]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [esp + 0x10]
push eax
push 1
push 0xf001f
mov dword [esi + 0x14], 1
call edi
mov dword [esi + 0xc], eax
test eax, eax
jne 0x4c7768
lea ecx, [esp + 0x10]
push ecx
push 1
push 6
call edi
mov dword [esi + 0xc], eax
test eax, eax
jne 0x4c7768
push eax
push 0x80
push 4
push eax
push 3
push 0x10000000
lea edx, [esp + 0x640]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x4c77c7
lea eax, [esp + 0x10]
push eax
push 0x9c
push 0
push 4
push 0
push edi
call ebp
push edi
mov dword [esi + 0xc], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4c77c7
push 0
push 0
push 0
push 0xf001f
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [esi + 0x10], eax
test eax, eax
je 0x4c77b6
cmp dword [esp + 0xc], 0
mov dword [esi + 0x28], eax
jne 0x4c7799
mov ecx, eax
call fcn.004c7240
pop edi
pop esi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x824]
xor ecx, esp
call fcn.004e8c89
add esp, 0x828
ret
mov ecx, dword [esi + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [esi + 0xc], 0
mov ecx, dword [esp + 0x830]
pop edi
pop esi
pop ebp
xor ecx, esp
xor eax, eax
call fcn.004e8c89
add esp, 0x828
ret