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

Disassembly:
xor ecx, ecx
mov dword [0x1400f5294], 0
jmp 0x14003f350
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov ebx, ecx
lea rcx, [0x1400f9a60]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
xor edi, edi
cmp ebx, 1
jne 0x14003f3d2
cmp dword [0x1400f9a54], edi
mov dword [0x1400f9a50], ebx
je 0x14003f3e1
cmp dword [0x1400f5290], edi
je 0x14003f3c3
mov rdx, qword [0x1400f9a58]
test rdx, rdx
jne 0x14003f3a7
call fcn.14003e910
mov rdx, qword [0x1400f9a58]
test rdx, rdx
je 0x14003f439
mov rcx, qword [0x1400fa9d8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputws]
mov rcx, qword [0x1400f9a58]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
jmp 0x14003f3e1
mov rcx, qword [0x1400fa9d8]
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringW]
jmp 0x14003f3e1
xor edx, edx
mov dword [0x1400f9a50], edi
xor ecx, ecx
call fcn.14003ee60
mov rax, qword [0x1400fa9d8]
lea rdx, [rax - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], edi
je 0x14003f439
cmp dword [rdx + 0x10], edi
jge 0x14003f40d
cmp dword [rax - 0xc], edi
jl 0x14003f451
mov dword [rax - 0x10], edi
mov rax, qword [0x1400fa9d8]
mov word [rax], di
jmp 0x14003f439
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003f425
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [0x1400fa9d8], rax
lea rcx, [0x1400f9a60]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov ecx, 0x80070057
call fcn.140003700
int3
Function at 0x140043ac0
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x70
mov qword [rax - 0x48], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x60], rax
call fcn.140003970
mov rcx, rax
test rax, rax
je 0x140043c70
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov esi, SafeArrayUnaccessData
xor ebp, ebp
mov r9d, esi
lea r8, str.SoftwareRealtekAudioGUI_INFORMATIONJackInfomation
lea rdx, str._sJack_d
lea rcx, [rsp + 0x40]
call fcn.140005270
mov rbx, qword [rsp + 0x40]
test rbx, rbx
jne 0x140043b55
mov r8d, 0xc0
lea rdx, str.CRegClient::SetRegUI4PropertyNoCreateKey
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14003f0e0
jmp 0x140043c26
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rbp
mov dword [rsp + 0x50], ebp
mov qword [rsp + 0x58], rbp
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.14005cc00
test eax, eax
jne 0x140043b82
jmp 0x140043c26
mov r9d, 2
mov r8, rbx
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x48]
call fcn.14001cc20
test eax, eax
je 0x140043bc6
mov r8d, 0xce
lea rdx, str.CRegClient::SetRegUI4PropertyNoCreateKey
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14003f0e0
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140043c26
jmp 0x140043c20
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.JackStatus
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
test eax, eax
je 0x140043c18
mov r8d, 0xd2
lea rdx, str.CRegClient::SetRegUI4PropertyNoCreateKey
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14003f0e0
nop
test rdi, rdi
je 0x140043c26
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
inc esi
cmp esi, 0x20
jl 0x140043b12
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140043c4d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14008ade0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
mov ecx, 0x80004005
call fcn.140003700
int3
Function at 0x140045440
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, qword [rcx + 0x250]
mov rdi, rcx
mov esi, edx
lea rcx, [rbx + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rcx, [rbx + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov rcx, qword [rdi + 0x250]
cmp dword [rcx + 0x48], 0
jne 0x1400454a4
mov r8d, 0x24e
lea rdx, str.CJackMgr::UpdateOneJack
lea rcx, str._s__d_RETURN_ON_FALSE
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14003f0e0
mov edx, esi
call fcn.140041150
test eax, eax
jne 0x1400454b7
mov r8d, 0x251
jmp 0x140045482
mov rcx, qword [rdi + 0x250]
cmp esi, dword [rcx + 0x64]
jne 0x1400454dc
mov edx, dword [rcx + 0x60]
mov r8d, 1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x20]
mov rcx, qword [rdi + 0x250]
cmp esi, dword [rcx + 0x5c]
jne 0x1400454f3
mov edx, dword [rcx + 0x58]
mov r8d, 1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x20]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140045830
Capabilities:
Print debug messages

Disassembly:
push r13
push r14
push r15
sub rsp, 0x30
mov r14d, r8d
mov r15, rdx
mov r13, rcx
cmp r8d, 0xf
jg 0x140045a22
mov qword [rsp + 0x20], r12
call fcn.1400205f0
mov r12, rax
test rax, rax
jne 0x140045887
mov r8d, 0x546
lea rdx, str.CJackMgr::OnDriverEvent
lea rcx, str._s__d_RETURN_ON_FALSE
mov r12, qword [rsp + 0x20]
add rsp, 0x30
pop r15
pop r14
pop r13
jmp fcn.14003f0e0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x28], rdi
test r15, r15
jne 0x1400458d7
mov r8d, 0x2bc
lea rdx, str.CDriverPropertyClient::GetPropDevicePathIndex
lea rcx, str._s__d_RETURN_VALUE_ON_FALSE
call fcn.14003f0e0
mov r8d, 0x4f7
lea rdx, str.CDriverPropertyClient::GetPropUsbDevicePathIndex
lea rcx, str._s__d_RETURN_VALUE_ON_FALSE
call fcn.14003f0e0
jmp 0x1400459f3
movsxd rax, dword [0x1400fad58]
xor edi, edi
mov esi, edi
mov rbp, rax
test eax, eax
jle 0x140045959
mov ebx, edi
nop dword [rax + rax]
test rbx, rbx
js 0x140045a46
cmp esi, eax
jge 0x140045a46
mov rcx, qword [0x1400fad50]
mov r8d, 0xc8
mov rdx, r15
mov rcx, qword [rcx + rbx*8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x140045931
inc esi
inc rbx
cmp rbx, rbp
jge 0x140045959
mov eax, dword [0x1400fad58]
jmp 0x1400458f0
test esi, esi
js 0x14004595e
mov edi, 0xffffffff
test esi, esi
jle 0x1400459be
cmp esi, 9
jl 0x1400459b1
mov r8d, 0x673
lea rdx, str.CJackInfo::MapRealHdaPinIndex
jmp 0x1400459d4
mov esi, 0xffffffff
movsxd rax, dword [0x1400fad78]
mov rbp, rax
test eax, eax
jle 0x140045935
mov rbx, rdi
nop
test rbx, rbx
js 0x140045a46
cmp edi, eax
jge 0x140045a46
mov rcx, qword [0x1400fad70]
mov r8d, 0xc8
mov rdx, r15
mov rcx, qword [rcx + rbx*8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x14004593a
inc edi
inc rbx
cmp rbx, rbp
jge 0x140045935
mov eax, dword [0x1400fad78]
jmp 0x140045970
movsxd rax, esi
add r14d, dword [r12 + rax*4 + 0x168c]
jmp 0x1400459f3
test edi, edi
js 0x1400459f3
cmp edi, 9
jl 0x1400459e8
mov r8d, 0x67a
lea rdx, str.CJackInfo::MapRealUsbPinIndex
lea rcx, str._s__d_RETURN_VALUE_ON_FALSE
call fcn.14003f0e0
mov r14d, 0xffffffff
jmp 0x1400459f3
movsxd rax, edi
add r14d, dword [r12 + rax*4 + 0x16b0]
mov edx, r14d
mov rcx, r13
call fcn.140045510
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x20]
add rsp, 0x30
pop r15
pop r14
pop r13
ret
cmp r14d, 0x11
jne 0x140045a17
call fcn.1400205f0
mov rcx, r13
mov qword [r13 + 0x250], rax
add rsp, 0x30
pop r15
pop r14
pop r13
jmp fcn.140044e10
mov edx, 1
mov ecx, 0xc000008c
call fcn.140011430
int3
Function at 0x140047540
Capabilities:
Log keystrokes via application hook

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rsi, rcx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
xor r9d, r9d
lea rdx, [0x140047710]
xor r8d, r8d
lea ecx, [r9 + 0xd]
call qword [sym.imp.USER32.dll_SetWindowsHookExW]
mov r8d, 0x52
lea rdx, str.CLowLevelKeyboardEventNotify::RegisterLLKeyboard
lea rcx, [0x1400a9e48]
mov qword [rsi + 0xb0], rax
call fcn.14003f0e0
mov r8d, 0x22
lea rdx, str.CLowLevelKeyboardEventNotify::WorkThreadLoop
lea rcx, [0x1400a9e48]
call fcn.14003f0e0
nop word [rax + rax]
xor r9d, r9d
lea rcx, [rsp + 0x20]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jle 0x1400476a3
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [rsp + 0x28]
cmp eax, 0x10
je 0x1400476a9
cmp eax, 0x80c8
jne 0x1400475c0
mov r14, qword [rsp + 0x38]
test r14, r14
je 0x1400475c0
inc dword [rsi + 0xac]
mov rdi, qword [rsi + 0x48]
test rdi, rdi
je 0x14004768f
nop
cmp dword [rsi + 0xa8], 0
jne 0x14004768f
lea rcx, [rsi + 0x20]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
test rdi, rdi
je 0x140047701
cmp qword [rsi + 0x88], 0
mov rbx, qword [rdi + 0x10]
mov rdi, qword [rdi]
jbe 0x140047668
mov rax, qword [rsi + 0x78]
test rax, rax
je 0x140047668
cmp qword [rax + 0x10], rbx
je 0x140047666
mov rax, qword [rax]
test rax, rax
jne 0x140047656
jmp 0x140047668
xor ebx, ebx
lea rcx, [rsi + 0x20]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14004768a
mov rax, qword [rbx]
mov rcx, rbx
mov r9d, dword [r14 + 4]
mov r8d, dword [r14]
mov edx, dword [rsp + 0x30]
call qword [rax]
test rdi, rdi
jne 0x140047620
dec dword [rsi + 0xac]
lea rcx, [rsi + 0x20]
call fcn.140009830
jmp 0x1400475c0
js 0x1400475c0
mov rcx, qword [rsi + 0xb0]
test rcx, rcx
je 0x1400476c6
call qword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov qword [rsi + 0xb0], 0
mov r8d, 0x5c
lea rdx, str.CLowLevelKeyboardEventNotify::UnregisterLLKeyboard
lea rcx, [0x1400a9e48]
call fcn.14003f0e0
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14008ade0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
mov ecx, 0x80004005
call fcn.140003700
int3
Function at 0x14004b620
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rcx
call fcn.14004b4c0
xor ecx, ecx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r8, [0x14004b680]
mov r9, rbx
mov dword [rsp + 0x20], ecx
xor edx, edx
mov dword [rbx + 0x88], ecx
mov dword [rsp + 0x30], ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rbx + 0x78], rax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14008ade0
add rsp, 0x40
pop rbx
ret
Function at 0x14004fb10
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbx, rcx
test rcx, rcx
jne 0x14004fb57
lea r8d, [rcx + 0x73]
lea rcx, str._s__d_RETURN_ON_FALSE
lea rdx, str.CNamedPipeHelper::SendPipeMessage
call fcn.14003f0e0
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14008ade0
add rsp, 0x50
pop rbx
ret
mov qword [rsp + 0x30], 0
lea rcx, str..pipeRtkAudUServiceNamedPipe
mov dword [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
mov qword [rsp + 0x68], rdi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14004fbec
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], 0
mov r8d, 0x208
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_WriteFile]
mov ecx, dword [rsp + 0x40]
lea rdx, str.CNamedPipeHelper::SendPipeMessage
mov r9d, dword [rbx]
mov r8d, 0x85
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbx + 4]
mov dword [rsp + 0x20], ecx
lea rcx, str._s__d_dwEventId_x_nIndex_d_dwWritten_d
call fcn.14003f0e0
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
jmp 0x14004fc16
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea r9, str..pipeRtkAudUServiceNamedPipe
mov r8d, 0x8c
lea rdx, str.CNamedPipeHelper::SendPipeMessage
mov dword [rsp + 0x20], eax
lea rcx, str._s__d_CreateFile__s__Err_d
call fcn.14003f0e0
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14008ade0
add rsp, 0x50
pop rbx
ret

Function at 0x140051650
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov edi, edx
mov rsi, rcx
cmp edx, 0xffffffff
je 0x1400516ba
movsxd rax, dword [rcx + 0x68]
mov byte [rax + rcx + 0x6c], dil
mov eax, dword [rcx + 0x68]
inc eax
mov dword [rcx + 0x68], eax
cmp edx, 0xa
je 0x140051681
cmp eax, 0x200
jne 0x1400516c4
add rcx, 0x6c
mov qword [rsp + 0x30], rbx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringA]
xor edx, edx
lea rcx, [rsi + 0x6c]
mov r8d, 0x200
call fcn.1400916b0
mov rbx, qword [rsp + 0x30]
mov eax, edi
mov dword [rsi + 0x68], 0
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
add rcx, 0x6c
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringA]
mov rsi, qword [rsp + 0x38]
mov eax, edi
add rsp, 0x20
pop rdi
ret
Function at 0x14005c050
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, r9
mov r14, r8
mov rbp, rdx
test rdx, rdx
jne 0x14005c09d
lea r8d, [rdx + 0x68]
lea rdx, str.CRegClient::GetRegUI4Property
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14003f0e0
xor eax, eax
jmp 0x14005c113
test rsi, rsi
jne 0x14005c0a8
lea r8d, [rsi + 0x69]
jmp 0x14005c086
xor eax, eax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x38], r15d
mov edi, 1
mov r9d, edi
mov r8, rbp
mov rdx, rcx
lea rcx, [rsp + 0x48]
call fcn.14001cc20
test eax, eax
je 0x14005c12c
mov r9, rbp
mov r8d, eax
lea rdx, str.CRegClient::GetRegUI4Property
lea rcx, str._s_nRet_d_szRegKey_s
call fcn.14003f0e0
mov edi, r15d
cmp qword [rsp + 0x48], 0
je 0x14005c111
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14008ade0
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x3c], 4
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x14005c0fb
cmp dword [rsp + 0x40], 4
jne 0x14005c0fb
mov eax, dword [rsp + 0x38]
mov dword [rsi], eax
jmp 0x14005c0fe
Function at 0x14005c180
Capabilities:
Set registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x68
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r15d, r9d
mov r14, r8
mov rsi, rdx
mov rbp, rcx
test rdx, rdx
jne 0x14005c1d6
mov r8d, 0x83
lea rdx, str.CRegClient::SetRegUI4Property
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14003f0e0
xor eax, eax
jmp 0x14005c2bb
test r14, r14
jne 0x14005c1e3
mov r8d, 0x84
jmp 0x14005c1bc
xor eax, eax
mov qword [rsp + 0x48], rax
xor edi, edi
mov ebx, edi
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x50], rdi
call fcn.14005cc00
test eax, eax
jne 0x14005c21c
mov rdx, rsi
mov rcx, rbp
call fcn.14005c400
test eax, eax
jne 0x14005c21c
mov r8d, 0x8d
jmp 0x14005c291
mov r9d, 2
mov r8, rsi
mov rdx, rbp
lea rcx, [rsp + 0x40]
call fcn.14001cc20
test eax, eax
je 0x14005c256
mov r8d, 0x92
lea rdx, str.CRegClient::SetRegUI4Property
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14003f0e0
mov rbx, qword [rsp + 0x40]
jmp 0x14005c2ab
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, r14
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
test eax, eax
je 0x14005c2a6
mov r8d, 0x96
lea rdx, str.CRegClient::SetRegUI4Property
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14003f0e0
jmp 0x14005c2ab
mov edi, 1
test rbx, rbx
je 0x14005c2b9
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14008ade0
add rsp, 0x68
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14005c4b0
Capabilities:
Delete registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r12d, r9d
mov r15, r8
mov r14, rdx
mov rbp, rcx
xor eax, eax
mov qword [rsp + 0x50], rax
xor edi, edi
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x58], rdi
or r9d, 0x20006
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x48]
call fcn.14001cc20
mov esi, eax
mov rbx, qword [rsp + 0x48]
test eax, eax
jne 0x14005c546
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteValueW]
mov esi, eax
test eax, eax
je 0x14005c570
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r15
mov r8d, 0x142
lea rcx, str._s__d_DeleteValue__x_s_s__nRet_d
jmp 0x14005c55c
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], eax
mov r8d, 0x147
lea rcx, str._s__d_Open__x_s__nRet_d_AccMask_x
mov qword [rsp + 0x20], r14
mov r9, rbp
lea rdx, str.CRegClient::DeleteRegValue
call fcn.14003f0e0
test rbx, rbx
je 0x14005c581
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rbx, rdi
test esi, esi
sete dil
test rbx, rbx
je 0x14005c595
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14008ade0
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14005ca70
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov qword [r11 - 0x78], 0xfffffffffffffffe
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rsi, r9
mov r12, r8
mov r14, rdx
mov rdi, rcx
xor eax, eax
mov qword [r11 - 0x68], rax
xor ebx, ebx
mov ebp, ebx
mov qword [r11 - 0x70], rbx
mov dword [rsp + 0x40], ebx
mov qword [r11 - 0x60], rbx
mov qword [r11 - 0x50], rbx
mov qword [r11 - 0x58], rbx
mov qword [r11 - 0x48], rbx
mov r9d, 0x20019
mov r8, rdx
mov rdx, rcx
lea rcx, [r11 - 0x58]
call fcn.14001cc20
mov r15d, ebx
test eax, eax
sete r15b
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14005caf4
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test r15d, r15d
jne 0x14005cb26
mov rdx, r14
mov rcx, rdi
call fcn.14005c400
test eax, eax
jne 0x14005cb26
mov r8d, 0x1e3
lea rdx, str.CRegClient::SetRegStringValue
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14003f0e0
jmp 0x14005cbc7
mov r9d, 2
mov r8, r14
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.14001cc20
mov edi, eax
mov r9d, eax
mov r8d, 0x1e9
lea rdx, str.CRegClient::SetRegStringValue
lea rcx, str._s__d_nRet_d
call fcn.14003f0e0
mov rbp, qword [rsp + 0x38]
test edi, edi
jne 0x14005cbc4
test rsi, rsi
jne 0x14005cb6d
lea edi, [rsi + 0xd]
jmp 0x14005cba6
mov rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rsi + rax*2], 0
jne 0x14005cb74
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
mov r9d, 1
xor r8d, r8d
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov edi, eax
mov r9d, edi
mov r8d, 0x1f0
lea rdx, str.CRegClient::SetRegStringValue
lea rcx, str._s__d_nRet_d
call fcn.14003f0e0
test edi, edi
sete bl
test rbp, rbp
je 0x14005cbd5
mov rcx, rbp
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14008ade0
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14005d0d0
Capabilities:
Persist via run registry key

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x60
mov qword [r11 - 0x38], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov rax, qword [0x1400f5010]
xor rax, rsp
mov qword [rsp + 0x50], rax
xor edi, edi
mov qword [r11 - 0x20], rdi
lea rax, [r11 - 0x48]
mov qword [r11 - 0x30], rax
lea rax, [r11 - 0x40]
mov qword [r11 - 0x28], rax
call fcn.140003970
mov rcx, rax
test rax, rax
je 0x14005d22b
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x20], rax
lea rsi, str.RtkAudUService
mov rdx, rsi
lea rcx, [rsp + 0x20]
call fcn.1400050d0
lea rbx, [rdi - 1]
test al, al
jne 0x14005d16b
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x14005d150
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x20]
call fcn.140003400
nop
call fcn.140003970
mov rcx, rax
test rax, rax
je 0x14005d220
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rsi, str.SOFTWAREMicrosoftWindowsCurrentVersionRun_
mov rdx, rsi
lea rcx, [rsp + 0x28]
call fcn.1400050d0
test al, al
jne 0x14005d1c1
mov rax, rbx
inc rax
cmp word [rsi + rax*2], 0
jne 0x14005d1a6
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x28]
call fcn.140003400
nop
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x48]
call fcn.14005c760
mov rax, qword [rsp + 0x48]
cmp dword [rax - 0x10], 0
setne dil
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14005d201
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, edi
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14008ade0
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
mov ecx, 0x80004005
call fcn.140003700
nop
mov ecx, 0x80004005
call fcn.140003700
int3