joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401f0270
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x70]
mov eax, 0x170
call fcn.140295f80
sub rsp, rax
mov rax, qword [0x1403c3d98]
xor rax, rsp
mov qword [rbp + 0x60], rax
movups xmm0, xmmword [rdx]
mov rbx, rcx
lea rcx, [rsp + 0x50]
movups xmm1, xmmword [rdx + 0x10]
movd eax, xmm0
movups xmmword [rbp + 0x40], xmm0
and al, 0xf8
mov byte [rbp + 0x40], al
mov rax, qword [rdx + 0x18]
lea rdx, [rbp + 0x40]
shr rax, 0x38
and al, 0x3f
or al, 0x40
movups xmmword [rbp + 0x50], xmm1
mov byte [rbp + 0x5f], al
call fcn.1401eeed0
mov ecx, dword [rsp + 0x78]
mov edx, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x3c]
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rsp + 0x7c]
mov dword [rbp + 0x18], edx
mov edx, dword [rbp - 0x5c]
mov dword [rbp - 0x10], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x80]
mov dword [rbp + 0x1c], edx
mov edx, dword [rbp - 0x58]
mov dword [rbp - 0xc], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x7c]
mov dword [rbp + 0x20], edx
mov edx, dword [rbp - 0x54]
mov dword [rbp - 8], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x78]
mov dword [rbp + 0x24], edx
mov edx, dword [rbp - 0x50]
mov dword [rbp - 4], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x74]
mov dword [rbp + 0x28], edx
mov edx, dword [rbp - 0x4c]
mov dword [rbp], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x70]
mov dword [rbp + 0x2c], edx
mov edx, dword [rbp - 0x48]
mov dword [rbp + 4], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x6c]
mov dword [rbp + 0x30], edx
mov edx, dword [rbp - 0x44]
mov dword [rbp + 8], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x68]
mov dword [rbp + 0x34], edx
mov edx, dword [rbp - 0x40]
mov dword [rbp + 0xc], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov dword [rbp + 0x38], edx
lea rcx, [rsp + 0x20]
mov edx, dword [rbp - 0x64]
mov dword [rbp + 0x10], eax
lea eax, [rdx + r8]
sub r8d, edx
lea rdx, [rbp + 0x18]
mov dword [rbp + 0x3c], r8d
mov dword [rbp + 0x14], eax
call fcn.1401eb830
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.1401ebab0
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.1401ed150
lea rcx, [rbp + 0x40]
mov edx, 0x20
call fcn.140001240
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1402959c0
mov rbx, qword [rsp + 0x190]
add rsp, 0x170
pop rbp
ret
Function at 0x1401fcf40
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xe8
call fcn.140295f80
sub rsp, rax
mov rax, qword [0x1403c3d98]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov r15, qword [rsp + 0x150]
mov rax, rcx
mov rbx, qword [rsp + 0x158]
mov rdi, r9
mov r12, qword [rsp + 0x178]
mov r13, rdx
mov qword [rsp + 0x40], rcx
xor esi, esi
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], r8
mov r14d, dword [rcx]
mov rcx, rax
call fcn.1401b1660
mov r8d, r14d
mov qword [rsp + 0x30], rax
xor edx, edx
mov rcx, r12
call fcn.1402302f0
test eax, eax
je 0x1401fd1af
mov ebp, dword [rsp + 0x160]
inc r14d
test ebp, ebp
je 0x1401fcff4
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov r8, rbx
mov rdx, r15
call fcn.140138790
test eax, eax
jle 0x1401fd1b2
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.140296c90
mov r8, rbx
lea rcx, [rsp + 0x90]
mov rdx, r15
call fcn.140296c90
movsxd rax, ebx
sub rax, 1
js 0x1401fd02e
add rax, rdi
add byte [rax], 1
jne 0x1401fd02e
dec rax
cmp rax, rdi
jns 0x1401fd021
mov rbp, qword [rsp + 0x38]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x28], rsi
xor r9d, r9d
mov rdx, rbx
mov qword [rsp + 0x20], rbp
mov rcx, r15
call fcn.1401275d0
test eax, eax
je 0x1401fd1b2
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x90]
xor r9d, r9d
mov qword [rsp + 0x20], rbp
mov rdx, rbx
mov rcx, rdi
call fcn.1401275d0
test eax, eax
je 0x1401fd1b2
mov r9d, esi
mov rdx, rsi
test ebx, ebx
jle 0x1401fd161
cmp ebx, 0x40
jb 0x1401fd12c
mov ecx, ebx
and ecx, 0x8000003f
jge 0x1401fd0a8
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, ebx
sub eax, ecx
movsxd rcx, eax
nop
movdqu xmm0, xmmword [rsp + rdx + 0x50]
add r9d, 0x40
movdqu xmm1, xmmword [rsp + rdx + 0x90]
pxor xmm1, xmm0
movdqu xmmword [rsp + rdx + 0x50], xmm1
movdqu xmm0, xmmword [rsp + rdx + 0x60]
movdqu xmm1, xmmword [rsp + rdx + 0xa0]
pxor xmm1, xmm0
movdqu xmmword [rsp + rdx + 0x60], xmm1
movdqu xmm0, xmmword [rsp + rdx + 0x70]
movdqu xmm1, xmmword [rsp + rdx + 0xb0]
pxor xmm1, xmm0
movdqu xmmword [rsp + rdx + 0x70], xmm1
movdqu xmm0, xmmword [rsp + rdx + 0x80]
movdqu xmm1, xmmword [rsp + rdx + 0xc0]
pxor xmm1, xmm0
movdqu xmmword [rsp + rdx + 0x80], xmm1
add rdx, 0x40
cmp rdx, rcx
jl 0x1401fd0b0
cmp r9d, ebx
jge 0x1401fd161
lea rcx, [rsp + 0x50]
add rcx, rdx
lea r8, [rsp + 0x90]
lea rax, [rsp + 0x50]
mov edx, ebx
sub r8, rax
sub edx, r9d
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401fd150
or byte [rsp + 0x50], 0x80
lea rcx, [rsp + 0x50]
or byte [rsp + rbx + 0x4f], 1
mov r8, r13
mov edx, ebx
call fcn.14014b050
test rax, rax
je 0x1401fd1b2
mov rdx, qword [rsp + 0x40]
mov r8, r12
mov rcx, r13
call fcn.140230350
test eax, eax
jg 0x1401fd1e0
jne 0x1401fd1b2
mov r8d, r14d
xor edx, edx
mov rcx, r12
mov ebp, 1
call fcn.1402302f0
test eax, eax
jne 0x1401fcfd2
inc r14d
mov rax, qword [rsp + 0x48]
mov dword [rax], r14d
mov eax, esi
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1402959c0
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov esi, 1
jmp 0x1401fd1b2
Function at 0x140201820
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, 0x28
call fcn.140295f80
sub rsp, rax
mov r11, rcx
cmp dword [rsp + 0x50], r9d
jne 0x140201918
movzx r10d, byte [r8]
lea eax, [r10 - 0x6a]
cmp al, 1
ja 0x140201918
mov qword [rsp + 0x20], rbx
lea rdx, [r8 + 1]
cmp r10b, 0x6b
jne 0x1402018d0
lea ebx, [r9 - 3]
xor eax, eax
test ebx, ebx
jle 0x14020187a
movzx ecx, byte [rdx]
inc rdx
cmp cl, 0xba
je 0x14020187a
cmp cl, 0xbb
jne 0x1402018bd
inc eax
cmp eax, ebx
jl 0x140201864
sub ebx, eax
test eax, eax
jne 0x1402018d4
call fcn.14011fa20
lea r8, str.RSA_padding_check_X931
mov edx, 0x56
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.14011fb40
mov edx, 0x8a
xor r8d, r8d
lea ecx, [r8 + 4]
call fcn.14011fc40
mov rbx, qword [rsp + 0x20]
mov eax, 0xffffffff
add rsp, 0x28
ret
call fcn.14011fa20
lea r8, str.RSA_padding_check_X931
mov edx, 0x4e
jmp 0x140201891
lea ebx, [r9 - 2]
movsxd rax, ebx
cmp byte [rax + rdx], 0xcc
je 0x140201901
call fcn.14011fa20
lea r8, str.RSA_padding_check_X931
mov edx, 0x5f
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.14011fb40
mov edx, 0x8b
jmp 0x1402018a2
mov r8d, ebx
mov rcx, r11
call fcn.140296c90
mov eax, ebx
mov rbx, qword [rsp + 0x20]
add rsp, 0x28
ret
call fcn.14011fa20
lea r8, str.RSA_padding_check_X931
mov edx, 0x43
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.14011fb40
xor r8d, r8d
mov edx, 0x89
lea ecx, [r8 + 4]
call fcn.14011fc40
mov eax, 0xffffffff
add rsp, 0x28
ret
Function at 0x140203a70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
mov eax, 0x20
call fcn.140295f80
sub rsp, rax
lea eax, [rdx + 0x3f]
mov rdi, r8
sar eax, 6
mov esi, edx
mov rbx, rcx
test eax, eax
jle 0x140203aa8
movsxd r8, eax
xor edx, edx
shl r8, 3
call fcn.140297340
cmp esi, 0x68
jl 0x140203ae0
mov eax, 0x4ec4ec4f
mul esi
shr edx, 5
imul eax, edx, 0xffffff98
mov ecx, edx
add esi, eax
nop
mov rax, qword [rdi]
mov qword [rbx], rax
mov rax, qword [rdi + 8]
add rdi, 0x10
shl rax, 4
xor qword [rbx + 6], rax
add rbx, 0xd
sub rcx, 1
jne 0x140203ac0
cmp esi, 0x34
jle 0x140203b50
mov rax, qword [rdi]
mov byte [rbx], al
shr rax, 8
mov byte [rbx + 1], al
shr rax, 8
mov byte [rbx + 2], al
shr rax, 8
mov byte [rbx + 3], al
shr rax, 8
mov byte [rbx + 4], al
shr rax, 8
mov byte [rbx + 5], al
add rbx, 6
shr rax, 8
mov byte [rbx], al
movzx eax, word [rdi + 6]
mov rcx, qword [rdi + 8]
shl rcx, 4
or rcx, rax
lea eax, [rsi - 0x2d]
sar eax, 3
test eax, eax
jle 0x140203b71
mov byte [rbx], cl
lea rbx, [rbx + 1]
shr rcx, 8
dec eax
test eax, eax
jg 0x140203b30
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
test esi, esi
je 0x140203b71
mov rcx, qword [rdi]
lea eax, [rsi + 7]
sar eax, 3
test eax, eax
jle 0x140203b71
mov byte [rbx], cl
lea rbx, [rbx + 1]
shr rcx, 8
dec eax
test eax, eax
jg 0x140203b61
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1402135c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x60
call fcn.140295f80
sub rsp, rax
mov rax, qword [0x1403c3d98]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r14, qword [rsp + 0xd0]
mov rdi, rcx
mov rax, qword [rsp + 0xc0]
mov r13, r9
mov rcx, qword [rsp + 0xc8]
mov esi, r8d
mov r12, qword [rsp + 0xd8]
mov r15, rdx
movzx r9d, byte [r14]
xor ebp, ebp
movzx edx, byte [r14 + 3]
movzx r8d, byte [r14 + 4]
mov ebx, dword [r12]
mov qword [rsp + 0x28], rax
movzx eax, byte [r14 + 1]
shl eax, 8
or r9d, eax
mov qword [rsp + 0x30], rcx
movzx eax, byte [r14 + 2]
movzx ecx, byte [r14 + 7]
shl eax, 0x10
or r9d, eax
shl edx, 0x18
movzx eax, byte [r14 + 5]
or r9d, edx
shl eax, 8
or r8d, eax
shl ecx, 8
movzx eax, byte [r14 + 6]
or ecx, eax
mov qword [rsp + 0x38], r14
shl ecx, 0x10
mov eax, r9d
shr eax, 8
or r8d, ecx
mov byte [rsp + 0x49], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x4a], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x4d], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x4e], al
mov eax, r8d
shr eax, 0x18
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x24], r8d
mov byte [rsp + 0x48], r9b
mov byte [rsp + 0x4c], r8b
mov byte [rsp + 0x4f], al
bswap edx
mov byte [rsp + 0x4b], dl
test esi, esi
je 0x1402137b6
mov r12, qword [rsp + 0x28]
sub r15, rdi
mov r14, qword [rsp + 0x30]
nop dword [rax]
dec esi
test ebx, ebx
jne 0x14021374b
mov r9, r14
lea rcx, [rsp + 0x20]
mov r8, r12
mov rdx, r13
call fcn.140211070
mov r9d, dword [rsp + 0x20]
mov eax, r9d
mov r8d, dword [rsp + 0x24]
shr eax, 8
mov byte [rsp + 0x49], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x4a], al
mov eax, r9d
shr eax, 0x18
mov byte [rsp + 0x4b], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x4d], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x4e], al
mov eax, r8d
shr eax, 0x18
mov byte [rsp + 0x4f], al
inc ebp
mov byte [rsp + 0x48], r9b
mov byte [rsp + 0x4c], r8b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x48]
xor cl, byte [rdi]
mov byte [r15 + rdi], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x1402136e0
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
test ebp, ebp
je 0x1402137b6
mov eax, r9d
mov byte [r14], r9b
shr eax, 8
mov byte [r14 + 1], al
mov eax, r9d
shr eax, 0x10
mov byte [r14 + 2], al
mov eax, r8d
shr eax, 8
mov byte [r14 + 5], al
mov eax, r8d
shr eax, 0x10
shr r9d, 0x18
mov byte [r14 + 4], r8b
shr r8d, 0x18
mov byte [r14 + 7], r8b
mov byte [r14 + 3], r9b
mov byte [r14 + 6], al
mov dword [r12], ebx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1402959c0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140215170
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.140295f80
sub rsp, rax
mov rax, qword [0x1403c3d98]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r12, qword [rsp + 0xa8]
xor ebp, ebp
mov r14, qword [rsp + 0xa0]
mov r13, r9
mov esi, r8d
mov r15, rdx
mov rdi, rcx
mov ebx, dword [r12]
test ebx, ebx
jns 0x1402151cf
mov dword [r12], 0xffffffff
jmp 0x14021534f
movzx r8d, byte [r14]
movzx r9d, byte [r14 + 1]
movzx eax, byte [r14 + 2]
movzx ecx, byte [r14 + 6]
movzx edx, byte [r14 + 4]
movzx r10d, byte [r14 + 5]
shl eax, 8
shl r9d, 0x10
shl r8d, 0x18
or r9d, r8d
shl edx, 0x18
or r9d, eax
shl r10d, 0x10
movzx eax, byte [r14 + 3]
or r10d, edx
or r9d, eax
shl ecx, 8
movzx eax, byte [r14 + 7]
or ecx, eax
mov dword [rsp + 0x20], r9d
or r10d, ecx
mov byte [rsp + 0x2b], r9b
mov eax, r9d
mov dword [rsp + 0x24], r10d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r10d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r10d
shr eax, 8
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], r10b
bswap r8d
mov byte [rsp + 0x28], r8b
bswap edx
mov byte [rsp + 0x2c], dl
test esi, esi
je 0x14021534b
sub r15, rdi
movzx r8d, r10b
movzx edx, r9b
nop dword [rax]
dec esi
test ebx, ebx
jne 0x1402152ea
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.140214730
mov r9d, dword [rsp + 0x20]
mov eax, r9d
mov r10d, dword [rsp + 0x24]
mov edx, r9d
shr eax, 0x18
mov r8d, r10d
mov byte [rsp + 0x28], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r10d
shr eax, 0x18
mov byte [rsp + 0x2c], al
mov eax, r10d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r10d
shr eax, 8
mov byte [rsp + 0x2e], al
inc ebp
mov byte [rsp + 0x2b], dl
mov byte [rsp + 0x2f], r8b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x28]
xor cl, byte [rdi]
mov byte [r15 + rdi], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x140215280
test ebp, ebp
je 0x14021534b
mov eax, r9d
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, r9d
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, r10d
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, r10d
shr eax, 0x10
shr r9d, 8
shr r10d, 8
mov byte [r14 + 6], r10b
mov byte [r14 + 2], r9b
mov byte [r14 + 5], al
mov byte [r14 + 7], r8b
mov dword [r12], ebx
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1402959c0
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1402178b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.140295f80
sub rsp, rax
mov rax, qword [0x1403c3d98]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r14, qword [rsp + 0xa0]
mov esi, r8d
mov r12, qword [rsp + 0xa8]
mov r13, r9
mov rdi, rcx
mov r15, rdx
xor ebp, ebp
movzx r10d, byte [r14]
movzx r8d, byte [r14 + 1]
movzx eax, byte [r14 + 2]
movzx ecx, byte [r14 + 6]
movzx edx, byte [r14 + 4]
movzx r9d, byte [r14 + 5]
mov ebx, dword [r12]
shl eax, 8
shl r8d, 0x10
shl r10d, 0x18
or r8d, r10d
shl edx, 0x18
or r8d, eax
shl r9d, 0x10
movzx eax, byte [r14 + 3]
or r9d, edx
or r8d, eax
shl ecx, 8
movzx eax, byte [r14 + 7]
or ecx, eax
mov dword [rsp + 0x20], r8d
or r9d, ecx
mov byte [rsp + 0x2b], r8b
mov eax, r8d
mov dword [rsp + 0x24], r9d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], r9b
bswap r10d
mov byte [rsp + 0x28], r10b
bswap edx
mov byte [rsp + 0x2c], dl
test esi, esi
je 0x140217a73
sub r15, rdi
movzx r10d, r9b
movzx edx, r8b
dec esi
test ebx, ebx
jne 0x140217a12
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.1402171f0
mov r8d, dword [rsp + 0x20]
mov eax, r8d
mov r9d, dword [rsp + 0x24]
mov edx, r8d
shr eax, 0x18
mov r10d, r9d
mov byte [rsp + 0x28], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r9d
shr eax, 0x18
mov byte [rsp + 0x2c], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2e], al
inc ebp
mov byte [rsp + 0x2b], dl
mov byte [rsp + 0x2f], r10b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x28]
xor cl, byte [rdi]
mov byte [r15 + rdi], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x1402179a8
test ebp, ebp
je 0x140217a73
mov eax, r8d
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, r8d
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, r9d
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, r9d
shr eax, 0x10
shr r8d, 8
shr r9d, 8
mov byte [r14 + 6], r9b
mov byte [r14 + 2], r8b
mov byte [r14 + 5], al
mov byte [r14 + 7], r10b
mov dword [r12], ebx
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1402959c0
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14021a390
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.140295f80
sub rsp, rax
mov rax, qword [0x1403c3d98]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r14, qword [rsp + 0xa0]
mov esi, r8d
mov r12, qword [rsp + 0xa8]
mov r13, r9
mov rdi, rcx
mov r15, rdx
xor ebp, ebp
movzx r10d, byte [r14]
movzx r8d, byte [r14 + 1]
movzx eax, byte [r14 + 2]
movzx ecx, byte [r14 + 6]
movzx edx, byte [r14 + 4]
movzx r9d, byte [r14 + 5]
mov ebx, dword [r12]
shl eax, 8
shl r8d, 0x10
shl r10d, 0x18
or r8d, r10d
shl edx, 0x18
or r8d, eax
shl r9d, 0x10
movzx eax, byte [r14 + 3]
or r9d, edx
or r8d, eax
shl ecx, 8
movzx eax, byte [r14 + 7]
or ecx, eax
mov dword [rsp + 0x20], r8d
or r9d, ecx
mov byte [rsp + 0x2b], r8b
mov eax, r8d
mov dword [rsp + 0x24], r9d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], r9b
bswap r10d
mov byte [rsp + 0x28], r10b
bswap edx
mov byte [rsp + 0x2c], dl
test esi, esi
je 0x14021a553
sub r15, rdi
movzx r10d, r9b
movzx edx, r8b
dec esi
test ebx, ebx
jne 0x14021a4f2
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.140219ca0
mov r8d, dword [rsp + 0x20]
mov eax, r8d
mov r9d, dword [rsp + 0x24]
mov edx, r8d
shr eax, 0x18
mov r10d, r9d
mov byte [rsp + 0x28], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r9d
shr eax, 0x18
mov byte [rsp + 0x2c], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2e], al
inc ebp
mov byte [rsp + 0x2b], dl
mov byte [rsp + 0x2f], r10b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x28]
xor cl, byte [rdi]
mov byte [r15 + rdi], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x14021a488
test ebp, ebp
je 0x14021a553
mov eax, r8d
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, r8d
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, r9d
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, r9d
shr eax, 0x10
shr r8d, 8
shr r9d, 8
mov byte [r14 + 6], r9b
mov byte [r14 + 2], r8b
mov byte [r14 + 5], al
mov byte [r14 + 7], r10b
mov dword [r12], ebx
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1402959c0
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14021aa10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rsi
push rdi
push r12
push r15
mov eax, gethostbyaddr
call fcn.140295f80
sub rsp, rax
mov rsi, qword [rsp + 0x88]
mov r10, r9
mov rdi, r8
mov r15, rdx
mov r12, rcx
mov ebx, dword [rsi]
test ebx, ebx
jns 0x14021aa55
mov dword [rsi], 0xffffffff
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x60], rbp
mov rbp, qword [rsp + 0x80]
test ebx, ebx
je 0x14021aa88
test rdi, rdi
je 0x14021aa88
mov eax, ebx
dec rdi
movzx ecx, byte [rax + rbp]
xor cl, byte [r12]
inc r12
mov byte [r15], cl
inc r15
inc ebx
and ebx, 0xf
jne 0x14021aa66
mov r9, qword [rsp + 0x90]
cmp rdi, 0x10
jb 0x14021ab59
mov qword [rsp + 0x28], r13
mov rsi, r15
mov r13, rdi
mov qword [rsp + 0x20], r14
shr r13, 4
mov r14, r12
imul rax, r13, 0xfffffffffffffff0
sub rsi, rbp
sub r14, rbp
add rdi, rax
mov rax, r13
shl rax, 4
add r15, rax
mov qword [rsp + 0x68], r15
add r12, rax
mov r15, qword [rsp + 0x78]
nop word [rax + rax]
mov r8, r15
mov rdx, rbp
mov rcx, rbp
call r9
cmp ebx, 0x10
jae 0x14021ab25
mov edx, reloc.WS2_32.dll_ntohs
mov eax, ebx
sub edx, ebx
add rax, rbp
shr edx, 3
inc edx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r14 + rax]
xor rcx, qword [rax]
mov qword [rsi + rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x14021ab10
mov r9, qword [rsp + 0x90]
add rsi, 0x10
add r14, 0x10
xor ebx, ebx
sub r13, 1
jne 0x14021aae0
mov r15, qword [rsp + 0x68]
mov r10, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
mov r14, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
test rdi, rdi
je 0x14021ab86
mov r8, r10
mov rdx, rbp
mov rcx, rbp
call r9
nop word [rax + rax]
mov ecx, ebx
inc ebx
movzx eax, byte [rcx + r12]
xor al, byte [rcx + rbp]
mov byte [rcx + r15], al
sub rdi, 1
jne 0x14021ab70
mov dword [rsi], ebx
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret
Function at 0x14021c540
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0x20
call fcn.140295f80
sub rsp, rax
mov r13, qword [rcx + 0x160]
lea r14, [rcx + 0x40]
xor r12d, r12d
mov rdi, r8
mov qword [rcx + 0x30], r12
mov rsi, rdx
mov qword [rcx + 0x38], r12
mov rbx, rcx
mov qword [rcx + 0x170], r12
cmp r8, 0xc
jne 0x14021c5a4
movsd xmm0, qword [rdx]
lea edi, [r8 - 0xb]
movsd qword [rcx], xmm0
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov dword [rcx + 0xc], 0x1000000
jmp 0x14021c6bc
mov qword [rsp + 0x50], rbp
mov rbp, rdi
mov qword [rsp + 0x58], r15
lea r15, [rcx + 0x60]
mov qword [r14], r12
mov qword [rcx + 0x48], r12
cmp rdi, 0x10
jb 0x14021c666
mov r12, rdi
shr r12, 4
imul rax, r12, 0xfffffffffffffff0
add rdi, rax
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsi]
mov rdx, r15
xor byte [r14], al
mov rcx, r14
movzx eax, byte [rsi + 1]
xor byte [rbx + 0x41], al
movzx eax, byte [rsi + 2]
xor byte [rbx + 0x42], al
movzx eax, byte [rsi + 3]
xor byte [rbx + 0x43], al
movzx eax, byte [rsi + 4]
xor byte [rbx + 0x44], al
movzx eax, byte [rsi + 5]
xor byte [rbx + 0x45], al
movzx eax, byte [rsi + 6]
xor byte [rbx + 0x46], al
movzx eax, byte [rsi + 7]
xor byte [rbx + 0x47], al
movzx eax, byte [rsi + 8]
xor byte [rbx + 0x48], al
movzx eax, byte [rsi + 9]
xor byte [rbx + 0x49], al
movzx eax, byte [rsi + 0xa]
xor byte [rbx + 0x4a], al
movzx eax, byte [rsi + 0xb]
xor byte [rbx + 0x4b], al
movzx eax, byte [rsi + 0xc]
xor byte [rbx + 0x4c], al
movzx eax, byte [rsi + 0xd]
xor byte [rbx + 0x4d], al
movzx eax, byte [rsi + 0xe]
xor byte [rbx + 0x4e], al
movzx eax, byte [rsi + 0xf]
xor byte [rbx + 0x4f], al
call r13
add rsi, 0x10
sub r12, 1
jne 0x14021c5e0
test rdi, rdi
je 0x14021c68b
mov rcx, r14
sub rsi, rbx
movzx eax, byte [rsi + rcx - 0x40]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdi, 1
jne 0x14021c671
mov rdx, r15
mov rcx, r14
call r13
shl rbp, 3
mov rdx, r15
bswap rbp
xor qword [rbx + 0x48], rbp
mov rcx, r14
call r13
mov rax, qword [r14]
mov edi, dword [rbx + 0x4c]
mov r15, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov qword [rbx], rax
mov rax, qword [rbx + 0x48]
mov qword [rbx + 8], rax
bswap edi
mov qword [r14], r12
lea rdx, [rbx + 0x20]
mov qword [rbx + 0x48], r12
mov rcx, rbx
mov r8, qword [rbx + 0x180]
call qword [rbx + 0x178]
inc edi
bswap edi
mov dword [rbx + 0xc], edi
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret