joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400b91b0
Capabilities:
Hash data using sha256

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov eax, dword [rcx + 0x60]
and eax, 0x3f
mov rbx, rcx
mov rsi, rdx
lea ecx, [rax + 1]
mov byte [rbx + rax], pe_nt_image_headers64
mov eax, ecx
cmp ecx, 0x38
jbe 0x1400b9290
mov r8d, 0x40
add rax, rbx
sub r8d, ecx
je 0x1400b91f2
xor edx, edx
mov ecx, edx
inc edx
mov byte [rax + rcx], 0
cmp edx, r8d
jb 0x1400b91e5
lea rdi, [rbx + 0x40]
mov rcx, rbx
mov rdx, rdi
call sym.sha2_round
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbx], ymm0
vmovdqu ymmword [rbx + 0x18], ymm0
vzeroupper
mov rax, qword [rbx + 0x60]
shl rax, 3
bswap rax
mov qword [rbx + 0x38], rax
mov rdx, rdi
mov rcx, rbx
call sym.sha2_round
mov eax, dword [rbx + 0x40]
bswap eax
mov dword [rsi], eax
mov eax, dword [rbx + 0x44]
bswap eax
mov dword [rsi + 4], eax
mov eax, dword [rbx + 0x48]
bswap eax
mov dword [rsi + 8], eax
mov eax, dword [rbx + 0x4c]
bswap eax
mov dword [rsi + 0xc], eax
mov eax, dword [rbx + 0x50]
bswap eax
mov dword [rsi + 0x10], eax
mov eax, dword [rbx + 0x54]
bswap eax
mov dword [rsi + 0x14], eax
mov eax, dword [rbx + 0x58]
bswap eax
mov dword [rsi + 0x18], eax
mov eax, dword [rbx + 0x5c]
bswap eax
vmovdqu ymm1, ymmword [0x1401e4a20]
mov dword [rsi + 0x1c], eax
mov qword [rbx + 0x60], 0
vmovdqu ymmword [rbx + 0x40], ymm1
vzeroupper
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov edx, 0x38
add rax, rbx
sub edx, ecx
cmp edx, 8
jae 0x1400b92d0
test dl, 4
jne 0x1400b9305
lea rdi, [rbx + 0x40]
test edx, edx
je 0x1400b9211
mov byte [rax], 0
test dl, 2
je 0x1400b9211
mov word [rax + rdx - 2], 0
jmp 0x1400b9211
lea rdi, [rax + 8]
mov ecx, edx
mov qword [rax], 0
and rdi, 0xfffffffffffffff8
mov qword [rax + rcx - 8], 0
sub rax, rdi
lea ecx, [rdx + rax]
xor eax, eax
mov edx, ecx
shr edx, 3
mov ecx, edx
rep stosq qword [rdi], rax
lea rdi, [rbx + 0x40]
jmp 0x1400b9211
mov dword [rax], 0
lea rdi, [rbx + 0x40]
mov dword [rax + rdx - 4], 0
jmp 0x1400b9211
Function at 0x1400b9320
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov eax, dword [rcx + 0x60]
mov rbx, rcx
mov ecx, pe_nt_image_headers64
mov r10d, edx
and eax, 0x3f
sarx ecx, ecx, r8d
mov ebp, r8d
lea r8d, [rax + 1]
mov rsi, r9
mov edx, ecx
neg edx
and edx, r10d
or edx, ecx
mov byte [rbx + rax], dl
mov eax, r8d
cmp r8d, 0x38
jbe 0x1400b9420
mov ecx, 0x40
add rax, rbx
sub ecx, r8d
je 0x1400b937e
xor edx, edx
mov r8d, edx
inc edx
mov byte [rax + r8], 0
cmp edx, ecx
jb 0x1400b9370
lea rdi, [rbx + 0x40]
mov rcx, rbx
mov rdx, rdi
call sym.sha2_round
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbx], ymm0
vmovdqu ymmword [rbx + 0x18], ymm0
vzeroupper
mov rax, qword [rbx + 0x60]
mov ebp, ebp
lea rax, [rbp + rax*8]
bswap rax
mov qword [rbx + 0x38], rax
mov rdx, rdi
mov rcx, rbx
call sym.sha2_round
mov eax, dword [rbx + 0x40]
bswap eax
mov dword [rsi], eax
mov eax, dword [rbx + 0x44]
bswap eax
mov dword [rsi + 4], eax
mov eax, dword [rbx + 0x48]
bswap eax
mov dword [rsi + 8], eax
mov eax, dword [rbx + 0x4c]
bswap eax
mov dword [rsi + 0xc], eax
mov eax, dword [rbx + 0x50]
bswap eax
mov dword [rsi + 0x10], eax
mov eax, dword [rbx + 0x54]
bswap eax
mov dword [rsi + 0x14], eax
mov eax, dword [rbx + 0x58]
bswap eax
mov dword [rsi + 0x18], eax
mov eax, dword [rbx + 0x5c]
bswap eax
vmovdqu ymm1, ymmword [0x1401e4a20]
mov dword [rsi + 0x1c], eax
mov qword [rbx + 0x60], 0
vmovdqu ymmword [rbx + 0x40], ymm1
vzeroupper
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov edx, 0x38
add rax, rbx
sub edx, r8d
cmp edx, 8
jae 0x1400b9460
test dl, 4
jne 0x1400b9491
lea rdi, [rbx + 0x40]
test edx, edx
je 0x1400b939d
mov byte [rax], 0
test dl, 2
je 0x1400b939d
mov word [rax + rdx - 2], 0
jmp 0x1400b939d
lea rdi, [rax + 8]
mov ecx, edx
mov qword [rax], 0
and rdi, 0xfffffffffffffff8
mov qword [rax + rcx - 8], 0
sub rax, rdi
lea ecx, [rdx + rax]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
lea rdi, [rbx + 0x40]
jmp 0x1400b939d
mov dword [rax], 0
lea rdi, [rbx + 0x40]
mov dword [rax + rdx - 4], 0
jmp 0x1400b939d
Function at 0x1400bc550
Capabilities:
Hash data using sha384

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov eax, dword [rcx + 0xc0]
and eax, 0x7f
mov rbx, rcx
mov rsi, rdx
lea ecx, [rax + 1]
mov byte [rbx + rax], pe_nt_image_headers64
mov eax, ecx
cmp ecx, 0x70
jbe 0x1400bc5e0
mov edx, pe_nt_image_headers64
add rax, rbx
sub edx, ecx
cmp edx, 4
jb 0x1400bc710
lea rdi, [rax + 4]
mov ecx, edx
mov dword [rax], 0
and rdi, 0xfffffffffffffffc
mov dword [rax + rcx - 4], 0
sub rax, rdi
lea ecx, [rdx + rax]
xor eax, eax
shr ecx, 2
rep stosd dword [rdi], eax
lea rdi, [rbx + 0x80]
mov rcx, rbx
mov rdx, rdi
call sym.sha3_round
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbx], ymm0
vmovdqu ymmword [rbx + 0x20], ymm0
vmovdqu ymmword [rbx + 0x40], ymm0
vmovdqu xmmword [rbx + 0x60], xmm0
jmp 0x1400bc622
mov edx, 0x70
add rax, rbx
sub edx, ecx
cmp edx, 8
jb 0x1400bc6e0
lea rdi, [rax + 8]
mov ecx, edx
mov qword [rax], 0
and rdi, 0xfffffffffffffff8
mov qword [rax + rcx - 8], 0
sub rax, rdi
lea ecx, [rdx + rax]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
lea rdi, [rbx + 0x80]
mov rax, qword [rbx + 0xc0]
mov rdx, rax
shr rdx, 0x3d
bswap rdx
mov qword [rbx + 0x70], rdx
shl rax, 3
bswap rax
mov qword [rbx + 0x78], rax
mov rdx, rdi
mov rcx, rbx
call sym.sha3_round
mov rax, qword [rbx + 0x80]
bswap rax
mov qword [rsi], rax
mov rax, qword [rbx + 0x88]
bswap rax
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x90]
bswap rax
mov qword [rsi + 0x10], rax
mov rax, qword [rbx + 0x98]
bswap rax
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0xa0]
bswap rax
mov qword [rsi + 0x20], rax
mov rax, qword [rbx + 0xa8]
bswap rax
vmovdqu ymm1, ymmword [0x1401e4cc0]
vmovdqu ymm2, ymmword [0x1401e4ce0]
mov qword [rsi + 0x28], rax
vmovdqu ymmword [rbx + 0x80], ymm1
vmovdqu ymmword [rdi + 0x20], ymm2
mov qword [rbx + 0xc0], 0
vzeroupper
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
test dl, 4
jne 0x1400bc730
lea rdi, [rbx + 0x80]
test edx, edx
je 0x1400bc622
mov byte [rax], 0
test dl, 2
je 0x1400bc622
mov word [rax + rdx - 2], 0
jmp 0x1400bc622
test edx, edx
je 0x1400bc5ac
mov byte [rax], 0
test dl, 2
je 0x1400bc5ac
mov word [rax + rdx - 2], 0
jmp 0x1400bc5ac
mov dword [rax], 0
lea rdi, [rbx + 0x80]
mov dword [rax + rdx - 4], 0
jmp 0x1400bc622
Function at 0x1400bc750
Capabilities:
Hash data using sha384

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov eax, dword [rcx + 0xc0]
mov r10d, edx
mov ebp, r8d
mov edx, pe_nt_image_headers64
mov rsi, r9
sarx r9d, edx, ebp
mov rbx, rcx
and eax, 0x7f
mov ecx, r9d
lea r8d, [rax + 1]
neg ecx
and ecx, r10d
or ecx, r9d
mov byte [rbx + rax], cl
mov eax, r8d
cmp r8d, 0x70
jbe 0x1400bc800
sub edx, r8d
add rax, rbx
cmp edx, 4
jb 0x1400bc930
lea rdi, [rax + 4]
mov ecx, edx
mov dword [rax], 0
and rdi, 0xfffffffffffffffc
mov dword [rax + rcx - 4], 0
sub rax, rdi
add edx, eax
xor eax, eax
shr edx, 2
mov ecx, edx
rep stosd dword [rdi], eax
lea rdi, [rbx + 0x80]
mov rcx, rbx
mov rdx, rdi
call sym.sha3_round
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbx], ymm0
vmovdqu ymmword [rbx + 0x20], ymm0
vmovdqu ymmword [rbx + 0x40], ymm0
vmovdqu xmmword [rbx + 0x60], xmm0
jmp 0x1400bc847
mov edx, 0x70
add rax, rbx
sub edx, r8d
cmp edx, 8
jb 0x1400bc900
lea rdi, [rax + 8]
mov ecx, edx
mov qword [rax], 0
and rdi, 0xfffffffffffffff8
mov qword [rax + rcx - 8], 0
sub rax, rdi
lea ecx, [rdx + rax]
xor eax, eax
mov edx, ecx
shr edx, 3
mov ecx, edx
rep stosq qword [rdi], rax
lea rdi, [rbx + 0x80]
mov rdx, qword [rbx + 0xc0]
mov rax, rdx
shr rax, 0x3d
bswap rax
mov qword [rbx + 0x70], rax
lea rax, [rbp + rdx*8]
bswap rax
mov qword [rbx + 0x78], rax
mov rdx, rdi
mov rcx, rbx
call sym.sha3_round
mov rax, qword [rbx + 0x80]
bswap rax
mov qword [rsi], rax
mov rax, qword [rbx + 0x88]
bswap rax
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x90]
bswap rax
mov qword [rsi + 0x10], rax
mov rax, qword [rbx + 0x98]
bswap rax
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0xa0]
bswap rax
mov qword [rsi + 0x20], rax
mov rax, qword [rbx + 0xa8]
bswap rax
vmovdqu ymm1, ymmword [0x1401e4cc0]
vmovdqu ymm2, ymmword [0x1401e4ce0]
mov qword [rsi + 0x28], rax
vmovdqu ymmword [rbx + 0x80], ymm1
vmovdqu ymmword [rdi + 0x20], ymm2
mov qword [rbx + 0xc0], 0
vzeroupper
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
test dl, 4
jne 0x1400bc950
lea rdi, [rbx + 0x80]
test edx, edx
je 0x1400bc847
mov byte [rax], 0
test dl, 2
je 0x1400bc847
mov word [rax + rdx - 2], 0
jmp 0x1400bc847
test edx, edx
je 0x1400bc7c7
mov byte [rax], 0
test dl, 2
je 0x1400bc7c7
mov word [rax + rdx - 2], 0
jmp 0x1400bc7c7
mov dword [rax], 0
lea rdi, [rbx + 0x80]
mov dword [rax + rdx - 4], 0
jmp 0x1400bc847
Function at 0x1400bc970
Capabilities:
Hash data using sha512

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov eax, dword [rcx + 0xc0]
and eax, 0x7f
mov rbx, rcx
mov rsi, rdx
lea ecx, [rax + 1]
mov byte [rbx + rax], pe_nt_image_headers64
mov eax, ecx
cmp ecx, 0x70
jbe 0x1400bca00
mov edx, pe_nt_image_headers64
add rax, rbx
sub edx, ecx
cmp edx, 4
jb 0x1400bcb40
lea rdi, [rax + 4]
mov ecx, edx
mov dword [rax], 0
and rdi, 0xfffffffffffffffc
mov dword [rax + rcx - 4], 0
sub rax, rdi
lea ecx, [rdx + rax]
xor eax, eax
shr ecx, 2
rep stosd dword [rdi], eax
lea rdi, [rbx + 0x80]
mov rcx, rbx
mov rdx, rdi
call sym.sha3_round
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbx], ymm0
vmovdqu ymmword [rbx + 0x20], ymm0
vmovdqu ymmword [rbx + 0x40], ymm0
vmovdqu xmmword [rbx + 0x60], xmm0
jmp 0x1400bca42
mov edx, 0x70
add rax, rbx
sub edx, ecx
cmp edx, 8
jb 0x1400bcb10
lea rdi, [rax + 8]
mov ecx, edx
mov qword [rax], 0
and rdi, 0xfffffffffffffff8
mov qword [rax + rcx - 8], 0
sub rax, rdi
lea ecx, [rdx + rax]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
lea rdi, [rbx + 0x80]
mov rax, qword [rbx + 0xc0]
mov rdx, rax
shr rdx, 0x3d
bswap rdx
mov qword [rbx + 0x70], rdx
shl rax, 3
bswap rax
mov qword [rbx + 0x78], rax
mov rdx, rdi
mov rcx, rbx
call sym.sha3_round
mov rax, qword [rbx + 0x80]
bswap rax
mov qword [rsi], rax
mov rax, qword [rbx + 0x88]
bswap rax
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x90]
bswap rax
mov qword [rsi + 0x10], rax
mov rax, qword [rbx + 0x98]
bswap rax
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0xa0]
bswap rax
mov qword [rsi + 0x20], rax
mov rax, qword [rbx + 0xa8]
bswap rax
mov qword [rsi + 0x28], rax
mov rax, qword [rbx + 0xb0]
bswap rax
mov qword [rsi + 0x30], rax
mov rax, qword [rbx + 0xb8]
bswap rax
vmovdqu ymm1, ymmword [0x1401e4d00]
vmovdqu ymm2, ymmword [0x1401e4d20]
mov qword [rsi + 0x38], rax
vmovdqu ymmword [rbx + 0x80], ymm1
vmovdqu ymmword [rdi + 0x20], ymm2
mov qword [rbx + 0xc0], 0
vzeroupper
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
test dl, 4
jne 0x1400bcb60
lea rdi, [rbx + 0x80]
test edx, edx
je 0x1400bca42
mov byte [rax], 0
test dl, 2
je 0x1400bca42
mov word [rax + rdx - 2], 0
jmp 0x1400bca42
test edx, edx
je 0x1400bc9cc
mov byte [rax], 0
test dl, 2
je 0x1400bc9cc
mov word [rax + rdx - 2], 0
jmp 0x1400bc9cc
mov dword [rax], 0
lea rdi, [rbx + 0x80]
mov dword [rax + rdx - 4], 0
jmp 0x1400bca42
Function at 0x1400bcb80
Capabilities:
Hash data using sha512

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov eax, dword [rcx + 0xc0]
mov r10d, edx
mov ebp, r8d
mov edx, pe_nt_image_headers64
mov rsi, r9
sarx r9d, edx, ebp
mov rbx, rcx
and eax, 0x7f
mov ecx, r9d
lea r8d, [rax + 1]
neg ecx
and ecx, r10d
or ecx, r9d
mov byte [rbx + rax], cl
mov eax, r8d
cmp r8d, 0x70
jbe 0x1400bcc30
sub edx, r8d
add rax, rbx
cmp edx, 4
jb 0x1400bcd80
lea rdi, [rax + 4]
mov ecx, edx
mov dword [rax], 0
and rdi, 0xfffffffffffffffc
mov dword [rax + rcx - 4], 0
sub rax, rdi
add edx, eax
xor eax, eax
shr edx, 2
mov ecx, edx
rep stosd dword [rdi], eax
lea rdi, [rbx + 0x80]
mov rcx, rbx
mov rdx, rdi
call sym.sha3_round
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbx], ymm0
vmovdqu ymmword [rbx + 0x20], ymm0
vmovdqu ymmword [rbx + 0x40], ymm0
vmovdqu xmmword [rbx + 0x60], xmm0
jmp 0x1400bcc77
mov edx, 0x70
add rax, rbx
sub edx, r8d
cmp edx, 8
jb 0x1400bcd50
lea rdi, [rax + 8]
mov ecx, edx
mov qword [rax], 0
and rdi, 0xfffffffffffffff8
mov qword [rax + rcx - 8], 0
sub rax, rdi
lea ecx, [rdx + rax]
xor eax, eax
mov edx, ecx
shr edx, 3
mov ecx, edx
rep stosq qword [rdi], rax
lea rdi, [rbx + 0x80]
mov rdx, qword [rbx + 0xc0]
mov rax, rdx
shr rax, 0x3d
bswap rax
mov qword [rbx + 0x70], rax
lea rax, [rbp + rdx*8]
bswap rax
mov qword [rbx + 0x78], rax
mov rdx, rdi
mov rcx, rbx
call sym.sha3_round
mov rax, qword [rbx + 0x80]
bswap rax
mov qword [rsi], rax
mov rax, qword [rbx + 0x88]
bswap rax
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x90]
bswap rax
mov qword [rsi + 0x10], rax
mov rax, qword [rbx + 0x98]
bswap rax
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0xa0]
bswap rax
mov qword [rsi + 0x20], rax
mov rax, qword [rbx + 0xa8]
bswap rax
mov qword [rsi + 0x28], rax
mov rax, qword [rbx + 0xb0]
bswap rax
mov qword [rsi + 0x30], rax
mov rax, qword [rbx + 0xb8]
bswap rax
vmovdqu ymm1, ymmword [0x1401e4d00]
vmovdqu ymm2, ymmword [0x1401e4d20]
mov qword [rsi + 0x38], rax
vmovdqu ymmword [rbx + 0x80], ymm1
vmovdqu ymmword [rdi + 0x20], ymm2
mov qword [rbx + 0xc0], 0
vzeroupper
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
test dl, 4
jne 0x1400bcda0
lea rdi, [rbx + 0x80]
test edx, edx
je 0x1400bcc77
mov byte [rax], 0
test dl, 2
je 0x1400bcc77
mov word [rax + rdx - 2], 0
jmp 0x1400bcc77
test edx, edx
je 0x1400bcbf7
mov byte [rax], 0
test dl, 2
je 0x1400bcbf7
mov word [rax + rdx - 2], 0
jmp 0x1400bcbf7
mov dword [rax], 0
lea rdi, [rbx + 0x80]
mov dword [rax + rdx - 4], 0
jmp 0x1400bcc77
Function at 0x1400c6570
Capabilities:
Hash data using sha256

Disassembly:
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rcx + 0x80], ymm0
vmovdqu ymmword [rcx + 0x20], ymm0
vmovdqu ymmword [rcx + 0x40], ymm0
lea r8, [rdx + 4]
vmovdqu ymmword [rcx + 0x60], ymm0
vmovdqu ymmword [rcx + 0x99], ymm0
mov rax, rcx
vmovdqu ymm0, ymmword [0x1401f7420]
vmovdqu ymmword [rcx], ymm0
sub rcx, r8
cmp rcx, 0x18
jbe 0x1400c65c0
vpxor ymm0, ymm0, ymmword [rdx]
vmovdqu ymmword [rax], ymm0
xor eax, eax
vzeroupper
ret
mov ecx, dword [rdx]
xor ecx, 0x6a09e667
mov dword [rax], ecx
mov ecx, dword [rdx + 4]
xor ecx, 0xbb67ae85
mov dword [rax + 4], ecx
mov ecx, dword [rdx + 8]
xor ecx, 0x3c6ef372
mov dword [rax + 8], ecx
mov ecx, dword [rdx + 0xc]
xor ecx, 0xa54ff53a
mov dword [rax + 0xc], ecx
mov ecx, dword [rdx + 0x10]
xor ecx, 0x510e527f
mov dword [rax + 0x10], ecx
mov ecx, dword [rdx + 0x14]
xor ecx, 0x9b05688c
mov dword [rax + 0x14], ecx
mov ecx, dword [rdx + 0x18]
xor ecx, 0x1f83d9ab
mov dword [rax + 0x18], ecx
mov edx, dword [rdx + 0x1c]
xor edx, 0x5be0cd19
mov dword [rax + 0x1c], edx
xor eax, eax
vzeroupper
ret

Function at 0x1400c6630
Capabilities:
Hash data using sha256

Disassembly:
sub rsp, 0x28
lea eax, [rdx - 1]
cmp al, 0x1f
ja 0x1400c66ab
vpxor xmm0, xmm0, xmm0
mov byte [rsp], dl
mov byte [rsp + 1], 0
mov word [rsp + 2], 0x101
vmovdqu ymmword [rcx + 0x80], ymm0
vmovdqu ymmword [rcx + 0x20], ymm0
vmovdqu ymmword [rcx + 0x40], ymm0
xor eax, eax
vmovdqu ymmword [rcx + 0x60], ymm0
vmovdqu ymmword [rcx + 0x99], ymm0
mov dword [rsp + 4], 0
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0
vmovdqu ymm0, ymmword [0x1401f7420]
vpxor ymm0, ymm0, ymmword [rsp]
vmovdqu ymmword [rcx], ymm0
vzeroupper
add rsp, 0x28
ret
mov eax, 0xffffffff
jmp 0x1400c66a6
Function at 0x1400c7c50
Capabilities:
Hash data using sha256

Disassembly:
push rbx
add rsp, 0xffffffffffffff80
movzx ebx, dl
mov eax, r9d
dec edx
mov bh, al
cmp dl, 0x1f
ja 0x1400c7dc7
lea edx, [r9 - 1]
cmp dl, 0x1f
ja 0x1400c7dc7
test r8, r8
je 0x1400c7dc7
vmovdqu ymm1, ymmword [0x1401f7420]
mov word [rsp + 0x20], bx
mov word [rsp + 0x22], 0x101
mov dword [rsp + 0x24], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
vpxor xmm0, xmm0, xmm0
lea rbx, [rsp + 0x40]
movzx r9d, r9b
vmovdqu ymmword [rcx + 0x80], ymm0
vmovdqu ymmword [rcx + 0x20], ymm0
vmovdqu ymmword [rcx + 0x40], ymm0
vmovdqu ymmword [rcx + 0x60], ymm0
vmovdqu ymmword [rcx + 0x99], ymm0
mov r10, rbx
vmovdqu ymmword [rsp + 0x40], ymm0
vmovdqu ymmword [rsp + 0x60], ymm0
mov rax, r8
vpxor ymm1, ymm1, ymmword [rsp + 0x20]
vmovdqu ymmword [rcx], ymm1
cmp r9d, 8
jae 0x1400c7da0
xor edx, edx
test r9b, 4
jne 0x1400c7d80
test r9b, 2
jne 0x1400c7d60
and r9d, 1
jne 0x1400c7d50
mov r8d, 0x40
mov rdx, rbx
vzeroupper
call sym.blake2s_update
mov rax, rbx
nop
mov rdx, rax
lea rcx, [rsp + 0x80]
inc rax
mov byte [rdx], 0
cmp rax, rcx
jne 0x1400c7d30
xor eax, eax
sub rsp, 0xffffffffffffff80
pop rbx
ret
movzx eax, byte [rax + rdx]
mov byte [r10 + rdx], al
jmp 0x1400c7d1b
movzx r8d, word [rax + rdx]
mov word [r10 + rdx], r8w
add rdx, 2
and r9d, 1
je 0x1400c7d1b
jmp 0x1400c7d50
mov edx, dword [rax]
mov dword [r10], edx
mov edx, 4
test r9b, 2
je 0x1400c7d15
jmp 0x1400c7d60
mov r11d, r9d
xor eax, eax
and r11d, 0xfffffff8
mov edx, eax
add eax, 8
mov r10, qword [r8 + rdx]
mov qword [rbx + rdx], r10
cmp eax, r11d
jb 0x1400c7da9
lea r10, [rbx + rax]
add rax, r8
jmp 0x1400c7d07
mov eax, 0xffffffff
jmp 0x1400c7d48
Function at 0x1400c90a0
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rdx, qword [rcx]
mov eax, 2
shrx rax, qword [rdx], rax
mov qword [rdx + 0x28], rax
mov rdx, qword [rcx]
mov rsi, rcx
mov rax, qword [rdx + 0x28]
add rax, 7
mov qword [rdx + 0x20], rax
mov rdx, qword [rcx]
mov eax, 4
shlx rax, qword [rdx + 0x20], rax
mov qword [rdx + 0x10], rax
mov rbx, qword [rcx]
mov edx, 1
mov rcx, qword [rbx + 0x10]
call sym.calloc
mov qword [rbx + 0x18], rax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rax + 8]
mov r8, qword [rax]
call sym.memcpy
mov rax, qword [rsi]
mov rdi, qword [rax + 0x20]
mov rcx, qword [rax + 0x28]
lea rdx, [rdi*4]
cmp rcx, rdx
jae 0x1400c92a0
lea r8, [rcx*4 - 4]
mov r10, rcx
lea rbp, [0x1401f7c00]
lea r12, [0x1401f7d00]
jmp 0x1400c91f2
mov r13d, ebx
mov r14d, ebx
movzx eax, bh
shr r13d, 0x10
shr r14d, 0x18
mov r11d, eax
mov r15d, r13d
mov eax, r14d
cmp rdx, 4
jne 0x1400c917a
cmp r10, 6
ja 0x1400c92c0
mov rdx, rcx
mov rbx, rcx
sub rdx, r10
xor r9b, byte [rdi + rdx*4]
mov byte [rdi + rcx*4], r9b
mov r9, qword [rsi]
mov rdi, rcx
sub rdi, qword [r9 + 0x28]
mov rdx, qword [r9 + 0x18]
xor r11b, byte [rdx + rdi*4 + 1]
mov rdi, rcx
inc rcx
mov byte [rdx + r8 + 5], r11b
mov r9, qword [rsi]
sub rbx, qword [r9 + 0x28]
mov rdx, qword [r9 + 0x18]
xor r15b, byte [rdx + rbx*4 + 2]
mov byte [rdx + r8 + 6], r15b
mov r9, qword [rsi]
sub rdi, qword [r9 + 0x28]
mov rdx, qword [r9 + 0x18]
xor al, byte [rdx + rdi*4 + 3]
mov byte [rdx + r8 + 7], al
mov rax, qword [rsi]
add r8, 4
mov rbx, qword [rax + 0x20]
lea rdx, [rbx*4]
cmp rcx, rdx
jae 0x1400c92a0
mov r10, qword [rax + 0x28]
mov rdi, qword [rax + 0x18]
xor edx, edx
mov rax, rcx
div r10
mov ebx, dword [rdi + r8]
mov dword [rsp + 0x28], ebx
mov r9d, ebx
mov r13, rax
test rdx, rdx
jne 0x1400c9150
movzx eax, word [rsp + 0x29]
mov byte [rsp + 0x2f], bl
mov word [rsp + 0x2c], ax
movzx eax, byte [rsp + 0x2b]
mov byte [rsp + 0x2e], al
mov edx, dword [rsp + 0x2c]
movzx eax, dh
mov r9d, eax
movzx eax, dh
and eax, 0xf0
and r9d, 0xf
add rax, rbp
movzx r11d, byte [rax + r9]
mov eax, edx
shr eax, 0x10
mov r9d, eax
and eax, 0xf0
and r9d, 0xf
add rax, rbp
movzx r15d, byte [rax + r9]
mov eax, edx
shr eax, 0x18
mov r9d, eax
and eax, 0xf0
and r9d, 0xf
add rax, rbp
movzx eax, byte [rax + r9]
mov r9d, edx
and edx, 0xf0
and r9d, 0xf
add rdx, rbp
movzx r9d, byte [rdx + r9]
xor r9b, byte [r12 + r13 - 1]
jmp 0x1400c917a
xor eax, eax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [0x1401f7c00]
mov r9d, ebx
and ebx, 0xf0
lea rax, [rdx + rbx]
and r9d, 0xf
mov rbx, r11
and r11d, 0xf0
and ebx, 0xf
movzx r9d, byte [rax + r9]
lea rax, [rdx + r11]
movzx r11d, byte [rax + rbx]
mov ebx, r13d
and r13d, 0xf0
lea rax, [rdx + r13]
and ebx, 0xf
movzx r15d, byte [rax + rbx]
mov eax, r14d
and r14d, 0xf0
and eax, 0xf
add rdx, r14
movzx eax, byte [rdx + rax]
jmp 0x1400c917a
Function at 0x1400cc2d0
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
test rcx, rcx
je 0x1400cc2df
test rdx, rdx
je 0x1400cc2e5
jmp sym.oaes_encryption_round.part.0
mov eax, 2
ret
mov eax, 3
ret

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

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x180
vpxor xmm0, xmm0, xmm0
mov rbx, rcx
mov esi, edx
mov rbp, r8
vmovdqu ymmword [rsp + 0xb0], ymm0
vmovdqu ymmword [rsp + 0xd0], ymm0
vmovdqu ymmword [rsp + 0xf0], ymm0
vmovdqu ymmword [rsp + 0x110], ymm0
lea rdi, [rsp + 0xb0]
vmovdqu ymmword [rsp + 0x130], ymm0
vmovdqu ymmword [rsp + 0x150], ymm0
mov qword [rsp + 0x170], 0
cmp edx, 0x87
jle 0x1400ccb8c
nop
vmovdqu ymm1, ymmword [rsp + 0xb0]
vmovdqu ymm2, ymmword [rsp + 0xd0]
mov rcx, rdi
sub esi, 0x88
vpxor ymm0, ymm1, ymmword [rbx]
vmovdqu ymm3, ymmword [rsp + 0xf0]
add rbx, 0x88
vmovdqu ymm4, ymmword [rsp + 0x110]
mov rax, qword [rbx - 8]
xor qword [rsp + 0x130], rax
vmovdqu ymmword [rsp + 0xb0], ymm0
vpxor ymm0, ymm2, ymmword [rbx - 0x68]
vmovdqu ymmword [rsp + 0xd0], ymm0
vpxor ymm0, ymm3, ymmword [rbx - 0x48]
vmovdqu ymmword [rsp + 0xf0], ymm0
vpxor ymm0, ymm4, ymmword [rbx - 0x28]
vmovdqu ymmword [rsp + 0x110], ymm0
call sym.keccakf.constprop.0
cmp esi, 0x87
jg 0x1400cc9d0
movsxd r12, esi
lea rcx, [rsp + 0x20]
mov rdx, rbx
mov r8, r12
inc esi
call sym.memcpy
mov r8d, 0x88
xor edx, edx
mov byte [rsp + r12 + 0x20], 1
sub r8d, esi
mov rcx, rax
movsxd rsi, esi
add rcx, rsi
movsxd r8, r8d
call sym.memset
vmovdqu ymm5, ymmword [rsp + 0xb0]
mov rcx, rdi
vpxor ymm0, ymm5, ymmword [rsp + 0x20]
vmovdqu ymm5, ymmword [rsp + 0xd0]
or byte [rsp + 0xa7], 0x80
mov rax, qword [rsp + 0xa0]
xor qword [rsp + 0x130], rax
vmovdqu ymmword [rsp + 0xb0], ymm0
vpxor ymm0, ymm5, ymmword [rsp + 0x40]
vmovdqu ymm5, ymmword [rsp + 0xf0]
vmovdqu ymmword [rsp + 0xd0], ymm0
vpxor ymm0, ymm5, ymmword [rsp + 0x60]
vmovdqu ymm5, ymmword [rsp + 0x80]
vmovdqu ymmword [rsp + 0xf0], ymm0
vpxor ymm0, ymm5, ymmword [rsp + 0x110]
vmovdqu ymmword [rsp + 0x110], ymm0
call sym.keccakf.constprop.0
vmovdqu ymm5, ymmword [rsp + 0xb0]
vmovdqu ymm1, ymmword [rsp + 0x150]
mov rax, qword [rsp + 0x170]
mov qword [rbp + 0xc0], rax
vmovdqu ymmword [rbp], ymm5
vmovdqu ymm5, ymmword [rsp + 0xd0]
vmovdqu ymmword [rbp + 0xa0], ymm1
vmovdqu ymmword [rbp + 0x20], ymm5
vmovdqu ymm5, ymmword [rsp + 0xf0]
vmovdqu ymmword [rbp + 0x40], ymm5
vmovdqu ymm5, ymmword [rsp + 0x110]
vmovdqu ymmword [rbp + 0x60], ymm5
vmovdqu ymm5, ymmword [rsp + 0x130]
vmovdqu ymmword [rbp + 0x80], ymm5
vzeroupper
add rsp, 0x180
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
vzeroupper
jmp 0x1400cca58
Function at 0x1400dc030
Capabilities:
Encode data using xor

Disassembly:
mov rax, rcx
mov rcx, rdx
mov edx, r8d
mov r8, rax
jmp sym.keccak1600