joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140057ef0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
cmp qword [rdx + 0x18], 0x10
lea rsi, [rcx + 0x10]
mov r10, qword [rdx + 0x10]
mov rdi, rdx
mov rbx, rcx
mov r8, rdx
jb 0x140057f1a
mov r8, qword [rdx]
xor edx, edx
movabs r9, 0xcbf29ce484222325
test r10, r10
je 0x140057f54
movabs rcx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
xor r9, rax
imul r9, rcx
cmp rdx, r10
jb 0x140057f40
mov r8, rdi
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.14005c550
mov rax, qword [rax + 8]
test rax, rax
jne 0x140057f71
mov rax, qword [rsi + 8]
cmp rax, qword [rbx + 0x18]
je 0x140057f8d
mov eax, dword [rax + 0x30]
mov dword [rdi + 0x40], eax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
lea rcx, [rbx + 0x58]
mov rdx, rsi
call fcn.140053510
mov r8, rdi
mov dword [rdi + 0x40], eax
lea rdx, [rsp + 0x20]
mov rcx, rsi
mov ebx, eax
call fcn.14005b8c0
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rax]
mov dword [rcx + 0x30], ebx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0x14005b8c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rbp
push rdi
push r12
push r15
sub rsp, 0x30
cmp qword [r8 + 0x18], 0x10
mov rbx, r8
mov r10, qword [r8 + 0x10]
mov r15, rdx
mov rbp, rcx
mov r9, r8
jb 0x14005b8e6
mov r9, qword [r8]
xor r12d, r12d
movabs rdi, 0xcbf29ce484222325
mov r8d, r12d
test r10, r10
je 0x14005b924
movabs rcx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [r8 + r9]
inc r8
xor rdi, rax
imul rdi, rcx
cmp r8, r10
jb 0x14005b910
mov r9, rdi
lea rdx, [rsp + 0x20]
mov r8, rbx
mov rcx, rbp
call fcn.14005c550
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14005b957
mov qword [r15], rax
mov rax, r15
mov byte [r15 + 8], r12b
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rbp
pop rbx
ret
movabs rax, 0x492492492492492
cmp qword [rbp + 0x10], rax
je 0x14005bb0b
mov qword [rsp + 0x60], rsi
mov ecx, 0x38
mov qword [rsp + 0x70], r14
call fcn.14005caa0
mov rdx, rbx
mov rsi, rax
lea rcx, [rax + 0x10]
call fcn.1400394a0
mov dword [rsi + 0x30], r12d
xorps xmm0, xmm0
mov rcx, qword [rbp + 0x10]
add rcx, 1
js 0x14005b9a6
cvtsi2ss xmm0, rcx
jmp 0x14005b9bb
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbp + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x14005b9ce
cvtsi2ss xmm1, rcx
jmp 0x14005b9e3
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbp]
jbe 0x14005ba9a
mov rcx, rbp
call fcn.14005bda0
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x18]
and rax, rdi
mov rcx, qword [rbp + 8]
add rax, rax
mov rbx, qword [rdx + rax*8 + 8]
cmp rbx, rcx
jne 0x14005ba21
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], r12
jmp 0x14005ba8f
mov r12, qword [rsi + 0x20]
mov qword [rsp + 0x68], r13
mov r13, qword [rdx + rax*8]
nop
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x14005ba42
mov rdx, qword [rdx]
cmp qword [rsi + 0x28], 0x10
lea rcx, [rsi + 0x10]
jb 0x14005ba51
mov rcx, qword [rsi + 0x10]
cmp r12, rax
jne 0x14005ba62
mov r8, r12
call fcn.140172450
test eax, eax
je 0x14005ba6d
cmp rbx, r13
je 0x14005ba7c
mov rbx, qword [rbx + 8]
jmp 0x14005ba30
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
jmp 0x14005ba8a
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
mov r13, qword [rsp + 0x68]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rdx, qword [rsp + 0x20]
mov r14, qword [rsp + 0x70]
mov r8, qword [rdx + 8]
inc qword [rbp + 0x10]
mov qword [rsi], rdx
mov qword [rsi + 8], r8
mov qword [r8], rsi
mov qword [rdx + 8], rsi
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x18]
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [rbp + 8]
jne 0x14005bad8
mov qword [rcx + rax*8], rsi
jmp 0x14005baea
cmp r9, rdx
jne 0x14005bae3
mov qword [rcx + rax*8], rsi
jmp 0x14005baef
cmp qword [rcx + rax*8 + 8], r8
jne 0x14005baef
mov qword [rcx + rax*8 + 8], rsi
mov qword [r15], rsi
mov rax, r15
mov rsi, qword [rsp + 0x60]
mov byte [r15 + 8], 1
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rbp
pop rbx
ret
lea rcx, str.unordered_map_set_too_long
call fcn.14016de78
int3
Function at 0x14005be50
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x14005bfff
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x40], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14003a420
mov qword [rsi + 0x38], rdi
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14005bfc4
mov qword [rsp + 0x38], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r11d, byte [rcx + 0x10]
mov rdx, qword [rdx]
xor r11, rbp
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x12]
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x13]
imul r11, rdi
xor r11, rax
imul r11, rdi
and r11, qword [rsi + 0x30]
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x14005bf3d
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x14005bfb3
mov rax, qword [r11 + 8]
mov r8d, dword [rcx + 0x10]
cmp r8d, dword [rax + 0x10]
jne 0x14005bf7a
mov r8, qword [rax]
cmp r8, rcx
je 0x14005bf74
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x14005bfb3
cmp r9, rax
je 0x14005bf8f
nop
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
je 0x14005bfd9
cmp r9, rax
jne 0x14005bf80
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x14005bef0
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x14005bfb3
lea rcx, str.invalid_hash_bucket_count
call fcn.14016de78
int3
Function at 0x14005d618
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14005d662
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14005d662
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14005d662
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14005d662
cmp dword [rcx + 0x84], 0xe
jbe 0x14005d662
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14005d664
xor al, al
add rsp, 0x28
ret
Function at 0x1400d28f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x20
mov r15d, dword [rsp + 0x88]
mov rbp, rcx
movsxd rcx, dword [rsp + 0x80]
mov rdi, r9
mov r12, rcx
mov r11, r8
mov rsi, rdx
test r15d, r15d
je 0x1400d2ae8
mov qword [rsp + 0x50], rbx
lea eax, [rcx - 0x10]
mov qword [rsp + 0x18], r13
movsxd r13, eax
lea eax, [rcx - 4]
movsxd rbx, eax
mov qword [rsp + 0x10], r14
mov r14, qword [rsp + 0x70]
mov qword [rsp + 8], rbx
mov qword [rsp], r13
nop word [rax + rax]
dec r15d
xor r10d, r10d
test r13, r13
js 0x1400d29ca
movdqa xmm2, xmmword [0x1401cf2e0]
lea rcx, [r13 + 0x10]
movdqa xmm3, xmmword [0x1401cab10]
mov rdx, rbp
shr rcx, 4
mov r8, r14
mov r10, rcx
sub rdx, r11
sub r8, r11
mov rax, r11
shl r10, 4
nop dword [rax]
movdqu xmm1, xmmword [rdx + rax]
movdqu xmm0, xmmword [rax]
lea rax, [rax + 0x10]
pxor xmm1, xmm2
pxor xmm0, xmm2
pcmpgtb xmm1, xmm0
pxor xmm1, xmm3
movdqu xmmword [r8 + rax - 0x10], xmm1
sub rcx, 1
jne 0x1400d29a0
cmp r10, rbx
jg 0x1400d2a72
sub rbx, r10
lea r9, [r11 + 1]
add r9, r10
shr rbx, 2
mov rdi, rbp
mov rsi, r14
sub rdi, r11
sub rsi, r11
inc rbx
mov r13d, 0xff
lea r10, [r10 + rbx*4]
nop word [rax + rax]
movzx eax, byte [r9 - 1]
xor ecx, ecx
cmp byte [rdi + r9 - 1], al
movzx r8d, byte [r9 + rdi]
movzx edx, byte [r9]
lea r9, [r9 + 4]
cmovbe ecx, r13d
xor eax, eax
mov byte [r9 + rsi - 5], cl
cmp r8b, dl
cmovbe eax, r13d
xor ecx, ecx
mov byte [r9 + rsi - 4], al
movzx eax, byte [r9 - 3]
cmp byte [rdi + r9 - 3], al
movzx r8d, byte [rdi + r9 - 2]
movzx edx, byte [r9 - 2]
cmovbe ecx, r13d
xor eax, eax
mov byte [rsi + r9 - 3], cl
cmp r8b, dl
cmovbe eax, r13d
mov byte [rsi + r9 - 2], al
sub rbx, 1
jne 0x1400d2a00
mov r13, qword [rsp]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x58]
cmp r10, r12
jge 0x1400d2ac0
mov r9, rbp
lea rax, [r10 + r11]
mov rbx, r14
sub r9, r11
sub rbx, r11
mov r8, r12
sub r8, r10
mov r13d, 0xff
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
lea rax, [rax + 1]
xor edx, edx
cmp byte [r9 + rax - 1], cl
cmovbe edx, r13d
mov byte [rbx + rax - 1], dl
sub r8, 1
jne 0x1400d2aa0
mov r13, qword [rsp]
add r14, qword [rsp + 0x78]
add rbp, rsi
mov rbx, qword [rsp + 8]
add r11, rdi
test r15d, r15d
jne 0x1400d2960
mov r14, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400d2b00
Capabilities:
Encode data using xor

Disassembly:
push rdi
push r12
push r14
push r15
sub rsp, 0x28
mov r12d, dword [rsp + 0x88]
mov r14, rcx
movsxd rcx, dword [rsp + 0x80]
mov rdi, r8
shr rdx, 1
mov r15, rcx
shr r9, 1
mov qword [rsp + 0x58], rcx
test r12d, r12d
je 0x1400d2ceb
mov qword [rsp + 0x50], rbx
lea eax, [rcx - 0x10]
mov rbx, qword [rsp + 0x70]
lea r10, [rdx + rdx]
mov qword [rsp + 0x20], rbp
lea r11, [r9 + r9]
mov qword [rsp + 0x18], rsi
mov esi, 0xff
mov qword [rsp + 0x10], r13
movsxd r13, eax
lea eax, [rcx - 4]
movsxd r8, eax
mov qword [rsp + 8], r8
mov qword [rsp + 0x68], r10
mov qword [rsp], r11
nop dword [rax]
dec r12d
xor eax, eax
test r13, r13
js 0x1400d2bdb
movdqa xmm3, xmmword [0x1401cab10]
lea rcx, [rdi + 0x10]
mov rdx, r14
sub rdx, rdi
nop dword [rax]
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm2, xmmword [rdx + rcx - 0x10]
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x20]
pcmpgtw xmm2, xmm0
movdqu xmm0, xmmword [rcx - 0x20]
pxor xmm2, xmm3
pcmpgtw xmm1, xmm0
pxor xmm1, xmm3
packsswb xmm2, xmm1
movdqu xmmword [rax + rbx], xmm2
add rax, 0x10
cmp rax, r13
jle 0x1400d2ba0
cmp rax, r8
jg 0x1400d2c87
lea r10, [rax + 1]
mov r11, r8
sub r11, rax
lea rsi, [rbx + 2]
add rsi, rax
shr r11, 2
mov rbp, r14
lea r10, [rdi + r10*2]
sub rbp, rdi
mov r15d, 0xff
inc r11
lea rax, [rax + r11*4]
movzx ecx, word [r10 - 2]
lea rsi, [rsi + 4]
movzx r9d, word [r10 + rbp]
xor edx, edx
cmp word [r10 + rbp - 2], cx
movzx r8d, word [r10]
lea r10, [r10 + 8]
cmovle edx, r15d
xor ecx, ecx
mov byte [rsi - 6], dl
cmp r9w, r8w
cmovle ecx, r15d
xor edx, edx
mov byte [rsi - 5], cl
movzx ecx, word [r10 - 6]
cmp word [r10 + rbp - 6], cx
movzx r9d, word [r10 + rbp - 4]
movzx r8d, word [r10 - 4]
cmovle edx, r15d
xor ecx, ecx
mov byte [rsi - 4], dl
cmp r9w, r8w
cmovle ecx, r15d
mov byte [rsi - 3], cl
sub r11, 1
jne 0x1400d2c10
mov r15, qword [rsp + 0x58]
mov esi, 0xff
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp]
cmp rax, r15
jge 0x1400d2cbe
mov r9, r14
lea r8, [rdi + rax*2]
sub r9, rdi
nop word [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
xor edx, edx
cmp word [r9 + r8 - 2], cx
cmovle edx, esi
mov byte [rax + rbx], dl
inc rax
cmp rax, r15
jl 0x1400d2ca0
add rbx, qword [rsp + 0x78]
add r14, r10
mov r8, qword [rsp + 8]
add rdi, r11
test r12d, r12d
jne 0x1400d2b80
mov r13, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
add rsp, 0x28
pop r15
pop r14
pop r12
pop rdi
ret
Function at 0x1400d2d00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r14
push r15
sub rsp, 0x28
mov r12d, dword [rsp + 0x88]
mov r15, rcx
movsxd rcx, dword [rsp + 0x80]
mov r14, r8
shr rdx, 1
mov rbp, rcx
shr r9, 1
mov qword [rsp + 0x58], rcx
test r12d, r12d
je 0x1400d2f1b
mov qword [rsp + 0x50], rbx
lea eax, [rcx - 0x10]
mov qword [rsp + 0x20], rsi
lea r10, [rdx + rdx]
mov qword [rsp + 0x18], rdi
lea r11, [r9 + r9]
mov rdi, qword [rsp + 0x70]
mov ebx, 0xff
mov qword [rsp + 0x10], r13
movsxd r13, eax
lea eax, [rcx - 4]
movsxd r8, eax
mov qword [rsp + 8], r8
mov qword [rsp + 0x68], r10
mov qword [rsp], r11
nop dword [rax]
dec r12d
xor eax, eax
test r13, r13
js 0x1400d2dff
movdqa xmm4, xmmword [0x1401cf2c0]
lea rcx, [r14 + 0x10]
movdqa xmm5, xmmword [0x1401cab10]
mov rdx, r15
sub rdx, r14
nop dword [rax]
nop dword [rax + rax]
movdqu xmm3, xmmword [rdx + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm2, xmmword [rdx + rcx]
lea rcx, [rcx + 0x20]
pxor xmm3, xmm4
pxor xmm0, xmm4
pcmpgtw xmm3, xmm0
pxor xmm2, xmm4
movdqu xmm0, xmmword [rcx - 0x20]
movdqa xmm1, xmm4
pxor xmm3, xmm5
pxor xmm1, xmm0
pcmpgtw xmm2, xmm1
pxor xmm2, xmm5
packsswb xmm3, xmm2
movdqu xmmword [rax + rdi], xmm3
add rax, 0x10
cmp rax, r13
jle 0x1400d2db0
cmp rax, r8
jg 0x1400d2eb7
lea r10, [rax + 1]
mov rbx, r8
sub rbx, rax
lea r11, [rdi + 2]
add r11, rax
shr rbx, 2
mov rsi, r15
lea r10, [r14 + r10*2]
sub rsi, r14
mov ebp, 0xff
inc rbx
lea rax, [rax + rbx*4]
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r10 - 2]
lea r11, [r11 + 4]
movzx r9d, word [r10 + rsi]
xor edx, edx
cmp word [r10 + rsi - 2], cx
movzx r8d, word [r10]
lea r10, [r10 + 8]
cmovbe edx, ebp
xor ecx, ecx
mov byte [r11 - 6], dl
cmp r9w, r8w
cmovbe ecx, ebp
xor edx, edx
mov byte [r11 - 5], cl
movzx ecx, word [r10 - 6]
cmp word [r10 + rsi - 6], cx
movzx r9d, word [r10 + rsi - 4]
movzx r8d, word [r10 - 4]
cmovbe edx, ebp
xor ecx, ecx
mov byte [r11 - 4], dl
cmp r9w, r8w
cmovbe ecx, ebp
mov byte [r11 - 3], cl
sub rbx, 1
jne 0x1400d2e40
mov rbp, qword [rsp + 0x58]
mov ebx, 0xff
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp]
cmp rax, rbp
jge 0x1400d2eee
mov r9, r15
lea r8, [r14 + rax*2]
sub r9, r14
nop word [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
xor edx, edx
cmp word [r9 + r8 - 2], cx
cmovbe edx, ebx
mov byte [rax + rdi], dl
inc rax
cmp rax, rbp
jl 0x1400d2ed0
add rdi, qword [rsp + 0x78]
add r15, r10
mov r8, qword [rsp + 8]
add r14, r11
test r12d, r12d
jne 0x1400d2d80
mov r13, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
add rsp, 0x28
pop r15
pop r14
pop r12
pop rbp
ret
Function at 0x1400d2f30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r14
push r15
sub rsp, 0x28
mov r12d, dword [rsp + 0x88]
mov r15, rcx
movsxd rcx, dword [rsp + 0x80]
mov r14, r8
shr rdx, 2
mov rbp, rcx
shr r9, 2
mov qword [rsp + 0x58], rcx
test r12d, r12d
je 0x1400d3149
mov qword [rsp + 0x50], rbx
lea eax, [rcx - 0x10]
mov qword [rsp + 0x20], rsi
lea r10, [rdx*4]
mov rsi, qword [rsp + 0x70]
lea r11, [r9*4]
mov qword [rsp + 0x18], rdi
mov ebx, 0xff
mov qword [rsp + 0x10], r13
movsxd r13, eax
lea eax, [rcx - 4]
movsxd r8, eax
mov qword [rsp + 8], r8
mov qword [rsp + 0x68], r10
mov qword [rsp], r11
nop dword [rax]
nop word [rax + rax]
dec r12d
xor eax, eax
test r13, r13
js 0x1400d3049
movdqa xmm4, xmmword [0x1401cab10]
lea rdx, [r14 + 0x10]
mov rcx, r15
sub rcx, r14
movdqu xmm0, xmmword [rdx - 0x10]
movdqu xmm3, xmmword [rcx + rdx - 0x10]
movdqu xmm1, xmmword [rcx + rdx]
movdqu xmm2, xmmword [rcx + rdx + 0x10]
lea rdx, [rdx + 0x40]
pcmpgtd xmm3, xmm0
movdqu xmm0, xmmword [rdx - 0x40]
pxor xmm3, xmm4
pcmpgtd xmm1, xmm0
movdqu xmm0, xmmword [rdx - 0x30]
pxor xmm1, xmm4
packssdw xmm3, xmm1
pcmpgtd xmm2, xmm0
movdqu xmm0, xmmword [rdx - 0x20]
movdqu xmm1, xmmword [rcx + rdx - 0x20]
pxor xmm2, xmm4
pcmpgtd xmm1, xmm0
pxor xmm1, xmm4
packssdw xmm2, xmm1
packsswb xmm3, xmm2
movdqu xmmword [rax + rsi], xmm3
add rax, 0x10
cmp rax, r13
jle 0x1400d2fe0
cmp rax, r8
jg 0x1400d30ed
lea r10, [rax + 1]
mov rbx, r8
sub rbx, rax
lea r11, [rsi + 2]
add r11, rax
shr rbx, 2
mov rdi, r15
lea r10, [r14 + r10*4]
sub rdi, r14
mov ebp, 0xff
inc rbx
lea rax, [rax + rbx*4]
nop dword [rax]
mov ecx, dword [r10 - 4]
lea r11, [r11 + 4]
mov r9d, dword [rdi + r10]
xor edx, edx
cmp dword [rdi + r10 - 4], ecx
mov r8d, dword [r10]
lea r10, [r10 + 0x10]
cmovle edx, ebp
xor ecx, ecx
mov byte [r11 - 6], dl
cmp r9d, r8d
cmovle ecx, ebp
xor edx, edx
mov byte [r11 - 5], cl
mov ecx, dword [r10 - 0xc]
cmp dword [rdi + r10 - 0xc], ecx
mov r9d, dword [rdi + r10 - 8]
mov r8d, dword [r10 - 8]
cmovle edx, ebp
xor ecx, ecx
mov byte [r11 - 4], dl
cmp r9d, r8d
cmovle ecx, ebp
mov byte [r11 - 3], cl
sub rbx, 1
jne 0x1400d3080
mov rbp, qword [rsp + 0x58]
mov ebx, 0xff
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp]
cmp rax, rbp
jge 0x1400d311c
mov r9, r15
lea r8, [r14 + rax*4]
sub r9, r14
nop dword [rax]
mov ecx, dword [r8]
lea r8, [r8 + 4]
xor edx, edx
cmp dword [r9 + r8 - 4], ecx
cmovle edx, ebx
mov byte [rax + rsi], dl
inc rax
cmp rax, rbp
jl 0x1400d3100
add rsi, qword [rsp + 0x78]
add r15, r10
mov r8, qword [rsp + 8]
add r14, r11
test r12d, r12d
jne 0x1400d2fc0
mov r13, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
add rsp, 0x28
pop r15
pop r14
pop r12
pop rbp
ret
Function at 0x1400d3a20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x10
mov r14d, dword [rsp + 0x78]
mov rbx, rcx
movsxd rcx, dword [rsp + 0x70]
mov rdi, r9
mov r15, rcx
mov r11, r8
mov rsi, rdx
test r14d, r14d
je 0x1400d3bca
mov qword [rsp + 0x40], rbp
lea eax, [rcx - 0x10]
mov rbp, qword [rsp + 0x60]
mov qword [rsp + 8], r12
mov qword [rsp], r13
movsxd r13, eax
lea eax, [rcx - 4]
movsxd r12, eax
nop word [rax + rax]
dec r14d
xor r9d, r9d
test r13, r13
js 0x1400d3adb
movdqa xmm3, xmmword [0x1401cf2e0]
lea rcx, [r13 + 0x10]
shr rcx, 4
mov rdx, r11
mov r8, rbp
mov r9, rcx
sub rdx, rbx
sub r8, rbx
shl r9, 4
mov rax, rbx
movdqu xmm2, xmmword [rdx + rax]
movdqu xmm0, xmmword [rax]
lea rax, [rax + 0x10]
movdqa xmm1, xmm3
pxor xmm2, xmm3
pxor xmm1, xmm0
pcmpgtb xmm2, xmm1
movdqu xmmword [r8 + rax - 0x10], xmm2
sub rcx, 1
jne 0x1400d3ab1
cmp r9, r12
jg 0x1400d3b6c
mov r10, r12
lea r8, [r11 + 1]
sub r10, r9
add r8, r9
mov rdi, rbx
shr r10, 2
mov rsi, rbp
sub rdi, r11
sub rsi, r11
inc r10
lea r9, [r9 + r10*4]
nop dword [rax + rax]
movzx eax, byte [r8 - 1]
cmp byte [rdi + r8 - 1], al
movzx edx, byte [rdi + r8]
movzx ecx, byte [r8]
lea r8, [r8 + 4]
sbb al, al
mov byte [rsi + r8 - 5], al
cmp dl, cl
sbb al, al
mov byte [rsi + r8 - 4], al
movzx eax, byte [r8 - 3]
cmp byte [rdi + r8 - 3], al
movzx edx, byte [rdi + r8 - 2]
movzx ecx, byte [r8 - 2]
sbb al, al
cmp dl, cl
mov byte [rsi + r8 - 3], al
sbb al, al
mov byte [rsi + r8 - 2], al
sub r10, 1
jne 0x1400d3b10
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
cmp r9, r15
jge 0x1400d3ba8
mov r8, rbx
lea rax, [r9 + r11]
mov r10, rbp
sub r8, r11
sub r10, r11
mov rdx, r15
sub rdx, r9
nop word [rax + rax]
movzx ecx, byte [rax]
cmp byte [r8 + rax], cl
lea rax, [rax + 1]
sbb cl, cl
mov byte [r10 + rax - 1], cl
sub rdx, 1
jne 0x1400d3b90
add rbp, qword [rsp + 0x68]
add rbx, rsi
add r11, rdi
test r14d, r14d
jne 0x1400d3a80
mov r13, qword [rsp]
mov r12, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x10
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400d3de0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r14
push r15
sub rsp, 0x18
mov r15d, dword [rsp + 0x78]
mov rbp, rcx
movsxd rcx, dword [rsp + 0x70]
mov rsi, r8
shr rdx, 1
mov r14, rcx
shr r9, 1
test r15d, r15d
je 0x1400d3f91
mov qword [rsp + 0x40], rbx
lea eax, [rcx - 0x10]
mov rbx, qword [rsp + 0x60]
lea r10, [rdx + rdx]
mov qword [rsp + 0x10], rdi
add r9, r9
mov qword [rsp + 8], r12
movsxd r12, eax
lea eax, [rcx - 4]
mov qword [rsp], r13
movsxd r13, eax
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x58], r9
dec r15d
xor eax, eax
test r12, r12
js 0x1400d3ea3
movdqa xmm3, xmmword [0x1401cf2c0]
lea rcx, [rbp + 0x10]
mov rdx, rsi
sub rdx, rbp
nop
movdqu xmm2, xmmword [rdx + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x20]
pxor xmm0, xmm3
pxor xmm2, xmm3
pcmpgtw xmm2, xmm0
pxor xmm1, xmm3
movdqu xmm0, xmmword [rcx - 0x20]
pxor xmm0, xmm3
pcmpgtw xmm1, xmm0
packsswb xmm2, xmm1
movdqu xmmword [rax + rbx], xmm2
add rax, 0x10
cmp rax, r12
jle 0x1400d3e60
cmp rax, r13
jg 0x1400d3f42
lea r9, [rax + 1]
mov r11, r13
sub r11, rax
lea r10, [rbx + 2]
add r10, rax
shr r11, 2
mov rdi, rbp
lea r9, [rsi + r9*2]
sub rdi, rsi
inc r11
lea rax, [rax + r11*4]
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r9 - 2]
lea r10, [r10 + 4]
cmp word [r9 + rdi - 2], cx
movzx r8d, word [rdi + r9]
movzx edx, word [r9]
lea r9, [r9 + 8]
sbb cl, cl
mov byte [r10 - 6], cl
cmp r8w, dx
sbb cl, cl
mov byte [r10 - 5], cl
movzx ecx, word [r9 - 6]
cmp word [r9 + rdi - 6], cx
movzx r8d, word [rdi + r9 - 4]
movzx edx, word [r9 - 4]
sbb cl, cl
cmp r8w, dx
mov byte [r10 - 4], cl
sbb cl, cl
mov byte [r10 - 3], cl
sub r11, 1
jne 0x1400d3ee0
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
cmp rax, r14
jge 0x1400d3f6a
mov r8, rbp
lea rdx, [rsi + rax*2]
sub r8, rsi
movzx ecx, word [rdx]
cmp word [r8 + rdx], cx
lea rdx, [rdx + 2]
sbb cl, cl
mov byte [rax + rbx], cl
inc rax
cmp rax, r14
jl 0x1400d3f51
add rbx, qword [rsp + 0x68]
add rbp, r10
add rsi, r9
test r15d, r15d
jne 0x1400d3e42
mov r13, qword [rsp]
mov r12, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x40]
add rsp, 0x18
pop r15
pop r14
pop rsi
pop rbp
ret
Function at 0x1400d4a80
Capabilities:
Encode data using xor

Disassembly:
push rdi
push r12
push r14
push r15
sub rsp, 0x28
mov r12d, dword [rsp + 0x88]
mov r14, rcx
movsxd rcx, dword [rsp + 0x80]
mov rdi, r8
shr rdx, 1
mov r15, rcx
shr r9, 1
mov qword [rsp + 0x58], rcx
test r12d, r12d
je 0x1400d4c6b
mov qword [rsp + 0x50], rbx
lea eax, [rcx - 0x10]
mov rbx, qword [rsp + 0x70]
lea r10, [rdx + rdx]
mov qword [rsp + 0x20], rbp
lea r11, [r9 + r9]
mov qword [rsp + 0x18], rsi
mov esi, 0xff
mov qword [rsp + 0x10], r13
movsxd r13, eax
lea eax, [rcx - 4]
movsxd r8, eax
mov qword [rsp + 8], r8
mov qword [rsp + 0x68], r10
mov qword [rsp], r11
nop dword [rax]
dec r12d
xor eax, eax
test r13, r13
js 0x1400d4b5b
movdqa xmm3, xmmword [0x1401cab10]
lea rcx, [rdi + 0x10]
mov rdx, r14
sub rdx, rdi
nop dword [rax]
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm2, xmmword [rdx + rcx - 0x10]
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x20]
pcmpeqw xmm2, xmm0
movdqu xmm0, xmmword [rcx - 0x20]
pxor xmm2, xmm3
pcmpeqw xmm1, xmm0
pxor xmm1, xmm3
packsswb xmm2, xmm1
movdqu xmmword [rax + rbx], xmm2
add rax, 0x10
cmp rax, r13
jle 0x1400d4b20
cmp rax, r8
jg 0x1400d4c07
lea r10, [rax + 1]
mov r11, r8
sub r11, rax
lea rsi, [rbx + 2]
add rsi, rax
shr r11, 2
mov rbp, r14
lea r10, [rdi + r10*2]
sub rbp, rdi
mov r15d, 0xff
inc r11
lea rax, [rax + r11*4]
movzx ecx, word [r10 - 2]
lea rsi, [rsi + 4]
movzx r9d, word [r10 + rbp]
xor edx, edx
cmp word [r10 + rbp - 2], cx
movzx r8d, word [r10]
lea r10, [r10 + 8]
cmovne edx, r15d
xor ecx, ecx
mov byte [rsi - 6], dl
cmp r9w, r8w
cmovne ecx, r15d
xor edx, edx
mov byte [rsi - 5], cl
movzx ecx, word [r10 - 6]
cmp word [r10 + rbp - 6], cx
movzx r9d, word [r10 + rbp - 4]
movzx r8d, word [r10 - 4]
cmovne edx, r15d
xor ecx, ecx
mov byte [rsi - 4], dl
cmp r9w, r8w
cmovne ecx, r15d
mov byte [rsi - 3], cl
sub r11, 1
jne 0x1400d4b90
mov r15, qword [rsp + 0x58]
mov esi, 0xff
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp]
cmp rax, r15
jge 0x1400d4c3e
mov r9, r14
lea r8, [rdi + rax*2]
sub r9, rdi
nop word [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
xor edx, edx
cmp word [r9 + r8 - 2], cx
cmovne edx, esi
mov byte [rax + rbx], dl
inc rax
cmp rax, r15
jl 0x1400d4c20
add rbx, qword [rsp + 0x78]
add r14, r10
mov r8, qword [rsp + 8]
add rdi, r11
test r12d, r12d
jne 0x1400d4b00
mov r13, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
add rsp, 0x28
pop r15
pop r14
pop r12
pop rdi
ret