joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001fb78
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x20
test rcx, rcx
jne 0x14001f9de
call fcn.140013720
mov dword [rax], 0x16
call fcn.140013a4c
mov eax, 0xffff
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x14001f9c0
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x14]
shr ecx, 0xc
test cl, 1
jne 0x14001f9c0
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp + 0x20]
shr ecx, 1
test cl, 1
je 0x14001fa10
lock or dword [rax + 0x14], 0x10
jmp 0x14001f9c0
lock or dword [rax + 0x14], 1
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x14]
test ecx, 0x4c0
jne 0x14001fa2d
mov rcx, qword [rbp + 0x20]
call fcn.14002107c
mov rax, qword [rbp + 0x20]
cmp dword [rax + 0x10], 1
jne 0x14001fa42
mov rcx, qword [rax]
mov sil, 1
mov r14b, byte [rcx]
jmp 0x14001fa48
xor sil, sil
xor r14b, r14b
mov rcx, qword [rax + 8]
mov qword [rax], rcx
mov rbx, qword [rbp + 0x20]
mov rcx, rbx
call fcn.14001d180
mov rdx, qword [rbp + 0x20]
mov ecx, eax
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 8]
call fcn.140020960
mov dword [rbx + 0x10], eax
mov rax, qword [rbp + 0x20]
mov edx, dword [rax + 0x10]
lea ecx, [rdx + 1]
cmp ecx, 2
ja 0x14001fa9b
neg edx
sbb ecx, ecx
and ecx, 8
add ecx, 8
lock or dword [rax + 0x14], ecx
mov rax, qword [rbp + 0x20]
and dword [rax + 0x10], 0
jmp 0x14001f9c0
mov ecx, dword [rax + 0x14]
test cl, 6
jne 0x14001fb07
mov rcx, qword [rbp + 0x20]
call fcn.14001d180
cmp eax, 0xffffffff
je 0x14001faee
mov rcx, qword [rbp + 0x20]
call fcn.14001d180
cmp eax, 0xfffffffe
je 0x14001faee
mov rbx, qword [rbp + 0x20]
mov rcx, rbx
call fcn.14001d180
movsxd rdi, eax
lea r15, [0x140046870]
mov rcx, rbx
sar rdi, 6
call fcn.14001d180
and eax, 0x3f
shl rax, 6
add rax, qword [r15 + rdi*8]
jmp 0x14001faf5
lea rax, [0x140044420]
mov al, byte [rax + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x14001fb07
mov rax, qword [rbp + 0x20]
lock or dword [rax + 0x14], 0x20
mov rax, qword [rbp + 0x20]
cmp dword [rax + 0x20], 0x200
jne 0x14001fb3d
mov ecx, dword [rax + 0x14]
shr ecx, 6
test cl, 1
je 0x14001fb39
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x14]
shr ecx, 8
test cl, 1
jne 0x14001fb39
mov rax, qword [rbp + 0x20]
mov dword [rax + 0x20], 0x1000
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
test sil, sil
je 0x14001fb5b
movzx edx, byte [rcx]
dec dword [rax + 0x10]
shl dx, 8
movzx ecx, r14b
or dx, cx
inc qword [rax]
jmp 0x14001fb66
movzx edx, word [rcx]
add dword [rax + 0x10], 0xfffffffe
add qword [rax], 2
movzx eax, dx
jmp 0x14001f9c5
jmp 0x14001f98c
Function at 0x14000ce40
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aeskeygenassist xmm0, xmmword [rdx], 2
movdqa xmmword [rcx], xmm0
ret

Function at 0x14000da30
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x14000da72
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 4
jb 0x14000da7a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x14000da8b
jmp 0x14000daa2
xor r10d, r10d
jmp 0x14000db2d
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x14000daa2
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x14000dab9
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x14000dad9
add r11, r8
jmp 0x14000dc0b
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x14000dba2
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x14000db50
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 4
jb 0x14000dbc0
mov r9d, dword [rdx + r10]
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x14000dbd2
jmp 0x14000dbed
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x14000dbed
lea rcx, [rdx + r8]
movzx esi, word [r10 + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x14000dc07
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x14000fda0
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
add rcx, 0x48
xorps xmm0, xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
mov rdx, rbp
mov r8d, 0x20
call fcn.140014320
test rax, rax
je 0x14000fe0b
mov qword [rbp + 0x28], rax
mov rcx, rax
mov qword [rbp + 0x30], rdx
call qword [rdx]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14000fe54
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x28]
call fcn.140011880
jmp 0x14000fe54
movaps xmm0, xmmword [rbp]
movaps xmm1, xmmword [rbp + 0x10]
movaps xmmword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x50]
lea r8, [0x1401cca54]
lea rdx, [rbp - 0x20]
mov r9d, 8
call fcn.140014110
mov rax, qword [rdi + 0x30]
mov qword [rdi + 0x38], rax
movaps xmm0, xmmword [rbp - 0x50]
movaps xmm1, xmmword [rbp - 0x40]
movaps xmm2, xmmword [rbp - 0x30]
movaps xmmword [rdi], xmm0
movaps xmmword [rdi + 0x10], xmm1
movaps xmmword [rdi + 0x20], xmm2
mov qword [rdi + 0x40], 0
mov rax, 0xffffffffffffff00
add rax, qword [rdi + 0x30]
mov qword [rdi + 0x38], rax
mov rcx, rdi
mov edx, 6
mov r8, rsi
add rsp, 0xc0
pop rdi
pop rsi
pop rbp
jmp fcn.140011c20
Function at 0x1400145d0
Capabilities:
Generate random numbers via rtlgenrandom
Generate random numbers via winapi

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
test rdx, rdx
je 0x140014642
mov rsi, rdx
mov rdi, rcx
mov r14d, 0xffffffff
mov r15, qword [sym.imp.bcrypt.dll_BCryptGenRandom]
mov r12, qword [sym.imp.ADVAPI32.dll_SystemFunction036]
jmp 0x140014608
add rdi, rbx
sub rsi, rbx
je 0x140014642
cmp rsi, r14
mov ebx, 0xffffffff
cmovb rbx, rsi
xor ecx, ecx
mov rdx, rdi
mov r8d, ebx
mov r9d, 2
call r15
cmp eax, 0xbfffffff
jbe 0x140014600
mov ebp, eax
mov rcx, rdi
mov edx, ebx
call r12
test al, al
jne 0x140014600
and ebp, 0x7fffffff
jmp 0x140014644
xor ebp, ebp
mov eax, ebp
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140019d90
Capabilities:
Encode data using xor
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc0
mov rax, rcx
cmp dx, 3
jne 0x140019dd1
mov qword [rax + 8], 2
lea rcx, str.Compression_method_not_supportedE
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], 0x20
mov qword [rax], 2
jmp 0x140019f8a
mov r10, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
test r10, r10
je 0x140019e9e
mov r11, qword [rsp + 0x140]
cmp byte [rsp + 0x128], 0
je 0x140019ea5
mov rdx, qword [rsp + 0x120]
mov r8, rdx
shr r8, 0x31
and r8d, 0x7f
mov rsi, rdx
shr rsi, 0x23
and esi, 0x1fe0
or esi, r8d
shr rdx, 0x15
and edx, 0xf800
or edx, esi
shl edx, 0x10
mov r8d, 1
mov rsi, rax
test r11, r11
je 0x140019eb2
mov eax, 0x34567890
mov ebx, 0x23456789
mov edi, 0x12345678
xor r14d, r14d
lea r15, [0x1401cdb94]
nop dword [rax]
movzx ebp, byte [r10 + r14]
xor bpl, dil
shr edi, 8
movzx r12d, bpl
xor edi, dword [r15 + r12*4]
movzx ebp, dil
add ebp, ebx
imul ebx, ebp, 0x8088405
inc ebx
mov ebp, ebx
shr ebp, 0x18
movzx r12d, al
xor r12d, ebp
shr eax, 8
xor eax, dword [r15 + r12*4]
inc r14
cmp r11, r14
jne 0x140019e60
jmp 0x140019ec1
xor edx, edx
jmp 0x140019f58
xor r8d, r8d
xor edx, edx
mov rsi, rax
test r11, r11
jne 0x140019e40
mov edi, 0x12345678
mov ebx, 0x23456789
mov eax, 0x34567890
mov r10, qword [rcx + 0x10]
mov qword [rsp + 0x50], r10
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x60], eax
shl r9, 0x20
or r8, r9
or r8, rdx
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x40]
call fcn.14001b170
cmp qword [rsp + 0x90], 0
mov rdx, qword [rsp + 0x98]
je 0x140019f26
mov rax, rsi
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], rdx
mov ecx, 2
mov qword [rax], rcx
jmp 0x140019f8a
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x70], xmm0
test rdx, rdx
mov rax, rsi
je 0x140019f9c
mov r8, qword [rsp + 0xb8]
lea rcx, [rsp + 0x70]
mov r9, qword [rcx + 0x10]
mov qword [rsp + 0x30], r9
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x20], xmm0
mov qword [rax], 0
mov qword [rax + 8], rdx
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], r8
add rsp, 0xc0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ecx, 1
jmp 0x140019f21
Function at 0x14001b170
Capabilities:
Encode data using xor
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x20]
mov r8d, 0xc
mov rcx, rdi
call fcn.14001aff0
test rax, rax
je 0x14001b1b9
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x14001b27b
mov eax, dword [rdi + 0x20]
mov ecx, dword [rdi + 0x18]
mov edx, dword [rdi + 0x1c]
xor r9d, r9d
lea r8, [0x1401cdb94]
nop dword [rax]
mov r11d, eax
or r11d, 3
mov r10d, r11d
and r10d, 0xfffffffe
imul r10d, r11d
shr r10d, 8
xor r10b, byte [rsp + r9 + 0x20]
mov byte [rsp + r9 + 0x20], r10b
lea r11, [r9 + 1]
mov r9d, ecx
xor r9b, r10b
shr ecx, 8
movzx r9d, r9b
xor ecx, dword [r8 + r9*4]
movzx r9d, cl
add r9d, edx
imul edx, r9d, 0x8088405
inc edx
mov r9d, edx
shr r9d, 0x18
movzx r10d, al
xor r10d, r9d
shr eax, 8
xor eax, dword [r8 + r10*4]
mov r9, r11
cmp r11, 0xc
jne 0x14001b1d0
mov dword [rdi + 0x20], eax
mov dword [rdi + 0x18], ecx
mov dword [rdi + 0x1c], edx
movzx eax, byte [rsp + 0x2b]
test bx, bx
je 0x14001b26d
shr ebx, 0x18
cmp al, bl
jne 0x14001b275
mov rax, qword [rdi + 0x20]
mov qword [rsi + 0x28], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov qword [rsi], 0
jmp 0x14001b27b
shr rbx, 0x38
cmp al, bl
je 0x14001b24d
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
Function at 0x14001b290
Capabilities:
Encode data using xor
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x14001b2e1
cmp rdi, r14
mov r8, r14
cmovb r8, rdi
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov rdx, rbx
call qword [rax + 0x18]
mov rcx, rax
mov eax, 1
test rcx, rcx
jne 0x14001b2e5
sub r14, rdx
jb 0x14001b384
mov qword [rsi + 0x10], r14
jmp 0x14001b2e3
xor edx, edx
xor eax, eax
test rdi, rdi
je 0x14001b377
mov r8d, dword [rsi + 0x20]
mov ecx, dword [rsi + 0x18]
mov r9d, dword [rsi + 0x1c]
xor r10d, r10d
lea r11, [0x1401cdb94]
nop word cs:[rax + rax]
mov r14d, r8d
or r14d, 3
mov ebp, r14d
and ebp, 0xfffffffe
imul ebp, r14d
shr ebp, 8
xor bpl, byte [rbx + r10]
mov r14d, ecx
xor r14b, bpl
shr ecx, 8
movzx r14d, r14b
xor ecx, dword [r11 + r14*4]
movzx r14d, cl
add r14d, r9d
imul r9d, r14d, 0x8088405
inc r9d
mov r14d, r9d
shr r14d, 0x18
movzx r15d, r8b
xor r15d, r14d
shr r8d, 8
xor r8d, dword [r11 + r15*4]
mov byte [rbx + r10], bpl
inc r10
cmp rdi, r10
jne 0x14001b310
mov dword [rsi + 0x20], r8d
mov dword [rsi + 0x18], ecx
mov dword [rsi + 0x1c], r9d
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rax, str.number_of_read_bytes_exceeds_limit
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
lea rdx, str._rustc_129f3b9964af4d4a709d1383930ade12dfe7c081library_std_srciomod.rs_rustc_129f3b9964af4d4a709d1383930ade12dfe7c081librarycore_srcio_borrowed_buf.rs
lea rcx, [rsp + 0x28]
call fcn.1401c9f00
int3
Function at 0x140021070
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
sub rsp, 0x48
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
cmp r8, 0x80
jb 0x14002128d
movdqu xmm4, xmmword [rdx]
movdqu xmm3, xmmword [rdx + 0x10]
movdqu xmm2, xmmword [rdx + 0x20]
movdqu xmm1, xmmword [rdx + 0x30]
not ecx
movd xmm0, ecx
pxor xmm0, xmm4
add rdx, 0x40
add r8, 0xffffffffffffffc0
movabs rax, 0x154442bd4
movq xmm4, rax
movdqa xmm5, xmmword [0x1401cf9d0]
nop word cs:[rax + rax]
movdqa xmm6, xmm0
pclmulqdq xmm6, xmm4, 0
movdqa xmm7, xmm0
pclmulqdq xmm7, xmm5, 0x11
movdqu xmm0, xmmword [rdx]
pxor xmm0, xmm6
pxor xmm0, xmm7
movdqu xmm6, xmmword [rdx + 0x10]
movdqu xmm7, xmmword [rdx + 0x20]
movdqu xmm8, xmmword [rdx + 0x30]
movdqa xmm9, xmm3
pclmulqdq xmm9, xmm4, 0
pxor xmm9, xmm6
pclmulqdq xmm3, xmm5, 0x11
pxor xmm3, xmm9
movdqa xmm6, xmm2
pclmulqdq xmm6, xmm4, 0
pxor xmm6, xmm7
pclmulqdq xmm2, xmm5, 0x11
pxor xmm2, xmm6
movdqa xmm6, xmm1
pclmulqdq xmm6, xmm4, 0
pxor xmm6, xmm8
pclmulqdq xmm1, xmm5, 0x11
pxor xmm1, xmm6
add rdx, 0x40
add r8, 0xffffffffffffffc0
cmp r8, 0x3f
ja 0x1400210e0
movabs rax, 0x1751997d0
movq xmm4, rax
movdqa xmm6, xmm0
pclmulqdq xmm6, xmm4, 0
movdqa xmm5, xmmword [0x1401cf9e0]
pclmulqdq xmm0, xmm5, 0x11
pxor xmm0, xmm6
pxor xmm0, xmm3
movdqa xmm3, xmm0
pclmulqdq xmm3, xmm4, 0
pclmulqdq xmm0, xmm5, 0x11
pxor xmm0, xmm3
pxor xmm0, xmm2
movdqa xmm2, xmm0
pclmulqdq xmm2, xmm4, 0
pclmulqdq xmm0, xmm5, 0x11
pxor xmm0, xmm2
pxor xmm0, xmm1
cmp r8, 0x10
jb 0x14002120a
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rdx]
add r8, 0xfffffffffffffff0
add rdx, 0x10
movdqa xmm2, xmm0
pclmulqdq xmm2, xmm4, 0
pxor xmm2, xmm1
pclmulqdq xmm0, xmm5, 0x11
pxor xmm0, xmm2
cmp r8, 0xf
ja 0x1400211e0
movdqa xmm1, xmmword [0x1401cf9e0]
pclmulqdq xmm1, xmm0, 1
psrldq xmm0, 8
pxor xmm0, xmm1
pxor xmm1, xmm1
pxor xmm2, xmm2
pblendw xmm2, xmm0, 3
movabs rax, 0x163cd6124
movq xmm3, rax
pclmulqdq xmm3, xmm2, 0
psrldq xmm0, 4
pxor xmm0, xmm3
pxor xmm2, xmm2
pblendw xmm2, xmm0, 3
pclmulqdq xmm2, xmmword [0x1401cf9f0], 0x10
pblendw xmm2, xmm1, 0xfc
movabs rax, 0x1db710641
movq xmm1, rax
pclmulqdq xmm1, xmm2, 0
pxor xmm1, xmm0
pextrd ecx, xmm1, 1
not ecx
test r8, r8
je 0x1400212ab
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
jmp fcn.140020b50
mov eax, ecx
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x140070200
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov r14, rdx
mov qword [rbp - 0x30], rcx
add r9, r8
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], r9
mov word [rbp - 0x18], 0
mov dword [rbp - 0x10], 1
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0x28]
call fcn.140093050
mov dword [rbp - 4], 0x800
mov dword [rbp - 8], 0
movzx eax, byte [0x1402c3be1]
mov ecx, 0x800
mov edx, 1
call fcn.140011870
test rax, rax
je 0x14007039e
mov rbx, rax
mov qword [rbp - 0x28], 0x800
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0
mov rdi, qword [rbp - 0x48]
lea r12, [rbp - 4]
lea r15, [rbp - 8]
mov rsi, qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r13, qword [rbp - 0x28]
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x38], rax
sub r13, rax
nop word cs:[rax + rax]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rbx
mov rcx, r14
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call rsi
cmp eax, 0xea
jne 0x1400702fb
mov r8d, dword [rbp - 4]
cmp r13, r8
jae 0x1400702c0
lea rcx, [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
call fcn.1401c1ee0
mov rbx, qword [rbp - 0x20]
jmp 0x1400702a6
test eax, eax
jne 0x14007031e
mov eax, dword [rbp - 4]
mov qword [rbp - 0x18], rax
mov eax, dword [rbp - 8]
cmp eax, 0xb
mov rdx, qword [rbp - 0x30]
jbe 0x140070381
movabs rax, 0xde00000002
jmp 0x14007032a
shl rax, 0x20
or rax, 2
mov rdx, qword [rbp - 0x30]
mov qword [rdx + 8], rax
movabs rax, 0x8000000000000000
mov qword [rdx], rax
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x140070352
mov r8d, 1
mov rcx, rbx
call fcn.140011880
mov rdx, qword [rbp - 0x50]
test rdx, rdx
je 0x14007036c
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call fcn.140011880
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rbp - 0x18]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rdx], xmm0
mov byte [rdx + 0x18], al
mov rdx, qword [rbp - 0x50]
test rdx, rdx
jne 0x14007035b
jmp 0x14007036c
mov ecx, 1
mov edx, 0x800
call fcn.1401c9c80
ud2
Function at 0x140085fb0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x78
mov rsi, rdx
cmp dword [rcx], 2
jne 0x140086046
movdqu xmm0, xmmword [rcx + 8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdetp]
movdqa xmmword [rsp + 0x30], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x1401cc560]
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x50], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
mov rdi, qword [rsi]
xor eax, eax
test rdi, rdi
setne al
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.14000da30
test rdi, rdi
je 0x1400860d5
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x30]
jmp 0x1400860ee
mov rdx, qword [rsi]
xor ecx, ecx
test rdx, rdx
setne cl
movabs rax, 0xcbf29ce484222325
xor rax, rcx
movabs rcx, 0x1efac7090aef4a21
imul rax, rcx
test rdx, rdx
je 0x1400861e6
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x140086268
mov rcx, qword [rsi + 8]
movabs rdx, 0x100000001b3
mov r10, r9
and r10, 7
je 0x1400861f3
mov r11, rax
mov r8, rcx
nop word cs:[rax + rax]
movzx eax, byte [r8]
inc r8
xor rax, r11
imul rax, rdx
mov r11, rax
dec r10
jne 0x1400860b0
cmp r9, 8
jae 0x1400861fc
jmp 0x140086268
movzx eax, byte [rsi + 8]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.14000da30
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
shl r9, 0x38
or r9, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
add r8, rcx
rol rcx, 0xd
xor rax, r9
xor rcx, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x38]
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rax, r8
xor rcx, rdx
rol rdx, 0x20
xor r8, r9
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
add rdx, rax
shl rax, 0x10
xor rax, rdx
shr rax, 0x2b
add rdx, rcx
shr rcx, 0x2f
xor rcx, rax
mov rax, rdx
shr rax, 0x20
xor rax, rdx
xor rax, rcx
jmp 0x140086268
movzx edx, byte [rsi + 8]
xor rax, rdx
imul rax, rcx
jmp 0x140086268
mov r8, rcx
cmp r9, 8
jb 0x140086268
add rcx, r9
nop
movzx r9d, byte [r8]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 1]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 2]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 3]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 4]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 5]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 6]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 7]
add r8, 8
xor rax, r9
imul rax, rdx
cmp r8, rcx
jne 0x140086200
and eax, 0x7fff
add rsp, 0x78
pop rdi
pop rsi
ret
Function at 0x140086640
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x78
cmp dword [rcx], 2
jne 0x1400866d6
movdqu xmm0, xmmword [rcx + 8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdetp]
pshufd xmm2, xmm0, 0xee
pxor xmm2, xmmword [0x1401cc560]
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmmword [rsp + 0x40], xmm2
movdqa xmmword [rsp + 0x50], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
mov rsi, qword [rdx]
mov rdi, qword [rsi]
xor eax, eax
test rdi, rdi
setne al
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.14000da30
test rdi, rdi
je 0x140086765
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x30]
jmp 0x14008677e
mov rcx, qword [rdx]
mov r8, qword [rcx]
xor edx, edx
test r8, r8
setne dl
movabs rax, 0xcbf29ce484222325
xor rax, rdx
movabs rdx, 0x1efac7090aef4a21
imul rax, rdx
test r8, r8
je 0x140086876
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x1400868f8
mov rcx, qword [rcx + 8]
movabs rdx, 0x100000001b3
mov r10, r9
and r10, 7
je 0x140086883
mov r11, rax
mov r8, rcx
nop word cs:[rax + rax]
movzx eax, byte [r8]
inc r8
xor rax, r11
imul rax, rdx
mov r11, rax
dec r10
jne 0x140086740
cmp r9, 8
jae 0x14008688c
jmp 0x1400868f8
movzx eax, byte [rsi + 8]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.14000da30
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
shl r9, 0x38
or r9, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
add r8, rcx
rol rcx, 0xd
xor rax, r9
xor rcx, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x38]
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rax, r8
xor rcx, rdx
rol rdx, 0x20
xor r8, r9
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
add rdx, rax
shl rax, 0x10
xor rax, rdx
shr rax, 0x2b
add rdx, rcx
shr rcx, 0x2f
xor rcx, rax
mov rax, rdx
shr rax, 0x20
xor rax, rdx
xor rax, rcx
jmp 0x1400868f8
movzx ecx, byte [rcx + 8]
xor rax, rcx
imul rax, rdx
jmp 0x1400868f8
mov r8, rcx
cmp r9, 8
jb 0x1400868f8
add rcx, r9
nop
movzx r9d, byte [r8]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 1]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 2]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 3]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 4]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 5]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 6]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 7]
add r8, 8
xor rax, r9
imul rax, rdx
cmp r8, rcx
jne 0x140086890
and eax, 0x7fff
add rsp, 0x78
pop rdi
pop rsi
ret