Function at 0x478359
Capabilities:
Delete directory

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x170
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
lea rax, [rsp + 0x20]
mov ecx, 0x10
mov r8, rcx
mov rcx, qword [rbp + 0x18]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea r10, [rsp + 0x20]
mov rcx, r10
call fcn.0043f09a
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_RemoveDirectoryW
mov byte [rbp - 1], al
movzx eax, byte [rbp - 1]
cmp eax, 0
jne 0x478693
mov eax, 1
mov byte [rbp - 0x38], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x37]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
lea rax, str.Failed_to_remove__
mov qword [rbp - 0xd8], rax
mov eax, 0x12
mov dword [rbp - 0xd0], eax
mov eax, 1
mov dword [rbp - 0xcc], eax
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0xd8]
mov r11, rax
lea rax, [rbp - 0xc8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0xfe10
mov dword [rbp - 0xb8], eax
movabs rax, 4
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0xb4]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, 0x10
mov r8, rax
mov rax, qword [rbp + 0x18]
mov r11, rax
lea rax, [rbp - 0xb0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea rax, [0x0050c6b4]
mov qword [rbp - 0xe8], rax
mov eax, 3
mov dword [rbp - 0xe0], eax
mov eax, 1
mov dword [rbp - 0xdc], eax
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0xe8]
mov r11, rax
lea rax, [rbp - 0xa0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0
mov dword [rbp - 0x90], eax
movabs rax, 4
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x8c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, 0
mov dword [rbp - 0x88], eax
movabs rax, 0xc
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x84]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
lea rax, [rbp - 0xc8]
mov r8, rax
mov eax, 2
mov r11, rax
lea rax, [rbp - 0x78]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0043dca9
call sub.msvcrt.dll__errno
mov ecx, dword [rax]
mov r11, rcx
lea rax, [rbp - 0xf8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.004775a3
lea rax, [rsp + 0x20]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0xf8]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea rax, [rsp + 0x30]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0x78]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea r8, [rsp + 0x20]
lea r11, [rsp + 0x30]
lea rax, [rbp - 0x68]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00432892
lea rax, [rsp + 0x20]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0x68]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea r11, [rsp + 0x20]
lea rax, [rbp - 0x58]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0042be7a
mov eax, 0x20
mov r8, rax
lea rax, [rbp - 0x58]
mov r11, rax
lea rax, [rbp - 0x30]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0
mov byte [rbp - 0x10], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0xf]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp + 0x10]
mov ecx, 0x30
mov r8, rcx
lea rcx, [rbp - 0x38]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x4786ec
mov eax, 0
mov byte [rbp - 0x128], al
movabs rax, 0x2f
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x127]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp + 0x10]
mov ecx, 0x30
mov r8, rcx
lea rcx, [rbp - 0x128]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
leave
ret