Function at 0x140010200
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x308]
sub rsp, 0x408
mov rax, qword [0x1401aa010]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov r15d, r9d
mov r14, r8
mov r13d, edx
mov dword [rsp + 0x3c], edx
mov rsi, rcx
mov qword [rbp - 0x40], r8
xor edi, edi
mov dword [rsp + 0x38], edi
lea rax, [rcx + 0xa8]
mov qword [rsp + 0x70], rax
mov rcx, rax
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r14
mov r9d, r13d
mov r8d, 0x153
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_dwProcessId____d__sEndpointId____s__NewState____d
call fcn.140075db0
cmp dword [0x1401aa4a4], edi
jne 0x1400102cb
cmp dword [0x1401aa4a0], edi
jne 0x1400102cb
cmp dword [0x1401aa4a8], edi
jne 0x1400102cb
call fcn.14006b0c0
mov r10, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x1c8]
mov r9d, r15d
mov r8, r14
mov edx, r13d
mov rcx, r10
call qword [case.0x14005eeb3.0]
test eax, eax
je 0x1400117b8
mov r8d, 0x159
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, [0x14011bca8]
call fcn.140075db0
cmp dword [0x1401b2668], edi
je 0x1400103c0
mov rax, qword [0x1401ab9a8]
test byte [rax + 0x1c], 1
jne 0x140010309
cmp dword [0x1401b266c], edi
je 0x1400103c0
cmp qword [0x1401aa7d8], rdi
je 0x1400103a4
mov edx, edi
mov ecx, dword [0x1401aa7e0]
test ecx, ecx
je 0x1400103a4
mov r8, qword [0x1401aa7d0]
nop dword [rax]
mov eax, edx
mov rbx, qword [r8 + rax*8]
test rbx, rbx
jne 0x140010343
inc edx
cmp edx, ecx
jb 0x140010330
jmp 0x1400103a4
lea r9, [rbx]
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140010354
mov rbx, rax
jmp 0x14001036d
xor edx, edx
mov eax, dword [rbx + 0x18]
div ecx
inc edx
mov rbx, rdi
cmp edx, ecx
jae 0x14001036d
mov rbx, qword [r8 + rdx*8]
test rbx, rbx
je 0x14001035b
mov rax, qword [r9 + 8]
test rax, rax
je 0x14001039f
mov r9d, dword [rax]
mov r8d, 0x166
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_AudioSessionInfoMap_process_id_list____d
call fcn.140075db0
mov ecx, dword [0x1401aa7e0]
mov r8, qword [0x1401aa7d0]
test rbx, rbx
jne 0x140010343
mov r9d, r13d
mov r8d, 0x16a
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_current_process_id____d
call fcn.140075db0
xor edx, edx
mov eax, r13d
div dword [0x1401aa7e0]
mov rcx, qword [0x1401aa7d0]
test rcx, rcx
je 0x1400111ff
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x1400111ff
cmp dword [rcx + 0x18], r13d
jne 0x1400103f3
cmp dword [rcx], r13d
je 0x1400103f9
mov rcx, qword [rcx + 0x10]
jmp 0x1400103df
mov rdi, qword [rcx + 8]
mov qword [rsp + 0x30], rdi
mov r12, 0xffffffffffffffff
cmp r15d, 1
jne 0x14001052c
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x140010432
nop dword [rax]
cmp qword [rax + 0x10], r14
je 0x1400104dd
mov rax, qword [rax]
test rax, rax
jne 0x140010420
mov r9, r14
mov r8d, 0x1c8
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_exist_process__Add_endpoint_sEndpointId_s
call fcn.140075db0
lea rdx, [rbp - 0x40]
lea rcx, [rdi + 0x30]
call fcn.14000ecc0
call fcn.140014660
mov rdx, r14
call fcn.1400ac390
test rax, rax
je 0x1400104dd
mov rcx, rax
call fcn.140020820
test eax, eax
je 0x1400104a9
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_core_timezone_l1_1_0.dll_GetTimeZoneInformation]
lea rcx, [rbp - 0x18]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTime]
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_core_timezone_l1_1_0.dll_SystemTimeToTzSpecificLocalTime]
movaps xmm0, xmmword [rbp - 0x80]
movups xmmword [rdi + 0x60], xmm0
jmp 0x1400104dd
lea rcx, [rbp + 0xe0]
call qword [sym.imp.api_ms_win_core_timezone_l1_1_0.dll_GetTimeZoneInformation]
lea rcx, [rbp - 8]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTime]
lea r8, [rbp - 0x70]
lea rdx, [rbp - 8]
lea rcx, [rbp + 0xe0]
call qword [sym.imp.api_ms_win_core_timezone_l1_1_0.dll_SystemTimeToTzSpecificLocalTime]
movaps xmm0, xmmword [rbp - 0x70]
movups xmmword [rdi + 0x70], xmm0
mov r8d, 0x1d9
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, [0x14011bca8]
call fcn.140075db0
call fcn.140014660
mov rdx, r14
call fcn.1400ac390
test rax, rax
je 0x1400105ac
mov rcx, rax
call fcn.140020820
test eax, eax
je 0x1400105ac
mov rdx, rdi
mov rcx, rsi
call fcn.140011e20
jmp 0x1400105ac
lea rcx, [rsi + 0x108]
test r14, r14
jne 0x14001053c
xor eax, eax
jmp 0x14001054b
mov rax, r12
nop
inc rax
cmp word [r14 + rax*2], 0
jne 0x140010540
mov r8d, eax
mov rdx, r14
call fcn.14000c750
cmp qword [rdi + 0x40], 0
jbe 0x140010d6d
lea r13, [rdi + 0x30]
mov qword [rsp + 0x40], r13
mov r15, qword [r13]
mov qword [rsp + 0x48], r15
test r15, r15
je 0x14001058b
cmp qword [r15 + 0x10], r14
je 0x1400105df
mov r15, qword [r15]
mov qword [rsp + 0x48], r15
test r15, r15
jne 0x140010578
mov r8d, 0x22b
lea rcx, str._s__d_have_process__try_to_Remove__but_no_such_device__EndpointId_s
mov r9, r14
lea rdx, str.CAppSessionEventMgr::OnStateChanged
call fcn.140075db0
mov r13d, dword [rsp + 0x3c]
cmp qword [rdi + 0x40], 0
jbe 0x140010d6d
mov rdx, rdi
call fcn.14000fff0
test al, al
je 0x140010bbc
mov eax, dword [rdi + 4]
cmp eax, 3
jne 0x140010995
lea rbx, str.Voice
jmp 0x1400109aa
call fcn.140014660
mov rdx, r14
call fcn.1400ac390
test rax, rax
je 0x140010917
mov rcx, rax
call fcn.140020820
mov r13, qword [r13]
xor r15d, r15d
test eax, eax
je 0x140010795
test r13, r13
je 0x140010770
mov rbx, qword [rsp + 0x50]
nop word [rax + rax]
lea rdi, [r13]
mov r13, qword [r13]
call fcn.140014660
mov rdx, qword [rdi + 0x10]
call fcn.1400ac390
mov rdi, rax
test rax, rax
je 0x14001073a
mov rcx, rax
call fcn.140020820
test eax, eax
je 0x1400106ef
mov rbx, qword [rdi + 0x170]
call fcn.14000cd60
mov rcx, rax
test rax, rax
je 0x140011816
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14005eeb3.0]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14000c4c0
test al, al
jne 0x1400106bb
test rbx, rbx
jne 0x14001069a
xor eax, eax
jmp 0x1400106aa
mov rax, r12
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400106a0
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14000c750
nop
or dword [rsp + 0x38], 1
mov rbx, qword [rsp + 0x50]
test r14, r14
je 0x1400106ea
cmp dword [rbx - 0x10], 0
jl 0x1400106ea
mov rdx, r14
mov rcx, rbx
call fcn.1400fa604
test rax, rax
je 0x1400106ea
sub rax, rbx
sar rax, 1
test eax, eax
jns 0x1400106ef
mov dil, 1
jmp 0x1400106f2
xor dil, dil
mov eax, dword [rsp + 0x38]
test al, 1
je 0x14001072e
and eax, 0xfffffffe
mov dword [rsp + 0x38], eax
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010725
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
mov r14, qword [rbp - 0x40]
mov rbx, qword [rsp + 0x50]
test dil, dil
mov eax, 1
cmovne r15d, eax
test r13, r13
jne 0x140010620
test r15d, r15d
je 0x14001076b
mov r8d, 0x201
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_DONT_reset_the_new_system_time_for_render
call fcn.140075db0
mov rdi, qword [rsp + 0x30]
jmp 0x14001090d
mov rdi, qword [rsp + 0x30]
mov r8d, 0x205
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_Reset_the_system_time_for_render
call fcn.140075db0
xorps xmm0, xmm0
movups xmmword [rdi + 0x60], xmm0
jmp 0x14001090d
test r13, r13
je 0x1400108ed
mov rbx, qword [rsp + 0x58]
lea rdi, [r13]
mov r13, qword [r13]
call fcn.140014660
mov rdx, qword [rdi + 0x10]
call fcn.1400ac390
mov rdi, rax
test rax, rax
je 0x1400108ba
mov rcx, rax
call fcn.140020820
test eax, eax
jne 0x14001086f
mov rbx, qword [rdi + 0x170]
call fcn.14000cd60
mov rcx, rax
test rax, rax
je 0x140011816
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14005eeb3.0]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.14000c4c0
test al, al
jne 0x14001083b
test rbx, rbx
jne 0x14001081d
xor eax, eax
jmp 0x14001082a
mov rax, r12
inc rax
cmp word [rbx + rax*2], 0
jne 0x140010820
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.14000c750
nop
or dword [rsp + 0x38], 2
mov rbx, qword [rsp + 0x58]
test r14, r14
je 0x14001086a
cmp dword [rbx - 0x10], 0
jl 0x14001086a
mov rdx, r14
mov rcx, rbx
call fcn.1400fa604
test rax, rax
je 0x14001086a
sub rax, rbx
sar rax, 1
test eax, eax
jns 0x14001086f
mov dil, 1
jmp 0x140010872
xor dil, dil
mov eax, dword [rsp + 0x38]
test al, 2
je 0x1400108ae
and eax, 0xfffffffd
mov dword [rsp + 0x38], eax
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400108a5
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
mov r14, qword [rbp - 0x40]
mov rbx, qword [rsp + 0x58]
test dil, dil
mov eax, 1
cmovne r15d, eax
test r13, r13
jne 0x1400107a3
test r15d, r15d
je 0x1400108e8
mov r8d, 0x21c
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_DONT_reset_the_new_system_time_for_capture
call fcn.140075db0
mov rdi, qword [rsp + 0x30]
jmp 0x14001090d
mov rdi, qword [rsp + 0x30]
mov r8d, 0x220
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_Reset_the_system_time_for_capture
call fcn.140075db0
xorps xmm0, xmm0
movups xmmword [rdi + 0x70], xmm0
mov r13, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r9, r14
mov r8d, 0x225
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_RemoveAt_start_sEndpointId_s
call fcn.140075db0
test r15, r15
je 0x140011816
mov rcx, qword [r15]
cmp r15, qword [r13]
jne 0x14001094b
mov qword [r13], rcx
jmp 0x140010952
mov rax, qword [r15 + 8]
mov qword [rax], rcx
mov rcx, qword [r15 + 8]
cmp r15, qword [r13 + 8]
jne 0x140010962
mov qword [r13 + 8], rcx
jmp 0x140010969
mov rax, qword [r15]
mov qword [rax + 8], rcx
mov rax, qword [r13 + 0x20]
mov qword [r15], rax
mov qword [r13 + 0x20], r15
sub qword [r13 + 0x10], 1
jne 0x140010983
mov rcx, r13
call fcn.140015280
mov r8d, 0x227
lea rcx, str._s__d_RemoveAt_end_sEndpointId_s
jmp 0x140010598
lea rcx, str.Render
lea rbx, str.Capture
cmp eax, 1
cmove rbx, rcx
call fcn.14000cd60
mov rcx, rax
test rax, rax
je 0x140011816
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14005eeb3.0]
add rax, 0x18
mov qword [rbp - 0x28], rax
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.14000c4c0
test al, al
jne 0x1400109fb
mov r8, r12
inc r8
cmp word [rbx + r8*2], 0
jne 0x1400109e3
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.14000c750
nop
mov rdx, qword [rsi + 0xd8]
test rdx, rdx
je 0x140010a7f
cmp dword [rdx + 0x10], r13d
je 0x140010a17
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140010a07
jmp 0x140010a7f
test rdx, rdx
je 0x14001180b
cmp rdx, qword [rsi + 0xe0]
je 0x140010a7f
mov rcx, qword [rdx + 8]
test rcx, rcx
jne 0x140010a4b
cmp rdx, qword [rsi + 0xd8]
jne 0x14001180b
mov rax, qword [rdx]
mov qword [rsi + 0xd8], rax
jmp 0x140010a51
mov rax, qword [rdx]
mov qword [rcx], rax
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rsi + 0xe0]
mov qword [rax], rdx
mov rax, qword [rsi + 0xe0]
mov qword [rdx + 8], rax
mov qword [rdx], 0
mov qword [rsi + 0xe0], rdx
cmp dword [0x1401aa4a4], 0
jne 0x140010ae1
cmp dword [0x1401aa4a0], 0
jne 0x140010ae1
cmp dword [0x1401aa4a8], 0
jne 0x140010ae1
call fcn.140014310
test dword [rax + 0x128], 0x20000
je 0x140010ab0
call fcn.140013320
cmp dword [0x1401aa4a4], 0
jne 0x140010ae1
cmp dword [0x1401aa4a0], 0
jne 0x140010ae1
cmp dword [0x1401aa4a8], 0
jne 0x140010ae1
call fcn.140014310
test dword [rax + reloc.OLEAUT32.dll_LPSAFEARRAY_UserUnmarshal], 0x100
je 0x140010ae1
call fcn.140013790
lock inc dword [rsi + 0xa4]
mov rdi, qword [rsi + 0x40]
test rdi, rdi
je 0x140010b65
mov r15, qword [rsp + 0x30]
cmp dword [rsi + 0xa0], 0
jne 0x140010b65
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
test rdi, rdi
je 0x14001180b
mov rbx, qword [rdi + 0x10]
mov rdi, qword [rdi]
cmp qword [rsi + 0x80], 0
jbe 0x140010b3e
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x140010b3e
nop dword [rax]
cmp qword [rax + 0x10], rbx
je 0x140010bb0
mov rax, qword [rax]
test rax, rax
jne 0x140010b30
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
test rbx, rbx
je 0x140010b60
mov rax, qword [rbx]
mov rdx, r15
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14005eeb3.0]
test rdi, rdi
jne 0x140010af6
lock dec dword [rsi + 0xa4]
lea rcx, [rsi + 0x18]
call fcn.140014520
mov r9, qword [rsp + 0x30]
mov rax, qword [r9 + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9, qword [r9 + 0x18]
mov r8d, r13d
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s_OnAppSessionTypeChange_ProcId_d_App_s_sEndpointId_s_sMode_s
call fcn.140075db0
nop
mov rdx, qword [rbp - 0x28]
jmp 0x140011795
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
jmp 0x140010b60
cmp dword [0x1401aa4a4], 0
jne 0x140010c96
cmp dword [0x1401aa4a0], 0
jne 0x140010c96
cmp dword [0x1401aa4a8], 0
jne 0x140010c96
call fcn.140014310
test dword [rax + reloc.OLEAUT32.dll_LPSAFEARRAY_UserUnmarshal], 0x100
je 0x140010c96
lock inc dword [rsi + 0xa4]
mov rdi, qword [rsi + 0x40]
test rdi, rdi
je 0x140010d1b
mov r15, qword [rsp + 0x30]
cmp dword [rsi + 0xa0], 0
jne 0x140010d1b
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
test rdi, rdi
je 0x140011816
mov rbx, qword [rdi + 0x10]
mov rdi, qword [rdi]
cmp qword [rsi + 0x80], 0
jbe 0x140010c5e
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x140010c5e
nop dword [rax + rax]
cmp qword [rax + 0x10], rbx
je 0x140010c8a
mov rax, qword [rax]
test rax, rax
jne 0x140010c50
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
test rbx, rbx
je 0x140010c80
mov rax, qword [rbx]
mov rdx, r15
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14005eeb3.0]
test rdi, rdi
jne 0x140010c11
jmp 0x140010d1b
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
jmp 0x140010c80
lock inc dword [rsi + 0xa4]
mov rdi, qword [rsi + 0x40]
test rdi, rdi
je 0x140010d1b
mov r15, qword [rsp + 0x30]
nop dword [rax + rax]
cmp dword [rsi + 0xa0], 0
jne 0x140010d1b
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
test rdi, rdi
je 0x140011816
mov rbx, qword [rdi + 0x10]
mov rdi, qword [rdi]
cmp qword [rsi + 0x80], 0
jbe 0x140010cf4
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x140010cf4
cmp qword [rax + 0x10], rbx
je 0x140010d61
mov rax, qword [rax]
test rax, rax
jne 0x140010ce6
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
test rbx, rbx
je 0x140010d16
mov rax, qword [rbx]
mov rdx, r15
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [case.0x14005eeb3.0]
test rdi, rdi
jne 0x140010cb0
lock dec dword [rsi + 0xa4]
lea rcx, [rsi + 0x18]
call fcn.140014520
mov r9, qword [rsp + 0x30]
mov rax, qword [r9 + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9, qword [r9 + 0x18]
mov r8d, r13d
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s_OnAppSessionTypeChange_ProcId_d_App_s_sEndpointId_s_sMode_s
call fcn.140075db0
jmp 0x1400117b8
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
jmp 0x140010d16
cmp dword [0x1401aa4a4], 0
jne 0x140010dc1
cmp dword [0x1401aa4a0], 0
jne 0x140010dc1
cmp dword [0x1401aa4a8], 0
jne 0x140010dc1
call fcn.14006b0c0
mov rbx, rax
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.14000c3f0
mov rcx, qword [rbx]
mov r9, qword [rcx + 0x1b8]
mov r8, rax
mov rdx, rdi
mov rcx, rbx
mov rax, r9
call qword [case.0x14005eeb3.0]
test eax, eax
jne 0x14001117c
lock inc dword [rsi + 0xa4]
mov rdi, qword [rsi + 0x40]
test rdi, rdi
je 0x140010e49
mov r15, qword [rsp + 0x30]
cmp dword [rsi + 0xa0], 0
jne 0x140010e49
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
test rdi, rdi
je 0x140011816
mov rbx, qword [rdi + 0x10]
mov rdi, qword [rdi]
cmp qword [rsi + 0x80], 0
jbe 0x140010e22
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x140010e22
nop dword [rax]
cmp qword [rax + 0x10], rbx
je 0x140010ef2
mov rax, qword [rax]
test rax, rax
jne 0x140010e10
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
test rbx, rbx
je 0x140010e44
mov rax, qword [rbx]
mov rdx, r15
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
test rdi, rdi
jne 0x140010dd6
lock dec dword [rsi + 0xa4]
lea rcx, [rsi + 0x18]
call fcn.140014520
mov rdi, qword [rsp + 0x30]
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9, qword [rdi + 0x18]
mov r8d, r13d
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s_OnAppEndLastSession_ProcId_d_App_s_sEndpointId_s_sMode_s
call fcn.140075db0
cmp dword [0x1401b2668], 0
je 0x140010f95
mov rax, qword [0x1401ab9a8]
test byte [rax + 0x1c], 1
jne 0x140010eb1
cmp dword [0x1401b266c], 0
je 0x140010f95
mov r8d, dword [0x1401aa7e0]
mov r9, qword [0x1401aa7d0]
cmp qword [0x1401aa7d8], 0
je 0x140010f64
xor ecx, ecx
test r8d, r8d
je 0x140010f64
nop dword [rax + rax]
mov rbx, qword [r9 + rcx*8]
test rbx, rbx
jne 0x140010f01
inc ecx
cmp ecx, r8d
jb 0x140010ee0
jmp 0x140010f64
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
jmp 0x140010e44
lea rcx, [rbx]
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140010f12
mov rbx, rax
jmp 0x140010f2c
xor edx, edx
mov eax, dword [rbx + 0x18]
div r8d
inc edx
xor ebx, ebx
cmp edx, r8d
jae 0x140010f2c
mov rbx, qword [r9 + rdx*8]
test rbx, rbx
je 0x140010f1a
mov rax, qword [rcx + 8]
test rax, rax
je 0x140010f5f
mov r9d, dword [rax]
mov r8d, 0x276
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_AudioSessionInfoMap_process_id_list____d
call fcn.140075db0
mov r8d, dword [0x1401aa7e0]
mov r9, qword [0x1401aa7d0]
test rbx, rbx
jne 0x140010f01
mov rbx, qword [rsi + 0xd8]
test rbx, rbx
je 0x140010fa3
mov r9d, dword [rbx + 0x10]
mov rbx, qword [rbx]
mov r8d, 0x283
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_m_ProcessIdSequenceList_process_id_list____d
call fcn.140075db0
test rbx, rbx
jne 0x140010f70
mov r8d, dword [0x1401aa7e0]
mov r9, qword [0x1401aa7d0]
test r9, r9
je 0x140010fe6
xor r10d, r10d
xor edx, edx
mov eax, r13d
div r8d
mov rdx, qword [r9 + rdx*8]
test rdx, rdx
je 0x140010fe6
cmp dword [rdx + 0x18], r13d
jne 0x140010fc7
cmp dword [rdx], r13d
je 0x140010fd0
mov r10, rdx
mov rdx, qword [rdx + 0x10]
jmp 0x140010fb7
mov r8, r10
call fcn.140015800
mov r8d, dword [0x1401aa7e0]
mov r9, qword [0x1401aa7d0]
add rsi, 0xd8
mov rcx, qword [rsi]
test rcx, rcx
je 0x140011058
cmp dword [rcx + 0x10], r13d
je 0x140011005
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140010ff5
jmp 0x140011058
mov rdx, qword [rcx]
cmp rcx, qword [rsi]
jne 0x140011012
mov qword [rsi], rdx
jmp 0x140011019
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
cmp rcx, qword [rsi + 8]
jne 0x140011029
mov qword [rsi + 8], rdx
jmp 0x140011030
mov rax, qword [rcx]
mov qword [rax + 8], rdx
mov rax, qword [rsi + 0x20]
mov qword [rcx], rax
mov qword [rsi + 0x20], rcx
sub qword [rsi + 0x10], 1
jne 0x14001104a
mov rcx, rsi
call fcn.140015280
mov r9, qword [0x1401aa7d0]
mov r8d, dword [0x1401aa7e0]
cmp dword [0x1401b2668], 0
je 0x140011135
mov rax, qword [0x1401ab9a8]
test byte [rax + 0x1c], 1
jne 0x14001107f
cmp dword [0x1401b266c], 0
je 0x140011135
cmp qword [0x1401aa7d8], 0
je 0x140011105
xor ecx, ecx
test r8d, r8d
je 0x140011105
mov rbx, qword [r9 + rcx*8]
test rbx, rbx
jne 0x1400110a2
inc ecx
cmp ecx, r8d
jb 0x140011090
jmp 0x140011105
lea rcx, [rbx]
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1400110b3
mov rbx, rax
jmp 0x1400110cd
xor edx, edx
mov eax, dword [rbx + 0x18]
div r8d
inc edx
xor ebx, ebx
cmp edx, r8d
jae 0x1400110cd
mov rbx, qword [r9 + rdx*8]
test rbx, rbx
je 0x1400110bb
mov rax, qword [rcx + 8]
test rax, rax
je 0x140011100
mov r9d, dword [rax]
mov r8d, 0x29d
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_AudioSessionInfoMap_process_id_list____d
call fcn.140075db0
mov r8d, dword [0x1401aa7e0]
mov r9, qword [0x1401aa7d0]
test rbx, rbx
jne 0x1400110a2
mov rbx, qword [rsi]
test rbx, rbx
je 0x140011135
nop dword [rax]
mov r9d, dword [rbx + 0x10]
mov rbx, qword [rbx]
mov r8d, 0x2a9
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_m_ProcessIdSequenceList_process_id_list____d
call fcn.140075db0
test rbx, rbx
jne 0x140011110
mov r8d, 0x2af
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_delete_pAppAudioSessionInfo___start
call fcn.140075db0
mov rcx, rdi
call fcn.14000f4a0
mov edx, 0x98
mov rcx, rdi
call fcn.1400f4438
mov r8d, 0x2b1
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_delete_pAppAudioSessionInfo___end
call fcn.140075db0
cmp dword [0x1401aa4a4], 0
jne 0x1400117b8
cmp dword [0x1401aa4a0], 0
jne 0x1400117b8
cmp dword [0x1401aa4a8], 0
jne 0x1400117b8
call fcn.140014310
test dword [rax + 0x128], 0x20000
je 0x1400111b9
call fcn.140013320
cmp dword [0x1401aa4a4], 0
jne 0x1400117b8
cmp dword [0x1401aa4a0], 0
jne 0x1400117b8
cmp dword [0x1401aa4a8], 0
jne 0x1400117b8
call fcn.140014310
test dword [rax + reloc.OLEAUT32.dll_LPSAFEARRAY_UserUnmarshal], 0x100
je 0x1400117b8
call fcn.140013790
jmp 0x1400117b8
mov r9d, r13d
mov r8d, 0x171
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_cant_find_process_id____d
call fcn.140075db0
cmp r15d, 1
jne 0x1400117b8
mov r8d, 0x174
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_NewState__AudioSessionStateActive
call fcn.140075db0
mov qword [rbp - 0x30], rdi
mov edx, r13d
lea rcx, [rbp - 0x30]
call fcn.1400f0830
nop
mov qword [rbp - 0x38], rdi
mov rcx, qword [rbp - 0x30]
mov ebx, dword [rcx - 0x10]
lea edx, [r15 + 0x5b]
call fcn.1400fa554
mov r12, 0xffffffffffffffff
test rax, rax
jne 0x140011274
mov eax, r12d
jmp 0x14001127b
sub rax, qword [rbp - 0x30]
sar rax, 1
sub ebx, eax
lea r8d, [rbx - 1]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x30]
call fcn.1400149c0
nop
mov r9, qword [rbp - 0x38]
mov r8d, 0x177
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_sAppName__s
call fcn.140075db0
call fcn.14006b0c0
mov r8, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x118]
lea rdx, [rbp - 0x38]
mov rcx, r8
call qword [case.0x14005eeb3.0]
test eax, eax
je 0x1400112ed
call fcn.14006b0c0
mov r8, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x120]
lea rdx, [rbp - 0x38]
mov rcx, r8
jmp 0x140011761
call fcn.140014660
mov rdx, r14
call fcn.1400ac390
mov r14, rax
test rax, rax
jne 0x140011320
mov r8d, 0x184
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_EXIT_ON_FALSE
call fcn.140075db0
jmp 0x140011768
mov ecx, 0x98
call fcn.1400f47a0
mov rcx, rax
call fcn.140011830
mov rdi, rax
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], 0x3e8
mov dword [rdi + 0x8c], eax
mov dword [rdi + 0x90], 3
mov rcx, r14
call fcn.140020820
xorps xmm0, xmm0
movups xmmword [rdi + 0x60], xmm0
xorps xmm1, xmm1
movups xmmword [rdi + 0x70], xmm1
mov rcx, r14
call fcn.140020820
test eax, eax
je 0x1400113af
lea rcx, [rbp + 0x190]
call qword [sym.imp.api_ms_win_core_timezone_l1_1_0.dll_GetTimeZoneInformation]
lea rcx, [rbp + 8]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTime]
lea r8, [rbp - 0x60]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x190]
call qword [sym.imp.api_ms_win_core_timezone_l1_1_0.dll_SystemTimeToTzSpecificLocalTime]
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rdi + 0x60], xmm0
jmp 0x1400113e3
lea rcx, [rbp + 0x240]
call qword [sym.imp.api_ms_win_core_timezone_l1_1_0.dll_GetTimeZoneInformation]
lea rcx, [rbp + 0x18]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTime]
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x240]
call qword [sym.imp.api_ms_win_core_timezone_l1_1_0.dll_SystemTimeToTzSpecificLocalTime]
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rdi + 0x70], xmm0
mov rcx, r14
call fcn.140020820
lea rcx, str.Render
lea rbx, str.Capture
test eax, eax
cmovne rbx, rcx
call fcn.14000cd60
mov rcx, rax
test rax, rax
je 0x1400117f5
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14005eeb3.0]
add rax, 0x18
mov qword [rbp - 0x20], rax
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14000c4c0
test al, al
jne 0x140011458
mov r8, r12
nop dword [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x140011440
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14000c750
nop
mov dword [rdi], r13d
lea r15, [rdi + 0x18]
mov qword [rsp + 0x48], r15
mov rdx, qword [rbp - 0x38]
lea rcx, [rdx - 0x18]
mov rbx, qword [r15]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400114cb
cmp dword [rbx + 0x10], 0
jl 0x1400114bf
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400114bf
call fcn.14000ec00
mov rdi, rax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400114b1
lfence
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [case.0x14005eeb3.0]
lea rax, [rdi + 0x18]
mov qword [r15], rax
mov rdi, qword [rsp + 0x30]
jmp 0x1400114cb
mov r8d, dword [rdx - 0x10]
mov rcx, r15
call fcn.14000c750
mov edx, r13d
lea rcx, [rsp + 0x68]
call fcn.1400f0960
nop
lea rcx, [rdi + 0x20]
mov rdx, rax
call fcn.14000eb60
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001150f
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
mov rcx, r14
call fcn.140020820
mov rdi, qword [rsp + 0x30]
test eax, eax
je 0x14001152b
mov rdx, rdi
mov rcx, rsi
call fcn.140011e20
mov dword [rdi + 0x14], 0xff
lea r14, [rdi + 0x28]
mov rdx, qword [rbp - 0x20]
lea r15, [rdx - 0x18]
mov rbx, qword [r14]
sub rbx, 0x18
cmp r15, rbx
je 0x1400115a0
cmp dword [rbx + 0x10], 0
jl 0x140011594
mov rax, qword [rbx]
cmp qword [r15], rax
jne 0x140011594
mov rcx, r15
call fcn.14000ec00
mov rdi, rax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x140011586
lfence
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [case.0x14005eeb3.0]
lea rax, [rdi + 0x18]
mov qword [r14], rax
mov rdi, qword [rsp + 0x30]
jmp 0x1400115a0
mov r8d, dword [rdx - 0x10]
mov rcx, r14
call fcn.14000c750
lea rcx, [rdi + 0x30]
lea rdx, [rbp - 0x40]
call fcn.14000ecc0
mov r9, qword [rbp - 0x40]
mov r8d, 0x1ac
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s__d_New_process__Add_endpoint_sEndpointId_s
call fcn.140075db0
mov dword [rdi + 0x88], 0
lea r8, [rsp + 0x30]
mov edx, r13d
call fcn.140015320
xor r9d, r9d
mov r8, qword [rsi + 0xe0]
mov edx, r13d
lea rcx, [rsi + 0xd8]
call fcn.140015870
mov rcx, qword [rsi + 0xe0]
test rcx, rcx
je 0x14001160b
mov qword [rcx], rax
jmp 0x140011612
mov qword [rsi + 0xd8], rax
mov qword [rsi + 0xe0], rax
cmp dword [0x1401aa4a4], 0
jne 0x14001167b
cmp dword [0x1401aa4a0], 0
jne 0x14001167b
cmp dword [0x1401aa4a8], 0
jne 0x14001167b
call fcn.140014310
test dword [rax + 0x128], 0x20000
je 0x14001164a
call fcn.140013320
cmp dword [0x1401aa4a4], 0
jne 0x14001167b
cmp dword [0x1401aa4a0], 0
jne 0x14001167b
cmp dword [0x1401aa4a8], 0
jne 0x14001167b
call fcn.140014310
test dword [rax + reloc.OLEAUT32.dll_LPSAFEARRAY_UserUnmarshal], 0x100
je 0x14001167b
call fcn.140013790
lock inc dword [rsi + 0xa4]
mov rdi, qword [rsi + 0x40]
test rdi, rdi
je 0x140011703
mov r13, qword [rsp + 0x30]
cmp dword [rsi + 0xa0], 0
jne 0x1400116fe
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
test rdi, rdi
je 0x140011800
mov rbx, qword [rdi + 0x10]
mov rdi, qword [rdi]
cmp qword [rsi + 0x80], 0
jbe 0x1400116d8
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x1400116d8
cmp qword [rax + 0x10], rbx
je 0x1400117e6
mov rax, qword [rax]
test rax, rax
jne 0x1400116c6
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
test rbx, rbx
je 0x1400116f9
mov rax, qword [rbx]
mov rdx, r13
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14005eeb3.0]
test rdi, rdi
jne 0x140011690
mov r13d, dword [rsp + 0x3c]
lock dec dword [rsi + 0xa4]
lea rcx, [rsi + 0x18]
call fcn.140014520
mov rax, qword [r14]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x48]
mov r9, qword [r9]
mov r8d, r13d
lea rdx, str.CAppSessionEventMgr::OnStateChanged
lea rcx, str._s_OnAppStartFirstSession_ProcId_d_App_s_sEndpointId_s_sMode_s
call fcn.140075db0
nop
mov eax, r12d
lock xadd dword [r15 + 0x10], eax
sub eax, 1
jg 0x140011768
lfence
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140011791
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x1400117b8
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.1400f4410
add rsp, 0x408
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [rsi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
jmp 0x1400116f9
mov ecx, 0x80004005
call fcn.14000ce90
nop
mov ecx, 0x80004005
call fcn.14000ce90
nop
mov ecx, 0x80004005
call fcn.14000ce90
nop
mov ecx, 0x80004005
call fcn.14000ce90
int3