Function at 0x14001b58c
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
xor r15d, r15d
xor r14d, r14d
xor esi, esi
mov qword [rbp + 0x58], r15
mov r12, rcx
mov qword [rbp - 0x20], r14
xor ecx, ecx
mov qword [rbp - 0x18], rsi
and qword [rbp - 8], rcx
mov r9, rdx
mov qword [rbp - 0x10], rcx
test r8, r8
jne 0x14001b5db
mov eax, 0x80070057
jmp 0x14001b9f0
cmp qword [r12 + 0x40], rcx
mov rax, r12
cmovne rax, qword [r12 + 0x40]
mov r13d, dword [rax + 0x24]
test r9, r9
je 0x14001b606
lea rdx, [rbp - 0x10]
mov rcx, r9
call fcn.14000c600
mov rcx, qword [rbp - 0x10]
mov ebx, eax
jmp 0x14001b60b
mov ebx, 0x80070057
test ebx, ebx
jns 0x14001b621
mov r8d, 0x654
lea rcx, str.GetSysVolInfoPathFromMountPath
jmp 0x14001b925
lea r8, [rbp + 0x58]
lea rdx, str.System_Volume_Information
call fcn.140047994
mov ebx, eax
test eax, eax
jns 0x14001b655
mov r9d, eax
lea rcx, str.GetSysVolInfoPathFromMountPath
mov r8d, 0x65b
call fcn.1400064e0
mov r15, qword [rbp + 0x58]
jmp 0x14001b92d
mov r15, qword [rbp + 0x58]
lea rdi, str.GetSysVolInfoPathFromMountPath
and r13d, 8
jne 0x14001b6db
mov rcx, r15
call fcn.140046da0
test eax, eax
jne 0x14001b6db
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x14001b6db
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
jns 0x14001b6c1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14001b6c6
mov ebx, 0x80004005
test ebx, ebx
jns 0x14001b6e3
mov r9d, ebx
mov r8d, 0x669
mov rcx, rdi
call fcn.1400064e0
test ebx, ebx
js 0x14001b92d
lea r8, [rbp - 0x20]
mov rcx, r15
lea rdx, str.WimMount
call fcn.140047994
mov ebx, eax
test eax, eax
jns 0x14001b716
mov r9d, eax
mov r8d, 0x671
mov rcx, rdi
call fcn.1400064e0
mov r14, qword [rbp - 0x20]
jmp 0x14001b92d
mov r14, qword [rbp - 0x20]
test r13d, r13d
jne 0x14001b794
mov rcx, r14
call fcn.140046da0
test eax, eax
jne 0x14001b794
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x14001b794
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
jns 0x14001b77a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14001b77f
mov ebx, 0x80004005
test ebx, ebx
jns 0x14001b79c
mov r9d, ebx
mov r8d, 0x67f
mov rcx, rdi
call fcn.1400064e0
test ebx, ebx
js 0x14001b92d
cmp qword [r12 + 0x40], rsi
mov rcx, r12
cmovne rcx, qword [r12 + 0x40]
add rcx, 0x10
je 0x14001b7c2
lea r8, [rbp - 8]
mov edx, FDICreate
call fcn.14001b460
mov ebx, eax
jmp 0x14001b7c7
mov ebx, 0x80070057
test ebx, ebx
jns 0x14001b7d6
mov r8d, 0x687
jmp 0x14001b922
mov rdx, qword [rbp - 8]
lea r8, [rbp - 0x18]
mov rcx, r14
call fcn.140047994
mov ebx, eax
test eax, eax
jns 0x14001b806
mov r9d, eax
mov r8d, 0x68e
mov rcx, rdi
call fcn.1400064e0
mov rsi, qword [rbp - 0x18]
jmp 0x14001b92d
mov rsi, qword [rbp - 0x18]
test r13d, r13d
jne 0x14001b8b8
mov rcx, r12
call fcn.140007a7c
test rax, rax
je 0x14001b843
xor r9d, r9d
mov r8, rsi
mov rdx, rax
call fcn.140016004
mov ebx, eax
test eax, eax
jns 0x14001b8bc
mov r9d, eax
mov r8d, 0x69e
jmp 0x14001b8b0
mov rcx, rsi
call fcn.140046da0
test eax, eax
jne 0x14001b8b8
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x14001b8b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
mov r12d, 0x80070000
or ecx, r12d
test eax, eax
cmovle ecx, eax
test ecx, ecx
jns 0x14001b89e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x14001b8a3
mov ebx, 0x80004005
test ebx, ebx
jns 0x14001b8bc
mov r9d, ebx
mov r8d, 0x6a5
mov rcx, rdi
call fcn.1400064e0
test ebx, ebx
js 0x14001b92d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.14000becc
mov rcx, qword [rbp + 0x50]
mov qword [rcx], rax
test rax, rax
je 0x14001b8d9
xor ebx, ebx
jmp 0x14001b92d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
mov r12d, 0x80070000
or ecx, r12d
test eax, eax
cmovle ecx, eax
test ecx, ecx
jns 0x14001b913
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x14001b918
mov ebx, 0x80004005
test ebx, ebx
jns 0x14001b92d
mov r8d, 0x6ad
mov rcx, rdi
mov r9d, ebx
call fcn.1400064e0
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x14001b956
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x14001b97f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r15, r15
je 0x14001b9a4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r14, r14
je 0x14001b9c9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test rsi, rsi
je 0x14001b9ee
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret