Function at 0x180016350
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x18005b0d0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rbx, rcx
mov eax, dword [rcx + 0x1b48]
test eax, eax
je 0x180016399
mov dword [rcx + 0xae8], 2
jmp 0x18001640c
lea rdx, str.NULL
add rcx, 0x340
call qword [sym.imp.mfc100.dll_Ordinal_2524]
test eax, eax
je 0x18001640c
lea rdx, str.Virtual_CloneAlliance_NULL_Device
lea rcx, [rbx + 0x340]
call qword [sym.imp.mfc100.dll_Ordinal_2524]
test eax, eax
je 0x18001640c
lea rsi, [0x18005ed10]
lea rdi, str.System_audio_render
mov ecx, reloc.ca_core.dll_Ordinal_20
xor r12d, r12d
repe cmpsb byte [rsi], byte [rdi]
jne 0x1800163fb
mov rcx, rbx
call fcn.180014100
test eax, eax
je 0x1800163fb
mov dword [rbx + 0xaec], 1
jmp 0x180016402
mov dword [rbx + 0xaec], r12d
mov rcx, rbx
call fcn.1800141c0
jmp 0x180016416
xor r12d, r12d
mov dword [rbx + 0xaec], r12d
mov dword [rbx + 0x1cf8], 1
mov dword [rbp - 0x30], r12d
lea rdx, [rbp - 0x30]
mov rcx, qword [rbx + reloc.mfc100.dll_Ordinal_856]
call fcn.18001e110
mov qword [rbx + 0x1db0], rax
cmp dword [rbp - 0x30], 0xffffffff
jne 0x180016487
lea r8, str.This_is_not_a_YK_4k30_device.
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
lea rcx, [rbx + 0x240]
call qword [sym.imp.MSVCR100.dll_atoi]
movsxd r8, eax
mov edx, 0x26ae
mov r9d, 4
mov rcx, qword [rbx + 0x1d00]
call qword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
jmp 0x180016bc7
mov edx, dword [rbx + 0xae8]
lea rcx, [rbp - 0x30]
call fcn.1800101b0
nop
mov r9, qword [rax]
lea r8, str.Build_Graph_UVC:_vrender___s
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.mfc100.dll_Ordinal_889]
lea r13, [rbx + 0x9b0]
mov qword [rsp + 0x20], r13
lea r9, [0x180041710]
xor edx, edx
lea r8d, [rdx + 3]
lea rcx, [0x180042090]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x180016bc7
lea rsi, [rbx + 0x9b8]
mov qword [rsp + 0x20], rsi
lea r9, [0x180041720]
xor edx, edx
lea r8d, [rax + 3]
lea rcx, [0x180042080]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x180016bc7
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, qword [r13]
call qword [rax + Ordinal_26]
test eax, eax
js 0x180016bc7
mov rcx, qword [r13]
mov rax, qword [rcx]
lea r8, [rbx + 0x9c8]
lea rdx, [0x1800416c0]
call qword [rax]
test eax, eax
js 0x180016bc7
mov rcx, qword [r13]
mov rax, qword [rcx]
lea r8, [rbx + 0x9e0]
lea rdx, [0x180041670]
call qword [rax]
test eax, eax
js 0x180016bc7
mov rcx, qword [r13]
mov rax, qword [rcx]
lea r8, [rbx + 0x9d0]
lea rdx, [0x1800416b0]
call qword [rax]
test eax, eax
js 0x180016bc7
mov rcx, qword [r13]
mov rax, qword [rcx]
lea r8, [rbx + 0x9d8]
lea rdx, [0x180041680]
call qword [rax]
test eax, eax
js 0x180016bc7
mov rcx, qword [r13]
mov rax, qword [rcx]
lea r8, [rbx + 0x9c0]
lea rdx, [0x1800416a0]
call qword [rax]
mov dword [rbp - 0x30], eax
test eax, eax
js 0x180016bc7
mov qword [rbx + 0x1c90], r12
mov qword [rbx + 0xa18], r12
mov rax, qword [rbx + 0x360]
mov edx, r12d
cmp dword [rax - 0x10], 0
setne dl
lea r8, [rbp - 0x30]
mov rcx, rbx
call fcn.180014ff0
cmp eax, 0xffffffff
jne 0x180016614
lea r8, str.Get_Capture_filter_pointer_failed._Device_not_found___n
lea edx, [rax + 3]
mov rcx, rbx
call fcn.1800190c0
mov eax, 0x80004002
jmp 0x180016bc7
mov edi, dword [rbp - 0x30]
test edi, edi
js 0x180016644
mov rdx, qword [rbx + 0xa18]
test rdx, rdx
jne 0x180016654
cmp qword [rbx + 0x1c90], rdx
jne 0x18001664b
lea r8, str.Get_Capture_filter_pointer_failed._n
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov eax, edi
jmp 0x180016bc7
test rdx, rdx
je 0x180016963
mov rcx, qword [r13]
mov rax, qword [rcx]
lea r8, str.UVC_video
call qword [rax + Ordinal_26]
mov edi, eax
test eax, eax
je 0x180016686
lea r8, str.Unable_to_add_UVC_video_Capture_Filter_n
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov eax, edi
jmp 0x180016bc7
mov rcx, qword [rsi]
lea r14, [rbx + 0x9f0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
lea rdi, [0x180041730]
mov qword [rsp + 0x20], rdi
mov r9, qword [rbx + 0xa18]
lea r8, [0x180041f90]
lea rdx, [0x180042140]
call qword [rax + reloc.ca_core.dll_Ordinal_48]
test eax, eax
je 0x180016703
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
mov r9, qword [rbx + 0xa18]
lea r8, str.vids
lea rdx, [0x180042140]
call qword [rax + reloc.ca_core.dll_Ordinal_48]
test eax, eax
je 0x180016703
mov r9d, eax
lea r8, str.Error__x:_Cannot_find_VCapture:IAMStreamConfig
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov rdx, qword [rbx + 0x1db0]
test rdx, rdx
je 0x18001675b
cmp dword [rdx], 3
jne 0x18001675b
cmp dword [0x18005ec28], 2
jne 0x180016745
cmp dword [0x18005ed00], 0
je 0x180016745
add rdx, 8
lea rcx, [rbp - 0x30]
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov rcx, rax
call fcn.180007ba0
mov dword [0x18005ed00], r12d
jmp 0x18001675b
add rdx, 8
lea rcx, [rbp - 0x30]
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov rcx, rax
call fcn.180007ba0
mov edx, dword [rbx + 0xb58]
test edx, edx
jle 0x1800167db
mov eax, dword [rbx + 0xb68]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + 0xb64]
mov r8d, dword [rbx + 0xb5c]
mov rcx, rbx
call fcn.180017590
test eax, eax
jne 0x1800167db
mov edx, dword [rbx + 0xb68]
lea rcx, [rbp - 0x30]
call fcn.18001b3f0
nop
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov eax, dword [rbx + 0xb64]
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0xb5c]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + 0xb58]
lea r8, str.Set_device_capacity__dx_d__d__s_failed.
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.mfc100.dll_Ordinal_889]
cmp qword [r14], 0
je 0x18001681f
lea rax, [rbx + 0xb6c]
lea rcx, [rbx + 0xb68]
lea r9, [rbx + 0xb64]
lea r8, [rbx + 0xb5c]
lea rdx, [rbp - 0x20]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rdx, [rbx + 0xb58]
mov rcx, rbx
call fcn.1800173f0
call fcn.1800102b0
mov esi, eax
test eax, eax
jne 0x18001684f
cmp dword [rbx + 0xae8], 5
jne 0x18001684f
mov dword [rbx + 0xae8], 2
lea r8, str.Lost_render_madVR__use_default_render_YUV
lea edx, [rax + 2]
mov rcx, rbx
call fcn.1800190c0
lea rcx, [rbp - 0x20]
lea rdi, [0x180042050]
mov rdx, qword [rcx]
cmp rdx, qword [rdi]
jne 0x180016871
mov rdx, qword [rcx + 8]
cmp rdx, qword [rdi + 8]
jne 0x180016871
mov eax, r12d
jmp 0x180016876
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1800168d5
cmp dword [rbx + 0x1b48], eax
jne 0x1800168d5
cmp dword [rbx + 0xae8], 5
je 0x1800168d5
test esi, esi
je 0x1800168ad
mov dword [rbx + 0xae8], 5
lea r8, str.Changer_video_render_to_madVR_by_source_is_PO10.
lea edx, [rax + 2]
mov rcx, rbx
call fcn.1800190c0
jmp 0x1800168d5
lea rcx, [rbx + 0x240]
call qword [sym.imp.MSVCR100.dll_atoi]
movsxd r8, eax
mov edx, 0x26b1
mov r9d, 1
mov rcx, qword [rbx + 0x1d00]
call qword [sym.imp.USER32.dll_PostMessageA]
lea rax, [rbp - 0x20]
mov rcx, qword [rax]
cmp rcx, qword [rdi]
jne 0x1800168f0
mov rcx, qword [rax + 8]
cmp rcx, qword [rdi + 8]
jne 0x1800168f0
mov eax, r12d
jmp 0x1800168f5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x180016937
cmp dword [rbx + 0xae8], 5
jne 0x180016937
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
mov rcx, rbx
call fcn.180015cd0
mov edi, eax
test eax, eax
je 0x180016963
mov r9d, eax
lea r8, str.BuildGraphUSB30_Video10bit_failed._0x_x_n
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov eax, edi
jmp 0x180016bc7
mov rcx, rbx
call fcn.1800155c0
mov edi, eax
test eax, eax
je 0x180016963
mov r9d, eax
lea r8, str.BuildGraphUSB30_Video8bit_failed_0x_x_n
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov eax, edi
jmp 0x180016bc7
mov rdx, qword [rbx + 0x1c90]
test rdx, rdx
je 0x180016a18
mov rcx, qword [r13]
mov rax, qword [rcx]
lea r8, str.UVC_audio
call qword [rax + Ordinal_26]
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x1800169a5
lea r8, str.Unable_to_add_UVC_audio_Filter_n
mov edx, 2
call fcn.1800190c0
mov eax, edi
jmp 0x180016bc7
call fcn.180014820
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x1800169cb
lea r8, str.Add_AddTransallFilterPCM_failed.
mov edx, 2
call fcn.1800190c0
mov eax, edi
jmp 0x180016bc7
call fcn.18000d020
test eax, eax
je 0x1800169ef
lea r8, str.Add_AddAudioRenderFilter_failed.
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov dword [rbx + 0xaec], r12d
mov rcx, rbx
call fcn.18000ce20
mov edi, eax
test eax, eax
je 0x180016a18
lea r8, str._AddAudiodumpFilter_failed.
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov eax, edi
jmp 0x180016bc7
cmp qword [rbx + 0x1c90], 0
je 0x180016b64
mov rax, qword [rbx + 0x368]
cmp dword [rax - 0x10], 0
je 0x180016b64
mov qword [rbp - 0x30], r12
lea rdx, [0x180041f02]
lea rcx, [rbp - 0x20]
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov r9, rax
lea r8, [rbp - 0x30]
mov edx, 1
mov rcx, qword [rbx + 0x1c90]
call fcn.1800118e0
test eax, eax
js 0x180016bc7
lea rdx, [0x180041f02]
lea rcx, [rbp - 0x20]
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov r9, rax
mov r8, qword [rbx + 0x1c88]
mov rdi, qword [rbp - 0x30]
mov rdx, rdi
mov rcx, rbx
call fcn.1800119c0
mov esi, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.ca_core.dll_Ordinal_16]
test esi, esi
jns 0x180016ac3
mov r9d, esi
lea r8, str.capture_audio_to_next_failed.0x_x
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov eax, esi
jmp 0x180016bc7
mov qword [rbp - 0x30], r12
lea rdx, [0x180041f02]
lea rcx, [rbp - 0x20]
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov r9, rax
lea r8, [rbp - 0x30]
mov edx, 1
mov rcx, qword [rbx + 0x1c88]
call fcn.1800118e0
test eax, eax
js 0x180016bc7
lea rdx, [0x180041f02]
lea rcx, [rbp - 0x20]
cmp dword [rbx + 0xaec], 0
jne 0x180016b1b
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov r8, qword [rbx + 0xa60]
jmp 0x180016b28
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov r8, qword [rbx + 0xa20]
mov rsi, qword [rbp - 0x30]
mov r9, rax
mov rdx, rsi
mov rcx, rbx
call fcn.1800119c0
mov edi, eax
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.ca_core.dll_Ordinal_16]
test edi, edi
jns 0x180016b64
mov r9d, edi
lea r8, str.audio_dec_to_next_failed._x
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov eax, edi
jmp 0x180016bc7
lea r8, str.Build_graph_complete_successfully.
mov edx, 2
mov rcx, rbx
call fcn.1800190c0
mov dword [rbx + 0xaa4], 1
mov rcx, rbx
call fcn.180014100
test eax, eax
je 0x180016bc5
cmp dword [rbx + 0x1b48], 0
jne 0x180016bc5
cmp dword [rbx + 0x1db8], 0
je 0x180016bc5
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r9, rbx
lea r8, [0x1800131d0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0xae0], rax
xor eax, eax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.18003c580
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret