Function at 0x140075340
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 [0x1401e8038]
xor rax, rsp
mov qword [rsp + 0x60], rax
cmp byte [rcx + 8], 0
je 0x1400753d4
mov rbx, r9
mov r14, rcx
mov edx, dword [rsp + 0xc0]
mov r15, qword [rcx + 0x30]
test r15, r15
je 0x140075446
mov eax, 1
lock xadd dword [r15], eax
test eax, eax
jle 0x1400757a0
cmp eax, 0x7fffffff
je 0x1400757a3
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 8]
test rax, rax
je 0x14007579d
mov rcx, r15
mov r8, rbx
call qword [0x140215008]
mov ebp, eax
lock dec dword [r15]
jne 0x1400753cb
mov rcx, r15
call fcn.140099200
test bpl, bpl
jne 0x14007546d
xor r15d, r15d
cmp byte [rdi], 0
je 0x1400753e8
lea rcx, [rdi + 8]
call fcn.1400f2d50
mov byte [rdi], 0
cmp byte [rsi], 0
je 0x1400753f9
lea rcx, [rsi + 8]
call fcn.1400f2d50
mov byte [rsi], 0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140126950
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.1400f2990
cmp byte [rsi], 0
je 0x14007579b
lea rdx, [rsi + 8]
mov r8, qword [rsp + 0x28]
mov rcx, rbx
call fcn.1400757b0
mov r15d, eax
jmp 0x1400753d7
mov rax, qword [reloc.OLEAUT32.dll_VariantClear]
test rax, rax
je 0x14007579d
xor r15d, r15d
xor ecx, ecx
mov r8, rbx
call qword [0x140215008]
test al, al
je 0x1400753d7
cmp byte [rdi], 0
je 0x140075416
cmp byte [rsi], 0
je 0x140075574
lea rdx, [r14 + 0x28]
lea rcx, [rsp + 0x30]
call fcn.1400f2990
cmp byte [r14 + 8], 0
je 0x14007579b
cmp byte [rsi], 0
je 0x14007579b
cmp byte [rdi], 0
je 0x14007579b
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.14009aa80
mov rcx, rbx
mov rdx, r14
call fcn.1400f2dd0
mov rcx, r14
call fcn.1400f2d50
mov rcx, rbx
call fcn.14008ac40
test bpl, bpl
je 0x14007565e
test al, al
je 0x14007565e
mov dword [rsp + 0x44], 0xaaaaaaaa
mov r14, qword [0x140201ef8]
test r14, r14
jne 0x140075517
call fcn.1400471c0
mov r14, rax
mov qword [0x140201ef8], rax
mov ecx, 8
call fcn.140125da0
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.140048290
mov rcx, qword [r15]
test rcx, rcx
je 0x1400755f5
mov rax, qword [rsp + 0x50]
cmp rax, rcx
je 0x1400755eb
add rax, 0xfffffffffffffffc
jne 0x140075560
jmp 0x140075757
lea r8, [rdi + 8]
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
call fcn.14009aa80
mov rcx, rbx
mov rdx, r14
call fcn.1400f2dd0
mov rcx, r14
call fcn.1400f2d50
mov rcx, rbx
call fcn.14008ac40
test al, al
jne 0x1400755b7
mov rcx, rbx
call fcn.14008df60
test al, al
je 0x1400753d4
mov rcx, qword [0x140201ef8]
test rcx, rcx
jne 0x1400755d2
call fcn.1400471c0
mov rcx, rax
mov qword [0x140201ef8], rax
mov rdx, rbx
mov r8d, 1
mov r9d, 0x12019f
call fcn.1400474b0
jmp 0x140075441
mov qword [rsp + 0x50], rcx
call fcn.140125ddc
cmp byte [rsp + 0x44], 0
je 0x1400756b0
cmp byte [rsp + 0x45], 0
je 0x140075650
mov dword [rsp + 0x48], 0xaaaaaaaa
mov rcx, qword [0x140201ef8]
test rcx, rcx
jne 0x14007562a
call fcn.1400471c0
mov rcx, rax
mov qword [0x140201ef8], rax
lea r14, [rsp + 0x48]
mov rdx, r14
mov r8, rbx
mov r9d, 1
call fcn.140048d60
cmp byte [r14], 0
je 0x1400756b0
cmp byte [rsp + 0x49], 0
jne 0x140075673
mov bpl, 1
mov rcx, rbx
call fcn.14008a850
test al, al
je 0x1400756b0
jmp 0x140075662
test al, al
jne 0x14007566e
mov rcx, rbx
call fcn.14008df60
test al, al
je 0x1400756b0
test bpl, bpl
jne 0x1400756c2
lea r14, [rsi + 8]
lea r15, [rsp + 0x48]
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.1400f2990
mov r8, qword [r15]
mov rcx, rbx
mov rdx, r14
call fcn.1400757b0
mov r15b, 1
test al, al
jne 0x1400756b3
cmp byte [rbx + 0x17], 0
jns 0x1400756a7
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor r15d, r15d
lea rcx, [rsp + 0x38]
call fcn.1400f29c0
jmp 0x1400753d7
mov rcx, qword [0x140201ef8]
test rcx, rcx
jne 0x1400756dd
call fcn.1400471c0
mov rcx, rax
mov qword [0x140201ef8], rax
mov rdx, rbx
mov r8d, 1
call fcn.140047740
test al, al
je 0x1400756b0
mov r14, qword [0x140201ef8]
test r14, r14
jne 0x14007570a
call fcn.1400471c0
mov r14, rax
mov qword [0x140201ef8], rax
mov ecx, 8
call fcn.140125da0
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.1400486e0
mov ebp, eax
mov rcx, qword [r15]
test rcx, rcx
je 0x14007578d
mov rax, qword [rsp + 0x50]
cmp rax, rcx
je 0x140075783
add rax, 0xfffffffffffffffc
jne 0x14007574c
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.1401623d0
mov qword [rsp + 0x50], rcx
call fcn.140125ddc
test bpl, bpl
jne 0x140075673
jmp 0x1400756b0
ud2
int3
int3
int3