Function at 0x1042d69
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x404
mov eax, 0x1057f5e
call fcn.01021f2c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x400], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
xor edi, edi
mov dword [ebp - 0x3e8], ebx
mov dword [ebp - 0x3dc], edi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3cc]
call fcn.010151da
mov byte [ebp - 4], 2
push dword [ebp + 8]
push 0x100e640
push 1
call fcn.0103ac75
add esp, 0xc
push 0x100e624
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x3f4], eax
cmp eax, ebx
jne 0x1042ddb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1043225
push 0x100e60c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x3f8], eax
cmp eax, ebx
jne 0x1042dfe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1043219
lea eax, [ebp - 0x3e8]
push eax
push ebx
push 0x104
lea eax, [ebp - 0x3a8]
push eax
push 8
push 1
push ebx
push dword [ebp + 8]
call dword [sym.imp.SETUPAPI.dll_SetupCopyOEMInfW]
test eax, eax
jne 0x1043202
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 0x50
jne 0x1043202
push dword [ebp - 0x3e8]
lea ecx, [ebp - 0x3cc]
call fcn.010158cd
push dword [ebp - 0x3cc]
push dword [ebp + 8]
push 0x100e5d4
push 1
call fcn.0103ac75
add esp, 0x10
lea ecx, [ebp - 0x3dc]
call fcn.010427b7
mov edi, dword [ebp - 0x3dc]
push 4
push ebx
push ebx
push ebx
mov ecx, edi
call fcn.010455f2
test eax, eax
je 0x1043214
lea ecx, [ebp - 0x3c4]
push ecx
mov dword [ebp - 0x3c4], 0x1c
mov eax, dword [edi + 8]
push ebx
push eax
mov dword [ebp - 0x3ec], ebx
mov dword [ebp - 0x3e4], ebx
mov dword [ebp - 0x3e0], ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
jmp 0x10431e6
inc dword [ebp - 0x3e0]
or dword [ebp - 0x3d0], 0xffffffff
lea ecx, [ebp - 0x3c8]
call fcn.010151da
mov byte [ebp - 4], 3
mov eax, dword [edi + 8]
push ebx
push 0xc8
lea ecx, [ebp - 0x1a0]
push ecx
lea ecx, [ebp - 0x3c4]
push ecx
push eax
mov dword [ebp - 0x3f0], ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
test eax, eax
jne 0x1042f07
call esi
mov esi, eax
jmp 0x1043182
mov eax, dword [edi + 8]
push 0x20019
push 2
push ebx
push 1
lea ecx, [ebp - 0x3c4]
push ecx
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiOpenDevRegKey]
mov dword [ebp - 0x3d8], eax
cmp eax, 0xffffffff
jne 0x1042f80
call esi
mov esi, eax
mov eax, 0xe0000000
mov ecx, esi
and ecx, eax
cmp ecx, eax
mov eax, esi
jne 0x1042f4c
and eax, 0xffff
or eax, 0x800f0000
jmp 0x1042f5a
cmp esi, ebx
jle 0x1042f5a
and eax, 0xffff
or eax, 0x80070000
cmp eax, 0x800f0204
je 0x10431ba
lea eax, [ebp - 0x1a0]
push eax
push 0x100e580
push 2
call fcn.0103ac75
add esp, 0xc
jmp 0x1043182
push 0x104
lea ecx, [ebp - 0x3c8]
call fcn.010158a3
lea ecx, [ebp - 0x3fc]
push ecx
push eax
push ebx
push ebx
push 0x100e14c
push dword [ebp - 0x3d8]
mov dword [ebp - 0x3fc], 0x208
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x1042fe5
call esi
push 0xffffffffffffffff
lea ecx, [ebp - 0x3c8]
mov esi, eax
call fcn.01015023
lea eax, [ebp - 0x1a0]
push eax
push 0x100e528
push 2
call fcn.0103ac75
add esp, 0xc
jmp 0x104316e
push 0xffffffffffffffff
lea ecx, [ebp - 0x3c8]
call fcn.01015023
push dword [ebp - 0x3c8]
lea ecx, [ebp - 0x3cc]
call fcn.0101492b
test eax, eax
jne 0x1043157
lea eax, [ebp - 0x1a0]
push eax
push dword [ebp - 0x3c8]
push 0x100e4a0
push 1
call fcn.0103ac75
add esp, 0x10
push ebx
push dword [ebp - 0x3b0]
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x404]
push eax
mov dword [ebp - 0x3f0], 1
call dword [sym.imp.SETUPAPI.dll_CM_Get_DevNode_Status]
cmp eax, 0xd
je 0x10430ea
cmp eax, 0x25
je 0x10430ea
lea eax, [ebp - 0x1a0]
push eax
push 0x100e3f8
push 1
call fcn.0103ac75
add esp, 0xc
push ebx
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoList]
mov dword [ebp - 0x3d0], eax
cmp eax, 0xffffffff
jne 0x1043090
call esi
mov esi, eax
jmp 0x104316e
push dword [ebp - 0x400]
lea eax, [ebp - 0x1a0]
push dword [ebp - 0x3f8]
push ecx
mov ecx, esp
mov dword [ebp - 0x408], esp
push eax
call fcn.010161a7
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3cc]
call fcn.01015002
push ecx
mov ecx, esp
mov dword [ebp - 0x410], esp
push eax
call fcn.010161a7
mov byte [ebp - 4], 5
push dword [ebp - 0x3d0]
mov byte [ebp - 4], 3
call fcn.01042615
mov esi, eax
cmp esi, ebx
jne 0x1043159
jmp 0x1043157
lea eax, [ebp - 0x1a0]
push eax
push 0x100e368
push 1
call fcn.0103ac75
add esp, 0xc
push ebx
push 4
lea ecx, [ebp - 0x3d4]
push ecx
push ebx
push 0xa
lea ecx, [ebp - 0x3c4]
mov dword [ebp - 0x3d4], ebx
mov eax, dword [edi + 8]
push ecx
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
je 0x1043087
or dword [ebp - 0x3d4], 0x20
mov eax, dword [edi + 8]
push 4
lea ecx, [ebp - 0x3d4]
push ecx
push 0xa
lea ecx, [ebp - 0x3c4]
push ecx
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceRegistryPropertyW]
test eax, eax
je 0x1043087
xor esi, esi
cmp dword [ebp - 0x3d0], 0xffffffff
je 0x104316e
push dword [ebp - 0x3d0]
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
cmp dword [ebp - 0x3d8], ebx
je 0x1043182
push dword [ebp - 0x3d8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, ebx
je 0x10431ba
cmp dword [ebp - 0x3f0], ebx
je 0x10431b0
lea eax, [ebp - 0x1a0]
push eax
push 0x100e310
push 3
call fcn.0103ac75
add esp, 0xc
mov dword [ebp - 0x3ec], 1
jmp 0x10431ba
mov dword [ebp - 0x3e4], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c8]
call fcn.01015174
mov eax, dword [edi + 8]
lea ecx, [ebp - 0x3c4]
push ecx
push dword [ebp - 0x3e0]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1042eba
call esi
cmp eax, 0x103
je 0x10431fe
call esi
jmp 0x1042df7
xor esi, esi
jmp 0x1043219
push dword [ebp + 8]
push 0x100e2a0
push 3
call fcn.0103ac75
add esp, 0xc
mov esi, 0x65b
push dword [ebp - 0x3f4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, ebx
jne 0x104325a
cmp dword [ebp - 0x3ec], ebx
je 0x1043244
push 0x100e1f0
push 3
call fcn.0103ac75
mov esi, 0x643
jmp 0x1043258
cmp dword [ebp - 0x3e4], ebx
je 0x104325a
push 0x100e160
push 2
call fcn.0103ac75
pop ecx
pop ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3cc]
call fcn.01015174
mov byte [ebp - 4], bl
cmp edi, ebx
je 0x104327d
mov ecx, edi
call fcn.0101a986
mov dword [ebp - 0x3dc], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.01015174
mov eax, esi
call fcn.01021fbe
ret 8