Function at 0x4a1711
Capabilities:
Copy file

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x220
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
lea rax, [0x0051de8f]
mov qword [rbp - 0x30], rax
mov eax, 1
mov dword [rbp - 0x28], eax
mov eax, 1
mov dword [rbp - 0x24], eax
lea rax, [0x0051de91]
mov qword [rbp - 0x40], rax
mov eax, 1
mov dword [rbp - 0x38], eax
mov eax, 1
mov dword [rbp - 0x34], eax
lea rax, [rsp + 0x20]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0x40]
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 - 0x30]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea rax, [rsp + 0x40]
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 r9, [rsp + 0x20]
lea r8, [rsp + 0x30]
lea r11, [rsp + 0x40]
lea rax, [rbp - 0x20]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00457a0b
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x20]
mov r11, rax
lea rax, [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea rax, [0x0051de93]
mov qword [rbp - 0x70], rax
mov eax, 1
mov dword [rbp - 0x68], eax
mov eax, 1
mov dword [rbp - 0x64], eax
lea rax, [0x0051de95]
mov qword [rbp - 0x80], rax
mov eax, 1
mov dword [rbp - 0x78], eax
mov eax, 1
mov dword [rbp - 0x74], eax
lea rax, [rsp + 0x20]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0x80]
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 - 0x70]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea rax, [rsp + 0x40]
mov ecx, 0x10
mov r8, rcx
mov rcx, qword [rbp + 0x20]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x30]
lea r11, [rsp + 0x40]
lea rax, [rbp - 0x60]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00457a0b
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x60]
mov r11, rax
lea rax, [rbp - 0x50]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea rax, [rsp + 0x20]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0x10]
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.00466ea0
lea rcx, [rsp + 0x20]
mov edx, 0x10
mov r8, rdx
lea rdx, [rbp - 0x50]
mov r11, rdx
mov r10, rcx
mov qword [rbp - 0x88], rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea r10, [rsp + 0x20]
mov rcx, r10
call fcn.00466ea0
mov ecx, 0
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0x88]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_CopyFileW
cmp eax, 0
jne 0x4a1ca3
call sub.kernel32.dll_GetLastError
mov dword [rbp - 0x8c], eax
mov eax, 1
mov byte [rbp - 0xc0], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0xbf]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
lea rax, [0x0051de97]
mov qword [rbp - 0x178], rax
mov eax, 0xf
mov dword [rbp - 0x170], eax
mov eax, 1
mov dword [rbp - 0x16c], eax
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x178]
mov r11, rax
lea rax, [rbp - 0x168]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0xfe10
mov dword [rbp - 0x158], eax
movabs rax, 4
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x154]
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 - 0x150]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea rax, str._to
mov qword [rbp - 0x188], rax
mov eax, 4
mov dword [rbp - 0x180], eax
mov eax, 1
mov dword [rbp - 0x17c], eax
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x188]
mov r11, rax
lea rax, [rbp - 0x140]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0xfe10
mov dword [rbp - 0x130], eax
movabs rax, 4
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x12c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, 0x10
mov r8, rax
mov rax, qword [rbp + 0x20]
mov r11, rax
lea rax, [rbp - 0x128]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea rax, [0x0051deac]
mov qword [rbp - 0x198], rax
mov eax, 0
mov dword [rbp - 0x190], eax
mov eax, 1
mov dword [rbp - 0x18c], eax
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x198]
mov r11, rax
lea rax, [rbp - 0x118]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0
mov dword [rbp - 0x108], eax
movabs rax, 4
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x104]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, 0
mov dword [rbp - 0x100], eax
movabs rax, 0xc
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0xfc]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
lea rax, [rbp - 0x168]
mov r8, rax
mov eax, 3
mov r11, rax
lea rax, [rbp - 0xf0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00465aaf
lea rax, [rsp + 0x20]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0xf0]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, dword [rbp - 0x8c]
mov r8, rax
lea r11, [rsp + 0x20]
lea rax, [rbp - 0xe0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0045327a
mov eax, 0x20
mov r8, rax
lea rax, [rbp - 0xe0]
mov r11, rax
lea rax, [rbp - 0xb8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0
mov byte [rbp - 0x98], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x97]
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 - 0xc0]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x4a1cfc
mov eax, 0
mov byte [rbp - 0x1c8], al
movabs rax, 0x2f
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x1c7]
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 - 0x1c8]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
leave
ret