Function at 0x4109e0
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x72c
mov eax, dword [0x439010]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x724], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x71c], ebx
push 0x3fe
push eax
mov word [ebp - 0x704], ax
lea eax, [ebp - 0x702]
push eax
mov dword [ebp - 0x708], ebx
call fcn.00413c30
add esp, 0xc
lea eax, [ebp - 0x708]
push eax
push 0xf003f
push ebx
push str.SoftwareIntelProunstlSupportedDevices
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x410d82
push esi
push edi
xor edi, edi
mov dword [ebp - 0x718], 0x100
lea eax, [ebp - 0x72c]
xor esi, esi
push eax
push edi
push edi
push edi
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x104]
push eax
push edi
push dword [ebp - 0x708]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x410d5f
jmp 0x410a90
lea eax, [ebp - 0x70c]
inc esi
push eax
push 0xf003f
push 0
lea eax, [ebp - 0x104]
mov dword [ebp - 0x720], esi
push eax
push dword [ebp - 0x708]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x410b69
lea eax, [ebp - 0x710]
mov dword [ebp - 0x714], 0x400
push eax
lea eax, [ebp - 0x304]
mov dword [ebp - 0x710], 0x200
push eax
xor esi, esi
lea eax, [ebp - 0x714]
push esi
push esi
push eax
lea eax, [ebp - 0x704]
push eax
push esi
push dword [ebp - 0x70c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x410b57
jmp 0x410b10
lea eax, [ebp - 0x710]
mov dword [ebp - 0x714], 0x400
push eax
lea eax, [ebp - 0x304]
mov dword [ebp - 0x710], 0x200
push eax
push 0
push 0
lea eax, [ebp - 0x714]
inc esi
push eax
lea eax, [ebp - 0x704]
inc edi
push eax
push esi
push dword [ebp - 0x70c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x410b10
push dword [ebp - 0x70c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x720]
lea eax, [ebp - 0x72c]
mov dword [ebp - 0x718], 0x100
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x104]
push eax
push esi
push dword [ebp - 0x708]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x410a90
test edi, edi
je 0x410d5f
xor ecx, ecx
mov eax, edi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004125c0
add esp, 4
mov dword [ebp - 0x71c], eax
xor esi, esi
lea eax, [ebp - 0x72c]
push eax
push esi
push esi
push esi
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x104]
push eax
push esi
push dword [ebp - 0x708]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x410d57
jmp 0x410c00
lea eax, [ebp - 0x70c]
inc esi
push eax
push 0xf003f
push 0
lea eax, [ebp - 0x104]
mov dword [ebp - 0x720], esi
push eax
push dword [ebp - 0x708]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x410d1d
lea eax, [ebp - 0x710]
mov dword [ebp - 0x714], 0x400
push eax
lea eax, [ebp - 0x304]
mov dword [ebp - 0x710], 0x200
push eax
xor esi, esi
lea eax, [ebp - 0x714]
push esi
push esi
push eax
lea eax, [ebp - 0x704]
push eax
push esi
push dword [ebp - 0x70c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x410d0b
lea esp, [esp]
inc esi
cmp ebx, edi
jae 0x410d0b
lea eax, [ebp - 0x104]
push 4
push eax
call fcn.00410940
mov ecx, dword [ebp - 0x71c]
movzx eax, ax
push 4
mov dword [ecx + ebx*8], eax
lea eax, [ebp - 0x704]
push eax
call fcn.00410940
mov ecx, dword [ebp - 0x71c]
add esp, 0x10
movzx eax, ax
mov dword [ecx + ebx*8 + 4], eax
lea eax, [ebp - 0x710]
push eax
lea eax, [ebp - 0x304]
mov dword [ebp - 0x714], 0x400
push eax
push 0
push 0
lea eax, [ebp - 0x714]
mov dword [ebp - 0x710], 0x200
push eax
lea eax, [ebp - 0x704]
inc ebx
push eax
push esi
push dword [ebp - 0x70c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x410c80
push dword [ebp - 0x70c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x720]
lea eax, [ebp - 0x72c]
mov dword [ebp - 0x718], 0x100
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x104]
push eax
push esi
push dword [ebp - 0x708]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x410c00
mov eax, dword [ebp - 0x724]
mov dword [eax], ebx
push dword [ebp - 0x708]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x71c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00413026
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.00413026
mov esp, ebp
pop ebp
ret