Function at 0x4cc052
Capabilities:
Create directory
Get common file path
Get program files directory
Get startup folder

Disassembly:
push 0x254
mov eax, 0x666f41
call fcn.005b47af
mov ebx, ecx
mov esi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea eax, [ebp - 0x218]
push eax
xor edi, edi
push edi
push edi
push 0x26
push edi
call esi
cmp word [ebp - 0x218], di
jne 0x4cc086
mov eax, edi
jmp 0x4cc093
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
lea edi, [ebx + 0xb4]
push eax
mov ecx, edi
call fcn.0040a315
push 2
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0xc]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetTempPathW]
cmp word [ebp - 0x218], 0
jne 0x4cc0d9
xor eax, eax
jmp 0x4cc0e6
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x3c]
call fcn.0040a315
push 0x104
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.DLL_GetWindowsDirectoryW]
cmp word [ebp - 0x218], 0
jne 0x4cc116
xor eax, eax
jmp 0x4cc123
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
lea ecx, [ebx + 0x24]
push eax
call fcn.0040a315
push str._x86_
call fcn.005ff18e
pop ecx
push eax
push 0xffffffffffffffff
push str._x86_
mov ecx, edi
call fcn.0041203b
cmp eax, 0xffffffff
je 0x4cc182
dec eax
mov ecx, edi
push eax
push 0
lea eax, [ebp - 0x230]
push eax
call fcn.0041210e
push eax
lea ecx, [ebx + 0xcc]
call fcn.0040c133
xor edi, edi
lea ecx, [ebp - 0x230]
push edi
push 1
call fcn.00409de7
jmp 0x4cc198
lea ecx, [ebx + 0xcc]
cmp ecx, edi
je 0x4cc196
push 0xffffffffffffffff
push 0
push edi
call fcn.0040a209
xor edi, edi
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x28
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc1b4
mov eax, edi
jmp 0x4cc1c1
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x54]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x1a
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc1ed
mov eax, edi
jmp 0x4cc1fa
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x6c]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x1c
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc226
mov eax, edi
jmp 0x4cc233
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x84]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x23
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc262
mov eax, edi
jmp 0x4cc26f
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x9c]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push edi
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc29d
mov eax, edi
jmp 0x4cc2aa
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0xe4]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x19
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc2d9
mov eax, edi
jmp 0x4cc2e6
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0xfc]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0xb
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc315
mov eax, edi
jmp 0x4cc322
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x114]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x16
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc351
mov eax, edi
jmp 0x4cc35e
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x12c]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 2
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc38d
mov eax, edi
jmp 0x4cc39a
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x144]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x17
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc3c9
mov eax, edi
jmp 0x4cc3d6
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x15c]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x24
push edi
call esi
xor eax, eax
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], edi
mov word [ebp - 0x230], ax
cmp word [ebp - 0x218], ax
jne 0x4cc41d
mov eax, edi
jmp 0x4cc42a
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.0040a315
push str.System32Tasks
lea eax, [ebp - 0x230]
mov dword [ebp - 4], edi
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.0040bca5
add esp, 0xc
lea ecx, [ebx + 0x1bc]
push eax
call fcn.0040c133
push edi
push 1
lea ecx, [ebp - 0x248]
call fcn.00409de7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
push edi
push 1
call fcn.00409de7
xor eax, eax
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], edi
mov word [ebp - 0x230], ax
cmp word [ebp - 0x218], ax
jne 0x4cc4ad
mov eax, edi
jmp 0x4cc4ba
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.0040a315
push str.Tasks
lea eax, [ebp - 0x230]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.0040bca5
add esp, 0xc
lea ecx, [ebx + 0x1d4]
push eax
call fcn.0040c133
push edi
push 1
lea ecx, [ebp - 0x248]
call fcn.00409de7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
push edi
push 1
call fcn.00409de7
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 7
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc537
mov eax, edi
jmp 0x4cc544
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x1ec]
call fcn.0040a315
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x18
push edi
call esi
cmp word [ebp - 0x218], 0
jne 0x4cc573
mov eax, edi
jmp 0x4cc580
lea eax, [ebp - 0x218]
push eax
call fcn.005ff18e
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x204]
call fcn.0040a315
push str.System32
lea edi, [ebx + 0x24]
lea eax, [ebp - 0x248]
push edi
push eax
call fcn.004290f9
add esp, 0xc
lea esi, [ebx + 0x27c]
mov ecx, esi
push eax
call fcn.0040c133
push 0
push 1
lea ecx, [ebp - 0x248]
call fcn.00409de7
push str.SysWOW64
lea eax, [ebp - 0x248]
push edi
push eax
call fcn.004290f9
add esp, 0xc
lea edi, [ebx + 0x294]
mov ecx, edi
push eax
call fcn.0040c133
push 0
push 1
lea ecx, [ebp - 0x248]
call fcn.00409de7
push str.drivers
lea eax, [ebp - 0x248]
push esi
push eax
call fcn.004290f9
add esp, 0xc
lea ecx, [ebx + 0x24c]
push eax
call fcn.0040c133
push 0
push 1
lea ecx, [ebp - 0x248]
call fcn.00409de7
push str.drivers
lea eax, [ebp - 0x248]
push edi
push eax
call fcn.004290f9
add esp, 0xc
lea ecx, [ebx + 0x264]
push eax
call fcn.0040c133
xor edi, edi
lea ecx, [ebp - 0x248]
push edi
push 1
call fcn.00409de7
mov ecx, ebx
call fcn.004cbe07
xor eax, eax
mov dword [ebp - 0x21c], 7
mov esi, str.clntmp
mov dword [ebp - 0x220], edi
push esi
mov word [ebp - 0x230], ax
call fcn.005ff18e
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.0040a315
lea eax, [ebp - 0x230]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.00598a1f
pop ecx
pop ecx
lea esi, [ebx + 0x234]
push eax
mov ecx, esi
call fcn.0040c133
push edi
push 1
lea ecx, [ebp - 0x248]
call fcn.00409de7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
push edi
push 1
call fcn.00409de7
cmp dword [esi + 0x14], 8
jb 0x4cc6e6
mov esi, dword [esi]
push edi
push esi
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
mov ecx, ebx
call fcn.004cd27a
lea eax, [ebp - 0x248]
mov ecx, ebx
push eax
call fcn.004819af
push eax
lea ecx, [ebx + 0x2c4]
call fcn.0040c133
push edi
push 1
lea ecx, [ebp - 0x248]
call fcn.00409de7
lea eax, [ebp - 0x260]
mov ecx, ebx
push eax
call fcn.00471ffc
push eax
lea ecx, [ebx + 0x2ac]
call fcn.0040c133
push edi
push 1
lea ecx, [ebp - 0x260]
call fcn.00409de7
call fcn.005b4759
ret