Function at 0x408ef0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x461008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x220c
or esi, 0xffffffff
call fcn.0043198f
mov edi, eax
add esp, 4
test edi, edi
je 0x408f2b
mov dword [edi], vtable.PipeClient.0
mov dword [edi + 4], 0
jmp 0x408f2d
xor edi, edi
lea eax, [ebp - 0x264]
mov dword [ebp - 0x264], 0
push eax
lea eax, [ebp - 0x268]
mov ecx, edi
push eax
call fcn.00417470
mov ebx, dword [ebp - 0x264]
test al, al
jne 0x408f6b
push str.Pipe_error._r_n
call fcn.0043275d
add esp, 4
or esi, 0xffffffff
jmp 0x40918f
mov eax, dword [ebp - 0x268]
cmp eax, 2
jne 0x408f8a
push str.Already_update_pending._r_n
call fcn.0043275d
mov esi, 3
jmp 0x40918c
push eax
push str.CFU___d_r_n
call fcn.0043275d
add esp, 8
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x260], eax
mov byte [ebp - 0x25c], 0
call fcn.00415980
mov ebx, eax
push ebx
push dword [ebp - 0x264]
mov dword [ebp - 0x268], ebx
push str._ws_r_n____ws_r_n
call fcn.0043275d
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x264]
lea eax, [ebp - 0x260]
push eax
push 0x4091d0
push 0
push 0
mov edx, ebx
call fcn.00417dc0
add esp, 0x10
test al, al
jne 0x409014
push str.Download_failed._r_n
call fcn.0043275d
add esp, 4
or esi, 0xffffffff
jmp 0x409180
push str.Waiting_for_download_..._r_n
call fcn.0043275d
add esp, 4
push 0xffffffffffffffff
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x409180
push str.Download_complete._r_n
call fcn.0043275d
add esp, 4
cmp byte [ebp - 0x25c], 0
je 0x409072
lea eax, [ebp - 0x258]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
je 0x40906e
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 1
jmp 0x409075
xor eax, eax
jmp 0x409075
or eax, 0xffffffff
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x26c], 0
push ecx
push ebx
push eax
mov ecx, edi
call fcn.00417530
mov ebx, dword [ebp - 0x26c]
test al, al
jne 0x4090a3
push str.Pipe_error._r_n
jmp 0x409162
mov eax, dword [ebx]
cmp eax, 0xfffffffe
jne 0x4090b4
push str.Invalid_update__partial_download__._r_n
jmp 0x409162
test eax, eax
jne 0x4090cf
push str.None._r_n
call fcn.0043275d
add esp, 4
mov esi, 1
jmp 0x40916d
cmp eax, 1
jne 0x40915d
push dword [ebx + 4]
push str.Update_PID__d_..._r_n
call fcn.0043275d
mov ecx, dword [ebx + 4]
lea eax, [ebp - 8]
push eax
call fcn.004159d0
add esp, 0xc
push dword [ebp - 8]
test al, al
jne 0x40910a
push str.Timed_out._r_n
call fcn.0043275d
add esp, 8
jmp 0x40916d
push str.Exit_Code__d._r_n
call fcn.0043275d
mov eax, dword [ebp - 8]
add esp, 8
test eax, eax
jne 0x409130
push str.Update_complete._r_n
lea esi, [eax + 1]
call fcn.0043275d
add esp, 4
jmp 0x40916d
cmp eax, 0xbc2
jne 0x40914b
push str.Update_complete__must_reboot._r_n
mov esi, 2
call fcn.0043275d
add esp, 4
jmp 0x40916d
push str.Update_failed._r_n
or esi, 0xffffffff
call fcn.0043275d
add esp, 4
jmp 0x40916d
push str.Update_failed._r_n
call fcn.0043275d
add esp, 4
or esi, 0xffffffff
test ebx, ebx
je 0x40917a
push ebx
call fcn.004323fa
add esp, 4
mov ebx, dword [ebp - 0x268]
push ebx
call fcn.004323fa
mov ebx, dword [ebp - 0x264]
add esp, 4
test ebx, ebx
je 0x40919c
push ebx
call fcn.004323fa
add esp, 4
test edi, edi
je 0x4091a8
mov edx, dword [edi]
mov ecx, edi
push 1
call dword [edx]
push esi
push str.Return_value___d_r_n
call fcn.0043275d
mov ecx, dword [ebp - 4]
add esp, 8
mov eax, esi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0043183b
mov esp, ebp
pop ebp
ret