Function at 0x100790a0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dc618
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x102445d0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x88], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x100794aa
cmp dword [ebp + 0xc], 0
je 0x100794aa
mov dword [ebp - 0x68], 0
xorps xmm0, xmm0
movq qword [ebp - 0x80], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x80], vtable.MFX::MFXVector_wchar_t_.0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 4], 0
mov eax, dword [edi]
test eax, eax
jne 0x10079143
push str.cfgmgr32.dll
call fcn.10076f10
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x10079484
cmp dword [edi + 8], 0
je 0x1007915b
cmp dword [edi + 4], 0
je 0x1007915b
cmp dword [edi + 0xc], 0
je 0x1007915b
cmp dword [edi + 0x10], 0
jne 0x100791bf
push 0x10216594
push eax
call fcn.10076ef0
mov dword [edi + 8], eax
push 0x102165ac
push dword [edi]
call fcn.10076ef0
mov dword [edi + 4], eax
push 0x102165c8
push dword [edi]
call fcn.10076ef0
mov dword [edi + 0xc], eax
push 0x102165dc
push dword [edi]
call fcn.10076ef0
add esp, 0x20
mov dword [edi + 0x10], eax
cmp dword [edi + 8], 0
je 0x10079484
cmp dword [edi + 4], 0
je 0x10079484
cmp dword [edi + 0xc], 0
je 0x10079484
test eax, eax
je 0x10079484
movups xmm1, xmmword [0x1020bc50]
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd ecx, xmm0
mov eax, ecx
shr eax, 0x18
push eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
push eax
mov eax, ecx
shr eax, 8
movzx eax, al
push eax
movzx eax, cl
push eax
movaps xmm0, xmm1
psrldq xmm0, 8
movd ecx, xmm0
mov eax, ecx
shr eax, 0x18
push eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
push eax
mov eax, ecx
shr eax, 8
movzx eax, al
push eax
movzx eax, cl
push eax
movaps xmm0, xmm1
psrldq xmm0, 4
movd ecx, xmm0
mov eax, ecx
shr eax, 0x10
push eax
movzx eax, cx
push eax
movd eax, xmm1
push eax
push str._08x__04x__04x__02x_02x__02x_02x_02x_02x_02x_02x
push 0x28
lea eax, [ebp - 0x64]
push eax
call fcn.10028320
add esp, 0x38
test eax, eax
jne 0x10079260
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.10079020
jmp 0x100794aa
push 0x300
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x68]
push eax
mov esi, dword [edi + 4]
mov ecx, esi
call dword [0x101f433c]
call esi
test eax, eax
jne 0x10079248
mov byte [ebp - 4], 1
push dword [ebp - 0x68]
lea ecx, [ebp - 0x80]
call fcn.10079580
mov dword [ebp - 4], 0
push 0x300
push dword [ebp - 0x68]
push dword [ebp - 0x7c]
lea eax, [ebp - 0x64]
push eax
mov esi, dword [edi + 8]
mov ecx, esi
call dword [0x101f433c]
call esi
cmp eax, 0x1a
je 0x10079260
test eax, eax
jne 0x10079248
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x84], edi
mov eax, dword [ebp - 0x78]
lea eax, [edi + eax*2]
mov dword [ebp - 0x90], eax
cmp edi, eax
jae 0x10079401
mov esi, edi
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x100792e0
sub esi, ecx
sar esi, 1
je 0x10079401
push str.VEN_8086
push edi
call fcn.10168e0c
add esp, 8
test eax, eax
jne 0x1007931d
push str.ven_8086
push edi
call fcn.10168e0c
add esp, 8
test eax, eax
je 0x100793e9
push str.DEV_
push edi
call fcn.10168e0c
add esp, 8
test eax, eax
jne 0x10079345
push str.dev_
push edi
call fcn.10168e0c
add esp, 8
test eax, eax
je 0x100793e9
add eax, 8
push 0x10
push 0
push eax
call fcn.1018a90a
add esp, 0xc
test eax, eax
je 0x100793e9
cmp eax, dword [ebp + 0x10]
jne 0x100793e9
push 0
push edi
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [0x101f433c]
call edi
test eax, eax
jne 0x100793e3
push 1
lea eax, [ebp - 0x74]
push eax
push 1
push 0
push 0x20019
push dword [ebp - 0x6c]
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [0x101f433c]
call edi
test eax, eax
jne 0x100793e3
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x8c]
push 0
push 0xffff
push str.DriverStorePathForMediaSDK
push 0
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov edi, eax
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x10079410
mov edi, dword [ebp - 0x84]
lea edi, [edi + esi*2]
add edi, 2
mov dword [ebp - 0x84], edi
cmp edi, dword [ebp - 0x90]
jb 0x100792d6
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x7c]
jmp 0x1007948d
mov edx, dword [ebp - 0x8c]
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10079420
sub ecx, esi
sar ecx, 1
cmp word [edx + ecx*2 - 2], 0x2f
je 0x1007946b
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10079440
sub ecx, esi
sar ecx, 1
cmp word [edx + ecx*2 - 2], 0x5c
je 0x1007946b
push 0x1020b654
mov eax, dword [ebp + 0xc]
shr eax, 1
push eax
push edx
call fcn.1018b714
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.10079020
mov al, 1
jmp 0x100794ac
mov dword [ebp - 4], 0xffffffff
push 0
mov dword [ebp - 0x80], vtable.MFX::MFXVector_wchar_t_.0
call fcn.101654ca
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101658c8
mov esp, ebp
pop ebp
ret 0xc