Function at 0x14001dfac
Capabilities:
Create directory
Print debug messages
Set file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov rax, qword [0x14006d010]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r12, rdx
mov qword [rbp - 0x39], rdx
mov rsi, rcx
add rcx, 8
call qword [sym.imp.Cmmlib.dll_public:_int___cdecl_Cmm::CStringT_wchar_t_::IsEmpty_void_const___ptr64]
xor edi, edi
test eax, eax
je 0x14001dfff
lea eax, [rdi + 4]
jmp 0x14001e3b6
lea rcx, [rsi + 8]
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
lea rcx, [rsi + 0x68]
xor r8d, r8d
mov rdx, rax
call fcn.1400052b4
test eax, eax
jne 0x14001e0e8
lea rbx, [rsi + 0x58]
lea rax, [0x140005440]
mov qword [rbx], rax
lea rax, [0x140005460]
mov qword [rbx + 8], rax
lea rax, [0x140005560]
mov qword [rsi + 0x70], rax
lea rax, [0x1400055e0]
mov qword [rsi + 0x78], rax
lea rax, [0x1400055f0]
mov qword [rsi + 0x80], rax
lea rax, [0x140005660]
mov qword [rsi + 0x88], rax
mov qword [rsi + 0xa8], rdi
lea r13, [rsi + 0x190]
mov r15d, 0x40000
mov edx, r15d
mov rcx, r13
mov rax, qword [r13]
call qword [case.0x140017c25.0]
mov qword [rsi + 0xa8], rax
test rax, rax
je 0x14001e0e8
mov qword [rsi + 0xb0], r15
mov qword [rsi + 0x90], rbx
mov qword [rsi + 0xa0], rdi
mov qword [rsi + 0x98], rdi
call fcn.140004024
lea rbx, [rsi + 0xb8]
lea r9, [rsi + 0x1a0]
mov r8, r13
lea rdx, [rsi + 0x70]
mov rcx, rbx
call fcn.140003aa0
test eax, eax
je 0x14001e0f2
mov rdx, r13
mov rcx, rbx
call fcn.140001780
mov eax, 5
jmp 0x14001e3b6
mov r15d, edi
cmp dword [rsi + 0x118], edi
jbe 0x14001e3b4
test r12, r12
je 0x14001e110
cmp dword [r12], edi
jne 0x14001e351
mov ebx, r15d
mov r8d, r15d
lea rdx, [rbp - 1]
mov rcx, rsi
call fcn.14001e3e4
nop
lea rcx, [rbp - 1]
call qword [sym.imp.Cmmlib.dll_public:_int___cdecl_Cmm::CStringT_wchar_t_::IsEmpty_void_const___ptr64]
test eax, eax
jne 0x14001e3a5
mov ecx, ebx
shr rcx, 3
mov rax, qword [rsi + 0x128]
mov r8b, byte [rcx + rax]
mov ecx, r15d
and ecx, 7
mov edx, 0x80
sar edx, cl
lea rcx, [rbp - 0x31]
test dl, r8b
lea rdx, [rbp - 1]
je 0x14001e198
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
mov rbx, rax
mov qword [rbp - 0x49], rax
mov rcx, rax
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop
mov rcx, rbx
test eax, eax
je 0x14001e358
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
jmp 0x14001e336
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
mov r14, rax
mov qword [rbp - 0x49], rax
cmp rbx, 0x41
jne 0x14001e1b8
lea rcx, [0x14004b400]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, [rsi + 0x1d0]
mov qword [rcx], rdi
lea r12, [rsi + 0x1c8]
mov qword [r12], rdi
lea rdx, [rsi + 0x1b0]
lea rax, [rsi + 0x1b8]
lea r9, [rsi + 0x1c0]
lea r8, [rsi + 0x1a0]
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov r8d, r15d
lea rdx, [rsi + 0x70]
lea rcx, [rsi + 0xb8]
call fcn.140003df8
nop
mov rcx, r14
test eax, eax
jne 0x14001e398
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x31]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
mov r14, rax
mov qword [rbp - 9], rax
mov rcx, rax
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov r8d, 1
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.1400052b4
test eax, eax
jne 0x14001e375
mov rax, qword [r12]
mov qword [rbp - 0x49], rax
mov rdx, qword [rsi + 0x1b0]
add rdx, qword [rsi + 0x1d0]
lea r8, [rbp - 0x49]
lea rcx, [rbp - 0x41]
call fcn.1400053b0
test eax, eax
jne 0x14001e365
mov rax, qword [r12]
cmp qword [rbp - 0x49], rax
jne 0x14001e365
mov rcx, qword [rbp - 0x41]
cmp rcx, 0xffffffffffffffff
je 0x14001e2d3
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x14001e2ce
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14001e2d3
mov rcx, r14
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov ebx, SHCreateMemStream
jmp 0x14001e383
or qword [rbp - 0x41], 0xffffffffffffffff
mov r8, qword [rsi + 0x140]
test r8, r8
je 0x14001e329
mov cl, bl
and cl, 7
mov edx, 0x80
sar edx, cl
mov rax, rbx
shr rax, 3
test byte [rax + r8], dl
je 0x14001e329
mov rax, qword [rsi + 0x148]
mov ecx, dword [rax + rbx*4]
mov eax, ecx
mov ebx, ecx
and ebx, 0x7fff
and eax, 0xf0000000
cmove ebx, ecx
mov rcx, r14
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop
mov rcx, r14
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov r12, qword [rbp - 0x39]
lea rcx, [rbp - 1]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
inc r15d
cmp r15d, dword [rsi + 0x118]
jae 0x14001e3b4
jmp 0x14001e101
mov edi, 0xd
jmp 0x14001e3b4
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov edi, 8
jmp 0x14001e3aa
mov rcx, r14
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov ebx, 0xa
jmp 0x14001e383
mov rcx, r14
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov ebx, 9
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x70
mov eax, 1
cmove ebx, eax
mov edi, ebx
jmp 0x14001e3aa
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov edi, 7
jmp 0x14001e3aa
mov edi, 6
lea rcx, [rbp - 1]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov eax, edi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14003e1d0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret