Function at 0x418200
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x62c
mov eax, dword [0x4e7018]
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.0040f160
push 0x20a
lea eax, [ebp - 0x628]
mov dword [ebp - 0x62c], 0x105
push 0
push eax
call fcn.0040f160
push 0x20a
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.0040f160
push 0x105
lea eax, [ebp - 0x210]
push eax
push dword [ebp + 0x10]
push esi
call fcn.00418ee0
add esp, 0x34
test eax, eax
jne 0x418296
push str.VNLCopyFileToSystemDir:_Could_not_obtain_system_path
push 1
call fcn.004439a0
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bf1
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov eax, ecx
sub eax, 0x5000
je 0x4182b7
sub eax, 6
je 0x4182f2
push ecx
push str.VNLCopyFileToSystemDir:_Case_for_product__u_needs_to_be_implemented
push 1
call fcn.004439a0
add esp, 0xc
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.004145c0
test eax, eax
jne 0x41835e
push str.VNLCopyFileToSystemDir:_Failed_to_get_generic_product_install_path
push 1
call fcn.004439a0
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bf1
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.004148d0
test eax, eax
jne 0x41835e
push str.VNLCopyFileToSystemDir:_Using_generic_path_for_installing_USB
push 2
call fcn.004439a0
add esp, 8
mov dword [ebp - 0x62c], 0x105
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.004145c0
test eax, eax
jne 0x41835e
push str.VNLCopyFileToSystemDir:_Failed_to_obtain_generic_product_path
push 1
call fcn.004439a0
add esp, 8
call fcn.004437c0
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bf1
mov esp, ebp
pop ebp
ret
push esi
lea eax, [ebp - 0x41c]
push eax
push 0x49dc5c
lea eax, [ebp - 0x628]
push 0x105
push eax
call fcn.004159a0
add esp, 0x14
test eax, eax
jns 0x4183a3
push str.VNLCopyFileToSystemDir:_Failed_to_create_source_path
push 1
call fcn.004439a0
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bf1
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.004439a0
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 0x418448
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x418416
lea eax, [ebp - 0x210]
push eax
push str.VNLCopyFileToSystemDir:_Didnt_copy_file_since_already_exists:___S_
push 4
call fcn.004439a0
add esp, 0xc
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bf1
mov esp, ebp
pop ebp
ret
push eax
push eax
call fcn.00418e20
add esp, 4
push eax
lea eax, [ebp - 0x210]
push eax
push str.VNLCopyFileToSystemDir:_Failed_to_copy_file:___S_.__S___u_
push 1
call fcn.004439a0
add esp, 0x14
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bf1
mov esp, ebp
pop ebp
ret
push str.VNLCopyFileToSystemDir:_File_copied
push 0x10
call fcn.004439a0
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
mov eax, 1
pop esi
call fcn.00401bf1
mov esp, ebp
pop ebp
ret