Function at 0x417cbe
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x457090]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push esi
mov dword [ebp - 0x30], eax
mov eax, dword [0x459100]
mov esi, 0x459100
push edi
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [0x459100]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov eax, dword [0x459100]
mov ecx, esi
call dword [eax + 0xc]
push dword [ebx + 0x18]
add eax, 0x10
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x28]
call fcn.0040bc90
lea eax, [ebp - 0x20]
lea edi, [ebp - 0x24]
call fcn.004088e1
push 0x451d0c
xor ecx, ecx
lea esi, [ebp - 0x20]
call fcn.00408c24
test eax, eax
jne 0x417d46
mov eax, dword [ebp - 0x20]
add eax, 8
push eax
mov eax, edi
push eax
call fcn.00404535
push str.instname_target.msi
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x1c]
lea esi, [ebx + 0x1c]
call fcn.00408dca
pop ecx
mov edi, esi
call fcn.004088e1
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.0040464c
lea edi, [ebx + 0x20]
push str.instname_custom.mst
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x2c], edi
call fcn.00408dca
pop ecx
call fcn.004088e1
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.0040464c
mov eax, dword [esi]
mov edi, dword [ebp - 0x28]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x417dc6
mov esi, dword [ebp - 0x30]
mov ecx, 0x459100
call fcn.00404631
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.0040464c
lea eax, [edi - 0x10]
jmp 0x417ec7
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
movzx ecx, byte [ebp - 9]
push ecx
movzx ecx, byte [ebp - 0xa]
push ecx
movzx ecx, byte [ebp - 0xb]
push ecx
movzx ecx, byte [ebp - 0xc]
push ecx
movzx ecx, byte [ebp - 0xd]
push ecx
movzx ecx, byte [ebp - 0xe]
push ecx
movzx ecx, byte [ebp - 0xf]
push ecx
movzx ecx, byte [ebp - 0x10]
push ecx
movzx ecx, word [ebp - 0x12]
push ecx
movzx ecx, word [ebp - 0x14]
push ecx
push dword [ebp - 0x18]
lea eax, [ebx + 0x10]
push str._0.8X__0.4X__0.4X__0.2X_0.2X__0.2X_0.2X_0.2X_0.2X_0.2X_0.2X
push eax
mov dword [ebp - 0x34], eax
call fcn.0040971d
lea edi, [ebx + 0x14]
mov eax, dword [edi]
add esp, 0x34
cmp dword [eax - 0xc], 0
jne 0x417e3e
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.0041823a
call fcn.004088e1
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.0040464c
push 0x44ad34
lea eax, [ebp - 0x1c]
call fcn.00404558
push edi
lea eax, [ebp - 0x1c]
push eax
mov eax, esi
call fcn.0041804a
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.0040464c
push 0x44a864
lea eax, [ebp - 0x1c]
call fcn.00404558
push dword [ebp - 0x34]
lea eax, [ebp - 0x1c]
push eax
mov eax, esi
call fcn.0041804a
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.0040464c
mov edi, dword [ebp - 0x2c]
push edi
push esi
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
call fcn.00417eec
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
call fcn.0040464c
mov eax, dword [edi]
sub eax, 0x10
call int.00409c66
mov esi, dword [ebp - 0x30]
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.0040464c
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
call fcn.0040464c
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
call fcn.0040464c
mov ecx, dword [ebp - 8]
pop edi
mov eax, esi
xor ecx, ebp
pop esi
call fcn.004313fb
leave
ret 4