Function at 0x418f20
Capabilities:
Create directory
Get common file path
Get startup folder
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45b2ec
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x486850]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
xor eax, eax
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x218]
push eax
push 0
push 0
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edi, eax
test edi, edi
js 0x4191a7
xor eax, eax
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
cmp word [ebp - 0x218], ax
jne 0x418fb9
xor ecx, ecx
jmp 0x418fd1
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x418fc2
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00402900
lea edx, [ebp - 0x248]
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 1
call fcn.0042beb0
push str.01BD4FC9_2F86_4706_A62E_774BB7E9D308
mov edx, eax
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 2
call fcn.0040a580
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 3
call fcn.0042beb0
mov esi, eax
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x41906f
cmp dword [ebp - 0x21c], 8
jb 0x419046
push dword [ebp - 0x230]
call fcn.0043d3af
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.004022d0
cmp dword [ebp - 0x24c], 8
jb 0x419086
push dword [ebp - 0x260]
call fcn.0043d3af
add esp, 4
xor eax, eax
cmp dword [ebp - 0x27c], 8
mov dword [ebp - 0x24c], 7
mov dword [ebp - 0x250], 0
mov word [ebp - 0x260], ax
jb 0x4190ba
push dword [ebp - 0x290]
call fcn.0043d3af
add esp, 4
xor eax, eax
cmp dword [ebp - 0x264], 8
mov dword [ebp - 0x27c], 7
mov dword [ebp - 0x280], 0
mov word [ebp - 0x290], ax
jb 0x4190ee
push dword [ebp - 0x278]
call fcn.0043d3af
add esp, 4
xor eax, eax
mov byte [ebp - 4], al
cmp dword [ebp - 0x234], 8
mov dword [ebp - 0x264], 7
mov dword [ebp - 0x268], 0
mov word [ebp - 0x278], ax
jb 0x419125
push dword [ebp - 0x248]
call fcn.0043d3af
add esp, 4
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x41913a
lea eax, [ebp - 0x230]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test esi, esi
jne 0x419171
cmp edi, 0xb7
je 0x419171
test edi, edi
je 0x41916a
jle 0x4191a7
movzx edi, di
or edi, 0x80070000
jmp 0x4191a7
mov edi, 0x8007001f
jmp 0x4191a7
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x419186
lea eax, [ebp - 0x230]
push 6
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x230]
cmp ebx, eax
je 0x4191a5
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
call fcn.004024b0
xor edi, edi
cmp dword [ebp - 0x21c], 8
jb 0x4191be
push dword [ebp - 0x230]
call fcn.0043d3af
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043d3b4
mov esp, ebp
pop ebp
ret