Function at 0x41ba57
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x3434]
mov eax, 0x34b4
call fcn.00439e90
mov eax, dword [0x498b28]
xor eax, ebp
mov dword [ebp + 0x3430], eax
push ebx
push edi
push 6
pop ecx
xor eax, eax
mov dword [ebp + 0x3214], 0x1c
lea edi, [ebp + 0x3218]
rep stosd dword es:[edi], eax
xor ebx, ebx
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x74], ebx
call fcn.0040d9b1
lea ecx, [ebp - 0x60]
mov dword [ebp + 0x3b4], reloc.WS2_32.dll_bind
call fcn.0040c026
lea eax, [ebp + 0x2bb8]
push eax
push str.SetForceHCResetOnResume:_ForceHCResetOnResumePidVid__ls_n
call fcn.0041b266
cmp word [ebp + 0x2bb8], bx
pop ecx
pop ecx
jne 0x41bae1
push str.SetForceHCResetOnResume:_empty_m_szForceHCResetOnResumePidVid_n
call fcn.0041b266
pop ecx
mov dword [ebp - 0x74], 1
jmp 0x41bd28
push 2
push ebx
push ebx
push 0x47039c
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
cmp eax, ebx
mov dword [ebp - 0x7c], eax
jne 0x41bb0f
call dword [0x467358]
push eax
push str._SetForceHCResetOnResume:_SetupDiGetClassDevs_failed._err_d_n
call fcn.0041b266
pop ecx
pop ecx
jmp 0x41bd28
lea eax, [ebp + 0x2bb8]
push esi
push eax
call fcn.0043cd81
pop ecx
push 4
mov dword [ebp - 0x68], ebx
pop edi
mov esi, str.ForceHCResetOnResume
lea eax, [ebp + 0x3214]
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x7c]
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x41bd00
lea ecx, [ebp - 0x80]
push ecx
mov eax, 0x200
push eax
mov dword [ebp - 0x80], eax
lea eax, [ebp + 0x3230]
push eax
push ebx
push 1
lea eax, [ebp + 0x3214]
push eax
push dword [ebp - 0x7c]
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
jne 0x41bb7f
call dword [0x467358]
push eax
push str._SetForceHCResetOnResume:_SetupDiGetDeviceRegistryProperty_failed._err_d_n
jmp 0x41bce7
lea eax, [ebp + 0x3230]
push eax
call fcn.0043cd81
lea eax, [ebp + 0x3230]
push eax
call fcn.0043ada3
cmp eax, 0x15
pop ecx
pop ecx
jb 0x41bcdb
push 8
lea eax, [ebp + 0x3230]
push 0x472a2c
push eax
call fcn.0043cb3b
add esp, 0xc
test eax, eax
jne 0x41bcdb
lea eax, [ebp + 0x3238]
push eax
lea eax, [ebp + 0x2bb8]
push eax
mov word [ebp + 0x325a], bx
call fcn.0043bc55
test eax, eax
pop ecx
pop ecx
jne 0x41bbf1
lea eax, [ebp + 0x3230]
push eax
push str.SetForceHCResetOnResume:_ignore_unsupported_HWID__ls_n
jmp 0x41bce7
mov eax, dword [ebp + 0x3228]
mov byte [ebp - 0x61], bl
mov dword [ebp - 0x78], eax
push ebx
push dword [ebp - 0x78]
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.SETUPAPI.dll_CM_Get_Parent]
cmp eax, ebx
jne 0x41bc36
push 1
push dword [ebp - 0x78]
lea ecx, [ebp - 0x70]
mov edx, 0x47068c
call fcn.0041b8e5
test al, al
pop ecx
pop ecx
je 0x41bc44
cmp dword [ebp - 0x70], 0xffffffff
setne byte [ebp - 0x61]
cmp byte [ebp - 0x61], bl
je 0x41bbfd
jmp 0x41bc4f
push eax
push str.SetForceHCResetOnResume:_CM_Get_Parent_failed._err_d_n
call fcn.0041b266
pop ecx
jmp 0x41bc4e
push str.SetForceHCResetOnResume:_OpenDevDrvRegKey_failed_n
call fcn.0041b266
pop ecx
cmp byte [ebp - 0x61], bl
je 0x41bcee
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x6c]
push eax
push ebx
push ebx
push esi
push dword [ebp - 0x70]
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x80], edi
call dword [0x467050]
cmp eax, ebx
je 0x41bc83
push eax
push str.SetForceHCResetOnResume:_no_value._RegQueryValueEx_returned__d_n
call fcn.0041b266
pop ecx
pop ecx
cmp dword [ebp - 0x6c], ebx
je 0x41bc94
push str.SetForceHCResetOnResume:_value_exists_already_n
call fcn.0041b266
jmp 0x41bccf
push edi
lea eax, [ebp - 0x6c]
push eax
push edi
push ebx
push esi
push dword [ebp - 0x70]
mov dword [ebp - 0x6c], 1
call dword [0x467054]
cmp eax, ebx
je 0x41bcbe
push eax
push str.SetForceHCResetOnResume:_RegSetValueEx_failed._err_d_n
call fcn.0041b266
pop ecx
jmp 0x41bccf
push str.SetForceHCResetOnResume:_RegSetValueEx_succeeded_n
call fcn.0041b266
mov dword [ebp - 0x74], 1
pop ecx
push dword [ebp - 0x70]
call dword [0x467004]
jmp 0x41bcee
lea eax, [ebp + 0x3230]
push eax
push str.SetForceHCResetOnResume:_ignore_HWID__ls_n
call fcn.0041b266
pop ecx
pop ecx
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 0x3e8
jb 0x41bb28
jmp 0x41bd1e
mov esi, dword [0x467358]
call esi
cmp eax, 0x103
je 0x41bd1e
call esi
push eax
push str._SetForceHCResetOnResume:_SetupDiEnumDeviceInfo_failed._err_d_n
call fcn.0041b266
pop ecx
pop ecx
push dword [ebp - 0x7c]
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
pop esi
push dword [ebp - 0x74]
push str.SetForceHCResetOnResume:_returns__d_n
call fcn.0041b266
mov eax, dword [ebp - 0x74]
pop ecx
pop ecx
mov ecx, dword [ebp + 0x3430]
pop edi
xor ecx, ebp
pop ebx
call fcn.004369c2
add ebp, 0x3434
leave
ret 4