Function at 0x140051490
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x58
mov edi, dword [rdx]
mov esi, edi
movsx r13d, word [rdx + 4]
movsx r12d, word [rdx + 6]
movzx ebp, dil
sar esi, 0xc
sar edi, 8
and esi, 0xf
and edi, 0xf
dec esi
dec edi
call fcn.14002ce10
mov r14, rax
test rax, rax
jne 0x1400514fc
mov r8d, 0xac
lea rdx, str.CJackRetaskCommandLineHelper::SetRtskDevice
lea rcx, str._s__d_RETURN_ON_FALSE
add rsp, 0x58
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.140065460
mov qword [rsp + 0x50], rbx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x48], r15
call fcn.140049450
mov ecx, dword [r14 + 0x68]
xor eax, eax
mov ebx, eax
test ecx, ecx
je 0x14005153c
lea rax, [r14 + 0x1b0]
cmp dword [rax - 0x10], ebp
jne 0x140051530
cmp dword [rax], edi
jne 0x140051530
cmp dword [rax + 8], esi
je 0x140051541
inc ebx
add rax, 0xb0
cmp ebx, ecx
jb 0x140051522
mov ebx, 0xffffffff
mov dword [rsp + 0x38], ecx
lea rdx, str.CJackRetaskCommandLineHelper::SetRtskDevice
mov dword [rsp + 0x30], esi
lea rcx, str._s__d_nPinIndex_d_nWID_x_SecCodec_d_nUsbPin_d_dwPinCoun_d
mov dword [rsp + 0x28], edi
mov r9d, ebx
mov r8d, SystemTimeToVariantTime
mov dword [rsp + 0x20], ebp
call fcn.140065460
test ebx, ebx
jns 0x1400515af
cmp edi, 0xffffffff
jne 0x1400515af
mov ecx, dword [r14 + 0x68]
test ecx, ecx
je 0x1400515af
xor ebx, ebx
lea rax, [r14 + 0x1b0]
mov edi, dword [rax]
test ecx, ecx
je 0x1400515aa
nop dword [rax]
cmp dword [rax - 0x10], ebp
jne 0x14005159e
cmp dword [rax], edi
jne 0x14005159e
cmp dword [rax + 8], esi
je 0x1400515af
inc ebx
add rax, 0xb0
cmp ebx, ecx
jb 0x140051590
mov ebx, 0xffffffff
mov eax, dword [r14 + 0x68]
lea rdx, str.CJackRetaskCommandLineHelper::SetRtskDevice
mov dword [rsp + 0x38], eax
lea rcx, str._s__d_nPinIndex_d_nWID_x_SecCodec_d_nUsbPin_d_dwPinCoun_d
mov dword [rsp + 0x30], esi
mov r9d, ebx
mov dword [rsp + 0x28], edi
mov r8d, 0xbe
mov dword [rsp + 0x20], ebp
call fcn.140065460
mov eax, 0xffffffff
lock xadd dword [r14 + 0x28], eax
mov eax, dword [r14 + 0x28]
test eax, eax
jne 0x1400515fe
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
jmp 0x140051620
mov eax, dword [r14 + 0x28]
cmp eax, 0x32
jle 0x140051620
mov r8d, 0x6a
lea rdx, str.CDataAccessProtector::FinishAccess
lea rcx, str._s__d_calling_FinishAccess_isnt_matched_RequestAccess_or_directly_return_in_EnumAudioDeviceStart_loop
call fcn.140065460
mov rdi, qword [rsp + 0x90]
test ebx, ebx
jns 0x14005169c
mov eax, 0
lea rbx, [rdi + 0x18]
test rdi, rdi
cmove rbx, rax
call fcn.1400148c0
mov rdx, rbx
lea rcx, [rax + 0x20]
call fcn.140007090
mov ecx, 8
call fcn.1400d3dcc
mov rcx, qword [rsp + 0x98]
lea rdx, [rsp + 0xa8]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rcx]
mov qword [rax], rcx
lea rcx, [rdi + 0x70]
call fcn.140051b20
mov r8d, 0xce
lea rdx, str.CJackRetaskCommandLineHelper::SetRtskDevice
lea rcx, str._s__d_Retry_retask_after_driver_path_reload
call fcn.140065460
jmp 0x14005183c
mov rcx, qword [rsp + 0x98]
lea rdx, str.CJackRetaskCommandLineHelper::SetRtskDevice
mov r8d, 0xd6
mov rax, qword [rcx]
lea rcx, str._s__d_RTKAUD_WMCD_CMD_START_RETASK
mov qword [rdi + 0xc4], rax
call fcn.140065460
mov rcx, qword [rdi + 0xb0]
lea r8, [rdi + 0xc0]
mov dword [r8], 0x1002
call fcn.1400d1630
mov eax, ebx
lea r8, [rsp + 0xa0]
imul rsi, rax, 0xb0
mov dword [rdi + 0xb8], ebx
xor r15d, r15d
add rsi, r14
mov dword [rsp + 0xa0], r15d
mov r9d, r13d
mov edx, ebx
mov rcx, r14
mov eax, dword [rsi + 0x118]
shr eax, 0xc
and eax, 0xf
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r12d
call fcn.1400685a0
test eax, eax
jne 0x140051734
mov r8d, 0x3c4
jmp 0x140051763
mov ebp, dword [rsp + 0xa0]
mov rcx, r14
mov dword [rsp + 0x9c], ebp
mov dword [rsp + 0x98], ebx
mov rdx, qword [rsp + 0x98]
call fcn.140068810
test eax, eax
jne 0x140051794
mov r8d, 0x3c8
lea rdx, str.CJackInfo::SetRtskDeviceWithCustomize
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.140065460
mov r8d, 0xdf
lea rdx, str.CJackRetaskCommandLineHelper::SetRtskDevice
lea rcx, str._s__d_RETURN_ON_FALSE
call fcn.140065460
jmp 0x14005183c
mov dword [rsp + 0x38], r15d
lea rdx, str.CJackInfo::SetRtskDeviceWithCustomize
mov dword [rsp + 0x30], ebp
lea rcx, str._s__d_nPin_d_nDevType_d_nSeq_x_RtskDeviceType0x_x_ForJD_d
mov edi, 1
mov dword [rsp + 0x28], r12d
mov r9d, ebx
mov dword [rsp + 0x20], r13d
mov r8d, 0x3e4
mov dword [rsi + 0x1ac], edi
mov dword [rsi + 0x1a4], r13d
mov dword [rsi + 0x1a8], r12d
call fcn.140065460
call fcn.14000b810
test byte [rax + 0x348], 0x80
je 0x1400517f7
call fcn.14002ce10
mov rcx, rax
call fcn.140069f90
cmp r13d, 2
jne 0x140051803
cmp r12d, 0xa
jae 0x140051806
mov edi, r15d
call fcn.14000bb60
mov rcx, rax
mov edx, 0x3f2
call fcn.1400c8d80
mov eax, 0x5dc
test edi, edi
mov ebx, 0x1f4
cmovne ebx, eax
call fcn.14000bb60
mov rcx, rax
mov r8d, ebx
mov edx, 0x3f2
call fcn.1400c8b50
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
add rsp, 0x58
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret