Function at 0x14000c278
Capabilities:
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 - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x14005be78]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r13, r8
mov rsi, rdx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rdx
xor edi, edi
mov dword [rsp + 0x60], edi
lea r12d, [rdi + 1]
cmp byte [0x14005e943], dil
jne 0x14000c2ea
lea rcx, str.SeRestorePrivilege
call fcn.14000dd34
lea rcx, str.SeCreateSymbolicLinkPrivilege
call fcn.14000dd34
mov byte [0x14005e943], r12b
lea r14, [r13 + 0x130]
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x40], rax
lea edx, [rax*4 + 0x1c]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
lea rcx, [rsp + 0x70]
call fcn.14000bd14
nop
lea rcx, [0x140048e58]
call fcn.14003754c
mov rcx, r14
mov edx, 8
cmp qword [r14 + 0x18], rdx
jb 0x14000c336
mov rcx, qword [r14]
mov rbx, qword [r14 + 0x10]
mov qword [rsp + 0x20], rax
lea r9, [0x140048e58]
xor r8d, r8d
mov rdx, rbx
call fcn.14000bed8
mov r15, rax
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
cmp rax, 0xffffffffffffffff
je 0x14000c3a9
mov qword [rbp - 0x18], rdi
movdqu xmmword [rbp - 8], xmm0
cmp rbx, 4
jb 0x14000cdcc
lea rax, [rbx - 4]
or r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x14000c391
mov rdx, qword [r14]
add rdx, 8
lea rcx, [rbp - 0x18]
call fcn.14000129c
lea rbx, [rbp - 0x18]
mov edi, 5
jmp 0x14000c3d4
mov qword [rbp - 0x38], rdi
movdqu xmmword [rbp - 0x28], xmm0
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x14000c3bf
mov rdx, qword [r14]
mov r8, rbx
lea rcx, [rbp - 0x38]
call fcn.140008ca4
lea rbx, [rbp - 0x38]
mov edi, 2
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
lea r8d, [rax + 0x20]
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.140033210
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 7
mov word [rbx], ax
lea ebx, [rax + 8]
test dil, 2
je 0x14000c461
and edi, 0xfffffffd
mov rdx, qword [rbp - 0x20]
cmp rdx, rbx
jb 0x14000c450
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c449
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cdd2
call fcn.140031ddc
xor eax, eax
movdqa xmm0, xmmword [0x1400489c0]
movdqu xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x38], ax
test r12b, dil
je 0x14000c4ba
mov rdx, qword [rbp]
cmp rdx, rbx
jb 0x14000c4a5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c4a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cdd8
call fcn.140031ddc
movdqa xmm0, xmmword [0x1400489c0]
movdqu xmmword [rbp - 8], xmm0
xor edi, edi
mov word [rbp - 0x18], di
jmp 0x14000c4bc
xor edi, edi
cmp r15, 0xffffffffffffffff
je 0x14000c5ea
lea rcx, str.UNC_
call fcn.14003754c
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], rbx
cmovae rcx, qword [rbp - 0x58]
mov qword [rsp + 0x20], rax
lea r9, str.UNC_
xor r8d, r8d
mov r15, qword [rbp - 0x48]
mov rdx, r15
call fcn.14000bed8
cmp rax, 0xffffffffffffffff
je 0x14000c5ee
mov qword [rbp - 0x78], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
cmp r15, 3
jb 0x14000cdde
lea rax, [r15 - 3]
or r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], rbx
cmovae rdx, qword [rbp - 0x58]
add rdx, 6
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
lea r8, [rbp - 0x78]
lea rdx, [0x140048e74]
lea rcx, [rbp + 0x80]
call fcn.140003c84
mov rbx, rax
lea rax, [rbp - 0x58]
cmp rax, rbx
je 0x14000c5d4
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x14000c5a7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c5a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cde4
call fcn.140031ddc
mov qword [rbp - 0x48], rdi
mov r15d, 7
mov qword [rbp - 0x40], r15
mov word [rbp - 0x58], di
lea r8d, [r15 + 0x19]
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.140033210
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], r15
mov word [rbx], di
lea rcx, [rbp + 0x80]
call fcn.140001fa0
nop
lea rcx, [rbp - 0x78]
call fcn.140001fa0
mov r15, qword [rbp - 0x48]
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x58]
cmp byte [rbx + 0x93], 0
jne 0x14000c65d
cmp qword [rsp + 0x48], 0xffffffffffffffff
jne 0x14000c9fb
mov rcx, r14
call fcn.140016e1c
xor ecx, ecx
test al, al
jne 0x14000c9fb
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x60], rcx
mov rcx, rsi
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
lea rdx, [r13 + 0x28]
mov r9, r14
lea r8, [rbp - 0x78]
mov rcx, rbx
call fcn.14000d89c
test al, al
je 0x14000c9fb
and qword [rbp - 0x78], 0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rcx, rsi
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
mov r8b, byte [rbx + 0x5b]
mov dl, r12b
lea rcx, [rbp - 0x78]
call fcn.140012ed8
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14000c6d3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c6ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cdea
call fcn.140031ddc
and qword [rbp - 0x78], 0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rcx, rsi
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
lea rcx, [rbp - 0x78]
call fcn.140013228
mov bl, al
lea rcx, [rbp - 0x78]
call fcn.140001fa0
xor eax, eax
test bl, bl
je 0x14000c831
mov qword [rbp - 0x78], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rcx, rsi
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
lea rcx, [rbp - 0x78]
call fcn.14001323c
mov ecx, eax
call fcn.140013320
mov bl, al
lea rcx, [rbp - 0x78]
call fcn.140001fa0
xorps xmm0, xmm0
mov rcx, rsi
movdqu xmmword [rbp - 0x68], xmm0
test bl, bl
je 0x14000c7cf
xor ebx, ebx
mov qword [rbp - 0x78], rbx
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
lea rcx, [rbp - 0x78]
call fcn.140013050
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14000c833
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c7c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cdf0
call fcn.140031ddc
jmp 0x14000c833
xor ebx, ebx
mov qword [rbp - 0x78], rbx
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
lea rcx, [rbp - 0x78]
call fcn.14001313c
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14000c833
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c7c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cdc6
jmp 0x14000c7c8
xor ebx, ebx
cmp byte [r13 + 0x111], bl
jne 0x14000c994
cmp byte [r13 + 0x150], bl
jne 0x14000c994
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x14000c900
mov qword [rbp - 0x78], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rcx, rsi
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
lea rdx, [rbp - 0x78]
lea rcx, [0x14005e9e0]
call fcn.14000b530
nop
mov rdx, qword [rbp - 0x60]
mov r15d, 8
cmp rdx, r15
jb 0x14000ca01
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c8f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cdf6
call fcn.140031ddc
jmp 0x14000ca01
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [r13 + 0x128]
cmp eax, 3
jne 0x14000cabd
mov dword [rdi], 0xa0000003
mov rcx, qword [rsp + 0x40]
lea eax, [r15 + 6]
add ax, cx
add ax, ax
mov word [rdi + 4], ax
and dword [rdi + 6], 0
movzx ebx, cx
add bx, bx
mov word [rdi + 0xa], bx
cmp qword [r14 + 0x18], 8
jb 0x14000c94a
mov r14, qword [r14]
lea rcx, [rdi + 0x10]
mov rdx, r14
call fcn.140037684
add bx, 2
mov word [rdi + 0xc], bx
add r15w, r15w
mov word [rdi + 0xe], r15w
lea rdx, [rbp - 0x58]
mov r15d, 8
cmp qword [rbp - 0x40], r15
cmovae rdx, qword [rbp - 0x58]
mov rax, qword [rsp + 0x40]
add rax, 9
lea rcx, [rdi + rax*2]
call fcn.140037684
xor r14d, r14d
jmp 0x14000cb51
mov qword [rbp - 0x78], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rcx, rsi
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
lea rcx, [rbp - 0x78]
call fcn.140012ec0
mov bl, al
lea rcx, [rbp - 0x78]
call fcn.140001fa0
test bl, bl
jne 0x14000c909
lea r8, [rsp + 0x50]
lea rdx, [0x1400489d4]
mov ecx, 0x14
call fcn.14000bf68
mov edx, 9
lea rcx, [0x14005e9e0]
call fcn.14000b994
mov r15d, 8
xor r14d, r14d
mov r12b, r14b
mov rdx, qword [rbp - 0x40]
cmp rdx, r15
jb 0x14000ca46
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ca41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cdfc
call fcn.140031ddc
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], r14w
test rdi, rdi
je 0x14000ca90
mov rdx, qword [rbp - 0x80]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000ca88
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cdc0
mov rcx, rdi
call fcn.140031ddc
mov al, r12b
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140031ef0
mov rbx, qword [rsp + 0x208]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
dec eax
cmp eax, r12d
ja 0x14000c9fb
mov dword [rdi], 0xa000000c
mov rcx, qword [rsp + 0x40]
lea eax, [rcx + r15]
mov edx, 8
add ax, dx
add ax, ax
mov word [rdi + 4], ax
and dword [rdi + 6], 0
movzx ebx, cx
add bx, bx
mov word [rdi + 0xa], bx
cmp qword [r14 + 0x18], rdx
jb 0x14000cafd
mov r14, qword [r14]
lea rcx, [rdi + 0x14]
mov rdx, r14
call fcn.140037684
add bx, 2
mov word [rdi + 0xc], bx
add r15w, r15w
mov word [rdi + 0xe], r15w
lea rdx, [rbp - 0x58]
mov r15d, 8
cmp qword [rbp - 0x40], r15
cmovae rdx, qword [rbp - 0x58]
mov rax, qword [rsp + 0x40]
add rax, 0xb
lea rcx, [rdi + rax*2]
call fcn.140037684
xor r14d, r14d
mov eax, r14d
cmp qword [rsp + 0x48], 0xffffffffffffffff
sete al
mov dword [rdi + 0x10], eax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x14000cc11
mov qword [rbp - 0x78], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rcx, rsi
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
lea rdx, [rbp - 0x78]
lea rcx, [0x14005e9e0]
call fcn.14000b530
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, r15
jb 0x14000cbfb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cbf6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ce02
call fcn.140031ddc
mov edx, 9
lea rcx, [0x14005e9e0]
call fcn.14000b994
jmp 0x14000ca04
movzx r9d, word [rdi + 4]
add r9d, r15d
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r8, rdi
mov edx, 0x900a4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x14000ccce
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, [rsp + 0x50]
lea rdx, [0x1400489d4]
mov ecx, 0x15
call fcn.14000bf68
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x14000cc7c
cmp eax, 0x522
jne 0x14000cc8f
call fcn.14001d92c
test al, al
jne 0x14000cc8f
mov ecx, 0x18
call fcn.1400042b0
lea rcx, [0x14005e9e0]
call fcn.14000b9d8
mov edx, 9
lea rcx, [0x14005e9e0]
call fcn.14000b994
mov rcx, rsi
cmp byte [r13 + 0x111], r14b
je 0x14000ccc3
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x14000ca04
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x14000ca04
lea rcx, [rbp + 0x10]
call fcn.140011f78
nop
mov rax, qword [rbp + 0x10]
lea rcx, [rbp + 0x10]
mov rax, qword [rax + 0x10]
call qword [0x140048518]
mov qword [rbp + 0x18], rbx
mov rbx, qword [rsp + 0x58]
mov eax, dword [rbx + 0x1d8]
lea rcx, [r13 + 0x70]
neg eax
sbb r9, r9
and r9, rcx
mov eax, dword [rbx + 0x1d4]
lea rcx, [r13 + 0x68]
neg eax
sbb r8, r8
and r8, rcx
mov eax, dword [rbx + 0x1d0]
lea rcx, [r13 + 0x60]
neg eax
sbb rdx, rdx
and rdx, rcx
lea rcx, [rbp + 0x10]
call fcn.140012a50
lea rcx, [rbp + 0x10]
call fcn.140012050
cmp byte [rbx + 0xa8], r14b
jne 0x14000cdb2
mov qword [rbp - 0x78], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rcx, rsi
call fcn.14003754c
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14000129c
nop
mov edx, dword [r13 + 0x24]
lea rcx, [rbp - 0x78]
call fcn.140013cb4
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, r15
jb 0x14000cdb2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cdac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ce08
call fcn.140031ddc
nop
lea rcx, [rbp + 0x10]
call fcn.140011fd0
jmp 0x14000ca07
call fcn.1400374d4
nop
call fcn.1400374d4
nop
call fcn.140007050
nop
call fcn.1400374d4
nop
call fcn.1400374d4
int3
call fcn.140007050
nop
call fcn.1400374d4
nop
call fcn.1400374d4
int3
call fcn.1400374d4
int3
call fcn.1400374d4
nop
call fcn.1400374d4
nop
call fcn.1400374d4
nop
call fcn.1400374d4
int3