Function at 0x406934
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2520
call fcn.0040ba90
mov dword [ebp - 4], edi
mov dword [ebp - 8], esi
lea edi, [ebp - 0x2520]
mov esi, 0x434d80
mov ecx, 0x1000
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x1420]
mov esi, 0x435e80
mov ecx, 0x1000
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x320], 0
lea edi, [ebp - 0x31c]
mov esi, 0x436f80
mov ecx, 0x100
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x21c], 0x80
lea edi, [ebp - 0x218]
mov esi, 0x437080
mov ecx, 0x200
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x18], 0x200
xor eax, eax
xor esi, esi
mov dword [ebp - 0x14], eax
push edx
mov dword [ebp - 0x10], eax
xor edi, edi
mov word [0x4500e0], ax
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionHotfix
push str._s_s
push 0x4500e0
call dword [sym.imp.MSVCR71.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x10]
push eax
push 0x20019
push 0
push 0x4500e0
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x406b6e
mov dword [ebp - 0xc], ebx
lea ebx, [ebp - 0x21c]
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x218]
lea eax, [ebp - 0x18]
push eax
push edx
push ecx
push 0
push ebx
lea eax, [ebp - 0x31c]
push eax
push esi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x406a7d
mov eax, dword [ebp - 0x18]
cmp eax, 2
ja 0x406b78
mov dword [ebp - 0x21c], 0x80
add esi, 1
mov dword [ebp - 0x18], 0x200
jmp 0x406a2e
push dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x406b6e
mov eax, dword [0x44e880]
test eax, eax
jne 0x406ab4
je 0x406aa3
mov eax, str.ROWSET_TABLE_MGMT_ECM_OS_COMPONENT__DATECOLUMNS_INSTALLATION_DATE__CONFIG_TRUE_
jmp 0x406aa8
mov eax, str.OS_COMPONENT
push eax
call fcn.00402e10
pop ecx
mov eax, dword [0x44e880]
test eax, eax
je 0x406abf
mov eax, 0x444940
jmp 0x406ac4
mov eax, 0x4434c0
push eax
call fcn.00402e10
mov eax, dword [ebp + 8]
push eax
call fcn.00401a9c
push 0x80
push eax
push str.NAME
call fcn.00402e68
push 0x64
push str.Patch
push str.TYPE
call fcn.00402e68
push 0x64
push 0
push str.VERSION
call fcn.00402e68
lea eax, [ebp - 0x2520]
push 0x7d0
push eax
push str.DESCRIPTION
call fcn.00402e68
lea eax, [ebp - 0x1420]
push eax
call fcn.00402308
push 0x30
push eax
push str.INSTALLATION_DATE
call fcn.00402e68
add esp, 0x48
mov eax, dword [0x44e880]
test eax, eax
je 0x406b44
mov eax, 0x444940
jmp 0x406b49
mov eax, 0x4434c0
push eax
call fcn.0040322c
pop ecx
mov eax, dword [0x44e880]
test eax, eax
jne 0x406b6e
je 0x406b62
mov eax, str.ROWSET_TABLE_MGMT_ECM_OS_COMPONENT__DATECOLUMNS_INSTALLATION_DATE__CONFIG_TRUE_
jmp 0x406b67
mov eax, str.OS_COMPONENT
push eax
call fcn.0040322c
pop ecx
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
push str.Fix_Description
lea eax, [ebp - 0x31c]
push eax
call dword [sym.imp.MSVCR71.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x406bc3
mov eax, dword [ebp - 0x14]
cmp eax, 1
jne 0x406bc3
lea edx, [ebp - 0x2520]
lea eax, [ebp - 0x218]
push 0x800
push eax
push edx
call dword [sym.imp.MSVCR71.dll_wcsncpy]
add esp, 0xc
xor eax, eax
mov word [ebp - 0x1522], ax
jmp 0x406a67
push str.Installed_On
lea eax, [ebp - 0x31c]
push eax
call dword [sym.imp.MSVCR71.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x406c0e
mov eax, dword [ebp - 0x14]
cmp eax, 1
jne 0x406c0e
lea edx, [ebp - 0x1420]
lea eax, [ebp - 0x218]
push 0x800
push eax
push edx
call dword [sym.imp.MSVCR71.dll_wcsncpy]
add esp, 0xc
xor eax, eax
mov word [ebp - 0x422], ax
jmp 0x406a67
push str.Installed
lea eax, [ebp - 0x31c]
push eax
call dword [sym.imp.MSVCR71.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x406a67
mov eax, dword [ebp - 0x14]
cmp eax, 4
jne 0x406a67
mov edx, dword [ebp - 0x18]
lea ebx, [ebp - 0x320]
lea ecx, [ebp - 0x218]
mov eax, 0x800
cmp edx, 0x800
jb 0x406c55
mov edx, eax
push edx
push ecx
push ebx
call fcn.0040990c
add esp, 0xc
mov eax, dword [ebp - 0x320]
test eax, eax
je 0x406c74
mov edi, 1
jmp 0x406a67
xor edi, edi
jmp 0x406a67