Function at 0x42baf0
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x434058
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x308
mov eax, dword [esp + 0x320]
mov edx, dword [esp + 0x318]
push ebx
push esi
mov esi, ecx
push eax
mov ecx, dword [esp + 0x328]
mov dword [esp + 0x18], esi
push ecx
push edx
mov ecx, esi
call sub.MFC42.DLL_CPropertySheet::CPropertySheet
xor ebx, ebx
mov eax, 0x435b54
mov dword [esp + 0x318], ebx
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xb8], eax
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc0], eax
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xc8], eax
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xd0], eax
mov dword [esi + 0xdc], ebx
mov dword [esi + 0xd8], 0x435fb0
lea ecx, [esi + 0xe0]
mov byte [esp + 0x318], 5
call sub.MFC42.DLL_CDC::CDC
lea ecx, [esi + 0xf0]
mov byte [esp + 0x318], 6
call sub.MFC42.DLL_CDC::CDC
mov ecx, esi
mov byte [esp + 0x318], 7
mov dword [esi], 0x4385d0
call fcn.0042c370
call sub.MFC42.DLL_AfxGetModuleState
lea ecx, [esp + 0x1c]
mov dword [esi + 0xac], ebx
mov dword [esi + 0x9c], ebx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xa0], ebx
mov dword [esi + 0x114], ebx
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xa4], ebx
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x94], ebx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0x14c], ebx
mov dword [esi + 0x13c], 0xffffffff
mov dword [esi + 0x98], ebx
mov dword [esi + 0x144], 0x19e
mov dword [esi + 0x148], 0x13f
call fcn.0040c7b0
lea ecx, [esp + 8]
mov byte [esp + 0x318], 8
call sub.MFC42.DLL_CString::CString_3
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x31c], 9
call fcn.0040cce0
lea eax, [esp + 0x8c]
lea ecx, [esp + 8]
push eax
call fcn.0042f26e
lea ecx, [esp + 0x210]
push str.VolSpkrs__
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebx
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::GetBuffer
lea edx, [esp + 0x210]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0xc]
mov byte [esp + 0x10c], bl
push eax
push str.SoftwareAnalog_DevicesSMax4Settings
push reloc.DSOUND.dll_DirectSoundCreate
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x42bcef
lea ecx, [esp + 0x10]
lea edx, [esp + 0x10c]
push ecx
lea eax, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x21c]
push ebx
push ecx
push edx
mov dword [esp + 0x28], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [esp + 0x10c], bl
jne 0x42bd53
mov eax, 0xcccc
mov dword [esi + 0x160], eax
mov dword [esi + 0x164], eax
mov dword [esi + 0x180], eax
mov dword [esi + 0x184], eax
mov dword [esi + 0x154], eax
mov dword [esi + 0x158], eax
mov dword [esi + 0x168], eax
mov dword [esi + 0x16c], eax
mov dword [esi + 0x170], eax
mov dword [esi + 0x174], eax
mov dword [esi + 0x150], eax
mov dword [esi + 0x15c], eax
mov dword [esi + 0x178], eax
mov dword [esi + 0x17c], eax
jmp 0x42bdcb
lea ecx, [esi + 0x17c]
lea edx, [esi + 0x178]
push ecx
lea eax, [esi + 0x15c]
push edx
lea ecx, [esi + 0x150]
push eax
lea edx, [esi + 0x174]
push ecx
lea eax, [esi + 0x170]
push edx
lea ecx, [esi + 0x16c]
push eax
lea edx, [esi + 0x168]
push ecx
lea eax, [esi + 0x158]
push edx
lea ecx, [esi + 0x154]
push eax
lea edx, [esi + 0x184]
push ecx
lea eax, [esi + 0x180]
push edx
lea ecx, [esi + 0x164]
push eax
lea edx, [esi + 0x160]
push ecx
push edx
lea eax, [esp + 0x144]
push str._i__i__i__i__i__i__i__i__i__i__i__i__i__i
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x40
lea ecx, [esp + 8]
mov byte [esp + 0x318], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 7
call fcn.0040c870
mov ecx, dword [esp + 0x310]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x314
ret 0xc