Function at 0x140076bd0
Capabilities:
Delete directory

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, r8
mov rdi, rdx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x60], rax
cmp byte [rcx + 8], 0
je 0x140076c64
mov rbx, r9
mov r14, rcx
mov edx, dword [rsp + 0xc0]
mov r15, qword [rcx + 0x30]
test r15, r15
je 0x140076cd6
mov eax, 1
lock xadd dword [r15], eax
test eax, eax
jle 0x140077030
cmp eax, 0x7fffffff
je 0x140077033
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 8]
test rax, rax
je 0x14007702d
mov rcx, r15
mov r8, rbx
call qword [0x14021c008]
mov ebp, eax
lock dec dword [r15]
jne 0x140076c5b
mov rcx, r15
call fcn.14009da30
test bpl, bpl
jne 0x140076cfd
xor r15d, r15d
cmp byte [rdi], 0
je 0x140076c78
lea rcx, [rdi + 8]
call fcn.1400f7860
mov byte [rdi], 0
cmp byte [rsi], 0
je 0x140076c89
lea rcx, [rsi + 8]
call fcn.1400f7860
mov byte [rsi], 0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14012b460
mov eax, r15d
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
add r14, 0x28
lea rcx, [rsp + 0x28]
mov rdx, r14
call fcn.1400f74a0
cmp byte [rsi], 0
je 0x14007702b
lea rdx, [rsi + 8]
mov r8, qword [rsp + 0x28]
mov rcx, rbx
call fcn.140077040
mov r15d, eax
jmp 0x140076c67
mov rax, qword [reloc.OLEAUT32.dll_VariantClear]
test rax, rax
je 0x14007702d
xor r15d, r15d
xor ecx, ecx
mov r8, rbx
call qword [0x14021c008]
test al, al
je 0x140076c67
cmp byte [rdi], 0
je 0x140076ca6
cmp byte [rsi], 0
je 0x140076e04
lea rdx, [r14 + 0x28]
lea rcx, [rsp + 0x30]
call fcn.1400f74a0
cmp byte [r14 + 8], 0
je 0x14007702b
cmp byte [rsi], 0
je 0x14007702b
cmp byte [rdi], 0
je 0x14007702b
mov bpl, byte [r14 + 9]
lea r8, [rdi + 8]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
call fcn.14009f2b0
mov rcx, rbx
mov rdx, r14
call fcn.1400f78e0
mov rcx, r14
call fcn.1400f7860
mov rcx, rbx
call fcn.14008ed90
test bpl, bpl
je 0x140076eee
test al, al
je 0x140076eee
mov dword [rsp + 0x44], 0xaaaaaaaa
mov r14, qword [0x1402080e8]
test r14, r14
jne 0x140076da7
call fcn.1400487a0
mov r14, rax
mov qword [0x1402080e8], rax
mov ecx, 8
call fcn.14012a8b0
lea r15, [rsp + 0x48]
mov qword [r15], rax
lea rcx, [rax + 8]
mov qword [r15 + 0x10], rcx
mov qword [rax], 2
mov qword [r15 + 8], rcx
lea rdx, [rsp + 0x44]
mov rcx, r14
mov r8, rbx
mov r9, r15
call fcn.140049870
mov rcx, qword [r15]
test rcx, rcx
je 0x140076e85
mov rax, qword [rsp + 0x50]
cmp rax, rcx
je 0x140076e7b
add rax, 0xfffffffffffffffc
jne 0x140076df0
jmp 0x140076fe7
lea r8, [rdi + 8]
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
call fcn.14009f2b0
mov rcx, rbx
mov rdx, r14
call fcn.1400f78e0
mov rcx, r14
call fcn.1400f7860
mov rcx, rbx
call fcn.14008ed90
test al, al
jne 0x140076e47
mov rcx, rbx
call fcn.140092300
test al, al
je 0x140076c64
mov rcx, qword [0x1402080e8]
test rcx, rcx
jne 0x140076e62
call fcn.1400487a0
mov rcx, rax
mov qword [0x1402080e8], rax
mov rdx, rbx
mov r8d, 1
mov r9d, 0x12019f
call fcn.140048a90
jmp 0x140076cd1
mov qword [rsp + 0x50], rcx
call fcn.14012a8ec
cmp byte [rsp + 0x44], 0
je 0x140076f40
cmp byte [rsp + 0x45], 0
je 0x140076ee0
mov dword [rsp + 0x48], 0xaaaaaaaa
mov rcx, qword [0x1402080e8]
test rcx, rcx
jne 0x140076eba
call fcn.1400487a0
mov rcx, rax
mov qword [0x1402080e8], rax
lea r14, [rsp + 0x48]
mov rdx, r14
mov r8, rbx
mov r9d, 1
call fcn.14004a340
cmp byte [r14], 0
je 0x140076f40
cmp byte [rsp + 0x49], 0
jne 0x140076f03
mov bpl, 1
mov rcx, rbx
call fcn.14008e9a0
test al, al
je 0x140076f40
jmp 0x140076ef2
test al, al
jne 0x140076efe
mov rcx, rbx
call fcn.140092300
test al, al
je 0x140076f40
test bpl, bpl
jne 0x140076f52
lea r14, [rsi + 8]
lea r15, [rsp + 0x48]
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.1400f74a0
mov r8, qword [r15]
mov rcx, rbx
mov rdx, r14
call fcn.140077040
mov r15b, 1
test al, al
jne 0x140076f43
cmp byte [rbx + 0x17], 0
jns 0x140076f37
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor r15d, r15d
lea rcx, [rsp + 0x38]
call fcn.1400f74d0
jmp 0x140076c67
mov rcx, qword [0x1402080e8]
test rcx, rcx
jne 0x140076f6d
call fcn.1400487a0
mov rcx, rax
mov qword [0x1402080e8], rax
mov rdx, rbx
mov r8d, 1
call fcn.140048d20
test al, al
je 0x140076f40
mov r14, qword [0x1402080e8]
test r14, r14
jne 0x140076f9a
call fcn.1400487a0
mov r14, rax
mov qword [0x1402080e8], rax
mov ecx, 8
call fcn.14012a8b0
lea r15, [rsp + 0x48]
mov qword [r15], rax
lea rcx, [rax + 8]
mov qword [r15 + 0x10], rcx
mov qword [rax], 2
mov qword [r15 + 8], rcx
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.140049cc0
mov ebp, eax
mov rcx, qword [r15]
test rcx, rcx
je 0x14007701d
mov rax, qword [rsp + 0x50]
cmp rax, rcx
je 0x140077013
add rax, 0xfffffffffffffffc
jne 0x140076fdc
lea rax, str.null_pointer_given_to_destroy_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__loc___nullptr
mov r8d, 0x44
call fcn.140166ee0
mov qword [rsp + 0x50], rcx
call fcn.14012a8ec
test bpl, bpl
jne 0x140076f03
jmp 0x140076f40
ud2
int3
int3
int3