joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401036a0
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 [0x14030a100]
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 0x140103894
movzx r9d, word [rsi + 0x414]
bt r9w, 0xe
jae 0x14010371d
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 0x140103821
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 0x1401037a3
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 0x140103780
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.140103160
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 0x14010388e
mov eax, 0xfffffecf
jmp 0x140103912
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.1400fc920
test eax, eax
jne 0x140103817
test ebp, ebp
jne 0x140103817
cmp r13d, dword [rsp + 0x44]
ja 0x140103817
mov ecx, dword [rsp + 0x40]
jmp 0x1401038ef
test al, al
jne 0x1401038f4
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.1400fc920
test eax, eax
jne 0x140103817
test ebx, ebx
jne 0x140103817
mov ecx, r14d
mov r9, qword [rsp + 0x48]
cmp byte [rsi + 0x2ed], 2
jne 0x140103906
movzx eax, word [rsi + 0x2ea]
jmp 0x14010390d
lea eax, [r15 + rcx]
add eax, r14d
mov dword [r9], eax
xor eax, eax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.14013d5b0
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14011da10
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 0x14011daf3
shr r8d, 3
xor eax, eax
test r8d, r8d
je 0x14011dc01
cmp r8d, 8
jb 0x14011dace
lea ecx, [r8 - 1]
lea r11, [r10 + rcx*8]
lea rcx, [rdx + rcx*8]
cmp r10, rcx
ja 0x14011da56
cmp r11, rdx
jae 0x14011dace
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 0x14011da62
cmp eax, r8d
jae 0x14011dc01
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 0x14011dae0
pop rbx
ret
xor eax, eax
test r8d, r8d
je 0x14011dc01
cmp r8d, 8
jb 0x14011dbe1
lea ecx, [r8 - 1]
lea r11, [rcx + r10]
add rcx, rdx
cmp r10, rcx
ja 0x14011db21
cmp r11, r9
jae 0x14011dbe1
cmp r8d, 0x40
jb 0x14011dbaf
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 0x14011db42
mov rdi, qword [rsp + 0x10]
cmp r11d, 8
jb 0x14011dbdc
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 0x14011dbc0
cmp eax, r8d
jae 0x14011dc01
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 0x14011dbf0
pop rbx
ret
Function at 0x14011dd30
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.14011dc10
cmp dword [rsp + 0x50], eax
jae 0x14011dd74
mov eax, 0xffffff7c
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp r9d, 0xf
ja case.0x14011dd90.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + r9*4 + 0x11de68]
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.14011e440
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.14011e560
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.14011e600
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.14011e7c0
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.14011e6c0
mov r8, rbx
mov edx, edi
mov rcx, rsi
call fcn.14011e440
mov r10d, eax
test eax, eax
jne case.0x14011dd90.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.14011e560
mov r10d, 0xffffff53
mov rbx, qword [rsp + 0x30]
mov eax, r10d
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14011e440
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x14030a100]
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.1401327a0
test eax, eax
jne 0x14011e549
test rdi, rdi
je 0x14011e542
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 0x14011e4f1
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x2d]
add rcx, rax
call fcn.140169130
lea rdx, [rbp - 0x2d]
mov dword [rbp - 0x39], 0x40
lea rcx, [rbp - 0x39]
call fcn.140131fb0
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.140169130
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.140131fb0
movups xmm0, xmmword [rbp + 0x13]
movups xmmword [rdi], xmm0
jmp 0x14011e547
mov ebx, 0xffffff53
mov eax, ebx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14013d5b0
add rsp, 0xa0
pop rdi
pop rbx
pop rbp
ret

Function at 0x14011e560
Capabilities:
Hash data using sha1

Disassembly:
push rbx
sub rsp, 0xa0
mov rax, qword [0x14030a100]
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.14012a110
test eax, eax
jne 0x14011e5da
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14012a5b0
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14013d5b0
add rsp, 0xa0
pop rbx
ret

Function at 0x14011e600
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xb0
mov rax, qword [0x14030a100]
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 0x14011e67e
test edx, edx
je 0x14011e692
mov eax, 0xffffff53
jmp 0x14011e69f
mov r8d, edx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.14012e6f0
test eax, eax
jne 0x14011e69f
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14012f090
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14013d5b0
add rsp, 0xb0
pop rbx
ret
Function at 0x14011f0f0
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 0x14011f13a
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 0x14011f295
lea r13, [0x1402ece50]
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 0x14011f295
cmp dl, 0x2b
jb 0x14011f2c6
cmp r8b, 0x2b
jb 0x14011f2c6
cmp bpl, 0x2b
jb 0x14011f2c6
cmp r10b, 0x2b
jb 0x14011f2c6
cmp dl, 0x7a
ja 0x14011f2c6
cmp r8b, 0x7a
ja 0x14011f2c6
cmp bpl, 0x7a
ja 0x14011f2c6
cmp r10b, 0x7a
ja 0x14011f2c6
movzx r14d, byte [rdx + r13 - 0x2b]
movzx r11d, byte [r8 + r13 - 0x2b]
cmp bpl, 0x3d
jne 0x14011f1e9
xor r8b, r8b
jmp 0x14011f1ef
movzx r8d, byte [rbp + r13 - 0x2b]
cmp r10b, 0x3d
jne 0x14011f1f9
xor cl, cl
jmp 0x14011f1ff
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 0x14011f235
shr r8b, 2
shl r11b, 4
or r8b, r11b
mov byte [rdi + r15], r8b
inc edi
cmp r10b, 0x3d
je 0x14011f295
mov byte [rdi + r15], r9b
inc edi
add ebx, 0xfffffffc
je 0x14011f28c
movzx edx, byte [rax + rsi]
cmp dl, 0x20
ja 0x14011f28c
movabs r8, 0x100002400
bt r8, rdx
jae 0x14011f28c
inc eax
add ebx, 0xffffffff
je 0x14011f276
cmp dl, 0x20
jne 0x14011f276
movzx edx, byte [rax + rsi]
inc eax
add ebx, 0xffffffff
jne 0x14011f266
cmp dl, 0xd
jne 0x14011f287
test ebx, ebx
je 0x14011f2c6
movzx edx, byte [rax + rsi]
inc eax
dec ebx
cmp dl, 0xa
jne 0x14011f2c6
cmp ebx, 3
ja 0x14011f160
test r15, r15
je 0x14011f2a5
cmp dword [r12], edi
jbe 0x14011f2a5
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 0x14011f2ab
Function at 0x14012d220
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 0x14012d3dd
sub edx, 1
je 0x14012d3cb
sub edx, 2
je 0x14012d374
sub edx, 1
je 0x14012d2f4
cmp edx, 1
je 0x14012d259
mov eax, 0xffffff53
mov qword [rcx + 0x220], r8
ret
test rcx, rcx
je 0x14012d24c
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 0x14012d24c
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 0x14012d2d0
test rcx, rcx
je 0x14012d24c
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 0x14012d24c
mov dword [rcx + 0x5c], 0xc3d2e1f0
jmp 0x14012d3e6
test rcx, rcx
je 0x14012d24c
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 0x14012f090
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 0x14012f1d6
test rdx, rdx
je 0x14012f1d6
call fcn.14012eb90
test eax, eax
jne 0x14012f1db
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 0x140136d90
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 [0x14030a100]
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.14012e6f0
mov ebx, eax
test eax, eax
jne 0x140136f3f
mov r8d, 4
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.14012e6f0
mov ebx, eax
test eax, eax
jne 0x140136f3f
cmp byte [rsp + 0x28], 4
je 0x140136eb1
mov r8d, 1
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.14012e6f0
mov ebx, eax
test eax, eax
jne 0x140136f3f
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x140136ec8
cmp dword [rbp + 0x6f], r14d
jbe 0x140136edf
mov ebx, 0xffffff53
jmp 0x140136f3f
mov r8d, dword [rbp + 0x6f]
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.14012e6f0
mov ebx, eax
test eax, eax
jne 0x140136f3f
test r12, r12
je 0x140136eff
test r13d, r13d
je 0x140136eff
mov r8d, r13d
lea rcx, [rsp + 0x40]
mov rdx, r12
call fcn.14012e6f0
mov ebx, eax
test eax, eax
jne 0x140136f3f
lea rdx, [rbp - 0x29]
lea rcx, [rsp + 0x40]
call fcn.14012f090
mov ebx, eax
test eax, eax
jne 0x140136f3f
cmp esi, 0x20
jbe 0x140136f30
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 0x140136f3f
mov r8d, esi
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.140168a90
inc byte [rsp + 0x20]
sub r15, 1
jne 0x140136e01
mov ecx, 0x20
lea rdx, [rbp - 0x29]
nop word [rax + rax]
mov byte [rdx], r14b
lea rdx, [rdx + 1]
add ecx, 0xffffffff
jne 0x140136f60
test ebx, ebx
setne r14b
mov eax, r14d
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.14013d5b0
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 0x1401370c0
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 [0x14030a100]
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 0x14013729d
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.14012e6f0
mov r12d, eax
test eax, eax
jne 0x14013728f
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x50]
call fcn.14012f090
mov r12d, eax
test eax, eax
jne 0x14013728f
cmp dword [rsi], 1
mov ecx, dword [rsp + 0x28]
jbe 0x14013720f
cmp ecx, dword [rsi + 4]
jne 0x14013720f
cmp byte [rsi + 0x76], 1
je 0x1401372d7
mov edx, dword [rsp + 0x20]
mov cl, 1
cmp r13d, edx
lea eax, [rdx + 1]
cmovne eax, edx
mov dword [rsp + 0x20], eax
jmp 0x140137214
mov dword [rsi + 4], ecx
xor cl, cl
mov byte [rsi + 0x76], cl
test r15, r15
je 0x14013728f
test edi, edi
je 0x14013728f
cmp edi, 0x20
jb 0x14013727c
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 0x14013728f
add byte [rax + 1], 1
jne 0x14013728f
add byte [rax], 1
jne 0x14013728f
add byte [rax - 1], 1
jne 0x14013728f
add byte [rax - 2], 1
jne 0x14013728f
sub rax, 5
lea rcx, [rdx + rax]
test rcx, rcx
jns 0x140137250
jmp 0x14013728f
mov r8d, edi
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.140168a90
mov edi, r14d
inc r13d
cmp r13d, dword [rsp + 0x20]
jl 0x140137160
lea rcx, [rbp - 0x30]
mov byte [rcx], r14b
lea rcx, [rcx + 1]
add ebx, 0xffffffff
jne 0x1401372a1
test r12d, r12d
setne r14b
mov eax, r14d
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.14013d5b0
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, 3
jmp 0x1401372b7