Function at 0x42a15a
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0xb4]
sub esp, 0x134
mov eax, dword [0x498b28]
xor eax, ebp
mov dword [ebp + 0xb0], eax
push ebx
push esi
push edi
mov dword [ebp - 0x80], ecx
push 6
xor eax, eax
xor ebx, ebx
cmp byte [ebp + 0xbc], bl
pop ecx
lea edi, [ebp - 0x68]
mov dword [ebp - 0x6c], 0x1c
rep stosd dword es:[edi], eax
mov esi, 0x4704ac
jne 0x42a1a0
mov esi, 0x47050c
movzx eax, byte [ebp + 0xbc]
push eax
push str.CWaitWakeEnabledHidDevs::printHIDs:_bKeyboards_d_n
call fcn.0041b266
pop ecx
pop ecx
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
cmp eax, ebx
mov dword [ebp - 0x70], eax
jne 0x42a1dd
call dword [0x467358]
push eax
push str._CWaitWakeEnabledHidDevs::printHIDs:_SetupDiGetClassDevs_failed._err_d_n
call fcn.0041b266
pop ecx
pop ecx
jmp 0x42a324
mov dword [ebp - 0x74], ebx
mov edi, 0x100
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x70]
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x42a2fd
push ebx
push edi
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x70]
mov dword [ebp - 0x7c], edi
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdA]
test eax, eax
jne 0x42a22f
call dword [0x467358]
push eax
push str._CWaitWakeEnabledHidDevs::printHIDs:_SetupDiGetDeviceInstanceId_failed._err_d_n
call fcn.0041b266
pop ecx
pop ecx
jmp 0x42a2eb
lea eax, [ebp - 0x50]
push edi
push eax
call fcn.0043d3e1
lea eax, [ebp - 0x50]
push str.HID00001124_0000_1000_8000_00805F9B34FB
push eax
call fcn.0043b820
add esp, 0x10
test eax, eax
jne 0x42a259
lea eax, [ebp - 0x50]
push eax
push str.CWaitWakeEnabledHidDevs::printHIDs:_ignore_non_BT_HID__hs_n
jmp 0x42a223
push 0x20019
push 1
push ebx
push 1
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x70]
call dword [sym.imp.SETUPAPI.dll_SetupDiOpenDevRegKey]
mov esi, eax
cmp esi, 0xffffffff
jne 0x42a285
call dword [0x467358]
push eax
push str._CWaitWakeEnabledHidDevs::printHIDs:_SetupDiOpenDevRegKey_failed._err_d_n
jmp 0x42a223
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x78]
push eax
push ebx
push ebx
push str.WaitWakeEnabled
push esi
mov dword [ebp - 0x7c], 4
call dword [0x467050]
cmp eax, ebx
je 0x42a2ba
push eax
push str.CWaitWakeEnabledHidDevs::printHIDs:_no_value_WaitWakeEnabled._RegQueryValueEx_returned__d_n
call fcn.0041b266
pop ecx
pop ecx
mov dword [ebp - 0x78], 1
push esi
call dword [0x467004]
mov ecx, dword [ebp - 0x80]
lea eax, [ebp - 0x50]
push eax
call fcn.00429e6e
lea ecx, [ebp - 0x50]
push ecx
xor ecx, ecx
cmp dword [ebp - 0x78], ebx
movzx eax, al
setne cl
push ecx
push eax
push str.CWaitWakeEnabledHidDevs::printHIDs:_previous:_d_current:_d__hs_n
call fcn.0041b266
add esp, 0x10
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0x3e8
jb 0x42a1e5
jmp 0x42a31b
mov esi, dword [0x467358]
call esi
cmp eax, 0x103
je 0x42a31b
call esi
push eax
push str._CWaitWakeEnabledHidDevs::printHIDs:_SetupDiEnumDeviceInfo_failed._err_d_n
call fcn.0041b266
pop ecx
pop ecx
push dword [ebp - 0x70]
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
push str.CWaitWakeEnabledHidDevs::printHIDs:_exits_n
call fcn.0041b266
pop ecx
mov ecx, dword [ebp + 0xb0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004369c2
add ebp, 0xb4
leave
ret 4