Function at 0x4001866d
Capabilities:
Create directory
Set file attributes

Disassembly:
mov eax, 0x4007164c
call fcn.4006f3a0
sub esp, 0x62c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x20], edi
and dword [ebp - 4], 0
call fcn.40001ce1
push eax
lea ecx, [ebp - 0x10]
call fcn.40006f05
xor ebx, ebx
lea ecx, [ebp + 8]
inc ebx
push str.client.prefs
mov byte [ebp - 4], bl
call fcn.40006fbb
test eax, eax
jne 0x400186d1
push ecx
mov ecx, esp
lea esi, [ebp - 0x10]
push str.users
call fcn.400069d1
mov ecx, esi
call fcn.4001866d
mov dword [esp], str.settingclient_
jmp 0x400189b1
push str.user.temp
lea ecx, [ebp + 8]
call fcn.40006fbb
test eax, eax
jne 0x4001876a
call fcn.40001ce1
push eax
lea ecx, [ebp - 0x14]
call fcn.40006f05
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.40017eed
call fcn.40017fbc
mov esi, dword [ebp - 0x14]
test al, al
je 0x40018718
lea ecx, [ebp - 0x10]
call fcn.40018487
test al, al
jne 0x40018722
lea edx, [ebp - 0x10]
mov ecx, esi
call fcn.4001821d
push str.temp
lea ecx, [ebp - 0x10]
call fcn.4000d55a
push 0
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x4007ea24
lea ecx, [ebp - 0x10]
call fcn.4000d55a
push 2
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.400088ff
lea ecx, [esi - 0x10]
call fcn.40004636
jmp 0x400189c8
push str.user.boost
lea ecx, [ebp + 8]
call fcn.40006fbb
test eax, eax
jne 0x400188c0
call fcn.40001ce1
push eax
lea ecx, [ebp - 0x1c]
call fcn.40006f05
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.40017eed
push ecx
mov ecx, esp
lea esi, [ebp - 0x10]
push str.user.temp
call fcn.400069d1
mov ecx, esi
call fcn.4001866d
mov ecx, esi
mov dword [esp], str.boost_
call fcn.4000d55a
push 0
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x104
lea eax, [ebp - 0x638]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x638]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x638]
push 0x208
push eax
call fcn.40057780
mov edi, dword [ebp - 0x1c]
lea eax, [ebp - 0x228]
pop ecx
pop ecx
mov esi, 0x101
cmp dword [edi - 0xc], 0
jne 0x40018818
push str.default
jmp 0x40018819
push edi
push esi
push eax
call fcn.40057ae0
add esp, 0xc
lea eax, [ebp - 0x228]
push esi
push eax
call fcn.40057780
pop ecx
pop ecx
lea eax, [ebp - 0x638]
push eax
lea ecx, [ebp - 0x14]
call fcn.400069d1
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x14]
call fcn.4000d55a
call fcn.40001ce1
push eax
lea ecx, [ebp - 0x18]
call fcn.40006f05
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x14]
push eax
call fcn.40048f90
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x10]
push dword [esi - 0xc]
push esi
call fcn.4000e154
push 0
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x4007ea24
lea ecx, [ebp - 0x10]
call fcn.4000d55a
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x10]
push eax
call fcn.400088ff
lea ecx, [esi - 0x10]
call fcn.40004636
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.40004636
lea ecx, [edi - 0x10]
jmp 0x40018760
push str.users
lea ecx, [ebp + 8]
call fcn.40006fbb
test eax, eax
jne 0x400189c6
call fcn.40017fbc
test al, al
je 0x400189a4
call fcn.40001ce1
push eax
lea ecx, [ebp - 0x18]
call fcn.40006f05
push ecx
push ecx
lea edx, [ebp - 0x18]
mov byte [ebp - 4], 6
call fcn.400183eb
mov edi, dword [ebp - 0x18]
pop ecx
pop ecx
lea ecx, [edi - 0x10]
call fcn.400073ec
add eax, 0x10
mov dword [ebp - 0x14], eax
push 0x4007ea24
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.4000d55a
push str.Fenrir_Inc
lea ecx, [ebp - 0x14]
call fcn.4000d55a
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0
push dword [ebp - 0x14]
call esi
push str.Sleipnir
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.40009e4c
pop ecx
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.400088ff
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.40004636
push 0
push dword [ebp - 0x14]
call esi
push 0x4007ea24
lea ecx, [ebp - 0x14]
call fcn.4000d55a
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.400088ff
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.40004636
lea ecx, [edi - 0x10]
mov byte [ebp - 4], bl
call fcn.40004636
mov edi, dword [ebp - 0x20]
jmp 0x400189b9
lea ecx, [ebp - 0x10]
call fcn.400181cb
push str.users_
lea ecx, [ebp - 0x10]
call fcn.4000d55a
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.400088ff
jmp 0x400189c8
xor bl, bl
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.40004636
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.40004636
mov ecx, dword [ebp - 0xc]
mov al, bl
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret