Function at 0x6af83ae0
Capabilities:
Enumerate devices by category

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
xor edx, edx
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x238
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x6af904e0
mov dword [ebp - 0x1f8], eax
xor eax, eax
mov dword [ebp - 0x1e0], eax
xor eax, eax
mov dword [ebp - 0x1dc], eax
xor eax, eax
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x1e4]
mov dword [esp + 0x10], eax
mov eax, 0x6af8f010
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 8], eax
call sym._CoCreateInstance_20
mov dword [ebp - 0x1f4], eax
sub esp, 0x14
test eax, eax
js 0x6af8460d
mov eax, dword [ebp - 0x1e4]
xor esi, esi
mov edi, 0x6af90cb0
lea ecx, [ebp - 0x1e0]
mov edx, dword [eax]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0xc]
mov dword [ebp - 0x1f4], eax
sub esp, 0x10
test eax, eax
js 0x6af845e7
lea eax, [ebp - 0x168]
xor ebx, ebx
mov dword [ebp - 0x1f0], ebx
shr eax, 0x10
mov dword [ebp - 0x204], eax
jmp 0x6af83be3
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x1a8]
sub esp, 4
mov dword [esp], eax
call sym._VariantClear_4
lea eax, [ebp - 0x1b8]
sub esp, 4
mov dword [esp], eax
call sym._VariantClear_4
sub esp, 4
mov eax, dword [ebp - 0x1e0]
xor ecx, ecx
mov ebx, 1
lea edi, [ebp - 0x1dc]
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
test eax, eax
jne 0x6af845e7
mov eax, dword [ebp - 0x1dc]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x1d0], ebx
lea ecx, [ebp - 0x1d4]
mov esi, 0x6af967d8
mov edx, dword [eax]
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x24]
mov dword [ebp - 0x1f4], eax
sub esp, 0x14
test eax, eax
js 0x6af84930
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1a8]
lea edx, [ebp - 0x1b8]
call sym._read_property_names
mov dword [ebp - 0x1f4], eax
mov ebx, eax
mov eax, dword [ebp - 0x1d4]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
test ebx, ebx
js 0x6af84930
lea eax, [ebp - 0x168]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call sym._CLSIDFromString_8
mov dword [ebp - 0x1f4], eax
sub esp, 8
test eax, eax
js 0x6af84b62
mov eax, dword [ebp - 0x1e4]
lea ebx, [ebp - 0x168]
xor ecx, ecx
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
lea ecx, [ebp - 0x1d8]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0xc]
mov dword [ebp - 0x1f4], eax
sub esp, 0x10
test eax, eax
jne 0x6af83bb0
test byte [0x6af8a03c], 8
jne 0x6af847a0
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebp - 0x1d8]
lea edi, [ebp - 0x1d0]
xor esi, esi
mov edx, dword [eax]
mov dword [esp + 8], edi
mov edi, 1
mov dword [esp + 0xc], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
test eax, eax
jne 0x6af84558
mov eax, dword [ebp - 0x1f0]
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, 0x6af8c7ec
mov dword [esp + 8], eax
mov eax, 0xa
mov dword [esp + 4], eax
call sym._swprintf
mov eax, ebx
call sym._allocate_information_node
test eax, eax
mov ebx, eax
je 0x6af84587
mov eax, str.szCatName
mov edi, dword [ebp - 0x1b0]
call sym._allocate_property_information
test eax, eax
mov esi, eax
je 0x6af84580
mov dword [esp], edi
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af84bab
mov dword [esi + 0x18], eax
lea eax, [ebx + 0x18]
mov word [esi + 0x10], 8
mov dword [esi], eax
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 4], eax
mov dword [eax], esi
mov eax, str.ClsidCat
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], esi
mov esi, dword [ebp - 0x1a0]
call sym._allocate_property_information
test eax, eax
mov edi, eax
je 0x6af84580
mov dword [esp], esi
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af8456e
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x1ec]
mov word [edi + 0x10], 8
mov dword [edi], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
mov dword [eax], edi
lea eax, [ebp - 0x198]
inc dword [ebx + 0x20]
mov esi, dword [ebp - 0x1d0]
mov dword [ebx + 0x1c], edi
xor edi, edi
mov dword [esp], eax
mov dword [ebp - 0x1cc], edi
xor edi, edi
call sym._VariantInit_4
lea eax, [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call sym._VariantInit_4
lea eax, [ebp - 0x178]
sub esp, 4
mov dword [esp], eax
call sym._VariantInit_4
mov eax, dword [esi]
lea edx, [ebp - 0x1cc]
xor ecx, ecx
sub esp, 4
mov dword [esp + 0x10], edx
mov edx, 0x6af967d8
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [eax + 0x24]
sub esp, 0x14
test eax, eax
js 0x6af84288
mov eax, dword [ebp - 0x1cc]
lea ecx, [ebp - 0x188]
lea edx, [ebp - 0x198]
call sym._read_property_names
test eax, eax
mov esi, eax
js 0x6af84200
test byte [0x6af8a03c], 8
mov esi, dword [ebp - 0x190]
jne 0x6af842b8
mov eax, str.szName
call sym._allocate_property_information
test eax, eax
mov edi, eax
je 0x6af84a5c
mov dword [esp], esi
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af84a55
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x1ec]
mov word [edi + 0x10], 8
mov dword [edi], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
mov dword [eax], edi
mov eax, str.ClsidFilter
inc dword [ebx + 0x20]
mov esi, dword [ebp - 0x180]
mov dword [ebx + 0x1c], edi
call sym._allocate_property_information
test eax, eax
mov edi, eax
je 0x6af84a5c
mov dword [esp], esi
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af84a55
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x1ec]
xor ecx, ecx
mov word [edi + 0x10], 8
mov esi, str.FilterData
mov dword [edi], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
mov dword [eax], edi
mov dword [ebx + 0x1c], edi
mov eax, dword [ebp - 0x1cc]
lea edi, [ebp - 0x178]
inc dword [ebx + 0x20]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
test eax, eax
mov esi, eax
js 0x6af84200
lea eax, [ebp - 0x1c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call sym._SafeArrayAccessData_8
sub esp, 8
test eax, eax
mov esi, eax
js 0x6af84200
mov eax, dword [ebp - 0x170]
xor esi, esi
mov dword [ebp - 0x1c4], esi
mov edi, dword [eax + 0x10]
mov dword [esp], 0x6af90830
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1fc], eax
xor eax, eax
mov dword [ebp - 0x1c0], eax
xor eax, eax
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x1c4]
mov dword [esp + 0x10], eax
mov eax, 0x6af8eed0
mov dword [esp + 0xc], eax
mov eax, 3
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
call sym._CoCreateInstance_20
sub esp, 0x14
test eax, eax
mov esi, eax
js 0x6af841e5
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1c0]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov ecx, 0x6af8e4e8
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
test eax, eax
mov esi, eax
js 0x6af84950
mov eax, dword [ebp - 0x1c0]
lea ecx, [ebp - 0x1bc]
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0x1fc]
mov dword [esp + 8], edi
xor edi, edi
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x10
test eax, eax
mov esi, eax
js 0x6af841b0
mov eax, dword [ebp - 0x1bc]
lea edx, [ebp - 0x144]
mov edi, dword [eax]
mov eax, dword [edi]
mov dword [esp], edx
mov dword [esp + 0xc], eax
mov eax, 0x6af8c872
mov dword [esp + 8], eax
mov eax, 0xa
mov dword [esp + 4], eax
call sym._swprintf
mov eax, str.szVersion
call sym._allocate_property_information
test eax, eax
mov esi, eax
je 0x6af84bce
lea edx, [ebp - 0x144]
mov dword [esp], edx
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af84bd8
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x1ec]
mov word [esi + 0x10], 8
mov dword [esi], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 4], eax
mov dword [eax], esi
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], esi
mov eax, dword [edi]
cmp eax, 1
je 0x6af84a66
cmp eax, 2
je 0x6af84957
xor eax, eax
xor esi, esi
mov dword [ebp - 0x1fc], eax
mov eax, str.dwInputs
call sym._allocate_property_information
test eax, eax
je 0x6af84bce
mov dword [eax + 0x18], esi
mov esi, dword [ebp - 0x1ec]
mov word [eax + 0x10], 0x13
mov dword [eax], esi
mov edx, dword [ebx + 0x1c]
mov dword [eax + 4], edx
mov dword [edx], eax
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], eax
mov eax, str.dwOutputs
call sym._allocate_property_information
test eax, eax
je 0x6af84bce
mov word [eax + 0x10], 0x13
mov edx, dword [ebp - 0x1fc]
mov dword [eax], esi
mov dword [ebp - 0x1ec], esi
mov dword [eax + 0x18], edx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 4], edx
mov dword [edx], eax
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], eax
mov eax, str.dwMerit
mov esi, dword [edi + 4]
call sym._allocate_property_information
test eax, eax
je 0x6af84bce
mov dword [eax + 0x18], esi
mov esi, dword [ebp - 0x1ec]
mov word [eax + 0x10], 0x13
mov dword [eax], esi
xor esi, esi
mov edx, dword [ebx + 0x1c]
mov dword [eax + 4], edx
mov dword [edx], eax
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], eax
lea esi, [esi]
mov dword [esp], edi
call sym._CoTaskMemFree_4
mov eax, dword [ebp - 0x1c0]
sub esp, 4
test eax, eax
je 0x6af841d0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x1c4]
test eax, eax
je 0x6af841e5
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call sym._SafeArrayUnaccessData_4
sub esp, 4
lea esi, [esi]
lea edi, [edi]
lea eax, [ebp - 0x178]
mov dword [esp], eax
call sym._VariantClear_4
lea eax, [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call sym._VariantClear_4
lea eax, [ebp - 0x198]
sub esp, 4
mov dword [esp], eax
call sym._VariantClear_4
mov eax, dword [ebp - 0x1cc]
sub esp, 4
test eax, eax
je 0x6af84248
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x1d0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
test esi, esi
jne 0x6af84299
mov ecx, dword [ebp - 0x1f8]
inc dword [ebp - 0x1f0]
lea eax, [ecx + 0xc]
mov dword [ebx], eax
mov eax, dword [ecx + 0x10]
mov dword [ebx + 4], eax
mov dword [eax], ebx
inc dword [ecx + 0x14]
mov dword [ecx + 0x10], ebx
jmp 0x6af83d10
mov eax, dword [ebp - 0x1d0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
test byte [0x6af8a03c], 4
jne 0x6af84620
mov eax, ebx
call sym._free_information_tree.part.0
jmp 0x6af83d10
test esi, esi
je 0x6af848e0
mov eax, esi
shr eax, 0x10
je 0x6af84780
mov dword [esp], esi
mov ecx, 0xffffffff
mov dword [esp + 4], ecx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6af84880
cmp word [esi], 0
je 0x6af848ea
lea esi, [esi]
lea edi, [edi]
mov edx, eax
cmp word [esi + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x6af84300
mov dword [ebp - 0x200], ebx
lea eax, [ebp - 0x22]
mov ecx, 0x224c
mov word [ebp - 0x144], cx
lea ecx, [ebp - 0x142]
mov dword [ebp - 0x1fc], eax
jmp 0x6af84361
cmp eax, 9
je 0x6af84650
cmp eax, 0xa
jne 0x6af8466a
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
cmp ecx, dword [ebp - 0x1fc]
lea eax, [edx - 1]
ja 0x6af843a0
test edx, edx
jle 0x6af843a0
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0xd
je 0x6af846c8
jbe 0x6af84330
cmp eax, 0x22
je 0x6af846b8
cmp eax, 0x5c
nop
jne 0x6af8465d
mov word [ecx], 0x5c5c
lea eax, [edx - 1]
add ecx, 2
cmp ecx, dword [ebp - 0x1fc]
jbe 0x6af8435b
lea esi, [esi]
mov byte [ecx], 0x22
test eax, eax
mov ebx, dword [ebp - 0x200]
jle 0x6af84903
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str.Name___s_n
mov edx, 0x6af8a03c
mov dword [esp + 0xc], eax
mov eax, 0x6af8ddc8
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
test byte [0x6af8a03c], 8
je 0x6af8454a
mov esi, dword [ebp - 0x180]
test esi, esi
je 0x6af848d0
mov eax, esi
shr eax, 0x10
je 0x6af84760
mov dword [esp], esi
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6af84890
cmp word [esi], 0
je 0x6af8490b
mov esi, esi
lea edi, [edi]
mov edx, eax
cmp word [esi + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x6af84450
lea eax, [ebp - 0x22]
mov edi, 0x224c
mov word [ebp - 0x144], di
lea ecx, [ebp - 0x142]
mov dword [ebp - 0x200], ebx
mov dword [ebp - 0x1fc], eax
jmp 0x6af844ab
cmp eax, 9
je 0x6af84750
cmp eax, 0xa
jne 0x6af846f2
mov word [ecx], 0x6e5c
add ecx, 2
cmp ecx, dword [ebp - 0x1fc]
lea eax, [edx - 1]
ja 0x6af844f0
test edx, edx
jle 0x6af844f0
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0xd
je 0x6af846d8
jbe 0x6af84480
cmp eax, 0x22
je 0x6af84740
cmp eax, 0x5c
jne 0x6af846e5
mov word [ecx], 0x5c5c
lea eax, [edx - 1]
add ecx, 2
cmp ecx, dword [ebp - 0x1fc]
jbe 0x6af844a5
jmp 0x6af844f0
mov byte [ecx], 0x22
test eax, eax
mov ebx, dword [ebp - 0x200]
jle 0x6af84924
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, 0x6af8ddc8
mov edi, str.CLSID___s_n
mov dword [esp + 8], eax
mov eax, 0x6af8a03c
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov esi, dword [ebp - 0x190]
jmp 0x6af83ebf
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x6af83bb0
mov eax, edi
call sym._free_property_information
lea esi, [esi]
lea edi, [edi]
mov eax, ebx
call sym._free_information_tree.part.0
mov eax, dword [ebp - 0x1d0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x1a8]
sub esp, 4
mov dword [esp], eax
call sym._VariantClear_4
lea eax, [ebp - 0x1b8]
sub esp, 4
mov dword [esp], eax
call sym._VariantClear_4
mov eax, 0x8007000e
mov dword [ebp - 0x1f4], eax
sub esp, 4
mov eax, dword [ebp - 0x1e0]
test eax, eax
je 0x6af845fc
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x1e4]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x1f4]
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov dword [esp], 2
mov eax, str.Skipping_invalid_filter_n
mov dword [esp + 0xc], eax
mov eax, str.build_directshowfilters_tree
mov dword [esp + 8], eax
mov eax, 0x6af8a03c
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_2
jmp 0x6af842a6
mov word [ecx], 0x745c
add ecx, 2
jmp 0x6af84350
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x6af84868
mov byte [ecx], 0x5c
mov edi, eax
add ecx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdeffill_filter_container]
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x6af84350
mov word [ecx], 0x225c
add ecx, 2
jmp 0x6af84350
mov word [ecx], 0x725c
add ecx, 2
jmp 0x6af84350
mov word [ecx], 0x725c
add ecx, 2
jmp 0x6af8449a
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x6af84870
mov byte [ecx], 0x5c
mov edi, eax
add ecx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdeffill_filter_container]
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x6af8449a
mov word [ecx], 0x225c
add ecx, 2
jmp 0x6af8449a
mov word [ecx], 0x745c
add ecx, 2
jmp 0x6af8449a
mov dword [esp], str._04x
movzx esi, si
mov dword [esp + 4], esi
call sym._wine_dbg_sprintf_2
jmp 0x6af8451f
mov dword [esp], str._04x
movzx esi, si
mov dword [esp + 4], esi
call sym._wine_dbg_sprintf_2
jmp 0x6af843cf
mov edx, dword [ebp - 0x204]
test edx, edx
je 0x6af848a0
mov dword [esp], str._08x__04x__04x__02x_02x__02x_02x_02x_02x_02x_02x
movzx eax, byte [ebp - 0x159]
mov dword [esp + 0x2c], eax
movzx eax, byte [ebp - 0x15a]
mov dword [esp + 0x28], eax
movzx eax, byte [ebp - 0x15b]
mov dword [esp + 0x24], eax
movzx eax, byte [ebp - 0x15c]
mov dword [esp + 0x20], eax
movzx eax, byte [ebp - 0x15d]
mov dword [esp + 0x1c], eax
movzx eax, byte [ebp - 0x15e]
mov dword [esp + 0x18], eax
movzx eax, byte [ebp - 0x15f]
mov dword [esp + 0x14], eax
movzx eax, byte [ebp - 0x160]
mov dword [esp + 0x10], eax
movzx eax, word [ebp - 0x162]
mov dword [esp + 0xc], eax
movzx eax, word [ebp - 0x164]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x168]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
mov dword [esp + 0x10], eax
mov eax, str.Enumerating_class__s_n
mov dword [esp + 0xc], eax
mov eax, str.build_directshowfilters_tree
mov dword [esp + 8], eax
mov eax, 0x6af8a03c
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x6af83d10
mov byte [ecx], al
inc ecx
jmp 0x6af84350
mov byte [ecx], al
inc ecx
jmp 0x6af8449a
mov eax, str._invalid_
jmp 0x6af843cf
mov eax, str._invalid_
jmp 0x6af8451f
mov dword [esp], str._guid_0x_04hx_
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1ec], eax
movzx eax, word [ebp - 0x1ec]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
jmp 0x6af84832
mov eax, str._null_
jmp 0x6af8451f
mov eax, str._null_
jmp 0x6af843cf
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov eax, 0x224c
mov word [ebp - 0x144], ax
lea eax, [ecx + 1]
jmp 0x6af843be
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov eax, 0x224c
mov word [ebp - 0x144], ax
lea eax, [ecx + 1]
jmp 0x6af8450e
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x6af845e7
xor edi, edi
jmp 0x6af841b0
mov edx, dword [edi + 8]
mov dword [ebp - 0x200], edx
test edx, edx
je 0x6af84102
mov eax, dword [edi + 0xc]
dec edx
mov dword [ebp - 0x20c], edx
cmp edx, 0x1e
mov dword [ebp - 0x208], eax
jbe 0x6af84b9a
shr edx, 1
mov ecx, dword [ebp - 0x200]
pxor xmm1, xmm1
mov esi, edx
movdqu xmm2, xmm1
lea edx, [edx*8]
sub edx, esi
lea edx, [eax + edx*8]
nop
movdqu xmm0, xmmword [eax]
movdqu xmm5, xmmword [eax + 0x10]
add eax, 0x38
shufps xmm0, xmm5, 0xf0
cmp eax, edx
movdqu xmm3, xmmword [0x6af8e510]
pand xmm0, xmmword [str._b_b_b_b]
pcmpeqd xmm0, xmm2
pand xmm3, xmm0
pandn xmm0, xmmword [0x6af8e500]
por xmm0, xmm3
paddd xmm1, xmm0
jne 0x6af849a0
movd eax, xmm1
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
movdqu xmm0, xmm1
punpckhdq xmm0, xmm1
movd esi, xmm0
mov dword [ebp - 0x200], ecx
add esi, eax
mov eax, dword [ebp - 0x20c]
pshufd xmm1, xmm1, 0xff
movd ecx, xmm1
add edx, ecx
mov dword [ebp - 0x1fc], edx
and eax, 0xfffffffe
mov ecx, dword [ebp - 0x208]
lea edx, [eax*8]
mov dword [ebp - 0x208], ebx
sub edx, eax
mov ebx, dword [ebp - 0x1fc]
lea edx, [ecx + edx*4]
mov ecx, dword [ebp - 0x200]
jmp 0x6af84a4d
inc ebx
inc eax
add edx, 0x1c
cmp ecx, eax
jbe 0x6af84b51
test byte [edx], 8
jne 0x6af84a40
inc esi
jmp 0x6af84a41
mov eax, edi
call sym._free_property_information
mov esi, 0x8007000e
jmp 0x6af84200
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x6af84102
mov esi, dword [edi + 0xc]
lea edx, [ecx - 1]
mov dword [ebp - 0x200], edx
cmp edx, 0x2c
mov dword [ebp - 0x208], esi
jbe 0x6af84bb7
shr edx, 1
pxor xmm1, xmm1
movdqu xmm3, xmm1
lea edx, [edx + edx*8]
lea eax, [esi + 8]
lea edx, [esi + edx*8 + 8]
movdqu xmm0, xmmword [eax]
movdqu xmm4, xmmword [eax + 0x20]
add eax, 0x48
shufps xmm0, xmm4, 0x50
cmp edx, eax
movdqu xmm2, xmmword [0x6af8e510]
pcmpeqd xmm0, xmm3
pand xmm2, xmm0
pandn xmm0, xmmword [0x6af8e500]
por xmm0, xmm2
paddd xmm1, xmm0
jne 0x6af84aa0
movd eax, xmm1
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
movdqu xmm0, xmm1
punpckhdq xmm0, xmm1
pshufd xmm1, xmm1, 0xff
movd esi, xmm0
movd dword [ebp - 0x1fc], xmm1
add esi, eax
mov eax, dword [ebp - 0x1fc]
add edx, eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x1fc], edx
and eax, 0xfffffffe
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
lea edx, [eax + eax*8]
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x208], ebx
mov ebx, dword [ebp - 0x1fc]
lea edx, [eax + edx*4 + 8]
mov eax, dword [ebp - 0x200]
jmp 0x6af84b49
inc ebx
inc eax
add edx, 0x24
cmp eax, ecx
jae 0x6af84b51
cmp dword [edx], 0
jne 0x6af84b40
inc esi
jmp 0x6af84b41
mov dword [ebp - 0x1fc], ebx
mov ebx, dword [ebp - 0x208]
jmp 0x6af8410c
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x1a8]
sub esp, 4
mov dword [esp], eax
call sym._VariantClear_4
lea eax, [ebp - 0x1b8]
sub esp, 4
mov dword [esp], eax
call sym._VariantClear_4
sub esp, 4
jmp 0x6af845e7
xor edx, edx
xor esi, esi
mov dword [ebp - 0x1fc], edx
xor eax, eax
jmp 0x6af84a17
mov eax, esi
call sym._free_property_information
jmp 0x6af84580
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1fc], eax
xor esi, esi
mov dword [ebp - 0x200], edx
jmp 0x6af84b19
mov esi, 0x8007000e
jmp 0x6af841b0
mov eax, esi
mov esi, 0x8007000e
call sym._free_property_information
jmp 0x6af841b0