joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14014dd70
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
mov r11, rcx
movzx eax, byte [rdx + 2]
movzx r9d, byte [rdx + 3]
mov r10, rdx
shl r9d, 8
lea rdx, [rdx + 0x10]
or r9d, eax
movzx eax, byte [rdx - 0xf]
shl r9d, 8
or r9d, eax
movzx eax, byte [rdx - 0x10]
shl r9d, 8
or r9d, eax
mov dword [rcx + 0x10], r9d
lea r9, str.expand_32_byte_kexpand_16_byte_k
movzx eax, byte [rdx - 0xa]
movzx ecx, byte [rdx - 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 0xc]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x14], ecx
movzx eax, byte [rdx - 6]
movzx ecx, byte [rdx - 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 8]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x18], ecx
movzx eax, byte [rdx - 2]
movzx ecx, byte [rdx - 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 4]
shl ecx, 8
or ecx, eax
lea rax, [0x1402e25c0]
mov dword [r11 + 0x1c], ecx
cmp r8d, 0x100
cmovne rdx, r10
cmovne r9, rax
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x20], ecx
movzx eax, byte [rdx + 6]
movzx ecx, byte [rdx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 4]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x24], ecx
movzx eax, byte [rdx + 0xa]
movzx ecx, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 8]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x28], ecx
movzx eax, byte [rdx + 0xe]
movzx ecx, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xd]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xc]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x2c], ecx
movsx eax, byte [r9 + 2]
movsx ecx, byte [r9 + 3]
shl ecx, 8
or ecx, eax
movsx eax, byte [r9 + 1]
shl ecx, 8
or ecx, eax
movsx eax, byte [r9]
shl ecx, 8
or ecx, eax
mov dword [r11], ecx
movsx eax, byte [r9 + 6]
movsx ecx, byte [r9 + 7]
shl ecx, 8
or ecx, eax
movsx eax, byte [r9 + 5]
shl ecx, 8
or ecx, eax
movsx eax, byte [r9 + 4]
shl ecx, 8
or ecx, eax
mov dword [r11 + 4], ecx
movsx eax, byte [r9 + 0xa]
movsx ecx, byte [r9 + 0xb]
shl ecx, 8
or ecx, eax
movsx eax, byte [r9 + 9]
shl ecx, 8
or ecx, eax
movsx eax, byte [r9 + 8]
shl ecx, 8
or ecx, eax
mov dword [r11 + 8], ecx
movsx eax, byte [r9 + 0xe]
movsx ecx, byte [r9 + 0xf]
shl ecx, 8
or ecx, eax
movsx eax, byte [r9 + 0xd]
shl ecx, 8
or ecx, eax
movsx eax, byte [r9 + 0xc]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0xc], ecx
ret
Function at 0x14014e720
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3c0]
sub rsp, 0x4c0
mov rax, qword [0x1403bfb80]
xor rax, rsp
mov qword [rbp + 0x3b0], rax
mov r13, qword [rbp + 0x420]
mov r15, r9
mov rsi, r8
mov rdi, rdx
mov r14, rcx
call fcn.140144510
mov r8d, 0x20
mov rdx, r13
mov rcx, rax
mov rbx, rax
call fcn.1401442b0
mov rdx, rbx
lea rcx, [rbp + 0x2f0]
call fcn.140144230
movzx eax, byte [rbp + 0x30f]
lea r12, [r15 + 0x40]
and byte [rbp + 0x2f0], 0xf8
and al, 0x3f
or al, 0x40
mov qword [rdi], r12
mov byte [rbp + 0x30f], al
test r15, r15
je 0x14014e7d1
mov rdx, r14
mov rcx, r15
sub rdx, rsi
nop dword [rax + rax]
movzx eax, byte [rsi]
mov byte [rdx + rsi + 0x40], al
lea rsi, [rsi + 1]
sub rcx, 1
jne 0x14014e7c0
lea rdi, [r14 + 0x20]
lea rax, [rbp + 0x32f]
lea rsi, [r14 + 0x3f]
cmp rdi, rax
ja 0x14014e808
lea rax, [rbp + 0x310]
cmp rsi, rax
jb 0x14014e808
movaps xmm0, xmmword [rbp + 0x310]
movaps xmm1, xmmword [rbp + 0x320]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
jmp 0x14014e81d
movaps xmm0, xmmword [rbp + 0x310]
movaps xmm1, xmmword [rbp + 0x320]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
call fcn.140144510
lea r8, [r15 + 0x20]
mov rdx, rdi
mov rcx, rax
mov rbx, rax
call fcn.1401442b0
mov rdx, rbx
lea rcx, [rbp + 0x330]
call fcn.140144230
lea rdx, [rbp + 0x330]
lea rcx, [rbp - 0x50]
call fcn.14014ffa0
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xb0]
call fcn.140151bb0
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x2b0]
call fcn.140151b00
lea rcx, [rbp + 0x2cf]
lea rax, [r14 + 0x1f]
cmp r14, rcx
ja 0x14014e8ab
lea rcx, [rbp + 0x2b0]
cmp rax, rcx
jb 0x14014e8ab
movups xmm0, xmmword [rbp + 0x2b0]
movups xmm1, xmmword [rbp + 0x2c0]
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm1
jmp 0x14014e8c2
movups xmm0, xmmword [rbp + 0x2b0]
movups xmm1, xmmword [rbp + 0x2c0]
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm1
lea r8, [r13 + 0x20]
mov qword [rsp + 0x20], r12
mov r9, r14
lea rcx, [rbp + 0x370]
mov rdx, r14
call fcn.14014ecf0
lea rdx, [rbp + 0x370]
lea rcx, [rsp + 0x30]
call fcn.14014ffa0
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x30]
call fcn.14014feb0
lea r8, [rbp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140150050
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.14014fdb0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x2d0]
call fcn.140150460
lea rax, [rbp + 0x2ef]
cmp rdi, rax
ja 0x14014e964
lea rax, [rbp + 0x2d0]
cmp rsi, rax
jb 0x14014e964
movups xmm0, xmmword [rbp + 0x2d0]
movups xmm1, xmmword [rbp + 0x2e0]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
jmp 0x14014e979
movups xmm0, xmmword [rbp + 0x2d0]
movups xmm1, xmmword [rbp + 0x2e0]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
xor eax, eax
mov rcx, qword [rbp + 0x3b0]
xor rcx, rsp
call fcn.1402d88b0
mov rbx, qword [rsp + 0x510]
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14014fca0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov r10, rcx
mov r11, rdx
sub r10, r8
mov rbx, rcx
sub r11, r8
mov r9, r8
mov edi, 0x1f
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r9]
movzx eax, byte [r11 + r9]
lea r9, [r9 + 4]
and cl, 3
and al, 3
shl cl, 2
xor cl, al
mov byte [r9 + r10 - 4], cl
mov ecx, dword [r9 - 4]
mov eax, dword [r11 + r9 - 4]
shr ecx, 2
and cl, 3
shr eax, 2
shl cl, 2
and al, 3
xor cl, al
mov byte [r10 + r9 - 3], cl
mov ecx, dword [r9 - 4]
mov eax, dword [r11 + r9 - 4]
shr ecx, 4
and cl, 3
shr eax, 4
shl cl, 2
and al, 3
xor cl, al
mov byte [r10 + r9 - 2], cl
mov ecx, dword [r9 - 4]
mov eax, dword [r11 + r9 - 4]
shr ecx, 6
and cl, 3
shr eax, 6
shl cl, 2
and al, 3
xor cl, al
mov byte [r10 + r9 - 1], cl
sub rdi, 1
jne 0x14014fcd0
movzx ecx, byte [r8 + 0x7c]
movzx eax, byte [rdx + 0x7c]
and cl, 3
mov rdi, qword [rsp + 0x10]
and al, 3
shl cl, 2
xor cl, al
mov byte [rbx + 0x7c], cl
mov ecx, dword [r8 + 0x7c]
mov eax, dword [rdx + 0x7c]
shr ecx, 2
and cl, 3
shr eax, 2
shl cl, 2
and al, 3
xor cl, al
mov byte [rbx + 0x7d], cl
mov ecx, dword [r8 + 0x7c]
mov eax, dword [rdx + 0x7c]
shr ecx, 4
and cl, 3
shr eax, 4
shl cl, 2
and al, 3
xor cl, al
mov byte [rbx + 0x7e], cl
mov rbx, qword [rsp + 8]
ret
Function at 0x140152320
Capabilities:
Encode data using xor

Disassembly:
mov r9, rdx
movzx r10d, r8b
neg r10d
lea rdx, [rcx + 0x7c]
lea rax, [r9 + 0x7c]
movd xmm2, r10d
pshufd xmm2, xmm2, 0
cmp rcx, rax
ja 0x140152367
cmp rdx, r9
jb 0x140152367
sub r9, rcx
mov r8d, 0x20
nop
mov edx, dword [rcx]
xor edx, dword [rcx + r9]
lea rcx, [rcx + 4]
and edx, r10d
xor dword [rcx - 4], edx
sub r8, 1
jne 0x140152350
ret
lea rax, [rcx + 0x10]
sub r9, rcx
mov ecx, 4
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm1, xmmword [r9 + rax - 0x10]
lea rax, [rax + 0x20]
xorps xmm1, xmm0
andps xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [r9 + rax - 0x20]
xorps xmm1, xmm0
andps xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
sub rcx, 1
jne 0x140152380
ret

Function at 0x140158080
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 0x140158199
cmp edi, 2
jb 0x140158199
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 0x14015812a
cmp rbx, r8
jae 0x140158199
cmp r9, r10
ja 0x140158134
cmp rbx, r10
jae 0x140158199
cmp r9, r11
ja 0x14015813e
cmp rbx, r11
jae 0x140158199
cmp r8, r10
ja 0x140158148
cmp rax, r10
jae 0x140158199
cmp r8, r11
ja 0x140158152
cmp rax, r11
jae 0x140158199
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
xorps xmm3, xmm1
andps xmm3, xmm4
movdqa xmm0, xmm3
xorps xmm3, xmm2
xorps xmm0, xmm1
movdqu xmmword [rcx + r8 - 0x10], xmm0
movdqu xmmword [rcx + r9 - 0x10], xmm3
cmp edx, eax
jl 0x140158160
movsxd rax, edx
cmp rax, rdi
jge 0x1401581ce
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 0x1401581a1
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
Function at 0x140158d60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.1402d8e70
sub rsp, rax
xor r13d, r13d
mov r12d, r9d
mov r15d, r13d
mov edi, r13d
mov ebp, r13d
mov ebx, r8d
mov r14, rdx
mov rsi, rcx
call fcn.1401585c0
mov r8d, eax
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp dword [rsp + 0x90], r13d
jne 0x140158ddf
mov edi, dword [rsi + 0x10]
mov ecx, edi
neg ecx
lea ecx, [rax*8]
sbb r15d, r15d
movzx r15d, r15b
cmp ecx, r8d
jne 0x140158ddd
test edi, edi
sete bpl
jmp 0x140158ddf
mov ebp, edi
add eax, ebp
cmp ebx, 0xffffffff
jne 0x140158e13
mov ebx, eax
mov eax, dword [rsi + 0xc]
shl eax, 3
movsxd rdx, eax
test eax, eax
jne 0x140158e8e
test ebx, ebx
je 0x140158f25
movsxd r8, ebx
xor edx, edx
mov rcx, r14
call sub.VCRUNTIME140.dll_memset
jmp 0x140158f25
cmp ebx, eax
jge 0x140158de8
movups xmm2, xmmword [rsi]
movsxd rax, dword [rsi + 8]
movsd xmm0, qword [rsi + 0x10]
movsd qword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm2
test eax, eax
jle 0x140158e54
movq rcx, xmm2
lea r8, [rcx + rax*8]
nop dword [rax + rax]
cmp qword [r8 - 8], r13
lea r8, [r8 - 8]
jne 0x140158e50
dec eax
test eax, eax
jg 0x140158e40
mov dword [rsp + 0x28], eax
mov ecx, dword [rsp + 0x30]
test eax, eax
cmove ecx, r13d
mov dword [rsp + 0x30], ecx
lea rcx, [rsp + 0x20]
call fcn.1401585c0
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, ebp
cmp ebx, eax
jge 0x140158de8
mov rax, 0xffffffffffffffff
jmp 0x140158f27
cmp r12d, 1
je 0x140158e9d
lea eax, [rbx - 1]
movsxd rcx, eax
add r14, rcx
mov r11d, 1
movsxd rbp, ebx
cmp r12d, r11d
mov rax, 0xffffffffffffffff
lea r12, [rdx - 1]
cmovne r11, rax
mov eax, dword [rsi + 8]
shl eax, 3
xor r9d, r9d
xor r10d, r10d
movsxd r13, eax
test ebx, ebx
je 0x140158f25
nop dword [rax + rax]
mov rcx, qword [rsi]
movzx eax, r9b
and al, 7
mov rdx, r9
shl al, 3
shr rdx, 3
mov r8, qword [rcx + rdx*8]
movzx ecx, al
shr r8, cl
mov rax, r10
sub rax, r13
shr rax, 0x3f
neg al
and r8b, al
xor r8b, r15b
lea eax, [r8 + rdi]
cmp r8b, al
mov byte [r14], al
mov rax, r9
seta dil
sub rax, r12
shr rax, 0x3f
add r14, r11
add r9, rax
inc r10
cmp r10, rbp
jb 0x140158ed0
mov eax, ebx
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret

Function at 0x14017d360
Capabilities:
Set thread local storage value

Disassembly:
mov eax, 0x28
call fcn.1402d8e70
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 0x1401b4250
Capabilities:
Encode data using add xor sub operations

Disassembly:
xor eax, eax
mov r10, rcx
test rcx, rcx
je 0x1401b42bc
movzx ecx, byte [rcx]
test cl, cl
je 0x1401b42bc
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 0x1401b4270
mov ecx, eax
shr ecx, 0x10
xor eax, ecx
ret

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

Disassembly:
xor eax, eax
mov r10, rcx
test rcx, rcx
je 0x1401b4330
movzx ecx, byte [rcx]
test cl, cl
je 0x1401b4330
mov r11d, 0x100
nop word [rax + rax]
movsx r9d, cl
lea r10, [r10 + 1]
mov r8d, eax
and r9d, 0xffffffdf
or r9d, r11d
mov ecx, 0x20
mov edx, r9d
add r11d, 0x100
shr edx, 2
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 0x1401b42e0
mov ecx, eax
shr ecx, 0x10
xor eax, ecx
ret

Function at 0x1401b8380
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
mov eax, gethostbyname
call fcn.1402d8e70
sub rsp, rax
lea edx, [rax - 0x2f]
mov rbx, rcx
call fcn.1401b7f60
mov rdx, rax
mov rcx, rbx
mov rbp, rax
call fcn.1401b7e40
xor edi, edi
mov r14, rax
test rax, rax
je 0x1401b8427
lea r9d, [rdi + 1]
mov dword [rsp + 0x20], 0xf0000040
xor r8d, r8d
lea rcx, [rsp + 0x58]
xor edx, edx
mov esi, edi
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x1401b8403
mov rcx, qword [rsp + 0x58]
mov r8, r14
mov edx, ebp
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov rcx, qword [rsp + 0x58]
test eax, eax
cmovne rsi, rbp
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
lea r8, [rsi*8]
mov rdx, rsi
mov rcx, rbx
call fcn.1401b7ef0
mov rcx, rbx
call fcn.1401b80b0
test rax, rax
jne 0x1401b84bb
mov edx, 1
mov rcx, rbx
call fcn.1401b7f60
mov rdx, rax
mov rcx, rbx
mov rsi, rax
call fcn.1401b7e40
mov rbp, rax
test rax, rax
je 0x1401b84b3
mov r9d, reloc.WS2_32.dll_shutdown
mov dword [rsp + 0x20], 0xf0000040
lea r8, str.Intel_Hardware_Cryptographic_Service_Provider
xor edx, edx
lea rcx, [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x1401b8493
mov rcx, qword [rsp + 0x58]
mov r8, rbp
mov edx, esi
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov rcx, qword [rsp + 0x58]
test eax, eax
cmovne rdi, rsi
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
lea r8, [rdi*8]
mov rdx, rdi
mov rcx, rbx
call fcn.1401b7ef0
mov rcx, rbx
call fcn.1401b80b0
test rax, rax
jne 0x1401b84bb
mov rcx, rbx
call fcn.1401b80b0
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x1401bb4e0
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
mov eax, reloc.WS2_32.dll_WSASetLastError
call fcn.1402d8e70
sub rsp, rax
mov rax, qword [0x1403bfb80]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, r9
mov rbx, rcx
cmp edx, 0x1d
je 0x1401bb517
mov eax, 0xfffffffe
jmp 0x1401bb637
test rbx, rbx
je 0x1401bb635
cmp r8d, 0x30
jne 0x1401bb635
mov r8d, gethostbyname
mov rdx, rdi
call fcn.1401bb3a0
test eax, eax
jle 0x1401bb635
movdqa xmm0, xmmword [str.6666666666666666crypto_buffer_buffer.c]
lea rdx, [rsp + 0x20]
mov r8d, 0x28
movq qword [rsp + 0x40], xmm0
mov rcx, rbx
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
call fcn.1401bb3a0
test eax, eax
je 0x1401bb635
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.1401bb1a0
test eax, eax
je 0x1401bb635
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx + 0x14], xmm0
mov rdx, rdi
mov rcx, rbx
movups xmmword [rbx + 0x24], xmm0
lea r8d, [rax + 0x30]
movups xmmword [rbx + 0x34], xmm0
movups xmmword [rbx + 0x44], xmm0
mov qword [rbx + 0x54], rax
mov dword [rbx + 0x5c], eax
mov dword [rbx], 0x67452301
mov dword [rbx + 4], 0xefcdab89
mov dword [rbx + 8], 0x98badcfe
mov dword [rbx + 0xc], 0x10325476
mov dword [rbx + 0x10], 0xc3d2e1f0
call fcn.1401bb3a0
test eax, eax
jle 0x1401bb635
movdqa xmm0, xmmword [0x14032f5f0]
lea rdx, [rsp + 0x20]
mov r8d, 0x28
movq qword [rsp + 0x40], xmm0
mov rcx, rbx
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
call fcn.1401bb3a0
test eax, eax
je 0x1401bb635
mov r8d, reloc.WS2_32.dll_sendto
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.1401bb3a0
test eax, eax
je 0x1401bb635
mov edx, reloc.WS2_32.dll_sendto
lea rcx, [rsp + 0x48]
call fcn.140001240
mov eax, 1
jmp 0x1401bb637
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1402d88b0
mov rbx, qword [rsp + 0x88]
add rsp, 0x70
pop rdi
ret

Function at 0x1401bbcb0
Capabilities:
Hash data using sha256

Disassembly:
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
movups xmmword [rcx + 0x40], xmm0
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx + 0x60], rax
mov dword [rcx + 0x68], eax
mov eax, 1
mov dword [rcx], 0x6a09e667
mov dword [rcx + 4], 0xbb67ae85
mov dword [rcx + 8], 0x3c6ef372
mov dword [rcx + 0xc], 0xa54ff53a
mov dword [rcx + 0x10], 0x510e527f
mov dword [rcx + 0x14], 0x9b05688c
mov dword [rcx + 0x18], 0x1f83d9ab
mov dword [rcx + 0x1c], 0x5be0cd19
mov dword [rcx + 0x6c], 0x18
ret
Function at 0x1401c1080
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.1402d8e70
sub rsp, rax
mov rax, qword [0x1403bfb80]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r14, qword [rsp + 0xd0]
mov r13, r9
mov rax, qword [rsp + 0xc0]
mov rdi, rcx
mov rcx, qword [rsp + 0xc8]
mov esi, r8d
mov r12, qword [rsp + 0xd8]
mov r15, rdx
movzx r8d, byte [r14 + 3]
xor ebp, ebp
movzx edx, byte [r14 + 7]
movzx r9d, byte [r14]
movzx r10d, 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]
mov ecx, edx
shl eax, 0x10
or r9d, eax
shl ecx, 8
mov eax, r8d
mov qword [rsp + 0x38], r14
shl eax, 0x18
or r9d, eax
mov qword [rsp + 0x40], r12
movzx eax, byte [r14 + 5]
shl eax, 8
or r10d, eax
mov dword [rsp + 0x20], r9d
movzx eax, byte [r14 + 6]
or ecx, eax
mov byte [rsp + 0x48], r9b
mov eax, ecx
mov byte [rsp + 0x4b], r8b
shl eax, 0x10
or r10d, eax
mov byte [rsp + 0x4e], cl
mov eax, r9d
mov dword [rsp + 0x24], r10d
shr eax, 8
mov byte [rsp + 0x49], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x4a], al
mov eax, r10d
shr eax, 8
mov byte [rsp + 0x4c], r10b
mov byte [rsp + 0x4d], al
mov byte [rsp + 0x4f], dl
test esi, esi
je 0x1401c126d
mov r12, qword [rsp + 0x28]
sub r15, rdi
mov r14, qword [rsp + 0x30]
dec esi
test ebx, ebx
jne 0x1401c1202
mov r9, r14
lea rcx, [rsp + 0x20]
mov r8, r12
mov rdx, r13
call fcn.1401bff00
mov r9d, dword [rsp + 0x20]
mov eax, r9d
mov r10d, 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, r10d
shr eax, 8
mov byte [rsp + 0x4d], al
mov eax, r10d
shr eax, 0x10
mov byte [rsp + 0x4e], al
mov eax, r10d
shr eax, 0x18
mov byte [rsp + 0x4f], al
inc ebp
mov byte [rsp + 0x48], r9b
mov byte [rsp + 0x4c], r10b
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 0x1401c1197
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
test ebp, ebp
je 0x1401c126d
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, r10d
shr eax, 8
mov byte [r14 + 5], al
mov eax, r10d
shr eax, 0x10
shr r9d, 0x18
mov byte [r14 + 4], r10b
shr r10d, 0x18
mov byte [r14 + 7], r10b
mov byte [r14 + 3], r9b
mov byte [r14 + 6], al
mov dword [r12], ebx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1402d88b0
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 0x1401c1f70
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.1402d8e70
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 0x1401c1fd5
mov rdx, qword [rsp + 0xa8]
test rbx, rbx
je 0x1401c1fd1
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 0x1401c1fb0
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 0x1401c20e3
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 0x1401c209c
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 0x1401c2080
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 0x1401c2020
mov edi, dword [rsp + 0x30]
mov r8, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x90], ecx
test rbx, rbx
je 0x1401c2162
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 0x1401c2140
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 0x1401c2120
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 0x1401c2140
mov rax, qword [rsp + 0xb0]
mov dword [rax], edi
jmp 0x1401c2165
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