Function at 0x468acc
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x468ad4
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x468e93
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x94]
mov edx, 0x94
call fcn.00407478
mov dword [ebp - 0x94], 0x94
lea eax, [ebp - 0x94]
push eax
call sub.kernel32.dll_GetVersionExA
mov eax, dword [ebp - 0x90]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebx + 0xc], eax
movzx eax, word [ebp - 0x88]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x84]
sub eax, 1
jb 0x468b42
je 0x468b51
dec eax
je 0x468b60
jmp 0x468b6d
lea eax, [ebx + 0x10]
mov edx, 0x468eac
call fcn.00404528
jmp 0x468b6d
lea eax, [ebx + 0x10]
mov edx, 0x468ec4
call fcn.00404528
jmp 0x468b6d
lea eax, [ebx + 0x10]
mov edx, 0x468ed8
call fcn.00404528
cmp dword [ebx + 8], 4
jle 0x468b80
lea eax, [ebx + 0x10]
mov edx, 0x468eec
call fcn.00404528
lea edx, [ebp - 0x98]
lea eax, [ebp - 0x80]
call fcn.00409420
mov edx, dword [ebp - 0x98]
lea eax, [ebx + 0x14]
call fcn.00404528
lea eax, [ebx + 0x28]
call fcn.004044d4
lea eax, [ebx + 0x18]
call fcn.004044d4
lea eax, [ebx + 0x1c]
call fcn.004044d4
lea eax, [ebx + 0x24]
call fcn.004044d4
lea eax, [ebx + 0x20]
call fcn.004044d4
mov dl, 1
mov eax, dword [0x461400]
call fcn.004614d0
mov esi, eax
mov edx, 0x80000002
mov eax, esi
call fcn.00461570
xor ecx, ecx
mov edx, 0x468f04
mov eax, esi
call fcn.004615d4
test al, al
je 0x468c27
mov edx, 0x468f44
mov eax, esi
call fcn.00461a20
test al, al
je 0x468c20
mov edx, 0x468f44
lea ecx, [ebp - 0x9c]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0x9c]
lea eax, [ebx + 0x28]
call fcn.00404528
mov eax, esi
call fcn.00461540
cmp byte [0x48ac38], 0
je 0x468d16
xor ecx, ecx
mov edx, 0x468f5c
mov eax, esi
call fcn.004615d4
test al, al
je 0x468df3
mov edx, 0x468f94
mov eax, esi
call fcn.00461a20
test al, al
je 0x468c7a
mov edx, 0x468f94
lea ecx, [ebp - 0xa0]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0xa0]
lea eax, [ebx + 0x18]
call fcn.00404528
mov edx, 0x468fa8
mov eax, esi
call fcn.00461a20
test al, al
je 0x468caa
mov edx, 0x468fa8
lea ecx, [ebp - 0xa4]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0xa4]
lea eax, [ebx + 0x24]
call fcn.00404528
mov edx, 0x468fc8
mov eax, esi
call fcn.00461a20
test al, al
je 0x468cda
mov edx, 0x468fc8
lea ecx, [ebp - 0xa8]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0xa8]
lea eax, [ebx + 0x1c]
call fcn.00404528
mov edx, 0x468fe0
mov eax, esi
call fcn.00461a20
test al, al
je 0x468d0a
mov edx, 0x468fe0
lea ecx, [ebp - 0xac]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0xac]
lea eax, [ebx + 0x20]
call fcn.00404528
mov eax, esi
call fcn.00461540
jmp 0x468df3
xor ecx, ecx
mov edx, 0x468ff4
mov eax, esi
call fcn.004615d4
test al, al
je 0x468df3
mov edx, 0x469028
mov eax, esi
call fcn.00461a20
test al, al
je 0x468d5c
mov edx, 0x469028
lea ecx, [ebp - 0xb0]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0xb0]
lea eax, [ebx + 0x18]
call fcn.00404528
mov edx, 0x468fa8
mov eax, esi
call fcn.00461a20
test al, al
je 0x468d8c
mov edx, 0x468fa8
lea ecx, [ebp - 0xb4]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0xb4]
lea eax, [ebx + 0x24]
call fcn.00404528
mov edx, 0x468fc8
mov eax, esi
call fcn.00461a20
test al, al
je 0x468dbc
mov edx, 0x468fc8
lea ecx, [ebp - 0xb8]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0xb8]
lea eax, [ebx + 0x1c]
call fcn.00404528
mov edx, 0x468fe0
mov eax, esi
call fcn.00461a20
test al, al
je 0x468dec
mov edx, 0x468fe0
lea ecx, [ebp - 0xbc]
mov eax, esi
call fcn.004618a0
mov edx, dword [ebp - 0xbc]
lea eax, [ebx + 0x20]
call fcn.00404528
mov eax, esi
call fcn.00461540
mov eax, ebx
call fcn.00468a1c
mov edi, 0x104
mov eax, edi
call fcn.00409434
mov esi, eax
push edi
push esi
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0xc0]
mov eax, esi
call fcn.00409420
mov edx, dword [ebp - 0xc0]
lea eax, [ebx + 0x34]
call fcn.00404528
push edi
push esi
call sub.kernel32.dll_GetSystemDirectoryA
lea edx, [ebp - 0xc4]
mov eax, esi
call fcn.00409420
mov edx, dword [ebp - 0xc4]
lea eax, [ebx + 0x38]
call fcn.00404528
push esi
push edi
call sub.kernel32.dll_GetTempPathA
lea edx, [ebp - 0xc8]
mov eax, esi
call fcn.00409420
mov edx, dword [ebp - 0xc8]
lea eax, [ebx + 0x30]
call fcn.00404528
mov eax, esi
call fcn.00409480
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x468e9a
lea eax, [ebp - 0xc8]
mov edx, 0xd
call fcn.004044f8
ret