Function at 0x4177c0
Capabilities:
Read pipe
Write pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x4d044c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x4d4c60], 0
je 0x417b98
push ebx
push esi
push 0
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
call fcn.0045e060
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, eax
test esi, esi
je 0x41782b
lea eax, [ebp - 0x28]
push eax
push str.LastUpdateResult
push esi
call fcn.0045e500
lea eax, [ebp - 0x18]
push eax
push str.LastUpdateTime
push esi
call fcn.0045e500
push esi
call ebx
mov eax, dword [ebp - 0x18]
cmp dword [0x4d6914], eax
je 0x417b86
push 0x4000
push 0
mov dword [0x4d6914], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x417b86
push edi
lea edi, [eax + 0x40]
mov dword [ebp - 0x14], edi
add edi, 0x40
push 0
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [edi + 0x104]
mov dword [ebp - 0x24], eax
call fcn.0045e060
mov esi, eax
test esi, esi
je 0x4178c7
lea eax, [ebp - 0x2c]
push eax
push str.VersionTSProgram
push esi
call fcn.0045e500
lea eax, [ebp - 0x34]
push eax
push str.TSProgramDate
push esi
call fcn.0045e500
lea eax, [ebp - 0x30]
push eax
push str.VersionAVProgram
push esi
call fcn.0045e500
lea eax, [ebp - 0x38]
push eax
push str.AVProgramDate
push esi
call fcn.0045e500
push esi
call ebx
mov ecx, dword [ebp - 0x2c]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, cx
push eax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
push eax
push ecx
push str._d._d._04d
push dword [ebp - 0x1c]
call esi
mov ecx, dword [ebp - 0x30]
movzx eax, cx
push eax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
push eax
push ecx
push str._d._d._04d
push dword [ebp - 0x14]
call esi
add esp, 0x28
mov byte [edi], 0
push 0
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0045e060
mov dword [ebp - 0x20], eax
test eax, eax
je 0x41793d
push 0x104
push edi
push str.UpdateTaskId
push eax
call fcn.0045e550
push dword [ebp - 0x20]
call ebx
push 0x4000
call fcn.00460a14
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4179a2
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
push str.HKLM
push str.__s_s__r_n
push ebx
call esi
push 0x4c1e27
push str.UpdateTaskId
push str.__s___s__r_n
lea esi, [ebx + eax]
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esi, eax
push str._r_n_r_n
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
sub esi, ebx
mov edx, ebx
lea ecx, [eax + 1]
add ecx, esi
call fcn.004496e0
push 1
push ebx
call fcn.004609d1
add esp, 0x30
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [edi + 0x104]
push 0x520a
push str.ID_d
push ecx
call ebx
mov esi, eax
lea eax, [edi + 0x104]
push 0
add esi, eax
call fcn.0048baa1
push eax
push str.TS_lu
push esi
call ebx
push edi
add esi, eax
push str.TaskId_s
push esi
call ebx
push dword [0x4d3e40]
add esi, eax
push str.prdid_s
push esi
call ebx
push dword [ebp - 0x18]
add esi, eax
push str.lastupdt_lu
push esi
call ebx
add esp, 0x40
add esi, eax
push dword [ebp - 0x28]
push str.status_lu
push esi
call ebx
push dword [ebp - 0x14]
add esi, eax
push dword [ebp - 0x1c]
push str.contver_s__s
push esi
call ebx
push dword [ebp - 0x34]
add esi, eax
push str.updtrelsdt_ts_lu
push esi
call ebx
push dword [ebp - 0x38]
add esi, eax
push str.updtrelsdt_av_lu
push esi
call ebx
add esp, 0x34
lea ecx, [edi + 0x104]
sub esi, ecx
push 0
push 0
push 3
push 0
push 0
lea edi, [esi + 1]
push 0xc0000000
add edi, eax
push 0x4c95fc
mov dword [ebp - 0x14], edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x417ab4
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
call edi
cmp eax, 0xe7
jne 0x417b12
push 0x2710
push 0x4c95fc
call ebx
push 0
push 0
push 3
push 0
push 0
push 0xc0000000
push 0x4c95fc
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x417a77
mov edi, dword [ebp - 0x14]
lea eax, [edi + 0xc]
push eax
push 0
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
je 0x417b17
mov dword [ebx], 0x4b374147
mov dword [ebx + 4], 5
mov dword [ebx + 8], edi
test edi, edi
je 0x417af4
push edi
push dword [ebp - 0x24]
lea eax, [ebx + 0xc]
push eax
call fcn.0046c5d0
add esp, 0xc
push 0
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
jne 0x417b21
xor edi, edi
jmp 0x417b47
cmp esi, 0xffffffff
jne 0x417ab1
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
xor edi, edi
jmp 0x417b65
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
push 0xc
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x14]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_TransactNamedPipe]
mov edi, eax
neg edi
sbb edi, edi
neg edi
cmp esi, 0xffffffff
je 0x417b53
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
push eax
call esi
push dword [ebp - 0x1c]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call esi
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004606ac
mov esp, ebp
pop ebp
ret
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004606ac
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.004606ac
mov esp, ebp
pop ebp
ret