Function at 0x10001000
Capabilities:
Enumerate devices by category

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
mov dword [0x1000e544], eax
mov dword [0x1000e94c], 0
mov dword [0x1000e950], 0
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x10001042
or eax, 0xffffffff
jmp 0x100015b7
push 0x1000e520
push 0x1000a1e4
push 1
push 0
push 0x1000a254
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x10001073
mov eax, 0xfffffffe
jmp 0x100015b7
push 0x1000e524
push 0x1000a2b4
push 1
push 0
push 0x1000a244
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x100010a4
mov eax, 0xfffffffd
jmp 0x100015b7
mov ecx, dword [0x1000e520]
push ecx
mov edx, dword [0x1000e524]
mov eax, dword [edx]
mov ecx, dword [0x1000e524]
push ecx
mov edx, dword [eax + 0xc]
call edx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x100010d7
mov eax, 0xfffffffc
jmp 0x100015b7
push 0x1000e510
call fcn.10001a40
add esp, 4
push eax
push 0x1000a214
push 1
push 0
push 0x1000a264
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x10001111
mov eax, 0xfffffffb
jmp 0x100015b7
push 0
push 0x1000e514
push 0x1000a274
mov eax, dword [0x1000e510]
mov ecx, dword [eax]
mov edx, dword [0x1000e510]
push edx
mov eax, dword [ecx + 0xc]
call eax
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x10001148
mov eax, 0xfffffffa
jmp 0x100015b7
mov dword [ebp - 4], 0
mov ecx, 1
test ecx, ecx
je 0x100011a7
push 0
push 0x1000e518
push 1
mov edx, dword [0x1000e514]
mov eax, dword [edx]
mov ecx, dword [0x1000e514]
push ecx
mov edx, dword [eax + 0xc]
call edx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
jne 0x1000118e
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
jmp 0x10001198
mov eax, 0xfffffff9
jmp 0x100015b7
mov ecx, dword [ebp - 4]
cmp ecx, dword [0x1000e544]
jl 0x100011a5
jmp 0x100011a7
jmp 0x1000114f
push 0x1000e51c
call fcn.10001a40
add esp, 4
push eax
push 0x1000a204
push 0
push 0
mov edx, dword [0x1000e518]
mov eax, dword [edx]
mov ecx, dword [0x1000e518]
push ecx
mov edx, dword [eax + 0x24]
call edx
mov dword [0x1000e0c0], eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 0
lea ecx, [ebp - 0x18]
push ecx
push str.FriendlyName
mov edx, dword [0x1000e51c]
mov eax, dword [edx]
mov ecx, dword [0x1000e51c]
push ecx
mov edx, dword [eax + 0xc]
call edx
mov dword [0x1000e0c0], eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x1000e528
push 0x1000a1f4
push 0
push 0
mov ecx, dword [0x1000e518]
mov edx, dword [ecx]
mov eax, dword [0x1000e518]
push eax
mov ecx, dword [edx + 0x20]
call ecx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x10001248
mov eax, 0xfffffff8
jmp 0x100015b7
push str.Capture_Filter
mov edx, dword [0x1000e528]
push edx
mov eax, dword [0x1000e520]
mov ecx, dword [eax]
mov edx, dword [0x1000e520]
push edx
mov eax, dword [ecx + 0xc]
call eax
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x1000127f
mov eax, 0xfffffff7
jmp 0x100015b7
push 0x1000e52c
push 0x1000a1f4
push 1
push 0
push 0x1000a1c4
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x100012b0
mov eax, 0xfffffff6
jmp 0x100015b7
push 0x1000e530
push 0x1000a1b4
mov ecx, dword [0x1000e52c]
mov edx, dword [ecx]
mov eax, dword [0x1000e52c]
push eax
mov ecx, dword [edx]
call ecx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x100012e4
mov eax, 0xfffffff5
jmp 0x100015b7
push 1
mov edx, dword [0x1000e530]
mov eax, dword [edx]
mov ecx, dword [0x1000e530]
push ecx
mov edx, dword [eax + 0x18]
call edx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x10001312
mov eax, 0xfffffff4
jmp 0x100015b7
push 0x48
push 0
push 0x1000e0c8
call fcn.10001a50
add esp, 0xc
mov eax, dword [0x1000a224]
mov dword [0x1000e0c8], eax
mov ecx, dword [0x1000a228]
mov dword [0x1000e0cc], ecx
mov edx, dword [0x1000a22c]
mov dword [0x1000e0d0], edx
mov eax, dword [0x1000a230]
mov dword [0x1000e0d4], eax
mov ecx, dword [0x1000a234]
mov dword [0x1000e0d8], ecx
mov edx, dword [0x1000a238]
mov dword [0x1000e0dc], edx
mov eax, dword [0x1000a23c]
mov dword [0x1000e0e0], eax
mov ecx, dword [0x1000a240]
mov dword [0x1000e0e4], ecx
push 0x1000e0c8
mov edx, dword [0x1000e530]
mov eax, dword [edx]
mov ecx, dword [0x1000e530]
push ecx
mov edx, dword [eax + 0x10]
call edx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x100013ae
mov eax, 0xfffffff3
jmp 0x100015b7
push str.SampleGrab
mov eax, dword [0x1000e52c]
push eax
mov ecx, dword [0x1000e520]
mov edx, dword [ecx]
mov eax, dword [0x1000e520]
push eax
mov ecx, dword [edx + 0xc]
call ecx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x100013e4
mov eax, 0xfffffff2
jmp 0x100015b7
push 0x1000e534
push 0x1000a1f4
push 1
push 0
push 0x1000a1d4
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x10001415
mov eax, 0xfffffff1
jmp 0x100015b7
push str.NullRender
mov edx, dword [0x1000e534]
push edx
mov eax, dword [0x1000e520]
mov ecx, dword [eax]
mov edx, dword [0x1000e520]
push edx
mov eax, dword [ecx + 0xc]
call eax
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x1000144c
mov eax, 0xfffffff0
jmp 0x100015b7
mov ecx, dword [0x1000e534]
push ecx
mov edx, dword [0x1000e52c]
push edx
mov eax, dword [0x1000e528]
push eax
push 0x1000a224
push 0x1000a294
mov ecx, dword [0x1000e524]
mov edx, dword [ecx]
mov eax, dword [0x1000e524]
push eax
mov ecx, dword [edx + 0x1c]
call ecx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x10001495
mov eax, 0xffffffef
jmp 0x100015b7
push 0x1000e538
push 0x1000a2a4
mov edx, dword [0x1000e520]
mov eax, dword [edx]
mov ecx, dword [0x1000e520]
push ecx
mov edx, dword [eax]
call edx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
je 0x100014ca
mov eax, 0xffffffee
jmp 0x100015b7
mov dword [ebp - 8], 0
mov eax, 1
test eax, eax
je 0x1000152f
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0x28
jle 0x100014fe
mov eax, 0xffffff9c
jmp 0x100015b7
mov edx, dword [0x1000e538]
mov eax, dword [edx]
mov ecx, dword [0x1000e538]
push ecx
mov edx, dword [eax + 0x1c]
call edx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
jne 0x10001522
jmp 0x1000152f
cmp dword [0x1000e0c0], 1
jne 0x1000152d
jmp 0x100014d1
jmp 0x100014d1
mov dword [ebp - 8], 0
mov eax, 1
test eax, eax
je 0x100015b2
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0x28
jle 0x10001560
mov eax, 0xffffff9b
jmp 0x100015b7
push 0
push 0x1000e948
mov edx, dword [0x1000e530]
mov eax, dword [edx]
mov ecx, dword [0x1000e530]
push ecx
mov edx, dword [eax + 0x1c]
call edx
mov dword [0x1000e0c0], eax
cmp dword [0x1000e0c0], 0
jne 0x10001594
cmp dword [0x1000e948], 0
je 0x10001594
jmp 0x100015b2
cmp dword [0x1000e0c0], 0
je 0x100015b0
cmp dword [0x1000e0c0], 0x80040227
je 0x100015b0
mov eax, 0xffffffed
jmp 0x100015b7
jmp 0x10001536
mov eax, dword [0x1000e948]
mov esp, ebp
pop ebp
ret