Function at 0x180039ac0
Capabilities:
Create directory
Read .ini file

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x1800cc020]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r8d, 0xc
lea rdx, str.C:ColdRain_
lea rdi, [0x1800cf1d8]
mov rcx, rdi
call fcn.180067b40
lea rcx, [0x1800cf1d0]
call fcn.18003a510
lea rdx, [rbp - 0x79]
call fcn.180038cc0
mov rbx, qword [rax]
mov rsi, qword [rax + 8]
mov rcx, qword [rbp - 0x79]
test rcx, rcx
je 0x180039b74
mov rdx, qword [rbp - 0x71]
call fcn.18006b6d0
mov rdx, qword [rbp - 0x69]
mov rcx, qword [rbp - 0x79]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x180039b6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180039fec
call fcn.1800717d8
cmp rbx, rsi
je 0x180039fb8
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
xor r15d, r15d
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x29], 0xf
mov byte [rbp - 0x41], r15b
lea rdx, [rbp - 0x79]
call fcn.180038cc0
nop
movsxd r8, dword [0x1800cf1d0]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
sub rax, rcx
sar rax, 5
cmp rax, r8
jbe 0x180039ff2
shl r8, 5
add r8, rcx
mov rdx, rdi
lea rcx, [rbp - 0x61]
call fcn.180068040
mov rbx, rax
lea rax, [rbp - 0x41]
cmp rax, rbx
je 0x180039c47
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x180039c19
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180039c14
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180039ff8
call fcn.1800717d8
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x29], 0xf
mov byte [rbp - 0x41], 0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x41], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x31], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp - 0x49]
cmp rdx, 0x10
jb 0x180039c82
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180039c7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180039ff8
call fcn.1800717d8
movdqa xmm0, xmmword [0x1800bb710]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x61], 0
mov rcx, qword [rbp - 0x79]
test rcx, rcx
je 0x180039cde
mov rdx, qword [rbp - 0x71]
call fcn.18006b6d0
mov rdx, qword [rbp - 0x69]
mov rcx, qword [rbp - 0x79]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x180039cd9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180039ffe
call fcn.1800717d8
cmp qword [0x1800cf1f0], 0x10
cmovae rdi, qword [0x1800cf1d8]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
movups xmmword [rbp + 0x17], xmm0
mov rsi, qword [0x1800cf200]
mov rdi, qword [0x1800cf1f8]
cmp rdi, rsi
je 0x180039d82
nop
mov rbx, qword [rdi]
lea rax, [rbp - 0x41]
cmp qword [rbp - 0x29], 0x10
cmovae rax, qword [rbp - 0x41]
lea rdx, [rbx + 0x20]
cmp qword [rdx + 0x18], 0x10
jb 0x180039d3f
mov rdx, qword [rdx]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x180039d4c
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x40
lea r9, [rbp - 0x19]
lea r8, [0x1800b4936]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rbp - 0x19]
call fcn.180087e58
mov rcx, qword [rbx + 0x40]
mov dword [rcx], eax
add rdi, 8
cmp rdi, rsi
jne 0x180039d20
mov rsi, qword [0x1800cf230]
mov rdi, qword [0x1800cf228]
cmp rdi, rsi
je 0x180039e0b
nop word [rax + rax]
mov rbx, qword [rdi]
lea rax, [rbp - 0x41]
cmp qword [rbp - 0x29], 0x10
cmovae rax, qword [rbp - 0x41]
lea rdx, [rbx + 0x20]
cmp qword [rdx + 0x18], 0x10
jb 0x180039dbf
mov rdx, qword [rdx]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x180039dcc
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x40
lea r9, [rbp - 0x19]
lea r8, [0x1800b4936]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rbp - 0x19]
call fcn.180086730
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mov rax, qword [rbx + 0x40]
movss dword [rax], xmm1
add rdi, 8
cmp rdi, rsi
jne 0x180039da0
mov rsi, qword [0x1800cf248]
mov rdi, qword [0x1800cf240]
cmp rdi, rsi
je 0x180039eef
movss xmm6, dword [0x1800bb464]
nop word [rax + rax]
mov rbx, qword [rdi]
lea rax, [rbp - 0x41]
cmp qword [rbp - 0x29], 0x10
cmovae rax, qword [rbp - 0x41]
lea rdx, [rbx + 0x20]
cmp qword [rdx + 0x18], 0x10
jb 0x180039e4f
mov rdx, qword [rdx]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x180039e5c
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x40
lea r9, [rbp - 0x19]
lea r8, [0x1800b4936]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rbp - 0x19]
call fcn.180087e58
mov edx, eax
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
mulss xmm3, xmm6
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
mulss xmm2, xmm6
shr eax, 0x18
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm6
mov rcx, qword [rbx + 0x40]
movzx eax, dl
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm6
movss dword [rcx], xmm0
movss dword [rcx + 4], xmm3
movss dword [rcx + 8], xmm2
movss dword [rcx + 0xc], xmm1
add rdi, 8
cmp rdi, rsi
jne 0x180039e30
mov rsi, qword [0x1800cf218]
mov rdi, qword [0x1800cf210]
cmp rdi, rsi
je 0x180039f81
mov r14d, 0x31
nop dword [rax + rax]
mov rbx, qword [rdi]
lea rax, [rbp - 0x41]
cmp qword [rbp - 0x29], 0x10
cmovae rax, qword [rbp - 0x41]
lea rdx, [rbx + 0x20]
cmp qword [rdx + 0x18], 0x10
jb 0x180039f2f
mov rdx, qword [rdx]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x180039f3c
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x40
lea r9, [rbp - 0x19]
lea r8, [0x1800b4936]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movzx ecx, byte [rbp - 0x19]
sub ecx, r14d
jne 0x180039f6d
movzx ecx, byte [rbp - 0x18]
movzx eax, r15b
sub ecx, eax
test ecx, ecx
sete cl
mov rax, qword [rbx + 0x40]
mov byte [rax], cl
add rdi, 8
cmp rdi, rsi
jne 0x180039f10
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x180039fb8
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180039fb3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180039fe6
call fcn.1800717d8
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1800710d0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.180085d3c
int3
call fcn.180085d3c
nop
call fcn.1800678f0
nop
call fcn.180085d3c
nop
call fcn.180085d3c
int3