Function at 0x41bd53
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 + 0x2dcc]
push eax
push str.SetEnHcSoftRetry:_EnHcSoftRetryPidVid__ls_n
call fcn.0041b266
cmp word [ebp + 0x2dcc], bx
pop ecx
pop ecx
jne 0x41bddd
push str.SetEnHcSoftRetry:_empty_m_szEnHcSoftRetryPidVid_n
call fcn.0041b266
pop ecx
mov dword [ebp - 0x74], 1
jmp 0x41c023
push 2
push ebx
push ebx
push 0x47039c
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
cmp eax, ebx
mov dword [ebp - 0x7c], eax
jne 0x41be0b
call dword [0x467358]
push eax
push str._SetEnHcSoftRetry:_SetupDiGetClassDevs_failed._err_d_n
call fcn.0041b266
pop ecx
pop ecx
jmp 0x41c023
lea eax, [ebp + 0x2dcc]
push esi
push eax
call fcn.0043cd81
pop ecx
push 4
mov dword [ebp - 0x68], ebx
pop edi
mov esi, str.EnHcSoftRetry
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 0x41bffb
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 0x41be7b
call dword [0x467358]
push eax
push str._SetEnHcSoftRetry:_SetupDiGetDeviceRegistryProperty_failed._err_d_n
jmp 0x41bfe2
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 0x41bfd6
push 8
lea eax, [ebp + 0x3230]
push 0x472a2c
push eax
call fcn.0043cb3b
add esp, 0xc
test eax, eax
jne 0x41bfd6
lea eax, [ebp + 0x3238]
push eax
lea eax, [ebp + 0x2dcc]
push eax
mov word [ebp + 0x325a], bx
call fcn.0043bc55
test eax, eax
pop ecx
pop ecx
jne 0x41beed
lea eax, [ebp + 0x3230]
push eax
push str.SetEnHcSoftRetry:_ignore_unsupported_HWID__ls_n
jmp 0x41bfe2
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 0x41bf31
push ebx
push dword [ebp - 0x78]
lea ecx, [ebp - 0x70]
mov edx, 0x47068c
call fcn.0041b8e5
test al, al
pop ecx
pop ecx
je 0x41bf3f
cmp dword [ebp - 0x70], 0xffffffff
setne byte [ebp - 0x61]
cmp byte [ebp - 0x61], bl
je 0x41bef9
jmp 0x41bf4a
push eax
push str.SetEnHcSoftRetry:_CM_Get_Parent_failed._err_d_n
call fcn.0041b266
pop ecx
jmp 0x41bf49
push str.SetEnHcSoftRetry:_OpenDevDrvRegKey_failed_n
call fcn.0041b266
pop ecx
cmp byte [ebp - 0x61], bl
je 0x41bfe9
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 0x41bf7e
push eax
push str.SetEnHcSoftRetry:_no_value._RegQueryValueEx_returned__d_n
call fcn.0041b266
pop ecx
pop ecx
cmp dword [ebp - 0x6c], ebx
je 0x41bf8f
push str.SetEnHcSoftRetry:_value_exists_already_n
call fcn.0041b266
jmp 0x41bfca
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 0x41bfb9
push eax
push str.SetEnHcSoftRetry:_RegSetValueEx_failed._err_d_n
call fcn.0041b266
pop ecx
jmp 0x41bfca
push str.SetEnHcSoftRetry:_RegSetValueEx_succeeded_n
call fcn.0041b266
mov dword [ebp - 0x74], 1
pop ecx
push dword [ebp - 0x70]
call dword [0x467004]
jmp 0x41bfe9
lea eax, [ebp + 0x3230]
push eax
push str.SetEnHcSoftRetry:_ignore_HWID__ls_n
call fcn.0041b266
pop ecx
pop ecx
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 0x3e8
jb 0x41be24
jmp 0x41c019
mov esi, dword [0x467358]
call esi
cmp eax, 0x103
je 0x41c019
call esi
push eax
push str._SetEnHcSoftRetry:_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.SetEnHcSoftRetry:_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