joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140031530
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov rsi, r8
mov rbx, rdx
mov rbp, rcx
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov cl, 1
call fcn.14001d0b0
mov qword [rsp + 0x40], rax
mov edi, 0x80
mov edx, edi
lea rcx, [rsp + 0x28]
call fcn.1400bf6b0
nop
mov qword [rsp + 0x80], rsi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x70]
lea rcx, [rsp + 0x80]
cmp rax, rsi
cmovae r8, rcx
mov r8, qword [r8]
mov rdx, rbx
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
call fcn.1402b9d30
lea r9, [0x140347060]
cmp rsi, rdi
je 0x140031610
lea rcx, [rbx - 1]
add rcx, rsi
mov r8d, 1
sub r8, rsi
sub rdi, rsi
nop dword [rax + rax]
lea rdx, [rcx + 1]
movzx eax, byte [r8 + rcx]
movzx ecx, byte [rcx]
add eax, ecx
and eax, 0x800000ff
jge 0x1400315fe
dec eax
or eax, 0xffffff00
inc eax
movsxd rcx, eax
movzx eax, byte [rcx + r9]
mov byte [rdx], al
mov rcx, rdx
dec rdi
jne 0x1400315e0
mov rcx, rbx
sub rcx, rsi
movzx eax, byte [rcx + 0x80]
movzx eax, byte [rax + r9]
mov byte [rcx + 0x80], al
mov eax, 0x7f
sub eax, esi
movsxd r8, eax
js 0x14003165e
lea rax, [rbx + 1]
add rax, r8
inc r8
nop
lea rdx, [rax - 1]
movzx ecx, byte [rsi + rax - 1]
movzx eax, byte [rax]
xor rcx, rax
movzx eax, byte [rcx + r9]
mov byte [rdx], al
lea rax, [rdx]
dec r8
jne 0x140031640
mov rax, qword [rbp + 8]
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [rbx + 0x70]
movups xmmword [rax + 0x70], xmm1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400316c2
test rbx, rbx
je 0x1400316c2
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x1400316c2
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
Function at 0x140031970
Capabilities:
Encrypt data using rc6

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov qword [r11 - 0x58], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov r14, r8
mov r15, rdx
mov rdi, rcx
lea rbp, [r8 - 1]
shr rbp, 2
inc rbp
mov qword [r11 + 0x18], rbp
mov rax, qword [rcx + 0x10]
mov qword [r11 + 8], rax
lea r9, [r11 + 8]
lea rcx, [r11 + 0x18]
cmp rbp, rax
cmovae r9, rcx
mov rax, qword [r9]
lea rsi, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax], 0xb7e15163
mov edx, 1
cmp rdx, qword [rdi + 0x10]
je 0x1400319f9
nop word [rax + rax]
mov rcx, qword [rdi + 8]
mov eax, dword [rcx + rdx*4 - 4]
sub eax, 0x61c88647
mov dword [rcx + rdx*4], eax
inc rdx
cmp rdx, qword [rdi + 0x10]
jne 0x1400319e0
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rbx
mov cl, 1
call fcn.14001d0b0
mov qword [rsp + 0x40], rax
lea edx, [rbx + 8]
lea rcx, [rsp + 0x28]
call fcn.1400bfba0
nop
lea r8d, [r14 - 1]
mov r10, qword [rsp + 0x28]
test r8d, r8d
js 0x140031a60
movsxd r9, r8d
add r9, r15
nop dword [rax]
mov eax, r8d
shr eax, 2
lea rdx, [r10 + rax*4]
mov ecx, dword [rdx]
shl ecx, 8
movzx eax, byte [r9]
add ecx, eax
mov dword [rdx], ecx
lea r9, [r9 - 1]
dec r8d
jns 0x140031a40
mov r8d, ebx
mov r9, rbx
test rsi, rsi
je 0x140031aba
nop dword [rax + rax]
xor edx, edx
mov rax, r9
div qword [rdi + 0x10]
mov rax, qword [rdi + 8]
lea r11, [rax + rdx*4]
lea eax, [r8 + rbx]
add eax, dword [r11]
rol eax, 3
mov ebx, eax
lea ecx, [r8 + rax]
and ecx, 0x1f
xor edx, edx
mov rax, r9
div rbp
add r8d, dword [r10 + rdx*4]
add r8d, ebx
test rcx, rcx
je 0x140031aab
rol r8d, cl
mov dword [r11], ebx
mov dword [r10 + rdx*4], r8d
inc r9
cmp r9, rsi
jne 0x140031a70
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140031ae4
test r10, r10
je 0x140031ae4
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x140031ae4
mov rax, qword [rcx]
lea r8, [r8*4]
mov rdx, r10
call qword [rax + 8]
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x140045750
Capabilities:
Encode data using xor
Encrypt data using skipjack

Disassembly:
mov qword [rsp + 8], rbx
mov r11, rcx
xor r9d, r9d
lea r10, [rdx + 9]
lea rbx, [0x140344020]
nop word [rax + rax]
xor eax, eax
movzx r8d, byte [r10]
mov rdx, qword [r11 + 8]
xor r8, rax
add rdx, r9
inc rax
movzx ecx, byte [r8 + rbx]
mov byte [rdx + rax - 1], cl
cmp rax, 0x100
jne 0x140045772
add r9, rax
dec r10
cmp r9, 0xa00
jne 0x140045770
mov rbx, qword [rsp + 8]
ret
Function at 0x140046660
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rdi
mov rbx, rcx
xor r11d, r11d
lea rdi, [0x140000000]
nop word [rax + rax]
xor eax, eax
mov byte [rsp + 0x10], 0
mov word [rsp + 0x11], ax
mov byte [rsp + 0x13], al
mov eax, dword [rbx + r11*4]
mov ecx, eax
rol eax, 8
and eax, 0xff00ff
ror ecx, 8
and ecx, 0xff00ff00
or ecx, eax
xor r10d, r10d
mov dword [rsp + 0x18], ecx
lea r9, [rdi + 0x346890]
xor ecx, ecx
add r9, r10
nop dword [rax]
movzx edx, byte [rsp + rcx + 0x18]
movzx eax, byte [r9]
test dl, dl
je 0x140046719
test al, al
je 0x140046719
movzx eax, al
movzx r8d, byte [rax + rdi + 0x320d00]
movzx eax, dl
movzx eax, byte [rax + rdi + 0x320d00]
add r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub r8d, eax
movsxd rax, r8d
movzx eax, byte [rax + rdi + 0x328490]
xor byte [rsp + r10 + 0x10], al
inc rcx
add r9, 4
cmp rcx, 4
jne 0x1400466c0
inc r10
cmp r10, rcx
jne 0x1400466b0
mov eax, dword [rsp + 0x10]
inc r11
mov ecx, eax
rol eax, 8
and eax, 0xff00ff
ror ecx, 8
and ecx, 0xff00ff00
or ecx, eax
mov dword [rbx + r11*4 - 4], ecx
cmp r11, 4
jne 0x140046680
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x20]
ret

Function at 0x140046770
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x14004689d
push r13
push r14
push r15
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rbp
mov r15, rdx
mov qword [rsp + 0x30], rsi
mov r14, r9
mov r10, r8
sub r15, r8
mov r13, rcx
mov qword [rsp + 0x38], rdi
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [r15 + r10 + 4]
mov eax, dword [r15 + r10]
mov r8d, eax
rol eax, 8
and eax, 0xff00ff
ror r8d, 8
and r8d, 0xff00ff00
or r8d, eax
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
mov rcx, qword [r13 + 8]
xor r9d, r9d
mov ebx, dword [rcx]
mov edi, dword [rcx + 4]
mov esi, dword [rcx + 8]
mov ebp, dword [rcx + 0xc]
lea r11d, [r9 + 0x20]
nop dword [rax]
mov edx, eax
mov ecx, eax
lea r9d, [r9 - 0x61c88647]
shr edx, 5
shl ecx, 4
add edx, edi
add ecx, ebx
xor edx, ecx
lea ecx, [r9 + rax]
xor edx, ecx
add r8d, edx
mov edx, r8d
mov ecx, r8d
shr edx, 5
shl ecx, 4
add edx, ebp
add ecx, esi
xor edx, ecx
lea ecx, [r9 + r8]
xor edx, ecx
add eax, edx
dec r11
jne 0x140046800
mov ecx, r8d
rol r8d, 8
add r10, 8
and r8d, 0xff00ff
ror ecx, 8
and ecx, 0xff00ff00
or ecx, r8d
mov dword [r10 - 8], ecx
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [r10 - 4], ecx
dec r14
jne 0x1400467b0
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
pop r15
pop r14
pop r13
ret
Function at 0x1400468a0
Capabilities:
Decrypt data using tea
Encode data using xor

Disassembly:
test r9, r9
je 0x1400469cf
push r13
push r14
push r15
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rbp
mov r15, rdx
mov qword [rsp + 0x30], rsi
mov r14, r9
mov r10, r8
sub r15, r8
mov r13, rcx
mov qword [rsp + 0x38], rdi
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [r15 + r10 + 4]
mov eax, dword [r15 + r10]
mov r9d, 0xc6ef3720
mov r8d, eax
rol eax, 8
mov r11d, 0x20
and eax, 0xff00ff
ror r8d, 8
and r8d, 0xff00ff00
or r8d, eax
mov eax, ecx
rol ecx, 8
and ecx, 0xff00ff
ror eax, 8
and eax, 0xff00ff00
or eax, ecx
mov rcx, qword [r13 + 8]
mov ebx, dword [rcx + 8]
mov edi, dword [rcx + 0xc]
mov esi, dword [rcx]
mov ebp, dword [rcx + 4]
mov edx, r8d
mov ecx, r8d
shr edx, 5
shl ecx, 4
add edx, edi
add ecx, ebx
xor edx, ecx
lea ecx, [r9 + r8]
xor edx, ecx
sub eax, edx
mov edx, eax
mov ecx, eax
shr edx, 5
shl ecx, 4
add edx, ebp
add ecx, esi
xor edx, ecx
lea ecx, [r9 + rax]
lea r9d, [r9 + 0x61c88647]
xor edx, ecx
sub r8d, edx
dec r11
jne 0x140046932
mov ecx, r8d
rol r8d, 8
add r10, 8
and r8d, 0xff00ff
ror ecx, 8
and ecx, 0xff00ff00
or ecx, r8d
mov dword [r10 - 8], ecx
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [r10 - 4], ecx
dec r14
jne 0x1400468e0
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
pop r15
pop r14
pop r13
ret
Function at 0x140046a20
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x140046c29
push r13
push r15
sub rsp, 0x18
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x10], rdi
lea rsi, [r8 + 8]
sub r8, rdx
lea rax, [r8 - 8]
mov qword [rsp + 8], r12
mov r13, r9
mov r15, rcx
mov qword [rsp], r14
lea rdi, [rdx + 8]
mov qword [rsp + 0x48], rax
nop dword [rax + rax]
mov r11, qword [r15 + 0x28]
mov ebx, dword [rdi - 8]
mov r14, qword [r15 + 8]
mov r10d, dword [r11 + 4]
mov ebp, dword [r11 + 8]
mov eax, dword [r11 + 0xc]
xor r10d, dword [rdi - 4]
xor ebp, dword [rdi]
xor eax, dword [rdi + 4]
xor ebx, dword [r11]
xor r12d, r12d
nop word [rax + rax]
rol eax, 1
mov ecx, r10d
add r12, 0x10
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
mov r9d, dword [r14 + rdx*4 + 0xc00]
shr ecx, 8
movzx ecx, cl
xor r9d, dword [r14 + rcx*4 + 0x800]
mov ecx, r10d
shr ecx, 0x18
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r14 + rdx*4]
rol r10d, 1
xor r9d, dword [r14 + rcx*4 + 0x400]
mov ecx, ebx
shr ecx, 0x18
movzx edx, cl
mov ecx, ebx
mov r8d, dword [r14 + rdx*4 + 0xc00]
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r14 + rcx*4 + 0x800]
mov ecx, ebx
shr ecx, 8
movzx edx, cl
movzx ecx, bl
xor r8d, dword [r14 + rdx*4 + 0x400]
xor r8d, dword [r14 + rcx*4]
mov ecx, dword [r11 + r12 + 0x10]
add r8d, r9d
add ecx, r8d
xor ebp, ecx
mov ecx, dword [r12 + r11 + 0x14]
add ecx, r9d
add ecx, r8d
ror ebp, 1
xor eax, ecx
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ecx, eax
mov r9d, dword [r14 + rdx*4 + 0xc00]
shr ecx, 8
movzx ecx, cl
xor r9d, dword [r14 + rcx*4 + 0x800]
mov ecx, eax
shr ecx, 0x18
movzx edx, cl
movzx ecx, al
xor r9d, dword [r14 + rdx*4]
xor r9d, dword [r14 + rcx*4 + 0x400]
mov ecx, ebp
shr ecx, 0x18
movzx edx, cl
mov ecx, ebp
mov r8d, dword [r14 + rdx*4 + 0xc00]
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r14 + rcx*4 + 0x800]
mov ecx, ebp
shr ecx, 8
movzx edx, cl
movzx ecx, bpl
xor r8d, dword [r14 + rdx*4 + 0x400]
xor r8d, dword [r14 + rcx*4]
mov ecx, dword [r11 + r12 + 0x18]
add r8d, r9d
add ecx, r8d
xor ebx, ecx
mov ecx, dword [r12 + r11 + 0x1c]
add ecx, r9d
ror ebx, 1
add ecx, r8d
xor r10d, ecx
cmp r12, 0x80
jne 0x140046aa0
mov ecx, dword [r11 + 0x10]
xor eax, dword [r11 + 0x14]
xor ebx, dword [r11 + 0x18]
xor r10d, dword [r11 + 0x1c]
mov rdx, qword [rsp + 0x48]
xor ecx, ebp
mov dword [rsi - 4], eax
mov dword [rsi], ebx
mov dword [rdx + rdi], ecx
mov dword [rsi + 4], r10d
add rdi, 0x10
add rsi, 0x10
dec r13
jne 0x140046a70
mov r14, qword [rsp]
mov r12, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x18
pop r15
pop r13
ret
Function at 0x140046c30
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x140046e5e
mov qword [rsp + 8], rcx
push r12
push r15
sub rsp, 0x28
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x10], rdi
mov qword [rsp + 8], r13
mov qword [rsp], r14
lea r14, [r8 + 8]
sub r8, rdx
mov r12, r9
lea rax, [r8 - 8]
mov r15, rcx
lea rsi, [rdx + 8]
mov qword [rsp + 0x58], rax
nop dword [rax]
mov rax, qword [r15 + 0x28]
mov rbp, qword [r15 + 8]
mov r15d, 0x90
mov r10d, dword [rax + 0x10]
mov ebx, dword [rax + 0x14]
mov r11d, dword [rax + 0x18]
mov edi, dword [rax + 0x1c]
xor r10d, dword [rsi - 8]
xor ebx, dword [rsi - 4]
xor r11d, dword [rsi]
xor edi, dword [rsi + 4]
xor r13d, r13d
nop dword [rax]
rol r11d, 1
mov ecx, ebx
lea r15, [r15 - 0x10]
shr ecx, 0x10
movzx edx, cl
mov ecx, ebx
mov r9d, dword [rbp + rdx*4 + 0xc00]
shr ecx, 8
movzx ecx, cl
xor r9d, dword [rbp + rcx*4 + 0x800]
mov ecx, ebx
shr ecx, 0x18
movzx edx, cl
movzx ecx, bl
xor r9d, dword [rbp + rdx*4]
xor r9d, dword [rbp + rcx*4 + 0x400]
mov ecx, r10d
shr ecx, 0x18
movzx edx, cl
mov ecx, r10d
mov r8d, dword [rbp + rdx*4 + 0xc00]
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [rbp + rcx*4 + 0x800]
mov ecx, r10d
shr ecx, 8
movzx edx, cl
movzx ecx, r10b
xor r8d, dword [rbp + rdx*4 + 0x400]
xor r8d, dword [rbp + rcx*4]
mov ecx, dword [rax + r15 + 0x18]
rol r10d, 1
add r8d, r9d
add ecx, r8d
xor r11d, ecx
mov rcx, rax
sub rcx, r13
mov edx, dword [rcx + 0x9c]
add edx, r9d
add edx, r8d
xor edi, edx
ror edi, 1
mov ecx, edi
shr ecx, 0x10
movzx edx, cl
mov ecx, edi
mov r9d, dword [rbp + rdx*4 + 0xc00]
shr ecx, 8
movzx ecx, cl
xor r9d, dword [rbp + rcx*4 + 0x800]
mov ecx, edi
shr ecx, 0x18
movzx edx, cl
movzx ecx, dil
xor r9d, dword [rbp + rdx*4]
xor r9d, dword [rbp + rcx*4 + 0x400]
mov ecx, r11d
shr ecx, 0x18
movzx edx, cl
mov ecx, r11d
mov r8d, dword [rbp + rdx*4 + 0xc00]
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [rbp + rcx*4 + 0x800]
mov ecx, r11d
shr ecx, 8
movzx edx, cl
movzx ecx, r11b
xor r8d, dword [rbp + rdx*4 + 0x400]
xor r8d, dword [rbp + rcx*4]
mov ecx, dword [rax + r15 + 0x10]
add r8d, r9d
add ecx, r8d
xor r10d, ecx
mov rcx, rax
sub rcx, r13
mov edx, dword [rcx + 0x94]
add edx, r9d
add edx, r8d
xor ebx, edx
ror ebx, 1
add r13, 0x10
cmp r13, 0x80
jne 0x140046cb0
mov r15, qword [rsp + 0x40]
add rsi, 0x10
add r14, 0x10
mov rax, qword [r15 + 0x28]
xor edi, dword [rax + 4]
xor r10d, dword [rax + 8]
xor ebx, dword [rax + 0xc]
xor r11d, dword [rax]
mov rax, qword [rsp + 0x58]
mov dword [r14 - 0x14], edi
mov dword [r14 - 0x10], r10d
mov dword [r14 - 0xc], ebx
mov dword [rax + rsi - 0x10], r11d
dec r12
jne 0x140046c80
mov r14, qword [rsp]
mov r13, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x48]
add rsp, 0x28
pop r15
pop r12
ret
Function at 0x140047950
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
mov eax, dword [rcx]
mov r15, rdx
mov r12d, 0x20
mov r9d, eax
rol eax, 8
and eax, 0xff00ff
ror r9d, 8
and r9d, 0xff00ff00
or r9d, eax
mov eax, dword [rcx + 4]
mov r10d, eax
rol eax, 8
and eax, 0xff00ff
ror r10d, 8
and r10d, 0xff00ff00
or r10d, eax
mov eax, dword [rcx + 8]
mov r11d, eax
rol eax, 8
and eax, 0xff00ff
ror r11d, 8
and r11d, 0xff00ff00
or r11d, eax
mov eax, dword [rcx + 0xc]
mov ebx, eax
rol eax, 8
and eax, 0xff00ff
ror ebx, 8
and ebx, 0xff00ff00
or ebx, eax
mov eax, dword [rcx + 0x10]
mov edi, eax
rol eax, 8
and eax, 0xff00ff
ror edi, 8
and edi, 0xff00ff00
or edi, eax
mov eax, dword [rcx + 0x14]
mov esi, eax
rol eax, 8
and eax, 0xff00ff
ror esi, 8
and esi, 0xff00ff00
or esi, eax
mov eax, dword [rcx + 0x18]
mov ebp, eax
rol eax, 8
and eax, 0xff00ff
ror ebp, 8
and ebp, 0xff00ff00
or ebp, eax
mov eax, dword [rcx + 0x1c]
mov r14d, eax
ror r14d, 8
and r14d, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or r14d, eax
add r8, 4
nop word [rax + rax]
mov edx, dword [r8 - 4]
mov ecx, r10d
mov eax, r10d
shr ecx, 5
shl eax, 4
lea r8, [r8 + 8]
xor ecx, eax
mov eax, ebx
add ecx, r10d
shl eax, 4
xor ecx, edx
add r9d, ecx
mov ecx, ebx
shr ecx, 5
xor ecx, eax
mov eax, esi
add ecx, ebx
shl eax, 4
xor ecx, edx
add r11d, ecx
mov ecx, esi
shr ecx, 5
xor ecx, eax
mov eax, r14d
add ecx, esi
shl eax, 4
xor ecx, edx
add edi, ecx
mov ecx, r14d
shr ecx, 5
xor ecx, eax
mov eax, r9d
add ecx, r14d
shl eax, 4
xor ecx, edx
mov edx, dword [r8 - 8]
add ebp, ecx
mov ecx, r9d
shr ecx, 5
xor ecx, eax
mov eax, r11d
add ecx, r9d
shl eax, 4
xor ecx, edx
add r10d, ecx
mov ecx, r11d
shr ecx, 5
xor ecx, eax
mov eax, edi
add ecx, r11d
shl eax, 4
xor ecx, edx
add ebx, ecx
mov ecx, edi
shr ecx, 5
xor ecx, eax
mov eax, ebp
add ecx, edi
shl eax, 4
xor ecx, edx
add esi, ecx
mov ecx, ebp
shr ecx, 5
xor ecx, eax
add ecx, ebp
xor ecx, edx
add r14d, ecx
dec r12
jne 0x140047a50
mov eax, r9d
rol r9d, 8
and r9d, 0xff00ff
ror eax, 8
and eax, 0xff00ff00
or eax, r9d
mov dword [r15], eax
mov eax, r10d
ror eax, 8
and eax, 0xff00ff00
rol r10d, 8
and r10d, 0xff00ff
or eax, r10d
mov dword [r15 + 4], eax
mov eax, r11d
ror eax, 8
and eax, 0xff00ff00
rol r11d, 8
and r11d, 0xff00ff
or eax, r11d
mov dword [r15 + 8], eax
mov eax, ebx
ror eax, 8
and eax, 0xff00ff00
rol ebx, 8
and ebx, 0xff00ff
or eax, ebx
mov rbx, qword [rsp + 0x20]
mov dword [r15 + 0xc], eax
mov eax, edi
ror eax, 8
and eax, 0xff00ff00
rol edi, 8
and edi, 0xff00ff
or eax, edi
mov rdi, qword [rsp + 0x38]
mov dword [r15 + 0x10], eax
mov eax, esi
ror eax, 8
and eax, 0xff00ff00
rol esi, 8
and esi, 0xff00ff
or eax, esi
mov rsi, qword [rsp + 0x30]
mov dword [r15 + 0x14], eax
mov eax, ebp
ror eax, 8
and eax, 0xff00ff00
rol ebp, 8
and ebp, 0xff00ff
or eax, ebp
mov rbp, qword [rsp + 0x28]
mov dword [r15 + 0x18], eax
mov eax, r14d
ror eax, 8
and eax, 0xff00ff00
rol r14d, 8
and r14d, 0xff00ff
or eax, r14d
mov dword [r15 + 0x1c], eax
pop r15
pop r14
pop r12
ret
Function at 0x140047c00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
push r15
mov eax, dword [rcx]
lea r15, [r8 + 0xf8]
mov r12, rdx
mov r9d, eax
rol eax, 8
mov r13d, 0x20
and eax, 0xff00ff
ror r9d, 8
and r9d, 0xff00ff00
or r9d, eax
mov eax, dword [rcx + 4]
mov r10d, eax
rol eax, 8
and eax, 0xff00ff
ror r10d, 8
and r10d, 0xff00ff00
or r10d, eax
mov eax, dword [rcx + 8]
mov r11d, eax
rol eax, 8
and eax, 0xff00ff
ror r11d, 8
and r11d, 0xff00ff00
or r11d, eax
mov eax, dword [rcx + 0xc]
mov ebx, eax
rol eax, 8
and eax, 0xff00ff
ror ebx, 8
and ebx, 0xff00ff00
or ebx, eax
mov eax, dword [rcx + 0x10]
mov edi, eax
rol eax, 8
and eax, 0xff00ff
ror edi, 8
and edi, 0xff00ff00
or edi, eax
mov eax, dword [rcx + 0x14]
mov esi, eax
rol eax, 8
and eax, 0xff00ff
ror esi, 8
and esi, 0xff00ff00
or esi, eax
mov eax, dword [rcx + 0x18]
mov ebp, eax
rol eax, 8
and eax, 0xff00ff
ror ebp, 8
and ebp, 0xff00ff00
or ebp, eax
mov eax, dword [rcx + 0x1c]
mov r14d, eax
ror r14d, 8
and r14d, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or r14d, eax
add r8, 0xfc
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r8]
mov ecx, r9d
mov eax, r9d
shr ecx, 5
shl eax, 4
lea r8, [r8 - 8]
xor ecx, eax
mov eax, r11d
lea r15, [r15 - 8]
add ecx, r9d
shl eax, 4
xor ecx, edx
sub r10d, ecx
mov ecx, r11d
shr ecx, 5
xor ecx, eax
mov eax, edi
add ecx, r11d
shl eax, 4
xor ecx, edx
sub ebx, ecx
mov ecx, edi
shr ecx, 5
xor ecx, eax
mov eax, ebp
add ecx, edi
shl eax, 4
xor ecx, edx
sub esi, ecx
mov ecx, ebp
shr ecx, 5
xor ecx, eax
mov eax, r10d
add ecx, ebp
shl eax, 4
xor ecx, edx
mov edx, dword [r15 + 8]
sub r14d, ecx
mov ecx, r10d
shr ecx, 5
xor ecx, eax
mov eax, ebx
add ecx, r10d
shl eax, 4
xor ecx, edx
sub r9d, ecx
mov ecx, ebx
shr ecx, 5
xor ecx, eax
mov eax, esi
add ecx, ebx
shl eax, 4
xor ecx, edx
sub r11d, ecx
mov ecx, esi
shr ecx, 5
xor ecx, eax
mov eax, r14d
add ecx, esi
shl eax, 4
xor ecx, edx
sub edi, ecx
mov ecx, r14d
shr ecx, 5
xor ecx, eax
add ecx, r14d
xor ecx, edx
sub ebp, ecx
dec r13
jne 0x140047d10
mov eax, r9d
rol r9d, 8
and r9d, 0xff00ff
ror eax, 8
and eax, 0xff00ff00
or eax, r9d
mov dword [r12], eax
mov eax, r10d
ror eax, 8
and eax, 0xff00ff00
rol r10d, 8
and r10d, 0xff00ff
or eax, r10d
mov dword [r12 + 4], eax
mov eax, r11d
ror eax, 8
and eax, 0xff00ff00
rol r11d, 8
and r11d, 0xff00ff
or eax, r11d
mov dword [r12 + 8], eax
mov eax, ebx
ror eax, 8
and eax, 0xff00ff00
rol ebx, 8
and ebx, 0xff00ff
or eax, ebx
mov rbx, qword [rsp + 0x28]
mov dword [r12 + 0xc], eax
mov eax, edi
ror eax, 8
and eax, 0xff00ff00
rol edi, 8
and edi, 0xff00ff
or eax, edi
mov rdi, qword [rsp + 0x40]
mov dword [r12 + 0x10], eax
mov eax, esi
ror eax, 8
and eax, 0xff00ff00
rol esi, 8
and esi, 0xff00ff
or eax, esi
mov rsi, qword [rsp + 0x38]
mov dword [r12 + 0x14], eax
mov eax, ebp
ror eax, 8
and eax, 0xff00ff00
rol ebp, 8
and ebp, 0xff00ff
or eax, ebp
mov rbp, qword [rsp + 0x30]
mov dword [r12 + 0x18], eax
mov eax, r14d
ror eax, 8
and eax, 0xff00ff00
rol r14d, 8
and r14d, 0xff00ff
or eax, r14d
mov dword [r12 + 0x1c], eax
pop r15
pop r14
pop r13
pop r12
ret
Function at 0x140047ed0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rbp, r9
mov rbx, r8
mov rdi, rdx
mov r14, rcx
cmp r9, 4
jb 0x140047f31
mov qword [rsp + 0x30], rsi
mov rsi, r9
shr rsi, 2
imul rax, rsi, 0xfffffffffffffffc
add rbp, rax
nop word [rax + rax]
mov r8, qword [r14 + 8]
mov rdx, rbx
mov rcx, rdi
call fcn.140047950
add rdi, 0x20
add rbx, 0x20
dec rsi
jne 0x140047f10
mov rsi, qword [rsp + 0x30]
test rbp, rbp
je 0x140047ffd
sub rdi, rbx
nop dword [rax]
mov eax, dword [rdi + rbx]
mov ecx, dword [rdi + rbx + 4]
mov r10, qword [r14 + 8]
mov r8d, eax
rol eax, 8
and eax, 0xff00ff
ror r8d, 8
and r8d, 0xff00ff00
or r8d, eax
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
xor r9d, r9d
nop dword [rax]
mov edx, eax
mov ecx, eax
add r9, 8
shr edx, 5
shl ecx, 4
xor edx, ecx
add edx, eax
xor edx, dword [r9 + r10 - 8]
add r8d, edx
mov edx, r8d
mov ecx, r8d
shr edx, 5
shl ecx, 4
xor edx, ecx
add edx, r8d
xor edx, dword [r9 + r10 - 4]
add eax, edx
cmp r9, 0x100
jne 0x140047f80
mov ecx, r8d
rol r8d, 8
add rbx, 8
and r8d, 0xff00ff
ror ecx, 8
and ecx, 0xff00ff00
or ecx, r8d
mov dword [rbx - 8], ecx
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [rbx - 4], ecx
dec rbp
jne 0x140047f40
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x140048020
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rbp, r9
mov rbx, r8
mov rdi, rdx
mov r14, rcx
cmp r9, 4
jb 0x140048081
mov qword [rsp + 0x30], rsi
mov rsi, r9
shr rsi, 2
imul rax, rsi, 0xfffffffffffffffc
add rbp, rax
nop word [rax + rax]
mov r8, qword [r14 + 8]
mov rdx, rbx
mov rcx, rdi
call fcn.140047c00
add rdi, 0x20
add rbx, 0x20
dec rsi
jne 0x140048060
mov rsi, qword [rsp + 0x30]
test rbp, rbp
je 0x140048168
sub rdi, rbx
nop dword [rax]
mov eax, dword [rdi + rbx]
mov ecx, dword [rdi + rbx + 4]
mov r11, qword [r14 + 8]
mov r8d, eax
rol eax, 8
mov r10d, 0xf8
and eax, 0xff00ff
ror r8d, 8
and r8d, 0xff00ff00
or r8d, eax
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
xor r9d, r9d
nop dword [rax]
nop word [rax + rax]
mov ecx, r8d
mov edx, r8d
lea r10, [r10 - 8]
shr edx, 5
shl ecx, 4
xor edx, ecx
mov rcx, r11
add edx, r8d
sub rcx, r9
add r9, 8
xor edx, dword [rcx + 0xfc]
sub eax, edx
mov edx, eax
mov ecx, eax
shr edx, 5
shl ecx, 4
xor edx, ecx
add edx, eax
xor edx, dword [r10 + r11 + 8]
sub r8d, edx
cmp r9, 0x100
jne 0x1400480e0
mov ecx, r8d
rol r8d, 8
add rbx, 8
and r8d, 0xff00ff
ror ecx, 8
and ecx, 0xff00ff00
or ecx, r8d
mov dword [rbx - 8], ecx
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [rbx - 4], ecx
dec rbp
jne 0x140048090
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret