Function at 0x45fa50
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0xc
lea eax, [esp + 4]
push ebx
push esi
push edi
mov ebx, 1
push eax
push ebx
push 0
push str.SOFTWAREOrigin_Worlds_OnlineUltima_Online1.0HWProfile
push reloc.WSOCK32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x45fa80
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x1c]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [esp + 0xc]
lea eax, [esp + 0x14]
lea edx, [esi + 1]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
push 0
push str.processorType
push ecx
mov dword [esp + 0x24], ebx
call edi
test eax, eax
je 0x45fab7
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
lea edx, [esp + 0xc]
lea eax, [esi + 2]
push edx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
push ecx
push 0
push str.processorClock
push edx
mov dword [esp + 0x24], 2
call edi
test eax, eax
je 0x45fae8
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
lea eax, [esp + 0xc]
lea ecx, [esi + 4]
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x18]
push ecx
push edx
push 0
push str.nProcessors
push eax
mov dword [esp + 0x24], ebx
call edi
test eax, eax
je 0x45fb15
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
lea ecx, [esp + 0xc]
lea edx, [esi + 5]
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push edx
push eax
push 0
mov ebx, 0x20
push str.szVideoCardDescrip1
push ecx
mov dword [esp + 0x24], ebx
call edi
test eax, eax
je 0x45fb47
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
lea edx, [esp + 0xc]
lea eax, [esi + 0x25]
push edx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
push ecx
push 0
push str.szVideoCardDescrip2
push edx
mov dword [esp + 0x24], ebx
call edi
test eax, eax
je 0x45fb74
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
lea eax, [esp + 0xc]
lea ecx, [esi + 0x45]
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x18]
push ecx
push edx
push 0
push str.szModemManufacturer
push eax
mov dword [esp + 0x24], ebx
call edi
test eax, eax
je 0x45fba1
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
lea ecx, [esp + 0xc]
lea edx, [esi + 0x65]
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push edx
push eax
push 0
push str.szModemDescrip
push ecx
mov dword [esp + 0x24], ebx
call edi
test eax, eax
je 0x45fbce
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
lea edx, [esp + 0xc]
lea eax, [esi + 0x86]
push edx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
push ecx
push 0
push str.totalRAMInMB
push edx
mov dword [esp + 0x24], 2
call edi
test eax, eax
je 0x45fc02
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
lea eax, [esp + 0xc]
lea ecx, [esi + 0x88]
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x18]
push ecx
push edx
push 0
push str.largestPartitionInMB
push eax
mov dword [esp + 0x24], 2
call edi
test eax, eax
je 0x45fc36
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xc]
add esi, 0x8c
push ecx
lea edx, [esp + 0x18]
push esi
push edx
push 0
push str.timeZoneBias
push eax
mov dword [esp + 0x24], 4
call edi
neg eax
sbb eax, eax
pop edi
pop esi
inc eax
pop ebx
add esp, 0xc
ret