joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140427610
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbx, qword [rcx + 8]
cmp rbx, qword [rcx]
je 0x14042766f
mov r15, rbx
add r15, 0xfffffffffffffff8
je 0x140427780
mov rax, qword [rdi]
mov qword [r15], rax
add qword [rsi + 8], 0xfffffffffffffff8
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1402ddd70
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r14, qword [rsi + 0x10]
mov r15, qword [rsi + 0x18]
cmp r14, r15
jae 0x1404276ca
sub r15, r14
sar r15, 3
lea rax, [r15 + 1]
shr rax, 0x3f
lea r12, [r15 + rax]
inc r12
sar r12, 1
lea r15, [r14 + r12*8]
mov rax, r14
sub rax, rbx
sub r15, rax
sub r14, rbx
je 0x1404276b9
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.1402e0660
mov rbx, qword [rsi + 0x10]
mov qword [rsi + 8], r15
lea rax, [rbx + r12*8]
mov qword [rsi + 0x10], rax
jmp 0x14042763e
mov rax, r15
sub rax, rbx
sar rax, 2
cmp r15, rbx
mov r12d, 1
cmovne r12, rax
lea rax, [rsi + 0x20]
mov qword [rsp + 0x48], rax
mov rax, r12
shr rax, 0x3d
jne 0x1404277ac
lea rcx, [r12*8]
call fcn.1402dd130
lea rdx, [r12*2 + 6]
and rdx, 0xfffffffffffffff8
add rdx, rax
mov rcx, r14
sub rcx, rbx
mov r9, r14
mov r8, rdx
sub r9, rbx
je 0x14042774b
sar rcx, 3
lea r8, [r9 + rdx]
shl rcx, 3
xor r9d, r9d
mov r10, rdx
add r10, r9
je 0x140427780
mov r11, qword [rbx + r9]
mov qword [r10], r11
add r9, 8
cmp rcx, r9
jne 0x140427733
lea r9, [rax + r12*8]
mov qword [rsi], rax
lea rcx, [rsp + 0x28]
mov qword [rcx], rbx
mov qword [rsi + 8], rdx
mov qword [rcx + 8], rbx
mov qword [rsi + 0x10], r8
mov qword [rcx + 0x10], r14
mov qword [rsi + 0x18], r9
mov qword [rcx + 0x18], r15
call fcn.14035d4b0
mov r15, qword [rsi + 8]
jmp 0x14042763e
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.14032ac00
call fcn.14031db10
int3
Function at 0x1404277c0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r12, qword [rcx + 0x10]
cmp r12, qword [rcx + 0x18]
jne 0x140427852
mov r14, qword [rsi]
mov rbx, qword [rsi + 8]
mov rax, rbx
sub rax, r14
jbe 0x140427885
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
add rax, rcx
inc rax
sar rax, 1
mov r13, rax
neg r13
shl rax, 3
mov r14, rbx
sub r14, rax
mov r15, r12
sub r15, rbx
je 0x140427840
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.1402e0660
mov r12, qword [rsi + 8]
add r14, r15
mov qword [rsi + 0x10], r14
lea rax, [r12 + r13*8]
mov qword [rsi + 8], rax
mov r12, r14
test r12, r12
je 0x140427937
mov rax, qword [rdi]
mov qword [r12], rax
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1402ddd70
nop
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, r12
sub rax, r14
sar rax, 2
cmp r12, r14
mov r15d, 1
cmovne r15, rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x50], rax
mov rax, r15
shr rax, 0x3d
jne 0x140427963
lea rcx, [r15*8]
call fcn.1402dd130
mov rdx, r15
and rdx, 0xfffffffffffffffc
mov rcx, r12
sub rcx, rbx
mov r9, r12
lea rdx, [rax + rdx*2]
mov r8, rdx
sub r9, rbx
je 0x140427902
sar rcx, 3
lea r8, [r9 + rdx]
shl rcx, 3
xor r9d, r9d
mov r10, rdx
add r10, r9
je 0x140427937
mov r11, qword [rbx + r9]
mov qword [r10], r11
add r9, 8
cmp rcx, r9
jne 0x1404278ea
lea r9, [rax + r15*8]
mov qword [rsi], rax
lea rcx, [rsp + 0x30]
mov qword [rcx], r14
mov qword [rsi + 8], rdx
mov qword [rcx + 8], rbx
mov qword [rsi + 0x10], r8
mov qword [rcx + 0x10], r12
mov qword [rsi + 0x18], r9
mov qword [rcx + 0x18], r12
call fcn.14035d4b0
mov r12, qword [rsi + 0x10]
jmp 0x140427852
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.14032ac00
call fcn.14031db10
int3
Function at 0x140427970
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbx, qword [rcx + 8]
cmp rbx, qword [rcx]
je 0x1404279cf
mov r15, rbx
add r15, 0xfffffffffffffff8
je 0x140427ae0
mov rax, qword [rdi]
mov qword [r15], rax
add qword [rsi + 8], 0xfffffffffffffff8
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1402ddd70
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r14, qword [rsi + 0x10]
mov r15, qword [rsi + 0x18]
cmp r14, r15
jae 0x140427a2a
sub r15, r14
sar r15, 3
lea rax, [r15 + 1]
shr rax, 0x3f
lea r12, [r15 + rax]
inc r12
sar r12, 1
lea r15, [r14 + r12*8]
mov rax, r14
sub rax, rbx
sub r15, rax
sub r14, rbx
je 0x140427a19
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.1402e0660
mov rbx, qword [rsi + 0x10]
mov qword [rsi + 8], r15
lea rax, [rbx + r12*8]
mov qword [rsi + 0x10], rax
jmp 0x14042799e
mov rax, r15
sub rax, rbx
sar rax, 2
cmp r15, rbx
mov r12d, 1
cmovne r12, rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x48], rax
mov rax, r12
shr rax, 0x3d
jne 0x140427b0c
lea rcx, [r12*8]
call fcn.1402dd130
lea rdx, [r12*2 + 6]
and rdx, 0xfffffffffffffff8
add rdx, rax
mov rcx, r14
sub rcx, rbx
mov r9, r14
mov r8, rdx
sub r9, rbx
je 0x140427aab
sar rcx, 3
lea r8, [r9 + rdx]
shl rcx, 3
xor r9d, r9d
mov r10, rdx
add r10, r9
je 0x140427ae0
mov r11, qword [rbx + r9]
mov qword [r10], r11
add r9, 8
cmp rcx, r9
jne 0x140427a93
lea r9, [rax + r12*8]
mov qword [rsi], rax
lea rcx, [rsp + 0x28]
mov qword [rcx], rbx
mov qword [rsi + 8], rdx
mov qword [rcx + 8], rbx
mov qword [rsi + 0x10], r8
mov qword [rcx + 0x10], r14
mov qword [rsi + 0x18], r9
mov qword [rcx + 0x18], r15
call fcn.14035d4b0
mov r15, qword [rsi + 8]
jmp 0x14042799e
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.14032ac00
call fcn.14031db10
int3
Function at 0x140453be0
Capabilities:
Query or enumerate registry value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, r8
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov eax, 0xaaaaaaaa
lea rdi, [rsp + 0x44]
mov dword [rdi], eax
lea r8, [rsp + 0x40]
mov dword [r8], eax
lea rax, [rsp + 0x3c]
mov dword [rax], 4
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
xor r8d, r8d
mov r9, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [rdi]
xor ecx, 4
or ecx, eax
sete bl
jne 0x140453c40
mov eax, dword [rsp + 0x40]
mov dword [rsi], eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1402ddd70
mov eax, ebx
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret

Function at 0x140453d00
Capabilities:
Get system information on windows

Disassembly:
push rsi
sub rsp, 0x1a0
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x198], rax
movaps xmm0, xmmword [0x14047fb40]
lea rsi, [rsp + 0x160]
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [rsi + 0x20], 0x100
jb 0x140453d54
mov ecx, 1
call fcn.14026cdd0
test al, al
jne 0x140453d83
mov eax, dword [rsp + 0x180]
cmp eax, 0x100
mov esi, 0xff
cmovb esi, eax
mov rcx, qword [rsp + 0x198]
xor rcx, rsp
call fcn.1402ddd70
mov eax, esi
add rsp, 0x1a0
pop rsi
ret
lea rdx, str....._third_partycrashpadcrashpad_snapshotwin_system_snapshot_win.cc
lea rsi, [rsp + 0x28]
mov rcx, rsi
mov r8d, 0x117
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.dwNumberOfProcessors_exceeds_uint8_t_storage
mov r8d, 0x2c
call fcn.14031d7c0
mov rcx, rsi
call fcn.14015aab0
jmp 0x140453d54
Function at 0x140465ff0
Capabilities:
Decompress data using quicklz

Disassembly:
mov r8d, dword [rdx]
mov eax, r8d
and eax, 0xf800d000
xor eax, 0xf0008000
mov r9d, r8d
not r9d
test r9d, 0x3c00000
setne r9b
mov r10d, ecx
and r10d, 1
or r10d, eax
sete r10b
lea eax, [rcx + 0x100000]
cmp eax, 0x200000
setb al
and al, r9b
and al, r10b
cmp al, 1
jne 0x14046608f
mov r9d, ecx
shr r9d, 1
and r9d, 0x7ff
and r8d, 0xfbc0d000
mov r10d, ecx
shl r10d, 6
and r10d, 0x4000000
mov r11d, ecx
shl r11d, 4
and r11d, 0x3f0000
or r11d, r10d
mov r10d, ecx
shr r10d, 5
and r10d, 0x2000
or r10d, r11d
shr ecx, 8
and ecx, 0x800
or ecx, r10d
or ecx, r9d
or ecx, r8d
mov dword [rdx], ecx
ret

Function at 0x140466120
Capabilities:
Decompress data using quicklz

Disassembly:
mov eax, edx
or eax, ecx
test al, 1
je 0x14046612b
xor eax, eax
ret
sub edx, ecx
mov eax, edx
and eax, 1
lea ecx, [rdx + rax]
add ecx, 0xfffffffc
mov rdx, r8
jmp fcn.140465ff0
Function at 0x140469e30
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1b0
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
movaps xmm0, xmmword [0x14047fb40]
lea r15, [rsp + 0x160]
movaps xmmword [r15 + 0x30], xmm0
movaps xmmword [r15 + 0x20], xmm0
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15], xmm0
lea r14, [rcx + 0x18]
mov rcx, r14
call fcn.14031d6c0
mov r8d, 0x40
mov rcx, rsi
mov rdx, rax
mov r9, r15
call fcn.14046eda0
test al, al
je 0x140469f85
movzx eax, word [rsp + 0x160]
cmp eax, 0x5a4d
jne 0x140469efd
mov rcx, r14
call fcn.14031d6c0
movsxd r14, dword [rsp + 0x19c]
add r14, rax
mov r8d, 0x108
mov rcx, rsi
mov rdx, r14
mov r9, rbx
call fcn.14046eda0
test al, al
je 0x140469f46
cmp dword [rbx], 0x4550
jne 0x140469fb6
mov sil, 1
test rdi, rdi
je 0x140469f95
mov qword [rdi], r14
jmp 0x140469f95
mov ecx, 1
call fcn.14026cdd0
test al, al
je 0x140469f93
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x15a
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_e_magic_in_dos_header_of
mov r8d, 0x21
jmp 0x14046a02a
mov ecx, 1
call fcn.14026cdd0
test al, al
je 0x140469f93
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x162
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_nt_headers_from
jmp 0x14046a024
mov ecx, 1
call fcn.14026cdd0
test al, al
jne 0x140469ff8
xor esi, esi
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.1402ddd70
mov eax, esi
add rsp, 0x1b0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, 1
call fcn.14026cdd0
test al, al
je 0x140469f93
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x168
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_signature_in_nt_headers_of
mov r8d, 0x23
jmp 0x14046a02a
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x154
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_dos_header_from
mov r8d, 0x1f
call fcn.14031d7c0
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
js 0x14046a03f
and r8d, 0x7f
jmp 0x14046a046
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.14031d7c0
mov rcx, rdi
call fcn.14015aab0
jmp 0x140469f93
Function at 0x14046a060
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1b0
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
movaps xmm0, xmmword [0x14047fb40]
lea r15, [rsp + 0x160]
movaps xmmword [r15 + 0x30], xmm0
movaps xmmword [r15 + 0x20], xmm0
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15], xmm0
lea r14, [rcx + 0x18]
mov rcx, r14
call fcn.14031d6c0
mov r8d, 0x40
mov rcx, rsi
mov rdx, rax
mov r9, r15
call fcn.14046eda0
test al, al
je 0x14046a1b5
movzx eax, word [rsp + 0x160]
cmp eax, 0x5a4d
jne 0x14046a12d
mov rcx, r14
call fcn.14031d6c0
movsxd r14, dword [rsp + 0x19c]
add r14, rax
mov r8d, 0xf8
mov rcx, rsi
mov rdx, r14
mov r9, rbx
call fcn.14046eda0
test al, al
je 0x14046a176
cmp dword [rbx], 0x4550
jne 0x14046a1e6
mov sil, 1
test rdi, rdi
je 0x14046a1c5
mov qword [rdi], r14
jmp 0x14046a1c5
mov ecx, 1
call fcn.14026cdd0
test al, al
je 0x14046a1c3
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x15a
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_e_magic_in_dos_header_of
mov r8d, 0x21
jmp 0x14046a25a
mov ecx, 1
call fcn.14026cdd0
test al, al
je 0x14046a1c3
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x162
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_nt_headers_from
jmp 0x14046a254
mov ecx, 1
call fcn.14026cdd0
test al, al
jne 0x14046a228
xor esi, esi
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.1402ddd70
mov eax, esi
add rsp, 0x1b0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, 1
call fcn.14026cdd0
test al, al
je 0x14046a1c3
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x168
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_signature_in_nt_headers_of
mov r8d, 0x23
jmp 0x14046a25a
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x154
mov r9d, 1
call fcn.14015a460
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_dos_header_from
mov r8d, 0x1f
call fcn.14031d7c0
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
js 0x14046a26f
and r8d, 0x7f
jmp 0x14046a276
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.14031d7c0
mov rcx, rdi
call fcn.14015aab0
jmp 0x14046a1c3
Function at 0x140001141
Capabilities:
Execute anti-debugging instructions

Disassembly:
xor eax, eax
cpuid
mov eax, 1
cpuid
movabs r9, 0xb2d05e00
cpuid
rdtsc
shl rdx, 0x20
or rax, rdx
mov rcx, rax
fldpi
frndint
rdtsc
shl rdx, 0x20
or rax, rdx
sub rax, rcx
cmp rax, r9
jb 0x140001164
push rbp
mov rbp, rsp
sub rsp, 8
mov r10, 0xa
mov rcx, 0xffffffff9f345678
dec rcx
xor r9, r9
mov rax, rcx
jne 0x14000118f
xor rax, rax
mov rax, rbx
add rax, rdx
nop
nop
nop
dec r10
xor r11, r11
jne 0x140001188
xor rax, rax
mov rax, 0xa
dec rax
nop
nop
add rsp, 8
pop rbp
ret

Function at 0x140003000
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Query or enumerate registry value

Disassembly:
mov r11, rsp
sub rsp, 0x688
mov rax, qword [0x14002ff30]
xor rax, rsp
mov qword [rsp + 0x670], rax
cmp qword [0x1400361c8], 0
jne 0x140003297
mov qword [r11 + 8], rbx
mov qword [r11 - 8], rdi
lea rcx, [rsp + 0x42]
xor edi, edi
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x40], di
call fcn.140013ae0
lea rax, [rsp + 0x30]
lea r9d, [rdi + 1]
lea rdx, str.SOFTWAREASUSASUS_Smart_Gesture
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov ebx, edi
mov qword [rsp + 0x30], rdi
xor bh, al
and al, 0x3c
or byte [rdx], al
add byte [rax], al
mov eax, 1
mov rcx, qword [rsp + 0x670]
xor rcx, rsp
call fcn.1400123f0
add rsp, 0x688
ret

Function at 0x140003350
Capabilities:
Allocate or change rwx memory
Query or enumerate registry value

Disassembly:
sub rsp, 0x478
mov rax, qword [0x14002ff30]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov rax, qword [0x1400361f0]
test rax, rax
jne 0x140003497
mov qword [rsp + 0x470], rbx
lea rcx, [rsp + 0x42]
xor ebx, ebx
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x40], bx
call fcn.140013ae0
lea rax, [rsp + 0x30]
lea r9d, [rbx + 1]
lea rdx, str.SOFTWARECypress_TouchPad_Driver
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x38], 0x208
mov dword [rsp + 0x3c], 1
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea r11, [rsp + 0x38]
lea rax, [rsp + 0x250]
lea r9, [rsp + 0x3c]
mov qword [rsp + 0x28], r11
lea rdx, str.CyTpDll
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140003425
lea r8, [rsp + 0x250]
lea rcx, [rsp + 0x40]
mov edx, 0x104
call fcn.140012628
mov ebx, 1
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
mov rbx, qword [rsp + 0x470]
jne 0x140003468
lea r9, [rsp + 0x40]
lea r8, str.CyTpDll
lea rdx, str.SOFTWARECypress_TouchPad_Driver
mov rcx, 0xffffffff80000002
call fcn.140004620
test eax, eax
jne 0x140003468
mov rax, qword [0x1400361f0]
jmp 0x14000347a
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [0x1400361f0], rax
test rax, rax
jne 0x140003497
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.1400123f0
add rsp, 0x478
ret
lea rdx, str.GetCyTpState
mov rcx, rax
enter 0x15ff, 0x49
inc dword [rcx]
add byte [rax - 0x75], cl
or eax, 0x32d42
Function at 0x140003510
Capabilities:
Get common file path

Disassembly:
sub rsp, 0x248
mov rax, qword [0x14002ff30]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rax, qword [0x140036210]
test rax, rax
jne 0x1400035a8
lea rcx, [rsp + 0x22]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], ax
call fcn.140013ae0
mov r9d, 1
lea rdx, [rsp + 0x20]
lea r8d, [r9 + 0x25]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea r8, str.ElantechETDApi.dll
lea rcx, [rsp + 0x20]
mov edx, 0x104
call fcn.140012434
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [0x140036210], rax
test rax, rax
jne 0x1400035a8
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.1400123f0
add rsp, 0x248
ret
lea rdx, str.SetETDConfig
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]

Function at 0x140003a00
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
jne 0x140003a33
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rcx, rax
mov qword [rsp + 0x30], rbx
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x140003a77
mov rdx, rsi
Function at 0x140004620
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x270
mov rax, qword [0x14002ff30]
xor rax, rsp
mov qword [rsp + 0x260], rax
lea rax, [rsp + 0x38]
mov rdi, r9
lea rdx, str.SOFTWARECypress_TouchPad_Driver
xor ebx, ebx
mov r9d, 0x201
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 0x208
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 1
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x38]
lea r11, [rsp + 0x40]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], r11
lea r9, [rsp + 0x30]
lea rdx, str.CyTpDll
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400046c9
lea r8, [rsp + 0x50]
mov edx, 0x104
mov rcx, rdi
call fcn.140012628
mov ebx, 1
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400123f0
mov rbx, qword [rsp + 0x280]
add rsp, 0x270
pop rdi
ret

Function at 0x14000a2c8
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, rcx
mov rcx, qword [rcx + 0x40]
mov rbx, r8
call fcn.140007a4c
mov rsi, rax
test rax, rax
je 0x14000a344
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov edi, eax
test rbx, rbx
je 0x14000a33f
cmp dword [rbx], 0x40
jb 0x14000a33f
mov rcx, qword [rbp + 0x40]
or dword [rbx + 4], 1
or qword [rbx + 0x30], 0xffffffffffffffff
mov qword [rbx + 8], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x87
mov rcx, rsi
mov qword [rbx + 0x10], rsi
call qword [sym.imp.USER32.dll_SendMessageW]
bt rax, 0xd
jb 0x14000a33f
or dword [rbx + 4], 0x80000002
mov rax, rdi
jmp 0x14000a348
or rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140014470
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov dword [rsp + 0x18], r8d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12d, r8d
mov ebx, edx
mov r15d, ecx
mov ecx, 8
call fcn.140019dfc
nop
cmp dword [0x140035218], 1
je 0x14001441c
mov dword [0x140035214], 1
mov byte [0x140035210], r12b
test ebx, ebx
jne 0x140014408
mov rcx, qword [0x140037470]
call sub.KERNEL32.dll_DecodePointer
mov rsi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400143f5
mov rcx, qword [0x140037468]
call sub.KERNEL32.dll_DecodePointer
mov rdi, rax
mov qword [rsp + 0x20], rax
mov r14, rsi
mov qword [rsp + 0x28], rsi
mov r13, rax
mov qword [rsp + 0x38], rax
sub rdi, 8
mov qword [rsp + 0x20], rdi
cmp rdi, rsi
jb 0x140014394
call fcn.1400163d0
cmp qword [rdi], rax
jne 0x140014394
jmp 0x14001437a
cmp rdi, rsi
jb 0x1400143f5
mov rcx, qword [rdi]
call sub.KERNEL32.dll_DecodePointer
mov rbx, rax
call fcn.1400163d0
mov qword [rdi], rax
call rbx
mov rcx, qword [0x140037470]
call sub.KERNEL32.dll_DecodePointer
mov rbx, rax
mov rcx, qword [0x140037468]
call sub.KERNEL32.dll_DecodePointer
cmp r14, rbx
jne 0x1400143d3
cmp r13, rax
je 0x1400143f3
mov r14, rbx
mov qword [rsp + 0x28], rbx
mov rsi, rbx
mov qword [rsp + 0x30], rbx
mov r13, rax
mov qword [rsp + 0x38], rax
mov rdi, rax
mov qword [rsp + 0x20], rax
jmp 0x14001437a
lea rdx, [0x140023800]
lea rcx, [0x1400237e8]
call fcn.1400141c4
lea rdx, [0x140023810]
lea rcx, [0x140023808]
call fcn.1400141c4
nop
test r12d, r12d
je 0x14001442b
mov ecx, 8
call fcn.140019cfc
test r12d, r12d
jne 0x140014456
mov dword [0x140035218], 1
lea ecx, [r12 + 8]
call fcn.140019cfc
mov ecx, r15d
call fcn.140014158
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
xor r8d, r8d
xor edx, edx
jmp 0x1400142e4

Function at 0x14001447c
Capabilities:
Terminate process

Disassembly:
xor r8d, r8d
lea edx, [r8 + 1]
jmp 0x1400142e4
Function at 0x1400145b7
Capabilities:
Terminate process

Disassembly:
cmp rcx, qword [0x14002ff30]
jne 0x14001240a
rol rcx, 0x10
test cx, 0xffff
jne 0x140012406
repz ret
ror rcx, 0x10
jmp 0x140014510
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x1400352c0]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov r11, qword [0x1400353b8]
mov qword [rsp + 0x58], r11
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x140014595
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [0x1400352c0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call sub.KERNEL32.dll_RtlVirtualUnwind
jmp 0x1400145b7
mov rax, qword [rsp + 0x88]
mov qword [0x1400353b8], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x140035358], rax
mov rax, qword [0x1400353b8]
mov qword [0x140035230], rax
mov rax, qword [rsp + 0x90]
mov qword [0x140035340], rax
mov dword [0x140035220], 0xc0000409
mov dword [0x140035224], 1
mov rax, qword [0x14002ff30]
mov qword [rsp + 0x68], rax
mov rax, qword [0x14002ff38]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x1400352b8], eax
mov ecx, 1
call fcn.14001a1d0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x1400267a0]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x1400352b8], 0
jne 0x14001463e
mov ecx, 1
call fcn.14001a1d0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x88
ret