joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400f1e00
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, r8
mov edi, edx
mov r10, rcx
test rcx, rcx
je 0x1400f1e21
cmp edx, 1
jb 0x1400f1e21
cmp byte [rcx], 4
je 0x1400f1e31
mov eax, 0xffffff74
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbx
xor ebx, ebx
mov edx, ebx
cmp edi, 2
jb 0x1400f1eaf
movzx eax, byte [rcx + 1]
lea r9d, [rbx + 2]
mov r8d, eax
cmp al, 0x80
jb 0x1400f1ec4
and r8d, 0x7f
cmp al, 0x80
jne 0x1400f1e5b
mov r11d, ebx
jmp 0x1400f1e7e
cmp r8d, 1
jne 0x1400f1e67
lea r11d, [r8 + 0x7f]
jmp 0x1400f1e7e
cmp r8d, 4
ja 0x1400f1eaf
lea ecx, [r8*8 - 8]
mov r11d, 1
shl r11d, cl
lea eax, [r8 + 2]
cmp eax, edi
ja 0x1400f1eaf
test r8d, r8d
je 0x1400f1eaa
nop dword [rax + rax]
mov eax, r9d
inc r9d
shl edx, 8
movzx eax, byte [rax + r10]
or edx, eax
add r8d, 0xffffffff
jne 0x1400f1e90
test edx, edx
js 0x1400f1eaf
cmp edx, r11d
jge 0x1400f1ec7
mov rbx, qword [rsp + 0x30]
mov eax, 0xffffff74
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, r8d
lea eax, [r9 + rdx]
cmp eax, edi
ja 0x1400f1eaf
test edx, edx
cmove edx, ebx
test edx, edx
je 0x1400f1f2b
mov ecx, r9d
lea r8, [rsi + 0x7bc]
add rcx, r10
mov dword [rsi + 0x818], edx
mov qword [rsi + 0x810], rcx
cmp edx, 0x14
jne 0x1400f1f17
movups xmm0, xmmword [rcx]
movups xmmword [r8], xmm0
mov eax, dword [rcx + 0x10]
mov dword [r8 + 0x10], eax
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14010faf0
mov rbx, qword [rsp + 0x30]
mov eax, edx
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14010cf50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x830
mov r11d, dword [rcx]
mov esi, r9d
neg esi
mov eax, r11d
xor eax, dword [rdx]
mov r10, rdx
and eax, esi
movsxd rdx, r8d
mov dword [rsp], eax
mov rdi, rcx
test r8d, r8d
jle 0x14010d023
mov qword [rsp + 0x840], rbx
lea rcx, [r10 + 8]
mov r9, rdi
lea rbx, [rsp]
sub r9, r10
mov r8, rdx
sub rbx, r10
nop dword [rax]
mov eax, dword [r9 + rcx]
xor eax, dword [rcx]
lea rcx, [rcx + 4]
and eax, esi
mov dword [rbx + rcx - 4], eax
sub r8, 1
jne 0x14010cfa0
mov ebx, dword [rsp]
lea r9, [rsp]
xor r11d, ebx
lea rcx, [rdi + 8]
mov dword [rdi], r11d
sub r9, rdi
mov r8, rdx
nop dword [rax]
mov eax, dword [r9 + rcx]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub r8, 1
jne 0x14010cfd0
xor dword [r10], ebx
lea r8, [rsp]
mov rbx, qword [rsp + 0x840]
lea rax, [r10 + 8]
sub r8, r10
nop word [rax + rax]
mov ecx, dword [rax + r8]
xor dword [rax], ecx
lea rax, [rax + 4]
sub rdx, 1
jne 0x14010d000
xor eax, eax
mov rsi, qword [rsp + 0x848]
add rsp, 0x830
pop rdi
ret
mov rsi, qword [rsp + 0x848]
xor r11d, eax
mov dword [rcx], r11d
xor dword [r10], eax
xor eax, eax
add rsp, 0x830
pop rdi
ret

Function at 0x14010eb50
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xa0
xor eax, eax
mov dword [rsp + 0x20], 0x6a09e667
mov dword [rsp + 0x24], 0xbb67ae85
mov rbx, r8
mov dword [rsp + 0x28], 0x3c6ef372
mov dword [rsp + 0x2c], 0xa54ff53a
mov dword [rsp + 0x30], 0x510e527f
mov dword [rsp + 0x34], 0x9b05688c
mov dword [rsp + 0x38], 0x1f83d9ab
mov dword [rsp + 0x3c], 0x5be0cd19
mov qword [r11 - 0x28], rax
mov dword [r11 - 0x20], eax
mov qword [r11 - 0x18], rax
test rcx, rcx
jne 0x14010ebc3
test edx, edx
je 0x14010ebd7
mov eax, 0xffffff53
add rsp, 0xa0
pop rbx
ret
mov r8d, edx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.14013bb20
test eax, eax
jne 0x14010ebe4
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14013c850
add rsp, 0xa0
pop rbx
ret
Function at 0x14010f1c0
Capabilities:
Hash data using sha1
Hash data using sha256
Hash data using sha384
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rdi, r8
mov rbx, rcx
mov r9d, 0xffffff18
test rcx, rcx
je 0x14010f3e0
test r8, r8
je 0x14010f3e0
cmp edx, 0x13
ja case.0x14010f205.0
movsxd rax, edx
lea rcx, [0x140000000]
mov edx, dword [rcx + rax*4 + 0x10f3f0]
add rdx, rcx
jmp rdx
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.140141ea0
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.140132720
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.14013c850
mov rcx, rbx
call fcn.140134b90
mov r9d, eax
test eax, eax
jne case.0x14010f205.5
movups xmm0, xmmword [rbx]
mov rcx, rbx
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rdi + 0x20], xmm0
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.140134a10
mov rcx, rbx
call fcn.140134b90
mov r9d, eax
test eax, eax
jne case.0x14010f205.5
movups xmm0, xmmword [rbx]
mov rcx, rbx
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rdi + 0x30], xmm1
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.1401360f0
mov rcx, rbx
call fcn.140134b90
mov r9d, eax
test eax, eax
jne case.0x14010f205.5
movups xmm0, xmmword [rbx]
mov rcx, rbx
movups xmmword [rdi], xmm0
movsd xmm1, qword [rbx + 0x10]
movsd qword [rdi + 0x10], xmm1
mov eax, dword [rbx + 0x18]
mov dword [rdi + 0x18], eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.140136050
mov rcx, rbx
call fcn.140134b90
mov r9d, eax
test eax, eax
jne case.0x14010f205.5
movups xmm0, xmmword [rbx]
mov rcx, rbx
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.140135fb0
mov dword [rsp + 0x20], 0x1c
mov r9b, reloc.WS2_32.dll_select
mov rcx, rbx
call fcn.1400e0770
mov r9d, eax
test eax, eax
jne case.0x14010f205.5
xorps xmm0, xmm0
lea rax, [rbx + 0x80]
movups xmmword [rbx], xmm0
xor ecx, ecx
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
movups xmmword [rax - 0x10], xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov qword [rax + 0x40], rcx
mov eax, r9d
mov byte [rbx + 0x190], cl
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov dword [rsp + 0x20], 0x20
mov r9b, send
jmp 0x14010f33d
mov dword [rsp + 0x20], 0x30
mov r9b, 0xd
jmp 0x14010f33d
mov dword [rsp + 0x20], 0x40
mov r9b, 9
jmp 0x14010f33d
mov r9d, 0xffffff53
mov eax, r9d
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rbx, qword [rsp + 0x40]
mov eax, 0xffffff53
add rsp, 0x30
pop rdi
ret
Function at 0x14010f500
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x90
xor r12d, r12d
mov edi, edx
mov eax, r12d
mov r15, r8
mov dword [rbp - 0x29], eax
mov rbx, rcx
mov qword [rbp + 0x37], r12
mov r14d, r12d
mov dword [rbp + 0x23], 0x67452301
mov dword [rbp + 0x27], 0xefcdab89
mov dword [rbp + 0x2b], 0x98badcfe
mov dword [rbp + 0x2f], 0x10325476
mov qword [rbp - 0x25], r12
test rcx, rcx
jne 0x14010f578
test edx, edx
je 0x14010f56b
mov eax, 0xffffff53
jmp 0x14010f6b1
test rcx, rcx
jne 0x14010f578
test edx, edx
je 0x14010f5f8
mov dword [rbp - 0x25], edi
cmp edi, 0x40
jb 0x14010f5d7
mov qword [rsp + 0xb0], rsi
mov rsi, rdi
shr rsi, 6
nop
movups xmm0, xmmword [rbx]
lea rdx, [rbp - 0x1d]
add edi, 0xffffffc0
lea rcx, [rbp - 0x29]
movups xmmword [rbp - 0x1d], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0xd], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rbp + 3], xmm0
movups xmm1, xmmword [rbx + 0x30]
add rbx, 0x40
movups xmmword [rbp + 0x13], xmm1
call fcn.140141660
mov r14d, eax
sub rsi, 1
jne 0x14010f590
mov rsi, qword [rsp + 0xb0]
mov eax, dword [rbp - 0x29]
test edi, edi
je 0x14010f5ef
mov r8d, edi
lea rcx, [rbp - 0x1d]
mov rdx, rbx
call fcn.14014dae0
mov eax, edi
mov dword [rbp - 0x29], eax
test r14d, r14d
jne 0x14010f6ae
test r15, r15
je 0x14010f561
cmp eax, 0x3f
jbe 0x14010f610
mov eax, 0xffffff7c
jmp 0x14010f6b1
mov byte [rbp + rax - 0x1d], 0x80
mov ecx, dword [rbp - 0x29]
inc ecx
mov dword [rbp - 0x29], ecx
cmp ecx, 0x38
jbe 0x14010f656
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x1d]
add rcx, rax
call fcn.14014e180
lea rdx, [rbp - 0x1d]
mov dword [rbp - 0x29], 0x40
lea rcx, [rbp - 0x29]
call fcn.140141660
mov ecx, r12d
mov dword [rbp - 0x29], r12d
mov eax, ecx
mov r8d, 0x38
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x1d]
add rcx, rax
call fcn.14014e180
mov r9d, dword [rbp - 0x25]
mov edx, r9d
mov ecx, dword [rbp - 0x21]
shr edx, 0x1d
shl r9d, 3
mov dword [rbp - 0x25], r9d
mov dword [rbp + 0x1b], r9d
lea r8d, [rdx + rcx*8]
lea rdx, [rbp - 0x1d]
mov dword [rbp - 0x21], r8d
lea rcx, [rbp - 0x29]
mov dword [rbp + 0x1f], r8d
call fcn.140141660
movups xmm0, xmmword [rbp + 0x23]
mov eax, r12d
movups xmmword [r15], xmm0
jmp 0x14010f6b1
mov eax, r14d
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret

Function at 0x14010faf0
Capabilities:
Hash data using sha1

Disassembly:
push rbx
sub rsp, 0x90
xor eax, eax
mov dword [rsp + 0x6c], 0x67452301
mov rbx, r8
mov qword [rsp + 0x80], rax
mov r8d, edx
mov dword [rsp + 0x70], 0xefcdab89
mov rdx, rcx
mov dword [rsp + 0x74], 0x98badcfe
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x78], 0x10325476
mov dword [rsp + 0x7c], 0xc3d2e1f0
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], eax
call fcn.140132280
test eax, eax
jne 0x14010fb58
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140132720
add rsp, 0x90
pop rbx
ret
Function at 0x14011a150
Capabilities:
Decompress data using quicklz

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.14011b1f0
mov r8d, 1
lea rdx, [0x1401d31f8]
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp fcn.14011a1b0

Function at 0x14011a180
Capabilities:
Decompress data using quicklz

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.14011b590
mov r8d, 1
lea rdx, [0x1401d31f8]
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp fcn.14011a1b0
Function at 0x1401340b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov r9, rdx
xor r11d, r11d
mov rax, r9
mov rdx, rcx
and eax, 7
and edx, 7
cmp rdx, rax
jne 0x1401341bd
test rdx, rdx
je 0x1401340e8
test r8d, r8d
je 0x1401340e8
movzx eax, byte [r9]
inc r9
xor byte [rcx], al
inc rcx
dec r8d
jmp 0x1401340d2
mov r10d, r8d
mov ebx, r11d
shr r10d, 3
test r10d, r10d
je 0x1401341b9
mov qword [rsp + 0x10], rdi
cmp r10d, 8
jb 0x14013418d
lea eax, [r10 - 1]
lea rdi, [rcx + rax*8]
lea rax, [r9 + rax*8]
cmp rcx, rax
ja 0x140134120
cmp rdi, r9
jae 0x14013418d
mov eax, r10d
and eax, 0xfffffff8
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add ebx, 8
movdqu xmm1, xmmword [r9]
xorps xmm1, xmm0
movdqu xmmword [rcx], xmm1
movdqu xmm0, xmmword [rcx + 0x10]
movdqu xmm1, xmmword [r9 + 0x10]
xorps xmm1, xmm0
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm0, xmmword [rcx + 0x20]
movdqu xmm1, xmmword [r9 + 0x20]
xorps xmm1, xmm0
movdqu xmmword [rcx + 0x20], xmm1
movdqu xmm0, xmmword [rcx + 0x30]
movdqu xmm1, xmmword [r9 + 0x30]
add r9, 0x40
xorps xmm1, xmm0
movdqu xmmword [rcx + 0x30], xmm1
add rcx, 0x40
cmp ebx, eax
jb 0x140134130
cmp ebx, r10d
jae 0x1401341b4
sub r10d, ebx
mov edx, r10d
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r9]
add r9, 8
xor qword [rcx], rax
add rcx, 8
sub rdx, 1
jne 0x1401341a0
mov rdi, qword [rsp + 0x10]
and r8d, 7
test r8d, r8d
je 0x140134281
cmp r8d, 0x40
jb 0x140134258
lea eax, [r8 - 1]
lea r10, [rax + rcx]
add rax, r9
cmp rcx, rax
ja 0x1401341e5
cmp r10, r9
jae 0x140134258
mov r10d, r8d
and r10d, 0xffffffc0
mov ebx, 0x20
movdqu xmm0, xmmword [r11 + rcx]
lea eax, [rbx - 0x10]
movdqu xmm1, xmmword [r11 + r9]
xorps xmm1, xmm0
movdqu xmmword [r11 + rcx], xmm1
add r11d, 0x40
movdqu xmm0, xmmword [rax + rcx]
movdqu xmm1, xmmword [rax + r9]
xorps xmm1, xmm0
movdqu xmmword [rax + rcx], xmm1
mov eax, ebx
movdqu xmm0, xmmword [rax + rcx]
movdqu xmm1, xmmword [rax + r9]
xorps xmm1, xmm0
movdqu xmmword [rax + rcx], xmm1
lea eax, [rbx + 0x10]
add ebx, 0x40
movdqu xmm0, xmmword [rax + rcx]
movdqu xmm1, xmmword [rax + r9]
xorps xmm1, xmm0
movdqu xmmword [rax + rcx], xmm1
cmp r11d, r10d
jb 0x1401341f1
cmp r11d, r8d
jae 0x140134281
sub r9, rcx
mov edx, r11d
add rdx, rcx
sub r8d, r11d
mov ecx, r8d
nop word [rax + rax]
movzx eax, byte [r9 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x140134270
pop rbx
ret

Function at 0x140134a10
Capabilities:
Hash data using sha384

Disassembly:
test rcx, rcx
jne 0x140134a1b
mov eax, 0xffffff53
ret
movabs rax, 0xcbbb9d5dc1059ed8
mov qword [rcx], rax
movabs rax, 0x629a292a367cd507
mov qword [rcx + 8], rax
movabs rax, 0x9159015a3070dd17
mov qword [rcx + 0x10], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rcx + 0x18], rax
movabs rax, 0x67332667ffc00b31
mov qword [rcx + 0x20], rax
movabs rax, 0x8eb44a8768581511
mov qword [rcx + 0x28], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rcx + 0x30], rax
movabs rax, 0x47b5481dbefa4fa4
mov qword [rcx + 0x38], rax
xor eax, eax
mov dword [rcx + 0xc0], eax
mov qword [rcx + 0xc8], rax
mov qword [rcx + 0xd0], rax
ret
Function at 0x1401360f0
Capabilities:
Hash data using sha512

Disassembly:
test rcx, rcx
jne 0x1401360fb
mov eax, 0xffffff53
ret
movabs rax, 0x6a09e667f3bcc908
mov qword [rcx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rcx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rcx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rcx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rcx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rcx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rcx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rcx + 0x38], rax
xor eax, eax
mov dword [rcx + 0xc0], eax
mov qword [rcx + 0xc8], rax
mov qword [rcx + 0xd0], rax
ret

Function at 0x140136d90
Capabilities:
Hash data using sha512

Disassembly:
test rcx, rcx
jne 0x140136d9b
mov eax, 0xffffff53
ret
mov qword [rcx + 0xd8], rdx
movabs rax, 0x6a09e667f3bcc908
mov qword [rcx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rcx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rcx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rcx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rcx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rcx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rcx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rcx + 0x38], rax
xor eax, eax
mov dword [rcx + 0xc0], eax
mov qword [rcx + 0xc8], rax
mov qword [rcx + 0xd0], rax
ret

Function at 0x140136e40
Capabilities:
Hash data using sha384

Disassembly:
test rcx, rcx
jne 0x140136e4b
mov eax, 0xffffff53
ret
mov qword [rcx + 0xd8], rdx
movabs rax, 0xcbbb9d5dc1059ed8
mov qword [rcx], rax
movabs rax, 0x629a292a367cd507
mov qword [rcx + 8], rax
movabs rax, 0x9159015a3070dd17
mov qword [rcx + 0x10], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rcx + 0x18], rax
movabs rax, 0x67332667ffc00b31
mov qword [rcx + 0x20], rax
movabs rax, 0x8eb44a8768581511
mov qword [rcx + 0x28], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rcx + 0x30], rax
movabs rax, 0x47b5481dbefa4fa4
mov qword [rcx + 0x38], rax
xor eax, eax
mov dword [rcx + 0xc0], eax
mov qword [rcx + 0xc8], rax
mov qword [rcx + 0xd0], rax
ret
Function at 0x140138f20
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rbp
push r14
push r15
sub rsp, 0x498
mov rbp, rcx
mov r15d, edx
mov ecx, r9d
call fcn.14010fa30
mov ebx, eax
test eax, eax
js 0x1401391bc
lea r14d, [rbx + rbx]
lea eax, [r14 + 2]
cmp r15d, eax
jb 0x1401391bc
mov qword [rsp + 0x490], rdi
lea rcx, [rsp + 0x70]
mov r8d, r15d
mov qword [rsp + 0x480], r13
xor edx, edx
call fcn.14014e180
mov r13d, dword [rsp + 0x4e0]
lea edx, [rbx + 1]
mov edi, r15d
mov dword [rsp + 0x20], ebx
sub edi, ebx
lea r9, [rsp + 0x70]
dec edi
add rdx, rbp
mov r8d, edi
mov ecx, r13d
call fcn.1401397b0
test eax, eax
jne 0x14013901c
mov qword [rsp + 0x4c0], rsi
lea rdx, [rbp + 1]
mov r8d, ebx
mov qword [rsp + 0x488], r12
lea rcx, [rsp + 0x70]
call fcn.140139d00
lea r12, [rsp + 0x70]
mov dword [rsp + 0x20], edi
add r12, rbx
lea rdx, [rsp + 0x70]
mov r9, r12
mov r8d, ebx
mov ecx, r13d
mov esi, ebx
call fcn.1401397b0
test eax, eax
je 0x14013903a
lea rcx, [rsp + 0x70]
test ebx, ebx
je 0x14013900c
nop dword [rax + rax]
mov byte [rcx], 0
lea rcx, [rcx + 1]
add ebx, 0xffffffff
jne 0x140139000
mov r12, qword [rsp + 0x488]
mov rsi, qword [rsp + 0x4c0]
mov rdi, qword [rsp + 0x490]
mov r13, qword [rsp + 0x480]
add rsp, 0x498
pop r15
pop r14
pop rbp
pop rbx
ret
lea rcx, [rbp + 1]
mov r8d, edi
add rcx, rbx
mov rdx, r12
call fcn.140139d00
lea rcx, [rsp + 0x70]
mov eax, r15d
test r15d, r15d
je 0x14013906c
nop dword [rax]
mov byte [rcx], 0
lea rcx, [rcx + 1]
add eax, 0xffffffff
jne 0x140139060
xor edi, edi
lea r13d, [r15 - 1]
inc r14d
mov r9d, 1
mov r10d, edi
mov r11d, edi
mov edx, r9d
cmp r14d, r13d
jae 0x140139116
mov eax, r13d
mov r8d, r14d
sub eax, r14d
cmp eax, 2
jb 0x1401390fc
mov eax, r13d
sub eax, r14d
sub eax, 2
shr eax, 1
inc eax
mov r12d, eax
lea eax, [r14 + rax*2]
mov dword [rsp + 0x4f0], eax
nop word [rax + rax]
movzx ecx, byte [r8 + rbp]
mov eax, r9d
neg ecx
shr ecx, 0x1f
sub eax, ecx
movzx ecx, byte [r8 + rbp + 1]
and edx, eax
neg ecx
shr ecx, 0x1f
add r10d, edx
mov eax, r9d
add r8, 2
sub eax, ecx
and edx, eax
add r11d, edx
sub r12, r9
jne 0x1401390c0
cmp dword [rsp + 0x4f0], r13d
jae 0x14013910f
movzx eax, byte [r8 + rbp]
neg eax
shr eax, 0x1f
sub r9d, eax
and r9d, edx
add r14d, r9d
lea eax, [r11 + r10]
add r14d, eax
mov ecx, dword [rsp + 0x4d8]
lea r9, [rsp + 0x30]
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
call fcn.14010f6e0
test eax, eax
jne 0x14013900c
test ebx, ebx
jle 0x140139167
lea rcx, [rsp + 0x30]
mov r8, rbx
sub r8, rcx
lea rdx, [rsp + 0x30]
add r8, rbp
nop
movzx ecx, byte [r8 + rdx + 1]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
xor ecx, eax
or edi, ecx
sub rsi, 1
jne 0x140139150
movzx edx, byte [r14 + rbp]
movzx ecx, byte [rbp]
xor edx, 1
add edx, edi
add edx, ecx
lea eax, [rdx - 1]
not edx
shr eax, 0x1f
neg al
shr edx, 0x1f
movsx r8d, al
neg dl
movsx eax, dl
mov rdx, qword [rsp + 0x4d0]
and r8d, eax
lea eax, [r14 + 1]
mov ecx, r8d
and eax, r8d
not ecx
and ecx, r15d
or ecx, eax
mov eax, ecx
add rax, rbp
sub r15d, ecx
mov qword [rdx], rax
mov eax, r15d
jmp 0x14013900c
mov eax, 0xffffff53
add rsp, 0x498
pop r15
pop r14
pop rbp
pop rbx
ret
Function at 0x140139d00
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov r9, rdx
xor r11d, r11d
mov rax, r9
mov rdx, rcx
and eax, 7
and edx, 7
cmp rdx, rax
jne 0x140139e0d
test rdx, rdx
je 0x140139d38
test r8d, r8d
je 0x140139d38
movzx eax, byte [r9]
inc r9
xor byte [rcx], al
inc rcx
dec r8d
jmp 0x140139d22
mov r10d, r8d
mov ebx, r11d
shr r10d, 3
test r10d, r10d
je 0x140139e09
mov qword [rsp + 0x10], rdi
cmp r10d, 8
jb 0x140139ddd
lea eax, [r10 - 1]
lea rdi, [rcx + rax*8]
lea rax, [r9 + rax*8]
cmp rcx, rax
ja 0x140139d70
cmp rdi, r9
jae 0x140139ddd
mov eax, r10d
and eax, 0xfffffff8
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add ebx, 8
movdqu xmm1, xmmword [r9]
xorps xmm1, xmm0
movdqu xmmword [rcx], xmm1
movdqu xmm0, xmmword [rcx + 0x10]
movdqu xmm1, xmmword [r9 + 0x10]
xorps xmm1, xmm0
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm0, xmmword [rcx + 0x20]
movdqu xmm1, xmmword [r9 + 0x20]
xorps xmm1, xmm0
movdqu xmmword [rcx + 0x20], xmm1
movdqu xmm0, xmmword [rcx + 0x30]
movdqu xmm1, xmmword [r9 + 0x30]
add r9, 0x40
xorps xmm1, xmm0
movdqu xmmword [rcx + 0x30], xmm1
add rcx, 0x40
cmp ebx, eax
jb 0x140139d80
cmp ebx, r10d
jae 0x140139e04
sub r10d, ebx
mov edx, r10d
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r9]
add r9, 8
xor qword [rcx], rax
add rcx, 8
sub rdx, 1
jne 0x140139df0
mov rdi, qword [rsp + 0x10]
and r8d, 7
test r8d, r8d
je 0x140139ed1
cmp r8d, 0x40
jb 0x140139ea8
lea eax, [r8 - 1]
lea r10, [rax + rcx]
add rax, r9
cmp rcx, rax
ja 0x140139e35
cmp r10, r9
jae 0x140139ea8
mov r10d, r8d
and r10d, 0xffffffc0
mov ebx, 0x20
movdqu xmm0, xmmword [r11 + rcx]
lea eax, [rbx - 0x10]
movdqu xmm1, xmmword [r11 + r9]
xorps xmm1, xmm0
movdqu xmmword [r11 + rcx], xmm1
add r11d, 0x40
movdqu xmm0, xmmword [rax + rcx]
movdqu xmm1, xmmword [rax + r9]
xorps xmm1, xmm0
movdqu xmmword [rax + rcx], xmm1
mov eax, ebx
movdqu xmm0, xmmword [rax + rcx]
movdqu xmm1, xmmword [rax + r9]
xorps xmm1, xmm0
movdqu xmmword [rax + rcx], xmm1
lea eax, [rbx + 0x10]
add ebx, 0x40
movdqu xmm0, xmmword [rax + rcx]
movdqu xmm1, xmmword [rax + r9]
xorps xmm1, xmm0
movdqu xmmword [rax + rcx], xmm1
cmp r11d, r10d
jb 0x140139e41
cmp r11d, r8d
jae 0x140139ed1
sub r9, rcx
mov edx, r11d
add rdx, rcx
sub r8d, r11d
mov ecx, r8d
nop word [rax + rax]
movzx eax, byte [r9 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x140139ec0
pop rbx
ret
Function at 0x14013c850
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
je 0x14013c996
test rdx, rdx
je 0x14013c996
call fcn.14013b750
test eax, eax
jne 0x14013c99b
mov ecx, dword [rbx]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rbx], ecx
mov ecx, dword [rbx + 4]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rbx + 4], ecx
mov ecx, dword [rbx + 8]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rbx + 8], ecx
mov ecx, dword [rbx + 0xc]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rbx + 0xc], ecx
mov ecx, dword [rbx + 0x10]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rbx + 0x10], ecx
mov ecx, dword [rbx + 0x14]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rbx + 0x14], ecx
mov ecx, dword [rbx + 0x18]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rbx + 0x18], ecx
mov ecx, dword [rbx + 0x1c]
mov eax, ecx
ror eax, 8
rol ecx, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rbx + 0x1c], ecx
xor eax, eax
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov dword [rbx], 0x6a09e667
mov dword [rbx + 4], 0xbb67ae85
mov dword [rbx + 8], 0x3c6ef372
mov dword [rbx + 0xc], 0xa54ff53a
mov dword [rbx + 0x10], 0x510e527f
mov dword [rbx + 0x14], 0x9b05688c
mov dword [rbx + 0x18], 0x1f83d9ab
mov dword [rbx + 0x1c], 0x5be0cd19
mov qword [rbx + 0x60], rax
mov dword [rbx + 0x68], eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret