Function at 0x1400adc28
Capabilities:
Delete directory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1400adc75
test byte [rcx + 0x1c], 1
je 0x1400adc75
cmp byte [rcx + 0x19], 5
jb 0x1400adc75
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0xa
call fcn.14001dd24
test rsi, rsi
jne 0x1400adc92
lea r8, [0x140009698]
lea rcx, [0x140009d40]
mov edx, 0xed
call fcn.1400a8be8
and qword [rsp + 0x78], 0
xor edi, edi
xor r15b, r15b
mov dword [rsp + 0x70], edi
test r14, r14
je 0x1400adcad
mov edi, dword [r14]
mov dword [rsp + 0x70], edi
test rbx, rbx
je 0x1400adcb5
mov byte [rbx], 0
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.1400afc1c
mov rbp, qword [rsp + 0x78]
mov esi, eax
test eax, eax
js 0x1400adee7
test r14, r14
je 0x1400adcdc
test byte [r14], 7
je 0x1400add47
lea rdx, [rsp + 0x70]
mov rcx, rbp
call fcn.1400ae11c
mov esi, eax
test eax, eax
jns 0x1400add40
test rbx, rbx
je 0x1400adcf7
mov byte [rbx], 1
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x1400add37
test byte [rcx + 0x1c], 1
je 0x1400add37
cmp byte [rcx + 0x19], 2
jb 0x1400add37
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, reloc.ADVAPI32.dll_TraceMessage
mov r9d, eax
call fcn.14001de24
mov edi, dword [rsp + 0x70]
jmp 0x1400ade62
mov edi, dword [rsp + 0x70]
jmp 0x1400ade69
mov edi, dword [rsp + 0x70]
mov r15b, 1
test dil, 0x10
je 0x1400addcc
bt edi, 0xa
jb 0x1400addcc
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400ade5b
test rbx, rbx
je 0x1400add6c
mov byte [rbx], 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x1400ade69
test byte [rcx + 0x1c], 1
je 0x1400ade69
cmp byte [rcx + 0x19], 2
jb 0x1400ade69
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, reloc.ADVAPI32.dll_GetTraceLoggerHandle
mov r9, rbp
mov dword [rsp + 0x20], esi
call fcn.14001ecbc
jmp 0x1400ade62
and qword [rsp + 0x30], 0
xor r9d, r9d
mov edx, 0x10000
lea r8d, [r9 + 7]
mov rcx, rbp
mov dword [rsp + 0x28], reloc.ADVAPI32.dll_TraceEvent
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x1400ade52
test rbx, rbx
je 0x1400ade05
mov byte [rbx], 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x1400ade69
test byte [rcx + 0x1c], 1
je 0x1400ade69
cmp byte [rcx + 0x19], 2
jb 0x1400ade69
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, reloc.ADVAPI32.dll_GetTraceEnableLevel
mov r9d, esi
call fcn.14001de24
jmp 0x1400ade62
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rbx, [0x14017d3a8]
mov rcx, qword [0x14017d3a8]
test esi, esi
jns 0x1400adef5
test r15b, r15b
je 0x1400adef5
cmp rcx, rbx
je 0x1400adea3
test byte [rcx + 0x1c], 1
je 0x1400adea3
cmp byte [rcx + 0x19], 4
jb 0x1400adea3
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, reloc.ADVAPI32.dll_GetTraceEnableFlags
mov r9, rbp
mov dword [rsp + 0x20], edi
call fcn.14001ecbc
mov edx, edi
mov rcx, rbp
call fcn.1400adf4c
test eax, eax
jns 0x1400adeee
mov rcx, qword [0x14017d3a8]
cmp rcx, rbx
je 0x1400adef5
test byte [rcx + 0x1c], 1
je 0x1400adef5
cmp byte [rcx + 0x19], 2
jb 0x1400adef5
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, reloc.ADVAPI32.dll_RegisterTraceGuidsW
mov r9, rbp
mov dword [rsp + 0x20], eax
call fcn.14001ecbc
jmp 0x1400adeee
lea rbx, [0x14017d3a8]
mov rcx, qword [0x14017d3a8]
test rbp, rbp
je 0x1400adf0a
mov rcx, rbp
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x14017d3a8]
cmp rcx, rbx
je 0x1400adf30
test byte [rcx + 0x1c], 1
je 0x1400adf30
cmp byte [rcx + 0x19], 5
jb 0x1400adf30
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, CoRevokeClassObject
call fcn.14001dd24
mov eax, esi
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret