Function at 0x100164d0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [0x1007f098]
xor eax, esp
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x28], edi
movlpd qword [esp + 0x14], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x10]
sub ecx, dword [0x100824a0]
mov eax, dword [esp + 0x14]
sbb eax, dword [0x100824a4]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], eax
call fcn.100242a0
sub esp, 8
lea eax, [esp + 0x30]
movsd qword [esp], xmm0
push str._0.3lf
push 0x10
push eax
call fcn.10019b10
add esp, 0x14
lea edx, [esp + 0x28]
mov ecx, 0x100824a8
call fcn.10002460
mov edx, str.__INFO_
mov ecx, eax
call fcn.10002460
sub esp, 0x18
lea ecx, [edi + 0xc]
mov edx, esp
mov esi, eax
push ecx
mov ecx, edx
call fcn.1000d180
mov ecx, esi
call fcn.10024bc0
add esp, 0x18
mov edx, str._DebugWrapperDevicePropertyStore::SetValue___key:
mov ecx, eax
call fcn.10002460
mov edi, eax
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x100165cf
mov ecx, ebx
lea esi, [eax + 0xc]
mov edx, 0x10075e78
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10016653
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100165b0
mov edx, str.PKEY_AudioEngine_DeviceFormat
jmp 0x1001669f
cmp eax, 0xe
jne 0x100165ff
mov ecx, ebx
lea esi, [eax - 2]
mov edx, 0x10075e64
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10016678
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100165e0
mov edx, str.PKEY_Device_FriendlyName
jmp 0x1001669f
cmp eax, 2
jne 0x10016628
mov ecx, ebx
lea esi, [eax + 0xa]
mov edx, 0x10074f94
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10016678
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10016610
mov edx, str.PKEY_Device_DeviceIdHiddenKey1
jmp 0x1001669f
cmp eax, 3
jne 0x1001664f
mov ecx, ebx
lea esi, [eax + 9]
mov edx, 0x10074f80
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10016678
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10016637
mov edx, str.PKEY_Device_DeviceIdHiddenKey2
jmp 0x1001669f
test eax, eax
jne 0x10016678
mov ecx, ebx
mov edx, 0x10075e50
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10016678
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10016660
mov edx, str.PKEY_AudioEndpoint_FormFactor
jmp 0x1001669f
push 0x80
lea eax, [esp + 0x3c]
push eax
push ebx
call dword [sym.imp.PROPSYS.dll_PSStringFromPropertyKey]
test eax, eax
js 0x1001669a
lea edx, [esp + 0x38]
mov ecx, edi
call fcn.10024aa0
jmp 0x100166a6
mov edx, 0x100765dc
mov ecx, edi
call fcn.10002460
push edi
call fcn.10002700
mov ecx, dword [esp + 0x28]
add esp, 4
mov ecx, dword [ecx + 8]
push dword [esp + 0xc]
push ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov esi, eax
test esi, esi
jns 0x1001675e
lea eax, [esp + 0x10]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0x14], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x10]
sub ecx, dword [0x100824a0]
mov eax, dword [esp + 0x14]
sbb eax, dword [0x100824a4]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], eax
call fcn.100242a0
sub esp, 8
lea eax, [esp + 0x30]
movsd qword [esp], xmm0
push str._0.3lf
push 0x10
push eax
call fcn.10019b10
add esp, 0x14
lea edx, [esp + 0x28]
mov ecx, 0x100824a8
call fcn.10002460
mov edx, str.__INFO_
mov ecx, eax
call fcn.10002460
mov edx, str.__hr:
mov ecx, eax
call fcn.10002460
lea edx, [esp + 0xc]
mov dword [esp + 0xc], esi
mov ecx, eax
call fcn.10024ee0
push eax
call fcn.10002700
add esp, 4
mov ecx, dword [esp + 0x13c]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1003c0aa
mov esp, ebp
pop ebp
ret 0xc