joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001c760
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x1400263a0]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x14001c780
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x14001c788
ret
cmp word [r8 + 0x18], 0x20b
jne 0x14001c780
movzx eax, word [r8 + 0x14]
sub rcx, rdx
movzx edx, word [r8 + 6]
lea rax, [r8 + rax + 0x18]
test edx, edx
je 0x14001c7d5
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop dword [rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x14001c7cc
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x14001c780
add rax, 0x28
cmp rax, r9
jne 0x14001c7b8
xor eax, eax
ret

Function at 0x14001c7e0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x1400263a0]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x14001c800
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x14001c808
mov eax, r8d
ret
cmp word [rax + 0x18], 0x20b
jne 0x14001c800
movzx r8d, word [rax + 6]
mov eax, r8d
ret

Function at 0x14001c890
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x1400263a0]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x14001c8b0
movsxd rdx, dword [rax + 0x3c]
add rdx, rax
cmp dword [rdx], 0x4550
je 0x14001c8b8
mov rax, r8
ret
cmp word [rdx + 0x18], 0x20b
cmove r8, rax
mov rax, r8
ret
Function at 0x1400015a0
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x288
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rcx, qword [0x1400ca5f0]
lea rax, [rsp + 0x50]
mov r9d, 1
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.SoftwareAlpsApointUSBMouseExceptions
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400016be
mov qword [rsp + 0x290], rbx
mov qword [rsp + 0x298], rsi
xor esi, esi
mov qword [rsp + 0x2a0], rdi
mov ebx, esi
mov qword [rsp + 0x280], r14
mov edi, esi
lea r14, [0x1400c9f30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x44]
lea rax, [rsp + 0x4c]
mov dword [rsp + 0x44], 0x104
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x60]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x40], 4
mov qword [rsp + 0x28], rax
mov edx, edi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x14000168d
cmp dword [rsp + 0x48], 4
jne 0x140001681
mov eax, dword [rsp + 0x4c]
mov ecx, ebx
inc ebx
mov dword [r14 + rcx*4], eax
inc edi
cmp ebx, 0x100
jb 0x140001620
jmp 0x140001693
mov eax, ebx
mov dword [r14 + rax*4], esi
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14, qword [rsp + 0x280]
mov rdi, qword [rsp + 0x2a0]
mov rsi, qword [rsp + 0x298]
mov rbx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.1400403f0
add rsp, 0x288
ret

Function at 0x140002720
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x288
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rsp + 0x270], rax
lea rax, [rsp + 0x50]
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SoftwareAlpsApointUSBMouse
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000284a
mov qword [rsp + 0x290], rbx
mov qword [rsp + 0x298], rsi
xor esi, esi
mov qword [rsp + 0x280], rdi
mov ebx, esi
mov dword [0x1400ca400], esi
lea rdi, str.BluetoothMouseEnable
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x44]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x44], 0x104
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x60]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x40], 4
mov qword [rsp + 0x28], rax
mov edx, ebx
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
lea rdx, [rsp + 0x60]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
movzx ecx, word [rdi + rax*2 + 2]
cmp cx, word [rdx + rax*2 + 2]
jne 0x140002810
add rax, 2
cmp rax, 0x15
je 0x14000281d
movzx ecx, word [rdi + rax*2]
cmp cx, word [rdx + rax*2]
je 0x1400027f0
inc ebx
cmp ebx, 7
jb 0x140002791
jmp 0x140002827
mov eax, dword [rsp + 0x48]
mov dword [0x1400ca400], eax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rsp + 0x280]
mov rsi, qword [rsp + 0x298]
mov rbx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.1400403f0
add rsp, 0x288
ret
Function at 0x140005190
Capabilities:
Get session information
Get session user name

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x30
xor edi, edi
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
lea r9, [rsp + 0x58]
xor ecx, ecx
mov ebx, eax
lea r8d, [rdi + 8]
lea rax, [rsp + 0x50]
mov edx, ebx
mov qword [rsp + 0x20], rax
call sub.WTSAPI32.dll_WTSQuerySessionInformationW
mov esi, eax
lea r9, [rsp + 0x60]
lea rax, [rsp + 0x50]
mov edx, ebx
lea r8d, [rdi + 5]
mov qword [rsp + 0x20], rax
xor ecx, ecx
call sub.WTSAPI32.dll_WTSQuerySessionInformationW
test eax, eax
je 0x140005212
mov rcx, qword [rsp + 0x60]
test esi, esi
je 0x14000520d
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], di
jne 0x1400051f0
test rax, rax
je 0x14000520d
mov rdx, qword [rsp + 0x58]
mov eax, 1
cmp dword [rdx], edi
cmove edi, eax
call sub.WTSAPI32.dll_WTSFreeMemory
test esi, esi
je 0x140005220
mov rcx, qword [rsp + 0x58]
call sub.WTSAPI32.dll_WTSFreeMemory
mov eax, edi
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400057d0
Capabilities:
Create process on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x428]
sub rsp, 0x528
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov r15, r8
mov rdi, rdx
mov rsi, rcx
xor ebx, ebx
xor edx, edx
mov qword [rsp + 0x78], rbx
mov r8d, 0x400
mov qword [rsp + 0x60], rbx
lea rcx, [rbp + 0x10]
movzx r14d, r9w
call fcn.140042570
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x78]
mov edx, 0xf01ff
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x1400059b5
mov rcx, qword [rsp + 0x78]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea r9d, [rbx + 1]
xor r8d, r8d
mov dword [rsp + 0x20], 1
mov edx, 0xf01ff
call qword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
je 0x1400059b5
mov qword [rsp + 0x70], rbx
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
xor edx, edx
lea r8d, [rbx + 0x68]
lea rcx, [rbp - 0x60]
mov dword [rsp + 0x68], eax
call fcn.140042570
mov rcx, qword [rsp + 0x60]
lea r9d, [rbx + 4]
lea r8, [rsp + 0x68]
lea edx, [rbx + 0xc]
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x1400059b5
mov rdx, qword [rsp + 0x60]
lea rax, str.WinSta0Default
xor r8d, r8d
mov qword [rbp - 0x50], rax
lea rcx, [rsp + 0x70]
mov dword [rbp - 0x60], 0x68
mov dword [rbp - 0x24], 1
mov word [rbp - 0x20], r14w
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x1400059b5
mov r9, rsi
mov qword [rsp + 0x20], rdi
lea r8, str.CreateProcessWithHighPriv___Get_Token_success__AppName_s__Cmd_s
mov edx, 0x200
lea rcx, [rbp + 0x10]
call fcn.140002e00
lea r8, [rbp + 0x10]
mov ecx, 0x400
lea rdx, [0x14009ecc8]
call fcn.14000b010
test rdi, rdi
je 0x14000593f
mov r8, rdi
mov edx, 0x104
mov rcx, rdi
call fcn.140005c10
mov rcx, qword [rsp + 0x60]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x50], rax
xor r9d, r9d
lea rax, [rbp - 0x60]
mov r8, rdi
mov qword [rsp + 0x48], rax
mov rdx, rsi
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x430
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
mov ebx, eax
test eax, eax
je 0x1400059ab
mov rcx, qword [rbp - 0x80]
cmp rcx, 0xffffffffffffffff
je 0x14000599b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x78]
cmp rcx, 0xffffffffffffffff
je 0x1400059ab
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call sub.USERENV.dll_DestroyEnvironmentBlock
mov rcx, qword [rsp + 0x60]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400059ca
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x78]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400059df
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.1400403f0
add rsp, 0x528
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x140005a00
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x810]
sub rsp, 0x910
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rbp + 0x800], rax
mov r15, r8
mov rdi, rdx
mov r14, rcx
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp]
xor ebx, ebx
call fcn.140042570
xor eax, eax
mov qword [rsp + 0x68], rbx
xor edx, edx
mov qword [rsp + 0x70], rax
lea r8d, [rbx + 0x68]
mov qword [rsp + 0x78], rax
lea rcx, [rbp - 0x70]
mov qword [rbp - 0x80], rax
call fcn.140042570
lea rax, str.winsta0default
mov dword [rbp - 0x70], 0x68
xor edx, edx
mov qword [rbp - 0x60], rax
mov r8d, 0x400
mov qword [rsp + 0x60], rbx
lea rcx, [rbp + 0x400]
call fcn.140042570
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
mov ecx, eax
lea rdx, [rsp + 0x60]
call sub.WTSAPI32.dll_WTSQueryUserToken
mov r9d, eax
lea r8, str.GetCurrentSessionToken_Return_d__Token_p__n
mov rax, qword [rsp + 0x60]
lea rcx, [rbp + 0x400]
mov edx, 0x200
mov qword [rsp + 0x20], rax
call fcn.140002e00
lea r8, [rbp + 0x400]
mov ecx, 0x400
lea rdx, [0x14009ecc8]
call fcn.14000b010
mov rsi, qword [rsp + 0x60]
test rsi, rsi
je 0x140005bcf
xor r8d, r8d
lea rcx, [rsp + 0x68]
mov rdx, rsi
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x140005bcf
mov r9, r14
mov qword [rsp + 0x20], rdi
lea r8, str.CreateProcessWithLowPriv___Get_Token_success__AppName_s__Cmd_s
mov edx, 0x200
lea rcx, [rbp]
call fcn.140002e00
lea r8, [rbp]
mov ecx, 0x400
lea rdx, [0x14009ecc8]
call fcn.14000b010
test rdi, rdi
je 0x140005b53
mov r8, rdi
mov edx, 0x104
mov rcx, rdi
call fcn.140005c10
lea rax, [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x50], rax
mov r8, rdi
lea rax, [rbp - 0x70]
mov rdx, r14
mov qword [rsp + 0x48], rax
mov rcx, rsi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x430
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
mov rcx, qword [rsp + 0x68]
mov ebx, eax
call sub.USERENV.dll_DestroyEnvironmentBlock
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
cmp rcx, 0xffffffffffffffff
je 0x140005bbe
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x140005bcf
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9d, ebx
lea r8, str.CreateProcessWithLowPriv___Ret_d
mov edx, 0x200
lea rcx, [rbp]
call fcn.140002e00
mov eax, ebx
mov rcx, qword [rbp + 0x800]
xor rcx, rsp
call fcn.1400403f0
mov rbx, qword [rsp + 0x958]
add rsp, 0x910
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x140005fb0
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x250
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rsp + 0x240], rax
xor esi, esi
mov dword [rsp + 0x20], 0x5c
mov ebx, 0x104
lea rcx, [rsp + 0x30]
mov edx, ebx
mov edi, esi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, ebx
lea rax, [rsp + 0x30]
nop dword [rax]
cmp word [rax], si
je 0x14000600f
add rax, 2
sub rcx, 1
jne 0x140006000
mov rax, rbx
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140006073
mov rdx, rbx
lea rcx, [rsp + 0x30]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140006065
lea rax, [r8 + 0x7ffffefa]
add rax, rdx
lea r9, [rsp + 0x20]
sub r9, rcx
test rax, rax
je 0x140006065
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140006065
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140006044
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
mov rcx, rbx
lea rax, [rsp + 0x30]
nop dword [rax + rax]
cmp word [rax], si
je 0x14000608f
add rax, 2
sub rcx, 1
jne 0x140006080
mov rax, rbx
mov rdx, rsi
sub rax, rcx
test rcx, rcx
cmovne rdx, rax
je 0x1400060f0
lea rcx, [rsp + 0x30]
lea rcx, [rcx + rdx*2]
sub rbx, rdx
je 0x1400060e2
lea rax, [rdx + 0x7ffffefa]
add rax, rbx
lea r8, str.VXDIF.DLL
sub r8, rcx
test rax, rax
je 0x1400060e2
movzx edx, word [r8 + rcx]
test dx, dx
je 0x1400060e2
mov word [rcx], dx
dec rax
add rcx, 2
sub rbx, 1
jne 0x1400060c3
test rbx, rbx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1400ca470], rax
test rax, rax
je 0x1400061e1
lea rdx, str.IOCTL_SetTouchPadDisable
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400ca470]
lea rdx, str.Alps_DisableTouchpad
mov qword [0x1400ca5d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400ca470]
lea rdx, str.Alps_MouseGetInitStatus
mov qword [0x1400ca5c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400ca470]
lea rdx, str.IOCTL_SetTPOnOffInPTPMode
mov qword [0x1400ca5d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x1400ca5d0], rsi
mov qword [0x1400ca438], rax
je 0x140006199
cmp qword [0x1400ca5c8], rsi
je 0x140006199
cmp qword [0x1400ca5d8], rsi
je 0x140006199
test rax, rax
mov ecx, 1
cmovne edi, ecx
mov rcx, qword [0x1400ca5f0]
lea r8, str.SupportI2CToPS2Switch
xor r9d, r9d
lea rdx, str.SOFTWAREAlpsApoint
call fcn.14000d4d0
mov dword [0x1400ca488], eax
test eax, eax
je 0x1400061e1
mov rcx, qword [0x1400ca470]
lea rdx, str.IOCTL_SetPS2Mode
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov qword [0x1400ca5e0], rax
cmove edi, esi
mov eax, edi
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1400403f0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x140006760
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x450
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov rcx, qword [0x1400ca5f0]
lea r8, str.HomeDirectory
lea rdx, str.SOFTWAREAlpsApoint
call fcn.14000d5f0
mov r9, rax
lea rdx, [rsp + 0x230]
lea rax, [rsp + 0x230]
mov ebx, 0x104
sub r9, rax
mov r8d, ebx
nop word [rax + rax]
lea rcx, [r8 + 0x7ffffefa]
test rcx, rcx
je 0x1400067e3
movzx eax, word [r9 + rdx]
test ax, ax
je 0x1400067e3
mov word [rdx], ax
add rdx, 2
sub r8, 1
jne 0x1400067c0
test r8, r8
lea rax, [rdx - 2]
lea r8, [rsp + 0x230]
cmovne rax, rdx
lea rcx, [rsp + 0x20]
xor edi, edi
mov rdx, rbx
mov word [rax], di
lea rax, [rsp + 0x20]
sub r8, rax
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140006833
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140006833
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140006810
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, rbx
mov word [rax], di
lea rax, [rsp + 0x20]
nop dword [rax]
cmp word [rax], di
je 0x14000685f
add rax, 2
sub rcx, 1
jne 0x140006850
mov rax, rbx
mov r8, rdi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400068c5
mov rdx, rbx
lea rcx, [rsp + 0x20]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400068b7
lea rax, [r8 + 0x7ffffefa]
add rax, rdx
lea r9, str.Apoint.exe
sub r9, rcx
test rax, rax
je 0x1400068b7
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x1400068b7
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140006896
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rcx, [rsp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140006980
lea r8, str.C:WindowsSystem32DellTPad
mov rdx, rbx
lea rax, [rsp + 0x230]
sub r8, rax
lea rcx, [rsp + 0x230]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140006923
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140006923
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140006900
test rdx, rdx
lea rax, [rcx - 2]
lea rdx, str.C:WindowsSystem32DellTPadApoint.exe
cmovne rax, rcx
lea rcx, [rsp + 0x20]
mov word [rax], di
lea rax, [rsp + 0x20]
sub rdx, rax
nop word [rax + rax]
lea rax, [rbx + 0x7ffffefa]
test rax, rax
je 0x140006972
movzx eax, word [rdx + rcx]
test ax, ax
je 0x140006972
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x140006950
test rbx, rbx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
mov ecx, dword [0x1400ca484]
test ecx, ecx
je 0x140006990
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r9d, 1
lea r8, [rsp + 0x230]
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.140005a00
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.1400403f0
mov rbx, qword [rsp + 0x460]
add rsp, 0x450
pop rdi
ret
Function at 0x140008af0
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rcx
cmp qword [rcx + 0x68], 0
je 0x140008cbf
cmp byte [rcx + 0x71], 0
je 0x140008cbf
mov rax, qword [rcx]
mov edx, 0xffffffff
call qword [rax + 0x18]
cmp eax, 0xffffffff
jne 0x140008b4c
xor al, al
jmp 0x140008cc1
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
xor r8d, r8d
lea edx, [r8 + 8]
lea rcx, [rbp - 0x30]
call fcn.140009250
nop
mov r9, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x30]
nop dword [rax]
lea rdx, [rbp - 0x30]
cmp r9, 0x10
cmovae rdx, rcx
lea r8, [rbp - 0x30]
cmovae r8, rcx
mov rcx, qword [rdi + 0x68]
mov r10, qword [rcx]
mov r9, qword [rbp - 0x20]
add r9, rdx
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rdi + 0x74]
call qword [r10 + 0x40]
test eax, eax
je 0x140008bd4
sub eax, 1
je 0x140008bd8
sub eax, 2
mov r9, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x30]
je 0x140008c88
xor bl, bl
jmp 0x140008c8a
mov byte [rdi + 0x71], 0
lea rax, [rbp - 0x30]
mov rcx, qword [rbp - 0x30]
mov r9, qword [rbp - 0x18]
cmp r9, 0x10
cmovae rax, rcx
mov rbx, qword [rbp - 0x40]
sub rbx, rax
je 0x140008c25
lea rax, [rbp - 0x30]
cmp r9, 0x10
cmovae rax, rcx
mov r9, qword [rdi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, rax
call fcn.1400653e4
mov r9, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x30]
cmp rbx, rax
jne 0x140008bcd
cmp byte [rdi + 0x71], 0
je 0x140008c88
test rbx, rbx
jne 0x140008b80
mov rdx, qword [rbp - 0x20]
mov rax, r9
sub rax, rdx
cmp rax, 8
jb 0x140008c67
lea rax, [rdx + 8]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp r9, 0x10
cmovae rax, rcx
xor ecx, ecx
mov qword [rax + rdx], rcx
mov byte [rax + rdx + 8], cl
jmp 0x140008b71
xor eax, eax
mov byte [rsp + 0x20], al
mov r9d, 8
movzx r8d, al
mov edx, r9d
lea rcx, [rbp - 0x30]
call fcn.1400032c0
jmp 0x140008b71
mov bl, 1
cmp r9, 0x10
jb 0x140008cba
lea rdx, [r9 + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008cb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008ce3
call fcn.140040450
movzx eax, bl
jmp 0x140008cc1
mov al, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400403f0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.14004c038
int3
Function at 0x14000b060
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
sub rsp, 0x278
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rsp + 0x260], rax
lea rax, [rsp + 0x48]
mov r9d, 0xf003f
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000b149
mov rcx, qword [rsp + 0x48]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x270], rbx
lea r8, [rsp + 0x50]
xor ebx, ebx
mov dword [rsp + 0x40], 0x104
mov qword [rsp + 0x38], rbx
xor edx, edx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14000b136
nop dword [rax + rax]
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x50]
call fcn.14000b060
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rcx, qword [rsp + 0x48]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rbx
lea r8, [rsp + 0x50]
mov qword [rsp + 0x30], rbx
xor edx, edx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x40], 0x104
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x14000b0e0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400403f0
add rsp, 0x278
ret
Function at 0x14000cc00
Capabilities:
Delete service
Query service status

Disassembly:
push rdi
sub rsp, 0x90
mov rax, qword [0x1400c8090]
xor rax, rsp
mov qword [rsp + 0x80], rax
lea rax, [0x140007bc0]
mov qword [rsp + 0x40], rax
lea rdi, str.ApHidMonitorService
xor eax, eax
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
call qword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherW]
cmp dword [0x1400ca5a4], 0
je 0x14000ccf3
xor edx, edx
mov qword [rsp + 0xa0], rbx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rbx, rax
test rax, rax
je 0x14000ccd0
mov r8d, 0xf01ff
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rdi, rax
test rax, rax
je 0x14000ccc7
lea rax, [rsp + 0x30]
mov r9d, 0x24
lea r8, [rsp + 0x58]
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x14000ccbe
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_DeleteService]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rbx, qword [rsp + 0xa0]
xor eax, eax
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1400403f0
add rsp, 0x90
pop rdi
ret
xor eax, eax
jmp 0x14000ccda

Function at 0x14000d4d0
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x50
mov ebx, r9d
mov dword [rsp + 0x38], 4
mov rbp, r8
lea rax, [rsp + 0x40]
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdi, rdx
mov rsi, rcx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14000d58f
lea rax, [rsp + 0x48]
mov dword [rsp + 0x30], ebx
mov r9d, 0x20006
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000d570
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x30]
mov dword [rsp + 0x28], 4
mov r9d, 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rbp
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x40]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
xor r9d, r9d
lea rax, [rsp + 0x3c]
xor r8d, r8d
mov rdx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x40]
test eax, eax
je 0x14000d5ca
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
jmp 0x14000d5d4
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [rsp + 0x3c]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret