Function at 0x11014780
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1854
call fcn.11027e70
mov eax, dword [0x11064c1c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push str.MSICopyFiles:_Function_entered_n
call fcn.1100bc80
add esp, 4
push esi
lea ecx, [ebp - 0x1854]
call fcn.11022180
lea ecx, [ebp - 0x1854]
mov dword [ebp - fcn.1100e530], vtable.CMSIDllEx.0
call fcn.110221d0
test eax, eax
jne 0x110147fb
push str.MSICopyFiles:_Error_loading_MSI_dll
call fcn.1100bbe0
add esp, 4
lea ecx, [ebp - 0x1854]
call fcn.110221b0
mov eax, 0x643
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.110278cd
mov esp, ebp
pop ebp
ret 4
push edi
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x20a]
push ecx
mov word [ebp - 0x20c], ax
call fcn.110278e0
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x61a]
push eax
mov word [ebp - 0x61c], dx
call fcn.110278e0
add esp, 0x18
lea ecx, [ebp - 0x1828]
push ecx
lea edx, [ebp - 0x20c]
push edx
mov edi, 0x104
push str.EXTRAFILESPATH
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x1828], edi
call fcn.11022280
mov esi, eax
test esi, esi
je 0x11014882
push esi
push str.EXTRAFILESPATH
push str.GetProp__s__ERROR__d_n
call fcn.1100bc80
add esp, 0xc
push esi
push str.MSICopyFiles:_Error__d_reading_EXTRAFILESPATH_property_n
jmp 0x1101492b
lea eax, [ebp - 0x20c]
push eax
push str.EXTRAFILESPATH
push str.GetProp__s____s_n
call fcn.1100bc80
add esp, 0xc
lea ecx, [ebp - 0x182c]
push ecx
lea edx, [ebp - 0x1824]
push edx
push str.EXTRAFILES
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x182c], 0x800
call fcn.11022280
mov esi, eax
test esi, esi
je 0x110148e4
push esi
push str.EXTRAFILES
push str.GetProp__s__ERROR__d_n
call fcn.1100bc80
add esp, 0xc
push esi
push str.MSICopyFiles:_Error__d_reading_EXTRAFILES_property_n
jmp 0x1101492b
lea eax, [ebp - 0x1824]
push eax
push str.EXTRAFILES
push str.GetProp__s____s_n
call fcn.1100bc80
add esp, 0xc
lea ecx, [ebp - 0x1828]
push ecx
lea edx, [ebp - 0x61c]
push edx
push str.SOURCEPATH
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x1828], edi
call fcn.1100e530
test eax, eax
je 0x11014955
push eax
push str.MSICopyFiles:_Error__d_reading_SOURCEPATH_property_n
call fcn.1100bbe0
add esp, 8
lea ecx, [ebp - 0x1854]
call fcn.110221b0
pop edi
mov eax, 0x643
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.110278cd
mov esp, ebp
pop ebp
ret 4
push ebx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x61c]
push ecx
lea edx, [ebp - 0x1824]
push edx
push str.MSICopyFiles:_Copy_files___s__from___s__to___s__n
call fcn.1100bc80
call fcn.11013df0
lea eax, [ebp - 0x1824]
push 0x11053fa8
push eax
call fcn.11029160
mov esi, eax
add esp, 0x18
test esi, esi
je 0x11014a8b
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileW]
push esi
lea ecx, [ebp - 0x61c]
push ecx
lea edx, [ebp - 0x414]
push str._s_s
push edx
call edi
push esi
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x824]
push str._s_s
push ecx
call edi
lea edx, [ebp - 0x414]
push 0
push edx
call fcn.1102bcc4
add esp, 0x28
test eax, eax
jne 0x11014a5e
lea eax, [ebp - 0x414]
push eax
push str.MSICopyFiles:___s__exists__copy_it_n
call fcn.1100bc80
lea ecx, [ebp - 0x824]
push ecx
lea edx, [ebp - 0x414]
push edx
push str.MSICopyFiles:_Copy___s__to___s__n
call fcn.1100bc80
add esp, 0x14
push 0
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x414]
push ecx
call ebx
test eax, eax
jne 0x11014a72
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MSICopyFiles:_Error__d_copying_file_n
call fcn.1100bc80
add esp, 8
lea ecx, [ebp - 0x1854]
call fcn.110221b0
pop ebx
pop edi
mov eax, 0x643
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.110278cd
mov esp, ebp
pop ebp
ret 4
lea edx, [ebp - 0x414]
push edx
push str.__s__does_not_exist_n
call fcn.1100bc80
add esp, 8
push 0x11053fa8
push 0
call fcn.11029160
mov esi, eax
add esp, 8
test esi, esi
jne 0x110149a4
lea ecx, [ebp - 0x1854]
call fcn.110221b0
mov ecx, dword [ebp - 4]
pop ebx
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.110278cd
mov esp, ebp
pop ebp
ret 4