Function at 0x140073f30
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 + 9], 0
je 0x140073fb7
mov r14, rcx
mov r15, qword [rcx + 0x30]
test r15, r15
je 0x1400743b5
mov eax, 1
lock xadd dword [r15], eax
test eax, eax
jle 0x1400743b8
cmp eax, 0x7fffffff
je 0x1400743bb
mov rbx, r9
mov edx, dword [rsp + 0xc0]
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 8]
mov rcx, r15
mov r8, r9
call qword [0x140215008]
mov ebp, eax
lock dec dword [r15]
jne 0x140073fb2
mov rcx, r15
call fcn.1400973f0
test bpl, bpl
jne 0x140074020
xor ebp, ebp
cmp byte [rdi + 0x18], 0
je 0x140073fc7
mov rcx, rdi
call fcn.1400f0110
cmp byte [rsi + 0x18], 0
je 0x140073fd5
mov rcx, rsi
call fcn.1400f0110
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401249d0
mov eax, ebp
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.1400efd40
cmp byte [rsi + 0x18], 0
je 0x14007435d
mov r8, qword [rsp + 0x28]
mov rcx, rbx
mov rdx, rsi
call fcn.1400743c0
mov ebp, eax
jmp 0x140073fb9
cmp byte [rdi + 0x18], 0
je 0x140073ff1
cmp byte [rsi + 0x18], 0
je 0x140074188
lea rdx, [r14 + 0x28]
lea rcx, [rsp + 0x30]
call fcn.1400efd40
cmp byte [r14 + 9], 0
je 0x140074389
cmp byte [rsi + 0x18], 0
je 0x14007435d
cmp byte [rdi + 0x18], 0
je 0x14007435d
mov bpl, byte [r14 + 8]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.140098d30
mov rcx, rbx
mov rdx, r14
call fcn.1400f0190
mov rcx, r14
call fcn.1400f0110
mov rcx, rbx
call fcn.1400892d0
test bpl, bpl
je 0x140074125
test al, al
je 0x140074125
mov word [rsp + 0x3e], 0xaaaa
mov r14, qword [0x140202078]
test r14, r14
jne 0x1400740c8
call fcn.140047b60
mov r14, rax
mov qword [0x140202078], rax
mov ecx, 8
call fcn.140123e20
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 + 0x3e]
mov rcx, r14
mov r8, rbx
mov r9, r15
call fcn.140048c30
mov rcx, qword [r15]
test rcx, rcx
je 0x140074208
mov rax, qword [rsp + 0x50]
cmp rax, rcx
je 0x1400741fe
add rax, 0xfffffffffffffffc
jne 0x140074111
jmp 0x140074319
test al, al
jne 0x140074135
mov rcx, rbx
call fcn.14008c420
test al, al
je 0x140074177
test bpl, bpl
jne 0x140074280
lea r14, [rsp + 0x48]
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.1400efd40
mov r8, qword [r14]
mov rcx, rbx
mov rdx, rsi
call fcn.1400743c0
mov bpl, 1
test al, al
jne 0x140074179
cmp byte [rbx + 0x17], 0
jns 0x14007416e
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor ebp, ebp
lea rcx, [rsp + 0x40]
call fcn.1400efd70
jmp 0x140073fb9
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.140098d30
mov rcx, rbx
mov rdx, r14
call fcn.1400f0190
mov rcx, r14
call fcn.1400f0110
mov rcx, rbx
call fcn.1400892d0
test al, al
jne 0x1400741ca
mov rcx, rbx
call fcn.14008c420
test al, al
je 0x140073fb7
mov rcx, qword [0x140202078]
test rcx, rcx
jne 0x1400741e5
call fcn.140047b60
mov rcx, rax
mov qword [0x140202078], rax
mov rdx, rbx
mov r8d, 1
mov r9d, 0x12019f
call fcn.140047e50
jmp 0x14007401c
mov qword [rsp + 0x50], rcx
call fcn.140123e5c
cmp byte [rsp + 0x3f], 0
je 0x140074177
cmp byte [rsp + 0x3e], 0
je 0x14007426b
mov word [rsp + 0x48], 0xaaaa
mov rcx, qword [0x140202078]
test rcx, rcx
jne 0x14007423c
call fcn.140047b60
mov rcx, rax
mov qword [0x140202078], rax
lea r14, [rsp + 0x48]
mov rdx, r14
mov r8, rbx
mov r9d, 1
call fcn.140049720
cmp byte [r14 + 1], 0
je 0x140074177
cmp byte [rsp + 0x48], 0
jne 0x14007413e
mov bpl, 1
mov rcx, rbx
call fcn.140088f20
test al, al
je 0x140074177
jmp 0x140074129
mov rcx, qword [0x140202078]
test rcx, rcx
jne 0x14007429b
call fcn.140047b60
mov rcx, rax
mov qword [0x140202078], rax
mov rdx, rbx
mov r8d, 1
call fcn.1400480e0
test al, al
je 0x140074177
mov r14, qword [0x140202078]
test r14, r14
jne 0x1400742cc
call fcn.140047b60
mov r14, rax
mov qword [0x140202078], rax
mov ecx, 8
call fcn.140123e20
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.140049090
mov ebp, eax
mov rcx, qword [r15]
test rcx, rcx
je 0x14007434f
mov rax, qword [rsp + 0x50]
cmp rax, rcx
je 0x140074345
add rax, 0xfffffffffffffffc
jne 0x14007430e
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.14016a900
mov qword [rsp + 0x50], rcx
call fcn.140123e5c
test bpl, bpl
jne 0x14007413e
jmp 0x140074177
lea rax, str.optional_operator_called_on_a_disengaged_value
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcincludeoptional
lea r9, str.this__has_value__
mov r8d, 0x406
call fcn.14016a900
lea rax, str.optional_operator_called_on_a_disengaged_value
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcincludeoptional
lea r9, str.this__has_value__
mov r8d, 0x3fd
call fcn.14016a900
int3
int3
int3