Function at 0x1400054af
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2e8
movaps xmmword [rsp + 0x2d0], xmm7
movaps xmmword [rsp + 0x2c0], xmm6
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x78], r8
mov rbx, rdx
mov rdi, rcx
xorps xmm6, xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
cmp rdx, 0x41
jb 0x1400055f4
lea r15, [rsp + 0x188]
movups xmmword [r15 + 0x30], xmm6
movups xmmword [r15 + 0x20], xmm6
movups xmmword [r15 + 0x10], xmm6
movups xmmword [r15], xmm6
mov byte [r15 + 0x40], 0
movups xmm0, xmmword [0x1401a94f0]
movaps xmmword [r15 - 0x28], xmm0
movups xmm0, xmmword [0x1401a9500]
movaps xmmword [r15 - 0x18], xmm0
and qword [r15 - 8], 0
lea rsi, [rsp + 0x160]
lea rcx, [rsp + 0xc0]
mov qword [rcx], rsi
mov r13, rbx
and r13, 0xffffffffffffffc0
mov r12d, ebx
and r12d, 0x3f
add r13, rdi
shr rbx, 6
mov rdx, rdi
mov r8, rbx
call fcn.14000afdf
lea r9, [0x1401a8a88]
mov r8d, 0x40
mov rcx, r12
mov rdx, r15
call fcn.1400ec4fa
lea rcx, [0x1401a8aa0]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r13
mov r9, r12
call fcn.1400a8fde
mov byte [rsi + 0x68], r12b
lea rax, [rsp + 0xc0]
mov ecx, 0xe
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
lea rsi, [rsp + 0x200]
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
lea rdx, [rsp + 0xe8]
mov rcx, rax
mov r8, rsi
call fcn.140001da1
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x140005628
lea r9, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hmac_0.12.1_src_lib.rs
lea rdx, [rsp + 0x30]
mov r8d, 0x40
mov rcx, rbx
call fcn.1400ec4fa
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hmac_0.12.1_src_lib.rs
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rdi
mov r9, rbx
call fcn.1400a8fde
mov r12, qword [rsp + 0x360]
mov r14, qword [rsp + 0x358]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x190], xmm3
movaps xmmword [rsp + 0x180], xmm2
movaps xmmword [rsp + 0x170], xmm1
movaps xmmword [rsp + 0x160], xmm0
xor eax, eax
cmp rax, 0x40
je 0x140005681
xor byte [rsp + rax + 0x160], 0x36
inc rax
jmp 0x14000566e
movups xmm6, xmmword [0x1401a9500]
lea r15, [rsp + 0x90]
movaps xmmword [r15 + 0x10], xmm6
movups xmm7, xmmword [0x1401a94f0]
movaps xmmword [r15], xmm7
and qword [r15 + 0x20], 0
lea rdx, [rsp + 0x160]
mov r8d, 1
mov rcx, r15
call fcn.140001d98
xor eax, eax
cmp rax, 0x40
je 0x1400056d0
xor byte [rsp + rax + 0x160], 0x6a
inc rax
jmp 0x1400056bd
lea rsi, [rsp + 0x30]
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm7
and qword [rsi + 0x20], 0
lea r13, [rsp + 0x160]
mov r8d, 1
mov rcx, rsi
mov rdx, r13
call fcn.140001d98
mov rax, qword [rsi + 0x20]
lea rbp, [rsp + 0xc0]
mov qword [rbp + 0x48], rax
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movups xmmword [rbp + 0x38], xmm1
movups xmmword [rbp + 0x28], xmm0
lea rax, [rsp + 0xb0]
movaps xmm0, xmmword [rax - 0x20]
movaps xmm1, xmmword [rax - 0x10]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
mov rax, qword [rax]
mov qword [rbp + 0x20], rax
xorps xmm0, xmm0
lea rbx, [rsp + 0x228]
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
movups xmmword [rbx + 0x70], xmm0
movups xmmword [rbx + 0x80], xmm0
mov byte [rbx + 0x90], 0
mov ecx, 0xa
mov rdi, rbx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x28], 0
test r12, r12
je 0x14000593a
cmp r12, 0x20
mov esi, 0x20
cmovb rsi, r12
lea rdi, [r14 + rsi]
xor eax, eax
cmp rsi, rax
je 0x14000579f
mov byte [r14 + rax], 0
inc rax
jmp 0x140005790
mov qword [rsp + 0x88], r12
mov rcx, r13
mov rdx, rbx
call fcn.14000afe7
mov rcx, r13
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
call fcn.14000ae6b
mov rax, qword [rsp + 0x28]
inc eax
mov qword [rsp + 0x28], rax
bswap eax
mov dword [rsp + 0xc0], eax
mov r8d, 4
mov rcx, r13
mov rdx, rbp
call fcn.14000ae6b
mov r8d, 0x98
mov rcx, rbp
mov rdx, r13
call sub.msvcrt.dll_memcpy
lea r12, [rsp + 0x30]
mov rcx, r12
mov rdx, rbp
call fcn.14000540f
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], r12
lea rax, [rsp + 0x50]
mov qword [rsp + 0xd8], rax
and qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rsi
mov rcx, rbp
call fcn.140004404
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm1
mov r12d, 1
cmp r12d, dword [rsp + 0x350]
jae 0x140005927
inc r12d
mov rcx, r13
mov rdx, rbx
call fcn.14000afe7
mov r8d, 0x20
mov rcx, r13
mov rdx, r15
call fcn.14000ae6b
mov r8d, 0x98
mov rcx, rbp
mov rdx, r13
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x30]
mov rdx, rbp
call fcn.14000540f
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], r15
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xd8], rax
and qword [rsp + 0xe0], 0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm1
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rsi
mov rcx, rbp
call fcn.140004404
jmp 0x140005874
mov r12, qword [rsp + 0x88]
sub r12, rsi
mov r14, rdi
jmp 0x140005774
movaps xmm6, xmmword [rsp + 0x2c0]
movaps xmm7, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret