Function at 0x18001a5b0
Capabilities:
Check if file exists
Create directory
Get common file path
Read .ini file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0xca0
mov rax, qword [0x1800c34c8]
xor rax, rsp
mov qword [rsp + 0xc90], rax
mov rsi, rcx
lea rcx, [rsp + 0x452]
xor ebx, ebx
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x450], bx
call fcn.18003bb80
lea rcx, [rsp + 0x872]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x870], bx
call fcn.18003bb80
lea rcx, [rsp + 0x662]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x660], bx
call fcn.18003bb80
lea rcx, [rsp + 0xa82]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0xa80], bx
call fcn.18003bb80
lea rcx, [rsp + 0x242]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x240], bx
call fcn.18003bb80
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x30], bx
call fcn.18003bb80
lea r8d, [rbx + 0x2b]
lea rdx, [rsp + 0x240]
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x240]
repne scasw ax, word [rdi]
mov rax, qword [str.ClodlySoft_]
lea rcx, [rsp + 0x240]
mov qword [rdi - 2], rax
mov rax, qword [0x1800b27d8]
mov qword [rdi + 6], rax
mov rax, qword [0x1800b27e0]
mov qword [rdi + 0xe], rax
movzx eax, word [0x1800b27e8]
mov word [rdi + 0x16], ax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x18001a700
lea rcx, [rsp + 0x240]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop word [rax + rax]
movzx eax, word [rsp + rbx + 0x240]
add rbx, 2
mov word [rsp + rbx + 0x2e], ax
test ax, ax
jne 0x18001a700
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasw ax, word [rdi]
mov rax, qword [str.cloudysoft.ini]
lea r9, [rsp + 0x450]
mov qword [rdi - 2], rax
mov rax, qword [0x1800b27f8]
lea r8, [0x1800b2400]
mov qword [rdi + 6], rax
mov rax, qword [0x1800b2800]
lea rdx, str.OID1
mov qword [rdi + 0xe], rax
mov eax, dword [0x1800b2808]
lea rcx, str.Globals
mov dword [rdi + 0x16], eax
movzx eax, word [0x1800b280c]
mov word [rdi + 0x1a], ax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0x870]
lea r8, [0x1800b2400]
mov qword [rsp + 0x28], rdx
lea rdx, str.OID2
lea rcx, str.Globals
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x28], rdx
lea r9, [rsp + 0x660]
lea r8, [0x1800b2400]
lea rdx, str.OID3
lea rcx, str.Globals
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xa80]
mov qword [rsp + 0x28], rdx
lea r8, [0x1800b2400]
lea rcx, str.Globals
lea rdx, str.OID4
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x450]
repne scasw ax, word [rdi]
not rcx
dec rcx
test ecx, ecx
je 0x18001a95b
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x870]
repne scasw ax, word [rdi]
not rcx
dec rcx
test ecx, ecx
je 0x18001a95b
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x660]
repne scasw ax, word [rdi]
not rcx
dec rcx
test ecx, ecx
je 0x18001a95b
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xa80]
repne scasw ax, word [rdi]
not rcx
dec rcx
test ecx, ecx
je 0x18001a95b
mov rdx, qword [rsi]
lea rcx, [rsp + 0x450]
nop
movzx eax, word [rcx]
add rdx, 2
add rcx, 2
mov word [rdx - 2], ax
test ax, ax
jne 0x18001a8b0
mov rcx, qword [rsi]
lea rdx, [rsp + 0x870]
add rcx, 0x208
nop word [rax + rax]
movzx eax, word [rdx]
add rcx, 2
add rdx, 2
mov word [rcx - 2], ax
test ax, ax
jne 0x18001a8e0
mov rcx, qword [rsi]
lea rdx, [rsp + 0x660]
add rcx, 0x410
nop word [rax + rax]
movzx eax, word [rdx]
add rcx, 2
add rdx, 2
mov word [rcx - 2], ax
test ax, ax
jne 0x18001a910
mov rcx, qword [rsi]
lea rdx, [rsp + 0xa80]
add rcx, 0x618
nop word [rax + rax]
movzx eax, word [rdx]
add rcx, 2
add rdx, 2
mov word [rcx - 2], ax
test ax, ax
jne 0x18001a940
mov eax, 1
jmp 0x18001a95d
xor eax, eax
mov rcx, qword [rsp + 0xc90]
xor rcx, rsp
call fcn.18003c690
lea r11, [rsp + 0xca0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret