Function at 0x1400c9a80
Capabilities:
Create thread
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x1401aa010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, rcx
cmp edx, 0x450
jne 0x1400c9b22
mov eax, dword [rcx + 0x9fc]
inc eax
mov dword [rcx + 0x9fc], eax
cmp dword [rcx + 0x9a8], 0
jne 0x1400cb033
cmp eax, 0xb4
jbe 0x1400cb033
mov r9d, SystemTimeToVariantTime
mov r8d, 0x144f
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_Gen_5_TSE_AB48_thread_for_train___Exceeded_waiting_time___d_s
call fcn.140075db0
lea rcx, [rdi - 8]
call fcn.1400c6ba0
call fcn.1400147e0
mov rcx, rax
mov edx, 0x450
call fcn.1400e8940
jmp 0x1400cb033
cmp edx, 0x451
jne 0x1400c9b8f
mov eax, dword [rcx + 0xa10]
inc eax
mov dword [rcx + 0xa10], eax
cmp dword [rcx + 0x9b8], 0
jne 0x1400cb033
cmp eax, 0xb4
jbe 0x1400cb033
mov r9d, SystemTimeToVariantTime
mov r8d, 0x145b
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_Gen_5_TSE_AB48_thread_for_detect_score___Exceeded_waiting_time___d_s
call fcn.140075db0
lea rcx, [rdi - 8]
call fcn.1400c6ba0
call fcn.1400147e0
mov rcx, rax
mov edx, 0x451
call fcn.1400e8940
jmp 0x1400cb033
cmp edx, 0x446
jne 0x1400c9c06
cmp qword [rcx + 0x8f0], 0
jne 0x1400cb033
xor esi, esi
mov dword [rbp - 0x19], esi
lea r9, [rcx - 8]
lea rax, [rbp - 0x19]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
lea r8, [0x1400c3820]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rdi + 0x8f0], rax
mov r8d, 0x1467
lea rcx, str._s__d_CreateThread_SpkEnroll_TrainThread___x
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
mov r9, rax
call fcn.140075db0
call fcn.1400147e0
mov edx, 0x446
mov rcx, rax
call fcn.1400e8940
jmp 0x1400cb033
cmp edx, 0x447
jne 0x1400c9c59
cmp qword [rcx + 0x900], 0
jne 0x1400cb033
xor esi, esi
mov dword [rbp - 0x15], esi
lea r9, [rcx - 8]
lea rax, [rbp - 0x15]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
lea r8, [0x1400c50e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rdi + 0x900], rax
mov r8d, 0x1473
lea rcx, str._s__d_CreateThread_SpkEnroll_DetectScoreThread___x
jmp 0x1400c9be0
cmp edx, 0x44e
jne 0x1400c9df0
xor esi, esi
lea rbx, [rcx - 8]
cmp qword [rcx + 0x918], rsi
jne 0x1400c9ccd
mov dword [rbp - 0x11], esi
lea rax, [rbp - 0x11]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x1400c6b00]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rdi + 0x918], rax
mov r9, rax
mov r8d, 0x147f
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_CreateThread_SpkEnroll_TseThread_AB48___x
call fcn.140075db0
call fcn.1400147e0
mov rcx, rax
mov edx, 0x44e
call fcn.1400e8940
cmp qword [rdi + 0x920], rsi
je 0x1400c9d03
mov r8d, 0x1489
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_end_m_hSpkEnroll_TseThread_AB48_Train
call fcn.140075db0
mov rcx, qword [rdi + 0x920]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov qword [rdi + 0x920], rsi
mov dword [rbp - 0xd], esi
lea rax, [rbp - 0xd]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x1400c6b00]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rdi + 0x920], rax
mov r9, rax
mov r8d, 0x1492
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_CreateThread_SpkEnroll_TseThread_AB48_Train__0x_08x
call fcn.140075db0
call fcn.1400147e0
mov rcx, rax
mov edx, 0x44e
call fcn.1400e8940
cmp qword [rdi + 0x928], rsi
je 0x1400c9d92
mov r8d, 0x149c
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_end_m_hSpkEnroll_TseThread_AB48_DetectScore
call fcn.140075db0
mov rcx, qword [rdi + 0x928]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov qword [rdi + 0x928], rsi
mov dword [rbp - 9], esi
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x1400c6b00]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rdi + 0x928], rax
mov r9, rax
mov r8d, 0x14a5
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_CreateThread_SpkEnroll_TseThread_AB48_DetectScore___x
call fcn.140075db0
call fcn.1400147e0
mov edx, 0x44e
mov rcx, rax
call fcn.1400e8940
jmp 0x1400cb033
cmp edx, 0x448
jne 0x1400c9e97
cmp qword [rcx + 0x8f0], 0
je 0x1400c9e80
mov r8d, 0x14af
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_start_wait_m_hSpkEnroll_TrainThread
call fcn.140075db0
mov edx, 0x3e8
mov rcx, qword [rdi + 0x8f0]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
test eax, eax
je 0x1400c9e51
mov r9d, eax
mov r8d, 0x14b3
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_WaitForSingleObject__x
call fcn.140075db0
mov r8d, 0x14b5
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_end_wait_m_hSpkEnroll_TrainThread
call fcn.140075db0
mov rcx, qword [rdi + 0x8f0]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
xor esi, esi
mov qword [rdi + 0x8f0], rsi
call fcn.1400147e0
mov edx, 0x448
mov rcx, rax
call fcn.1400e8940
jmp 0x1400cb033
cmp edx, 0x449
jne 0x1400c9f3e
cmp qword [rcx + 0x900], 0
je 0x1400c9f27
mov r8d, 0x14c1
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_start_wait_m_hSpkEnroll_DetectScoreThread
call fcn.140075db0
mov edx, 0x3e8
mov rcx, qword [rdi + 0x900]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
test eax, eax
je 0x1400c9ef8
mov r9d, eax
mov r8d, 0x14c5
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_WaitForSingleObject__x
call fcn.140075db0
mov r8d, 0x14c7
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_end_wait_m_hSpkEnroll_DetectScoreThread
call fcn.140075db0
mov rcx, qword [rdi + 0x900]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
xor esi, esi
mov qword [rdi + 0x900], rsi
call fcn.1400147e0
mov edx, 0x449
mov rcx, rax
call fcn.1400e8940
jmp 0x1400cb033
cmp edx, 0x44f
jne 0x1400ca10a
xor esi, esi
cmp qword [rcx + 0x918], rsi
je 0x1400c9fcd
mov r8d, 0x14d3
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_start_wait_m_hSpkEnroll_TseThread_AB48
call fcn.140075db0
mov edx, 0x3e8
mov rcx, qword [rdi + 0x918]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
test eax, eax
je 0x1400c9fa0
mov r9d, eax
mov r8d, 0x14d7
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_WaitForSingleObject__x
call fcn.140075db0
mov r8d, 0x14d9
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_end_wait_m_hSpkEnroll_TseThread_AB48
call fcn.140075db0
mov rcx, qword [rdi + 0x918]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov qword [rdi + 0x918], rsi
call fcn.1400147e0
mov rcx, rax
mov edx, 0x44f
call fcn.1400e8940
cmp qword [rdi + 0x920], rsi
je 0x1400ca060
mov r8d, 0x14e5
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_start_wait_m_hSpkEnroll_TseThread_AB48
call fcn.140075db0
mov edx, 0x3e8
mov rcx, qword [rdi + 0x920]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
test eax, eax
je 0x1400ca033
mov r9d, eax
mov r8d, 0x14e9
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_WaitForSingleObject__x
call fcn.140075db0
mov r8d, 0x14eb
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_end_wait_m_hSpkEnroll_TseThread_AB48_Train
call fcn.140075db0
mov rcx, qword [rdi + 0x920]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov qword [rdi + 0x920], rsi
call fcn.1400147e0
mov rcx, rax
mov edx, 0x44f
call fcn.1400e8940
cmp qword [rdi + 0x928], rsi
je 0x1400ca0f3
mov r8d, 0x14f7
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_start_wait_m_hSpkEnroll_TseThread_AB48_DetectScore
call fcn.140075db0
mov edx, 0x3e8
mov rcx, qword [rdi + 0x928]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
test eax, eax
je 0x1400ca0c6
mov r9d, eax
mov r8d, 0x14fb
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_WaitForSingleObject__x
call fcn.140075db0
mov r8d, 0x14fd
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_end_wait_m_hSpkEnroll_TseThread_AB48_DetectScore
call fcn.140075db0
mov rcx, qword [rdi + 0x928]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov qword [rdi + 0x928], rsi
call fcn.1400147e0
mov edx, 0x44f
mov rcx, rax
call fcn.1400e8940
jmp 0x1400cb033
cmp edx, 0x445
jne 0x1400ca215
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
xor esi, esi
mov qword [rbp + 0x17], rsi
mov dword [rbp + 0x1f], esi
mov qword [rbp + 0x27], rsi
mov r9d, 0x2001f
lea r8, str.SOFTWARERealtekAudioRtkAudUServiceOthers
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x17]
call fcn.140035040
lea r14, [0x1401b2770]
test eax, eax
jne 0x1400ca1b1
mov dword [rsp + 0x28], 0x400
mov qword [rsp + 0x20], r14
lea r9d, [rsi + 3]
xor r8d, r8d
lea rdx, str.Gen5VolInfo
mov rbx, qword [rbp + 0x17]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
test eax, eax
je 0x1400ca197
mov r8d, 0x1513
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
test rbx, rbx
je 0x1400ca1ac
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rbx, rsi
mov qword [rbp + 0x17], rbx
mov dword [rbp + 0x1f], esi
jmp 0x1400ca1ce
mov r8d, 0x1518
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
mov rbx, qword [rbp + 0x17]
xor edx, edx
mov r8d, 0x400
mov rcx, r14
call fcn.1400fac10
mov eax, dword [rdi + 0xc4]
dec eax
cmp eax, 8
ja 0x1400ca1fe
call fcn.1400147e0
mov rcx, rax
mov edx, 0x445
call fcn.1400e8940
nop
test rbx, rbx
je 0x1400cb033
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
jmp 0x1400cb033
cmp edx, 0x444
jne 0x1400ca75e
add rcx, 0xfffffffffffffff8
call fcn.1400c1790
xorps xmm2, xmm2
movups xmmword [rbp - 1], xmm2
xor esi, esi
mov qword [rbp - 1], rsi
mov dword [rbp + 7], esi
mov qword [rbp + 0xf], rsi
mov r9d, 0x2001f
lea r8, str.SOFTWARERealtekAudioRtkAudUServiceOthers
mov rdx, 0xffffffff80000001
lea rcx, [rbp - 1]
call fcn.140035040
test eax, eax
jne 0x1400ca2bd
lea rax, [rdi + 0x10]
mov dword [rsp + 0x28], 0xa4
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 3]
xor r8d, r8d
lea rdx, str.Gen5Info
mov rcx, qword [rbp - 1]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
test eax, eax
je 0x1400ca2a5
mov r8d, 0x1536
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1400ca2b8
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov qword [rbp - 1], rsi
mov dword [rbp + 7], esi
jmp 0x1400ca2d6
mov r8d, 0x153b
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
lea rax, [rbp - 0x39]
mov qword [rbp - 0x61], rax
mov dword [rbp - 0x69], 0x20
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
call fcn.140014660
call fcn.1400ad020
mov r13, rax
test rax, rax
je 0x1400ca522
mov rcx, rax
call fcn.140018300
lea r14, [0x14011c160]
mov r12, 0xffffffffffffffff
lea rdx, str.CRtkBssGen5SpkTrackEnroll::IsSupportSpeakerTracking
test rax, rax
jne 0x1400ca562
mov r8d, 0x47e
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.140075db0
mov rdx, r13
call fcn.1400bf940
test eax, eax
je 0x1400ca522
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
mov dword [rsp + 0x20], 2
lea r9, [rbp - 0x69]
lea r8, [rbp - 0x61]
mov rdx, r13
call fcn.1400be2f0
test eax, eax
je 0x1400ca522
call fcn.14000cd60
mov rcx, rax
test rax, rax
je 0x1400cb06b
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14005eeb3.0]
add rax, 0x18
mov qword [rbp - 0x41], rax
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.14000c4c0
test al, al
jne 0x1400ca3cd
mov rax, r12
inc rax
cmp word [r14 + rax*2], 0
jne 0x1400ca3b2
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.14000c750
nop
nop dword [rax]
call fcn.14000cd60
mov rdx, rax
test rax, rax
je 0x1400cb060
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x14005eeb3.0]
add rax, 0x18
mov qword [rbp - 0x49], rax
mov rdx, r14
lea rcx, [rbp - 0x49]
call fcn.14000c4c0
test al, al
jne 0x1400ca419
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x49]
call fcn.14000c750
nop
movzx r8d, byte [rbp + rsi - 0x31]
lea rdx, str._02X
lea rcx, [rbp - 0x49]
call fcn.14000ec90
mov rbx, qword [rbp - 0x49]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x41]
call fcn.1400193f0
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ca468
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
inc rsi
cmp rsi, 0x18
jl 0x1400ca3d0
mov r8d, 0x20
lea rdx, [rbp - 0x39]
lea rcx, [0x1401bb388]
call fcn.1400fb600
mov rbx, qword [rbp - 0x41]
test eax, eax
je 0x1400ca4ff
mov r9d, dword [rbp - 0x39]
mov r8d, 0x15c9
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_dwReserve__d
call fcn.140075db0
mov r9d, dword [rbp - 0x35]
mov r8d, 0x15ca
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_dwDataSize__d
call fcn.140075db0
mov r9, rbx
mov r8d, 0x15cb
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_PSE_Data__s
call fcn.140075db0
movups xmm0, xmmword [rbp - 0x39]
movups xmmword [0x1401bb388], xmm0
movups xmm1, xmmword [rbp - 0x29]
movups xmmword [0x1401bb398], xmm1
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x1400ca522
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
mov eax, dword [rdi + 0xc4]
test eax, eax
je 0x1400ca54a
sub eax, 1
mov dword [rdi + 0xc4], eax
jne 0x1400ca54a
call fcn.1400147e0
mov rcx, rax
mov edx, 0x444
call fcn.1400e8940
nop
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1400cb033
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
jmp 0x1400cb033
mov ebx, dword [rax + 0x34]
shr ebx, 0xe
and ebx, 1
mov r9d, ebx
mov r8d, 0x481
lea rcx, str._s__d_BSSv2_SpeakerTrack__d_
call fcn.140075db0
test ebx, ebx
je 0x1400ca33e
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x69]
lea r8, [rbp - 0x61]
mov rdx, r13
call fcn.1400be2f0
test eax, eax
je 0x1400ca33e
call fcn.14000cd60
mov rdx, rax
test rax, rax
je 0x1400cb06b
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x14005eeb3.0]
add rax, 0x18
mov qword [rbp - 0x51], rax
mov rdx, r14
lea rcx, [rbp - 0x51]
call fcn.14000c4c0
test al, al
jne 0x1400ca5ff
mov rax, r12
inc rax
cmp word [r14 + rax*2], 0
jne 0x1400ca5e4
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x51]
call fcn.14000c750
nop
mov r15, rsi
call fcn.14000cd60
mov rdx, rax
test rax, rax
je 0x1400cb076
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x14005eeb3.0]
add rax, 0x18
mov qword [rbp - 0x59], rax
mov rdx, r14
lea rcx, [rbp - 0x59]
call fcn.14000c4c0
test al, al
jne 0x1400ca64b
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x59]
call fcn.14000c750
nop
movzx r8d, byte [rbp + r15 - 0x31]
lea rdx, str._02X
lea rcx, [rbp - 0x59]
call fcn.14000ec90
mov rbx, qword [rbp - 0x59]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x51]
call fcn.1400193f0
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ca69a
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
inc r15
cmp r15, 0x18
jl 0x1400ca602
mov r8d, 0x20
lea rdx, [rbp - 0x39]
lea rcx, [0x1401bb3a8]
call fcn.1400fb600
mov rbx, qword [rbp - 0x51]
test eax, eax
je 0x1400ca731
mov r9d, dword [rbp - 0x39]
mov r8d, 0x1585
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_dwReserve__d
call fcn.140075db0
mov r9d, dword [rbp - 0x35]
mov r8d, 0x1586
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_dwDataSize__d
call fcn.140075db0
mov r9, rbx
mov r8d, 0x1587
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_SVE_Data__s
call fcn.140075db0
movups xmm0, xmmword [rbp - 0x39]
movups xmmword [0x1401bb3a8], xmm0
movups xmm1, xmmword [rbp - 0x29]
movups xmmword [0x1401bb3b8], xmm1
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ca33e
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005eeb3.0]
jmp 0x1400ca33e
cmp edx, 0x443
jne 0x1400cadfc
mov eax, dword [rcx + 0x8e0]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0x9d4]
mov dword [rsp + 0x20], eax
mov r9d, dword [rcx + 0x9cc]
mov r8d, 0x160e
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_dwTrainDataCnt___d__m_dwDetectScoreDataCnt___d__dwLatestEnrollState_COM___d
call fcn.140075db0
mov r9d, dword [rdi + 0xc0]
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
test r9d, r9d
je 0x1400ca7ed
mov r8d, 0x1612
lea rcx, str._s__d_COM___EnrollResult___d__Exit
call fcn.140075db0
call fcn.1400147e0
mov rcx, rax
mov edx, 0x443
call fcn.1400e8940
mov dword [rdi + 0xb4], 0x64
xor esi, esi
mov qword [rdi + 0x8e0], rsi
jmp 0x1400cb033
mov r9d, dword [rdi + 0x8e4]
inc r9d
mov dword [rdi + 0x8e4], r9d
mov r8d, 0x161b
lea rcx, str._s__d_m_dwDetectComErrorCnt___d
call fcn.140075db0
cmp dword [rdi + 0x8e4], 0xa
jbe 0x1400ca840
mov r8d, 0x161e
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_COM_error__goto_idle
call fcn.140075db0
lea r14, [rdi - 8]
mov rcx, r14
call fcn.1400c6ba0
jmp 0x1400ca844
lea r14, [rdi - 8]
mov eax, dword [rdi + 0xc8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rdi + 0x8e0]
mov r8d, 0x1622
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_dwLatestEnrollState_COM___d__m_dwCurrentSpkEnrollState___d
call fcn.140075db0
mov eax, dword [rdi + 0x8dc]
mov dword [rsp + 0x20], eax
mov r9d, dword [rdi + 0x8d8]
mov r8d, 0x1623
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_m_bSupportSpeakerTracking___d__m_bSupportTSE___d
call fcn.140075db0
mov eax, dword [rdi + 0x8e0]
xor esi, esi
test eax, eax
jne 0x1400ca8d9
cmp dword [rdi + 0xc8], 1
jne 0x1400ca9db
mov r8d, 0x1627
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
mov dword [rdi + 0x8e0], 1
jmp 0x1400cb033
cmp eax, 1
jne 0x1400ca9db
mov eax, dword [rdi + 0xc8]
cmp eax, 0x78
je 0x1400ca9db
cmp eax, 0x1a4
je 0x1400ca9db
mov ebx, esi
cmp dword [rdi + 0x8d8], esi
je 0x1400ca92a
cmp dword [rdi + 0x8dc], ebx
je 0x1400ca924
mov ebx, dword [rdi + 0x9f0]
add ebx, 2
mov eax, dword [rdi + 0x9d0]
cmp eax, ebx
cmovb ebx, eax
jmp 0x1400ca92a
mov ebx, dword [rdi + 0x9d0]
mov r9d, ebx
mov r8d, 0x784
lea rdx, str.CRtkBssGen5SpkTrackEnroll::GetTrainDataCnt
lea rcx, str._s__d_DataCnt___d
call fcn.140075db0
cmp ebx, dword [rdi + 0x9ec]
jbe 0x1400ca9db
mov r8d, 0x162b
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
cmp dword [rdi + 0x8d8], esi
je 0x1400cb033
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
cmp dword [rdi + 0x8dc], esi
jne 0x1400ca9b4
mov r8d, 0x162d
call fcn.140075db0
mov dword [rdi + 0x93c], esi
mov r8, qword [rdi + 8]
mov edx, 0x78
mov rcx, r14
call fcn.1400c2970
jmp 0x1400cb033
mov r8d, 0x1634
call fcn.140075db0
mov dword [rdi + 0x93c], esi
mov r8, qword [rdi + 8]
mov edx, 0x1a4
mov rcx, r14
call fcn.1400c2970
jmp 0x1400cb033
mov eax, dword [rdi + 0x8e0]
cmp eax, 1
jne 0x1400caa9d
mov eax, dword [rdi + 0xc8]
cmp eax, 0x78
je 0x1400caa00
cmp eax, 0x1a4
jne 0x1400cb033
mov r8d, 0x163e
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
cmp dword [rdi + 0x8d8], esi
je 0x1400cb033
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
cmp dword [rdi + 0x8dc], esi
jne 0x1400caa6c
mov r8d, 0x1640
call fcn.140075db0
mov dword [rdi + 0x8e0], 0xc8
mov dword [rdi + 0x93c], esi
mov r8, qword [rdi + 8]
mov edx, 0xc8
mov rcx, r14
call fcn.1400c2970
jmp 0x1400cb033
mov r8d, 0x1647
call fcn.140075db0
mov dword [rdi + 0x8e0], 0x1f4
mov dword [rdi + 0x93c], esi
mov r8, qword [rdi + 8]
mov edx, 0x1f4
mov rcx, r14
call fcn.1400c2970
jmp 0x1400cb033
cmp eax, 0xc8
jne 0x1400cab89
cmp dword [rdi + 0x9d4], 0x1f4
jb 0x1400cb033
mov r8d, 0x164f
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
movss xmm0, dword [rdi + 0x938]
cvtps2pd xmm0, xmm0
movss xmm3, dword [rdi + 0x93c]
cvtps2pd xmm3, xmm3
movsd qword [rsp + 0x20], xmm0
movq r9, xmm3
mov r8d, 0x72c
lea rdx, str.CRtkBssGen5SpkTrackEnroll::IsSpkEnrollScorePass
lea rcx, str._s__d_DetectScore__Max___f_Threshold___f
call fcn.140075db0
cmp dword [0x1401aa4a8], esi
jne 0x1400cab3b
mov r8d, 0x73f
lea rdx, str.CRtkBssGen5SpkTrackEnroll::IsSpkEnrollScorePass
lea rcx, str._s__d_send_idle_command_to_myself
call fcn.140075db0
mov r8, qword [rdi + 8]
xor edx, edx
lea rcx, [rdi - 8]
call fcn.1400c2970
movss xmm0, dword [rdi + 0x93c]
comiss xmm0, dword [rdi + 0x938]
setb sil
inc esi
mov dword [rdi + 0xc0], esi
mov r9d, esi
mov r8d, 0x1654
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_m_stEnrollStatusForCom.dwEnrollResult___d
call fcn.140075db0
mov r8, qword [rdi + 8]
mov edx, 0xdc
lea rcx, [rdi - 8]
call fcn.1400c2970
jmp 0x1400cb033
cmp eax, 0x1f4
jne 0x1400cb033
mov eax, dword [rdi + 0xa00]
cmp dword [rdi + 0x9d4], eax
jb 0x1400cb033
mov r8d, 0x1659
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
mov r9d, dword [rdi + 0x9d4]
mov r8d, 0x165a
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_m_dwDetectScoreDataCnt___d
call fcn.140075db0
mov r9d, dword [rdi + 0x9a8]
mov r8d, 0x165b
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_m_dwDataSize_TSE_AB48_A___d
call fcn.140075db0
mov r9d, dword [rdi + 0x9b8]
mov r8d, 0x165c
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_m_dwDataSize_TSE_AB48_B___d
call fcn.140075db0
mov r9d, dword [rdi + 0x990]
mov r8d, 0x165d
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_m_bAlreadyBackupTseData_AB48___d
call fcn.140075db0
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
cmp dword [rdi + 0x990], esi
je 0x1400cad1c
mov r8d, 0x1661
call fcn.140075db0
movss xmm0, dword [rdi + 0x938]
cvtps2pd xmm0, xmm0
movss xmm3, dword [rdi + 0x93c]
cvtps2pd xmm3, xmm3
movsd qword [rsp + 0x20], xmm0
movq r9, xmm3
mov r8d, 0x72c
lea rdx, str.CRtkBssGen5SpkTrackEnroll::IsSpkEnrollScorePass
lea rcx, str._s__d_DetectScore__Max___f_Threshold___f
call fcn.140075db0
cmp dword [0x1401aa4a8], esi
jne 0x1400cacce
mov r8d, 0x73f
lea rdx, str.CRtkBssGen5SpkTrackEnroll::IsSpkEnrollScorePass
lea rcx, str._s__d_send_idle_command_to_myself
call fcn.140075db0
mov r8, qword [rdi + 8]
xor edx, edx
lea rcx, [rdi - 8]
call fcn.1400c2970
movss xmm0, dword [rdi + 0x93c]
comiss xmm0, dword [rdi + 0x938]
setb sil
inc esi
mov dword [rdi + 0xc0], esi
mov r9d, esi
mov r8d, 0x1666
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_m_stEnrollStatusForCom.dwEnrollResult___d
call fcn.140075db0
mov r8, qword [rdi + 8]
mov edx, 0x208
lea rcx, [rdi - 8]
call fcn.1400c2970
jmp 0x1400cb033
mov r8d, 0x166b
call fcn.140075db0
cmp qword [rdi + 0x920], rsi
je 0x1400cada2
mov r8d, 0x166d
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
mov rcx, qword [rdi + 0x920]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetThreadPriority]
cmp eax, 0xf
je 0x1400cada2
mov r8d, 0x166f
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, [0x14011bca8]
call fcn.140075db0
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
mov rcx, qword [rdi + 0x920]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_SetThreadPriority]
mov r9d, eax
mov r8d, 0x1671
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_SetThreadPriority_SpkEnroll_TseThread_AB48_Train___d
call fcn.140075db0
inc dword [rdi + 0x8e8]
mov r9d, dword [rdi + 0x8e8]
mov r8d, 0x1676
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_m_dwDetectTSEEnrollTimeCnt___d
call fcn.140075db0
cmp dword [rdi + 0x8e8], 0x3c
jbe 0x1400cb033
mov r8d, 0x1679
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_TSE_Enroll_too_long__goto_idle
call fcn.140075db0
lea rcx, [rdi - 8]
call fcn.1400c6ba0
jmp 0x1400cb033
cmp edx, 0x44a
jne 0x1400cb033
mov eax, 0xcccccccd
mul dword [rcx + 0x974]
mov ebx, edx
shr ebx, 4
mov eax, 4
cmp ebx, eax
cmova ebx, eax
mov r9d, ebx
mov r8d, 0x16c1
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_dwArrayIndex__d
call fcn.140075db0
mov ecx, dword [rdi + rbx*4 + 0x960]
movss xmm0, dword [rdi + 0x950]
lea eax, [rcx - 1]
inc ecx
comiss xmm0, dword [rdi + 0x958]
cmovbe ecx, eax
mov dword [rdi + rbx*4 + 0x960], ecx
mov ecx, dword [rdi + 0x974]
inc ecx
mov dword [rdi + 0x974], ecx
mov eax, dword [rdi + 0xc8]
xor esi, esi
cmp eax, 0xd2
je 0x1400cae85
cmp eax, 0x6e
jne 0x1400cae9a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi + 0x960], xmm0
mov qword [rdi + 0x970], rax
mov ecx, esi
mov eax, 0xcccccccd
mul ecx
mov ebx, edx
shr ebx, 4
mov r9d, ebx
mov r8d, 0x16d8
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_dwTmpIndex__d
call fcn.140075db0
movss xmm0, dword [rdi + 0x93c]
comiss xmm0, dword [rdi + 0x938]
jb 0x1400caede
mov dword [rdi + 0xbc], esi
jmp 0x1400cb033
cmp ebx, 5
jb 0x1400cb033
mov ecx, dword [rdi + 0x974]
mov eax, 0xcccccccd
mul ecx
shr edx, 4
lea eax, [rdx + rdx*4]
shl eax, 2
cmp ecx, eax
jne 0x1400cb033
mov edx, dword [rdi + 0x964]
mov ecx, dword [rdi + 0x960]
add ecx, edx
add ecx, dword [rdi + 0x968]
add ecx, dword [rdi + 0x970]
add ecx, dword [rdi + 0x96c]
test ecx, ecx
jle 0x1400cb003
mov r8d, 0x16e9
lea rdx, str.CRtkBssGen5SpkTrackEnroll::OnTimer
lea rcx, str._s__d_notify_UWP_to_show_noise_message_box
call fcn.140075db0
call fcn.140014180
mov rcx, rax
xor r9d, r9d
mov r8d, 0x1000024f
lea r14, [0x14011c160]
mov rdx, r14
call fcn.14009df00
call fcn.1400e52d0
mov ebx, esi
cmp dword [0x1401b9680], esi
jbe 0x1400cafdf
lea r12, [0x140000000]
nop dword [rax]
mov r15d, ebx
xor r8d, r8d
mov rdx, qword [r12 + r15*8 + 0x1b9690]
mov rcx, qword [r12 + r15*8 + 0x1b9600]
call fcn.1400e6930
test eax, eax
je 0x1400cafd5
call fcn.140014180
mov rcx, rax
mov rdx, qword [r12 + r15*8 + 0x1b9600]
call fcn.14009dfa0
test al, al
jne 0x1400cafd5
xor r8d, r8d
mov edx, 0x1000024f
mov rcx, r14
call fcn.1400b1930
mov rdx, qword [r12 + r15*8 + 0x1b9640]
call fcn.1400e5860
inc ebx
cmp ebx, dword [0x1401b9680]
jb 0x1400caf80
mov qword [rdi + 0x964], rsi
mov qword [rdi + 0x96c], rsi
mov dword [rdi + 0x974], esi
mov dword [rdi + 0xbc], 1
mov edx, dword [rdi + 0x964]
mov dword [rdi + 0x960], edx
mov eax, dword [rdi + 0x968]
mov dword [rdi + 0x964], eax
mov eax, dword [rdi + 0x96c]
mov dword [rdi + 0x968], eax
mov eax, dword [rdi + 0x970]
mov dword [rdi + 0x96c], eax
mov dword [rdi + 0x970], esi
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400f4410
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000ce90
nop
mov ecx, 0x80004005
call fcn.14000ce90
nop
mov ecx, 0x80004005
call fcn.14000ce90
int3