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

Disassembly:
sub rsp, 8
mov qword [rsp + 0x18], rsi
mov qword [rsp], rdi
mov edi, 0x80
cmp edx, edi
mov r10, rcx
mov byte [rcx], 0
cmovg edx, edi
mov r11d, 0x400
test r9d, r9d
jle 0x1401529a2
cmp r9d, r11d
cmovg r9d, r11d
mov r11d, r9d
movsxd r9, edx
test edx, edx
jle 0x1401529c1
sub r8, rcx
mov rdx, r9
nop
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
mov byte [rcx - 1], al
dec rdx
jne 0x1401529b0
movzx ecx, byte [r9 + r10 - 1]
lea rdx, [r9 + r10]
lea rsi, [0x140235190]
cmp r9, rdi
jge 0x140152a0e
mov qword [rsp + 0x10], rbx
mov rbx, r9
mov r8, rdi
neg rbx
sub r8, r9
nop dword [rax + rax]
movzx eax, byte [rdx + rbx]
lea rdx, [rdx + 1]
add eax, ecx
movzx ecx, al
movzx ecx, byte [rcx + rsi]
mov byte [rdx - 1], cl
dec r8
jne 0x1401529f0
mov rbx, qword [rsp + 0x10]
lea r9d, [r11 + 7]
neg r11d
mov eax, 0xff
sar r9d, 3
and r11d, 7
sub edi, r9d
movzx ecx, r11b
sar eax, cl
movsxd r8, edi
mov rdi, qword [rsp]
mov ecx, eax
movzx eax, byte [r8 + r10]
lea rdx, [r8 + r10]
and rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx], al
test r8, r8
je 0x140152a68
movsxd r9, r9d
nop
movzx ecx, byte [rdx + r9 - 1]
lea rdx, [rdx - 1]
xor rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx], al
dec r8
jne 0x140152a50
mov rsi, qword [rsp + 0x18]
lea r8, [r10 + 0xfc]
lea rdx, [r10 + 0x7e]
mov r9d, 0x40
nop
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
lea r8, [r8 - 4]
shl ecx, 8
lea rdx, [rdx - 2]
or ecx, eax
movzx eax, cx
mov dword [r8 + 4], eax
dec r9
jne 0x140152a80
add rsp, 8
ret
Function at 0x140155090
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 rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1402581e0]
xor rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x60]
mov r13, qword [rbp + 0x68]
mov rsi, rcx
movzx r10d, byte [rax]
mov ebx, dword [r13]
lea rdi, [rax + 1]
movzx ecx, byte [rdi + 6]
mov qword [rbp - 0x18], rax
movzx eax, byte [rdi]
shl eax, 8
mov r12, rdx
movzx edx, byte [rdi + 3]
or r10d, eax
movzx eax, byte [rdi + 1]
shl ecx, 8
shl eax, 0x10
mov r14d, r8d
lea r8, [rdi + 5]
or r10d, eax
movzx eax, byte [rdi + 2]
xor r15d, r15d
shl eax, 0x18
mov qword [rbp - 0x28], r9
mov qword [rbp - 0x20], r13
or r10d, eax
movzx eax, byte [rdi + 4]
shl eax, 8
mov dword [rbp - 0x30], r10d
mov byte [rbp - 0x10], r10b
or edx, eax
movzx eax, byte [r8]
or ecx, eax
mov eax, r10d
shr eax, 8
shl ecx, 0x10
mov byte [rbp - 0xf], al
or edx, ecx
mov eax, r10d
shr eax, 0x10
mov dword [rbp - 0x2c], edx
mov byte [rbp - 0xc], dl
mov byte [rbp - 0xe], al
mov eax, r10d
shr eax, 0x18
mov byte [rbp - 0xd], al
mov eax, edx
shr eax, 8
mov byte [rbp - 0xb], al
mov eax, edx
shr eax, 0x10
mov byte [rbp - 0xa], al
mov eax, edx
shr eax, 0x18
mov byte [rbp - 9], al
test r14d, r14d
je 0x14015524a
mov r13, qword [rbp - 0x28]
sub r12, rsi
movzx r8d, dl
movzx r9d, r10b
nop word [rax + rax]
dec r14d
test ebx, ebx
jne 0x1401551e6
lea r8d, [rbx + 1]
lea rcx, [rbp - 0x30]
mov rdx, r13
call fcn.140153c40
mov r10d, dword [rbp - 0x30]
mov edx, dword [rbp - 0x2c]
movzx r9d, byte [rbp - 0x30]
movzx r8d, byte [rbp - 0x2c]
mov eax, r10d
shr eax, 8
mov byte [rbp - 0x10], r9b
mov byte [rbp - 0xc], r8b
mov byte [rbp - 0xf], al
mov eax, r10d
shr eax, 0x10
mov byte [rbp - 0xe], al
mov eax, r10d
shr eax, 0x18
mov byte [rbp - 0xd], al
mov eax, edx
shr eax, 8
mov byte [rbp - 0xb], al
mov eax, edx
shr eax, 0x10
mov byte [rbp - 0xa], al
mov eax, edx
shr eax, 0x18
inc r15d
mov byte [rbp - 9], al
movsxd rax, ebx
inc rsi
movzx ecx, byte [rbp + rax - 0x10]
xor cl, byte [rsi - 1]
inc ebx
mov byte [r12 + rsi - 1], cl
and ebx, 7
test r14d, r14d
jne 0x140155180
mov r13, qword [rbp - 0x20]
test r15d, r15d
je 0x14015524a
mov rax, qword [rbp - 0x18]
mov byte [rax], r9b
mov eax, r10d
shr eax, 8
mov byte [rdi], al
mov eax, r10d
shr r10d, 0x18
shr eax, 0x10
mov byte [rdi + 1], al
mov byte [rdi + 2], r10b
mov byte [rdi + 3], r8b
mov eax, edx
shr eax, 8
mov byte [rdi + 4], al
mov eax, edx
shr eax, 0x10
shr edx, 0x18
mov byte [rdi + 5], al
mov byte [rdi + 6], dl
mov dword [r13], ebx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401bddc0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401560a0
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 rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1402581e0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x60]
mov r13, qword [rbp + 0x78]
mov r10, qword [rbp + 0x68]
mov ebx, dword [r13]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x70]
lea rdi, [rax + 1]
mov qword [rbp - 0x28], rax
mov r14d, r8d
movzx r8d, byte [rax]
movzx eax, byte [rdi]
mov rsi, rcx
movzx ecx, byte [rdi + 6]
shl eax, 8
mov qword [rbp - 0x30], r9
movzx r9d, byte [rdi + 3]
or r8d, eax
movzx eax, byte [rdi + 1]
shl eax, 0x10
shl ecx, 8
xor r12d, r12d
or r8d, eax
movzx eax, byte [rdi + 2]
mov r15, rdx
shl eax, 0x18
mov qword [rbp - 0x40], r10
mov qword [rbp - 0x20], r13
or r8d, eax
movzx eax, byte [rdi + 4]
mov qword [rbp - 0x38], rdi
shl eax, 8
mov dword [rbp - 0x50], r8d
mov byte [rbp - 0x18], r8b
or r9d, eax
movzx eax, byte [rdi + 5]
or ecx, eax
mov eax, r8d
shr eax, 8
shl ecx, 0x10
mov byte [rbp - 0x17], al
or r9d, ecx
mov eax, r8d
shr eax, 0x10
mov dword [rbp - 0x4c], r9d
mov byte [rbp - 0x14], r9b
mov byte [rbp - 0x16], al
mov eax, r8d
shr eax, 0x18
mov byte [rbp - 0x15], al
mov eax, r9d
shr eax, 8
mov byte [rbp - 0x13], al
mov eax, r9d
shr eax, 0x10
mov byte [rbp - 0x12], al
mov eax, r9d
shr eax, 0x18
mov byte [rbp - 0x11], al
test r14d, r14d
je 0x140156278
mov r13, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x48]
sub r15, rsi
nop
dec r14d
test ebx, ebx
jne 0x14015620c
lea rcx, [rbp - 0x50]
mov r9, r10
mov r8, rdi
mov rdx, r13
call fcn.1401542f0
mov r8d, dword [rbp - 0x50]
mov r9d, dword [rbp - 0x4c]
mov r10, qword [rbp - 0x40]
movzx eax, r8b
mov byte [rbp - 0x18], al
mov eax, r8d
shr eax, 8
mov byte [rbp - 0x17], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp - 0x16], al
mov eax, r8d
shr eax, 0x18
mov byte [rbp - 0x15], al
movzx eax, r9b
mov byte [rbp - 0x14], al
mov eax, r9d
shr eax, 8
mov byte [rbp - 0x13], al
mov eax, r9d
shr eax, 0x10
mov byte [rbp - 0x12], al
mov eax, r9d
shr eax, 0x18
inc r12d
mov byte [rbp - 0x11], al
movsxd rax, ebx
inc rsi
movzx ecx, byte [rbp + rax - 0x18]
xor cl, byte [rsi - 1]
inc ebx
mov byte [r15 + rsi - 1], cl
and ebx, 7
test r14d, r14d
jne 0x1401561a0
mov rdi, qword [rbp - 0x38]
mov r13, qword [rbp - 0x20]
test r12d, r12d
je 0x140156278
mov rax, qword [rbp - 0x28]
mov byte [rax], r8b
mov eax, r8d
shr eax, 8
mov byte [rdi], al
mov eax, r8d
shr r8d, 0x18
shr eax, 0x10
mov byte [rdi + 1], al
mov byte [rdi + 2], r8b
mov byte [rdi + 3], r9b
mov eax, r9d
shr eax, 8
mov byte [rdi + 4], al
mov eax, r9d
shr eax, 0x10
shr r9d, 0x18
mov byte [rdi + 5], al
mov byte [rdi + 6], r9b
mov dword [r13], ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401bddc0
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401562a0
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 rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1402581e0]
xor rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x60]
mov r13, qword [rbp + 0x68]
mov r14d, r8d
movzx r10d, byte [rax]
movzx r8d, byte [rax + 4]
mov ebx, dword [r13]
lea rdi, [rax + 1]
mov qword [rbp - 0x18], rax
shl r10d, 0x18
movzx eax, byte [rdi]
mov rsi, rcx
movzx ecx, byte [rdi + 5]
shl eax, 0x10
shl r8d, 0x18
shl ecx, 8
or r10d, eax
movzx eax, byte [rdi + 1]
mov r12, rdx
shl eax, 8
lea rdx, [rdi + 5]
xor r15d, r15d
or r10d, eax
movzx eax, byte [rdi + 2]
mov qword [rbp - 0x28], r9
or r10d, eax
movzx eax, byte [rdi + 4]
mov qword [rbp - 0x20], r13
shl eax, 0x10
mov dword [rbp - 0x30], r10d
mov byte [rbp - 0xd], r10b
or r8d, eax
movzx eax, byte [rdx + 1]
or ecx, eax
mov eax, r10d
shr eax, 0x18
or r8d, ecx
mov byte [rbp - 0x10], al
mov eax, r10d
mov dword [rbp - 0x2c], r8d
shr eax, 0x10
mov byte [rbp - 9], r8b
mov byte [rbp - 0xf], al
mov eax, r10d
shr eax, 8
mov byte [rbp - 0xe], al
mov eax, r8d
shr eax, 0x18
mov byte [rbp - 0xc], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp - 0xb], al
mov eax, r8d
shr eax, 8
mov byte [rbp - 0xa], al
test r14d, r14d
je 0x14015645a
mov r13, qword [rbp - 0x28]
sub r12, rsi
movzx edx, r8b
movzx r9d, r10b
dec r14d
test ebx, ebx
jne 0x1401563f7
lea rcx, [rbp - 0x30]
mov rdx, r13
call fcn.140156cb0
mov r10d, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x2c]
mov eax, r10d
movzx edx, r8b
movzx r9d, r10b
shr eax, 0x18
mov byte [rbp - 0xd], r10b
mov byte [rbp - 9], dl
mov byte [rbp - 0x10], al
mov eax, r10d
shr eax, 0x10
mov byte [rbp - 0xf], al
mov eax, r10d
shr eax, 8
mov byte [rbp - 0xe], al
mov eax, r8d
shr eax, 0x18
mov byte [rbp - 0xc], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp - 0xb], al
mov eax, r8d
shr eax, 8
inc r15d
mov byte [rbp - 0xa], al
movsxd rax, ebx
inc rsi
movzx ecx, byte [rbp + rax - 0x10]
xor cl, byte [rsi - 1]
inc ebx
mov byte [r12 + rsi - 1], cl
and ebx, 7
test r14d, r14d
jne 0x140156394
mov r13, qword [rbp - 0x20]
test r15d, r15d
je 0x14015645a
mov rcx, qword [rbp - 0x18]
mov eax, r10d
shr eax, 0x18
mov byte [rcx], al
mov eax, r10d
shr r10d, 8
shr eax, 0x10
mov byte [rdi], al
mov byte [rdi + 1], r10b
mov byte [rdi + 2], r9b
mov eax, r8d
shr eax, 0x18
mov byte [rdi + 3], al
mov eax, r8d
shr eax, 0x10
shr r8d, 8
mov byte [rdi + 4], al
mov byte [rdi + 5], r8b
mov byte [rdi + 6], dl
mov dword [r13], ebx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401bddc0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140164ad0
Capabilities:
Check for software breakpoints

Disassembly:
sub rsp, 0x38
mov r11, rcx
cmp dword [rsp + 0x60], r9d
jne 0x140164bbb
movzx r10d, byte [r8]
lea eax, [r10 - 0x6a]
cmp al, 1
ja 0x140164bbb
mov qword [rsp + 0x30], rbx
lea rdx, [r8 + 1]
cmp r10b, 0x6b
jne 0x140164b6a
lea ebx, [r9 - 3]
xor eax, eax
test ebx, ebx
jle 0x140164b26
nop dword [rax + rax]
movzx ecx, byte [rdx]
inc rdx
cmp cl, 0xba
je 0x140164b26
cmp cl, 0xbb
jne 0x140164b59
inc eax
cmp eax, ebx
jl 0x140164b10
sub ebx, eax
test eax, eax
jne 0x140164b6e
mov dword [rsp + 0x20], 0x8a
lea r9, [0x1402a83f8]
mov edx, 0x80
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 0xa]
call fcn.1400d9be0
mov rbx, qword [rsp + 0x30]
or eax, 0xffffffff
add rsp, 0x38
ret
mov dword [rsp + 0x20], 0x81
lea r9, [0x1402a8428]
jmp 0x140164b3b
lea ebx, [r9 - 2]
movsxd rax, ebx
cmp byte [rax + rdx], 0xcc
je 0x140164ba4
mov edx, 0x80
lea r9, str.....opensslopensslcrypto_rsa_rsa_x931.c
mov dword [rsp + 0x20], __WSAFDIsSet
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 0xb]
call fcn.1400d9be0
mov rbx, qword [rsp + 0x30]
or eax, 0xffffffff
add rsp, 0x38
ret
mov r8d, ebx
mov rcx, r11
call sub.MSVCR120.dll_memcpy
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x38
ret
mov edx, 0x80
lea r9, [0x1402a8398]
mov dword [rsp + 0x20], WSACleanup
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 9]
call fcn.1400d9be0
or eax, 0xffffffff
add rsp, 0x38
ret
Function at 0x140170550
Capabilities:
Encode data using xor
Encrypt data using blowfish
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov r10, r8
mov rdi, rcx
mov r9, rcx
mov r8d, edx
mov ecx, 0x20
lea rax, [0x140238750]
nop word [rax + rax]
movups xmm0, xmmword [rax]
lea r9, [r9 + 0x80]
lea rax, [rax + 0x80]
movups xmmword [r9 - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [r9 - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [r9 - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [r9 - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [r9 - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [r9 - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [r9 - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [r9 - 0x10], xmm1
dec rcx
jne 0x140170580
movups xmm0, xmmword [rax]
movups xmmword [r9], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r9 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r9 + 0x30], xmm1
mov rcx, qword [rax + 0x40]
mov eax, 0x48
cmp edx, eax
mov qword [r9 + 0x40], rcx
mov rdx, r10
cmovg r8d, eax
movsxd r8, r8d
add r8, r10
xor ebx, ebx
mov r9d, ebx
nop dword [rax]
movzx ecx, byte [rdx]
inc rdx
cmp rdx, r8
cmovae rdx, r10
shl ecx, 8
movzx eax, byte [rdx]
inc rdx
or ecx, eax
cmp rdx, r8
cmovae rdx, r10
shl ecx, 8
movzx eax, byte [rdx]
inc rdx
or ecx, eax
cmp rdx, r8
cmovae rdx, r10
shl ecx, 8
movzx eax, byte [rdx]
inc rdx
or ecx, eax
cmp rdx, r8
cmovae rdx, r10
xor dword [rdi + r9*4], ecx
inc r9
cmp r9, 0x12
jl 0x140170620
mov qword [rsp + 0x30], rbx
mov rsi, rbx
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.1401706f0
mov eax, dword [rsp + 0x30]
add rsi, 2
mov dword [rdi + rsi*4 - 8], eax
mov eax, dword [rsp + 0x34]
mov dword [rdi + rsi*4 - 4], eax
cmp rsi, 0x12
jl 0x140170680
nop word [rax + rax]
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.1401706f0
mov eax, dword [rsp + 0x30]
add rbx, 2
mov dword [rdi + rbx*4 + 0x40], eax
mov eax, dword [rsp + 0x34]
mov dword [rdi + rbx*4 + 0x44], eax
cmp rbx, 0x400
jl 0x1401706b0
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1401714b0
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 rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1402581e0]
xor rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x60]
mov r13, qword [rbp + 0x68]
mov r14d, r8d
movzx r10d, byte [rax]
movzx r8d, byte [rax + 4]
mov ebx, dword [r13]
lea rdi, [rax + 1]
mov qword [rbp - 0x18], rax
shl r10d, 0x18
movzx eax, byte [rdi]
mov rsi, rcx
movzx ecx, byte [rdi + 5]
shl eax, 0x10
shl r8d, 0x18
shl ecx, 8
or r10d, eax
movzx eax, byte [rdi + 1]
mov r12, rdx
shl eax, 8
lea rdx, [rdi + 5]
xor r15d, r15d
or r10d, eax
movzx eax, byte [rdi + 2]
mov qword [rbp - 0x28], r9
or r10d, eax
movzx eax, byte [rdi + 4]
mov qword [rbp - 0x20], r13
shl eax, 0x10
mov dword [rbp - 0x30], r10d
mov byte [rbp - 0xd], r10b
or r8d, eax
movzx eax, byte [rdx + 1]
or ecx, eax
mov eax, r10d
shr eax, 0x18
or r8d, ecx
mov byte [rbp - 0x10], al
mov eax, r10d
mov dword [rbp - 0x2c], r8d
shr eax, 0x10
mov byte [rbp - 9], r8b
mov byte [rbp - 0xf], al
mov eax, r10d
shr eax, 8
mov byte [rbp - 0xe], al
mov eax, r8d
shr eax, 0x18
mov byte [rbp - 0xc], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp - 0xb], al
mov eax, r8d
shr eax, 8
mov byte [rbp - 0xa], al
test r14d, r14d
je 0x14017166a
mov r13, qword [rbp - 0x28]
sub r12, rsi
movzx edx, r8b
movzx r9d, r10b
dec r14d
test ebx, ebx
jne 0x140171607
lea rcx, [rbp - 0x30]
mov rdx, r13
call fcn.1401706f0
mov r10d, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x2c]
mov eax, r10d
movzx edx, r8b
movzx r9d, r10b
shr eax, 0x18
mov byte [rbp - 0xd], r10b
mov byte [rbp - 9], dl
mov byte [rbp - 0x10], al
mov eax, r10d
shr eax, 0x10
mov byte [rbp - 0xf], al
mov eax, r10d
shr eax, 8
mov byte [rbp - 0xe], al
mov eax, r8d
shr eax, 0x18
mov byte [rbp - 0xc], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp - 0xb], al
mov eax, r8d
shr eax, 8
inc r15d
mov byte [rbp - 0xa], al
movsxd rax, ebx
inc rsi
movzx ecx, byte [rbp + rax - 0x10]
xor cl, byte [rsi - 1]
inc ebx
mov byte [r12 + rsi - 1], cl
and ebx, 7
test r14d, r14d
jne 0x1401715a4
mov r13, qword [rbp - 0x20]
test r15d, r15d
je 0x14017166a
mov rcx, qword [rbp - 0x18]
mov eax, r10d
shr eax, 0x18
mov byte [rcx], al
mov eax, r10d
shr r10d, 8
shr eax, 0x10
mov byte [rdi], al
mov byte [rdi + 1], r10b
mov byte [rdi + 2], r9b
mov eax, r8d
shr eax, 0x18
mov byte [rdi + 3], al
mov eax, r8d
shr eax, 0x10
shr r8d, 8
mov byte [rdi + 4], al
mov byte [rdi + 5], r8b
mov byte [rdi + 6], dl
mov dword [r13], ebx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401bddc0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401725a0
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 rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1402581e0]
xor rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x60]
mov r13, qword [rbp + 0x68]
mov r14d, r8d
movzx r10d, byte [rax]
movzx r8d, byte [rax + 4]
mov ebx, dword [r13]
lea rdi, [rax + 1]
mov qword [rbp - 0x18], rax
shl r10d, 0x18
movzx eax, byte [rdi]
mov rsi, rcx
movzx ecx, byte [rdi + 5]
shl eax, 0x10
shl r8d, 0x18
shl ecx, 8
or r10d, eax
movzx eax, byte [rdi + 1]
mov r12, rdx
shl eax, 8
lea rdx, [rdi + 5]
xor r15d, r15d
or r10d, eax
movzx eax, byte [rdi + 2]
mov qword [rbp - 0x28], r9
or r10d, eax
movzx eax, byte [rdi + 4]
mov qword [rbp - 0x20], r13
shl eax, 0x10
mov dword [rbp - 0x30], r10d
mov byte [rbp - 0xd], r10b
or r8d, eax
movzx eax, byte [rdx + 1]
or ecx, eax
mov eax, r10d
shr eax, 0x18
or r8d, ecx
mov byte [rbp - 0x10], al
mov eax, r10d
mov dword [rbp - 0x2c], r8d
shr eax, 0x10
mov byte [rbp - 9], r8b
mov byte [rbp - 0xf], al
mov eax, r10d
shr eax, 8
mov byte [rbp - 0xe], al
mov eax, r8d
shr eax, 0x18
mov byte [rbp - 0xc], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp - 0xb], al
mov eax, r8d
shr eax, 8
mov byte [rbp - 0xa], al
test r14d, r14d
je 0x14017275a
mov r13, qword [rbp - 0x28]
sub r12, rsi
movzx edx, r8b
movzx r9d, r10b
dec r14d
test ebx, ebx
jne 0x1401726f7
lea rcx, [rbp - 0x30]
mov rdx, r13
call fcn.1401716a0
mov r10d, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x2c]
mov eax, r10d
movzx edx, r8b
movzx r9d, r10b
shr eax, 0x18
mov byte [rbp - 0xd], r10b
mov byte [rbp - 9], dl
mov byte [rbp - 0x10], al
mov eax, r10d
shr eax, 0x10
mov byte [rbp - 0xf], al
mov eax, r10d
shr eax, 8
mov byte [rbp - 0xe], al
mov eax, r8d
shr eax, 0x18
mov byte [rbp - 0xc], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp - 0xb], al
mov eax, r8d
shr eax, 8
inc r15d
mov byte [rbp - 0xa], al
movsxd rax, ebx
inc rsi
movzx ecx, byte [rbp + rax - 0x10]
xor cl, byte [rsi - 1]
inc ebx
mov byte [r12 + rsi - 1], cl
and ebx, 7
test r14d, r14d
jne 0x140172694
mov r13, qword [rbp - 0x20]
test r15d, r15d
je 0x14017275a
mov rcx, qword [rbp - 0x18]
mov eax, r10d
shr eax, 0x18
mov byte [rcx], al
mov eax, r10d
shr r10d, 8
shr eax, 0x10
mov byte [rdi], al
mov byte [rdi + 1], r10b
mov byte [rdi + 2], r9b
mov eax, r8d
shr eax, 0x18
mov byte [rdi + 3], al
mov eax, r8d
shr eax, 0x10
shr r8d, 8
mov byte [rdi + 4], al
mov byte [rdi + 5], r8b
mov byte [rdi + 6], dl
mov dword [r13], ebx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401bddc0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14018a190
Capabilities:
Hash data using sha256

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x50
xor edi, edi
lea r9, [0x1401c0dd8]
lea r8, str._Z25neoscrypt_gpu_hash_endingijjPK6uint28S1_Pjj
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], rdi
mov qword [rax - 0x30], rdi
lea rdx, [0x140189370]
mov dword [rax - 0x38], 0xffffffff
mov rbx, rcx
mov qword [0x1402b1068], rcx
mov qword [0x1402b0da0], rcx
call fcn.140003580
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea r9, [0x1401c0ec8]
lea r8, str._Z33neoscrypt_gpu_hash_salsa2_stream1jPK6uint28PS_
lea rdx, [fcn.140189300]
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0xffffffff
call fcn.140003580
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea r9, [0x1401c0f98]
lea r8, str._Z33neoscrypt_gpu_hash_salsa1_stream1jPK6uint28PS_S2_
lea rdx, [0x1401892f0]
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0xffffffff
call fcn.140003580
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea r9, [0x1401c1038]
lea r8, str._Z34neoscrypt_gpu_hash_chacha2_stream1jPK6uint28PS_
lea rdx, [fcn.140189280]
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0xffffffff
call fcn.140003580
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea r9, [0x1401c10a8]
lea r8, str._Z34neoscrypt_gpu_hash_chacha1_stream1jPK6uint28PS_S2_
lea rdx, [0x140189270]
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0xffffffff
call fcn.140003580
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea r9, [0x1401c1120]
lea r8, str._Z24neoscrypt_gpu_hash_startijjP6uint28
lea rdx, [0x140189260]
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0xffffffff
call fcn.140003580
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], 1
lea r9, [0x1401c1170]
lea r8, str.key_init
lea rdx, [0x1402b0eb0]
mov rcx, rbx
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], edi
call fcn.1400034d0
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x100
lea r9, [0x1401c118c]
lea r8, [0x1401c1194]
lea rdx, [0x1402b0ef0]
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.1400034d0
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], 1
lea r9, [0x1401c11a0]
lea r8, str.buf_shifts
lea rdx, [0x1402b0ff0]
mov rcx, rbx
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], edi
call fcn.1400034d0
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], 1
lea r9, [0x1401c11c0]
lea r8, str.BLAKE2S_IV_Vec
lea rdx, [0x1401c0a40]
mov rcx, rbx
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], edi
call fcn.1400034d0
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret