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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe8
mov rax, qword [0x1402f1100]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rsi, rcx
mov dword [rsp + 0x44], r9d
mov r12, rdx
mov ebp, r8d
xor edx, edx
mov r10d, r9d
mov r9, qword [rsp + 0x150]
mov r8d, edx
movzx eax, byte [rsi + 0x2ed]
mov r14d, edx
movzx r15d, byte [rsi + 0x2f1]
mov ecx, edx
mov qword [rsp + 0x48], r9
cmp al, 1
jne 0x140109434
movzx r9d, word [rsi + 0x414]
bt r9w, 0xe
jae 0x1401092bd
movzx r8d, word [rsi + 0x2e8]
mov eax, r8d
mov rcx, rbp
sub rcx, rax
mov dword [rsp + 0x40], 1
bt r9w, 0xd
mov rdi, rbp
movzx r14d, byte [rcx + r12 - 1]
mov ecx, r14d
mov r13d, r14d
jae 0x1401093c1
sub ebp, r8d
mov eax, 0xff
movsxd r8, ebp
dec r8
add r8, r12
lea ecx, [rbp - 1]
movzx r10d, byte [r8]
mov edi, r10d
sub edi, ebp
add edi, r15d
shr edi, 0x1f
dec dil
cmp ecx, eax
cmovg ecx, eax
movsxd r9, ecx
test ecx, ecx
jle 0x140109343
nop dword [rax + rax]
mov ecx, r10d
lea r8, [r8 - 1]
sub ecx, edx
movzx eax, r10b
xor al, byte [r8 + 1]
inc edx
shr ecx, 0x1f
dec cl
and cl, al
or dil, cl
sub r9, 1
jne 0x140109320
mov eax, dword [rsp + 0x44]
lea rdx, [rsp + 0x90]
mov r9d, ebp
mov dword [rsp + 0x30], 1
sub r9d, r15d
mov dword [rsp + 0x28], eax
sub r9d, r14d
mov dword [rsp + 0x20], r14d
dec r9d
mov r8, r12
mov rcx, rsi
call qword [rsi + 0x98]
movzx r8d, byte [rsi + 0x2f1]
lea r9, [rsp + 0x90]
mov edx, ebp
mov rcx, r12
mov ebx, eax
call fcn.140108d00
or al, dil
not al
movzx ecx, al
shr cl, 4
and al, cl
movzx ecx, al
mov edx, ecx
shr edx, 2
and edx, ecx
mov eax, edx
shr eax, 1
and eax, edx
dec eax
add eax, ebx
je 0x14010942e
mov eax, 0xfffffecf
jmp 0x1401094b2
sub ebp, r15d
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], r10d
mov r8, r12
lea eax, [rbp - 1]
cmp r14d, eax
mov dword [rsp + 0x44], eax
cmova r14d, edx
cmp r13d, eax
cmovbe edx, ecx
mov rcx, rsi
sub ebp, edx
mov ebx, edx
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x20], ebx
lea r9d, [rbp - 1]
call qword [rsi + 0x98]
sub rdi, rbx
lea rdx, [r12 - 1]
sub rdi, r15
lea rcx, [rsp + 0x50]
add rdx, rdi
mov r8d, r15d
mov ebp, eax
call fcn.1401024c0
test eax, eax
jne 0x1401093b7
test ebp, ebp
jne 0x1401093b7
cmp r13d, dword [rsp + 0x44]
ja 0x1401093b7
mov ecx, dword [rsp + 0x40]
jmp 0x14010948f
test al, al
jne 0x140109494
mov r9d, ebp
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], r10d
lea rdx, [rsp + 0x50]
sub r9d, r15d
mov dword [rsp + 0x20], 0xffffffff
mov r8, r12
mov rcx, rsi
call qword [rsi + 0x98]
mov rdx, rbp
lea rcx, [rsp + 0x50]
sub rdx, r15
mov r8d, r15d
add rdx, r12
mov ebx, eax
call fcn.1401024c0
test eax, eax
jne 0x1401093b7
test ebx, ebx
jne 0x1401093b7
mov ecx, r14d
mov r9, qword [rsp + 0x48]
cmp byte [rsi + 0x2ed], 2
jne 0x1401094a6
movzx eax, word [rsi + 0x2ea]
jmp 0x1401094ad
lea eax, [r15 + rcx]
add eax, r14d
mov dword [r9], eax
xor eax, eax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140143260
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1401235b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov eax, r8d
mov r9, rdx
or al, cl
mov r10, rcx
or al, dl
test al, 7
jne 0x140123693
shr r8d, 3
xor eax, eax
test r8d, r8d
je 0x1401237a1
cmp r8d, 8
jb 0x14012366e
lea ecx, [r8 - 1]
lea r11, [r10 + rcx*8]
lea rcx, [rdx + rcx*8]
cmp r10, rcx
ja 0x1401235f6
cmp r11, rdx
jae 0x14012366e
mov r11d, r8d
and r11d, 0xfffffff8
mov ebx, 4
movdqu xmm0, xmmword [r10 + rax*8]
lea ecx, [rbx - 2]
movdqu xmm1, xmmword [rdx + rax*8]
xorps xmm1, xmm0
movdqu xmmword [r10 + rax*8], xmm1
add eax, 8
movdqu xmm0, xmmword [r10 + rcx*8]
movdqu xmm1, xmmword [rdx + rcx*8]
xorps xmm1, xmm0
movdqu xmmword [r10 + rcx*8], xmm1
mov ecx, ebx
movdqu xmm0, xmmword [r10 + rcx*8]
movdqu xmm1, xmmword [rdx + rcx*8]
xorps xmm1, xmm0
movdqu xmmword [r10 + rcx*8], xmm1
lea ecx, [rbx + 2]
add ebx, 8
movdqu xmm0, xmmword [r10 + rcx*8]
movdqu xmm1, xmmword [rdx + rcx*8]
xorps xmm1, xmm0
movdqu xmmword [r10 + rcx*8], xmm1
cmp eax, r11d
jb 0x140123602
cmp eax, r8d
jae 0x1401237a1
sub r9, r10
lea rdx, [r10 + rax*8]
sub r8d, eax
mov ecx, r8d
nop dword [rax + rax]
mov rax, qword [r9 + rdx]
xor qword [rdx], rax
lea rdx, [rdx + 8]
sub rcx, 1
jne 0x140123680
pop rbx
ret
xor eax, eax
test r8d, r8d
je 0x1401237a1
cmp r8d, 8
jb 0x140123781
lea ecx, [r8 - 1]
lea r11, [rcx + r10]
add rcx, rdx
cmp r10, rcx
ja 0x1401236c1
cmp r11, r9
jae 0x140123781
cmp r8d, 0x40
jb 0x14012374f
mov qword [rsp + 0x10], rdi
mov r11d, r8d
and r11d, 0x3f
mov edi, r8d
sub edi, r11d
mov ebx, 0x20
movdqu xmm0, xmmword [rax + r10]
lea ecx, [rbx - 0x10]
movdqu xmm1, xmmword [rdx + rax]
xorps xmm1, xmm0
movdqu xmmword [rax + r10], xmm1
add eax, 0x40
movdqu xmm0, xmmword [rcx + r10]
movdqu xmm1, xmmword [rdx + rcx]
xorps xmm1, xmm0
movdqu xmmword [rcx + r10], xmm1
mov ecx, ebx
movdqu xmm0, xmmword [rcx + r10]
movdqu xmm1, xmmword [rdx + rcx]
xorps xmm1, xmm0
movdqu xmmword [rcx + r10], xmm1
lea ecx, [rbx + 0x10]
add ebx, 0x40
movdqu xmm0, xmmword [rcx + r10]
movdqu xmm1, xmmword [rdx + rcx]
xorps xmm1, xmm0
movdqu xmmword [rcx + r10], xmm1
cmp eax, edi
jb 0x1401236e2
mov rdi, qword [rsp + 0x10]
cmp r11d, 8
jb 0x14012377c
mov edx, r8d
and edx, 0xfffffff8
nop word [rax + rax]
movq xmm0, qword [rax + r10]
movq xmm1, qword [r9 + rax]
xorps xmm1, xmm0
movq qword [rax + r10], xmm1
add eax, 8
cmp eax, edx
jb 0x140123760
cmp eax, r8d
jae 0x1401237a1
mov edx, eax
sub r9, r10
add rdx, r10
sub r8d, eax
mov ecx, r8d
nop
movzx eax, byte [r9 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x140123790
pop rbx
ret
Function at 0x1401238d0
Capabilities:
Hash data using sha1
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, r9
mov edi, r8d
movsxd r9, ecx
mov rsi, rdx
mov ecx, r9d
mov r10d, 0xffffff18
call fcn.1401237b0
cmp dword [rsp + 0x50], eax
jae 0x140123914
mov eax, 0xffffff7c
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp r9d, 0xf
ja case.0x140123930.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + r9*4 + 0x123a08]
add rcx, rdx
jmp rcx
mov r8, rbx
mov edx, edi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140123fe0
mov r8, rbx
mov edx, edi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140124100
mov r8, rbx
mov edx, edi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1401241a0
mov r8, rbx
mov edx, edi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140124360
mov r8, rbx
mov edx, edi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140124260
mov r8, rbx
mov edx, edi
mov rcx, rsi
call fcn.140123fe0
mov r10d, eax
test eax, eax
jne case.0x140123930.5
lea r8, [rbx + 0x10]
mov edx, edi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140124100
mov r10d, 0xffffff53
mov rbx, qword [rsp + 0x30]
mov eax, r10d
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140123fe0
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x1402f1100]
xor rax, rsp
mov qword [rbp + 0x37], rax
xor ebx, ebx
mov dword [rbp + 0x13], 0x67452301
mov rdi, r8
mov qword [rbp + 0x27], rbx
mov r8d, edx
mov dword [rbp + 0x17], 0xefcdab89
mov rdx, rcx
mov dword [rbp + 0x1b], 0x98badcfe
lea rcx, [rbp - 0x39]
mov dword [rbp + 0x1f], 0x10325476
mov qword [rbp - 0x39], rbx
mov dword [rbp - 0x31], ebx
call fcn.140138340
test eax, eax
jne 0x1401240e9
test rdi, rdi
je 0x1401240e2
mov eax, dword [rbp - 0x39]
mov byte [rbp + rax - 0x2d], pe_nt_image_headers64
mov ecx, dword [rbp - 0x39]
inc ecx
mov dword [rbp - 0x39], ecx
cmp ecx, 0x38
jbe 0x140124091
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x2d]
add rcx, rax
call fcn.14016ef80
lea rdx, [rbp - 0x2d]
mov dword [rbp - 0x39], 0x40
lea rcx, [rbp - 0x39]
call fcn.140137b50
mov ecx, ebx
mov dword [rbp - 0x39], ebx
mov eax, ecx
mov r8d, 0x38
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x2d]
add rcx, rax
call fcn.14016ef80
mov r8d, dword [rbp - 0x35]
mov ecx, r8d
mov eax, dword [rbp - 0x31]
shr ecx, 0x1d
shl r8d, 3
mov dword [rbp - 0x35], r8d
mov dword [rbp + 0xb], r8d
lea edx, [rcx + rax*8]
mov dword [rbp - 0x31], edx
lea rcx, [rbp - 0x39]
mov dword [rbp + 0xf], edx
lea rdx, [rbp - 0x2d]
call fcn.140137b50
movups xmm0, xmmword [rbp + 0x13]
movups xmmword [rdi], xmm0
jmp 0x1401240e7
mov ebx, 0xffffff53
mov eax, ebx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140143260
add rsp, 0xa0
pop rdi
pop rbx
pop rbp
ret

Function at 0x140124100
Capabilities:
Hash data using sha1

Disassembly:
push rbx
sub rsp, 0xa0
mov rax, qword [0x1402f1100]
xor rax, rsp
mov qword [rsp + 0x90], rax
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.14012fcb0
test eax, eax
jne 0x14012417a
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140130150
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140143260
add rsp, 0xa0
pop rbx
ret

Function at 0x1401241a0
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xb0
mov rax, qword [0x1402f1100]
xor rax, rsp
mov qword [rsp + 0xa0], rax
xor eax, eax
mov rbx, r8
mov qword [r11 - 0x28], rax
mov dword [rsp + 0x20], 0x6a09e667
mov dword [rsp + 0x24], 0xbb67ae85
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 - 0x38], rax
mov dword [r11 - 0x30], eax
test rcx, rcx
jne 0x14012421e
test edx, edx
je 0x140124232
mov eax, 0xffffff53
jmp 0x14012423f
mov r8d, edx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.140134290
test eax, eax
jne 0x14012423f
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140134c30
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140143260
add rsp, 0xb0
pop rbx
ret
Function at 0x140124c90
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r12
push r15
mov r12, r9
lea r10d, [rdx + 0x3f]
shr r10d, 6
xor edi, edi
mov r11d, edx
mov r15, r8
sub r11d, r10d
mov ebx, edx
inc r11d
mov rsi, rcx
mov eax, edi
lea r9d, [r11 + r11*2]
shr r9d, 2
cmp r9d, dword [r12]
jbe 0x140124cda
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x40]
pop r15
pop r12
pop rdi
pop rsi
ret
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r14
cmp edx, 3
jbe 0x140124e35
lea r13, [0x1402d3a80]
nop dword [rax]
mov ecx, eax
inc eax
movzx r8d, byte [rax + rsi]
inc eax
movzx edx, byte [rcx + rsi]
movzx ebp, byte [rax + rsi]
inc eax
movzx r10d, byte [rax + rsi]
inc eax
test dl, dl
je 0x140124e35
cmp dl, 0x2b
jb 0x140124e66
cmp r8b, 0x2b
jb 0x140124e66
cmp bpl, 0x2b
jb 0x140124e66
cmp r10b, 0x2b
jb 0x140124e66
cmp dl, 0x7a
ja 0x140124e66
cmp r8b, 0x7a
ja 0x140124e66
cmp bpl, 0x7a
ja 0x140124e66
cmp r10b, 0x7a
ja 0x140124e66
movzx r14d, byte [rdx + r13 - 0x2b]
movzx r11d, byte [r8 + r13 - 0x2b]
cmp bpl, 0x3d
jne 0x140124d89
xor r8b, r8b
jmp 0x140124d8f
movzx r8d, byte [rbp + r13 - 0x2b]
cmp r10b, 0x3d
jne 0x140124d99
xor cl, cl
jmp 0x140124d9f
movzx ecx, byte [r10 + r13 - 0x2b]
shl r14b, 2
movzx edx, r11b
shr dl, 4
movzx r9d, r8b
or dl, r14b
shl r9b, 6
mov byte [rdi + r15], dl
or r9b, cl
inc edi
cmp bpl, 0x3d
je 0x140124dd5
shr r8b, 2
shl r11b, 4
or r8b, r11b
mov byte [rdi + r15], r8b
inc edi
cmp r10b, 0x3d
je 0x140124e35
mov byte [rdi + r15], r9b
inc edi
add ebx, 0xfffffffc
je 0x140124e2c
movzx edx, byte [rax + rsi]
cmp dl, 0x20
ja 0x140124e2c
movabs r8, 0x100002400
bt r8, rdx
jae 0x140124e2c
inc eax
add ebx, 0xffffffff
je 0x140124e16
cmp dl, 0x20
jne 0x140124e16
movzx edx, byte [rax + rsi]
inc eax
add ebx, 0xffffffff
jne 0x140124e06
cmp dl, 0xd
jne 0x140124e27
test ebx, ebx
je 0x140124e66
movzx edx, byte [rax + rsi]
inc eax
dec ebx
cmp dl, 0xa
jne 0x140124e66
cmp ebx, 3
ja 0x140124d00
test r15, r15
je 0x140124e45
cmp dword [r12], edi
jbe 0x140124e45
mov byte [rdi + r15], 0
mov dword [r12], edi
xor eax, eax
mov r13, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x28]
mov r14, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
pop r15
pop r12
pop rdi
pop rsi
ret
mov eax, 0xffffff66
jmp 0x140124e4b
Function at 0x140132dc0
Capabilities:
Hash data using sha1
Hash data using sha256
Hash data using sha384
Hash data using sha512

Disassembly:
xor r8d, r8d
sub edx, 3
je 0x140132f7d
sub edx, 1
je 0x140132f6b
sub edx, 2
je 0x140132f14
sub edx, 1
je 0x140132e94
cmp edx, 1
je 0x140132df9
mov eax, 0xffffff53
mov qword [rcx + 0x220], r8
ret
test rcx, rcx
je 0x140132dec
mov qword [rcx + 0xd8], r8
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
mov eax, r8d
mov dword [rcx + 0xc0], r8d
mov qword [rcx + 0xc8], r8
mov qword [rcx + 0xd0], r8
mov qword [rcx + 0x220], r8
ret
test rcx, rcx
je 0x140132dec
mov qword [rcx + 0xd8], r8
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
jmp 0x140132e70
test rcx, rcx
je 0x140132dec
mov qword [rcx + 0x70], r8
mov eax, r8d
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 + 0x68], r8d
mov qword [rcx + 0x60], r8
mov qword [rcx + 0x220], r8
ret
test rcx, rcx
je 0x140132dec
mov dword [rcx + 0x5c], 0xc3d2e1f0
jmp 0x140132f86
test rcx, rcx
je 0x140132dec
mov dword [rcx + 8], r8d
mov eax, r8d
mov qword [rcx], r8
mov dword [rcx + 0x58], 0x10325476
mov dword [rcx + 0x54], 0x98badcfe
mov dword [rcx + 0x50], 0xefcdab89
mov dword [rcx + 0x4c], 0x67452301
mov qword [rcx + 0x60], r8
mov qword [rcx + 0x220], r8
ret
Function at 0x140134c30
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 0x140134d76
test rdx, rdx
je 0x140134d76
call fcn.140134730
test eax, eax
jne 0x140134d7b
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
Function at 0x14013c930
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf0
mov rax, qword [0x1402f1100]
xor rax, rsp
mov qword [rbp - 9], rax
mov rax, qword [rbp + 0x67]
mov ecx, 0x1b8
mov r12, qword [rbp + 0x77]
mov rdi, rdx
mov r13d, dword [rbp + 0x7f]
mov esi, 0x37
mov qword [rsp + 0x38], rax
mov r15d, 2
mov eax, ecx
mov byte [rsp + 0x28], r9b
rol ecx, 8
ror eax, 8
xor ecx, eax
mov byte [rsp + 0x20], 1
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsp + 0x30], ecx
xor r14d, r14d
mov r8d, 1
mov qword [rbp - 0x39], r14
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x40], 0x6a09e667
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x44], 0xbb67ae85
mov dword [rsp + 0x48], 0x3c6ef372
mov dword [rsp + 0x4c], 0xa54ff53a
mov dword [rsp + 0x50], 0x510e527f
mov dword [rsp + 0x54], 0x9b05688c
mov dword [rsp + 0x58], 0x1f83d9ab
mov dword [rsp + 0x5c], 0x5be0cd19
mov qword [rbp - 0x49], r14
mov dword [rbp - 0x41], r14d
call fcn.140134290
mov ebx, eax
test eax, eax
jne 0x14013cadf
mov r8d, 4
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.140134290
mov ebx, eax
test eax, eax
jne 0x14013cadf
cmp byte [rsp + 0x28], 4
je 0x14013ca51
mov r8d, 1
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.140134290
mov ebx, eax
test eax, eax
jne 0x14013cadf
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x14013ca68
cmp dword [rbp + 0x6f], r14d
jbe 0x14013ca7f
mov ebx, 0xffffff53
jmp 0x14013cadf
mov r8d, dword [rbp + 0x6f]
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.140134290
mov ebx, eax
test eax, eax
jne 0x14013cadf
test r12, r12
je 0x14013ca9f
test r13d, r13d
je 0x14013ca9f
mov r8d, r13d
lea rcx, [rsp + 0x40]
mov rdx, r12
call fcn.140134290
mov ebx, eax
test eax, eax
jne 0x14013cadf
lea rdx, [rbp - 0x29]
lea rcx, [rsp + 0x40]
call fcn.140134c30
mov ebx, eax
test eax, eax
jne 0x14013cadf
cmp esi, 0x20
jbe 0x14013cad0
movups xmm0, xmmword [rbp - 0x29]
add esi, 0xffffffe0
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
add rdi, 0x20
jmp 0x14013cadf
mov r8d, esi
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.14016e8e0
inc byte [rsp + 0x20]
sub r15, 1
jne 0x14013c9a1
mov ecx, 0x20
lea rdx, [rbp - 0x29]
nop word [rax + rax]
mov byte [rdx], r14b
lea rdx, [rdx + 1]
add ecx, 0xffffffff
jne 0x14013cb00
test ebx, ebx
setne r14b
mov eax, r14d
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.140143260
mov rbx, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14013cc60
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov rax, qword [0x1402f1100]
xor rax, rsp
mov qword [rbp + 8], rax
movups xmm0, xmmword [r9]
test r8d, r8d
mov rsi, rcx
movups xmm1, xmmword [r9 + 0x10]
mov r14d, 0
mov r12d, 1
mov ecx, r14d
mov edi, r12d
cmovne edi, r8d
mov r15, rdx
test dil, 0x1f
mov eax, edi
movups xmmword [rbp - 0x30], xmm0
setne cl
shr eax, 5
movups xmm0, xmmword [r9 + 0x20]
add ecx, eax
mov r13d, r14d
mov eax, dword [r9 + 0x30]
mov ebx, 0x37
mov dword [rbp], eax
movzx eax, word [r9 + 0x34]
mov word [rbp + 4], ax
movzx eax, byte [r9 + 0x36]
mov byte [rbp + 6], al
mov dword [rsp + 0x20], ecx
movups xmmword [rbp - 0x20], xmm1
movups xmmword [rbp - 0x10], xmm0
je 0x14013ce3d
nop dword [rax + rax]
mov r8d, ebx
mov qword [rbp - 0x40], r14
lea rdx, [rbp - 0x30]
mov dword [rsp + 0x50], 0x6a09e667
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x54], 0xbb67ae85
mov dword [rsp + 0x58], 0x3c6ef372
mov dword [rsp + 0x5c], 0xa54ff53a
mov dword [rsp + 0x60], 0x510e527f
mov dword [rsp + 0x64], 0x9b05688c
mov dword [rsp + 0x68], 0x1f83d9ab
mov dword [rsp + 0x6c], 0x5be0cd19
mov qword [rbp - 0x50], r14
mov dword [rbp - 0x48], r14d
call fcn.140134290
mov r12d, eax
test eax, eax
jne 0x14013ce2f
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x50]
call fcn.140134c30
mov r12d, eax
test eax, eax
jne 0x14013ce2f
cmp dword [rsi], 1
mov ecx, dword [rsp + 0x28]
jbe 0x14013cdaf
cmp ecx, dword [rsi + 4]
jne 0x14013cdaf
cmp byte [rsi + 0x76], 1
je 0x14013ce77
mov edx, dword [rsp + 0x20]
mov cl, 1
cmp r13d, edx
lea eax, [rdx + 1]
cmovne eax, edx
mov dword [rsp + 0x20], eax
jmp 0x14013cdb4
mov dword [rsi + 4], ecx
xor cl, cl
mov byte [rsi + 0x76], cl
test r15, r15
je 0x14013ce2f
test edi, edi
je 0x14013ce2f
cmp edi, 0x20
jb 0x14013ce1c
movups xmm0, xmmword [rsp + 0x28]
add edi, 0xffffffe0
lea rcx, [rbp + 4]
movups xmm1, xmmword [rsp + 0x38]
mov edx, 0x36
lea rax, [rbp + 4]
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm1
add r15, 0x20
sub rdx, rcx
nop
add byte [rax + 2], 1
jne 0x14013ce2f
add byte [rax + 1], 1
jne 0x14013ce2f
add byte [rax], 1
jne 0x14013ce2f
add byte [rax - 1], 1
jne 0x14013ce2f
add byte [rax - 2], 1
jne 0x14013ce2f
sub rax, 5
lea rcx, [rdx + rax]
test rcx, rcx
jns 0x14013cdf0
jmp 0x14013ce2f
mov r8d, edi
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.14016e8e0
mov edi, r14d
inc r13d
cmp r13d, dword [rsp + 0x20]
jl 0x14013cd00
lea rcx, [rbp - 0x30]
mov byte [rcx], r14b
lea rcx, [rcx + 1]
add ebx, 0xffffffff
jne 0x14013ce41
test r12d, r12d
setne r14b
mov eax, r14d
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140143260
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, 3
jmp 0x14013ce57
Function at 0x14013d7b0
Capabilities:
Encode data using xor

Disassembly:
push r12
push r13
push r14
sub rsp, 0x150
mov rax, qword [0x1402f1100]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov dword [rsp + 0x60], r8d
mov r14, rcx
mov qword [rsp + 0x68], rdx
test rcx, rcx
je 0x14013da6a
test rdx, rdx
je 0x14013da6a
cmp r8d, 0x10000
ja 0x14013da6a
cmp byte [rcx + 0x18], 1
je 0x14013d80b
mov eax, 0xffffff39
jmp 0x14013da6f
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x188], rbx
mov qword [rsp + 0x130], r15
call fcn.14013ce80
xor r15d, r15d
mov ebx, eax
cmp eax, 2
jne 0x14013da34
lea rax, [rsp + 0xa0]
mov ebx, 1
mov qword [rsp + 0x38], rax
lea r9, [0x1402d6d18]
lea rax, [0x1402d6e50]
mov dword [rsp + 0x30], 0x20
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0x30
mov ecx, ebx
call fcn.14013db80
test eax, eax
jne 0x14013da3d
xorps xmm3, xmm3
lea rcx, [0x1402d6d50]
xorps xmm4, xmm4
mov eax, r15d
nop dword [rax + rax]
movd xmm2, dword [rax + rcx]
xorps xmm0, xmm0
movd xmm1, dword [rsp + rax + 0xa0]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
movd xmm1, dword [rax + rcx + 4]
orps xmm3, xmm2
punpcklbw xmm1, xmm0
movd xmm2, dword [rsp + rax + 0xa4]
add rax, 8
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
orps xmm2, xmm4
movdqa xmm4, xmm2
cmp rax, 0x80
jl 0x14013d890
orps xmm3, xmm2
movdqa xmm0, xmm3
psrldq xmm0, 8
orps xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
orps xmm3, xmm0
movd eax, xmm3
test eax, eax
jne 0x14013da3d
mov r9d, ebx
mov qword [rsp + 0x138], rdi
xor r8d, r8d
mov dword [rsp + 0x20], 0xf0000000
xor edx, edx
mov rcx, r14
call 0x140328d49
int3
test ebx, ebx
je 0x14013da55
cmp ebx, 3
jne 0x14013da4a
mov r15d, 0xffffff2f
mov byte [r14 + 0x18], 3
jmp 0x14013da55
mov r15d, 0xffffff39
mov byte [r14 + 0x18], 2
mov rbx, qword [rsp + 0x188]
mov eax, r15d
mov r15, qword [rsp + 0x130]
jmp 0x14013da6f
mov eax, 0xffffff53
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140143260
add rsp, 0x150
pop r14
pop r13
pop r12
ret