Function at 0x140011758
Capabilities:
Delete directory
Delete file

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x190
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x14006e368]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rbx, r8
mov qword [rsp + 0x40], rbx
mov r15, rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], rdx
xor r13d, r13d
mov dword [rsp + 0x68], r13d
lea r12d, [r13 + 1]
cmp byte [0x140072e5e], r13b
jne 0x1400117d7
lea rcx, str.SeRestorePrivilege
call fcn.140013c48
lea rcx, str.SeCreateSymbolicLinkPrivilege
call fcn.140013c48
mov byte [0x140072e5e], r12b
lea rsi, [rbx + 0x130]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x50], rax
lea edx, [rax*4 + 0x1c]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r13
lea rcx, [rsp + 0x78]
call fcn.1400011cc
nop
mov rcx, rsi
mov eax, 8
cmp qword [rsi + 0x18], rax
jb 0x140011817
mov rcx, qword [rsi]
mov rbx, qword [rsi + 0x10]
mov qword [rsp + 0x20], 4
lea r9, str.___
xor r8d, r8d
mov rdx, rbx
call fcn.140011504
mov r14, rax
mov qword [rsp + 0x58], rax
or rdi, 0xffffffffffffffff
xorps xmm0, xmm0
cmp rax, rdi
je 0x140011890
mov qword [rbp - 0x70], r13
movdqu xmmword [rbp - 0x60], xmm0
cmp rbx, 4
jb 0x140012327
lea rax, [rbx - 4]
mov r8, rdi
cmp rax, rdi
cmovb r8, rax
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140011878
mov rdx, qword [rsi]
add rdx, 8
lea rcx, [rbp - 0x70]
call fcn.1400033a4
lea rax, [rbp - 0x70]
mov ebx, 5
jmp 0x1400118bb
mov qword [rbp - 0x30], r13
movdqu xmmword [rbp - 0x20], xmm0
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1400118a6
mov rdx, qword [rsi]
mov r8, rbx
lea rcx, [rbp - 0x30]
call fcn.140008de0
lea rax, [rbp - 0x30]
mov ebx, 2
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov eax, 8
test bl, 2
je 0x14001192b
and ebx, 0xfffffffd
mov rdx, qword [rbp - 0x18]
cmp rdx, rax
jb 0x14001192b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011921
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001232d
call fcn.140040ed4
mov eax, 8
test r12b, bl
je 0x14001196f
mov rdx, qword [rbp - 0x58]
cmp rdx, rax
jb 0x14001196f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001196a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012333
call fcn.140040ed4
mov r13, qword [rbp - 0x40]
cmp r14, rdi
je 0x140011a73
lea rcx, [rbp - 0x50]
mov r14d, 8
cmp qword [rbp - 0x38], r14
cmovae rcx, qword [rbp - 0x50]
mov qword [rsp + 0x20], 4
lea r9, str.UNC_
xor r8d, r8d
mov rdx, r13
call fcn.140011504
cmp rax, rdi
je 0x140011a73
xor ebx, ebx
mov qword [rbp - 0x70], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
cmp r13, 3
jb 0x140012339
lea rax, [r13 - 3]
mov r8, rdi
cmp rax, rdi
cmovb r8, rax
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], r14
cmovae rdx, qword [rbp - 0x50]
add rdx, 6
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
mov r9, r12
lea r8, [0x140058fb4]
xor edx, edx
lea rcx, [rbp - 0x70]
call fcn.140007180
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
mov rdx, qword [rbp - 0x38]
cmp rdx, r14
jb 0x140011a5e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011a59
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001233f
call fcn.140040ed4
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
lea rcx, [rbp - 0x70]
call fcn.140003250
mov r13, qword [rbp - 0x40]
mov r14, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x48]
xor ecx, ecx
cmp byte [rbx + 0x9b], cl
jne 0x140011af2
cmp qword [rsp + 0x58], rdi
jne 0x140011ca6
mov rcx, rsi
call fcn.140022cec
xor ecx, ecx
test al, al
jne 0x140011ca6
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rcx
mov r8, rdi
inc r8
cmp word [r15 + r8*2], cx
jne 0x140011ab3
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
mov rbx, qword [rsp + 0x40]
lea rdx, [rbx + 0x28]
mov r9, rsi
lea r8, [rbp - 0x70]
mov rcx, qword [rsp + 0x48]
call fcn.140013740
xor ecx, ecx
test al, al
je 0x140011cab
mov rbx, qword [rsp + 0x48]
mov qword [rbp - 0x70], rcx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov r8, rdi
inc r8
cmp word [r15 + r8*2], cx
jne 0x140011b01
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
mov r8b, byte [rbx + 0x5f]
mov dl, r12b
lea rcx, [rbp - 0x70]
call fcn.14001ad90
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140011b69
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011b64
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012345
call fcn.140040ed4
xor eax, eax
mov qword [rbp - 0x70], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov r8, rdi
inc r8
cmp word [r15 + r8*2], ax
jne 0x140011b7a
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
lea rcx, [rbp - 0x70]
call fcn.14001b134
mov bl, al
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140011bdc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011bd7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001234b
call fcn.140040ed4
xor eax, eax
test bl, bl
je 0x140011d22
mov qword [rbp - 0x70], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov r8, rdi
inc r8
cmp word [r15 + r8*2], ax
jne 0x140011bf5
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
lea rcx, [rbp - 0x70]
call fcn.14001b148
mov ecx, eax
call fcn.14001b308
mov bl, al
lea rcx, [rbp - 0x70]
call fcn.140003250
xor eax, eax
mov qword [rbp - 0x70], rax
xorps xmm0, xmm0
mov r8, rdi
movdqu xmmword [rbp - 0x60], xmm0
test bl, bl
je 0x140011cc1
inc r8
cmp word [r15 + r8*2], ax
jne 0x140011c40
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
lea rcx, [rbp - 0x70]
call fcn.14001af5c
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140011d22
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011d1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012321
jmp 0x140011d1d
mov rbx, qword [rsp + 0x40]
lea rdx, [rbx + 0x28]
mov r8, rsi
mov ecx, 0x67
call fcn.140001678
jmp 0x140011f0e
inc r8
cmp word [r15 + r8*2], ax
jne 0x140011cc1
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
lea rcx, [rbp - 0x70]
call fcn.14001b048
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140011d22
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011d1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012351
call fcn.140040ed4
mov rax, qword [rsp + 0x40]
xor ebx, ebx
cmp byte [rax + 0x111], bl
jne 0x140011eb0
cmp byte [rax + 0x150], bl
jne 0x140011eb0
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, r15
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, rdi
jne 0x140011df7
xor r13d, r13d
mov qword [rbp - 0x70], r13
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
inc rdi
cmp word [r15 + rdi*2], r13w
jne 0x140011d7f
mov r8, rdi
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
lea rdx, [rbp - 0x70]
lea rcx, [0x140072f00]
call fcn.140010b20
nop
mov rdx, qword [rbp - 0x58]
mov esi, 8
cmp rdx, rsi
jb 0x140011f20
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011ded
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012357
call fcn.140040ed4
jmp 0x140011f20
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x40]
mov eax, dword [rbx + 0x128]
cmp eax, 3
jne 0x140011fe5
mov dword [r14], 0xa0000003
mov r8, qword [rsp + 0x50]
lea eax, [r13 + 6]
add ax, r8w
add ax, ax
mov word [r14 + 4], ax
and dword [r14 + 6], 0
movzx ecx, r8w
add cx, cx
mov word [r14 + 0xa], cx
cmp qword [rsi + 0x18], 8
jb 0x140011e4b
mov rsi, qword [rsi]
mov rdx, r14
sub rdx, rsi
mov r10d, 2
movzx eax, word [rsi]
mov word [rdx + rsi + 0x10], ax
add rsi, r10
test ax, ax
jne 0x140011e57
add cx, r10w
mov word [r14 + 0xc], cx
add r13w, r13w
mov word [r14 + 0xe], r13w
lea rcx, [rbp - 0x50]
mov esi, 8
cmp qword [rbp - 0x38], rsi
cmovae rcx, qword [rbp - 0x50]
lea rdx, [r8*2 + 0x12]
sub rdx, rcx
add rdx, r14
xor r13d, r13d
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, r10
test ax, ax
jne 0x140011e9c
jmp 0x14001209b
mov qword [rbp - 0x70], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov r8, rdi
inc r8
cmp word [r15 + r8*2], bx
jne 0x140011ebf
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
lea rcx, [rbp - 0x70]
call fcn.14001ad78
mov bl, al
lea rcx, [rbp - 0x70]
call fcn.140003250
test bl, bl
jne 0x140011e00
lea r8, [rsp + 0x60]
lea rdx, [0x140058fd4]
mov ecx, 0x14
call fcn.140011594
mov r12d, 9
mov edx, r12d
lea rcx, [0x140072f00]
call fcn.140010fd0
xor r13d, r13d
mov r12b, r13b
mov rdx, qword [rbp - 0x38]
mov eax, 8
cmp rdx, rax
jb 0x140011f67
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011f62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001235d
call fcn.140040ed4
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r13w
test r14, r14
je 0x140011fb1
mov rdx, qword [rbp - 0x78]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x140011fa9
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001231b
mov rcx, r14
call fcn.140040ed4
mov al, r12b
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.140041050
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
dec eax
cmp eax, r12d
ja 0x140011f1d
mov dword [r14], 0xa000000c
mov r8, qword [rsp + 0x50]
lea eax, [r8 + r13]
mov r10d, 8
add ax, r10w
add ax, ax
mov word [r14 + 4], ax
and dword [r14 + 6], 0
movzx ecx, r8w
add cx, cx
mov word [r14 + 0xa], cx
cmp qword [rsi + 0x18], r10
jb 0x14001202c
mov rsi, qword [rsi]
mov rdx, r14
sub rdx, rsi
mov r11d, 2
movzx eax, word [rsi]
mov word [rdx + rsi + 0x14], ax
add rsi, r11
test ax, ax
jne 0x140012038
add cx, r11w
mov word [r14 + 0xc], cx
add r13w, r13w
mov word [r14 + 0xe], r13w
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], r10
cmovae rcx, qword [rbp - 0x50]
lea rdx, [r8*2 + 0x16]
sub rdx, rcx
add rdx, r14
xor r13d, r13d
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, r11
test ax, ax
jne 0x140012078
mov eax, r13d
cmp qword [rsp + 0x58], rdi
sete al
mov dword [r14 + 0x10], eax
mov esi, 8
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, rdi
jne 0x14001215c
mov qword [rbp - 0x70], r13
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
inc rdi
cmp word [r15 + rdi*2], r13w
jne 0x1400120dc
mov r8, rdi
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
lea rdx, [rbp - 0x70]
lea rcx, [0x140072f00]
call fcn.140010b20
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, rsi
jb 0x140012146
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012141
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012363
call fcn.140040ed4
mov edx, 9
lea rcx, [0x140072f00]
call fcn.140010fd0
jmp 0x140011f20
movzx r9d, word [r14 + 4]
add r9d, esi
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r8, r14
mov edx, 0x900a4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x14001221e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, [rsp + 0x60]
lea rdx, [0x140058ffc]
mov ecx, 0x15
call fcn.140011594
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x1400121c7
cmp eax, 0x522
jne 0x1400121da
call fcn.140032350
test al, al
jne 0x1400121da
mov ecx, 0x18
call fcn.140003c50
lea rcx, [0x140072f00]
call fcn.140011040
mov edx, 9
lea rcx, [0x140072f00]
call fcn.140010fd0
mov rax, qword [rsp + 0x40]
mov rcx, r15
cmp byte [rax + 0x111], r13b
je 0x140012213
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x140011f20
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x140011f20
lea rcx, [rbp - 0x10]
call fcn.140019afc
nop
mov rax, qword [rbp - 0x10]
lea rcx, [rbp - 0x10]
mov rax, qword [rax + 0x10]
call qword [0x140058518]
mov qword [rbp - 8], rbx
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x3e0]
mov rbx, qword [rsp + 0x40]
lea rcx, [rbx + 0x70]
neg eax
sbb r9, r9
and r9, rcx
mov eax, dword [rsi + 0x3dc]
lea rcx, [rbx + 0x68]
neg eax
sbb r8, r8
and r8, rcx
mov eax, dword [rsi + 0x3d8]
lea rcx, [rbx + 0x60]
neg eax
sbb rdx, rdx
and rdx, rcx
lea rcx, [rbp - 0x10]
call fcn.14001a600
lea rcx, [rbp - 0x10]
call fcn.140019be0
cmp byte [rsi + 0x2b2], r13b
jne 0x14001230d
mov qword [rbp - 0x70], r13
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
inc rdi
cmp word [r15 + rdi*2], r13w
jne 0x1400122a5
mov r8, rdi
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.1400033a4
nop
mov edx, dword [rbx + 0x24]
lea rcx, [rbp - 0x70]
call fcn.14001c05c
nop
mov rdx, qword [rbp - 0x58]
mov eax, 8
cmp rdx, rax
jb 0x14001230d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012307
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012369
call fcn.140040ed4
nop
lea rcx, [rbp - 0x10]
call fcn.140019b54
jmp 0x140011f23
call fcn.140046404
nop
call fcn.140046404
nop
call fcn.140006fc8
nop
call fcn.140046404
nop
call fcn.140046404
int3
call fcn.140006fc8
nop
call fcn.140046404
nop
call fcn.140046404
int3
call fcn.140046404
int3
call fcn.140046404
int3
call fcn.140046404
nop
call fcn.140046404
nop
call fcn.140046404
nop
call fcn.140046404
int3