Function at 0x1002adb
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1070
call fcn.01005d50
mov eax, dword [0x1007194]
and dword [ebp - 0x106c], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp - 0x1064], eax
xor eax, eax
mov ecx, 0x8b
lea edi, [ebp - 0xa30]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xa30]
push eax
push esi
push ebx
mov dword [ebp - 0x1068], esi
mov dword [ebp - 0xa30], 0x22c
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsW]
test eax, eax
je 0x1002e58
or dword [ebp - 0xa28], 0x4000800
lea eax, [ebp - 0xa30]
push eax
push esi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsW]
test eax, eax
je 0x1002b8d
push 1
push esi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiBuildDriverInfoList]
test eax, eax
je 0x1002e58
push dword [ebp - 0x1064]
push 0
push 1
push esi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoW]
neg eax
sbb eax, eax
neg eax
jmp 0x1002e5a
and dword [ebp - 0xa28], 0xfbfff7ff
push 0x20019
push 2
push 0
push 1
push esi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiOpenDevRegKey]
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x1058], edi
jne 0x1002bbd
push eax
jmp 0x1002e52
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 0x105c]
push eax
lea eax, [ebp - 0xa0c]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0
push 0x100135c
push edi
mov dword [ebp - 0x105c], 0x208
call esi
test eax, eax
jne 0x1002e51
cmp dword [ebp - 0x1060], 1
jne 0x1002e51
lea eax, [ebp - 0x105c]
push eax
lea eax, [ebp - 0x604]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0
push 0x1001340
push dword [ebp - 0x1058]
mov edi, 0x200
mov dword [ebp - 0x105c], edi
call esi
test eax, eax
jne 0x1002e49
cmp dword [ebp - 0x1060], 1
jne 0x1002e49
lea eax, [ebp - 0x105c]
push eax
lea eax, [ebp - 0x804]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0
push 0x1001328
push dword [ebp - 0x1058]
mov dword [ebp - 0x105c], edi
call esi
test eax, eax
jne 0x1002e49
cmp dword [ebp - 0x1060], 1
jne 0x1002e49
lea eax, [ebp - 0x105c]
push eax
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0
push 0x1001310
push dword [ebp - 0x1058]
mov dword [ebp - 0x105c], edi
call esi
push dword [ebp - 0x1058]
mov dword [ebp - 0x1070], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor esi, esi
cmp dword [ebp - 0x1070], esi
jne 0x1002e58
cmp dword [ebp - 0x1060], 1
jne 0x1002e58
push esi
push edi
mov edi, dword [ebp - 0x1068]
lea eax, [ebp - 0x204]
push eax
push esi
push 0xb
push edi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
je 0x1002e58
or byte [ebp - 0xa2a], 1
or byte [ebp - 0xa27], 8
lea eax, [ebp - 0xa30]
push eax
push edi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsW]
test eax, eax
je 0x1002e58
push 1
push edi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiBuildDriverInfoList]
test eax, eax
je 0x1002e58
push dword [ebp - 0x1064]
mov dword [ebp - 0x1058], esi
push esi
push 1
push edi
mov edi, dword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoW]
push ebx
call edi
test eax, eax
je 0x1002e26
mov esi, 0x622
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x1064]
add eax, 0x20c
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1002e01
lea eax, [ebp - 0x604]
push eax
mov eax, dword [ebp - 0x1064]
add eax, 0x40c
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1002e01
push eax
push esi
lea eax, [ebp - 0x1054]
push eax
push dword [ebp - 0x1064]
mov dword [ebp - 0x1054], esi
push dword [ebp - 0x1068]
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDriverInfoDetailW]
test eax, eax
jne 0x1002dcd
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1002e01
lea eax, [ebp - 0x804]
push eax
lea eax, [ebp - 0x103c]
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1002e01
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
je 0x1002e3d
push dword [ebp - 0x1064]
inc dword [ebp - 0x1058]
push dword [ebp - 0x1058]
push 1
push dword [ebp - 0x1068]
push ebx
call edi
test eax, eax
jne 0x1002d5a
push 1
push dword [ebp - 0x1068]
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDriverInfoList]
mov eax, dword [ebp - 0x106c]
jmp 0x1002e5a
mov dword [ebp - 0x106c], 1
jmp 0x1002e35
push dword [ebp - 0x1058]
jmp 0x1002e52
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01005aa6
leave
ret 0xc