Function at 0x10011520
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x25c
mov eax, dword [0x10018038]
xor eax, ebp
mov dword [ebp - 4], eax
movq xmm0, qword [0x10013590]
movq xmm2, qword [str.vids]
movq xmm1, qword [0x100145bc]
movq qword [ebp - 0x1b4], xmm0
movq xmm0, qword [0x10013598]
movq qword [ebp - 0x1ac], xmm0
movq xmm0, qword [0x100135b0]
movq qword [ebp - 0x194], xmm0
movq xmm0, qword [0x100135b8]
movq qword [ebp - 0x18c], xmm0
movq xmm0, qword [0x100144f4]
push ebx
movq qword [ebp - 0x214], xmm0
movq xmm0, qword [0x100144fc]
push esi
push edi
movq qword [ebp - 0x20c], xmm0
movq xmm0, qword [0x100144e4]
lea eax, [ebp - 0x254]
push eax
movq qword [ebp - 0x1f4], xmm0
movq xmm0, qword [0x100144ec]
lea eax, [ebp - 0x24c]
push eax
movq qword [ebp - 0x1ec], xmm0
movq xmm0, qword [0x100145c4]
lea eax, [ebp - 0x240]
push eax
movq qword [ebp - 0x1d4], xmm0
movq xmm0, qword [0x100145cc]
lea eax, [ebp - 0x25c]
push eax
movq qword [ebp - 0x1c4], xmm2
movq qword [ebp - 0x1bc], xmm1
movq qword [ebp - 0x1a4], xmm2
movq qword [ebp - 0x19c], xmm1
movq qword [ebp - 0x224], xmm2
movq qword [ebp - 0x21c], xmm1
movq qword [ebp - 0x204], xmm2
movq qword [ebp - 0x1fc], xmm1
movq qword [ebp - 0x1e4], xmm2
movq qword [ebp - 0x1dc], xmm1
movq qword [ebp - 0x1cc], xmm0
call fcn.10010270
call fcn.10010f70
push str.Both
push dword [0x10017fcc]
push 0x10014608
push dword [0x100180fc]
call fcn.100110a0
mov ebx, eax
test ebx, ebx
js 0x100119e7
lea eax, [ebp - 0x23c]
push eax
push 0x10014608
call dword [sym.imp.ole32.dll_StringFromCLSID]
push dword [ebp - 0x23c]
lea eax, [ebp - 0x184]
push str.CLSID_s
push 0x180
push eax
call fcn.10011330
add esp, 0x10
push dword [ebp - 0x23c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x228]
push eax
push 2
push 0
lea eax, [ebp - 0x184]
push eax
push 0x80000000
call edi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x10011717
push 4
lea eax, [ebp - 0x238]
push eax
push 4
push 0
push str.Merit
push dword [ebp - 0x228]
mov dword [ebp - 0x238], 8
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x228]
call esi
push 4
lea eax, [ebp - 0x22c]
push eax
mov dword [ebp - 0x22c], 0
call sub.MFPlat.DLL_MFCreateAttributes
mov eax, dword [ebp - 0x22c]
push 8
mov ecx, dword [eax]
push 0x10013560
push eax
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x22c]
push 1
mov ecx, dword [eax]
push 0x10013540
push eax
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x22c]
push 1
mov ecx, dword [eax]
push 0x10014aac
push eax
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x22c]
push str.AMDMFTDecoder
mov ecx, dword [eax]
push 0x10013550
push eax
call dword [ecx + 0x64]
push dword [ebp - 0x22c]
movq xmm0, qword [0x10014b3c]
lea eax, [ebp - 0x224]
push eax
push 3
lea eax, [ebp - 0x1c4]
push eax
push 2
push 4
push dword [0x10017fcc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movq qword [eax], xmm0
movq xmm0, qword [0x10014b44]
movq qword [eax + 8], xmm0
movq xmm0, qword [0x10014608]
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [0x10014610]
movq qword [eax + 8], xmm0
call sub.MFPlat.DLL_MFTRegister
mov ebx, eax
test ebx, ebx
je 0x1001184c
movq xmm0, qword [0x10014b3c]
push 0
lea eax, [ebp - 0x224]
push eax
push 3
lea eax, [ebp - 0x1c4]
push eax
push 2
push 4
push dword [0x10017fcc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movq qword [eax], xmm0
movq xmm0, qword [0x10014b44]
movq qword [eax + 8], xmm0
movq xmm0, qword [0x10014608]
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [0x10014610]
movq qword [eax + 8], xmm0
call sub.MFPlat.DLL_MFTRegister
mov ebx, eax
test ebx, ebx
jne 0x100119e7
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.10010270
lea eax, [ebp - 0x228]
push eax
push 1
push 0
push str.SOFTWAREMicrosoftWindows_Media_FoundationHardwareMFT
push 0x80000002
mov dword [ebp - 0x234], 0xffffffff
call edi
test eax, eax
jne 0x100118ef
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x238]
push eax
push 0
push str.EnableDecoders
push dword [ebp - 0x228]
mov dword [ebp - 0x230], 4
mov dword [ebp - 0x238], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [ebp - 0x234]
push dword [ebp - 0x228]
or ecx, 0xffffffff
cmp dword [ebp - 0x238], 4
cmovne eax, ecx
mov dword [ebp - 0x234], eax
call esi
mov eax, dword [ebp - 0x234]
cmp eax, 0xffffffff
je 0x100118fe
test eax, eax
jne 0x10011969
lea eax, [ebp - 0x228]
push eax
push 6
push 0
push str.SOFTWAREMicrosoftWindows_Media_FoundationHardwareMFT
push 0x80000002
call edi
test eax, eax
jne 0x10011969
cmp dword [ebp - 0x234], 0xffffffff
sete al
add eax, 2
cmp dword [0x1001804c], 1
mov dword [ebp - 0x230], eax
jne 0x10011943
push eax
push str.AMDMFTDecoderDllRegisterServer:_EnableDecoders_set_to__d
call fcn.10010f10
add esp, 8
push 4
lea eax, [ebp - 0x230]
push eax
push 4
push 0
push str.EnableDecoders
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x228]
call esi
lea eax, [ebp - 0x228]
push eax
push 6
push 0
push str.SOFTWAREAMDMFTVDecoder
push 0x80000002
call edi
test eax, eax
je 0x1001199f
lea eax, [ebp - 0x228]
push eax
push str.SOFTWAREAMDMFTVDecoder
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x100119e7
cmp dword [0x1001804c], 1
mov dword [ebp - 0x230], 0x41
jne 0x100119c1
push 0x41
push str.AMDMFTDecoderDllRegisterServer:_DecodeThreshold_set_to__d
call fcn.10010f10
add esp, 8
push 4
lea eax, [ebp - 0x230]
push eax
push 4
push 0
push str.DecodeThreshold
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x228]
call esi
mov ecx, dword [ebp - 0x22c]
test ecx, ecx
je 0x100119f7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.10011c62
mov esp, ebp
pop ebp
ret