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

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0x40
call fcn.1401520e0
sub rsp, rax
mov rbx, r8
mov r14, rdx
mov r8, qword [rsp + 0xb0]
mov rbp, rcx
mov edi, dword [r8]
mov dword [rsp + 0x30], edi
test edi, edi
je 0x1401f4ef5
mov rdx, qword [rsp + 0xa8]
test rbx, rbx
je 0x1401f4ef1
mov eax, edi
dec rbx
movzx ecx, byte [rax + rdx]
xor cl, byte [rbp]
inc rbp
mov byte [r14], cl
inc r14
inc edi
and edi, 0xf
jne 0x1401f4ed0
mov dword [rsp + 0x30], edi
mov rax, qword [rsp + 0xa0]
mov esi, 1
mov ecx, dword [rax + 0xc]
lea r15, [rax + 0xc]
mov r10, qword [rsp + 0xb8]
mov qword [rsp + 0x80], r12
lea r13d, [rsi + 0xb]
bswap ecx
mov dword [rsp + 0x90], ecx
cmp rbx, 0x10
jb 0x1401f5003
mov rdi, qword [rsp + 0xa0]
mov eax, 0x10000000
nop dword [rax]
mov rdx, rbx
mov qword [rsp + 0x20], rdi
shr rdx, 4
cmp rdx, rax
cmova rdx, rax
add ecx, edx
mov r12, rdx
mov eax, ecx
sub r12, rax
cmp rax, rdx
cmovae r12, rdx
xor r8d, r8d
cmp rax, rdx
mov rdx, r14
cmovae r8d, ecx
mov rcx, rbp
mov dword [rsp + 0x90], r8d
mov r8, r12
call r10
mov ecx, dword [rsp + 0x90]
mov eax, ecx
bswap eax
mov dword [r15], eax
test ecx, ecx
jne 0x1401f4fbc
mov r8d, r13d
mov eax, esi
mov rdx, r15
nop dword [rax]
movzx ecx, byte [rdx - 1]
lea rdx, [rdx - 1]
add eax, ecx
mov byte [rdx], al
shr eax, 8
add r8d, 0xffffffff
jne 0x1401f4fa0
mov ecx, dword [rsp + 0x90]
mov r10, qword [rsp + 0xb8]
mov eax, 0x10000000
mov r9, qword [rsp + 0x98]
shl r12, 4
sub rbx, r12
add r14, r12
add rbp, r12
cmp rbx, 0x10
jae 0x1401f4f40
mov edi, dword [rsp + 0x30]
mov r8, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x90], ecx
test rbx, rbx
je 0x1401f5082
mov r12, qword [rsp + 0xa8]
xorps xmm0, xmm0
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rdx, r12
mov rcx, r12
movups xmmword [r12], xmm0
call r10
mov r8d, dword [rsp + 0x90]
add r8d, esi
bswap r8d
mov dword [r15], r8d
jne 0x1401f5060
nop dword [rax]
movzx eax, byte [r15 - 1]
lea r15, [r15 - 1]
add esi, eax
mov byte [r15], sil
shr esi, 8
add r13d, 0xffffffff
jne 0x1401f5040
nop word [rax + rax]
mov ecx, edi
inc edi
movzx eax, byte [rcx + rbp]
xor al, byte [rcx + r12]
mov byte [rcx + r14], al
sub rbx, 1
jne 0x1401f5060
mov rax, qword [rsp + 0xb0]
mov dword [rax], edi
jmp 0x1401f5085
mov dword [r8], edi
mov r12, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1401f5600
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
lea rsi, [rcx - 1]
movsxd rdi, r9d
not rcx
shr rsi, 0x3f
shr rcx, 0x3f
mov r11, rdx
and rsi, rcx
mov r10, r8
mov ecx, dword [rdx + 8]
dec rsi
xor ecx, dword [r8 + 8]
and ecx, esi
xor dword [rdx + 8], ecx
xor dword [r8 + 8], ecx
movq xmm4, rsi
mov ecx, dword [rdx + 0x10]
xor ecx, dword [r8 + 0x10]
and ecx, esi
punpcklqdq xmm4, xmm4
xor dword [rdx + 0x10], ecx
xor dword [r8 + 0x10], ecx
mov edx, dword [rdx + 0x14]
mov ecx, edx
mov eax, dword [r8 + 0x14]
xor rcx, rax
and ecx, 4
and rcx, rsi
mov eax, ecx
xor eax, edx
mov dword [r11 + 0x14], eax
xor dword [r8 + 0x14], ecx
xor ecx, ecx
mov edx, ecx
test r9d, r9d
jle 0x1401f571d
cmp edi, 2
jb 0x1401f571d
mov r9, qword [r8]
lea rax, [rdi - 1]
mov r8, qword [r11]
lea rbx, [rdi - 1]
lea rbx, [r9 + rbx*8]
lea rax, [r8 + rax*8]
cmp r9, rax
ja 0x1401f56aa
cmp rbx, r8
jae 0x1401f571d
cmp r9, r10
ja 0x1401f56b4
cmp rbx, r10
jae 0x1401f571d
cmp r9, r11
ja 0x1401f56be
cmp rbx, r11
jae 0x1401f571d
cmp r8, r10
ja 0x1401f56c8
cmp rax, r10
jae 0x1401f571d
cmp r8, r11
ja 0x1401f56d2
cmp rax, r11
jae 0x1401f571d
mov eax, edi
and eax, 0xfffffffe
nop word [rax + rax]
movdqu xmm2, xmmword [rcx + r9]
add edx, 2
movdqu xmm1, xmmword [rcx + r8]
lea rcx, [rcx + 0x10]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm4
movdqa xmm0, xmm3
pxor xmm3, xmm2
pxor xmm0, xmm1
movdqu xmmword [rcx + r8 - 0x10], xmm0
movdqu xmmword [rcx + r9 - 0x10], xmm3
cmp edx, eax
jl 0x1401f56e0
movsxd rax, edx
cmp rax, rdi
jge 0x1401f575d
nop word [rax + rax]
mov rcx, qword [r11]
mov rdx, qword [rcx + rax*8]
lea r8, [rcx + rax*8]
mov rcx, qword [r10]
mov r9, rdx
xor r9, qword [rcx + rax*8]
and r9, rsi
xor rdx, r9
mov qword [r8], rdx
mov rcx, qword [r10]
xor qword [rcx + rax*8], r9
inc rax
cmp rax, rdi
jl 0x1401f5730
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
Function at 0x140219760
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.1401520e0
sub rsp, rax
mov rax, qword [0x14042e200]
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 0x140219956
mov r12, qword [rsp + 0x28]
sub r15, rdi
mov r14, qword [rsp + 0x30]
nop dword [rax]
dec esi
test ebx, ebx
jne 0x1402198eb
mov r9, r14
lea rcx, [rsp + 0x20]
mov r8, r12
mov rdx, r13
call fcn.1402171f0
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 0x140219880
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
test ebp, ebp
je 0x140219956
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.140151510
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 0x14021b600
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.1401520e0
sub rsp, rax
mov rax, qword [0x14042e200]
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 0x14021b65f
mov dword [r12], 0xffffffff
jmp 0x14021b7df
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 0x14021b7db
sub r15, rdi
movzx r8d, r10b
movzx edx, r9b
nop dword [rax]
dec esi
test ebx, ebx
jne 0x14021b77a
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.14021abc0
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 0x14021b710
test ebp, ebp
je 0x14021b7db
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.140151510
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 0x14021dd40
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.1401520e0
sub rsp, rax
mov rax, qword [0x14042e200]
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 0x14021df03
sub r15, rdi
movzx r10d, r9b
movzx edx, r8b
dec esi
test ebx, ebx
jne 0x14021dea2
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.14021d680
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 0x14021de38
test ebp, ebp
je 0x14021df03
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.140151510
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 0x1402207f0
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.1401520e0
sub rsp, rax
mov rax, qword [0x14042e200]
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 0x1402209b3
sub r15, rdi
movzx r10d, r9b
movzx edx, r8b
dec esi
test ebx, ebx
jne 0x140220952
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.140220100
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 0x1402208e8
test ebp, ebp
je 0x1402209b3
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.140151510
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 0x140220e70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rsi
push rdi
push r12
push r15
mov eax, gethostbyname
call fcn.1401520e0
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 0x140220eb5
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 0x140220ee8
test rdi, rdi
je 0x140220ee8
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 0x140220ec6
mov r9, qword [rsp + 0x90]
cmp rdi, 0x10
jb 0x140220fb9
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 0x140220f85
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 0x140220f70
mov r9, qword [rsp + 0x90]
add rsi, 0x10
add r14, 0x10
xor ebx, ebx
sub r13, 1
jne 0x140220f40
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 0x140220fe6
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 0x140220fd0
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 0x140221a40
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push r14
mov eax, 0x20
call fcn.1401520e0
sub rsp, rax
cmp qword [rcx + 0x38], 0
mov rbx, r8
mov r14, rdx
mov rbp, rcx
je 0x140221a70
mov eax, 0xfffffffe
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
mov rcx, qword [rcx + 0x30]
movabs rax, 0x2000000000000000
add rcx, rbx
cmp rcx, rax
ja 0x140221b62
cmp rcx, rbx
jb 0x140221b62
mov qword [rsp + 0x40], rsi
mov esi, dword [rbp + 0x17c]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r12
mov qword [rbp + 0x30], rcx
test esi, esi
je 0x140221ae6
test rbx, rbx
je 0x140221b42
movzx eax, byte [r14]
dec rbx
mov ecx, esi
inc r14
xor byte [rcx + rbp + 0x40], al
inc esi
and esi, 0xf
jne 0x140221ab0
lea r12, [rbp + 0x60]
lea rdi, [rbp + 0x40]
mov rdx, r12
mov rcx, rdi
call qword [rbp + 0x170]
jmp 0x140221aee
lea r12, [rbp + 0x60]
lea rdi, [rbp + 0x40]
mov qword [rsp + 0x58], r15
mov r15, rbx
and r15, 0xfffffffffffffff0
je 0x140221b14
mov r9, r15
mov r8, r14
mov rdx, r12
mov rcx, rdi
call qword [rbp + 0x168]
add r14, r15
sub rbx, r15
mov r15, qword [rsp + 0x58]
test rbx, rbx
je 0x140221b42
mov esi, ebx
sub r14, rbp
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r14 + rdi - 0x40]
xor byte [rdi], al
lea rdi, [rdi + 1]
sub rbx, 1
jne 0x140221b30
mov rdi, qword [rsp + 0x48]
xor eax, eax
mov r12, qword [rsp + 0x50]
mov dword [rbp + 0x17c], esi
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
mov eax, 0xffffffff
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
Function at 0x140222b50
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r13
push r14
mov eax, 0x20
call fcn.1401520e0
sub rsp, rax
xor r13d, r13d
lea r14, [rcx + 0x40]
mov qword [rcx + 0x30], r13
mov rdi, r8
mov qword [rcx + 0x38], r13
mov rsi, rdx
mov qword [rcx + 0x178], r13
mov rbx, rcx
cmp r8, 0xc
jne 0x140222ba8
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 0x140222cd1
mov qword [rsp + 0x50], rbp
mov rbp, rdi
mov qword [rsp + 0x60], r15
lea r15, [rcx + 0x60]
mov qword [r14], r13
mov qword [rcx + 0x48], r13
cmp rdi, 0x10
jb 0x140222c6e
mov qword [rsp + 0x58], r12
mov r12, rdi
shr r12, 4
imul rax, r12, 0xfffffffffffffff0
add rdi, rax
nop dword [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 qword [rbx + 0x170]
add rsi, 0x10
sub r12, 1
jne 0x140222be0
mov r12, qword [rsp + 0x58]
test rdi, rdi
je 0x140222c9d
mov rcx, r14
sub rsi, rbx
nop dword [rax]
movzx eax, byte [rsi + rcx - 0x40]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdi, 1
jne 0x140222c80
mov rdx, r15
mov rcx, r14
call qword [rbx + 0x170]
shl rbp, 3
mov rdx, r15
bswap rbp
xor qword [rbx + 0x48], rbp
mov rcx, r14
call qword [rbx + 0x170]
mov rax, qword [r14]
mov edi, dword [rbx + 0x4c]
mov r15, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
mov qword [rbx], rax
mov rax, qword [rbx + 0x48]
mov qword [rbx + 8], rax
bswap edi
mov qword [r14], r13
lea rdx, [rbx + 0x20]
mov qword [rbx + 0x48], r13
mov rcx, rbx
mov r8, qword [rbx + 0x188]
call qword [rbx + 0x180]
inc edi
bswap edi
mov dword [rbx + 0xc], edi
add rsp, 0x20
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret
Function at 0x1402233a0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x78
call fcn.1401520e0
sub rsp, rax
mov rax, qword [0x14042e200]
xor rax, rsp
mov qword [rsp + 0x68], rax
movzx ebx, byte [rcx]
lea r12, [rcx + 0x10]
mov r11, qword [rsp + 0xe0]
mov rbp, r9
mov rax, qword [rcx + 0x28]
mov r15, r8
mov r10, qword [rcx + 0x30]
mov r14, rdx
mov qword [rsp + 0x50], r11
mov rdi, rcx
mov byte [rsp + 0x30], bl
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r10
test bl, 0x40
jne 0x140223419
mov r8, r10
mov rdx, r12
call rax
mov r10, qword [rsp + 0x38]
mov r9, rbp
mov r11, qword [rsp + 0x50]
xor esi, esi
mov r8d, ebx
and r8d, 7
mov r13d, reloc.WS2_32.dll_ntohs
sub r13d, r8d
mov byte [rdi], r8b
mov ecx, esi
cmp r13d, 0xf
jae 0x140223457
mov edx, r13d
add rdx, rdi
nop dword [rax]
movzx eax, byte [rdx]
mov byte [rdx], sil
lea rdx, [rdx + 1]
or rcx, rax
shl rcx, 8
sub r8, 1
jne 0x140223440
movzx eax, byte [rdi + 0xf]
or rcx, rax
mov byte [rdi + 0xf], 1
cmp rcx, rbp
je 0x140223471
mov eax, 0xffffffff
jmp 0x14022359a
mov rbx, rbp
shr rbx, 4
test rbx, rbx
je 0x1402234f2
mov qword [rsp + 0x28], r12
mov r9, r10
mov r8, rbx
mov qword [rsp + 0x20], rdi
mov rdx, r15
mov rcx, r14
call r11
shl rbx, 4
add r14, rbx
add r15, rbx
sub rbp, rbx
je 0x14022354c
shr rbx, 4
lea r8, [rdi + 0x10]
mov r9, 0xfffffffffffffff8
mov rdx, rsi
sub r9, rdi
nop
movzx eax, byte [r8 - 1]
lea r8, [r8 - 1]
add rdx, rax
movzx ecx, bl
add rdx, rcx
shr rbx, 8
mov byte [r8], dl
lea rax, [r8 + r9]
shr rdx, 8
test rax, rax
je 0x1402234fa
test rbx, rbx
jne 0x1402234c0
test rdx, rdx
jne 0x1402234c0
jmp 0x1402234fa
mov rbp, r9
test r9, r9
je 0x14022354c
mov rbx, qword [rsp + 0x38]
lea rdx, [rsp + 0x58]
mov r8, rbx
mov rcx, rdi
call qword [rsp + 0x40]
test rbp, rbp
je 0x14022353a
mov rcx, rsi
nop word [rax + rax]
movzx eax, byte [rcx + r14]
inc esi
xor al, byte [rsp + rcx + 0x58]
mov byte [rcx + r15], al
xor byte [rcx + rdi + 0x10], al
mov ecx, esi
cmp rcx, rbp
jb 0x140223520
mov rsi, qword [rsp + 0x40]
mov r8, rbx
mov rdx, r12
mov rcx, r12
call rsi
jmp 0x140223556
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
cmp r13d, 0x10
jae 0x140223572
mov r8d, reloc.WS2_32.dll_recv
mov ecx, r13d
sub r8d, r13d
add rcx, rdi
xor edx, edx
call fcn.140345b50
mov r8, rbx
lea rdx, [rsp + 0x58]
mov rcx, rdi
call rsi
mov rax, qword [rsp + 0x58]
xor qword [r12], rax
mov rax, qword [rsp + 0x60]
xor qword [rdi + 0x18], rax
movzx eax, byte [rsp + 0x30]
mov byte [rdi], al
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140151510
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret