Function at 0x14003b0d0
Capabilities:
Delete directory

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1400e9070]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rbx, rdx
mov rdi, rcx
cmp qword [rcx + 0x10], 0
jne 0x14003b18c
mov rax, qword [0x1400ed810]
test rax, rax
je 0x14003b149
lea rdx, str.DeleteDirectoryAtPath:_Path_should_not_be_empty.
mov qword [rsp + 0x28], rdx
lea r8, [0x1400c3148]
mov qword [rsp + 0x20], r8
mov r9, r8
lea r8, str.FileUtils
lea rdx, str.OOBEUtils
mov ecx, 0x28
call qword [case.0x140049d6d.0]
xor al, al
jmp 0x14003b529
mov rcx, qword [0x1400ed818]
test rcx, rcx
je 0x14003b2c9
mov rax, qword [rcx]
lea rdx, str.DeleteDirectoryAtPath:_Path_should_not_be_empty.
mov qword [rsp + 0x20], rdx
lea r9, str.FileUtils
lea r8, [0x1400c3148]
mov edx, 0x28
mov rax, qword [rax + 0x68]
call qword [case.0x140049d6d.0]
xor al, al
jmp 0x14003b529
call fcn.14003adb0
test al, al
je 0x14003b211
mov rax, qword [0x1400ed810]
test rax, rax
je 0x14003b1eb
cmp qword [rdi + 0x18], 8
jb 0x14003b1ab
mov rdi, qword [rdi]
mov qword [rsp + 0x30], rdi
lea rdx, str.Directory_to_delete:__s_is_a_special_path__skipping.
mov qword [rsp + 0x28], rdx
lea r8, [0x1400c3148]
mov qword [rsp + 0x20], r8
mov r9, r8
lea r8, str.FileUtils
lea rdx, str.OOBEUtils
mov ecx, 0x28
call qword [case.0x140049d6d.0]
xor al, al
jmp 0x14003b529
mov rcx, qword [0x1400ed818]
test rcx, rcx
je 0x14003b2c9
cmp qword [rdi + 0x18], 8
jb 0x14003b205
mov rdi, qword [rdi]
lea rdx, str.Directory_to_delete:__s_is_a_special_path__skipping.
jmp 0x14003b29f
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003b21e
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x14003b2d0
mov rax, qword [0x1400ed810]
test rax, rax
je 0x14003b282
cmp qword [rdi + 0x18], 8
jb 0x14003b242
mov rdi, qword [rdi]
mov qword [rsp + 0x30], rdi
lea rdx, str.Directory_to_delete_not_present_at_location__s
mov qword [rsp + 0x28], rdx
lea r8, [0x1400c3148]
mov qword [rsp + 0x20], r8
mov r9, r8
lea r8, str.FileUtils
lea rdx, str.OOBEUtils
mov ecx, 0x28
call qword [case.0x140049d6d.0]
xor al, al
jmp 0x14003b529
mov rcx, qword [0x1400ed818]
test rcx, rcx
je 0x14003b2c9
cmp qword [rdi + 0x18], 8
jb 0x14003b298
mov rdi, qword [rdi]
lea rdx, str.Directory_to_delete_not_present_at_location__s
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdx
mov rax, qword [rcx]
lea r9, str.FileUtils
lea r8, [0x1400c3148]
mov edx, 0x28
mov rax, qword [rax + 0x68]
call qword [case.0x140049d6d.0]
xor al, al
jmp 0x14003b529
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003b2dd
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
setne sil
test eax, eax
je 0x14003b3b3
cmp byte [rsp + 0xb8], 0
je 0x14003b525
mov rax, qword [0x1400ed810]
test rax, rax
je 0x14003b35b
cmp qword [rdi + 0x18], 8
jb 0x14003b315
mov rdi, qword [rdi]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], rdi
lea rdx, str.Successfully_deleted_directory_from_path:__s._Recursive:__d
mov qword [rsp + 0x28], rdx
lea r8, [0x1400c3148]
mov qword [rsp + 0x20], r8
mov r9, r8
lea r8, str.FileUtils
lea rdx, str.OOBEUtils
mov ecx, 0x1e
call qword [case.0x140049d6d.0]
jmp 0x14003b525
mov rcx, qword [0x1400ed818]
test rcx, rcx
je 0x14003b525
cmp qword [rdi + 0x18], 8
jb 0x14003b375
mov rdi, qword [rdi]
mov rax, qword [rcx]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rdi
lea rdx, str.Successfully_deleted_directory_from_path:__s._Recursive:__d
mov qword [rsp + 0x20], rdx
lea r9, str.FileUtils
lea r8, [0x1400c3148]
mov edx, 0x1e
mov rax, qword [rax + 0x68]
call qword [case.0x140049d6d.0]
jmp 0x14003b525
mov rcx, qword [rdi + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x16
jb 0x14003b551
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003b3db
mov rax, qword [rdi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x16
lea r9, str.RemoveDirectoryFailed:
lea rcx, [rsp + 0x58]
call fcn.140003500
nop
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x14003b41e
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.140004480
add qword [rbx + 8], 0x20
jmp 0x14003b42e
lea r8, [rsp + 0x58]
mov rdx, rax
mov rcx, rbx
call fcn.140004240
cmp qword [0x1400ed810], 0
je 0x14003b48e
cmp qword [rdi + 0x18], 8
jb 0x14003b442
mov rdi, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rdi
lea rax, str.Failed_to_remove_directory__s_Error__d
mov qword [rsp + 0x28], rax
lea r8, [0x1400c3148]
mov qword [rsp + 0x20], r8
mov r9, r8
lea r8, str.FileUtils
lea rdx, str.OOBEUtils
mov ecx, 0x1e
mov rax, qword [0x1400ed810]
call qword [case.0x140049d6d.0]
jmp 0x14003b4e7
mov rbx, qword [0x1400ed818]
test rbx, rbx
je 0x14003b4e7
cmp qword [rdi + 0x18], 8
jb 0x14003b4a4
mov rdi, qword [rdi]
mov rbx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdi
lea rax, str.Failed_to_remove_directory__s_Error__d
mov qword [rsp + 0x20], rax
lea r9, str.FileUtils
lea r8, [0x1400c3148]
mov edx, 0x1e
mov rcx, qword [0x1400ed818]
mov rax, qword [rbx + 0x68]
call qword [case.0x140049d6d.0]
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14003b525
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b520
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b54b
call fcn.140079b70
movzx eax, sil
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140079b50
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.140080d34
int3
call fcn.1400015a0
int3