joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14016be50
Capabilities:
Decrypt data using aes via x86 extensions
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x68
movdqa xmm2, xmmword [0x1404b6e70]
mov r10, rcx
movdqa xmm3, xmmword [0x1404b6e20]
mov rax, rcx
movdqa xmm4, xmmword [0x1404b6e90]
mov r11, r8
movdqa xmm5, xmmword [0x1404b6da0]
lea r8, [rcx + 0x1c00]
movdqu xmm0, xmmword [r9]
lea rcx, [rdx - 0x1c00]
movdqu xmm1, xmmword [r9 + 0x10]
add rcx, rax
movaps xmmword [rsp + 0x50], xmm6
mov edx, 2
movdqu xmm6, xmmword [r9 + 0x20]
movaps xmmword [rsp + 0x40], xmm7
movdqu xmm7, xmmword [r9 + 0x30]
movaps xmmword [rsp + 0x30], xmm8
movdqa xmm8, xmmword [0x1404b6e40]
movaps xmmword [rsp + 0x20], xmm9
movdqa xmm9, xmmword [0x1404b6d00]
movaps xmmword [rsp + 0x10], xmm10
movdqa xmm10, xmmword [0x1404b6d40]
movaps xmmword [rsp], xmm11
movdqa xmm11, xmmword [0x1404b6d60]
nop
cmp rax, rcx
jae 0x14016bfa3
nop dword [rax]
aesenc xmm2, xmmword [rax]
aesdec xmm3, xmmword [rax + 0x10]
aesenc xmm4, xmmword [rax + 0x20]
aesdec xmm5, xmmword [rax + 0x30]
aesenc xmm2, xmmword [rax + 0x40]
aesdec xmm3, xmmword [rax + 0x50]
aesenc xmm4, xmmword [rax + 0x60]
aesdec xmm5, xmmword [rax + 0x70]
aesdec xmm0, xmm8
movdqu xmmword [rax], xmm0
aesenc xmm1, xmm9
movdqu xmmword [rax + 0x10], xmm1
aesdec xmm6, xmm10
movdqu xmmword [rax + 0x20], xmm6
aesenc xmm7, xmm11
movdqu xmmword [rax + 0x30], xmm7
aesdec xmm0, xmm8
movdqu xmmword [rax + 0x40], xmm0
aesenc xmm1, xmm9
movdqu xmmword [rax + 0x50], xmm1
aesdec xmm6, xmm10
aesenc xmm7, xmm11
movdqu xmmword [rax + 0x60], xmm6
movdqu xmmword [rax + 0x70], xmm7
prefetcht0 byte [r8]
prefetcht0 byte [r8 + 0x40]
sub rax, 0xffffffffffffff80
lea r8, [r8 + 0x80]
cmp rax, rcx
jb 0x14016bf00
add rcx, 0x1c00
mov r8, r10
sub rdx, 1
jne 0x14016bef0
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x20]
movaps xmm10, xmmword [rsp + 0x10]
movaps xmm11, xmmword [rsp]
movdqu xmmword [r9], xmm0
movdqa xmm0, xmmword [0x1404b6cd0]
movdqu xmmword [r9 + 0x10], xmm1
movdqa xmm1, xmmword [0x1404b6ea0]
movdqu xmmword [r9 + 0x20], xmm6
movaps xmm6, xmmword [rsp + 0x50]
movdqu xmmword [r9 + 0x30], xmm7
movaps xmm7, xmmword [rsp + 0x40]
aesenc xmm2, xmm0
aesdec xmm3, xmm0
aesenc xmm4, xmm0
aesdec xmm5, xmm0
aesenc xmm2, xmm1
aesdec xmm3, xmm1
aesenc xmm4, xmm1
aesdec xmm5, xmm1
movdqu xmmword [r11], xmm2
movdqu xmmword [r11 + 0x10], xmm3
movdqu xmmword [r11 + 0x20], xmm4
movdqu xmmword [r11 + 0x30], xmm5
add rsp, 0x68
ret
Function at 0x140174cf0
Capabilities:
Hash data using sha512

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x70
mov rax, qword [0x1404f1658]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
je 0x140174dee
lea rax, [rdx - 1]
cmp rax, 0x3f
ja 0x140174dd5
xor eax, eax
mov byte [rsp + 0x20], dil
xor edx, edx
mov qword [rsp + 0x32], rax
mov r8d, 0xf0
mov dword [rsp + 0x3a], eax
mov word [rsp + 0x3e], ax
mov word [rsp + 0x21], 0x100
mov byte [rsp + 0x23], 1
mov dword [rsp + 0x24], 0
mov word [rsp + 0x30], 0
call fcn.14034efb0
movaps xmm0, xmmword [0x14045d840]
mov rax, qword [rsp + 0x20]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14045d850]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14045d860]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x14045d870]
xorps xmm0, xmm0
movups xmmword [rbx + 0x30], xmm1
xor qword [rbx], rax
mov rax, qword [rsp + 0x30]
xor qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x38]
xor qword [rbx + 0x18], rax
movq rax, xmm0
xor qword [rbx + 0x20], rax
xor qword [rbx + 8], 0
psrldq xmm0, 8
movq rax, xmm0
xor qword [rbx + 0x28], rax
movzx eax, dil
mov dword [rbx + 0xe4], eax
xor eax, eax
jmp 0x140174df3
cmp byte [rcx + 0xe8], 0
je 0x140174de6
mov qword [rcx + 0x58], 0xffffffffffffffff
mov qword [rcx + 0x50], 0xffffffffffffffff
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14034c3c0
mov rbx, qword [rsp + 0x90]
add rsp, 0x70
pop rdi
ret
Function at 0x140179800
Capabilities:
Decrypt data using aes via x86 extensions
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx + 0xab0]
mov ecx, dword [0x14078e518]
movdqa xmm4, xmmword [0x1404b6e40]
add rcx, rax
movdqa xmm5, xmmword [0x1404b6d00]
movdqu xmm0, xmmword [rdx]
movdqu xmm1, xmmword [rdx + 0x10]
movdqu xmm2, xmmword [rdx + 0x20]
movdqu xmm3, xmmword [rdx + 0x30]
movaps xmmword [rsp + 0x10], xmm6
movdqa xmm6, xmmword [0x1404b6d40]
movaps xmmword [rsp], xmm7
movdqa xmm7, xmmword [0x1404b6d60]
cmp rax, rcx
jae 0x140179890
nop word [rax + rax]
aesdec xmm0, xmm4
aesenc xmm1, xmm5
aesdec xmm2, xmm6
aesenc xmm3, xmm7
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x30], xmm3
add rax, 0x40
cmp rax, rcx
jb 0x140179860
movaps xmm6, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp]
movdqu xmmword [rdx], xmm0
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x30], xmm3
add rsp, 0x28
ret
Function at 0x140184960
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push r12
push r14
sub rsp, 0x30
mov esi, dword [rcx + 8]
mov r14, rcx
mov eax, dword [rcx + 0xc]
lea ebx, [rsi + 4]
cmp ebx, eax
ja 0x1401849a6
nop
mov rax, qword [r14]
mov edx, esi
mov r9, qword [r14 + 0x10]
mov ecx, esi
shl rcx, 6
add rcx, qword [rax + 0x18]
call fcn.140195b5c
mov eax, dword [r14 + 0xc]
add esi, 4
add ebx, 4
cmp ebx, eax
jbe 0x140184980
cmp esi, eax
jae 0x140184b74
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r15
mov r15d, dword [0x1404f1660]
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [r14 + 0x10]
mov r9d, 0x40
mov rax, qword [r14]
mov ecx, esi
mov ebx, esi
mov rbp, qword [rdi]
mov edx, dword [rdi + 0x20]
add rdx, rcx
shl rbx, 6
add rbx, qword [rax + 0x18]
mov ecx, dword [rdi + 0x24]
mov r8, rbx
mov eax, dword [rdi + 0x1c]
imul rdx, rax
mov dword [rsp + 0x28], 0x40
shr rdx, cl
mov ecx, esi
imul edx, dword [rdi + 0x18]
mov qword [rsp + 0x20], rbx
sub ecx, edx
shl rcx, 6
movups xmm0, xmmword [rcx + rbp]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rcx + rbp + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rcx + rbp + 0x20]
movups xmmword [rbx + 0x20], xmm0
movups xmm1, xmmword [rcx + rbp + 0x30]
mov ecx, 0x200
movups xmmword [rbx + 0x30], xmm1
xor dword [rbx], esi
call fcn.140015a40
xor r10d, r10d
xor r11d, r11d
nop
mov ecx, dword [rdi + 0x24]
mov rdx, r11
and edx, 0xf
mov eax, r10d
xor eax, esi
imul r8d, eax, 0x1000193
mov eax, dword [rdi + 0x1c]
xor r8d, dword [rbx + rdx*4]
mov edx, dword [rdi + 0x20]
add rdx, r8
imul rdx, rax
shr rdx, cl
imul edx, dword [rdi + 0x18]
sub r8d, edx
mov edx, r8d
shl rdx, 6
add rdx, rbp
cmp r15d, 2
jl 0x140184b05
lea rax, [rdx + 0x3c]
lea rcx, [rbx + 0x3c]
cmp rbx, rax
ja 0x140184aa2
cmp rcx, rdx
jae 0x140184b05
movdqu xmm1, xmmword [rbx]
movdqa xmm2, xmmword [0x1404b6cc0]
movdqu xmm0, xmmword [rdx]
pmulld xmm1, xmm2
xorps xmm1, xmm0
movdqu xmm0, xmmword [rdx + 0x10]
movdqu xmmword [rbx], xmm1
movdqu xmm1, xmmword [rbx + 0x10]
pmulld xmm1, xmm2
xorps xmm1, xmm0
movdqu xmm0, xmmword [rdx + 0x20]
movdqu xmmword [rbx + 0x10], xmm1
movdqu xmm1, xmmword [rbx + 0x20]
pmulld xmm1, xmm2
xorps xmm1, xmm0
movdqu xmm0, xmmword [rdx + 0x30]
movdqu xmmword [rbx + 0x20], xmm1
movdqu xmm1, xmmword [rbx + 0x30]
pmulld xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rbx + 0x30], xmm1
jmp 0x140184b28
mov rax, rbx
sub rdx, rbx
mov r9d, reloc.WS2_32.dll_recv
imul ecx, dword [rax], 0x1000193
lea rax, [rax + 4]
xor ecx, dword [rdx + rax - 4]
mov dword [rax - 4], ecx
sub r9, 1
jne 0x140184b11
inc r10d
inc r11
cmp r10d, 0x200
jne 0x140184a50
mov dword [rsp + 0x28], 0x40
mov r9d, 0x40
mov r8, rbx
mov qword [rsp + 0x20], rbx
mov ecx, r10d
call fcn.140015a40
inc esi
cmp esi, dword [r14 + 0xc]
jb 0x1401849d0
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop r12
pop rsi
ret
Function at 0x14018a6e0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rbp, rcx
xor edi, edi
mov rax, qword [rcx + 8]
mov rdx, qword [rax + 0x10]
mov rdx, qword [rdx + 8]
add rdx, 0x88
call fcn.14018b270
lea ecx, [rdi + 0x40]
call fcn.14034c3e0
mov rsi, rax
mov qword [rsp + 0x48], rax
mov r14, qword [rbp + 8]
lea rbx, [rax + 8]
lea rax, vtable.xmrig::Httpd.0
mov qword [rsi], rax
lea rax, vtable.xmrig::Httpd.1.0
mov qword [rbx], rax
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], rdi
mov word [rsi + 0x30], di
mov qword [rsi + 0x38], rdi
lea ecx, [rdi + 0x20]
call fcn.14034c3e0
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, vtable.std::_Ref_count_obj2_class_xmrig::HttpListener_.0
mov qword [rax], rcx
lea rcx, [rax + 0x10]
lea rdx, vtable.xmrig::HttpListener.0
mov qword [rcx], rdx
mov qword [rcx + 8], rbx
mov qword [rsi + 0x18], rcx
mov rbx, qword [rsi + 0x20]
mov qword [rsi + 0x20], rax
test rbx, rbx
je 0x14018a7cd
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14018a7cd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14018a7cd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rsp + 0x40], rsi
mov rcx, qword [r14 + 0x10]
add rcx, 0x10
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14018a7ee
mov qword [rdx], rsi
add qword [rcx + 8], 8
jmp 0x14018a7f9
lea r8, [rsp + 0x40]
call fcn.140025f50
nop
mov qword [rbp + 0x38], rsi
mov rcx, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
jmp fcn.14005b300

Function at 0x14018b6f0
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rdx + 0x3f8]
lea r8, [rcx + 0x3f8]
cmp rcx, rax
ja 0x14018b723
cmp r8, rdx
jb 0x14018b723
sub rdx, rcx
mov r8d, 0x80
mov rax, qword [rdx + rcx]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x14018b711
ret
lea rax, [rcx + 0x10]
sub rdx, rcx
mov ecx, reloc.WS2_32.dll_recv
nop
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm1, xmmword [rdx + rax - 0x10]
movdqu xmm2, xmmword [rdx + rax]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rdx + rax - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rdx + rax - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
sub rcx, 1
jne 0x14018b730
ret
Function at 0x140195a00
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x80
mov rax, qword [0x1404f1658]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, rdx
mov rsi, rcx
test dl, 0x3f
je 0x140195a2f
xor al, al
jmp 0x140195b3e
mov r14d, 0x40
shr rbx, 6
mov dword [rsp + 0x28], r14d
mov ecx, 0x200
mov qword [rsp + 0x20], rsi
lea r9d, [r14 - 0x20]
call fcn.140015a40
lea edi, [r14 - 0x3f]
cmp ebx, edi
je 0x140195a8a
mov ecx, edi
lea r8d, [rdi - 1]
shl rcx, 6
mov r9d, r14d
add rcx, rsi
shl r8, 6
mov dword [rsp + 0x28], r14d
add r8, rsi
mov qword [rsp + 0x20], rcx
mov ecx, 0x200
call fcn.140015a40
inc edi
cmp edi, ebx
jne 0x140195a59
mov ebp, 3
xor edi, edi
test ebx, ebx
je 0x140195b32
xor edx, edx
mov r9d, edi
shl r9, 6
add r9, rsi
mov eax, dword [r9]
div ebx
lea eax, [rbx - 1]
mov r8d, edx
add eax, edi
xor edx, edx
shl r8, 6
div ebx
mov ecx, edx
lea rdx, [rsp + 0x30]
shl rcx, 6
sub r8, rdx
add r8, rsi
mov edx, reloc.WS2_32.dll_recv
movups xmm0, xmmword [rcx + rsi]
movups xmm1, xmmword [rcx + rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rcx + rsi + 0x20]
movaps xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rcx + rsi + 0x30]
lea rcx, [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov eax, dword [r8 + rcx]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x140195afc
mov dword [rsp + 0x28], r14d
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], r9
mov ecx, 0x200
mov r9d, r14d
call fcn.140015a40
inc edi
cmp edi, ebx
jne 0x140195a99
sub rbp, 1
jne 0x140195a8f
mov al, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14034c3c0
add rsp, 0x80
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140198ed0
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbx
push rsi
push r14
sub rsp, 0xc0
mov rax, qword [0x1404f1658]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rsi, r8
mov rbx, rdx
mov r14, rcx
movups xmm0, xmmword [0x14046b328]
movups xmm1, xmmword [0x14046b338]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [r11 - 0x58], xmm1
mov qword [r11 - 0x48], 0
cmp r8, 0x80
jae 0x140198f2e
lea rcx, [rsp + 0x30]
call fcn.140198d40
jmp 0x140198f94
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xb0], rdi
mov rdi, rsi
shr rdi, 6
imul rbp, rdi, 0xffffffffffffffc0
add rbp, rsi
nop dword [rax]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140196700
add rbx, 0x40
sub rdi, 1
jne 0x140198f50
mov rdi, qword [rsp + 0xb0]
test rbp, rbp
je 0x140198f84
mov r8, rbp
lea rcx, [rsp + 0x30]
mov rdx, rbx
call fcn.14034e910
add qword [rsp + 0x90], rsi
mov rbp, qword [rsp + 0xb8]
mov r9, r14
lea rcx, [rsp + 0x30]
call fcn.140198df0
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14034c3c0
add rsp, 0xc0
pop r14
pop rsi
pop rbx
ret
Function at 0x140218be0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0xd8
call fcn.14034cea0
sub rsp, rax
mov rax, qword [0x1404f1658]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r12, qword [rdx + 8]
xor esi, esi
mov r15, qword [rdx + 0x10]
mov rax, r12
sub rax, r8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov rdi, r8
mov r13, rdx
mov ebp, esi
cmp r15, r8
jb 0x140218dc6
cmp r8, 0x40
ja 0x140218dc6
lea rax, [rsp + 0x40]
mov qword [rsp + 0x118], rbx
neg rax
mov qword [rsp + 0xd0], r14
and eax, 0x3f
lea r14, [rsp + 0x40]
add r14, rax
lea rax, [r8 + 0x100]
cmp r15, rax
jbe 0x140218c7a
mov rbp, r15
sub rbp, r8
sub rbp, 0x100
xor edx, edx
mov qword [rsp + 0x20], rsi
mov rcx, r14
mov rbx, rsi
call fcn.14034efb0
mov r9, rsi
cmp rbp, r15
jae 0x140218d37
mov r11, qword [r13 + 0x20]
mov r10, qword [rsp + 0x28]
lea r13, [r11 + r12]
nop word [rax + rax]
lea rdx, [r11 + rbp]
mov rax, rbp
xor rax, r10
mov rcx, rdx
sub rcx, r13
xor rcx, r12
lea r8, [rax - 1]
not rax
shr rax, 0x3f
shr r8, 0x3f
and r8, rax
mov rax, rbp
xor rax, r12
neg r8
or rcx, rax
mov rax, r8
xor rcx, rbp
or rax, rsi
shr rcx, 0x3f
and r8, r9
neg rcx
or rbx, r8
mov rsi, rcx
inc rbp
and rsi, rax
movzx eax, byte [rdx]
and al, sil
or byte [r9 + r14], al
inc r9
mov rcx, r9
mov rax, rdi
sub rcx, rdi
xor rax, r9
xor rcx, rdi
or rcx, rax
xor rcx, r9
shr rcx, 0x3f
neg rcx
and r9, rcx
cmp rbp, r15
jb 0x140218cb0
xor esi, esi
test rdi, rdi
je 0x140218daf
mov r9, qword [rsp + 0x30]
mov rax, rbx
and rax, 0xffffffffffffffdf
movzx r8d, byte [rax + r14]
mov rax, rbx
or rax, 0x20
movzx edx, byte [rax + r14]
mov eax, ebx
and eax, 0x20
inc rbx
dec eax
shr eax, 0x1f
neg al
movzx eax, al
mov dword [rsp + 0x28], eax
not eax
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
and cl, dl
and al, r8b
or al, cl
mov rcx, rbx
sub rcx, rdi
mov byte [r9 + rsi], al
xor rcx, rdi
mov rax, rdi
xor rax, rbx
inc rsi
or rcx, rax
xor rcx, rbx
shr rcx, 0x3f
neg rcx
and rbx, rcx
cmp rsi, rdi
jb 0x140218d41
mov r14, qword [rsp + 0xd0]
mov eax, 1
mov rbx, qword [rsp + 0x118]
jmp 0x140218dc8
xor eax, eax
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14034c3c0
add rsp, 0xd8
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140231220
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov eax, gethostname
call fcn.14034cea0
sub rsp, rax
mov r10, r8
mov r11, rcx
test r9, r9
jne 0x14023125f
mov edx, 0xe2
mov dword [rsp + 0x20], 0x9a
lea r9, str.crypto_asn1_a_int.c
lea ecx, [rax - 0x2b]
lea r8d, [rdx - 4]
call fcn.14023ec20
xor eax, eax
add rsp, 0x38
ret
movzx r8d, byte [r8]
and r8d, 0x80
test rdx, rdx
je 0x140231272
mov dword [rdx], r8d
cmp r9, 1
jne 0x140231294
test r11, r11
je 0x14023128a
movzx eax, byte [r10]
test r8d, r8d
je 0x140231288
neg al
mov byte [rcx], al
mov eax, 1
add rsp, 0x38
ret
movzx ecx, byte [r10]
mov qword [rsp + 0x40], rbx
xor ebx, ebx
mov eax, ebx
test cl, cl
jne 0x1402312b1
mov eax, 1
mov ebx, eax
jmp 0x14023135f
cmp cl, 0xff
jne 0x14023139d
mov eax, 1
lea rcx, [r9 - 1]
mov edx, ebx
cmp r9, rax
jbe 0x14023134f
cmp rcx, 8
jb 0x140231340
and ecx, 7
mov rdx, r9
sub rdx, rcx
xorps xmm2, xmm2
xorps xmm3, xmm3
movd xmm1, dword [rax + r10]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
por xmm2, xmm1
movd xmm1, dword [rax + r10 + 4]
punpcklbw xmm1, xmm0
add rax, 8
punpcklwd xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
cmp rax, rdx
jb 0x1402312e3
por xmm2, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd edx, xmm2
cmp rax, r9
jae 0x14023134f
nop
movzx ecx, byte [rax + r10]
inc rax
or edx, ecx
cmp rax, r9
jb 0x140231340
test edx, edx
mov eax, ebx
setne al
test edx, edx
setne bl
test edx, edx
je 0x14023139d
movzx ecx, byte [r10 + 1]
and ecx, 0x80
cmp r8d, ecx
jne 0x14023139d
mov edx, 0xe2
mov dword [rsp + 0x20], 0xbb
lea r9, str.crypto_asn1_a_int.c
mov ecx, reloc.WS2_32.dll_listen
lea r8d, [rdx - 5]
call fcn.14023ec20
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x38
ret
mov ecx, eax
sub r9, rcx
test r11, r11
je 0x1402313f1
neg r8d
mov qword [rsp + 0x30], rdi
lea r8, [rbx + r10]
sbb edi, edi
add r8, r9
movzx edi, dil
mov ecx, edi
and ecx, 1
test r9, r9
je 0x1402313ec
mov rdx, r8
sub rdx, rbx
sub rdx, r10
nop
movzx eax, byte [r8 - 1]
lea r8, [r8 - 1]
dec rdx
xor eax, edi
add ecx, eax
mov byte [rdx + r11], cl
shr ecx, 8
test rdx, rdx
jne 0x1402313d0
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rax, r9
add rsp, 0x38
ret

Function at 0x140234bc0
Capabilities:
Set thread local storage value

Disassembly:
mov eax, 0x28
call fcn.14034cea0
sub rsp, rax
mov ecx, dword [rcx]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
add rsp, 0x28
ret
Function at 0x140242f70
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
xor eax, eax
mov r10, rcx
test rcx, rcx
je 0x140242fdc
movzx ecx, byte [rcx]
test cl, cl
je 0x140242fdc
mov r11d, 0x100
nop word [rax + rax]
movsx r9d, cl
lea r10, [r10 + 1]
or r9d, r11d
mov r8d, eax
mov edx, r9d
mov ecx, 0x20
shr edx, 2
add r11d, 0x100
xor edx, r9d
imul r9d, r9d
and edx, 0xf
sub ecx, edx
shr r8, cl
mov ecx, edx
mov edx, eax
mov eax, r8d
shl edx, cl
movzx ecx, byte [r10]
or eax, edx
xor eax, r9d
test cl, cl
jne 0x140242f90
mov ecx, eax
shr ecx, 0x10
xor eax, ecx
ret

Function at 0x1402430a0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
mov eax, 0x20
call fcn.14034cea0
sub rsp, rax
xor ebx, ebx
mov rdi, rcx
test rcx, rcx
je 0x140243133
movzx eax, byte [rcx]
test al, al
je 0x140243133
mov qword [rsp + 0x30], rsi
mov esi, 0x100
nop
movsx ecx, al
call fcn.14027b9a0
mov r9d, eax
mov edx, ebx
or r9d, esi
lea rdi, [rdi + 1]
mov eax, ebx
mov r8d, r9d
shr r8d, 2
mov ecx, 0x20
xor r8d, r9d
add esi, 0x100
and r8d, 0xf
imul r9d, r9d
sub ecx, r8d
shr rdx, cl
mov ecx, r8d
shl eax, cl
mov ebx, edx
or ebx, eax
movzx eax, byte [rdi]
xor ebx, r9d
test al, al
jne 0x1402430d0
mov rsi, qword [rsp + 0x30]
mov eax, ebx
shr eax, 0x10
xor eax, ebx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rdi
ret

Function at 0x14024b0e0
Capabilities:
Get thread local storage value

Disassembly:
mov eax, 0x28
call fcn.14034cea0
sub rsp, rax
lea rcx, [0x1404fe348]
add rsp, 0x28
jmp fcn.140234a20

Function at 0x140255d10
Capabilities:
Encode data using xor

Disassembly:
xor r9b, r9b
mov r10, rdx
test r8, r8
je 0x140255d37
sub r10, rcx
nop
movzx edx, byte [r10 + rcx]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
xor dl, al
or r9b, dl
sub r8, 1
jne 0x140255d20
movzx eax, r9b
ret
Function at 0x140274b60
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
xor r10d, r10d
movsxd rbx, r8d
mov r11, rdx
mov rdi, rcx
test r8d, r8d
jle 0x140274b9f
mov r9, rdx
mov rdx, rcx
sub rdx, r9
movzx eax, byte [r9]
cmp byte [rdx + r9], al
jne 0x140274b9f
inc r9
inc r10d
mov rax, r9
sub rax, r11
cmp rax, rbx
jl 0x140274b84
lea edx, [r8 - 1]
movsxd rax, edx
test edx, edx
js 0x140274bca
mov r8, rdi
lea rcx, [rax + r11]
sub r8, r11
cmp byte [rcx + r8], 0
jne 0x140274bca
cmp byte [rcx], 0xff
jne 0x140274bca
dec edx
dec rcx
cmp rcx, r11
jns 0x140274bb4
cmp r10d, edx
jl case.0x140274c23.2
jle 0x140274be8
lea eax, [r10*8]
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
ret
movsxd rax, r10d
movzx r8d, byte [rax + r11]
movzx r9d, byte [rax + rdi]
movzx edx, r8b
xor dl, r9b
movzx eax, dl
dec eax
cmp eax, 0x7e
ja case.0x140274c23.2
lea r11, [0x140000000]
cdqe
movzx eax, byte [r11 + rax + 0x274c98]
mov ecx, dword [r11 + rax*4 + 0x274c78]
add rcx, r11
jmp rcx
mov eax, 7
jmp 0x140274c54
mov eax, 6
jmp 0x140274c54
mov eax, 5
jmp 0x140274c54
mov eax, 4
jmp 0x140274c54
mov eax, 3
jmp 0x140274c54
mov eax, 2
jmp 0x140274c54
mov eax, 1
test dl, r9b
jne case.0x140274c23.2
and r8b, dl
lea eax, [rax + r10*8]
cmp r8b, dl
je 0x140274c6a
mov eax, 0xffffffff
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
ret