Function at 0x1400243b4
Capabilities:
Create directory

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
xor ebx, ebx
mov dword [rsp + 0x98], 1
mov qword [rax + 0x20], rbx
mov rbp, rcx
mov r15d, ebx
test rcx, rcx
je 0x14002472f
cmp bx, word [rcx]
je 0x14002472f
lea rdx, [rax + 0x20]
call fcn.1400240d8
mov rsi, rax
test rax, rax
je 0x14002470d
or r14, 0xffffffffffffffff
mov qword [rsp + 0x30], rbx
mov rax, r14
mov dword [rsp + 0xa0], ebx
mov r12d, ebx
mov r13d, ebx
inc rax
cmp word [rsi + rax*2], bx
jne 0x140024422
cmp rax, 2
mov ecx, ebx
setae cl
jb 0x140024452
mov r8d, 2
lea rdx, [0x14005fa58]
mov rcx, rsi
call sub.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp
test eax, eax
mov ecx, ebx
sete cl
mov edx, 0x5c
test ecx, ecx
je 0x140024633
lea rcx, [rsi + 4]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcschr]
nop dword [rax + rax]
test rax, rax
jne 0x1400244ff
mov edi, 0x8007000d
movzx ecx, di
mov dword [rsp + 0x98], ebx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov rdi, qword [rsp + 0xa8]
mov r14d, dword [rsp + 0x98]
mov r12d, 1
cmp r14d, r12d
jne 0x1400246bd
lea r13d, [r12 + 0x5b]
mov edx, r13d
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcschr]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x14002467b
mov rcx, rsi
mov word [rax], bx
call fcn.140023f38
test eax, eax
jne 0x1400244f5
xor edx, edx
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateDirectoryW]
nop dword [rax + rax]
mov word [rdi], r13w
add rdi, 2
jmp 0x1400244b7
mov rbp, rbx
mov rdi, r14
inc rdi
cmp word [rsi + rdi*2], bx
jne 0x140024505
mov edx, 0x5c
lea rcx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcschr]
nop dword [rax + rax]
test rax, rax
jne 0x14002452c
mov eax, edi
jmp 0x140024532
sub rax, rsi
sar rax, 1
mov edi, 0x8007000e
mov rcx, r14
inc rcx
cmp word [rsi + rcx*2], bx
jne 0x14002453a
cmp rax, rcx
ja 0x14002459a
mov rcx, qword gs:[0x60]
lea r12, [rax + 1]
lea r8, [r12 + r12]
mov edx, 8
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rbp, rax
test rax, rax
je 0x14002458b
lea r9, [r12 - 1]
mov r8, rsi
mov rdx, r12
mov rcx, rax
call 0x1400087d0
mov edi, eax
mov r12, qword [rsp + 0x30]
mov r13d, dword [rsp + 0xa0]
jmp 0x14002459f
mov edi, 0x80070057
test edi, edi
js 0x1400245af
mov r12, rbp
mov r13d, 1
mov rbp, rbx
test rbp, rbp
je 0x1400245d4
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
mov rbp, qword [rsp + 0x90]
mov edx, 0x5c
test edi, edi
js 0x14002447d
cmp r13d, 1
jne 0x140024637
inc r14
cmp word [r12 + r14*2], bx
jne 0x1400245ef
mov rax, qword [rsp + 0xa8]
lea rdi, [rax + r14*2]
test r12, r12
je 0x14002449b
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
jmp 0x14002449b
mov edi, ebx
jmp 0x1400245e1
mov rdi, qword [rsp + 0xa8]
movzx ecx, word [rdi]
lea eax, [rcx - 0x61]
cmp ax, 0x19
jbe 0x140024659
sub cx, 0x41
cmp cx, 0x19
ja 0x14002449b
mov eax, 0x3a
cmp ax, word [rdi + 2]
jne 0x14002449b
cmp dx, word [rdi + 4]
jne 0x14002449b
add rdi, 8
jmp 0x14002449b
cmp r14d, r12d
jne 0x1400246bd
mov rcx, rsi
call fcn.140023f38
cmp eax, r12d
je 0x1400246b8
xor edx, edx
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateDirectoryW]
nop dword [rax + rax]
cmp eax, r12d
je 0x1400246b8
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
lea r8, str.CreatePath:_Unable_to_create___s___GLE__0x_x
jmp 0x1400246d0
mov ebx, r12d
jmp 0x1400246eb
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
lea r8, str.CreatePath:_Unable_to_create_parent_directory_for___s___GLE__0x_x
mov r9, rbp
mov dword [rsp + 0x20], eax
mov edx, 0x3000000
lea rcx, [0x14006c908]
mov r15d, eax
call fcn.140023424
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
jmp 0x14002471c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov r15d, eax
mov ecx, r15d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov eax, ebx
jmp 0x140024742
mov ecx, 0x57
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
xor eax, eax
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret