Function at 0x481600
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x578b93
mov eax, dword fs:[0]
push eax
sub esp, 0xa48
mov eax, dword [0x8f9064]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, edx
mov esi, ecx
push ebx
mov dword [ebp - 0xa4c], esi
mov dword [ebp - 0xa50], ebx
mov dword [ebp - 0xa48], 0
call fcn.0047a820
test al, al
jne 0x4817b5
mov ecx, ebx
call fcn.0047acb0
test al, al
je 0x481673
mov ecx, ebx
call fcn.004779c0
test al, al
je 0x481853
mov ecx, ebx
call fcn.004776c0
test al, al
je 0x481891
sub esp, 8
mov edx, ebx
mov eax, esp
mov ecx, esi
mov dword [eax], str.Copying_file__to_.
mov dword [eax + 4], 0x1a
call fcn.00483f30
add esp, 8
lea ecx, [ebp - 0x5c]
mov edx, esi
call fcn.00485ee0
mov edx, ebx
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x44]
call fcn.00485ee0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x5c]
push 0
cmovae ecx, dword [ebp - 0x44]
cmp dword [ebp - 0x48], 8
push ecx
cmovae eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4817a5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa44], eax
cmp eax, 0xb7
je 0x4816ff
cmp eax, 0x50
jne 0x48173b
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x2c], 0x6b6e6c2e
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x2c]
mov ecx, ebx
mov dword [ebp - 0xa48], 1
call fcn.00485790
mov byte [ebp - 0xa3d], 1
test al, al
jne 0x481742
mov byte [ebp - 0xa3d], 0
mov dword [ebp - 4], 3
test byte [ebp - 0xa48], 1
je 0x481788
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x481788
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48177e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x48177e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0056d673
add esp, 8
cmp byte [ebp - 0xa3d], 0
je 0x4817d1
mov ecx, ebx
mov byte [ebp - 4], 5
call fcn.00479ad0
mov edx, ebx
mov ecx, esi
call fcn.00477570
lea ecx, [ebp - 0x44]
call fcn.0045e370
lea ecx, [ebp - 0x5c]
call fcn.0045e370
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0056d0b2
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.0042b6d0
lea edx, [ebp - 0xa44]
mov edi, eax
lea ecx, [ebp - 0xa4]
call fcn.0047cc90
mov esi, eax
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.0042b6d0
push eax
mov edx, str.Could_not_copy_to
lea ecx, [ebp - 0x8c]
call fcn.00466fa0
push str.__Error_code:
push eax
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0xc
push eax
call fcn.0044eec0
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xbc]
call fcn.0045e750
add esp, 0x14
push eax
push edi
lea ecx, [ebp - 0xa3c]
mov byte [ebp - 4], 0xe
call fcn.004781f0
push 0x8e4a88
lea eax, [ebp - 0xa3c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
mov ecx, ebx
call fcn.0042b6d0
push str.Failed_to_remove_the_file_before_copying.
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.0042b3e0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
push eax
push esi
lea ecx, [ebp - 0x31c]
call fcn.004781f0
push 0x8e4a88
lea eax, [ebp - 0x31c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
mov ecx, ebx
call fcn.0042b6d0
push str.Failed_to_create_the_directories_for_the_new_file.
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.0042b3e0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 1
push eax
push esi
lea ecx, [ebp - 0x57c]
call fcn.00478940
push 0x8e4ab4
lea eax, [ebp - 0x57c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
mov ecx, dword [ebp - 0xa4c]
call fcn.0042b6d0
lea edx, [ebp - 0xa44]
mov edi, eax
lea ecx, [ebp - 0x2c]
call fcn.0047cc90
mov esi, eax
mov ecx, dword [ebp - 0xa50]
mov byte [ebp - 4], 7
call fcn.0042b6d0
push eax
mov edx, str.Could_not_copy_Windows_link_file_to
lea ecx, [ebp - 0x74]
call fcn.00466fa0
push str.__Error_code:
push eax
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 8
push eax
call fcn.0044eec0
push esi
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa4]
call fcn.0045e750
add esp, 0x14
push dword [ebp - 0xa54]
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0xa
push eax
push edi
call fcn.00478460
push 0x8e4a88
lea eax, [ebp - 0x7dc]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3