joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400929a0
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
push r14
push r15
lea rbp, [rsp - 0x350]
sub rsp, 0x450
mov r15, r8
lea rcx, [rbp + 0x140]
mov r14d, edx
mov r8d, 0x208
xor edx, edx
mov rdi, r9
call fcn.14014d290
xor esi, esi
xor bl, bl
mov qword [rbp + 0x370], rsi
test r15, r15
je 0x140092bf4
test rdi, rdi
je 0x140092bf4
lea r8, [rbp + 0x370]
mov edx, r14d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
js 0x140092bf4
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x140092bf4
lea rdx, [rbp + 0x140]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
je 0x140092bdd
mov ecx, 0x104
lea rax, [rbp + 0x140]
nop dword [rax]
cmp word [rax], si
je 0x140092a5f
add rax, 2
sub rcx, 1
jne 0x140092a50
mov eax, 0x104
mov r14d, 0x7ffffffe
sub rax, rcx
test rcx, rcx
cmove rax, rsi
je 0x140092acd
mov r8d, 0x104
lea rcx, [rbp + 0x140]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x140092abf
lea r9, [0x1401b667c]
mov eax, r14d
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x140092abf
movzx edx, word [r9 + rcx]
test dx, dx
je 0x140092abf
mov word [rcx], dx
dec rax
add rcx, 2
sub r8, 1
jne 0x140092aa0
test r8, r8
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
mov r8, r15
lea rcx, [rbp + 0x140]
mov edx, 0x208
call fcn.140024de0
lea rcx, [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140092b83
lea rax, [0x1401b6738]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x140]
lea rax, [rsp + 0x38]
mov dword [rsp + 0x34], 0x104
mov edx, 0x104
mov qword [rsp + 0x28], rax
mov word [rsp + 0x38], si
call fcn.14003c464
mov r15, rax
mov eax, dword [rsp + 0x34]
cmp r15d, eax
jb 0x140092b3f
lea r15d, [rax - 1]
mov rcx, qword [rsp + 0x28]
lea rdx, [rbp + 0x140]
mov eax, r15d
lea rbx, [rax + rax]
mov r8, rbx
call fcn.14014cbf0
mov rax, qword [rsp + 0x28]
mov dword [rsp + 0x30], r15d
mov word [rbx + rax], si
lea rax, [0x1401b6698]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
call fcn.140011450
movzx ebx, al
jmp 0x140092b85
mov bl, 1
mov eax, dword [rbp + 0x390]
mov edx, eax
test eax, eax
je 0x140092bdd
cmp eax, 0x7fffffff
jbe 0x140092b9d
mov word [rdi], si
jmp 0x140092bdd
sub r14, rax
lea rcx, [rbp + 0x140]
sub rcx, rdi
nop word [rax + rax]
lea rax, [r14 + rdx]
test rax, rax
je 0x140092bcf
movzx eax, word [rcx + rdi]
test ax, ax
je 0x140092bcf
mov word [rdi], ax
add rdi, 2
sub rdx, 1
jne 0x140092bb0
test rdx, rdx
lea rcx, [rdi - 2]
cmovne rcx, rdi
mov word [rcx], si
mov rcx, qword [rbp + 0x370]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test bl, bl
setne sil
mov eax, esi
jmp 0x140092bf6
xor eax, eax
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140092c20
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x240
mov rbx, r8
lea rcx, [rsp + 0x30]
mov edi, edx
mov r8d, 0x208
xor edx, edx
call fcn.14014d290
test rbx, rbx
je 0x140092d1a
mov rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], 0
jne 0x140092c54
cmp eax, 1
jb 0x140092d1a
xor r9d, r9d
lea rdx, [rsp + 0x30]
mov r8d, edi
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x140092d1a
mov r8d, 0x104
lea rax, [rsp + 0x30]
mov ecx, r8d
cmp word [rax], 0
je 0x140092ca0
add rax, 2
sub rcx, 1
jne 0x140092c90
xor r10d, r10d
mov rax, r8
sub rax, rcx
test rcx, rcx
cmove rax, r10
je 0x140092cfe
lea rcx, [rsp + 0x30]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x140092cef
lea r9, [0x1401b667c]
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140092cef
movzx edx, word [r9 + rcx]
test dx, dx
je 0x140092cef
mov word [rcx], dx
dec rax
add rcx, 2
sub r8, 1
jne 0x140092cd0
test r8, r8
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r10w
mov r8, rbx
lea rcx, [rsp + 0x30]
mov edx, 0x208
call fcn.140024de0
lea rdx, [rsp + 0x30]
call fcn.1400920e0
mov rbx, qword [rsp + 0x250]
add rsp, 0x240
pop rdi
ret

Function at 0x140092e10
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push rbx
sub rsp, 0x430
mov rbx, rdx
test rdx, rdx
jne 0x140092e2c
xor eax, eax
add rsp, 0x430
pop rbx
ret
lea rax, [rsp + 0x20]
mov qword [rsp + 0x440], rdi
mov r8, rbx
lea rcx, [rsp + 0x20]
sub r8, rax
mov edx, 0x208
nop dword [rax]
lea rax, [rdx + 0x7ffffdf6]
test rax, rax
je 0x140092e73
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140092e73
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140092e50
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
xor edi, edi
lea rcx, [rsp + 0x20]
mov word [rax], di
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
lea rax, [rsp + rcx*2 + 0x1e]
lea rcx, [rsp + 0x20]
cmp rax, rcx
jbe 0x140092ee6
cmp word [rax], 0x5c
lea rcx, [rsp + 0x20]
je 0x140092eb6
sub rax, 2
cmp rax, rcx
ja 0x140092ea0
jmp 0x140092ee6
mov word [rax], di
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140092ee6
xor edx, edx
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140092ee6
lea rdx, [rsp + 0x20]
lea rcx, [0x14021ad58]
call fcn.140092e10
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rdi, qword [rsp + 0x440]
cmp eax, 0xffffffff
jne 0x140092f10
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
add rsp, 0x430
pop rbx
ret
mov eax, 1
add rsp, 0x430
pop rbx
ret
Function at 0x1400ac800
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], r9
push rsi
push rdi
push r12
push r13
push r14
push r15
mov r15d, dword [rcx + 0xec90]
xor eax, eax
movzx ebp, dl
movzx r13d, r8b
mov edi, 0x50
mov r14, r9
mov r10, rcx
mov r11d, eax
mov esi, eax
mov edx, edi
mov ebx, r15d
mov r12d, eax
mov r8d, eax
cmp bpl, 0xcc
jne 0x1400ac87e
mov ecx, r13d
sub ecx, 0x15
je 0x1400ac864
sub ecx, 0x95
je 0x1400ac864
sub ecx, 1
je 0x1400ac864
cmp ecx, 2
jne 0x1400ac885
mov eax, 1
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
lea eax, [rbp + 0x40]
test al, 0xef
jne 0x1400ac864
mov rax, qword [r10 + 0x146f8]
test rax, rax
je 0x1400ac864
cmp dword [rax], 0xa
je 0x1400ac8a1
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1400ac891
jmp 0x1400ac864
mov r9, qword [rax + 8]
test r9, r9
je 0x1400ac9ea
mov r14d, edx
test r8d, r8d
jne 0x1400ac9dc
movzx eax, word [r9]
cmp eax, 0x1e
ja 0x1400ac9cf
mov edx, dword [r10 + 0xec30]
mov ecx, eax
test edx, edx
je 0x1400ac8dd
bt edx, eax
jb 0x1400ac9cf
sub ecx, 0x15
je 0x1400ac919
sub ecx, 2
je 0x1400ac90d
sub ecx, 1
je 0x1400ac901
cmp ecx, 1
jne 0x1400ac9cf
mov edx, 0xd3
mov ecx, 0x42
jmp 0x1400ac923
mov edx, 0xd2
mov ecx, 0x30
jmp 0x1400ac923
mov edx, 0x20e
mov ecx, 0x20
jmp 0x1400ac923
mov edx, 0xd1
mov ecx, 0x1c
test r11d, r11d
jne 0x1400ac93e
cmp word [r10 + 0xecb8], cx
ja 0x1400ac93e
movzx eax, cx
cmp edi, eax
jbe 0x1400ac93e
mov r11d, edx
mov edi, eax
test ebx, ebx
jne 0x1400ac94d
cmp word [r10 + 0xecb8], cx
cmove ebx, edx
test esi, esi
je 0x1400ac959
movzx eax, cx
cmp r14d, eax
jbe 0x1400ac969
cmp word [r10 + 0xecb8], cx
ja 0x1400ac969
mov esi, edx
movzx r14d, cx
cmp bpl, 0xc0
jne 0x1400ac999
lea eax, [r13 - 7]
cmp eax, 0xa8
ja case.0x1400ac997.11
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0xaca54]
mov ecx, dword [r8 + rax*4 + 0xaca4c]
add rcx, r8
jmp rcx
cmp bpl, 0xcc
jne 0x1400ac9cf
mov ecx, r13d
sub ecx, 0x13
je case.0x1400ac997.7
sub ecx, 1
je case.0x1400ac997.7
sub ecx, 0x94
je case.0x1400ac997.7
cmp ecx, 1
je case.0x1400ac997.7
mov r8d, 1
jmp 0x1400ac9cf
xor r8d, r8d
cmp r15d, edx
lea r12d, [r8 + 1]
sete r8b
mov r9, qword [r9 + 8]
test r9, r9
jne 0x1400ac8b1
mov dword [rsp + 0x40], r14d
mov edx, dword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov ecx, r15d
mov dword [r14], ecx
test r15d, r15d
jne 0x1400aca0b
movzx eax, word [r10 + 0xecb8]
cmp edi, eax
jne 0x1400aca0b
lea r8d, [r15 + 1]
mov dword [r14], r11d
mov ecx, r11d
test ecx, ecx
jne 0x1400aca2c
mov dword [r14], ebx
lea r8d, [rcx + 1]
mov ecx, ebx
test ebx, ebx
jne 0x1400aca2c
xor eax, eax
mov ecx, eax
cmp edi, edx
jne 0x1400aca2e
mov dword [r14], r11d
mov ecx, r11d
jmp 0x1400aca2e
xor eax, eax
test ecx, ecx
jne 0x1400aca42
mov ecx, esi
mov dword [r14], esi
test ecx, ecx
jne 0x1400aca42
test r12d, r12d
cmovne r8d, eax
mov eax, r8d
jmp 0x1400ac869
Function at 0x1400bcda0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rdi, rcx
mov ebp, r8d
xor r8d, r8d
mov r10d, r9d
mov r12, rdx
mov r14d, r8d
mov ecx, r8d
movzx eax, byte [rdi + 0xe90d]
movzx r15d, byte [rdi + 0xe911]
cmp al, 1
jne 0x1400bcf96
mov edx, r8d
test byte [rdi + 0xea7a], al
je 0x1400bcdfa
movzx edx, word [rdi + 0xe908]
mov eax, edx
mov rcx, rbp
sub rcx, rax
mov dword [rsp + 0x110], 1
mov rsi, rbp
movzx r14d, byte [rcx + r12 - 1]
mov ecx, r14d
mov r13d, r14d
cmp word [rdi + 0xea78], r8w
jge 0x1400bcf11
sub ebp, edx
mov eax, 0xff
movsxd rdx, ebp
dec rdx
add rdx, r12
lea ecx, [rbp - 1]
movzx r10d, byte [rdx]
mov esi, r10d
sub esi, ebp
add esi, r15d
shr esi, 0x1f
dec sil
cmp ecx, eax
cmovg ecx, eax
movsxd r9, ecx
test ecx, ecx
jle 0x1400bce84
nop dword [rax + rax]
mov ecx, r10d
lea rdx, [rdx - 1]
sub ecx, r8d
movzx eax, r10b
xor al, byte [rdx + 1]
inc r8d
shr ecx, 0x1f
dec cl
and cl, al
or sil, cl
sub r9, 1
jne 0x1400bce60
mov eax, dword [rsp + 0x128]
lea rdx, [rsp + 0x90]
mov dword [rsp + 0x38], 1
mov r9d, ebp
sub r9d, r15d
mov dword [rsp + 0x30], 1
sub r9d, r14d
mov dword [rsp + 0x28], eax
dec r9d
mov dword [rsp + 0x20], r14d
mov r8, r12
mov rcx, rdi
call qword [rdi + 0x6138]
movzx r8d, byte [rdi + 0xe911]
lea r9, [rsp + 0x90]
mov edx, ebp
mov rcx, r12
mov ebx, eax
call fcn.1400bd8f0
or al, sil
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 0x1400bcf8d
mov eax, 0xfffffecf
jmp 0x1400bd01d
sub ebp, r15d
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x28], r10d
lea eax, [rbp - 1]
cmp r14d, eax
mov dword [rsp + 0x40], eax
cmova r14d, r8d
cmp r13d, eax
cmovbe r8d, ecx
mov rcx, rdi
sub ebp, r8d
mov ebx, r8d
mov r8, r12
mov dword [rsp + 0x20], ebx
lea r9d, [rbp - 1]
call qword [rdi + 0x6138]
sub rsi, rbx
lea rdx, [r12 - 1]
sub rsi, r15
lea rcx, [rsp + 0x50]
add rdx, rsi
mov r8d, r15d
mov ebp, eax
call fcn.1400c7f70
test eax, eax
jne 0x1400bcf07
test ebp, ebp
jne 0x1400bcf07
cmp r13d, dword [rsp + 0x40]
ja 0x1400bcf07
mov ecx, dword [rsp + 0x110]
jmp 0x1400bcff9
test al, al
jne 0x1400bcff9
mov dword [rsp + 0x38], 1
lea rdx, [rsp + 0x50]
mov r9d, ebp
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], r10d
sub r9d, r15d
mov r8, r12
mov dword [rsp + 0x20], 0xffffffff
mov rcx, rdi
call qword [rdi + 0x6138]
mov rdx, rbp
lea rcx, [rsp + 0x50]
sub rdx, r15
mov r8d, r15d
add rdx, r12
mov ebx, eax
call fcn.1400c7f70
test eax, eax
jne 0x1400bcf07
test ebx, ebx
jne 0x1400bcf07
mov ecx, r14d
cmp byte [rdi + 0xe90d], 2
jne 0x1400bd00b
movzx ecx, word [rdi + 0xe90a]
jmp 0x1400bd011
add ecx, r15d
add ecx, r14d
mov rax, qword [rsp + 0x130]
mov dword [rax], ecx
xor eax, eax
mov rbx, qword [rsp + 0x118]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400bd8f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
movsxd r12, edx
xor edi, edi
movsxd r15, r8d
mov r14d, r12d
sub r14d, r15d
xor sil, sil
sub r14d, 0x100
mov r13, r9
movzx eax, byte [r12 + rcx - 1]
mov ebx, edi
mov ecx, r12d
sub ecx, eax
mov eax, r14d
shr eax, 0x1f
dec ecx
dec eax
mov dword [rsp + 0xc8], ecx
and r14d, eax
sub ecx, r15d
mov eax, ecx
shr eax, 0x1f
dec eax
and ecx, eax
lea eax, [r15 - 1]
mov edx, eax
mov dword [rsp + 0xd0], ecx
and edx, r15d
mov dword [rsp + 0x20], edx
jne 0x1400bd974
mov ebx, ecx
sub ebx, r14d
add ebx, r15d
and ebx, eax
jmp 0x1400bd9c2
cmp r15d, 0x14
jne 0x1400bd99b
mov ebx, ecx
mov eax, 0x66666667
sub ebx, r14d
add ebx, r15d
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
jmp 0x1400bd9c0
cmp r15d, 0x30
jne 0x1400bd9c2
mov ebx, ecx
mov eax, 0x2aaaaaab
sub ebx, r14d
add ebx, r15d
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 4
sub ebx, eax
mov r8, r15
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.14014d290
movsxd r11, r14d
mov rcx, r12
cmp r11, r12
jge 0x1400bda71
mov rsi, qword [rsp + 0xc0]
lea rax, [rsp + 0x30]
mov r13d, dword [rsp + 0xc8]
mov r9d, r14d
neg r9d
sub rsi, rax
nop
mov r10, rdi
test r15d, r15d
jle 0x1400bda58
mov r8d, r14d
nop dword [rax + rax]
cmp r8d, r12d
jge 0x1400bda55
mov eax, r8d
lea rdx, [rsp + 0x30]
sub eax, dword [rsp + 0xd0]
add rdx, r10
shr eax, 0x1f
mov ecx, r13d
sub ecx, r9d
dec al
sub ecx, r8d
inc r10
sub ecx, r14d
inc r8d
dec ecx
shr ecx, 0x1f
dec cl
and cl, al
lea rax, [rsi + r11]
and cl, byte [rax + rdx]
or byte [rdx], cl
cmp r10, r15
jl 0x1400bda10
mov rcx, r12
add r14d, r15d
sub r9d, r15d
add r11, r15
cmp r11, rcx
jl 0x1400bda00
mov r13, qword [rsp + 0xd8]
xor sil, sil
cmp dword [rsp + 0x20], edi
jne 0x1400bdab1
test r15d, r15d
jle 0x1400bdb35
lea rax, [r15 - 1]
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, ebx
inc ebx
and rcx, rax
movzx ecx, byte [rsp + rcx + 0x30]
xor cl, byte [rdi + r13]
inc rdi
or sil, cl
cmp rdi, r15
jl 0x1400bda90
jmp 0x1400bdb35
cmp r15d, 0x14
jne 0x1400bdaf6
test r15d, r15d
jle 0x1400bdb35
nop dword [rax]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ebx
inc ebx
lea ecx, [rdx + rdx*4]
shl ecx, 2
sub eax, ecx
movsxd rcx, eax
movzx eax, byte [rsp + rcx + 0x30]
xor al, byte [rdi + r13]
inc rdi
or sil, al
cmp rdi, r15
jl 0x1400bdac0
jmp 0x1400bdb35
cmp r15d, 0x30
jne 0x1400bdb35
test r15d, r15d
jle 0x1400bdb35
mov eax, 0x2aaaaaab
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ebx
inc ebx
lea ecx, [rdx + rdx*2]
shl ecx, 4
sub eax, ecx
movsxd rcx, eax
movzx eax, byte [rsp + rcx + 0x30]
xor al, byte [rdi + r13]
inc rdi
or sil, al
cmp rdi, r15
jl 0x1400bdb01
movzx eax, sil
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400c7f70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
xor eax, eax
mov r10, rcx
mov r9d, eax
test r8d, r8d
jle 0x1400c8042
cmp r8d, 8
jb 0x1400c8042
mov qword [rsp + 0x10], rbx
lea r11, [rdx + 4]
mov qword [rsp], rdi
sub rcx, rdx
movsxd rbx, r8d
mov rdi, 0xfffffffffffffffc
and rbx, 0xfffffffffffffff8
xorps xmm4, xmm4
sub rdi, rdx
xorps xmm3, xmm3
nop word [rax + rax]
movd xmm2, dword [rcx + r11 - 4]
xorps xmm0, xmm0
movd xmm1, dword [r11 - 4]
lea r11, [r11 + 8]
punpcklbw xmm2, xmm0
lea rax, [rdi + r11]
punpcklwd xmm2, xmm0
add r9d, 8
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
movd xmm1, dword [r11 - 8]
punpcklbw xmm1, xmm0
orps xmm4, xmm2
movd xmm2, dword [rcx + r11 - 8]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
orps xmm3, xmm2
cmp rax, rbx
jl 0x1400c7fc0
mov rdi, qword [rsp]
orps xmm3, xmm4
mov rbx, qword [rsp + 0x10]
movdqa xmm0, xmm3
psrldq xmm0, 8
orps xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
orps xmm3, xmm0
movd eax, xmm3
movsxd r11, r9d
movsxd r9, r8d
cmp r11, r9
jge 0x1400c8078
sub r10, rdx
lea rcx, [r11 + rdx]
sub r9, r11
nop word [rax + rax]
movzx r8d, byte [rcx + r10]
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
xor r8d, edx
or eax, r8d
sub r9, 1
jne 0x1400c8060
add rsp, 8
ret
Function at 0x1400ce5c0
Capabilities:
Hash data using sha256
Hash data using sha384
Hash data using sha512

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor edx, edx
add rcx, 0x5b28
mov r8d, 0x3e8
mov qword [rbx + 0x5b20], rcx
call fcn.14014d290
mov rax, qword [rbx + 0x5b20]
mov rcx, qword [rbx + 0x5fd0]
add rax, 0x1b0
je 0x1400ce79e
xor edx, edx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x70], rcx
mov dword [rax], 0x6a09e667
mov dword [rax + 4], 0xbb67ae85
mov dword [rax + 8], 0x3c6ef372
mov dword [rax + 0xc], 0xa54ff53a
mov dword [rax + 0x10], 0x510e527f
mov dword [rax + 0x14], 0x9b05688c
mov dword [rax + 0x18], 0x1f83d9ab
mov dword [rax + 0x1c], 0x5be0cd19
mov qword [rax + 0x60], rdx
mov dword [rax + 0x68], edx
mov rcx, qword [rbx + 0x5b20]
add rcx, 0x228
je 0x1400ce79e
mov rax, qword [rbx + 0x5fd0]
mov qword [rcx + 0xd8], rax
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
mov qword [rcx + 0x38], rax
mov dword [rcx + 0xc0], edx
mov qword [rcx + 0xc8], rdx
mov qword [rcx + 0xd0], rdx
mov rcx, qword [rbx + 0x5b20]
add rcx, 0x308
je 0x1400ce79e
mov rax, qword [rbx + 0x5fd0]
mov qword [rcx + 0xd8], rax
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
xor eax, eax
mov dword [rcx + 0xc0], edx
mov qword [rcx + 0xc8], rdx
mov qword [rcx + 0xd0], rdx
add rsp, 0x20
pop rbx
ret
mov eax, 0xffffff53
add rsp, 0x20
pop rbx
ret
Function at 0x1400d73e0
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x100
mov rbx, rcx
mov r9d, 0xffffff53
sub r8d, 4
je 0x1400d75b4
sub r8d, 1
je 0x1400d74ec
cmp r8d, 1
jne 0x1400d7638
movdqa xmm0, xmmword [0x1401d5330]
xor eax, eax
movdqa xmm1, xmmword [0x1401d5320]
movabs rcx, 0x6a09e667f3bcc908
mov qword [rsp + 0x20], rcx
movabs rcx, 0xbb67ae8584caa73b
movdqa xmmword [rbp - 0x79], xmm0
movdqa xmm0, xmmword [0x1401d52b0]
mov qword [rsp + 0x28], rcx
movdqa xmmword [rbp - 0x59], xmm0
mov qword [rbp + 0x4f], rax
movdqa xmmword [rbp - 0x69], xmm1
mov dword [rbp + 0x37], eax
mov qword [rbp + 0x3f], rax
mov qword [rbp + 0x47], rax
test rbx, rbx
jne 0x1400d7478
test edx, edx
jne 0x1400d74e2
mov r8d, edx
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.140133de0
mov r9d, eax
test eax, eax
jne 0x1400d74e2
test rbx, rbx
je 0x1400d74dc
lea rcx, [rsp + 0x20]
call fcn.140133ca0
mov r9d, eax
test eax, eax
jne 0x1400d74e2
movaps xmm0, xmmword [rsp + 0x20]
lea rcx, [rsp + 0x20]
movaps xmm1, xmmword [rbp - 0x79]
movups xmmword [rbx], xmm0
movaps xmm0, xmmword [rbp - 0x69]
movups xmmword [rbx + 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x59]
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm1
call fcn.140135200
mov r9d, eax
mov eax, 0x40
jmp 0x1400d7633
mov r9d, 0xffffff53
mov eax, 0x40
jmp 0x1400d7633
movdqa xmm0, xmmword [0x1401d5270]
xor eax, eax
movdqa xmm1, xmmword [0x1401d5300]
movabs rcx, 0xcbbb9d5dc1059ed8
mov qword [rsp + 0x20], rcx
movabs rcx, 0x629a292a367cd507
movdqa xmmword [rbp - 0x79], xmm0
movdqa xmm0, xmmword [0x1401d52a0]
mov qword [rsp + 0x28], rcx
movdqa xmmword [rbp - 0x59], xmm0
mov qword [rbp + 0x4f], rax
movdqa xmmword [rbp - 0x69], xmm1
mov dword [rbp + 0x37], eax
mov qword [rbp + 0x3f], rax
mov qword [rbp + 0x47], rax
test rbx, rbx
jne 0x1400d754b
test edx, edx
jne 0x1400d75ad
mov r8d, edx
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.140133de0
mov r9d, eax
test eax, eax
jne 0x1400d75ad
test rbx, rbx
je 0x1400d75a7
lea rcx, [rsp + 0x20]
call fcn.140133ca0
mov r9d, eax
test eax, eax
jne 0x1400d75ad
movaps xmm0, xmmword [rsp + 0x20]
lea rcx, [rsp + 0x20]
movaps xmm1, xmmword [rbp - 0x79]
movups xmmword [rbx], xmm0
movaps xmm0, xmmword [rbp - 0x69]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm0
call fcn.140133b20
mov r9d, eax
mov eax, 0x30
jmp 0x1400d7633
mov r9d, 0xffffff53
mov eax, 0x30
jmp 0x1400d7633
xor eax, eax
mov dword [rsp + 0x20], 0x6a09e667
mov dword [rsp + 0x24], 0xbb67ae85
mov dword [rsp + 0x28], 0x3c6ef372
mov dword [rbp - 0x7d], 0xa54ff53a
mov dword [rbp - 0x79], 0x510e527f
mov dword [rbp - 0x75], 0x9b05688c
mov dword [rbp - 0x71], 0x1f83d9ab
mov dword [rbp - 0x6d], 0x5be0cd19
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x21], eax
mov qword [rbp - 0x19], rax
test rbx, rbx
jne 0x1400d7607
test edx, edx
je 0x1400d761e
jmp 0x1400d762e
mov r8d, edx
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.14013ac30
mov r9d, eax
test eax, eax
jne 0x1400d762e
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14013b960
mov r9d, eax
mov eax, 0x20
test r9d, r9d
je 0x1400d763b
mov eax, r9d
mov rbx, qword [rsp + 0x110]
add rsp, 0x100
pop rbp
ret
Function at 0x1400d7660
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x4f]
sub rsp, 0x100
mov rbx, rcx
mov r9d, 0xffffff53
mov ecx, dword [rbp + 0x7f]
sub ecx, 4
je 0x1400d782e
sub ecx, 1
je 0x1400d7769
cmp ecx, 1
jne 0x1400d78af
movdqa xmm0, xmmword [0x1401d5330]
xor eax, eax
movdqa xmm1, xmmword [0x1401d5320]
movabs rcx, 0x6a09e667f3bcc908
mov qword [rsp + 0x20], rcx
movabs rcx, 0xbb67ae8584caa73b
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm0, xmmword [0x1401d52b0]
mov qword [rsp + 0x28], rcx
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rbp + 0x47], rax
movdqa xmmword [rbp - 0x71], xmm1
mov dword [rbp + 0x2f], eax
mov qword [rbp + 0x37], rax
mov qword [rbp + 0x3f], rax
test rdx, rdx
jne 0x1400d76fa
test r8d, r8d
jne 0x1400d775f
lea rcx, [rsp + 0x20]
call fcn.140133de0
mov r9d, eax
test eax, eax
jne 0x1400d775f
test rbx, rbx
je 0x1400d7759
lea rcx, [rsp + 0x20]
call fcn.140133ca0
mov r9d, eax
test eax, eax
jne 0x1400d775f
movaps xmm0, xmmword [rsp + 0x20]
lea rcx, [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rbx], xmm0
movaps xmm0, xmmword [rbp - 0x71]
movups xmmword [rbx + 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x61]
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm1
call fcn.140135200
mov r9d, eax
mov eax, 0x40
jmp 0x1400d78aa
mov r9d, 0xffffff53
mov eax, 0x40
jmp 0x1400d78aa
movdqa xmm0, xmmword [0x1401d5270]
xor eax, eax
movdqa xmm1, xmmword [0x1401d5300]
movabs rcx, 0xcbbb9d5dc1059ed8
mov qword [rsp + 0x20], rcx
movabs rcx, 0x629a292a367cd507
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm0, xmmword [0x1401d52a0]
mov qword [rsp + 0x28], rcx
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rbp + 0x47], rax
movdqa xmmword [rbp - 0x71], xmm1
mov dword [rbp + 0x2f], eax
mov qword [rbp + 0x37], rax
mov qword [rbp + 0x3f], rax
test rdx, rdx
jne 0x1400d77ca
test r8d, r8d
jne 0x1400d7827
lea rcx, [rsp + 0x20]
call fcn.140133de0
mov r9d, eax
test eax, eax
jne 0x1400d7827
test rbx, rbx
je 0x1400d7821
lea rcx, [rsp + 0x20]
call fcn.140133ca0
mov r9d, eax
test eax, eax
jne 0x1400d7827
movaps xmm0, xmmword [rsp + 0x20]
lea rcx, [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rbx], xmm0
movaps xmm0, xmmword [rbp - 0x71]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm0
call fcn.140133b20
mov r9d, eax
mov eax, 0x30
jmp 0x1400d78aa
mov r9d, 0xffffff53
mov eax, 0x30
jmp 0x1400d78aa
xor eax, eax
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 [rbp - 0x7d], 0x9b05688c
mov dword [rbp - 0x79], 0x1f83d9ab
mov dword [rbp - 0x75], 0x5be0cd19
mov qword [rbp - 0x31], rax
mov dword [rbp - 0x29], eax
mov qword [rbp - 0x21], rax
test rdx, rdx
jne 0x1400d7884
test r8d, r8d
je 0x1400d7895
jmp 0x1400d78a5
lea rcx, [rsp + 0x20]
call fcn.14013ac30
mov r9d, eax
test eax, eax
jne 0x1400d78a5
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14013b960
mov r9d, eax
mov eax, 0x20
test r9d, r9d
je 0x1400d78b2
mov eax, r9d
mov rbx, qword [rsp + 0x110]
add rsp, 0x100
pop rbp
ret