Function at 0x44aca0
Capabilities:
Initialize winsock library
Parse url
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70c
mov eax, dword [0x4d044c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x1000
push 0
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0x6c0], esi
test esi, esi
je 0x44b89a
push 0
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
push reloc.OLEAUT32.dll_SysReAllocString
lea ebx, [esi + 0x800]
mov dword [edi + 0x1024], 0
call fcn.0045e060
mov dword [ebp - 0x6c8], eax
test eax, eax
je 0x44ad25
lea ecx, [edi + 0x1024]
push ecx
push str.ProductType
push eax
call fcn.0045e500
push dword [ebp - 0x6c8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.K7CmnRes.dll
mov byte [edi + 0x102c], 0
mov byte [edi + 0x1b54], 0
mov byte [edi + 0x27f0], 0
mov byte [edi + 0x28f4], 0
mov byte [edi + 0x2934], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x6c4], eax
test eax, eax
je 0x44b88a
push 0x80
lea ecx, [edi + 0x1b54]
push ecx
push 0x33
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov dword [ebp - 0x6cc], eax
cmp eax, 2
jge 0x44ad93
push str.UNKNOWN
lea eax, [edi + 0x1b54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x104
lea eax, [edi + 0x27f0]
push eax
push 0x32
push dword [ebp - 0x6c4]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x40
lea eax, [edi + 0x28f4]
push eax
push 0x35
push dword [ebp - 0x6c4]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x40
lea eax, [edi + 0x2934]
push eax
push 0x36
push dword [ebp - 0x6c4]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x800
push esi
push 0x1452
push dword [ebp - 0x6c4]
call dword [sym.imp.USER32.dll_LoadStringA]
push pe_nt_image_headers32
lea eax, [ebp - 0x524]
mov dword [ebp - 0x6c8], 0
push 0
push eax
call fcn.004644e0
add esp, 0xc
mov dword [ebp - 0x528], 0x11c
lea eax, [ebp - 0x528]
push eax
call fcn.0045eaf0
add esp, 4
test eax, eax
je 0x44ae46
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x524], 5
cmove eax, ecx
mov dword [ebp - 0x6c8], eax
push 0
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [edi + 0x1028], 0
call fcn.0045e060
mov dword [ebp - 0x6bc], eax
test eax, eax
je 0x44ae89
lea ecx, [edi + 0x1028]
push ecx
push str.ProductMode
push eax
call fcn.0045e500
push dword [ebp - 0x6bc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [edi + 0x1028], 1
jne 0x44ae9a
mov byte [ebx], 0
jmp 0x44b0ba
cmp dword [edi + 0x1024], 3
jne 0x44b10b
push 0
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
mov byte [ebx], 0
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x6cc], 0x400
call fcn.0045e060
mov dword [ebp - 0x6bc], eax
test eax, eax
je 0x44aeec
push 0x104
push ebx
push str.BizServerAddr
push eax
call fcn.0045e550
push dword [ebp - 0x6bc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 8
push str.https:__
push ebx
call fcn.0048e970
add esp, 0xc
test eax, eax
je 0x44b0f2
push 7
push str.http:__
push ebx
call fcn.0048e970
add esp, 0xc
test eax, eax
je 0x44b0f2
push 0
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0045e060
mov dword [ebp - 0x6bc], eax
test eax, eax
je 0x44b0ba
push 0x104
lea ecx, [ebp - 0x408]
push ecx
push str.BizServerAddr
push eax
call fcn.0045e550
push dword [ebp - 0x6bc]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, 1
jne 0x44b0b4
lea eax, [ebp - 0x208]
mov dword [ebp - 0x6fc], 0
mov dword [ebp - 0x6f8], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x708]
movlpd qword [ebp - 0x704], xmm0
push eax
push 0
push 0
lea eax, [ebp - 0x408]
movlpd qword [ebp - 0x6f0], xmm0
push eax
movlpd qword [ebp - 0x6e8], xmm0
movlpd qword [ebp - 0x6e0], xmm0
movlpd qword [ebp - 0x6d8], xmm0
mov dword [ebp - 0x6d0], 0
mov dword [ebp - 0x708], 0x3c
mov dword [ebp - 0x6f4], 0x200
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
je 0x44b0b4
mov eax, dword [0x4d697c]
test eax, eax
jne 0x44b05b
lea eax, [ebp - 0x6b8]
xor esi, esi
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x44b0b4
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x44b03e
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x44b048
cmp word [eax + 8], 2
jne 0x44b048
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x4d697c], eax
mov esi, 1
call dword [sym.imp.WS2_32.dll_WSACleanup]
test esi, esi
je 0x44b0b4
mov eax, dword [0x4d697c]
test eax, eax
je 0x44b0b4
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x208]
push 0x4c2b0c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x208]
mov dword [ebp - 0x6f8], eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x6f4], eax
lea eax, [ebp - 0x6cc]
push eax
push ebx
push 0
lea eax, [ebp - 0x708]
push eax
call dword [sym.imp.WININET.dll_InternetCreateUrlA]
mov esi, dword [ebp - 0x6c0]
test eax, eax
jne 0x44b0f2
jmp 0x44b0ba
mov esi, dword [ebp - 0x6c0]
push 0
push str.SOFTWAREK7_ComputingK7TotalSecurityCommonInfoUpdates
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0045e060
mov dword [ebp - 0x6bc], eax
test eax, eax
je 0x44b0f2
push 0x104
push ebx
push str.BizServerAddr
push eax
call fcn.0045e550
push dword [ebp - 0x6bc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
push ebx
push str._s_s
lea ebx, [edi + 0x102c]
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x44b155
cmp dword [ebp - 0x6c8], 1
jne 0x44b147
push 6
push str.https:
push esi
call fcn.0048e970
add esp, 0xc
test eax, eax
jne 0x44b147
push str.http:
lea ebx, [edi + 0x102c]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esi + 6]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x44b155
push esi
lea ebx, [edi + 0x102c]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [edi + 0x1004], 0
je 0x44b87e
push 0x300
call fcn.0048b928
add esp, 4
mov dword [edi + 0x100c], eax
test eax, eax
je 0x44b87e
mov dword [edi + 0x1010], 0
mov dword [eax], str.Status
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov ecx, dword [edi + 0x100c]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x1004]
mov dword [ecx + edx*4 + 8], eax
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.TraceId
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 4
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.RegStatus
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 8
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c991c
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x7a4
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c9920
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x7a0
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c9924
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov edx, dword [edi + 0x1004]
mov eax, dword [edi + 0x1010]
add edx, 0x79c
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c9928
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x7a8
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c992c
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x7ac
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c9930
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x7b0
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c9934
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x698
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.AutoCheck
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x7b4
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c9938
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x7b8
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.CustomMsg
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x4e
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0xc
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], 0x4c8814
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x90
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.PCName
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x490
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.PrevPCName
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x594
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.AckId
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x10
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.SasId
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x800
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.BizSrvId
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x880
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.SerialNo
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x900
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.PkgId
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x940
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.PkgComps
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0x9c0
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4], str.PkgName
mov eax, dword [edi + 0x1010]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov byte [eax + ecx*4 + 4], 0x53
mov eax, dword [edi + 0x1010]
mov edx, dword [edi + 0x1004]
add edx, 0xac4
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x100c]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x1010]
push dword [ebp - 0x6c4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004606ac
mov esp, ebp
pop ebp
ret