Function at 0x1400aecb0
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov r13, rcx
xor edx, edx
xor ecx, ecx
call fcn.1400cf170
mov r15, rax
test rax, rax
je 0x1400aecf3
lea rcx, str.settings
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhDuplicateBytesZSafe
mov qword [r15 + 0x30], rax
mov esi, 5
xor eax, eax
lock cmpxchg qword [0x14018d8b0], rsi
je 0x1400aed11
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfAcquireQueuedLockShared
mov rcx, qword [0x140191a30]
mov r12d, 0xffffffff
mov r14d, dword [rcx]
mov ebp, dword [rcx + 0x40]
add r14d, 8
mov rbx, qword [rcx + 0x30]
imul rbp, r14
add rbp, rbx
cmp rbx, rbp
je 0x1400aed54
nop dword [rax + rax]
mov rax, rbx
add rbx, r14
cmp dword [rax], 0xffffffff
jne 0x1400aee8b
cmp rbx, rbp
jne 0x1400aed40
mov rax, qword [0x140191a18]
xor r14d, r14d
mov ebx, r14d
cmp dword [rax], ebx
jbe 0x1400aed97
nop word [rax + rax]
mov rax, qword [rax + 8]
mov ecx, ebx
mov rdx, qword [rax + rcx*8]
mov rcx, r15
mov r8, qword [rdx + 0x28]
add rdx, 8
call fcn.1400aeb80
mov rax, qword [0x140191a18]
inc ebx
cmp ebx, dword [rax]
jb 0x1400aed70
mov esi, 5
mov eax, esi
lock cmpxchg qword [0x14018d8b0], r14
je 0x1400aedb5
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfReleaseQueuedLockShared
lea rdx, [rsp + 0xe8]
mov rcx, r13
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhGetFullPath
mov rdi, rax
test rax, rax
je 0x1400aee5b
mov eax, dword [rsp + 0xe8]
cmp eax, 0xffffffff
je 0x1400aee46
mov rdx, qword [0x140191180]
lea rsi, [rax + rax]
mov rbp, qword [rdi + 8]
lea rcx, [rsi + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
mov rbx, rax
mov qword [rax], rsi
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rcx + rsi], r14w
test rbp, rbp
je 0x1400aee1c
mov rcx, qword [rax + 8]
mov r8, rsi
mov rdx, rbp
call fcn.1401317c0
mov rdx, qword [rbx + 8]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
lea rcx, [rbx - 0x10]
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400aee41
call fcn.1400d9400
mov esi, 5
lea rcx, [rdi - 0x10]
lock xadd dword [rcx + 8], r12d
cmp r12d, 1
jne 0x1400aee5b
call fcn.1400d9400
xor r9d, r9d
lea rdx, [rsp + 0x60]
xor r8d, r8d
mov rcx, r13
call qword [sym.imp.ntdll.dll_RtlDosPathNameToNtPathName_U]
test al, al
jne 0x1400aef5a
mov rcx, r15
mov ebx, 0xc0000034
call sym.4yUlCM3HuVsHzW5CaCX.exe_mxmlDelete
mov eax, ebx
jmp 0x1400af042
lea rdi, [rax + 8]
test rdi, rdi
je 0x1400aed54
mov ecx, dword [rdi]
test ecx, ecx
je 0x1400aef11
sub ecx, 1
je 0x1400aeefd
sub ecx, 1
je 0x1400aeee5
cmp ecx, 1
je 0x1400aeeb7
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhReferenceEmptyString
mov rsi, rax
jmp 0x1400aef2c
mov rdx, qword [rdi + 0x28]
test rdx, rdx
jne 0x1400aeeca
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhReferenceEmptyString
mov rsi, rax
jmp 0x1400aef2c
mov r9d, dword [rdx + 4]
lea rcx, str.__u_d__d
mov r8d, dword [rdx]
mov edx, dword [rdx + 8]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhFormatString
mov rsi, rax
jmp 0x1400aef2c
mov r8d, dword [rdi + 0x2c]
lea rcx, str._d__d
mov edx, dword [rdi + 0x28]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhFormatString
mov rsi, rax
jmp 0x1400aef2c
mov edx, dword [rdi + 0x28]
lea rcx, [0x1401642e8]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhFormatString
mov rsi, rax
jmp 0x1400aef2c
mov rax, qword [rdi + 0x28]
test rax, rax
jne 0x1400aef24
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhReferenceEmptyString
mov rsi, rax
jmp 0x1400aef2c
lock inc dword [rax - 8]
mov rsi, qword [rdi + 0x28]
lea rdx, [rdi + 8]
mov r8, rsi
mov rcx, r15
call fcn.1400aeb80
lea rcx, [rsi - 0x10]
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400aed33
call fcn.1400d9400
jmp 0x1400aed33
mov dword [rsp + 0x50], r14d
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], r14
lea r9, [rsp + 0x70]
mov dword [rsp + 0x40], 0x60
lea r8, [rsp + 0x80]
mov dword [rsp + 0x38], esi
lea rcx, [rsp + 0xe8]
mov dword [rsp + 0x30], 1
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0x80
mov edx, 0x120116
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x80], 0x30
mov qword [rsp + 0x88], r14
mov dword [rsp + 0x98], 0x40
mov qword [rsp + 0x90], rax
movdqu xmmword [rsp + 0xa0], xmm0
call qword [sym.imp.ntdll.dll_NtCreateFile]
mov ebx, eax
xor edx, edx
mov rax, qword gs:[0x30]
mov r8, qword [rsp + 0x68]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rdi, qword [rsp + 0xe8]
test ebx, ebx
cmovns rdi, qword [rsp + 0xe8]
jns 0x1400af01d
mov rcx, r15
call sym.4yUlCM3HuVsHzW5CaCX.exe_mxmlDelete
mov eax, ebx
jmp 0x1400af042
lea r8, [0x1400aeaf0]
mov rdx, rdi
mov rcx, r15
call sym.4yUlCM3HuVsHzW5CaCX.exe_mxmlSaveFd
mov rcx, r15
call sym.4yUlCM3HuVsHzW5CaCX.exe_mxmlDelete
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtClose]
xor eax, eax
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret