joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140071a40
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 [0x1401310c0]
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 0x140071c34
movzx r9d, word [rsi + 0x414]
bt r9w, 0xe
jae 0x140071abd
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 0x140071bc1
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 0x140071b43
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 0x140071b20
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.140071500
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 0x140071c2e
mov eax, 0xfffffecf
jmp 0x140071cb2
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.14006ab90
test eax, eax
jne 0x140071bb7
test ebp, ebp
jne 0x140071bb7
cmp r13d, dword [rsp + 0x44]
ja 0x140071bb7
mov ecx, dword [rsp + 0x40]
jmp 0x140071c8f
test al, al
jne 0x140071c94
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.14006ab90
test eax, eax
jne 0x140071bb7
test ebx, ebx
jne 0x140071bb7
mov ecx, r14d
mov r9, qword [rsp + 0x48]
cmp byte [rsi + 0x2ed], 2
jne 0x140071ca6
movzx eax, word [rsi + 0x2ea]
jmp 0x140071cad
lea eax, [r15 + rcx]
add eax, r14d
mov dword [r9], eax
xor eax, eax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1400ab310
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14008bb10
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 0x14008bbf3
shr r8d, 3
xor eax, eax
test r8d, r8d
je 0x14008bd01
cmp r8d, 8
jb 0x14008bbce
lea ecx, [r8 - 1]
lea r11, [r10 + rcx*8]
lea rcx, [rdx + rcx*8]
cmp r10, rcx
ja 0x14008bb56
cmp r11, rdx
jae 0x14008bbce
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 0x14008bb62
cmp eax, r8d
jae 0x14008bd01
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 0x14008bbe0
pop rbx
ret
xor eax, eax
test r8d, r8d
je 0x14008bd01
cmp r8d, 8
jb 0x14008bce1
lea ecx, [r8 - 1]
lea r11, [rcx + r10]
add rcx, rdx
cmp r10, rcx
ja 0x14008bc21
cmp r11, r9
jae 0x14008bce1
cmp r8d, 0x40
jb 0x14008bcaf
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 0x14008bc42
mov rdi, qword [rsp + 0x10]
cmp r11d, 8
jb 0x14008bcdc
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 0x14008bcc0
cmp eax, r8d
jae 0x14008bd01
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 0x14008bcf0
pop rbx
ret
Function at 0x14008be30
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.14008bd10
cmp dword [rsp + 0x50], eax
jae 0x14008be73
lea eax, [r10 + 0x64]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp r9d, 0xf
ja case.0x14008be8f.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + r9*4 + 0x8bf68]
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.14008c540
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.14008c670
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.14008c710
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.14008c8d0
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.14008c7d0
mov r8, rbx
mov edx, edi
mov rcx, rsi
call fcn.14008c540
mov r10d, eax
test eax, eax
jne case.0x14008be8f.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.14008c670
mov r10d, 0xffffff53
mov rbx, qword [rsp + 0x30]
mov eax, r10d
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14008c540
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x1401310c0]
xor rax, rsp
mov qword [rbp + 0x37], rax
xor edi, edi
mov dword [rbp + 0x13], 0x67452301
mov rbx, r8
mov qword [rbp + 0x27], rdi
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], rdi
mov dword [rbp - 0x31], edi
call fcn.1400a0870
test eax, eax
jne 0x14008c64c
test rbx, rbx
je 0x14008c647
mov eax, dword [rbp - 0x39]
mov byte [rbp + rax - 0x2d], 0x80
mov ecx, dword [rbp - 0x39]
inc ecx
mov dword [rbp - 0x39], ecx
cmp ecx, 0x38
jbe 0x14008c5f1
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x2d]
add rcx, rax
call fcn.1400d7250
lea rdx, [rbp - 0x2d]
mov dword [rbp - 0x39], 0x40
lea rcx, [rbp - 0x39]
call fcn.1400a0080
mov ecx, edi
mov dword [rbp - 0x39], edi
mov eax, ecx
mov r8d, 0x38
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x2d]
add rcx, rax
call fcn.1400d7250
mov r9d, dword [rbp - 0x35]
mov edx, r9d
mov ecx, dword [rbp - 0x31]
shr edx, 0x1d
shl r9d, 3
mov dword [rbp - 0x35], r9d
mov dword [rbp + 0xb], r9d
lea r8d, [rdx + rcx*8]
lea rdx, [rbp - 0x2d]
mov dword [rbp - 0x31], r8d
lea rcx, [rbp - 0x39]
mov dword [rbp + 0xf], r8d
call fcn.1400a0080
movups xmm0, xmmword [rbp + 0x13]
mov eax, edi
movups xmmword [rbx], xmm0
jmp 0x14008c64c
mov eax, 0xffffff53
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1400ab310
add rsp, 0xa0
pop rdi
pop rbx
pop rbp
ret

Function at 0x14008c670
Capabilities:
Hash data using sha1

Disassembly:
push rbx
sub rsp, 0xa0
mov rax, qword [0x1401310c0]
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.140098290
test eax, eax
jne 0x14008c6ea
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140098730
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400ab310
add rsp, 0xa0
pop rbx
ret

Function at 0x14008c710
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xb0
mov rax, qword [0x1401310c0]
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 0x14008c78e
test edx, edx
je 0x14008c7a2
mov eax, 0xffffff53
jmp 0x14008c7af
mov r8d, edx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.14009c840
test eax, eax
jne 0x14008c7af
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14009d1e0
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400ab310
add rsp, 0xb0
pop rbx
ret
Function at 0x14008d200
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 0x14008d24a
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 0x14008d3a5
lea r13, [0x1401104a0]
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 0x14008d3a5
cmp dl, 0x2b
jb 0x14008d3d6
cmp r8b, 0x2b
jb 0x14008d3d6
cmp bpl, 0x2b
jb 0x14008d3d6
cmp r10b, 0x2b
jb 0x14008d3d6
cmp dl, 0x7a
ja 0x14008d3d6
cmp r8b, 0x7a
ja 0x14008d3d6
cmp bpl, 0x7a
ja 0x14008d3d6
cmp r10b, 0x7a
ja 0x14008d3d6
movzx r14d, byte [rdx + r13 - 0x2b]
movzx r11d, byte [r8 + r13 - 0x2b]
cmp bpl, 0x3d
jne 0x14008d2f9
xor r8b, r8b
jmp 0x14008d2ff
movzx r8d, byte [rbp + r13 - 0x2b]
cmp r10b, 0x3d
jne 0x14008d309
xor cl, cl
jmp 0x14008d30f
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 0x14008d345
shr r8b, 2
shl r11b, 4
or r8b, r11b
mov byte [rdi + r15], r8b
inc edi
cmp r10b, 0x3d
je 0x14008d3a5
mov byte [rdi + r15], r9b
inc edi
add ebx, 0xfffffffc
je 0x14008d39c
movzx edx, byte [rax + rsi]
cmp dl, 0x20
ja 0x14008d39c
movabs r8, 0x100002400
bt r8, rdx
jae 0x14008d39c
inc eax
add ebx, 0xffffffff
je 0x14008d386
cmp dl, 0x20
jne 0x14008d386
movzx edx, byte [rax + rsi]
inc eax
add ebx, 0xffffffff
jne 0x14008d376
cmp dl, 0xd
jne 0x14008d397
test ebx, ebx
je 0x14008d3d6
movzx edx, byte [rax + rsi]
inc eax
dec ebx
cmp dl, 0xa
jne 0x14008d3d6
cmp ebx, 3
ja 0x14008d270
test r15, r15
je 0x14008d3b5
cmp dword [r12], edi
jbe 0x14008d3b5
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 0x14008d3bb
Function at 0x14009b370
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 0x14009b554
sub edx, 1
je 0x14009b516
sub edx, 2
je 0x14009b4bf
sub edx, 1
je 0x14009b43f
cmp edx, 1
jne 0x14009b559
test rcx, rcx
je 0x14009b559
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 0x14009b559
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 0x14009b41b
test rcx, rcx
je 0x14009b559
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 0x14009b559
mov dword [rcx + 0x5c], 0xc3d2e1f0
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
test rcx, rcx
jne 0x14009b522
mov eax, 0xffffff53
mov qword [rcx + 0x220], r8
ret
Function at 0x14009d1e0
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 0x14009d326
test rdx, rdx
je 0x14009d326
call fcn.14009cce0
test eax, eax
jne 0x14009d32b
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 0x1400a50f0
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 [0x1401310c0]
xor rax, rsp
mov qword [rbp - 9], rax
mov r15, qword [rbp + 0x67]
mov ecx, 0x1b8
mov r12, qword [rbp + 0x77]
mov eax, ecx
rol ecx, 8
mov r14d, 0x37
ror eax, 8
mov rdi, rdx
xor ecx, eax
mov byte [rsp + 0x28], r9b
and ecx, 0xff00ff
mov byte [rsp + 0x20], 1
xor ecx, eax
lea r13d, [r14 - 0x35]
mov dword [rsp + 0x30], ecx
xor esi, esi
nop word [rax + rax]
mov r8d, 1
mov qword [rbp - 0x39], rsi
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], rsi
mov dword [rbp - 0x41], esi
call fcn.14009c840
mov ebx, eax
test eax, eax
jne 0x1400a5297
lea r8d, [rax + 4]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.14009c840
mov ebx, eax
test eax, eax
jne 0x1400a5297
cmp byte [rsp + 0x28], 4
je 0x1400a520b
lea r8d, [rax + 1]
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.14009c840
mov ebx, eax
test eax, eax
jne 0x1400a5297
test r15, r15
jne 0x1400a521c
cmp dword [rbp + 0x6f], esi
jbe 0x1400a5233
mov ebx, 0xffffff53
jmp 0x1400a5297
mov r8d, dword [rbp + 0x6f]
lea rcx, [rsp + 0x40]
mov rdx, r15
call fcn.14009c840
mov ebx, eax
test eax, eax
jne 0x1400a5297
test r12, r12
je 0x1400a5255
mov eax, dword [rbp + 0x7f]
test eax, eax
je 0x1400a5255
mov r8d, eax
lea rcx, [rsp + 0x40]
mov rdx, r12
call fcn.14009c840
mov ebx, eax
test eax, eax
jne 0x1400a5297
lea rdx, [rbp - 0x29]
lea rcx, [rsp + 0x40]
call fcn.14009d1e0
mov ebx, eax
test eax, eax
jne 0x1400a5297
cmp r14d, 0x20
jbe 0x1400a5288
movups xmm0, xmmword [rbp - 0x29]
add r14d, 0xffffffe0
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
add rdi, 0x20
jmp 0x1400a5297
mov r8d, r14d
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.1400d6bb0
inc byte [rsp + 0x20]
sub r13, 1
jne 0x1400a5160
mov ecx, 0x20
lea rdx, [rbp - 0x29]
nop
mov byte [rdx], sil
lea rdx, [rdx + 1]
add ecx, 0xffffffff
jne 0x1400a52b0
test ebx, ebx
setne sil
mov eax, esi
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1400ab310
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 0x1400a5410
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 [0x1401310c0]
xor rax, rsp
mov qword [rbp + 8], rax
movups xmm0, xmmword [r9]
mov eax, dword [r9 + 0x30]
test r8d, r8d
movups xmm1, xmmword [r9 + 0x10]
mov r14d, 0
mov dword [rbp], eax
movzx eax, word [r9 + 0x34]
mov rsi, rcx
mov ecx, r14d
mov word [rbp + 4], ax
movzx eax, byte [r9 + 0x36]
mov r15, rdx
mov edx, 1
mov byte [rbp + 6], al
mov edi, edx
mov r13d, r14d
cmovne edi, r8d
test dil, 0x1f
mov r12d, edi
movups xmmword [rbp - 0x30], xmm0
setne cl
shr r12d, 5
lea ebx, [rdx + 0x36]
movups xmm0, xmmword [r9 + 0x20]
movups xmmword [rbp - 0x20], xmm1
movups xmmword [rbp - 0x10], xmm0
add r12d, ecx
je 0x1400a55df
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.14009c840
mov edx, eax
test eax, eax
jne 0x1400a55d3
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x50]
call fcn.14009d1e0
mov dword [rsp + 0x20], eax
mov edx, eax
test eax, eax
jne 0x1400a55d3
cmp dword [rsi], 1
mov eax, dword [rsp + 0x28]
jbe 0x1400a554b
cmp eax, dword [rsi + 4]
jne 0x1400a554b
cmp byte [rsi + 0x76], 1
je 0x1400a5618
cmp r13d, r12d
jne 0x1400a5547
inc r12d
mov al, 1
jmp 0x1400a5550
mov dword [rsi + 4], eax
xor al, al
mov byte [rsi + 0x76], al
test r15, r15
je 0x1400a55d3
test edi, edi
je 0x1400a55d3
cmp edi, 0x20
jb 0x1400a55bc
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 dword [rax + rax]
add byte [rax + 2], 1
jne 0x1400a55cf
add byte [rax + 1], 1
jne 0x1400a55cf
add byte [rax], 1
jne 0x1400a55cf
add byte [rax - 1], 1
jne 0x1400a55cf
add byte [rax - 2], 1
jne 0x1400a55cf
sub rax, 5
lea rcx, [rdx + rax]
test rcx, rcx
jns 0x1400a5590
jmp 0x1400a55cf
mov r8d, edi
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.1400d6bb0
mov edi, r14d
mov edx, dword [rsp + 0x20]
inc r13d
cmp r13d, r12d
jl 0x1400a54a3
lea rcx, [rbp - 0x30]
mov byte [rcx], r14b
lea rcx, [rcx + 1]
add ebx, 0xffffffff
jne 0x1400a55e3
test edx, edx
setne r14b
mov eax, r14d
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.1400ab310
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, 3
jmp 0x1400a55f8