Function at 0x43b420
Capabilities:
Copy file
Delete file
Move file

Disassembly:
push rbp
sub rsp, 0x810
lea rbp, [rsp + 0x80]
mov rax, qword [0x00442300]
mov rax, qword [rax]
xor rax, rbp
mov qword [rbp + 0x788], rax
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x18], rdx
mov dword [rbp + 0x14], r8d
mov dword [rbp - 0x14], 0x190
mov dword [rbp - 0x18], 0
mov dword [rbp - 0x1c], 0
cmp qword [rbp + 0x20], 0
jne 0x43b475
jmp 0x43b868
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x8e8]
mov rax, qword [rax + 0x98]
mov qword [rbp - 8], rax
mov rcx, qword [rbp + 0x20]
lea rdx, str.Overwrite
call fcn.0041cdb0
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x20]
lea rdx, str.Destination
call fcn.0041cdb0
mov qword [rbp], rax
cmp qword [rbp + 8], 0
je 0x43b4db
mov rax, qword [rbp + 8]
movsx ecx, byte [rax]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
cmp eax, 0x54
jne 0x43b4db
mov dword [rbp - 0x18], 1
cmp qword [rbp], 0
je 0x43b4f6
mov rax, qword [rbp]
movsx eax, byte [rax]
cmp eax, 0
jne 0x43b517
mov rcx, qword [rbp + 0x20]
lea r8, [0x00447292]
lea r9, str.Missing_destination
mov edx, 0x190
call fcn.0041e520
jmp 0x43b868
cmp qword [rbp - 8], 0
je 0x43b664
mov qword [rbp - 0x28], 0
mov rcx, qword [rbp]
call fcn.00436b50
mov dword [rbp - 0x10], eax
cmp dword [rbp - 0x10], 2
jne 0x43b55d
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax + 0x8e0]
call fcn.0041d310
mov qword [rbp - 0x28], rax
jmp 0x43b5dd
cmp dword [rbp - 0x10], 3
je 0x43b571
cmp dword [rbp - 0x10], 4
jne 0x43b5d8
mov rcx, qword [rbp]
mov rdx, qword [rbp + 0x20]
call fcn.00436d90
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
je 0x43b5d3
mov rcx, qword [rbp - 0x30]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rbp - 0x38], rax
mov rcx, qword [rbp - 0x38]
add rcx, 1
call fcn.0041d350
mov qword [rbp - 0x28], rax
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x38]
mov edx, eax
mov r8, qword [rbp - 0x28]
mov rax, qword [rbp - 0x38]
mov r9d, eax
add r9d, 1
xor eax, eax
mov dword [rsp + 0x20], 0
call fcn.0041fd10
jmp 0x43b5d8
jmp 0x43b5dd
cmp qword [rbp - 0x28], 0
je 0x43b65f
mov rcx, qword [rbp - 0x28]
call fcn.00432590
mov rax, qword [rbp - 0x28]
movsx eax, byte [rax]
cmp eax, 0x2f
jne 0x43b656
mov dword [rbp + 0x2c], 0
mov rcx, qword [rbp + 0x20]
lea r8, [rbp + 0x470]
mov rdx, qword [rbp - 8]
mov r9, qword [rbp - 0x28]
mov rax, rsp
mov qword [rax + 0x30], r9
mov qword [rax + 0x28], rdx
lea rdx, str._s__s
mov qword [rax + 0x20], rdx
lea rdx, [rbp + 0x2c]
mov r9d, 0x30c
call fcn.0041efc0
cmp dword [rbp + 0x2c], 0
jne 0x43b651
mov dword [rbp - 0x1c], 1
jmp 0x43b656
mov rcx, qword [rbp - 0x28]
call fcn.0041d370
jmp 0x43b664
cmp dword [rbp - 0x1c], 0
jne 0x43b68f
mov rcx, qword [rbp + 0x20]
lea r8, [0x00447292]
lea r9, str.Illegal_destination
mov edx, 0x1f6
call fcn.0041e520
jmp 0x43b868
mov rcx, qword [rbp + 0x20]
lea rdx, [rbp + 0x470]
lea r8, [rbp + 0x30]
call fcn.00422900
cmp eax, 0
je 0x43b71a
cmp dword [rbp - 0x18], 0
je 0x43b6f4
lea rcx, [rbp + 0x470]
call sub.api_ms_win_crt_filesystem_l1_1_0.dll_remove
mov ecx, eax
xor eax, eax
cmp eax, ecx
je 0x43b6ef
mov rcx, qword [rbp + 0x20]
lea r9, [rbp + 0x470]
lea r8, str.Cannot_overwrite_file:__s
mov edx, 0x193
call fcn.0041e520
jmp 0x43b868
jmp 0x43b715
mov rcx, qword [rbp + 0x20]
lea r9, [rbp + 0x470]
lea r8, str.Destination_already_exists:__s
mov edx, 0x19c
call fcn.0041e520
jmp 0x43b868
jmp 0x43b71a
jmp 0x43b71f
jmp 0x43b724
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x18]
lea r8, [rbp + 0x260]
mov r9d, 0x104
call fcn.0042ff30
mov rcx, qword [rbp + 0x20]
lea rdx, [rbp + 0x470]
lea r8, [rbp + 0x50]
mov r9d, 0x104
call fcn.0042ff30
cmp dword [rbp + 0x14], 0
je 0x43b78f
lea rcx, [rbp + 0x260]
lea rdx, [rbp + 0x50]
mov r9d, dword [rbp - 0x18]
mov r8d, 1
xor eax, eax
cmp r9d, 0
cmovne r8d, eax
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [rbp - 0x3c], eax
jmp 0x43b7b7
lea rcx, [rbp + 0x260]
lea rdx, [rbp + 0x50]
mov r9d, dword [rbp - 0x18]
xor r8d, r8d
mov eax, 1
cmp r9d, 0
cmovne r8d, eax
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov dword [rbp - 0x3c], eax
cmp dword [rbp - 0x3c], 0
je 0x43b7cd
mov dword [rbp - 0xc], 0
jmp 0x43b812
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
cmp dword [rbp - 0x40], 0xb7
jne 0x43b804
mov rcx, qword [rbp + 0x20]
lea r9, [rbp + 0x470]
lea r8, str.Destination_already_exists:__s
mov edx, 0x19c
call fcn.0041e520
jmp 0x43b868
mov dword [rbp - 0xc], 0xffffffff
mov dword [rbp - 0x14], 0x190
cmp dword [rbp - 0xc], 0
jne 0x43b855
mov rcx, qword [rbp + 0x20]
mov edx, 0xcc
call fcn.0041cef0
mov rcx, qword [rbp + 0x20]
lea rdx, str.Content_Length
lea r8, [0x00446a14]
mov r9d, 0xffffffff
call fcn.0041d090
mov rcx, qword [rbp + 0x20]
call fcn.0041d770
jmp 0x43b868
mov rcx, qword [rbp + 0x20]
mov edx, dword [rbp - 0x14]
lea r8, str.Operation_failed
call fcn.0041e520
mov rcx, qword [rbp + 0x788]
xor rcx, rbp
mov rax, qword [0x00442300]
mov rax, qword [rax]
sub rax, rcx
jne 0x43b88a
jmp 0x43b88f
call fcn.0041bf30
nop
add rsp, 0x810
pop rbp
ret