Function at 0x6cc128
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x4b
push 0
push 0
dec ecx
jne 0x6cc131
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov ebx, ecx
mov esi, edx
mov edi, eax
xor eax, eax
push ebp
push 0x6cc59d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.00409c60
mov word [ebp - 0x20a], 0
push 0
push esi
lea eax, [ebp - 0x20a]
push eax
push edi
call sub.shell32.dll_SHGetSpecialFolderPathW
test eax, eax
je 0x6cc188
mov eax, ebx
lea edx, [ebp - 0x20a]
mov ecx, 0x105
call fcn.0040ac78
mov eax, dword [ebx]
test eax, eax
je 0x6cc193
sub eax, 4
mov eax, dword [eax]
cmp eax, 2
jg case.0x6cc1af.27
add esi, 0xffffffe6
cmp esi, 0x11
ja case.0x6cc1af.27
movzx esi, byte [esi + 0x6cc1b6]
jmp dword [esi*4 + 0x6cc1c8]
lea edx, [ebp - 0x210]
mov eax, 0x6cc5b8
call fcn.00459d40
mov eax, dword [ebp - 0x210]
mov edx, ebx
call fcn.00450c10
cmp dword [ebx], 0
jne case.0x6cc1af.27
push 0x6cc5d0
call sub.kernel32.dll_GetModuleHandleW
lea edx, [ebp - 0x214]
call fcn.0045914c
mov eax, dword [ebp - 0x214]
mov edx, ebx
call fcn.00452718
mov eax, dword [0x718064]
cmp dword [eax], 5
jle 0x6cc25f
push dword [ebx]
push 0x6cc5f8
lea eax, [ebp - 0x218]
call fcn.006cbf68
push dword [ebp - 0x218]
mov eax, ebx
mov edx, 3
call fcn.0040aeb0
jmp case.0x6cc1af.27
push dword [ebx]
push 0x6cc614
lea eax, [ebp - 0x21c]
call fcn.006cbf68
push dword [ebp - 0x21c]
mov eax, ebx
mov edx, 3
call fcn.0040aeb0
jmp case.0x6cc1af.27
call fcn.006cdf54
test al, al
je 0x6cc2b0
lea edx, [ebp - 0x220]
mov eax, 0x6cc654
call fcn.00459d40
mov eax, dword [ebp - 0x220]
mov edx, ebx
call fcn.00450c10
jmp 0x6cc2cd
lea edx, [ebp - 0x224]
mov eax, 0x6cc684
call fcn.00459d40
mov eax, dword [ebp - 0x224]
mov edx, ebx
call fcn.00450c10
cmp dword [ebx], 0
jne case.0x6cc1af.27
push 0x6cc5d0
call sub.kernel32.dll_GetModuleHandleW
lea edx, [ebp - 0x228]
call fcn.0045914c
mov eax, dword [ebp - 0x228]
mov edx, ebx
call fcn.00452718
call fcn.006cdf54
test al, al
je 0x6cc312
mov eax, ebx
mov edx, 0x6cc6ac
call fcn.0040add0
jmp case.0x6cc1af.27
mov eax, ebx
mov edx, 0x6cc6e4
call fcn.0040add0
jmp case.0x6cc1af.27
call fcn.006cdf54
test al, al
je 0x6cc34b
lea edx, [ebp - 0x22c]
mov eax, 0x6cc710
call fcn.00459d40
mov eax, dword [ebp - 0x22c]
mov edx, ebx
call fcn.00450c10
jmp 0x6cc368
lea edx, [ebp - 0x230]
mov eax, 0x6cc74c
call fcn.00459d40
mov eax, dword [ebp - 0x230]
mov edx, ebx
call fcn.00450c10
cmp dword [ebx], 0
jne case.0x6cc1af.27
push 0x6cc5d0
call sub.kernel32.dll_GetModuleHandleW
lea edx, [ebp - 0x234]
call fcn.0045914c
mov eax, dword [ebp - 0x234]
mov edx, ebx
call fcn.00452718
call fcn.006cdf54
test al, al
je 0x6cc3ad
mov eax, ebx
mov edx, 0x6cc780
call fcn.0040add0
jmp case.0x6cc1af.27
mov eax, ebx
mov edx, 0x6cc7d0
call fcn.0040add0
jmp case.0x6cc1af.27
lea edx, [ebp - 0x238]
mov eax, 0x6cc814
call fcn.00459d40
mov eax, dword [ebp - 0x238]
mov edx, ebx
call fcn.00450c10
cmp dword [ebx], 0
jne case.0x6cc1af.27
push 0x6cc5d0
call sub.kernel32.dll_GetModuleHandleW
lea edx, [ebp - 0x23c]
call fcn.0045914c
mov eax, dword [ebp - 0x23c]
mov edx, ebx
call fcn.00452718
mov eax, dword [0x718064]
cmp dword [eax], 5
jle 0x6cc43e
push dword [ebx]
push 0x6cc5f8
lea eax, [ebp - 0x240]
call fcn.006cbf68
push dword [ebp - 0x240]
push 0x6cc830
mov eax, ebx
mov edx, 4
call fcn.0040aeb0
jmp case.0x6cc1af.27
push dword [ebx]
push 0x6cc614
lea eax, [ebp - 0x244]
call fcn.006cbf68
push dword [ebp - 0x244]
push 0x6cc860
mov eax, ebx
mov edx, 4
call fcn.0040aeb0
jmp case.0x6cc1af.27
lea edx, [ebp - 0x248]
mov eax, 0x6cc890
call fcn.00459d40
mov eax, dword [ebp - 0x248]
mov edx, ebx
call fcn.00450c10
cmp dword [ebx], 0
jne case.0x6cc1af.27
push 0x6cc5d0
call sub.kernel32.dll_GetModuleHandleW
lea edx, [ebp - 0x24c]
call fcn.0045914c
mov eax, dword [ebp - 0x24c]
mov edx, ebx
call fcn.00452718
mov eax, dword [0x718064]
cmp dword [eax], 5
jle 0x6cc4ec
push dword [ebx]
push 0x6cc5f8
lea eax, [ebp - 0x250]
call fcn.006cbf68
push dword [ebp - 0x250]
push 0x6cc8b8
mov eax, ebx
mov edx, 4
call fcn.0040aeb0
jmp case.0x6cc1af.27
push dword [ebx]
push 0x6cc614
lea eax, [ebp - 0x254]
call fcn.006cbf68
push dword [ebp - 0x254]
push 0x6cc8e4
mov eax, ebx
mov edx, 4
call fcn.0040aeb0
jmp case.0x6cc1af.27
lea edx, [ebp - 0x258]
mov eax, 0x6cc934
call fcn.00459d40
mov eax, dword [ebp - 0x258]
mov edx, ebx
call fcn.00450c10
cmp dword [ebx], 0
jne case.0x6cc1af.27
push 0x6cc5d0
call sub.kernel32.dll_GetModuleHandleW
lea edx, [ebp - 0x25c]
call fcn.0045914c
mov eax, dword [ebp - 0x25c]
mov edx, ebx
call fcn.00452718
mov eax, dword [0x718064]
cmp dword [eax], 5
jle 0x6cc573
mov eax, ebx
mov edx, 0x6cc958
call fcn.0040add0
jmp case.0x6cc1af.27
mov eax, ebx
mov edx, 0x6cc980
call fcn.0040add0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6cc5a4
lea eax, [ebp - 0x25c]
mov edx, 0x14
call fcn.00409cc0
ret