Function at 0x14008f150
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 [0x14023e038]
xor rax, rsp
mov qword [rsp + 0x60], rax
cmp byte [rcx + 8], 0
je 0x14008f1d3
mov rbx, r9
mov r15, rcx
mov edx, dword [rsp + 0xc0]
mov r14, qword [rcx + 0x30]
test r14, r14
je 0x14008f1db
mov eax, 1
lock xadd dword [r14], eax
test eax, eax
jle 0x14008f569
cmp eax, 0x7fffffff
je 0x14008f56c
mov rax, qword [r15 + 0x30]
mov rax, qword [rax + 8]
mov rcx, r14
mov r8, rbx
call qword [case.0x1401bb600.0]
mov ebp, eax
lock dec dword [r14]
jne 0x14008f1ce
mov rcx, r14
call fcn.1400b4630
test bpl, bpl
jne 0x14008f1f9
xor r14d, r14d
jmp 0x14008f528
mov rax, qword [reloc.OLEAUT32.dll_VariantClear]
xor r14d, r14d
xor ecx, ecx
mov r8, rbx
call qword [case.0x1401bb600.0]
test al, al
je 0x14008f528
cmp byte [rdi], 0
je 0x14008f366
cmp byte [rsi], 0
je 0x14008f393
lea rdx, [r15 + 0x28]
lea rcx, [rsp + 0x30]
call fcn.14011bc90
cmp byte [r15 + 8], 0
je 0x14008f567
cmp byte [rsi], 0
je 0x14008f567
cmp byte [rdi], 0
je 0x14008f567
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.1400b56f0
mov rcx, rbx
mov rdx, r14
call fcn.14011c130
mov rcx, r14
call fcn.14011c0c0
mov rcx, rbx
call fcn.1400a57b0
mov ecx, eax
xor cl, 1
test bpl, bpl
je 0x14008f422
test al, al
je 0x14008f422
mov dword [rsp + 0x44], 0xaaaaaaaa
mov r14, qword [0x1402548b0]
test r14, r14
jne 0x14008f2ac
call fcn.140068fb0
mov r14, rax
mov qword [0x1402548b0], rax
mov ecx, 8
call fcn.1401507f0
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.140069f70
mov rcx, qword [r15]
test rcx, rcx
je 0x14008f2f6
mov qword [rsp + 0x50], rcx
call fcn.14015082c
cmp byte [rsp + 0x44], 0
je 0x14008f51b
cmp byte [rsp + 0x45], 0
je 0x14008f40d
mov dword [rsp + 0x48], 0xaaaaaaaa
mov rcx, qword [0x1402548b0]
test rcx, rcx
jne 0x14008f32f
call fcn.140068fb0
mov rcx, rax
mov qword [0x1402548b0], rax
lea r14, [rsp + 0x48]
mov rdx, r14
mov r8, rbx
mov r9d, 1
call fcn.14006a9a0
cmp byte [r14], 0
je 0x14008f51b
mov al, byte [rsp + 0x49]
mov ebp, eax
xor bpl, 1
test al, 1
je 0x14008f410
jmp 0x14008f420
add r15, 0x28
lea rcx, [rsp + 0x28]
mov rdx, r15
call fcn.14011bc90
cmp byte [rsi], 0
je 0x14008f567
lea rdx, [rsi + 8]
mov r8, qword [rsp + 0x28]
mov rcx, rbx
call fcn.14008f570
jmp 0x14008f405
lea r8, [rdi + 8]
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
call fcn.1400b56f0
mov rcx, rbx
mov rdx, r14
call fcn.14011c130
mov rcx, r14
call fcn.14011c0c0
mov rcx, rbx
call fcn.1400a57b0
test al, al
jne 0x14008f3d6
mov rcx, rbx
call fcn.1400a86b0
test al, al
je 0x14008f1d3
mov rcx, qword [0x1402548b0]
test rcx, rcx
jne 0x14008f3f1
call fcn.140068fb0
mov rcx, rax
mov qword [0x1402548b0], rax
mov rdx, rbx
mov r8d, 1
mov r9d, 0x12019f
call fcn.140069290
mov r14d, eax
jmp 0x14008f528
mov bpl, 1
mov rcx, rbx
call fcn.1400a53c0
test al, al
je 0x14008f51b
mov ecx, ebp
test cl, 1
je 0x14008f437
mov rcx, rbx
call fcn.1400a86b0
test al, al
je 0x14008f51b
test bpl, 1
jne 0x14008f483
lea r14, [rsi + 8]
lea r15, [rsp + 0x48]
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.14011bc90
mov r8, qword [r15]
mov rcx, rbx
mov rdx, r14
call fcn.14008f570
mov r14b, 1
test al, al
jne 0x14008f51e
cmp byte [rbx + 0x17], 0
jns 0x14008f475
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x14008f51b
mov rcx, qword [0x1402548b0]
test rcx, rcx
jne 0x14008f49e
call fcn.140068fb0
mov rcx, rax
mov qword [0x1402548b0], rax
mov rdx, rbx
mov r8d, 1
call fcn.140069510
test al, al
je 0x14008f51b
mov r14, qword [0x1402548b0]
test r14, r14
jne 0x14008f4cb
call fcn.140068fb0
mov r14, rax
mov qword [0x1402548b0], rax
mov ecx, 8
call fcn.1401507f0
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.14006a380
mov ebp, eax
mov rcx, qword [r15]
test rcx, rcx
je 0x14008f512
mov qword [rsp + 0x50], rcx
call fcn.14015082c
test bpl, bpl
jne 0x14008f43d
xor r14d, r14d
lea rcx, [rsp + 0x38]
call fcn.14011bcc0
cmp byte [rdi], 0
je 0x14008f539
lea rcx, [rdi + 8]
call fcn.14011c0c0
mov byte [rdi], 0
cmp byte [rsi], 0
je 0x14008f54a
lea rcx, [rsi + 8]
call fcn.14011c0c0
mov byte [rsi], 0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401513b0
mov eax, r14d
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
ud2
int3
int3