Function at 0x40a9b0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push str.SOFTWAREConexantMicTrayHotkey
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 4
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov eax, dword [ebp - 4]
test eax, eax
je 0x40aa29
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebp - 8]
push ecx
push 0
push 0
push str.CustomSettings
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x40aa14
push dword [ebp - 8]
push str.CustomSettings_0x_x
push 0xf
call fcn.00401fa0
add esp, 0xc
mov eax, dword [ebp - 4]
test eax, eax
je 0x40aa29
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 4], 0
push ebx
push esi
push edi
push dword [0x5f06e0]
push str.MicMuteScancodeSettings_0x_x
push 0xf
call fcn.00401fa0
push dword [0x5f06e4]
push str.SpkMuteScancodeSettings_0x_x
push 0xf
call fcn.00401fa0
add esp, 0x18
xor esi, esi
mov cl, byte [esi + 0x5f0088]
xor edi, edi
test cl, cl
je 0x40aafb
cmp cl, 0xff
je 0x40aafb
test byte [0x5f06e0], 0x20
je 0x40aa97
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f0090]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeyMicScancode_d_code:0x_x_Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
test byte [0x5f06e0], 0x10
je 0x40aac0
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f00f0]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeyMicScancode_d_vk:0x_x__Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
test byte [0x5f06e0], 2
je 0x40aae9
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f0150]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeyMicScancode_d_flag:0x_x__Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
mov cl, byte [esi + 0x5f0088]
inc edi
movzx eax, cl
cmp edi, eax
jb 0x40aa65
inc esi
cmp esi, 8
jb 0x40aa55
xor esi, esi
nop word [eax + eax]
mov cl, byte [esi + 0x5f01b0]
xor edi, edi
test cl, cl
je 0x40abb6
cmp cl, 0xff
je 0x40abb6
test byte [0x5f06e4], 0x20
je 0x40ab52
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f01b8]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeySpkScancode_d_code:0x_x_Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
test byte [0x5f06e4], 0x10
je 0x40ab7b
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f0218]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeySpkScancode_d_vk:0x_x__Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
test byte [0x5f06e4], 2
je 0x40aba4
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f0278]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeySpkScancode_d_flag:0x_x__Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
mov cl, byte [esi + 0x5f01b0]
inc edi
movzx eax, cl
cmp edi, eax
jb 0x40ab20
inc esi
cmp esi, 8
jb 0x40ab10
xor esi, esi
mov cl, byte [esi + 0x5f02d8]
xor edi, edi
test cl, cl
je 0x40ac68
cmp cl, 0xff
je 0x40ac68
test byte [0x5f06e8], 0x20
je 0x40ac04
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f02e0]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeyNCScancode_d_code:0x_x_Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
test byte [0x5f06e8], 0x10
je 0x40ac2d
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f0340]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeyNCScancode_d_vk:0x_x__Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
test byte [0x5f06e8], 2
je 0x40ac56
push edi
lea eax, [esi + esi*2]
movzx eax, byte [edi + eax*4 + 0x5f03a0]
push eax
lea eax, [esi + 1]
push eax
push str.HotKeyNCScancode_d_flag:0x_x__Cnt__d
push 0xf
call fcn.00401fa0
add esp, 0x14
mov cl, byte [esi + 0x5f02d8]
inc edi
movzx eax, cl
cmp edi, eax
jb 0x40abd2
inc esi
cmp esi, 8
jb 0x40abc2
push dword [0x5f06dc]
push str.PlaybackGPIO_0x_x
push 0xf
call fcn.00401fa0
push dword [0x5ea14c]
push str.CaptureGPIO_0x_x
push 0xf
call fcn.00401fa0
push dword [0x5f5790]
push str.InitSecDelay_0x_x
push 0xf
call fcn.00401fa0
push dword [0x5f5794]
push str.HPSilentToneSecDelay_0x_x
push 0xf
call fcn.00401fa0
add esp, 0x30
cmp dword [0x5f04a8], 0
je 0x40ad8e
mov edi, 0x5f0af4
mov ebx, 5
cmp dword [edi - 0x404], 0
je 0x40ad01
xor esi, esi
cmp dword [edi], esi
jbe 0x40ad01
movzx eax, byte [edi + esi - 0x400]
push eax
push esi
push str.HIDMake__d___d
push 0xf
call fcn.00401fa0
inc esi
add esp, 0x10
cmp esi, dword [edi]
jb 0x40ace3
add edi, 0x1020
sub ebx, 1
jne 0x40acd4
cmp dword [0x5f04a8], ebx
je 0x40ad8e
mov edi, 0x5f0ef8
mov ebx, 5
nop
cmp dword [edi - 0x808], 0
je 0x40ad4e
xor esi, esi
cmp dword [edi], esi
jbe 0x40ad4e
nop
movzx eax, byte [edi + esi - 0x400]
push eax
push esi
push str.HIDBreak__d___d
push 0xf
call fcn.00401fa0
inc esi
add esp, 0x10
cmp esi, dword [edi]
jb 0x40ad30
add edi, 0x1020
sub ebx, 1
jne 0x40ad20
cmp dword [0x5f04a8], ebx
je 0x40ad8e
mov esi, 0x5f0efc
cmp dword [esi - 0x80c], 0
je 0x40ad80
push dword [esi]
push str.HIDUsage_0x_x
push 0xf
call fcn.00401fa0
add esp, 0xc
add esi, 0x1020
cmp esi, 0x5f5f9c
jl 0x40ad66
cmp dword [0x5f0434], 0
je 0x40ae77
mov edi, 0x5f1304
mov ebx, 5
cmp dword [edi - 0xc14], 0
je 0x40add2
xor esi, esi
cmp dword [edi], esi
jbe 0x40add2
movzx eax, byte [edi + esi - 0x400]
push eax
push esi
push str.HIDLEDON__d___d
push 0xf
call fcn.00401fa0
inc esi
add esp, 0x10
cmp esi, dword [edi]
jb 0x40adb4
add edi, 0x1020
sub ebx, 1
jne 0x40ada5
cmp dword [0x5f0434], ebx
je 0x40ae77
mov edi, 0x5f1708
mov ebx, 5
cmp dword [edi - 0x1018], 0
je 0x40ae2e
cmp dword [edi - 0x808], 0
je 0x40ae2e
xor esi, esi
cmp dword [edi], esi
jbe 0x40ae2e
nop dword [eax + eax]
movzx eax, byte [edi + esi - 0x400]
push eax
push esi
push str.HIDLEDOFF__d___d
push 0xf
call fcn.00401fa0
inc esi
add esp, 0x10
cmp esi, dword [edi]
jb 0x40ae10
add edi, 0x1020
sub ebx, 1
jne 0x40adf3
cmp dword [0x5f0434], ebx
je 0x40ae77
mov esi, 0x5f0f00
cmp dword [esi - 0x810], 0
je 0x40ae69
cmp dword [esi], 0
je 0x40ae69
push dword [esi + 0x80c]
push str.HIDLEDUsage_0x_x
push 0xf
call fcn.00401fa0
add esp, 0xc
add esi, 0x1020
cmp esi, 0x5f5fa0
jl 0x40ae46
push dword [0x5f0400]
push str.Delay__d_ms_after_S3_S4
push 0xf
call fcn.00401fa0
push dword [0x5f0404]
push str.Delay__d_ms_to_update_gpio_reg
push 0xf
call fcn.00401fa0
push 0x5f04d8
push str.ProcessName__s
push 0xf
call fcn.00401fa0
push 0x5f05d8
push str.SVCName__s
push 0xf
call fcn.00401fa0
push dword [0x5ea02c]
push str.HIDRefreshDelay__d_ms
push 0xf
call fcn.00401fa0
push dword [0x5ea034]
push str.RenderEventTimeOut__d_ms
push 0xf
call fcn.00401fa0
add esp, 0x48
push str.End_Print_Settings
push 0xf
call fcn.00401fa0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret