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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2fb0]
mov eax, 0x30b0
call fcn.140023860
sub rsp, rax
mov rsi, r8
mov rdi, rdx
mov r13, rcx
mov r14d, 1
cmp byte [0x14004b3e3], 0
jne 0x140007b88
lea rcx, str.SeRestorePrivilege
call fcn.14000883c
lea rcx, str.SeCreateSymbolicLinkPrivilege
call fcn.14000883c
mov byte [0x14004b3e3], r14b
mov edx, 0x1418
lea rcx, [rsp + 0x40]
call fcn.1400014cc
nop
lea r15, [rsi + 0x111c]
mov r8d, 0x800
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.140012070
lea rcx, [rsp + 0x70]
call fcn.140028208
mov qword [rbp + 0x3008], rax
lea r12, [rbp + 0xf70]
mov r8d, 4
lea rdx, [0x140038ae8]
lea rcx, [rsp + 0x70]
call fcn.14002aa00
test eax, eax
sete cl
mov byte [rbp + 0x2ff0], cl
lea rbx, [rsp + 0x78]
test eax, eax
lea rax, [rsp + 0x70]
cmovne rbx, rax
test cl, cl
je 0x140007c30
mov r8d, 4
lea rdx, str.UNC_
mov rcx, rbx
call fcn.14002aa00
test eax, eax
jne 0x140007c30
mov eax, 0x5c
mov word [rbp + 0xf70], ax
lea r12, [rbp + 0xf72]
add rbx, 6
mov rdx, rbx
mov rcx, r12
call fcn.14002a9e4
lea rcx, [rbp + 0xf70]
call fcn.140028208
mov r12, rax
xor ebx, ebx
cmp byte [r13 + 0x71b3], bl
jne 0x140007c8b
cmp byte [rbp + 0x2ff0], bl
jne 0x140007d1e
mov rcx, r15
call fcn.14000ce14
test al, al
jne 0x140007d1e
lea rdx, [rsi + 0x28]
mov r9, r15
mov r8, rdi
mov rcx, r13
call fcn.140008594
test al, al
je 0x140007d1e
mov r8b, byte [r13 + 0x7153]
mov dl, r14b
mov rcx, rdi
call fcn.14000b230
mov rcx, rdi
call fcn.14000b3ec
test al, al
je 0x140007ccb
mov rcx, rdi
call fcn.14000b400
mov ecx, eax
call fcn.14000b45c
mov rcx, rdi
test al, al
je 0x140007cc6
call fcn.14000b32c
jmp 0x140007ccb
call fcn.14000b38c
cmp byte [rsi + 0x1101], bl
jne 0x140007dd8
cmp byte [rsi + 0x211c], bl
jne 0x140007dd8
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x140007d49
mov rdx, rdi
lea rcx, [0x14004b4d0]
call fcn.140007670
mov r14b, bl
lea rcx, [rsp + 0x40]
call fcn.1400016d8
mov al, r14b
mov rbx, qword [rsp + 0x30f8]
add rsp, 0x30b0
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]
mov eax, dword [rsi + 0x1118]
mov edx, 8
cmp eax, 3
jne 0x140007e0e
mov r15, qword [rsp + 0x40]
mov dword [r15], 0xa0000003
mov rcx, qword [rbp + 0x3008]
lea eax, [r12 + 6]
add ax, cx
add ax, ax
mov word [r15 + 4], ax
mov dword [r15 + 6], ebx
movzx ebx, cx
add bx, bx
mov word [r15 + 0xa], bx
lea rcx, [r15 + 0x10]
lea rdx, [rsp + 0x70]
call fcn.14002a9e4
add bx, 2
mov word [r15 + 0xc], bx
add r12w, r12w
mov word [r15 + 0xe], r12w
mov rax, qword [rbp + 0x3008]
add rax, 9
lea rcx, [r15 + rax*2]
lea rdx, [rbp + 0xf70]
call fcn.14002a9e4
jmp 0x140007e93
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140007d52
mov r8, rdi
xor edx, edx
lea ecx, [rax + 0x14]
call fcn.140002240
mov edx, 9
lea rcx, [0x14004b4d0]
call fcn.1400078ac
jmp 0x140007d1e
dec eax
cmp eax, r14d
ja 0x140007d1e
mov r15, qword [rsp + 0x40]
mov dword [r15], 0xa000000c
mov rcx, qword [rbp + 0x3008]
lea eax, [rcx + r12]
add ax, dx
add ax, ax
mov word [r15 + 4], ax
mov dword [r15 + 6], ebx
movzx ebx, cx
add bx, bx
mov word [r15 + 0xa], bx
lea rcx, [r15 + 0x14]
lea rdx, [rsp + 0x70]
call fcn.14002a9e4
add bx, 2
mov word [r15 + 0xc], bx
add r12w, r12w
mov word [r15 + 0xe], r12w
mov rax, qword [rbp + 0x3008]
add rax, 0xb
lea rcx, [r15 + rax*2]
lea rdx, [rbp + 0xf70]
call fcn.14002a9e4
movzx eax, byte [rbp + 0x2ff0]
xor eax, r14d
mov dword [r15 + 0x10], eax
xor r12d, r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x140007eed
mov rdx, rdi
lea rcx, [0x14004b4d0]
call fcn.140007670
lea edx, [rbx + 0xa]
lea rcx, [0x14004b4d0]
call fcn.1400078ac
xor ebx, ebx
jmp 0x140007d1e
movzx r9d, word [r15 + 4]
add r9d, 8
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x3000]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r8, r15
mov edx, 0x900a4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x140007fa3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8, rdi
xor edx, edx
lea ecx, [rdx + 0x15]
call fcn.140002240
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x140007f4e
cmp eax, 0x522
jne 0x140007f63
call fcn.14001227c
xor ebx, ebx
test al, al
jne 0x140007f65
lea ecx, [rbx + 0x18]
call fcn.140004590
jmp 0x140007f65
xor ebx, ebx
lea rcx, [0x14004b4d0]
call fcn.1400078f0
mov edx, 9
lea rcx, [0x14004b4d0]
call fcn.1400078ac
mov rcx, rdi
cmp byte [rsi + 0x1101], bl
je 0x140007f98
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x140007d1e
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x140007d1e
lea rcx, [rbp + 0x1f70]
call fcn.14000a5b8
nop
mov rax, qword [rbp + 0x1f70]
lea rcx, [rbp + 0x1f70]
mov rax, qword [rax + 0x10]
call qword [0x1400384e0]
mov qword [rbp + 0x1f78], rbx
mov eax, dword [r13 + 0x82f0]
lea rcx, [rsi + 0x1060]
neg eax
sbb r9, r9
and r9, rcx
mov eax, dword [r13 + 0x82ec]
lea rcx, [rsi + 0x1058]
neg eax
sbb r8, r8
and r8, rcx
mov eax, dword [r13 + 0x82e8]
lea rcx, [rsi + 0x1050]
neg eax
sbb rdx, rdx
and rdx, rcx
lea rcx, [rbp + 0x1f70]
call fcn.14000aec0
lea rcx, [rbp + 0x1f70]
call fcn.14000a680
cmp byte [r13 + 0x71c4], r12b
jne 0x14000803e
mov edx, dword [rsi + 0x24]
mov rcx, rdi
call fcn.14000b708
nop
lea rcx, [rbp + 0x1f70]
call fcn.14000a600
jmp 0x140007d21
cmp dword [r8 + 0x6d68], 3
jne 0x1400084e9
add r8, 0x2308
mov rdx, r9
jmp 0x140007b2c
xor al, al
ret