Function at 0x40dcd0
Capabilities:
Check if file exists
Copy file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ba580
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x6877f0]
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 edi, ecx
push 0x104
xor esi, esi
lea eax, [ebp - 0x118]
push esi
push eax
call fcn.0058db90
push 0x104
lea eax, [ebp - 0x320]
push esi
push eax
call fcn.0058db90
lea eax, [ebp - 0x118]
push 0x103
push eax
call fcn.0059c13d
add esp, 0x20
mov dword [ebp - 4], esi
push dword [ebp + 8]
push ebx
call sym.CtesHostSvc.exe__Uninstall_8
test eax, eax
je 0x40e018
push 0x104
lea eax, [ebp - 0x21c]
push esi
push eax
call fcn.0058db90
add esp, 0xc
cmp byte [ebp - 0x118], 0
je 0x40dd80
lea eax, [ebp - 0x118]
push eax
call fcn.0059b6a7
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40e011
push ecx
mov ecx, 0x68df38
call fcn.00403190
push 0x68e348
mov ecx, 0x68df38
call fcn.00404150
test eax, eax
jne 0x40ddca
push 0x68e348
push str.Failed_to_verify_directory:__s
push 0x68df38
call fcn.00406510
add esp, 0xc
jmp 0x40e037
mov ecx, 0x68df38
call fcn.00405b50
cmp byte [0x68defe], 1
jne 0x40de69
mov ecx, 0x68df38
call fcn.00403070
push 0x68e44c
mov ecx, 0x68df38
call fcn.00404150
test eax, eax
jne 0x40de06
or eax, 0xffffffff
jmp 0x40e037
push 0x68e44c
push edi
mov ecx, 0x68df38
call fcn.00406340
cmp al, 1
jne 0x40e01d
push 0x671cd4
push 0x68e348
lea eax, [ebp - 0x21c]
push str._sInstall__s.zip
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x21c]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileA]
cmp eax, 1
jne 0x40de5f
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov eax, 1
jmp 0x40e037
push 0x104
push 0
push 0x68e550
call fcn.0058db90
add esp, 8
mov ecx, 0x68df38
call fcn.00403190
test eax, eax
je 0x40dea8
push 0x672210
push 0x68e348
push str._s_s
push 0x68e550
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x68e348
push edi
mov ecx, 0x68df38
call fcn.00406340
cmp al, 1
jne 0x40dfb8
cmp dword [0x688280], 0
je 0x40df25
cmp byte [0x68defc], 0
jne 0x40df25
cmp dword [0x688284], 0x10
mov eax, 0x688270
cmovae eax, dword [0x688270]
push eax
push 0x68e348
push str.cmd.exe__c__s_s
lea eax, [ebp - 0x320]
push 0x104
push eax
call fcn.00402f90
lea eax, [ebp - 0x320]
push eax
push str.Install:_running_cmd:__s
push 0x68df38
call fcn.00406510
add esp, 0x20
push 0xea60
push eax
call fcn.00405840
push 0x672210
push 0x672210
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x40df5a
mov esi, 1
push esi
push ecx
mov ecx, 0x68df38
call fcn.00405900
test eax, eax
jne 0x40e01d
or esi, 0xffffffff
jmp 0x40e01d
push 0x672204
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40de5f
push ecx
push 0x672204
call fcn.0040db00
test eax, eax
jne 0x40de5f
push 0x68e550
sub esp, 8
call fcn.0040d710
test eax, eax
je 0x40dfb1
sub esp, 8
call fcn.0040da40
push ecx
push 0x672204
call fcn.0040db00
test eax, eax
jne 0x40de5f
lea esi, [eax - 2]
jmp 0x40e01d
mov esi, 0xfffffffd
jmp 0x40e01d
mov esi, 0xfffffffc
jmp 0x40e01d
mov esi, 0xfffffffb
jmp 0x40e01d
mov esi, 0xfffffffa
cmp byte [ebp - 0x118], 0
je 0x40e035
lea eax, [ebp - 0x118]
push eax
call fcn.0059b6a7
add esp, 4
mov eax, esi
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.00574c7a
mov esp, ebp
pop ebp
ret