Function at 0x3bc1c71e9
Capabilities:
Delete directory

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x260
mov rbx, rcx
mov ebp, edx
mov rsi, r8
mov dword [rsp + 0x25c], 0
test rcx, rcx
je 0x3bc1c725c
call sub.msvcrt.dll_strlen
cmp rax, 0x103
ja 0x3bc1c7290
test ebp, ebp
jne 0x3bc1c72b8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x3bc1c7290
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x25c], eax
mov dword [rsp + 0x20], eax
mov r9d, ebp
mov r8, rbx
lea rdx, str.fs_dir_delete
lea rcx, str._E____s_____RemoveDirectoryA_failed_path_s_recursive_d_gle_lu__n
call fcn.3bc1c1292
jmp 0x3bc1c7290
mov dword [rsp + 0x20], 0x12a
lea r9, str.H:_Projects_rdp_bot_codebase_fs.c
lea r8, [0x3bc1d6092]
lea rdx, str.fs_dir_delete
lea rcx, [0x3bc1d60b0]
call fcn.3bc1c1292
mov dword [rsp + 0x25c], 0xa0
mov eax, dword [rsp + 0x25c]
cmp eax, 0x20
ja 0x3bc1c74d6
ja case.0x3bc1c72b6.1
mov edx, eax
lea rcx, [0x3bc1d6e8c]
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
lea rdi, [rsp + 0x40]
mov eax, 0
mov ecx, 0x20
rep stosq qword [rdi], rax
mov dword [rdi], 0
lea rdi, [rsp + 0x150]
mov ecx, 0x20
rep stosq qword [rdi], rax
mov dword [rdi], 0
mov qword [rsp + 0x38], 0
lea rdi, [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call main
mov rcx, rdi
call sub.msvcrt.dll_strlen
movzx edx, byte [rsp + rax + 0x3f]
cmp dl, 0x5c
je 0x3bc1c7327
cmp dl, 0x2f
je 0x3bc1c7327
mov byte [rsp + rax + 0x41], 0
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov byte [rdi + rax], 0x5c
lea rdi, [rsp + 0x40]
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov word [rsp + rax + 0x40], 0x2a
lea rdi, [rsp + 0x150]
mov rdx, rbx
mov rcx, rdi
call main
mov rcx, rdi
call sub.msvcrt.dll_strlen
movzx edx, byte [rsp + rax + 0x14f]
cmp dl, 0x5c
je 0x3bc1c737c
cmp dl, 0x2f
je 0x3bc1c737c
mov byte [rsp + rax + 0x151], 0
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov byte [rdi + rax], 0x5c
lea rdi, [rsp + 0x150]
mov rcx, rdi
call sub.msvcrt.dll_strlen
add rdi, rax
cmp dword [rsp + 0x25c], 0
jne 0x3bc1c7460
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x25c]
lea r8, [rsp + 0x38]
mov rdx, rdi
call fcn.3bc1c6233
test eax, eax
jne 0x3bc1c7460
lea rdx, [0x3bc1d6e5b]
mov rcx, rdi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x3bc1c738f
lea rdx, [0x3bc1d6e5d]
mov rcx, rdi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x3bc1c738f
lea r12, [rsp + 0x150]
mov r9, r12
lea r8, [rsp + 0x40]
lea rdx, str.fs_dir_delete
lea rcx, str._D____s_____Delete_path_wc_s_f_path_s__n
call fcn.3bc1c1292
lea rdx, [rsp + 0x34]
lea r8, [rsp + 0x25c]
mov rcx, r12
call fcn.3bc1c5d89
test eax, eax
jne 0x3bc1c738f
test byte [rsp + 0x34], 0x10
je 0x3bc1c7446
mov rcx, r12
lea r8, [rsp + 0x25c]
mov edx, 1
call fcn.3bc1c71e9
jmp 0x3bc1c738f
lea rdx, [rsp + 0x25c]
lea rcx, [rsp + 0x150]
call fcn.3bc1c7025
jmp 0x3bc1c738f
mov rcx, qword [rsp + 0x38]
call fcn.3bc1c6218
cmp dword [rsp + 0x25c], 0x12
je 0x3bc1c74c2
cmp dword [rsp + 0x25c], 0
jne 0x3bc1c7290
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x3bc1c7290
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x25c], eax
mov dword [rsp + 0x20], eax
mov r9d, ebp
mov r8, rbx
lea rdx, str.fs_dir_delete
lea rcx, str._E____s_____RemoveDirectoryA_failed_path_s_recursive_d_gle_lu__n
call fcn.3bc1c1292
jmp 0x3bc1c7290
mov dword [rsp + 0x25c], 0
jmp 0x3bc1c7474
mov edi, eax
jmp 0x3bc1c7558
cmp eax, 0x94
je 0x3bc1c75a3
jbe 0x3bc1c7507
cmp eax, 0xb7
je 0x3bc1c75bf
cmp eax, 0x80070005
je 0x3bc1c75c6
cmp eax, 0xaa
je 0x3bc1c7537
mov edi, 0x40000001
jmp 0x3bc1c7558
cmp eax, 0x7f
ja 0x3bc1c7525
cmp eax, 0x7e
jae 0x3bc1c75aa
cmp eax, 0x50
jne 0x3bc1c75b1
mov edi, 0x40000007
jmp 0x3bc1c7558
cmp eax, 0x91
jne 0x3bc1c75b8
mov edi, 0x4000000d
jmp 0x3bc1c7558
mov edi, 0x4000000d
jmp 0x3bc1c7558
mov edi, 0x40000003
jmp 0x3bc1c7558
mov edi, 0x40000009
jmp 0x3bc1c7558
mov edi, 0x4000000d
jmp 0x3bc1c7558
mov edi, 0x40000001
test rsi, rsi
je 0x3bc1c755f
mov dword [rsi], eax
test edi, edi
je 0x3bc1c75d6
mov eax, edi
and eax, 0x3fffffff
test rbx, rbx
je 0x3bc1c75cd
mov dword [rsp + 0x20], eax
mov r9d, ebp
mov r8, rbx
lea rdx, str.fs_dir_delete
lea rcx, str._E____s_____Failed_path_s_recursive_d_err_08x__n
call fcn.3bc1c1292
mov eax, edi
add rsp, 0x260
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov edi, 0x40000008
jmp 0x3bc1c7558
mov edi, 0x4000000d
jmp 0x3bc1c7558
mov edi, 0x40000003
jmp 0x3bc1c7558
mov edi, 0x40000001
jmp 0x3bc1c7558
mov edi, 0x40000001
jmp 0x3bc1c7558
mov edi, 0x40000007
jmp 0x3bc1c7558
mov edi, 0x40000009
jmp 0x3bc1c7558
lea rbx, [0x3bc1d606b]
jmp 0x3bc1c756f
mov r9d, ebp
mov r8, rbx
lea rdx, str.fs_dir_delete
lea rcx, str._I____s_____Done_path_s_recursive_d__n
call fcn.3bc1c1292
jmp 0x3bc1c758c