Function at 0x10014c6b
Capabilities:
Get common file path

Disassembly:
push ebp
sub esp, 0x618
lea ebp, [esp - 4]
mov eax, dword [0x100598e8]
xor eax, ebp
mov dword [ebp + 0x618], eax
push 0x14
mov eax, 0x10047708
call fcn.1003177f
xor eax, eax
mov esi, 0x206
push esi
mov word [ebp], ax
xor edi, edi
lea eax, [ebp + 2]
push edi
push eax
mov ebx, ecx
call fcn.10031310
xor eax, eax
push esi
mov word [ebp + 0x208], ax
lea eax, [ebp + 0x20a]
push edi
push eax
call fcn.10031310
xor eax, eax
push esi
mov word [ebp + 0x410], ax
lea eax, [ebp + 0x412]
push edi
push eax
call fcn.10031310
add esp, 0x24
mov esi, 0x104
push esi
lea eax, [ebp]
push eax
mov dword [ebp - 0x18], 0x1004b73c
mov dword [ebp - 0x14], 0x1004cb48
mov dword [ebp - 0x20], 0x1004cb34
mov dword [ebp - 0x1c], 0x1004cb14
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x1004cb00
push esi
lea eax, [ebp]
push eax
call fcn.1000e449
cmp dword [0x1005d6b0], edi
je 0x10014dc0
lea ecx, [ebp - 0x14]
call fcn.10022a6f
mov esi, 0x208
push esi
lea eax, [ebp + 0x208]
push edi
push eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], edi
call fcn.10031310
push esi
lea eax, [ebp + 0x410]
push edi
push eax
call fcn.10031310
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
add esp, 0x18
push 0x1004cae4
lea eax, [ebp]
push eax
lea eax, [ebp + 0x208]
push eax
call esi
push 0x1004cab0
push 0x1005bd1c
lea eax, [ebp + 0x410]
push eax
call esi
lea eax, [ebp - 0x10]
push eax
call fcn.10022aae
pop ecx
test eax, eax
je 0x10014daf
mov eax, dword [ebx]
push 0x1004ca94
lea ecx, [ebp + 0x410]
push ecx
lea ecx, [ebp + 0x208]
push ecx
mov ecx, ebx
call dword [eax + 0x34]
push dword [ebp - 0x10]
call fcn.10022b12
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.10022a78
jmp 0x10014efb
mov dword [ebp - 0x10], edi
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov esi, 0x208
push esi
lea eax, [ebp + 0x208]
push 0
push eax
call fcn.10031310
push esi
lea eax, [ebp + 0x410]
push 0
push eax
call fcn.10031310
mov eax, dword [ebp - 0x10]
add esp, 0x18
push dword [ebp + eax - 0x18]
lea eax, [ebp]
push eax
lea eax, [ebp + 0x208]
push eax
call edi
mov eax, dword [ebp - 0x10]
push dword [ebp + eax - 0x18]
lea eax, [ebp + 0x410]
push 0x1005bd1c
push eax
call edi
mov ecx, dword [ebp - 0x10]
push dword [ebp + ecx - 0x20]
mov eax, dword [ebx]
lea ecx, [ebp + 0x410]
push ecx
lea ecx, [ebp + 0x208]
push ecx
mov ecx, ebx
call dword [eax + 0x34]
add dword [ebp - 0x10], 4
cmp dword [ebp - 0x10], 8
jl 0x10014dce
push esi
lea eax, [ebp + 0x208]
push 0
push eax
call fcn.10031310
push esi
lea eax, [ebp + 0x410]
push 0
push eax
call fcn.10031310
add esp, 0x18
push 0x1004ca7c
lea eax, [ebp]
push eax
lea eax, [ebp + 0x208]
push eax
call edi
push 0x1004ca4c
push 0x1005bd1c
lea eax, [ebp + 0x410]
push eax
call edi
mov eax, dword [ebx]
push 0x1004ca7c
lea ecx, [ebp + 0x410]
push ecx
lea ecx, [ebp + 0x208]
push ecx
mov ecx, ebx
call dword [eax + 0x34]
push esi
lea eax, [ebp + 0x208]
push 0
push eax
call fcn.10031310
push esi
lea eax, [ebp + 0x410]
push 0
push eax
call fcn.10031310
add esp, 0x18
mov esi, 0x1004ca34
push esi
lea eax, [ebp]
push eax
lea eax, [ebp + 0x208]
push eax
call edi
push 0x1004ca0c
push 0x1005bd1c
lea eax, [ebp + 0x410]
push eax
call edi
mov eax, dword [ebx]
push esi
lea ecx, [ebp + 0x410]
push ecx
lea ecx, [ebp + 0x208]
push ecx
mov ecx, ebx
call dword [eax + 0x34]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x618]
xor ecx, ebp
call fcn.10031770
add ebp, 0x61c
leave
ret