Function at 0x1400dc1d8
Capabilities:
Create directory
Delete directory
Delete file

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2fd0]
mov eax, 0x30d0
call fcn.1401282a0
sub rsp, rax
mov rax, qword [0x14016a040]
xor rax, rsp
mov qword [rbp + 0x2fc0], rax
xor ebx, ebx
mov qword [rsp + 0x48], rcx
cmp byte [0x14017a8d4], bl
mov r15, r8
mov rsi, rdx
mov edi, 1
jne 0x1400dc247
lea rcx, str.SeRestorePrivilege
call fcn.1400dc11c
lea rcx, str.SeCreateSymbolicLinkPrivilege
call fcn.1400dc11c
mov byte [0x14017a8d4], dil
mov edx, 0x1418
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbx
call fcn.1400d159c
lea rcx, [r15 + 0x1114]
mov r8d, 0x7ff
lea rdx, [rbp + 0xfc0]
mov r9d, 2
sub rcx, rdx
lea rax, [rbp + 0xfc0]
movzx edx, word [rax + rcx]
test dx, dx
je 0x1400dc2a2
mov word [rax], dx
add rax, r9
sub r8, rdi
jne 0x1400dc28e
mov word [rax], bx
or r13, 0xffffffffffffffff
lea rax, [rbp + 0xfc0]
inc r13
cmp word [rax + r13*2], bx
jne 0x1400dc2b0
mov r8d, 4
lea rdx, [0x140156358]
lea rcx, [rbp + 0xfc0]
lea r12, [rbp + 0x1fc0]
call fcn.14010dd4c
mov ecx, eax
mov dword [rsp + 0x40], eax
test ecx, ecx
lea r14, [rbp + 0xfc0]
lea rax, [rbp + 0xfc8]
cmove r14, rax
xor r8d, r8d
mov rbx, r14
test ecx, ecx
jne 0x1400dc332
lea r8d, [rcx + 4]
mov rcx, r14
lea rdx, str.UNC_
call fcn.14010dd4c
mov ecx, dword [rsp + 0x40]
xor r8d, r8d
test eax, eax
jne 0x1400dc332
lea eax, [r8 + 0x5c]
mov word [rbp + 0x1fc0], ax
lea r12, [rbp + 0x1fc2]
lea rbx, [r14 + 6]
sub r12, rbx
mov edx, 2
movzx eax, word [rbx]
mov word [r12 + rbx], ax
add rbx, rdx
test ax, ax
jne 0x1400dc33a
lea rax, [rbp + 0x1fc0]
or r14, 0xffffffffffffffff
inc r14
cmp word [rax + r14*2], r8w
jne 0x1400dc355
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
cmp byte [r12 + 0x7093], r8b
jne 0x1400dc3a9
test ecx, ecx
je 0x1400dc438
lea r9, [r15 + 0x1114]
mov rcx, r9
call fcn.1400d5358
test al, al
jne 0x1400dc438
lea rdx, [r15 + 0x28]
mov r8, rsi
mov rcx, r12
call fcn.1400dcbc8
test al, al
je 0x1400dc438
mov rcx, rsi
call fcn.1400dd8b8
mov rcx, rsi
call fcn.1400ddbe8
cmp eax, 0xffffffff
je 0x1400dc3e1
mov rcx, rsi
call fcn.1400ddbe8
cmp eax, 0xffffffff
je 0x1400dc3d9
test al, 0x10
je 0x1400dc3d9
mov rcx, rsi
call fcn.1400ddf94
jmp 0x1400dc3e1
mov rcx, rsi
call fcn.1400ddf18
xor eax, eax
cmp byte [r15 + 0x10f9], al
jne 0x1400dc483
cmp byte [r15 + 0x2114], al
jne 0x1400dc483
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x40000000
mov dword [rsp + 0x20], edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x1400dc478
add dword [0x14016f7ec], edi
mov dword [0x14016f7e8], 9
xor r13d, r13d
mov dil, r13b
test rbx, rbx
je 0x1400dc44b
mov rcx, rbx
call fcn.140107298
mov al, dil
mov rcx, qword [rbp + 0x2fc0]
xor rcx, rsp
call fcn.1400f44c0
mov rbx, qword [rsp + 0x3128]
add rsp, 0x30d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400dc492
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x1400dc428
mov eax, dword [r15 + 0x1110]
mov ecx, 8
cmp eax, 3
jne 0x1400dc53a
and dword [rbx + 6], 0
lea eax, [r14 + 6]
add ax, r13w
mov dword [rbx], 0xa0000003
add ax, ax
lea rcx, [rbp + 0xfc0]
movzx edx, r13w
mov word [rbx + 4], ax
add dx, dx
lea rax, [rbp + 0xfc0]
mov r8, rbx
mov word [rbx + 0xa], dx
sub r8, rax
mov r10d, 2
movzx eax, word [rcx]
mov word [r8 + rcx + 0x10], ax
add rcx, r10
test ax, ax
jne 0x1400dc4e5
add dx, r10w
lea rax, [rbp + 0x1fc0]
mov word [rbx + 0xc], dx
lea rcx, [rbp + 0x1fc0]
lea rdx, [r13*2 + 0x12]
add r14w, r14w
sub rdx, rax
mov word [rbx + 0xe], r14w
add rdx, rbx
xor r13d, r13d
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, r10
test ax, ax
jne 0x1400dc526
jmp 0x1400dc5df
dec eax
cmp eax, edi
ja 0x1400dc438
and dword [rbx + 6], 0
lea eax, [r14 + r13]
add ax, cx
mov dword [rbx], 0xa000000c
add ax, ax
lea rcx, [rbp + 0xfc0]
movzx edx, r13w
mov word [rbx + 4], ax
add dx, dx
lea rax, [rbp + 0xfc0]
mov r8, rbx
mov word [rbx + 0xa], dx
sub r8, rax
mov r10d, 2
movzx eax, word [rcx]
mov word [r8 + rcx + 0x14], ax
add rcx, r10
test ax, ax
jne 0x1400dc581
add dx, r10w
lea rax, [rbp + 0x1fc0]
mov word [rbx + 0xc], dx
lea rcx, [rbp + 0x1fc0]
lea rdx, [r13*2 + 0x16]
add r14w, r14w
sub rdx, rax
mov word [rbx + 0xe], r14w
add rdx, rbx
xor r13d, r13d
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, r10
test ax, ax
jne 0x1400dc5c2
cmp dword [rsp + 0x40], r13d
mov eax, r13d
setne al
mov dword [rbx + 0x10], eax
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov dword [rsp + 0x28], 0x2200000
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x1400dc629
lea edx, [rax + 3]
mov dword [0x14016f7e8], 9
add dword [0x14016f7ec], edx
jmp 0x1400dc43b
movzx r9d, word [rbx + 4]
lea rax, [rsp + 0x44]
mov qword [rsp + 0x38], r13
add r9d, 8
mov qword [rsp + 0x30], rax
mov r8, rbx
mov dword [rsp + 0x28], r13d
mov edx, 0x900a4
mov rcx, r14
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400dc6b2
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x1400dc67b
cmp eax, 0x522
jne 0x1400dc680
call fcn.1400db288
add dword [0x14016f7ec], edi
mov rcx, rsi
mov dword [0x14016f7e8], 9
cmp byte [r15 + 0x10f9], r13b
je 0x1400dc6a7
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x1400dc43b
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x1400dc43b
or qword [rsp + 0x78], 0xffffffffffffffff
lea rax, [0x140156378]
and word [rbp - 0x78], 0
lea rcx, [rsp + 0x70]
and word [rbp - 0x68], 0
mov qword [rsp + 0x70], rax
mov word [rbp - 0x56], r13w
mov word [rbp - 0x70], 0x100
mov byte [rbp - 0x80], r13b
mov dword [rbp - 0x7c], r13d
mov dword [rbp + 0xfac], r13d
mov byte [rbp - 0x58], r13b
mov byte [rbp - 0x6e], dil
mov dword [rbp - 0x6c], 0x100
mov dword [rbp - 0x74], r13d
mov qword [rbp - 0x60], r13
call fcn.1400dd0bc
mov eax, dword [r12 + 0x83d0]
lea rcx, [r15 + 0x1058]
neg eax
mov qword [rsp + 0x78], r14
mov eax, dword [r12 + 0x83cc]
sbb r9, r9
and r9, rcx
lea rcx, [r15 + 0x1050]
neg eax
mov eax, dword [r12 + 0x83c8]
sbb r8, r8
and r8, rcx
lea rcx, [r15 + 0x1048]
neg eax
sbb rdx, rdx
and rdx, rcx
lea rcx, [rsp + 0x70]
call fcn.1400dd64c
lea rcx, [rsp + 0x70]
call fcn.1400dd0bc
cmp byte [r12 + 0x72a6], r13b
jne 0x1400dc77d
mov edx, dword [r15 + 0x24]
mov rcx, rsi
call fcn.1400ddc60
cmp qword [rsp + 0x78], 0xffffffffffffffff
lea rax, [0x140156378]
mov qword [rsp + 0x70], rax
je 0x1400dc43e
cmp byte [rbp - 0x77], r13b
jne 0x1400dc43e
cmp byte [rbp - 0x70], r13b
je 0x1400dc7d1
cmp dword [rbp - 0x7c], r13d
jne 0x1400dc43e
lea rcx, [rsp + 0x70]
call fcn.1400dd0bc
cmp byte [rbp - 0x6f], r13b
je 0x1400dc43e
lea rcx, [rbp - 0x56]
call fcn.1400ddf18
jmp 0x1400dc43e
lea rcx, [rsp + 0x70]
call fcn.1400dd0bc
jmp 0x1400dc43e