Function at 0x41be60
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x630
mov eax, dword [0x4ed018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x41c]
push 0x20a
push 0
push eax
call fcn.00411960
push 0x20a
lea eax, [ebp - 0x628]
mov dword [ebp - 0x62c], 0x105
push 0
push eax
call fcn.00411960
push 0x20a
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.00411960
push 0x105
lea eax, [ebp - 0x210]
push eax
push dword [ebp + 0x10]
push esi
call fcn.0041ca90
add esp, 0x34
test eax, eax
jne 0x41bef6
push str.VNLCopyFileToSystemDir:_Could_not_obtain_system_path
push 1
call fcn.00446b80
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov eax, ecx
sub eax, 0x5000
je 0x41bf17
sub eax, 6
je 0x41bf52
push ecx
push str.VNLCopyFileToSystemDir:_Case_for_product__u_needs_to_be_implemented
push 1
call fcn.00446b80
add esp, 0xc
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.00418120
test eax, eax
jne 0x41bfbe
push str.VNLCopyFileToSystemDir:_Failed_to_get_generic_product_install_path
push 1
call fcn.00446b80
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.00418420
test eax, eax
jne 0x41bfbe
push str.VNLCopyFileToSystemDir:_Using_generic_path_for_installing_USB
push 2
call fcn.00446b80
add esp, 8
mov dword [ebp - 0x62c], 0x105
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.00418120
test eax, eax
jne 0x41bfbe
push str.VNLCopyFileToSystemDir:_Failed_to_obtain_generic_product_path
push 1
call fcn.00446b80
add esp, 8
call fcn.00446aa0
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push esi
lea eax, [ebp - 0x41c]
push eax
push str._s_s
lea eax, [ebp - 0x628]
push 0x105
push eax
call fcn.00419510
add esp, 0x14
test eax, eax
jns 0x41c003
push str.VNLCopyFileToSystemDir:_Failed_to_create_source_path
push 1
call fcn.00446b80
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x628]
push eax
push str.VNLCopyFileToSystemDir:_Copying__S_to__S
push 2
call fcn.00446b80
xor eax, eax
add esp, 0x10
cmp dword [ebp + 0x14], eax
sete al
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x41c139
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, 0x50
jne 0x41c07a
lea eax, [ebp - 0x210]
push eax
push str.VNLCopyFileToSystemDir:_Didnt_copy_file_since_already_exists:___S_
push 4
call fcn.00446b80
add esp, 0xc
lea eax, [esi - 0x4f]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push str.vnetlib.dll
mov dword [ebp - 0x630], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x41c0b5
push 0x4a38e0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x41c0b5
push str.VNLGetLocalizedString:_Failed_to_load_vnetlib_module
push 1
call fcn.00446b80
add esp, 8
xor eax, eax
jmp 0x41c110
push 0
push 1
lea ecx, [ebp - 0x630]
push ecx
push 0
push esi
push eax
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
test eax, eax
jne 0x41c0f4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.VNLGetLocalizedString:_Failed_to_allocate_a_localized_string_0x_08x:__d
push 1
call fcn.00446b80
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x630], eax
jmp 0x41c110
push dword [ebp - 0x630]
push esi
push str.VNLGetLocalizedString:_For_0x_08x_got_localized_string___S_
push 0x10
call fcn.00446b80
mov eax, dword [ebp - 0x630]
add esp, 0x10
push esi
push eax
lea eax, [ebp - 0x210]
push eax
push str.VNLCopyFileToSystemDir:_Failed_to_copy_file:___S_.__S___u_
push 1
call fcn.00446b80
add esp, 0x14
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push str.VNLCopyFileToSystemDir:_File_copied
push 0x10
call fcn.00446b80
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
mov eax, 1
pop esi
call fcn.00401bd5
mov esp, ebp
pop ebp
ret