Function at 0x10027e5
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1064
call fcn.010053b0
mov eax, dword [0x10061a0]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
mov ecx, 0x8b
lea edi, [ebp - 0x230]
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x230]
push eax
push edi
xor esi, esi
push ebx
mov dword [ebp - 0x1060], esi
mov dword [ebp - 0x230], 0x22c
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsW]
test eax, eax
je 0x1002b05
or dword [ebp - 0x228], 0x4000800
lea eax, [ebp - 0x230]
push eax
push edi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsW]
test eax, eax
je 0x1002883
push 1
push edi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiBuildDriverInfoList]
test eax, eax
je 0x1002b05
push dword [ebp + 0x10]
push esi
push 1
push edi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoW]
neg eax
sbb eax, eax
neg eax
jmp 0x1002b07
and dword [ebp - 0x228], 0xfbfff7ff
push 0x20019
push 2
push esi
push 1
push edi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiOpenDevRegKey]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x10028ac
push eax
jmp 0x1002aff
lea eax, [ebp - 0x1058]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x105c]
push eax
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 0x100131c
push ebx
mov dword [ebp - 0x1058], 0x208
call esi
test eax, eax
jne 0x1002afe
cmp dword [ebp - 0x105c], 1
jne 0x1002afe
lea eax, [ebp - 0x1058]
push eax
lea eax, [ebp - 0x630]
push eax
lea eax, [ebp - 0x105c]
push eax
push 0
push 0x1001300
mov edi, 0x200
push ebx
mov dword [ebp - 0x1058], edi
call esi
test eax, eax
jne 0x1002afe
cmp dword [ebp - 0x105c], 1
jne 0x1002afe
lea eax, [ebp - 0x1058]
push eax
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x105c]
push eax
push 0
push 0x10012e8
push ebx
mov dword [ebp - 0x1058], edi
call esi
test eax, eax
jne 0x1002afe
cmp dword [ebp - 0x105c], 1
jne 0x1002afe
lea eax, [ebp - 0x1058]
push eax
lea eax, [ebp - 0xa30]
push eax
lea eax, [ebp - 0x105c]
push eax
push 0
push 0x10012d0
push ebx
mov dword [ebp - 0x1058], edi
call esi
push ebx
mov dword [ebp - 0x1064], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor esi, esi
cmp dword [ebp - 0x1064], esi
jne 0x1002b05
cmp dword [ebp - 0x105c], 1
jne 0x1002b05
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x430]
push eax
push esi
push 0xb
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
je 0x1002b05
or byte [ebp - 0x22a], 1
or byte [ebp - 0x227], 8
lea eax, [ebp - 0x230]
push eax
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsW]
test eax, eax
je 0x1002b05
push 1
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiBuildDriverInfoList]
test eax, eax
je 0x1002b05
push dword [ebp + 0x10]
mov dword [ebp + 0xc], esi
push esi
mov esi, dword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoW]
push 1
push ebx
push edi
call esi
test eax, eax
je 0x1002ade
mov edi, 0x622
lea eax, [ebp - 0x430]
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x20c
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1002ac5
lea eax, [ebp - 0x630]
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x40c
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1002ac5
push eax
push edi
lea eax, [ebp - 0x1054]
push eax
push dword [ebp + 0x10]
mov dword [ebp - 0x1054], edi
push ebx
push dword [ebp + 8]
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDriverInfoDetailW]
test eax, eax
jne 0x1002a91
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1002ac5
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x103c]
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1002ac5
lea eax, [ebp - 0xa30]
push eax
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
je 0x1002af2
push dword [ebp + 0x10]
inc dword [ebp + 0xc]
push dword [ebp + 0xc]
push 1
push ebx
push dword [ebp + 8]
call esi
test eax, eax
jne 0x1002a2e
push 1
push ebx
push dword [ebp + 8]
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDriverInfoList]
mov eax, dword [ebp - 0x1060]
jmp 0x1002b07
mov dword [ebp - 0x1060], 1
jmp 0x1002aea
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01005203
leave
ret 0xc