Function at 0x1401ff560
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbx, [rsp + 0x7f]
mov r13, rcx
mov rbp, rdx
mov rsi, r8
and rbx, 0xffffffffffffffc0
lea r14, [rcx + 0x80]
cmp r8, 0x40
ja 0x1401ff690
call sym.sph_sha256_init
test rsi, rsi
je 0x1401ff820
mov rdx, rsi
cmp rsi, 0x40
jne 0x1401ff85b
mov eax, 0x36
mov r8d, 0x40
mov rdx, rbx
mov rcx, r13
vpbroadcastb zmm0, eax
vpxorq zmm0, zmm0, zmmword [rbp]
lea r15, [rbx + 0x40]
vmovdqu8 zmmword [rbx], zmm0
vzeroupper
call sym.sph_sha224
mov rcx, r14
xor r12d, r12d
call sym.sph_sha256_init
mov eax, 0x5c
vpbroadcastb zmm0, eax
vpxorq zmm0, zmm0, zmmword [rbp]
vmovdqu8 zmmword [rbx], zmm0
vzeroupper
mov ecx, r12d
movabs rax, 0x5c5c5c5c5c5c5c5c
cmp r12d, 8
jae 0x1401ff640
and r12d, 4
jne 0x1401ff80a
test ecx, ecx
je 0x1401ff660
mov byte [r15], 0x5c
test cl, 2
je 0x1401ff660
mov word [r15 + rcx - 2], 0x5c5c
jmp 0x1401ff660
lea rdi, [r15 + 8]
mov edx, r12d
mov qword [r15], rax
and rdi, 0xfffffffffffffff8
mov qword [r15 + rdx - 8], rax
sub r15, rdi
lea ecx, [r12 + r15]
shr ecx, 3
rep stosq qword [rdi], rax
mov r8d, 0x40
mov rdx, rbx
mov rcx, r14
call sym.sph_sha224
nop
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call sym.sph_sha256_init
mov r8, rsi
mov rdx, rbp
mov rcx, r13
lea rbp, [rsp + 0x20]
call sym.sph_sha224
mov rcx, r13
mov esi, 0x20
mov rdx, rbp
mov r12d, 0x20
call sym.sph_sha256_close
mov rcx, r13
call sym.sph_sha256_init
mov edx, 0x20
mov eax, 0x36
vpbroadcastb ymm0, eax
vpxor ymm0, ymm0, ymmword [rbp]
mov rax, rdx
and rax, 0xffffffffffffffe0
and edx, 0x1f
vmovdqu8 ymmword [rbx], ymm0
je 0x1401ff880
vzeroupper
nop word cs:[rax + rax]
nop
movzx edx, byte [rbp + rax]
inc rax
xor edx, 0x36
mov byte [rax + rbx - 1], dl
cmp rax, rsi
jb 0x1401ff700
lea r15, [rbx + rsi]
mov ecx, r12d
movabs rax, 0x3636363636363636
cmp r12d, 8
jae 0x1401ff7c0
test r12b, 4
jne 0x1401ff890
test ecx, ecx
jne 0x1401ff7f0
mov r8d, 0x40
mov rdx, rbx
mov rcx, r13
call sym.sph_sha224
mov rcx, r14
call sym.sph_sha256_init
lea rax, [rsi - 1]
cmp rsi, 0x40
je 0x1401ff5ec
cmp rax, 0x1e
jbe 0x1401ff879
mov eax, 0x5c
vpbroadcastb ymm0, eax
vpxor ymm0, ymm0, ymmword [rbp]
vmovdqu8 ymmword [rbx], ymm0
cmp rsi, 0x20
je 0x1401ff888
mov eax, 0x20
vzeroupper
nop word [rax + rax]
movzx edx, byte [rbp + rax]
inc rax
xor edx, 0x5c
mov byte [rax + rbx - 1], dl
cmp rax, rsi
jb 0x1401ff7a0
jmp 0x1401ff607
lea rdi, [r15 + 8]
mov rcx, r15
mov edx, r12d
mov qword [r15], rax
and rdi, 0xfffffffffffffff8
mov qword [r15 + rdx - 8], rax
sub rcx, rdi
add ecx, r12d
shr ecx, 3
rep stosq qword [rdi], rax
jmp 0x1401ff741
mov byte [r15], 0x36
test cl, 2
je 0x1401ff741
mov word [r15 + rcx - 2], 0x3636
jmp 0x1401ff741
mov dword [r15], 0x5c5c5c5c
mov dword [r15 + rcx - 4], 0x5c5c5c5c
jmp 0x1401ff660
mov eax, 0x36
mov r8d, 0x40
mov rdx, rbx
mov rcx, r13
vpbroadcastb zmm0, eax
mov r15, rbx
mov r12d, 0x40
vmovdqu8 zmmword [rbx], zmm0
vzeroupper
call sym.sph_sha224
mov rcx, r14
call sym.sph_sha256_init
jmp 0x1401ff607
mov r12d, 0x40
lea rax, [rsi - 1]
sub r12, rsi
cmp rax, 0x1e
ja 0x1401ff6cb
xor eax, eax
jmp 0x1401ff700
xor eax, eax
jmp 0x1401ff7a0
vzeroupper
jmp 0x1401ff714
vzeroupper
jmp 0x1401ff607
mov dword [r15], 0x36363636
mov dword [r15 + rcx - 4], 0x36363636
jmp 0x1401ff741