joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000c3e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
movdqa xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
mov rax, qword [0x1401ec030]
movzx eax, byte [rax]
cmp al, 1
jne 0x14000c41a
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
add rsp, 0x38
jmp sym._ZN8chacha208backends4avx25inner17h8dd507dae886c24aE.llvm.13831561135636890148
movdqu xmm4, xmmword [rcx]
movdqu xmm2, xmmword [rcx + 0x10]
movdqu xmm1, xmmword [rcx + 0x20]
movdqu xmm0, xmmword [rcx + 0x30]
mov eax, 0xa
movdqa xmm6, xmm4
movdqa xmm3, xmm2
movdqa xmm5, xmm0
movdqa xmm7, xmm1
nop word cs:[rax + rax]
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x10
pslld xmm5, 0x10
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x14
pslld xmm3, 0xc
por xmm3, xmm8
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x18
pslld xmm5, 8
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x19
pslld xmm3, 7
por xmm3, xmm8
pshufd xmm7, xmm7, 0x39
pshufd xmm5, xmm5, 0x4e
pshufd xmm6, xmm6, 0x93
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x10
pslld xmm5, 0x10
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x14
pslld xmm3, 0xc
por xmm3, xmm8
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x18
pslld xmm5, 8
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x19
pslld xmm3, 7
por xmm3, xmm8
pshufd xmm7, xmm7, 0x93
pshufd xmm5, xmm5, 0x4e
pshufd xmm6, xmm6, 0x39
dec rax
jne 0x14000c450
paddd xmm6, xmm4
paddd xmm3, xmm2
paddd xmm7, xmm1
paddd xmm5, xmm0
movdqu xmmword [rdx], xmm6
movdqu xmmword [rdx + 0x10], xmm3
movdqu xmmword [rdx + 0x20], xmm7
movdqu xmmword [rdx + 0x30], xmm5
movd eax, xmm0
inc eax
mov dword [rcx + 0x30], eax
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
add rsp, 0x38
ret
Function at 0x14000c5a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x70
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
mov rax, qword [0x1401ec030]
movzx eax, byte [rax]
cmp al, 1
jne 0x14000c612
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
add rsp, 0x70
pop rsi
jmp sym.chacha20::backends::avx2::inner::h758e8b568ba920bf
mov rax, qword [rdx + 0x10]
movdqu xmm0, xmmword [rcx + 0x30]
test rax, rax
je 0x14000c806
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
movdqu xmm1, xmmword [rcx]
movdqu xmm2, xmmword [rcx + 0x10]
movdqu xmm3, xmmword [rcx + 0x20]
mov r9d, 1
movdqa xmm4, xmmword [0x1401ee6e0]
mov r10, rdx
mov r11, r8
nop dword [rax]
mov esi, 0xa
movdqa xmm7, xmm1
movdqa xmm5, xmm2
movdqa xmm6, xmm0
movdqa xmm8, xmm3
nop word cs:[rax + rax]
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x10
pslld xmm6, 0x10
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x14
pslld xmm5, 0xc
por xmm5, xmm9
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x18
pslld xmm6, 8
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x19
pslld xmm5, 7
por xmm5, xmm9
pshufd xmm8, xmm8, 0x39
pshufd xmm6, xmm6, 0x4e
pshufd xmm7, xmm7, 0x93
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x10
pslld xmm6, 0x10
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x14
pslld xmm5, 0xc
por xmm5, xmm9
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x18
pslld xmm6, 8
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x19
pslld xmm5, 7
por xmm5, xmm9
pshufd xmm8, xmm8, 0x93
pshufd xmm6, xmm6, 0x4e
pshufd xmm7, xmm7, 0x39
dec rsi
jne 0x14000c670
xor esi, esi
cmp rax, r9
setne sil
movdqu xmm9, xmmword [r11]
movdqu xmm10, xmmword [r11 + 0x10]
movdqu xmm11, xmmword [r11 + 0x20]
movdqu xmm12, xmmword [r11 + 0x30]
paddd xmm6, xmm0
pxor xmm6, xmm12
paddd xmm8, xmm3
pxor xmm8, xmm11
paddd xmm5, xmm2
pxor xmm5, xmm10
paddd xmm7, xmm1
pxor xmm7, xmm9
movdqu xmmword [r10], xmm7
movdqu xmmword [r10 + 0x10], xmm5
movdqu xmmword [r10 + 0x20], xmm8
movdqu xmmword [r10 + 0x30], xmm6
mov r10, r9
shl r10, 6
lea r11, [r8 + r10]
add r10, rdx
add rsi, r9
paddd xmm0, xmm4
cmp rax, r9
mov r9, rsi
jne 0x14000c650
movd dword [rcx + 0x30], xmm0
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
add rsp, 0x70
pop rsi
ret
Function at 0x140010c20
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x140010c62
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x140010c6a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x140010c7b
jmp 0x140010c92
xor r10d, r10d
jmp 0x140010d1d
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x140010c92
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x140010ca9
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x140010cc9
add r11, r8
jmp 0x140010dfa
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x140010d92
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x140010d40
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x140010db0
mov r9d, dword [rdx + r10]
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x140010dc2
jmp 0x140010ddc
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x140010ddc
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x140010df6
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x140011bd0
Capabilities:
Hash data using sha256

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm6
mov rsi, rcx
lea rdi, [rcx + 0x28]
movzx r14d, byte [rcx + 0x68]
mov rax, qword [rcx + 0x20]
shl rax, 9
lea rbx, [r14*8]
or rbx, rax
mov byte [rcx + r14 + 0x28], pe_nt_image_headers64
mov r8, r14
xor r8, 0x3f
je 0x140011c22
lea rcx, [r14 + rdi]
inc rcx
xor edx, edx
call fcn.1401e9fc8
bswap rbx
xor r14d, 0x38
cmp r14d, 8
jae 0x140011c70
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
call sym.sha2::sha256::compress256::ha14bac18774f4e59
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x20]
mov r8d, 1
mov rcx, rsi
jmp 0x140011c80
mov qword [rsi + 0x60], rbx
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
call sym.sha2::sha256::compress256::ha14bac18774f4e59
movdqu xmm6, xmmword [rsi]
movdqu xmm7, xmmword [rsi + 0x10]
movaps xmm0, xmmword [0x1401ef0d0]
movups xmmword [rsi], xmm0
movdqa xmm0, xmmword [0x1401ef0e0]
movdqu xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x20], 0
mov byte [rsi + 0x68], 0
mov rax, qword [str.1__]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 1
call sym.__rust_alloc
test rax, rax
je 0x140011d40
pxor xmm0, xmm0
movdqa xmm1, xmm7
punpckhbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm7, xmm0
pshuflw xmm2, xmm7, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm1
movdqa xmm1, xmm6
punpckhbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm6, xmm0
pshuflw xmm0, xmm6, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm2
mov edx, 0x20
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 1
mov edx, 0x20
call dbg.handle_alloc_error
ud2
Function at 0x140011d60
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
mov rsi, r8
cmp r8, 0x20
jne 0x140011e9b
mov rbx, rdx
mov rdi, rcx
lea r14, [rcx + 0x28]
movzx r12d, byte [rcx + 0x68]
mov rax, qword [rcx + 0x20]
shl rax, 9
lea r15, [r12*8]
or r15, rax
mov byte [rcx + r12 + 0x28], pe_nt_image_headers64
mov r8, r12
xor r8, 0x3f
je 0x140011db9
lea rcx, [r12 + r14]
inc rcx
xor edx, edx
call fcn.1401e9fc8
bswap r15
xor r12d, 0x38
cmp r12d, 8
jae 0x140011e07
mov r8d, 1
mov rcx, rdi
mov rdx, r14
call sym.sha2::sha256::compress256::ha14bac18774f4e59
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], r15
lea rdx, [rsp + 0x20]
mov r8d, 1
mov rcx, rdi
jmp 0x140011e17
mov qword [rdi + 0x60], r15
mov r8d, 1
mov rcx, rdi
mov rdx, r14
call sym.sha2::sha256::compress256::ha14bac18774f4e59
movdqu xmm0, xmmword [rdi]
pxor xmm1, xmm1
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm1
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [rbx], xmm0
movdqu xmm0, xmmword [rdi + 0x10]
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm1
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [rbx + 0x10], xmm0
movaps xmm0, xmmword [0x1401ef0f0]
movups xmmword [rdi + 0x10], xmm0
movaps xmm0, xmmword [0x1401ef100]
movups xmmword [rdi], xmm0
mov qword [rdi + 0x20], 0
mov byte [rdi + 0x68], 0
cmp rsi, 0x20
setne al
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x14006f3c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x14006f402
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x14006f40a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x14006f41b
jmp 0x14006f432
xor r10d, r10d
jmp 0x14006f4bd
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x14006f432
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x14006f449
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x14006f469
add r11, r8
jmp 0x14006f59a
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x14006f532
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x14006f4e0
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x14006f550
mov r9d, dword [rdx + r10]
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x14006f562
jmp 0x14006f57c
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x14006f57c
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x14006f596
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x1400988a0
Capabilities:
Encode data using xor
Hash data using murmur3
Hash data using sha256
Hash data using sha256 via x86 extensions
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
movzx eax, byte [0x1401ec038]
cmp al, 1
je 0x140098963
movzx eax, al
cmp eax, 0xff
jne 0x140098988
lea rcx, [rsp + 0x28]
mov edx, 1
call sym.sha2::sha256::x86::shani_cpuid::init_get::cpuid::h4a79a0e6c9e0b6b5
lea rcx, [rsp + 0x38]
mov edx, 7
xor r8d, r8d
call sym.sha2::sha256::x86::shani_cpuid::init_get::cpuid_count::h6b4e6583dc61c80d
mov ebp, dword [rsp + 0x30]
mov eax, ebp
not eax
test eax, 0xc000000
jne 0x140098981
mov r12d, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x3c]
call fcn.140098430
mov r15, rax
shr r13d, 0x1d
call fcn.140098430
mov r14, rax
shr r12d, 0x1a
and r14d, r15d
shr r14d, 1
and r14d, r13d
and r14d, r12d
call fcn.140098430
shr eax, 1
mov r15d, ebp
shr r15d, 9
and r15d, eax
call fcn.140098430
and eax, 2
shr eax, 1
shr ebp, 0x13
and ebp, eax
and ebp, r15d
and ebp, r14d
mov byte [0x1401ec038], bpl
je 0x140098988
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sym.sha2::sha256::x86::digest_blocks::h93d61cba7ee97557
mov byte [0x1401ec038], 0
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sym.sha2::sha256::soft::compress::h206a61078adf9c74

Function at 0x1400989c0
Capabilities:
Encode data using base64
Hash data using sha512

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
movzx eax, byte [0x1401ec039]
cmp al, 1
je 0x140098a45
movzx eax, al
cmp eax, 0xff
jne 0x140098a5f
lea rcx, [rsp + 0x28]
mov edx, 1
call sym.sha2::sha256::x86::shani_cpuid::init_get::cpuid::h4a79a0e6c9e0b6b5
lea rcx, [rsp + 0x38]
xor r15d, r15d
mov edx, 7
xor r8d, r8d
call sym.sha2::sha256::x86::shani_cpuid::init_get::cpuid_count::h6b4e6583dc61c80d
mov ebp, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x3c]
mov eax, ebp
not eax
test eax, 0xc000000
jne 0x140098a2f
call sym._ZN4core9core_arch3x865xsave7_xgetbv17h2ddfb83b5bef8ba0E.llvm.18412990524806999871
not eax
test al, 6
sete r15b
shr r14b, 5
and r14b, r15b
shr ebp, 0x1c
and bpl, r14b
mov byte [0x1401ec039], bpl
je 0x140098a5f
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp sym._ZN4sha26sha5123x8627sha512_compress_x86_64_avx217hd1a25b63dd4fc98bE.llvm.18412990524806999871
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp sym.sha2::sha512::soft::compress::hab495430288d54b8
Function at 0x1400e7950
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, r9
or rax, rdx
je 0x1400e7b41
mov r15, r9
mov r14, r8
mov r12, rdx
mov rdi, rcx
mov r8d, 4
call sym.base64ct::encoding::validate_last_block::last_block_start::hf8a28b5ef9267de0
xor esi, esi
sub r12, rax
cmovae rsi, r12
jae 0x1400e7994
and sil, 1
jmp 0x1400e7b44
mov rbx, rax
mov r8d, 3
mov rcx, r14
mov rdx, r15
call sym.base64ct::encoding::validate_last_block::last_block_start::hf8a28b5ef9267de0
xor edx, edx
sub r15, rax
cmovae rdx, r15
jae 0x1400e79bd
and dl, 1
mov esi, edx
jmp 0x1400e7b44
add r14, rax
mov dword [rsp + 0x24], 0
lea r8, [rsp + 0x24]
mov r9d, 4
mov rcx, r14
call sym.__T_as_base64ct::encoding::Encoding_::encode::hb68772c48055b3b7
test rax, rax
je 0x1400e7a04
cmp rdx, rsi
cmovb rsi, rdx
test rsi, rsi
je 0x1400e7b41
lea rcx, [rdi + rbx]
cmp rsi, 8
jae 0x1400e7a0c
xor r8d, r8d
xor edx, edx
jmp 0x1400e7b20
mov sil, 1
jmp 0x1400e7b44
cmp rsi, 0x20
jae 0x1400e7a1c
xor r8d, r8d
xor edx, edx
jmp 0x1400e7ab7
mov rdx, rsi
and rdx, 0xffffffffffffffe0
lea r8, [rbx + rdi]
add r8, 0x10
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rax + r9]
movdqu xmm3, xmmword [rax + r9 + 0x10]
movdqu xmm4, xmmword [r8 + r9 - 0x10]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm2, xmmword [r8 + r9]
pxor xmm2, xmm3
por xmm1, xmm2
add r9, 0x20
cmp rdx, r9
jne 0x1400e7a40
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd r8d, xmm1
cmp rsi, rdx
je 0x1400e7b38
test sil, 0x18
je 0x1400e7b20
mov r9, rdx
mov rdx, rsi
and rdx, 0xfffffffffffffff8
movzx r8d, r8b
movd xmm0, r8d
nop word [rax + rax]
mov r8, qword [rcx + r9]
xor r8, qword [rax + r9]
movq xmm1, r8
por xmm0, xmm1
add r9, 8
cmp rdx, r9
jne 0x1400e7ad0
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd r8d, xmm1
cmp rsi, rdx
je 0x1400e7b38
nop word [rax + rax]
movzx r9d, byte [rcx + rdx]
xor r9b, byte [rax + rdx]
lea r10, [rdx + 1]
or r8b, r9b
mov rdx, r10
cmp rsi, r10
jne 0x1400e7b20
test r8b, r8b
je 0x1400e7b41
xor esi, esi
jmp 0x1400e7b44
mov sil, 2
mov eax, esi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x1400e7b60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, r9
or rax, rdx
je 0x1400e7d51
mov r15, r9
mov r14, r8
mov r12, rdx
mov rdi, rcx
mov r8d, 4
call sym.base64ct::encoding::validate_last_block::last_block_start::hf8a28b5ef9267de0
xor esi, esi
sub r12, rax
cmovae rsi, r12
jae 0x1400e7ba4
and sil, 1
jmp 0x1400e7d54
mov rbx, rax
mov r8d, 3
mov rcx, r14
mov rdx, r15
call sym.base64ct::encoding::validate_last_block::last_block_start::hf8a28b5ef9267de0
xor edx, edx
sub r15, rax
cmovae rdx, r15
jae 0x1400e7bcd
and dl, 1
mov esi, edx
jmp 0x1400e7d54
add r14, rax
mov dword [rsp + 0x24], 0
lea r8, [rsp + 0x24]
mov r9d, 4
mov rcx, r14
call sym.__T_as_base64ct::encoding::Encoding_::encode::h6eb2774e3d42e47c
test rax, rax
je 0x1400e7c14
cmp rdx, rsi
cmovb rsi, rdx
test rsi, rsi
je 0x1400e7d51
lea rcx, [rdi + rbx]
cmp rsi, 8
jae 0x1400e7c1c
xor r8d, r8d
xor edx, edx
jmp 0x1400e7d30
mov sil, 1
jmp 0x1400e7d54
cmp rsi, 0x20
jae 0x1400e7c2c
xor r8d, r8d
xor edx, edx
jmp 0x1400e7cc7
mov rdx, rsi
and rdx, 0xffffffffffffffe0
lea r8, [rbx + rdi]
add r8, 0x10
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rax + r9]
movdqu xmm3, xmmword [rax + r9 + 0x10]
movdqu xmm4, xmmword [r8 + r9 - 0x10]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm2, xmmword [r8 + r9]
pxor xmm2, xmm3
por xmm1, xmm2
add r9, 0x20
cmp rdx, r9
jne 0x1400e7c50
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd r8d, xmm1
cmp rsi, rdx
je 0x1400e7d48
test sil, 0x18
je 0x1400e7d30
mov r9, rdx
mov rdx, rsi
and rdx, 0xfffffffffffffff8
movzx r8d, r8b
movd xmm0, r8d
nop word [rax + rax]
mov r8, qword [rcx + r9]
xor r8, qword [rax + r9]
movq xmm1, r8
por xmm0, xmm1
add r9, 8
cmp rdx, r9
jne 0x1400e7ce0
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd r8d, xmm1
cmp rsi, rdx
je 0x1400e7d48
nop word [rax + rax]
movzx r9d, byte [rcx + rdx]
xor r9b, byte [rax + rdx]
lea r10, [rdx + 1]
or r8b, r9b
mov rdx, r10
cmp rsi, r10
jne 0x1400e7d30
test r8b, r8b
je 0x1400e7d51
xor esi, esi
jmp 0x1400e7d54
mov sil, 2
mov eax, esi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x1400eff70
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
mov r10, qword [rdx + 0x28]
cmp r10, 4
jbe 0x1400effb3
mov r10, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov rdx, qword [r8 + 0x28]
cmp rdx, 5
jae 0x1400effc1
lea rcx, [r8 + 8]
mov r9, rdx
cmp r10, r9
cmovb r9, r10
test r9, r9
jne 0x1400effd9
jmp 0x1400f00b9
lea rax, [rsi + 8]
mov rdx, qword [r8 + 0x28]
cmp rdx, 5
jb 0x1400eff9b
mov r9, qword [r8 + 8]
mov rcx, qword [r8 + 0x10]
cmp r10, r9
cmovb r9, r10
test r9, r9
je 0x1400f00b9
cmp r9, 8
jb 0x1400efff5
lea r10, [rcx + r9*8]
cmp rax, r10
jae 0x1400f0074
lea r10, [rax + r9*8]
cmp rcx, r10
jae 0x1400f0074
xor r10d, r10d
mov rbx, r10
not rbx
add rbx, r9
mov r14, r9
and r14, 3
je 0x1400f0030
nop word [rax + rax]
mov r11, qword [rcx + r10*8]
xor qword [rax + r10*8], r11
lea r11, [r10 + 1]
mov r10, r11
dec r14
jne 0x1400f0010
cmp rbx, 3
jb 0x1400f00b9
jmp 0x1400f0040
mov r11, r10
cmp rbx, 3
jb 0x1400f00b9
nop dword [rax]
mov r10, qword [rcx + r11*8]
xor qword [rax + r11*8], r10
mov r10, qword [rcx + r11*8 + 8]
xor qword [rax + r11*8 + 8], r10
mov r10, qword [rcx + r11*8 + 0x10]
xor qword [rax + r11*8 + 0x10], r10
mov r10, qword [rcx + r11*8 + 0x18]
xor qword [rax + r11*8 + 0x18], r10
lea r10, [r11 + 4]
mov r11, r10
cmp r9, r10
jne 0x1400f0040
jmp 0x1400f00b9
mov r10, r9
and r10, 0xfffffffffffffffc
xor r11d, r11d
nop
movups xmm0, xmmword [rcx + r11*8]
movups xmm1, xmmword [rcx + r11*8 + 0x10]
movups xmm2, xmmword [rax + r11*8]
xorps xmm2, xmm0
movups xmm0, xmmword [rax + r11*8 + 0x10]
xorps xmm0, xmm1
movups xmmword [rax + r11*8], xmm2
movups xmmword [rax + r11*8 + 0x10], xmm0
add r11, 4
cmp r10, r11
jne 0x1400f0080
cmp r9, r10
jne 0x1400efff8
lea rbx, [rsi + 0x28]
mov rax, rdx
cmp rdx, 5
jb 0x1400f00da
mov rax, qword [r8 + 8]
mov rcx, qword [rbx]
cmp rcx, 5
jae 0x1400f00e3
cmp rax, rcx
ja 0x1400f00ec
jmp 0x1400f011c
mov rcx, qword [rbx]
cmp rcx, 5
jb 0x1400f00d3
mov rcx, qword [rsi + 8]
cmp rax, rcx
jbe 0x1400f011c
cmp rdx, 5
jb 0x1400f00fc
mov rdx, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x1400f0100
add r8, 8
cmp rdx, rcx
jb 0x1400f0191
lea rax, [r8 + rcx*8]
lea r8, [r8 + rdx*8]
mov rcx, rsi
mov rdx, rax
call fcn.1401096f0
lea rax, [rsi + 8]
mov rcx, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov rdx, qword [rbx]
mov r8, rax
mov r9, rdx
cmp rdx, 5
jb 0x1400f0145
mov r9, qword [rax]
mov r8, rcx
test r9, r9
je 0x1400f016e
cmp qword [r8 + r9*8 - 8], 0
jne 0x1400f016e
mov r8, rbx
cmp rdx, 5
jb 0x1400f0161
mov rdx, qword [rax]
mov r8, rax
test rdx, rdx
je 0x1400f0130
dec rdx
mov qword [r8], rdx
jmp 0x1400f0130
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rax, rdi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
lea r8, [0x140205050]
call dbg.slice_start_index_len_fail
ud2