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

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x140250100]
xor rax, rsp
mov qword [rbp + 0x28], rax
xor eax, eax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
je 0x14010373a
mov qword [rsp + 0x130], r15
mov r15d, 0x2000
test word [rcx + 0x414], r15w
je 0x1401035c4
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], 0x30
lea rdx, [rsp + 0x68]
call fcn.1400fd6e0
test eax, eax
jne 0x1401035c4
mov r8d, 4
lea rdx, str.CLNT
mov rcx, rsi
call fcn.140153710
test eax, eax
lea rcx, str.server_finished
lea r9, str.client_finished
cmovne r9, rcx
cmp byte [rbx + 0x2e0], 3
jne 0x140103570
cmp byte [rbx + 0x2e1], 3
jb 0x140103570
mov edx, 1
jmp 0x140103572
xor edx, edx
mov rax, qword [rbx + 0x48]
movzx ecx, byte [rbx + 0x2ee]
mov r8, qword [rbx + 0x10]
mov qword [rsp + 0x50], rax
add r8, 0x7d
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x48], ecx
mov rcx, rdi
mov dword [rsp + 0x40], edx
mov edx, recv
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], recv
mov qword [rsp + 0x20], r9
mov r9d, 0x30
call fcn.140122770
test word [rbx + 0x414], r15w
mov r15, qword [rsp + 0x130]
jne 0x14010373f
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.140102f70
test eax, eax
jne 0x14010373f
mov rax, qword [rbx + 0x18]
add rax, 0x168
je 0x14010373a
movups xmm0, xmmword [rax]
mov r8d, 4
lea rcx, [rbp - 0x60]
mov rdx, rsi
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rbp - 0x10], xmm1
movsd xmm0, qword [rax + 0x60]
movsd qword [rbp], xmm0
call fcn.14012d8e0
test eax, eax
jne 0x14010373f
mov rdx, qword [rbx + 0x10]
lea rcx, [rbp - 0x60]
add rdx, 0x7d
mov r8d, 0x30
call fcn.14012d8e0
test eax, eax
jne 0x14010373f
mov r8d, 0x28
lea rdx, str.666666666666666666666666666666666666666666666666U
lea rcx, [rbp - 0x60]
call fcn.14012d8e0
test eax, eax
jne 0x14010373f
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x60]
call fcn.14012dd80
test eax, eax
jne 0x14010373f
mov rdx, qword [rbx + 0x10]
lea rcx, [rbp - 0x60]
mov rax, qword [rbx + 0x48]
add rdx, 0x7d
mov r8d, 0x30
mov qword [rbp], rax
mov dword [rbp - 0x14], 0x67452301
mov dword [rbp - 0x10], 0xefcdab89
mov dword [rbp - 0xc], 0x98badcfe
mov dword [rbp - 8], 0x10325476
mov dword [rbp - 4], 0xc3d2e1f0
mov qword [rbp - 0x60], 0
mov dword [rbp - 0x58], 0
call fcn.14012d8e0
test eax, eax
jne 0x14010373f
mov r8d, 0x28
lea rdx, str.CLNTDOGNGRD
lea rcx, [rbp - 0x60]
call fcn.14012d8e0
test eax, eax
jne 0x14010373f
mov r8d, 0x14
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x60]
call fcn.14012d8e0
test eax, eax
jne 0x14010373f
lea rdx, [rdi + 0x10]
lea rcx, [rbp - 0x60]
call fcn.14012dd80
jmp 0x14010373f
mov eax, 0xffffff53
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140140e90
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x140106e70
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 [0x140250100]
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 0x140107064
movzx r9d, word [rsi + 0x414]
bt r9w, 0xe
jae 0x140106eed
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 0x140106ff1
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 0x140106f73
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 0x140106f50
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.140106930
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 0x14010705e
mov eax, 0xfffffecf
jmp 0x1401070e2
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.1401000f0
test eax, eax
jne 0x140106fe7
test ebp, ebp
jne 0x140106fe7
cmp r13d, dword [rsp + 0x44]
ja 0x140106fe7
mov ecx, dword [rsp + 0x40]
jmp 0x1401070bf
test al, al
jne 0x1401070c4
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.1401000f0
test eax, eax
jne 0x140106fe7
test ebx, ebx
jne 0x140106fe7
mov ecx, r14d
mov r9, qword [rsp + 0x48]
cmp byte [rsi + 0x2ed], 2
jne 0x1401070d6
movzx eax, word [rsi + 0x2ea]
jmp 0x1401070dd
lea eax, [r15 + rcx]
add eax, r14d
mov dword [r9], eax
xor eax, eax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140140e90
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1401211e0
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 0x1401212c3
shr r8d, 3
xor eax, eax
test r8d, r8d
je 0x1401213d1
cmp r8d, 8
jb 0x14012129e
lea ecx, [r8 - 1]
lea r11, [r10 + rcx*8]
lea rcx, [rdx + rcx*8]
cmp r10, rcx
ja 0x140121226
cmp r11, rdx
jae 0x14012129e
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 0x140121232
cmp eax, r8d
jae 0x1401213d1
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 0x1401212b0
pop rbx
ret
xor eax, eax
test r8d, r8d
je 0x1401213d1
cmp r8d, 8
jb 0x1401213b1
lea ecx, [r8 - 1]
lea r11, [rcx + r10]
add rcx, rdx
cmp r10, rcx
ja 0x1401212f1
cmp r11, r9
jae 0x1401213b1
cmp r8d, 0x40
jb 0x14012137f
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 0x140121312
mov rdi, qword [rsp + 0x10]
cmp r11d, 8
jb 0x1401213ac
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 0x140121390
cmp eax, r8d
jae 0x1401213d1
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 0x1401213c0
pop rbx
ret
Function at 0x140121500
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.1401213e0
cmp dword [rsp + 0x50], eax
jae 0x140121544
mov eax, 0xffffff7c
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp r9d, 0xf
ja case.0x140121560.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + r9*4 + 0x121638]
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.140121c10
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.140121d30
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.140121dd0
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.140121f90
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.140121e90
mov r8, rbx
mov edx, edi
mov rcx, rsi
call fcn.140121c10
mov r10d, eax
test eax, eax
jne case.0x140121560.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.140121d30
mov r10d, 0xffffff53
mov rbx, qword [rsp + 0x30]
mov eax, r10d
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140121c10
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x140250100]
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.140135f70
test eax, eax
jne 0x140121d19
test rdi, rdi
je 0x140121d12
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 0x140121cc1
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x2d]
add rcx, rax
call fcn.14016cbb0
lea rdx, [rbp - 0x2d]
mov dword [rbp - 0x39], 0x40
lea rcx, [rbp - 0x39]
call fcn.140135780
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.14016cbb0
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.140135780
movups xmm0, xmmword [rbp + 0x13]
movups xmmword [rdi], xmm0
jmp 0x140121d17
mov ebx, 0xffffff53
mov eax, ebx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140140e90
add rsp, 0xa0
pop rdi
pop rbx
pop rbp
ret

Function at 0x140121d30
Capabilities:
Hash data using sha1

Disassembly:
push rbx
sub rsp, 0xa0
mov rax, qword [0x140250100]
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.14012d8e0
test eax, eax
jne 0x140121daa
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14012dd80
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140140e90
add rsp, 0xa0
pop rbx
ret

Function at 0x140121dd0
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xb0
mov rax, qword [0x140250100]
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 0x140121e4e
test edx, edx
je 0x140121e62
mov eax, 0xffffff53
jmp 0x140121e6f
mov r8d, edx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.140131ec0
test eax, eax
jne 0x140121e6f
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140132860
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140140e90
add rsp, 0xb0
pop rbx
ret
Function at 0x1401228c0
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 0x14012290a
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 0x140122a65
lea r13, [0x140232a20]
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 0x140122a65
cmp dl, 0x2b
jb 0x140122a96
cmp r8b, 0x2b
jb 0x140122a96
cmp bpl, 0x2b
jb 0x140122a96
cmp r10b, 0x2b
jb 0x140122a96
cmp dl, 0x7a
ja 0x140122a96
cmp r8b, 0x7a
ja 0x140122a96
cmp bpl, 0x7a
ja 0x140122a96
cmp r10b, 0x7a
ja 0x140122a96
movzx r14d, byte [rdx + r13 - 0x2b]
movzx r11d, byte [r8 + r13 - 0x2b]
cmp bpl, 0x3d
jne 0x1401229b9
xor r8b, r8b
jmp 0x1401229bf
movzx r8d, byte [rbp + r13 - 0x2b]
cmp r10b, 0x3d
jne 0x1401229c9
xor cl, cl
jmp 0x1401229cf
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 0x140122a05
shr r8b, 2
shl r11b, 4
or r8b, r11b
mov byte [rdi + r15], r8b
inc edi
cmp r10b, 0x3d
je 0x140122a65
mov byte [rdi + r15], r9b
inc edi
add ebx, 0xfffffffc
je 0x140122a5c
movzx edx, byte [rax + rsi]
cmp dl, 0x20
ja 0x140122a5c
movabs r8, 0x100002400
bt r8, rdx
jae 0x140122a5c
inc eax
add ebx, 0xffffffff
je 0x140122a46
cmp dl, 0x20
jne 0x140122a46
movzx edx, byte [rax + rsi]
inc eax
add ebx, 0xffffffff
jne 0x140122a36
cmp dl, 0xd
jne 0x140122a57
test ebx, ebx
je 0x140122a96
movzx edx, byte [rax + rsi]
inc eax
dec ebx
cmp dl, 0xa
jne 0x140122a96
cmp ebx, 3
ja 0x140122930
test r15, r15
je 0x140122a75
cmp dword [r12], edi
jbe 0x140122a75
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 0x140122a7b
Function at 0x1401309f0
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 0x140130bad
sub edx, 1
je 0x140130b9b
sub edx, 2
je 0x140130b44
sub edx, 1
je 0x140130ac4
cmp edx, 1
je 0x140130a29
mov eax, 0xffffff53
mov qword [rcx + 0x220], r8
ret
test rcx, rcx
je 0x140130a1c
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 0x140130a1c
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 0x140130aa0
test rcx, rcx
je 0x140130a1c
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 0x140130a1c
mov dword [rcx + 0x5c], 0xc3d2e1f0
jmp 0x140130bb6
test rcx, rcx
je 0x140130a1c
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 0x140132860
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 0x1401329a6
test rdx, rdx
je 0x1401329a6
call fcn.140132360
test eax, eax
jne 0x1401329ab
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 0x14013a560
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 [0x140250100]
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.140131ec0
mov ebx, eax
test eax, eax
jne 0x14013a70f
mov r8d, 4
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.140131ec0
mov ebx, eax
test eax, eax
jne 0x14013a70f
cmp byte [rsp + 0x28], 4
je 0x14013a681
mov r8d, 1
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.140131ec0
mov ebx, eax
test eax, eax
jne 0x14013a70f
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x14013a698
cmp dword [rbp + 0x6f], r14d
jbe 0x14013a6af
mov ebx, 0xffffff53
jmp 0x14013a70f
mov r8d, dword [rbp + 0x6f]
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.140131ec0
mov ebx, eax
test eax, eax
jne 0x14013a70f
test r12, r12
je 0x14013a6cf
test r13d, r13d
je 0x14013a6cf
mov r8d, r13d
lea rcx, [rsp + 0x40]
mov rdx, r12
call fcn.140131ec0
mov ebx, eax
test eax, eax
jne 0x14013a70f
lea rdx, [rbp - 0x29]
lea rcx, [rsp + 0x40]
call fcn.140132860
mov ebx, eax
test eax, eax
jne 0x14013a70f
cmp esi, 0x20
jbe 0x14013a700
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 0x14013a70f
mov r8d, esi
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.14016c510
inc byte [rsp + 0x20]
sub r15, 1
jne 0x14013a5d1
mov ecx, 0x20
lea rdx, [rbp - 0x29]
nop word [rax + rax]
mov byte [rdx], r14b
lea rdx, [rdx + 1]
add ecx, 0xffffffff
jne 0x14013a730
test ebx, ebx
setne r14b
mov eax, r14d
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.140140e90
mov rbx, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret