Function at 0x7fffb6d8d36c
Capabilities:
Delete directory

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov rdi, rcx
mov rcx, qword [rcx + 0x50]
call qword [sym.imp.KernelBase.dll_RemoveDirectoryW]
mov rbx, qword [rdi + 0x178]
xor esi, esi
mov qword [rdi + 0x178], rsi
test rbx, rbx
je 0x7fffb6d8d3ba
mov rcx, rbx
call qword [sym.imp.kernel32.dll_DeleteCriticalSection]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
lea rax, [rdi + 0x168]
mov qword [rsp + 0x58], rax
mov rbx, qword [rax]
mov qword [rax], rsi
or ebp, 0xffffffff
test rbx, rbx
je 0x7fffb6d8d422
mov ecx, ebp
lock xadd dword [rbx], ecx
add ecx, ebp
jne 0x7fffb6d8d409
lock inc dword [rbx]
mov rcx, qword [rbx + 0x90]
mov qword [rbx + 0x90], rsi
test rcx, rcx
je 0x7fffb6d8d401
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [sym.imp.____1]
mov ecx, ebp
lock xadd dword [rbx], ecx
add ecx, ebp
mov edx, dword [rbx + 4]
add edx, ecx
jne 0x7fffb6d8d422
mov rcx, rbx
call fcn.7fffb6d8d36c
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
nop
lea rax, [rdi + 0x160]
mov qword [rsp + 0x58], rax
mov rbx, qword [rax]
mov qword [rax], rsi
test rbx, rbx
je 0x7fffb6d8d487
mov ecx, ebp
lock xadd dword [rbx], ecx
add ecx, ebp
jne 0x7fffb6d8d46e
lock inc dword [rbx]
mov rcx, qword [rbx + 0x90]
mov qword [rbx + 0x90], rsi
test rcx, rcx
je 0x7fffb6d8d466
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [sym.imp.____1]
mov ecx, ebp
lock xadd dword [rbx], ecx
add ecx, ebp
mov edx, dword [rbx + 4]
add edx, ecx
jne 0x7fffb6d8d487
mov rcx, rbx
call fcn.7fffb6d8d36c
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
nop
lea rcx, [rdi + 0x140]
mov qword [rsp + 0x58], rcx
add rcx, 0x10
call fcn.7fffb6d89d08
nop
lea rcx, [rdi + 0xb0]
call fcn.7fffb6d8d2e0
nop
mov rcx, qword [rdi + 0x98]
mov qword [rdi + 0x98], rsi
test rcx, rcx
je 0x7fffb6d8d4c4
call qword [sym.imp.msvcrt.dll_free]
nop
lea rax, [rdi + 0x90]
mov qword [rsp + 0x58], rax
mov rcx, qword [rax]
mov qword [rax], rsi
test rcx, rcx
je 0x7fffb6d8d4e9
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [sym.imp.____1]
nop
lea rax, [rdi + 0x78]
mov qword [rsp + 0x58], rax
mov rbx, qword [rax + 0x10]
mov qword [rax + 0x10], rsi
test rbx, rbx
je 0x7fffb6d8d521
mov qword [rsp + 0x58], rbx
lea rcx, [rbx + 0x28]
call fcn.7fffb6d96b50
nop
lea rcx, [rbx + 0x20]
call fcn.7fffb6d96b50
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rdi + 0x60]
test rcx, rcx
je 0x7fffb6d8d54b
lea rbx, [rcx - 8]
lea r9, [0x7fffb6d94a50]
mov r8, qword [rbx]
mov edx, 8
call fcn.7fffb6dd009c
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
mov qword [rdi + 0x60], rsi
mov dword [rdi + 0x70], esi
mov dword [rdi + 0x68], esi
mov rbx, qword [rdi + 0x58]
mov qword [rdi + 0x58], rsi
test rbx, rbx
je 0x7fffb6d8d575
mov rcx, rbx
call qword [sym.imp.kernel32.dll_DeleteCriticalSection]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rdi + 0x50]
mov qword [rdi + 0x50], rsi
test rcx, rcx
je 0x7fffb6d8d589
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rdi + 0x48]
mov qword [rdi + 0x48], rsi
test rcx, rcx
je 0x7fffb6d8d59d
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rdi + 0x38]
mov qword [rdi + 0x38], rsi
test rcx, rcx
je 0x7fffb6d8d5b1
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x30], rsi
test rcx, rcx
je 0x7fffb6d8d5c5
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rdi + 0x28]
mov qword [rdi + 0x28], rsi
test rcx, rcx
je 0x7fffb6d8d5d9
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rdi + 0x20]
mov qword [rdi + 0x20], rsi
test rcx, rcx
je 0x7fffb6d8d5ec
call qword [sym.imp.msvcrt.dll_free]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret