Function at 0x40dd90
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x488fdc]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x430], ecx
mov ecx, dword [ebp - 0x430]
call fcn.0040dd40
movzx eax, al
test eax, eax
je 0x40ddd3
push 0x4669a0
mov ecx, dword [ebp - 0x430]
add ecx, 0x334
call fcn.0040fdb0
jmp 0x40dde9
push 0x4669a4
mov ecx, dword [ebp - 0x430]
add ecx, 0x334
call fcn.0040fdb0
push str.Unable_To_Determine_PC_Model
mov ecx, dword [ebp - 0x430]
add ecx, 0x27c
call fcn.0040fdb0
push str.Unable_To_Determine_PC_Manufacturer
mov ecx, dword [ebp - 0x430]
add ecx, 0x260
call fcn.0040fdb0
cmp dword [0x4ba0c8], 0
je 0x40df71
lea ecx, [ebp - 8]
push ecx
push 0xf003f
push 0
push 0x4669ec
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40dec7
mov dl, byte [0x466521]
mov byte [ebp - 0x110], dl
push 0xff
push 0
lea eax, [ebp - 0x10f]
push eax
call fcn.004456b0
add esp, 0xc
mov dword [ebp - 0x114], 0x100
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0x110]
push edx
push 0
push 0
push str.SystemManufacturer
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40debd
lea ecx, [ebp - 0x110]
push ecx
call fcn.0040f980
add esp, 4
lea edx, [ebp - 0x110]
push edx
mov ecx, dword [ebp - 0x430]
add ecx, 0x260
call fcn.0040fdb0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 4]
push ecx
push 0xf003f
push 0
push str.SYSTEMControlSet001ControlSystemInformation
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40df6c
mov dl, byte [0x466522]
mov byte [ebp - 0x218], dl
push 0xff
push 0
lea eax, [ebp - 0x217]
push eax
call fcn.004456b0
add esp, 0xc
mov dword [ebp - 0x21c], 0x100
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x218]
push edx
push 0
push 0
push str.SystemProductName
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40df62
lea ecx, [ebp - 0x218]
push ecx
call fcn.0040f980
add esp, 4
lea edx, [ebp - 0x218]
push edx
mov ecx, dword [ebp - 0x430]
add ecx, 0x27c
call fcn.0040fdb0
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40e0bb
lea ecx, [ebp - 8]
push ecx
push 0xf003f
push 0
push 0x466a88
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40e016
mov dl, byte [0x466523]
mov byte [ebp - 0x320], dl
push 0xff
push 0
lea eax, [ebp - 0x31f]
push eax
call fcn.004456b0
add esp, 0xc
mov dword [ebp - 0x324], 0x100
lea ecx, [ebp - 0x324]
push ecx
lea edx, [ebp - 0x320]
push edx
push 0
push 0
push str.WbemOem
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40e00c
lea ecx, [ebp - 0x320]
push ecx
call fcn.0040f980
add esp, 4
lea edx, [ebp - 0x320]
push edx
mov ecx, dword [ebp - 0x430]
add ecx, 0x260
call fcn.0040fdb0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 4]
push ecx
push 0xf003f
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdateOemInfo
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40e0bb
mov dl, byte [0x46652f]
mov byte [ebp - 0x428], dl
push 0xff
push 0
lea eax, [ebp - 0x427]
push eax
call fcn.004456b0
add esp, 0xc
mov dword [ebp - 0x42c], 0x100
lea ecx, [ebp - 0x42c]
push ecx
lea edx, [ebp - 0x428]
push edx
push 0
push 0
push str.WbemProduct
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40e0b1
lea ecx, [ebp - 0x428]
push ecx
call fcn.0040f980
add esp, 4
lea edx, [ebp - 0x428]
push edx
mov ecx, dword [ebp - 0x430]
add ecx, 0x27c
call fcn.0040fdb0
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0044545a
mov esp, ebp
pop ebp
ret