Function at 0x473148
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x30
push 0
push 0
dec ecx
jne 0x473151
push ecx
xchg dword [ebp - 4], ecx
push ebx
test dl, dl
je 0x473169
add esp, 0xfffffff0
call fcn.00403164
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4735d1
push dword fs:[eax]
mov dword fs:[eax], esp
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00421a1c
mov dl, 1
mov eax, dword [0x40fb90]
call fcn.00402df4
mov edx, dword [ebp - 4]
mov dword [edx + 0x28], eax
push 0x104
lea eax, [ebp - 0x119]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea eax, [ebp - 0x124]
lea edx, [ebp - 0x119]
mov ecx, 0x105
call fcn.00403d1c
mov ecx, dword [ebp - 0x124]
lea eax, [ebp - 0x120]
mov edx, 0x473600
call fcn.00403db8
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0x104
lea eax, [ebp - 0x119]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
lea eax, [ebp - 0x12c]
lea edx, [ebp - 0x119]
mov ecx, 0x105
call fcn.00403d1c
mov ecx, dword [ebp - 0x12c]
lea eax, [ebp - 0x128]
mov edx, 0x473614
call fcn.00403db8
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x46fe6c]
call fcn.0045b2bc
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x473417
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x473628
mov eax, dword [ebp - 0x10]
call fcn.0045b600
test al, al
je 0x473401
lea eax, [ebp - 0x130]
push eax
xor ecx, ecx
mov edx, 0x473674
mov eax, dword [ebp - 0x10]
call fcn.0046fec4
cmp dword [ebp - 0x130], 0
je 0x4732cb
lea eax, [ebp - 0x138]
push eax
mov ecx, 0x473684
mov edx, 0x473674
mov eax, dword [ebp - 0x10]
call fcn.0046fec4
mov ecx, dword [ebp - 0x138]
lea eax, [ebp - 0x134]
mov edx, 0x4736a0
call fcn.00403db8
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x13c]
push eax
xor ecx, ecx
mov edx, 0x4736b0
mov eax, dword [ebp - 0x10]
call fcn.0046fec4
cmp dword [ebp - 0x13c], 0
je 0x47332a
lea eax, [ebp - 0x144]
push eax
mov ecx, 0x4736c0
mov edx, 0x4736b0
mov eax, dword [ebp - 0x10]
call fcn.0046fec4
mov ecx, dword [ebp - 0x144]
lea eax, [ebp - 0x140]
mov edx, 0x4736dc
call fcn.00403db8
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x148]
push eax
xor ecx, ecx
mov edx, 0x4736f0
mov eax, dword [ebp - 0x10]
call fcn.0046fec4
cmp dword [ebp - 0x148], 0
je 0x473389
lea eax, [ebp - 0x150]
push eax
mov ecx, 0x473704
mov edx, 0x4736f0
mov eax, dword [ebp - 0x10]
call fcn.0046fec4
mov ecx, dword [ebp - 0x150]
lea eax, [ebp - 0x14c]
mov edx, 0x47371c
call fcn.00403db8
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x154]
push eax
xor ecx, ecx
mov edx, 0x473730
mov eax, dword [ebp - 0x10]
call fcn.0046fec4
cmp dword [ebp - 0x154], 0
je 0x4733f9
lea eax, [ebp - 0x160]
push eax
mov ecx, 0x473740
mov edx, 0x473730
mov eax, dword [ebp - 0x10]
call fcn.0046fec4
mov eax, dword [ebp - 0x160]
lea edx, [ebp - 0x15c]
call fcn.00408dd8
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0x158]
mov edx, 0x473764
call fcn.00403db8
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x10]
call fcn.0045b368
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47341e
mov eax, dword [ebp - 0x10]
call fcn.00402e24
ret