joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140040050
Capabilities:
Print debug messages

Disassembly:
push rdi
sub rsp, 0x50
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
movsxd rdi, r8d
mov dword [rsp + 0x30], 0
cmp edi, 0xf
jg 0x14004014d
call fcn.1400295b0
mov rbx, rax
test rax, rax
jne 0x1400400a8
mov r8d, 0x162
lea rdx, str.CCustomizeHuawei::OnDriverEvent
lea rcx, str._s__d_RETURN_ON_FALSE
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
jmp fcn.14005be10
mov edx, edi
mov rcx, rbx
call fcn.14005e350
imul rcx, rdi, 0xb0
movzx ebx, word [rcx + rbx + reloc.OLEAUT32.dll_BSTR_UserUnmarshal]
shr ebx, 1
and ebx, 1
mov qword [rsp + 0x38], 0
call fcn.140004f00
mov rcx, rax
test rax, rax
je 0x140040158
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 1
lea r9, str.Others
lea r8, str.SoftwareRealtekAudioRtkAudUService
lea rdx, [0x1400dda68]
lea rcx, [rsp + 0x38]
call fcn.140006c20
mov r9d, ebx
lea r8, str.JackStatus
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
mov rcx, qword [0x140157e48]
call fcn.14007bbf0
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004014d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret
mov ecx, 0x80004005
call fcn.140005030
int3

Function at 0x140040d30
Capabilities:
Print debug messages

Disassembly:
sub rsp, 0x38
cmp edx, 0x42d
jne 0x140040d74
call fcn.14003f650
test eax, eax
je 0x140040dc4
call fcn.14000b630
mov rcx, rax
mov edx, 0x42d
call fcn.1400aeae0
mov r8d, 0x2ae
lea rdx, str.CCustomizeHuawei::OnTimer
lea rcx, [0x1400ddaf0]
add rsp, 0x38
jmp fcn.14005be10
cmp edx, 0x432
jne 0x140040dc4
mov r8d, 0x2b4
lea rdx, str.CCustomizeHuawei::OnTimer
lea rcx, str._s__d_SkipActionForS0_set_0
call fcn.14005be10
call fcn.14000b630
mov rcx, rax
mov edx, 0x432
call fcn.1400aeae0
xor r9d, r9d
lea r8, str.SkipActionForS0
lea rdx, str.SOFTWARERealtekAudioRtkAudUServiceOthers
mov rcx, 0xffffffff80000002
call fcn.14007bbf0
add rsp, 0x38
ret
Function at 0x140041ed0
Capabilities:
Create thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov ebx, edx
mov rbp, rcx
mov r9d, edx
mov r8d, 0x63
lea rdx, str.CCustomizeMSI::OnTimer
lea rcx, str._s__d_dwTid_d
call fcn.14005be10
cmp ebx, 0x437
jne 0x140042189
call fcn.14000b630
mov rcx, rax
mov edx, ebx
call fcn.1400aeae0
cmp dword [0x140156a74], 0
jne 0x1400421af
call fcn.14000b4c0
mov edx, 1
call fcn.14008c790
mov qword [rbp + 0x10], rax
mov r9, rax
mov r8d, 0x6b
lea rdx, str.CCustomizeMSI::OnTimer
lea rcx, str._s__d_m_pAudDev_x
call fcn.14005be10
cmp dword [0x1401587e4], 0
jne 0x140042101
mov dword [rsp + 0x78], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x88], rax
call fcn.140004f00
mov rcx, rax
test rax, rax
je 0x1400421c5
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea r14, [0x1400f2e28]
mov rdx, r14
lea rcx, [rsp + 0x80]
call fcn.1400046a0
mov rdi, 0xffffffffffffffff
test al, al
jne 0x140041fef
mov rax, rdi
nop dword [rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x140041fd0
mov r8d, eax
mov rdx, r14
lea rcx, [rsp + 0x80]
call fcn.140004940
nop
mov edx, 0xea60
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0x80]
call fcn.1400b6e80
mov ebx, dword [rsp + 0x78]
mov ecx, ebx
call fcn.1400b9cfc
mov rsi, rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.1400bffa0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x88], rax
call fcn.140004f00
mov rcx, rax
test rax, rax
je 0x1400421ba
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x80], rax
mov rdx, r14
lea rcx, [rsp + 0x80]
call fcn.1400046a0
test al, al
jne 0x14004208f
inc rdi
cmp word [r14 + rdi*2], 0
jne 0x140042070
mov r8d, edi
mov rdx, r14
lea rcx, [rsp + 0x80]
call fcn.140004940
nop
mov edx, 0xea60
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9, rsi
lea r8, [rsp + 0x80]
call fcn.1400b6e80
test eax, eax
je 0x1400420ce
mov rdx, qword [rbp + 0x10]
add rdx, 0x10
mov r9d, dword [rsp + 0x78]
mov r8, rsi
lea rcx, [0x1401586c0]
call fcn.1400b2f30
test rsi, rsi
je 0x1400420db
mov rcx, rsi
call fcn.1400b96fc
mov r8d, 0x86
lea rdx, str.CCustomizeMSI::OnTimer
lea rcx, [0x1400ddaf0]
call fcn.14005be10
cmp dword [0x1401587e4], 0
je 0x1400421af
mov r8d, 0x8b
lea rdx, str.CCustomizeMSI::OnTimer
lea rcx, [0x1400ddaf0]
call fcn.14005be10
mov r8d, 0x54
lea rdx, str.CWasapiPlayback::Play
lea rcx, [0x1400ddaf0]
call fcn.14005be10
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [0x1401586c0]
lea r8, [0x1400b36b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
call fcn.14000b630
mov rcx, rax
mov edx, 0x436
mov r8d, 0xea60
call fcn.1400ae8b0
mov dword [0x140156a74], 1
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ebx, 0x436
jne 0x1400421af
mov r8d, 0x96
lea rdx, str.CCustomizeMSI::OnTimer
lea rcx, str._s__d
call fcn.14005be10
call fcn.140041d50
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x80004005
call fcn.140005030
int3
mov ecx, 0x80004005
call fcn.140005030
int3
Function at 0x140042e90
Capabilities:
Print debug messages

Disassembly:
sub dword [rcx + 0x18], 1
mov eax, dword [rcx + 0x18]
jne 0x140042ea4
mov rcx, qword [rcx + 0x10]
jmp qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
cmp eax, 0x32
jle 0x140042ec2
mov r8d, 0x6a
lea rdx, str.CDataAccessProtector::FinishAccess
lea rcx, str._s__d_calling_FinishAccess_isnt_matched_RequestAccess_or_directly_return_in_EnumAudioDeviceStart_loop
jmp fcn.14005be10
ret
Function at 0x140044d60
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
cmp edx, 0x40e
jne 0x140044de6
call fcn.14000b630
mov rcx, rax
mov edx, 0x40e
call fcn.1400aeae0
cmp dword [0x140156a7c], 0
jne 0x140044e1e
mov ebx, dword [rbx + 0x2c]
call fcn.14000b1e0
movzx ecx, word [rax + 0x342]
mov eax, 0x103c
test ebx, ebx
je 0x140044dc8
cmp cx, ax
jne 0x140044dbe
mov edx, 1
mov ecx, edx
add rsp, 0x20
pop rbx
jmp fcn.14003b220
add rsp, 0x20
pop rbx
jmp fcn.1400441c0
cmp cx, ax
jne 0x140044ddc
xor edx, edx
lea ecx, [rdx + 1]
add rsp, 0x20
pop rbx
jmp fcn.14003b220
add rsp, 0x20
pop rbx
jmp fcn.1400445e0
cmp edx, 0x435
jne 0x140044e2c
call fcn.14000b630
mov rcx, rax
mov edx, 0x435
call fcn.1400aeae0
cmp dword [rbx + 0x20], 0
je 0x140044e19
call fcn.1400445e0
lea rcx, [rbx - 0x10]
add rsp, 0x20
pop rbx
jmp fcn.140044bf0
call fcn.1400441c0
lea rcx, [rbx - 0x10]
add rsp, 0x20
pop rbx
jmp fcn.140044bf0
add rsp, 0x20
pop rbx
ret
Function at 0x140046c80
Capabilities:
Delete registry value

Disassembly:
sub rsp, 0x28
xor r9d, r9d
lea r8, str.RSA0_R0_L
lea rdx, str.SOFTWARERealtekSpkProtection
mov rcx, 0xffffffff80000002
call fcn.14007c110
xor r9d, r9d
lea r8, str.RSA0_R0_R
lea rdx, str.SOFTWARERealtekSpkProtection
mov rcx, 0xffffffff80000002
call fcn.14007c110
xor r9d, r9d
lea r8, str.RSA1_R0_L
lea rdx, str.SOFTWARERealtekSpkProtection
mov rcx, 0xffffffff80000002
call fcn.14007c110
xor r9d, r9d
lea r8, str.RSA1_R0_R
lea rdx, str.SOFTWARERealtekSpkProtection
mov rcx, 0xffffffff80000002
add rsp, 0x28
jmp fcn.14007c110

Function at 0x1400486d0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rax, qword [r8]
mov rdi, rdx
cmp rax, qword [0x1400dc828]
mov rbx, rcx
jne 0x1400487a4
mov rax, qword [r8 + 8]
cmp rax, qword [0x1400dc830]
jne 0x1400487a4
cmp dword [r8 + 0x10], 0
jne 0x1400487a4
call fcn.14000b4c0
mov rdx, rdi
call fcn.14008c260
mov rdi, rax
test rax, rax
jne 0x140048744
mov r8d, 0x14f
lea rdx, str.CJackImpedanceDetect::OnPropertyValueChanged
lea rcx, str._s__d_RETURN_ON_FALSE
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14005be10
mov eax, dword [rax + 0x1ac]
dec eax
test eax, 0xfffffffd
jne 0x1400487a4
cmp dword [rbx + 0x64], 0
je 0x140048795
mov qword [rsp + 0x30], rsi
call fcn.1400535e0
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0x38]
cmp eax, 2
jne 0x140048777
mov r8d, dword [rbx + 0x70]
jmp 0x14004877a
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbx - 0x18]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140048080
cmp dword [rbx + 0x68], 0
je 0x1400487a4
lea rcx, [rbx - 0x18]
call fcn.140048350
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x140049280
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov ebx, edx
mov rdi, rcx
cmp edx, 0x20
jb 0x1400492b7
mov r8d, 0x70
lea rdx, str.CJackRetaskCommandLineHelper::OnJackPlugStatusChanged
lea rcx, str._s__d_RETURN_ON_FALSE
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.14005be10
call fcn.1400295b0
lea rcx, [rax + 0x10]
call fcn.140042e30
cmp dword [rdi + 0x70], ebx
jne 0x1400492e7
call fcn.1400295b0
imul rdx, rbx, 0xb0
test byte [rax + rdx + reloc.OLEAUT32.dll_BSTR_UserUnmarshal], 2
jne 0x1400492e7
mov ebx, 1
jmp 0x1400492e9
xor ebx, ebx
call fcn.1400295b0
sub dword [rax + 0x28], 1
mov ecx, dword [rax + 0x28]
jne 0x140049303
mov rcx, qword [rax + 0x20]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
jmp 0x140049321
cmp ecx, 0x32
jle 0x140049321
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.14005be10
test ebx, ebx
je 0x140049340
call fcn.14000b630
mov rcx, rax
mov edx, 0x3f2
call fcn.1400aeae0
lea rcx, [rdi - 0x10]
call fcn.140049470
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400498a0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x90
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0xd8], rbx
mov rax, qword [0x14014f010]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov ebp, r8d
mov esi, edx
mov edi, ecx
xor eax, eax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x70], 0x1001
mov dword [rsp + 0x74], ecx
mov word [rsp + 0x78], si
mov word [rsp + 0x7a], bp
lea r9, str.RealtekAudioBackgroundProcessClass
lea r8, str.RealtekAudioBackgroundProcessClass
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowExW]
mov r14, rax
mov qword [rsp + 0x60], SafeArrayDestroy
mov qword [rsp + 0x58], 0x2000
lea rax, [rsp + 0x70]
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x58]
mov r8, qword [0x140157e00]
mov edx, 0x4a
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageW]
mov r15, rax
call fcn.140004f00
mov rcx, rax
test rax, rax
je 0x140049a62
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x80], rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r14
mov r9d, 0xf5
lea r8, str.CJackRetaskCommandLineHelper::SendRetaskCommandToActiveRtkAudUService
lea rdx, str._s__d_hWnd_x_Wid_x_DevType_d_Seq_d_hr_x_LastErr_d
lea rcx, [rsp + 0x80]
call fcn.140006c20
mov rbx, qword [rsp + 0x80]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringW]
cmp dword [0x140156cb4], 0
je 0x140049a1a
cmp dword [0x140156cbc], 0
jne 0x1400499e2
mov rax, qword [0x140150140]
test byte [rax + 0x1c], 1
je 0x140049a1a
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], edi
mov r9, r14
mov r8d, 0xf9
lea rdx, str.CJackRetaskCommandLineHelper::SendRetaskCommandToActiveRtkAudUService
lea rcx, str._s__d_hWnd_x_Wid_x_DevType_d_Seq_d_hr_x_LastErr_d
call fcn.14005be10
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140049a36
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400b96d0
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140005030
int3
Function at 0x14004a060
Capabilities:
Persist via run registry key

Disassembly:
mov r11, rsp
push r14
sub rsp, 0x70
mov qword [r11 - 0x58], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov rax, qword [0x14014f010]
xor rax, rsp
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [r11 - 0x20], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor ebp, ebp
mov qword [r11 - 0x38], rbp
movdqu xmmword [rsp + 0x48], xmm0
mov dword [rsp + 0x58], 0xa
lea r8, str.SOFTWAREMicrosoftWindowsCurrentVersionRun_
lea rcx, [r11 - 0x48]
call fcn.14007da90
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x14004a219
mov rcx, qword [r14 + 0x10]
mov r14, qword [r14]
sub rcx, 0x18
call fcn.140006ba0
lea rdi, [rax + 0x18]
mov qword [rsp + 0x60], rdi
mov rcx, rax
call fcn.140006ba0
lea rbx, [rax + 0x18]
mov qword [rsp + 0x28], rbx
movsxd rsi, dword [rbx - 0x10]
test esi, esi
js 0x14004a256
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, ecx
jge 0x14004a129
mov edx, esi
lea rcx, [rsp + 0x28]
call fcn.140004ae0
mov rbx, qword [rsp + 0x28]
lea eax, [rsi + 1]
movsxd rdx, eax
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsupr_s]
cmp esi, dword [rbx - 0xc]
jg 0x14004a24b
mov dword [rbx - 0x10], esi
mov word [rbx + rsi*2], bp
cmp dword [rbx - 0x10], 0
jl 0x14004a1d2
lea rdx, str.RTHDVBG
mov rcx, rbx
call fcn.1400bf970
test rax, rax
je 0x14004a170
sub rax, rbx
sar rax, 1
test eax, eax
jns 0x14004a1b8
cmp dword [rbx - 0x10], 0
jl 0x14004a1d2
lea rdx, str.RTHDVCPL
mov rcx, rbx
call fcn.1400bf970
test rax, rax
je 0x14004a194
sub rax, rbx
sar rax, 1
test eax, eax
jns 0x14004a1b8
cmp dword [rbx - 0x10], 0
jl 0x14004a1d2
lea rdx, str.RTKUGUI
mov rcx, rbx
call fcn.1400bf970
test rax, rax
je 0x14004a1d2
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14004a1d2
xor r9d, r9d
mov r8, rdi
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionRun_
mov rcx, 0xffffffff80000002
call fcn.14007c110
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004a1ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004a210
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14, r14
jne 0x14004a0d1
lea rcx, [rsp + 0x30]
call fcn.140017280
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400b96d0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
mov ecx, 0x80070057
call fcn.140005030
int3
mov ecx, 0x80070057
call fcn.140005030
int3
Function at 0x14004aa20
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x14014f010]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor ebx, ebx
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], rbx
mov rdi, r8
mov rsi, rdx
call fcn.140089780
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov qword [rsp + 0x30], rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
je 0x14004aa9a
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x30]
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l2_1_0.dll_RegCreateKeyW]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14004aae9
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov r9d, 4
mov rdx, rsi
test rdi, rdi
je 0x14004aac4
mov qword [rsp + 0x20], rdi
jmp 0x14004aad6
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x30]
mov ebx, eax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rdx, qword [rsp + 0x38]
mov eax, 0xffffffff
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004ab0a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, ebx
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400b96d0
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
Function at 0x140058c70
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov edi, ecx
lea rdx, str.CIndependentVolumeMgr::InitForAllIndepHPVol
lea rcx, [0x1400ddaf0]
mov r8d, 0x49
call fcn.14005be10
call fcn.14000b4c0
mov rcx, rax
call fcn.14008a6f0
call fcn.14000b4c0
cmp dword [rax + 0x140], 0
jne 0x140058ce8
cmp dword [0x140156cb4], 0
je 0x140058ce8
cmp dword [0x140156cbc], 0
jne 0x140058ccf
mov rax, qword [0x140150140]
test byte [rax + 0x1c], 1
je 0x140058ce8
mov r8d, 0x3e
lea rdx, str.CMMPlatform::AudioDevList_GetHeadPosition
lea rcx, str._s__d_please_call_AudioDevList_AddRef_before_AudioDevList_GetHeadPosition
call fcn.14005be10
call fcn.14000b4c0
mov rbx, qword [rax + 0xe0]
test rbx, rbx
je 0x140058d28
call fcn.14000b4c0
call fcn.14000b4c0
mov rcx, qword [rbx + 0x10]
mov rbx, qword [rbx]
test rcx, rcx
je 0x140058cf4
cmp dword [rcx + 0x1ac], 1
jne 0x140058cf4
cmp dword [rcx + 0x178], 0
jne 0x140058cf4
mov edx, edi
call fcn.1400593e0
call fcn.14000b4c0
mov rcx, rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.14008a770
Function at 0x140058f10
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0x54], 0
mov rbx, rdx
mov rdi, rcx
je 0x1400590b5
mov rax, qword [r8]
cmp rax, qword [0x1400d8760]
jne 0x140058f4f
mov rax, qword [r8 + 8]
cmp rax, qword [0x1400d8768]
jne 0x140058f4f
cmp dword [r8 + 0x10], 4
je 0x140058f7b
mov rax, qword [r8]
cmp rax, qword [0x1400d8718]
jne 0x1400590b5
mov rax, qword [r8 + 8]
cmp rax, qword [0x1400d8720]
jne 0x1400590b5
cmp dword [r8 + 0x10], 6
jne 0x1400590b5
call fcn.14000b4c0
mov rdx, rbx
call fcn.14008c260
cmp dword [rdi + 0x48], 0
mov rsi, rax
je 0x140058fea
call fcn.14000b1e0
cmp dword [rax + 0x80], 0
je 0x140058fb3
call fcn.14000b1e0
mov rcx, rax
lea rdx, [rax + 0x2fc]
call fcn.140083500
call fcn.14000b1e0
test dword [rax + 0x2fc], 0x100
je 0x140058fea
test rsi, rsi
je 0x140059163
cmp dword [rsi + 0x1ac], 1
jne 0x140059163
mov rcx, rsi
call fcn.14000f130
test eax, eax
jne 0x140059163
mov r8d, 0x106
lea rdx, str.CIndependentVolumeMgr::OnPropertyValueChanged
lea rcx, [0x1400ddaf0]
call fcn.14005be10
mov dword [rdi + 0x38], 1
call fcn.14000b630
mov edx, 0x3f7
mov rcx, rax
lea r8d, [rdx - 0xf]
call fcn.1400ae8b0
test rsi, rsi
je 0x140059163
cmp dword [rsi + 0x178], 0
je 0x140059097
cmp dword [0x140156cb0], 0
je 0x140059163
cmp dword [0x140156cac], 0
jne 0x140059097
mov r8d, 0x112
lea rdx, str.CIndependentVolumeMgr::OnPropertyValueChanged
lea rcx, [0x1400ddaf0]
call fcn.14005be10
call fcn.140058d40
cmp dword [0x140156cac], 0
jne 0x140059097
mov r8d, BSTR_UserUnmarshal
lea rdx, str.CIndependentVolumeMgr::OnPropertyValueChanged
lea rcx, [0x1400ddaf0]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14005be10
lea rcx, [rdi + 8]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rcx, [rdi - 0x18]
xor r9d, r9d
mov rdx, rsi
call fcn.14005a1b0
jmp 0x140059159
cmp dword [rcx + 0x58], 0
je 0x140059163
mov rax, qword [r8]
cmp rax, qword [0x1400d8730]
jne 0x140059163
mov rax, qword [r8 + 8]
cmp rax, qword [0x1400d8738]
jne 0x140059163
cmp dword [r8 + 0x10], 0x11
jne 0x140059163
mov r8d, 0x12a
lea rdx, str.CIndependentVolumeMgr::OnPropertyValueChanged
lea rcx, [0x1400ddaf0]
call fcn.14005be10
mov dword [rdi + 0x38], 1
call fcn.14000b630
mov edx, 0x3f7
mov rcx, rax
lea r8d, [rdx - 0xf]
call fcn.1400ae8b0
call fcn.14000b4c0
mov rdx, rbx
call fcn.14008c260
mov rsi, rax
test rax, rax
je 0x140059163
cmp dword [rax + 0x178], 1
jne 0x140059144
cmp dword [0x140156cb0], 0
je 0x140059163
lea rcx, [rdi + 8]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
xor r9d, r9d
mov rdx, rsi
call fcn.14005acc0
lea rcx, [rdi + 8]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400592d0
Capabilities:
Print debug messages

Disassembly:
sub rsp, 0x28
test rdx, rdx
je 0x140059338
cmp dword [rdx + 0x178], 1
jne 0x140059338
cmp dword [0x140156cac], 0
jne 0x140059338
cmp dword [0x140156cb0], 0
je 0x140059338
mov r8d, 0x17a
lea rdx, str.CIndependentVolumeMgr::OnAddDevice
lea rcx, [0x1400ddaf0]
call fcn.14005be10
call fcn.140058d40
cmp dword [0x140156cac], 0
jne 0x140059338
mov r8d, 0x17f
lea rdx, str.CIndependentVolumeMgr::OnAddDevice
lea rcx, [0x1400ddaf0]
add rsp, 0x28
jmp fcn.14005be10
add rsp, 0x28
ret
Function at 0x14005c170
Capabilities:
Print debug messages

Disassembly:
mov ecx, 1
mov dword [0x14014f3c8], 0
jmp 0x14005c170
push rbx
sub rsp, 0x20
mov ebx, ecx
lea rcx, [0x140156cc0]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
cmp ebx, 1
jne 0x14005c1ea
cmp dword [0x140156cbc], 0
mov dword [0x140156cb8], ebx
je 0x14005c1fd
cmp dword [0x14014f13c], 0
je 0x14005c1db
mov rdx, qword [0x140156ce8]
test rdx, rdx
jne 0x14005c1bf
call fcn.14005b450
mov rdx, qword [0x140156ce8]
test rdx, rdx
je 0x14005c209
mov rcx, qword [0x1401583e8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputws]
mov rcx, qword [0x140156ce8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
jmp 0x14005c1fd
mov rcx, qword [0x1401583e8]
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringW]
jmp 0x14005c1fd
xor edx, edx
mov dword [0x140156cb8], 0
xor ecx, ecx
call fcn.14005bb80
lea rcx, [0x1401583e8]
call fcn.140004a60
lea rcx, [0x140156cc0]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]