Function at 0x495244
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 4], edx
mov edi, 0xc9f458
mov esi, 0xc9f45c
xor eax, eax
push ebp
push 0x4955cb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x18]
mov dword [0x49c728], eax
mov eax, dword [ebp + 0x1c]
mov dword [0x49c72c], eax
mov eax, dword [ebp + 0x10]
mov dword [0x49c730], eax
mov eax, dword [ebp + 0x14]
mov dword [0x49c734], eax
mov eax, dword [ebp - 4]
mov dword [0x49c738], eax
mov dword [0x49c73c], ebx
mov dword [ebp - 0xc], 6
mov ebx, 0xc9f428
mov dl, 1
mov eax, dword [0x416fd8]
call fcn.00403bf8
mov dword [ebx], eax
add ebx, 4
dec dword [ebp - 0xc]
jne 0x4952b5
mov dword [ebp - 0xc], 6
mov ebx, 0xc9f440
mov dl, 1
mov eax, dword [0x416fd8]
call fcn.00403bf8
mov dword [ebx], eax
add ebx, 4
dec dword [ebp - 0xc]
jne 0x4952d7
lea edx, [ebp - 0x14]
mov eax, dword [0x49cc54]
mov eax, dword [eax]
call fcn.0045a7b8
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00409b08
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.00404aac
mov eax, dword [edi]
call fcn.00404d18
mov edx, dword [edi]
cmp byte [edx + eax - 1], 0x5c
je 0x49532d
mov eax, edi
mov edx, 0x4955e8
call fcn.00404d20
mov eax, esi
mov edx, 0x104
call fcn.004050a4
push 0x104
mov eax, dword [esi]
call fcn.00404f18
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
mov eax, dword [esi]
call fcn.00404f18
call fcn.00409cac
mov edx, eax
mov eax, esi
call fcn.004050a4
mov eax, dword [esi]
call fcn.00404d18
mov edx, dword [esi]
cmp byte [edx + eax - 1], 0x5c
je 0x49537c
mov eax, esi
mov edx, 0x4955e8
call fcn.00404d20
mov eax, 0xc9f460
mov edx, 0x104
call fcn.004050a4
push 0x104
mov eax, dword [0xc9f460]
call fcn.00404f18
push eax
call sub.kernel32.dll_GetSystemDirectoryA
mov eax, dword [0xc9f460]
call fcn.00404f18
call fcn.00409cac
mov edx, eax
mov eax, 0xc9f460
call fcn.004050a4
mov eax, dword [0xc9f460]
call fcn.00404d18
mov edx, dword [0xc9f460]
cmp byte [edx + eax - 1], 0x5c
je 0x4953e1
mov eax, 0xc9f460
mov edx, 0x4955e8
call fcn.00404d20
mov eax, 0xc9f464
mov edx, 0x104
call fcn.004050a4
mov eax, dword [0xc9f464]
call fcn.00404f18
push eax
push 0x104
call sub.kernel32.dll_GetTempPathA
mov eax, dword [0xc9f464]
call fcn.00404f18
call fcn.00409cac
mov edx, eax
mov eax, 0xc9f464
call fcn.004050a4
mov eax, dword [0xc9f464]
call fcn.00404d18
mov edx, dword [0xc9f464]
cmp byte [edx + eax - 1], 0x5c
je 0x495446
mov eax, 0xc9f464
mov edx, 0x4955e8
call fcn.00404d20
mov eax, 0xc9f468
mov edx, 0x104
call fcn.004050a4
mov eax, 0xc9f468
mov ecx, 0x4955f4
mov edx, dword [edi]
call fcn.00404d64
mov eax, dword [0xc9f468]
call fcn.00404f18
call fcn.00409cac
mov edx, eax
mov eax, 0xc9f468
call fcn.004050a4
mov eax, dword [0xc9f468]
call fcn.00404d18
mov edx, dword [0xc9f468]
cmp byte [edx + eax - 1], 0x5c
je 0x4954a7
mov eax, 0xc9f468
mov edx, 0x4955e8
call fcn.00404d20
mov eax, dword [0x49c6f4]
call fcn.00404f18
call fcn.00409cac
mov edx, eax
mov eax, 0x49c6f4
call fcn.004050a4
mov eax, dword [0x49c6f4]
call fcn.00404d18
mov edx, dword [0x49c6f4]
cmp byte [edx + eax - 1], 0x2f
je 0x4954e8
mov eax, 0x49c6f4
mov edx, 0x495604
call fcn.00404d20
mov dword [ebp - 0xc], 6
mov ebx, 0x49c6b8
mov esi, 0xc9f428
mov ecx, dword [ebx]
lea eax, [ebp - 0x18]
mov edx, dword [edi]
call fcn.00404d64
mov eax, dword [ebp - 0x18]
call fcn.0040982c
test al, al
je 0x495527
mov ecx, dword [ebx]
lea eax, [ebp - 0x1c]
mov edx, dword [edi]
call fcn.00404d64
mov edx, dword [ebp - 0x1c]
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x68]
add esi, 4
add ebx, 4
dec dword [ebp - 0xc]
jne 0x4954f9
mov dword [ebp - 0xc], 6
mov ebx, 0xc9f428
mov eax, dword [ebx]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
cmp esi, 0
jl 0x495574
lea ecx, [ebp - 0x20]
mov edx, esi
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x20]
call fcn.00404d18
test eax, eax
jne 0x49556e
mov edx, esi
mov eax, dword [ebx]
mov ecx, dword [eax]
call dword [ecx + 0x48]
dec esi
cmp esi, 0xffffffff
jne 0x49554d
add ebx, 4
dec dword [ebp - 0xc]
jne 0x49553e
mov eax, 0xc9f420
mov edx, 0x495610
call fcn.00404aac
mov byte [0xc9f424], 0
mov eax, dword [ebp + 8]
mov dword [0xc9f888], eax
mov eax, dword [ebp + 0xc]
mov dword [0xc9f88c], eax
call fcn.004957f4
xor eax, eax
mov dword [0xc9f884], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4955d2
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.00404a7c
ret