Function at 0x140090010
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 [0x140241038]
xor rax, rsp
mov qword [rsp + 0x60], rax
cmp byte [rcx + 8], 0
je 0x14009009b
mov rbx, r9
mov r15, rcx
mov edx, dword [rsp + 0xc0]
mov r14, qword [rcx + 0x30]
test r14, r14
je 0x14009010d
mov eax, 1
lock xadd dword [r14], eax
test eax, eax
jle 0x14009041d
cmp eax, 0x7fffffff
je 0x140090420
mov rax, qword [r15 + 0x30]
mov rax, qword [rax + 8]
mov rcx, r14
mov r8, rbx
call qword [case.0x1401bea20.0]
mov ebp, eax
lock dec dword [r14]
jne 0x140090092
mov rcx, r14
call fcn.1400b5de0
test bpl, bpl
jne 0x14009012b
xor r14d, r14d
cmp byte [rdi], 0
je 0x1400900af
lea rcx, [rdi + 8]
call fcn.14011f120
mov byte [rdi], 0
cmp byte [rsi], 0
je 0x1400900c0
lea rcx, [rsi + 8]
call fcn.14011f120
mov byte [rsi], 0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401542e0
mov eax, r14d
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
add r15, 0x28
lea rcx, [rsp + 0x28]
mov rdx, r15
call fcn.14011ecf0
cmp byte [rsi], 0
je 0x14009041b
lea rdx, [rsi + 8]
mov r8, qword [rsp + 0x28]
mov rcx, rbx
call fcn.140090430
mov r14d, eax
jmp 0x14009009e
mov rax, qword [reloc.OLEAUT32.dll_VariantClear]
xor r14d, r14d
xor ecx, ecx
mov r8, rbx
call qword [case.0x1401bea20.0]
test al, al
je 0x14009009e
cmp byte [rdi], 0
je 0x1400900dd
cmp byte [rsi], 0
je 0x14009028b
lea rdx, [r15 + 0x28]
lea rcx, [rsp + 0x30]
call fcn.14011ecf0
cmp byte [r15 + 8], 0
je 0x14009041b
cmp byte [rsi], 0
je 0x14009041b
cmp byte [rdi], 0
je 0x14009041b
mov bpl, byte [r15 + 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.1400b6f70
mov rcx, rbx
mov rdx, r14
call fcn.14011f1a0
mov rcx, r14
call fcn.14011f120
mov rcx, rbx
call fcn.1400a6a80
mov ecx, eax
xor cl, 1
test bpl, bpl
je 0x140090317
test al, al
je 0x140090317
mov dword [rsp + 0x44], 0xaaaaaaaa
mov r14, qword [0x140257930]
test r14, r14
jne 0x1400901da
call fcn.140069580
mov r14, rax
mov qword [0x140257930], rax
mov ecx, 8
call fcn.1401536a0
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.14006a560
mov rcx, qword [r15]
test rcx, rcx
je 0x140090224
mov qword [rsp + 0x50], rcx
call fcn.1401536dc
cmp byte [rsp + 0x44], 0
je 0x140090409
cmp byte [rsp + 0x45], 0
je 0x140090302
mov dword [rsp + 0x48], 0xaaaaaaaa
mov rcx, qword [0x140257930]
test rcx, rcx
jne 0x14009025d
call fcn.140069580
mov rcx, rax
mov qword [0x140257930], rax
lea r14, [rsp + 0x48]
mov rdx, r14
mov r8, rbx
mov r9d, 1
call fcn.14006af50
cmp byte [r14], 0
je 0x140090409
cmp byte [rsp + 0x49], 0
je 0x140090302
xor ebp, ebp
jmp 0x140090315
lea r8, [rdi + 8]
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
call fcn.1400b6f70
mov rcx, rbx
mov rdx, r14
call fcn.14011f1a0
mov rcx, r14
call fcn.14011f120
mov rcx, rbx
call fcn.1400a6a80
test al, al
jne 0x1400902ce
mov rcx, rbx
call fcn.1400a9c80
test al, al
je 0x14009009b
mov rcx, qword [0x140257930]
test rcx, rcx
jne 0x1400902e9
call fcn.140069580
mov rcx, rax
mov qword [0x140257930], rax
mov rdx, rbx
mov r8d, 1
mov r9d, 0x12019f
call fcn.140069870
jmp 0x140090108
mov rcx, rbx
call fcn.1400a6690
mov bpl, 1
test al, al
je 0x140090409
mov ecx, ebp
test cl, cl
je 0x14009032b
mov rcx, rbx
call fcn.1400a9c80
test al, al
je 0x140090409
test bpl, bpl
je 0x1400903cc
mov rcx, qword [0x140257930]
test rcx, rcx
jne 0x14009034f
call fcn.140069580
mov rcx, rax
mov qword [0x140257930], rax
mov rdx, rbx
mov r8d, 1
call fcn.140069b00
test al, al
je 0x140090409
mov r14, qword [0x140257930]
test r14, r14
jne 0x140090380
call fcn.140069580
mov r14, rax
mov qword [0x140257930], rax
mov ecx, 8
call fcn.1401536a0
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.14006a980
mov ebp, eax
mov rcx, qword [r15]
test rcx, rcx
je 0x1400903c7
mov qword [rsp + 0x50], rcx
call fcn.1401536dc
test bpl, bpl
je 0x140090409
lea r14, [rsi + 8]
lea r15, [rsp + 0x48]
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.14011ecf0
mov r8, qword [r15]
mov rcx, rbx
mov rdx, r14
call fcn.140090430
mov r14b, 1
test al, al
jne 0x14009040c
cmp byte [rbx + 0x17], 0
jns 0x140090400
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor r14d, r14d
lea rcx, [rsp + 0x38]
call fcn.14011ed20
jmp 0x14009009e
ud2
int3
int3