Function at 0x14000f150
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov eax, 0x1128
call dbg.___chkstk_ms
sub rsp, rax
movdqa xmmword [rsp + 0x1110], xmm8
movaps xmmword [rsp + 0x1100], xmm7
movaps xmmword [rsp + 0x10f0], xmm6
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
pxor xmm8, xmm8
movdqu xmmword [rsp + 0x1078], xmm8
movdqu xmmword [rsp + 0x1068], xmm8
movdqu xmmword [rsp + 0x1058], xmm8
movdqu xmmword [rsp + 0x1048], xmm8
movdqu xmmword [rsp + 0x1038], xmm8
movdqu xmmword [rsp + 0xb8], xmm8
movdqu xmmword [rsp + 0xc8], xmm8
movdqu xmmword [rsp + 0xd8], xmm8
movdqu xmmword [rsp + 0xe8], xmm8
movdqu xmmword [rsp + 0xf8], xmm8
movaps xmm6, xmmword [0x14012bb70]
movups xmmword [rsp + 0x118], xmm6
movaps xmm7, xmmword [0x14012bb80]
movups xmmword [rsp + 0x108], xmm7
mov byte [rsp + 0x128], 0
movdqu xmmword [rsp + 0x138], xmm8
movdqu xmmword [rsp + 0x148], xmm8
movdqu xmmword [rsp + 0x158], xmm8
movdqu xmmword [rsp + 0x168], xmm8
movdqu xmmword [rsp + 0x178], xmm8
movups xmmword [rsp + 0x198], xmm6
movups xmmword [rsp + 0x188], xmm7
mov byte [rsp + 0x1a8], 0
movdqu xmmword [rsp + 0x1f8], xmm8
movdqu xmmword [rsp + 0x1e8], xmm8
movdqu xmmword [rsp + 0x1d8], xmm8
movdqu xmmword [rsp + 0x1c8], xmm8
movdqu xmmword [rsp + 0x1b8], xmm8
movups xmmword [rsp + 0x208], xmm7
movups xmmword [rsp + 0x218], xmm6
mov byte [rsp + 0x228], 0
movdqu xmmword [rsp + 0x238], xmm8
movdqu xmmword [rsp + 0x248], xmm8
movdqu xmmword [rsp + 0x258], xmm8
movdqu xmmword [rsp + 0x268], xmm8
movdqu xmmword [rsp + 0x278], xmm8
movups xmmword [rsp + 0x288], xmm7
movups xmmword [rsp + 0x298], xmm6
mov byte [rsp + 0x2a8], 0
movdqu xmmword [rsp + 0x2b8], xmm8
movdqu xmmword [rsp + 0x2c8], xmm8
movdqu xmmword [rsp + 0x2d8], xmm8
movdqu xmmword [rsp + 0x2e8], xmm8
movdqu xmmword [rsp + 0x2f8], xmm8
movups xmmword [rsp + 0x318], xmm6
movups xmmword [rsp + 0x308], xmm7
mov byte [rsp + 0x328], 0
movdqu xmmword [rsp + 0x378], xmm8
movdqu xmmword [rsp + 0x368], xmm8
movdqu xmmword [rsp + 0x358], xmm8
movdqu xmmword [rsp + 0x348], xmm8
movdqu xmmword [rsp + 0x338], xmm8
movups xmmword [rsp + 0x398], xmm6
movups xmmword [rsp + 0x388], xmm7
mov byte [rsp + 0x3a8], 0
movdqu xmmword [rsp + 0x3f8], xmm8
movdqu xmmword [rsp + 0x3e8], xmm8
movdqu xmmword [rsp + 0x3d8], xmm8
movdqu xmmword [rsp + 0x3c8], xmm8
movdqu xmmword [rsp + 0x3b8], xmm8
movups xmmword [rsp + 0x408], xmm7
movups xmmword [rsp + 0x418], xmm6
mov byte [rsp + 0x428], 0
movdqu xmmword [rsp + 0x478], xmm8
movdqu xmmword [rsp + 0x468], xmm8
movdqu xmmword [rsp + 0x458], xmm8
movdqu xmmword [rsp + 0x448], xmm8
movdqu xmmword [rsp + 0x438], xmm8
movups xmmword [rsp + 0x498], xmm6
movups xmmword [rsp + 0x488], xmm7
mov byte [rsp + 0x4a8], 0
movdqu xmmword [rsp + 0x4f8], xmm8
movdqu xmmword [rsp + 0x4e8], xmm8
movdqu xmmword [rsp + 0x4d8], xmm8
movdqu xmmword [rsp + 0x4c8], xmm8
movdqu xmmword [rsp + 0x4b8], xmm8
movups xmmword [rsp + 0x518], xmm6
movups xmmword [rsp + 0x508], xmm7
mov byte [rsp + 0x528], 0
movdqu xmmword [rsp + 0x578], xmm8
movdqu xmmword [rsp + 0x568], xmm8
movdqu xmmword [rsp + 0x558], xmm8
movdqu xmmword [rsp + 0x548], xmm8
movdqu xmmword [rsp + 0x538], xmm8
movups xmmword [rsp + 0x598], xmm6
movups xmmword [rsp + 0x588], xmm7
mov byte [rsp + 0x5a8], 0
movdqu xmmword [rsp + 0x5f8], xmm8
movdqu xmmword [rsp + 0x5e8], xmm8
movdqu xmmword [rsp + 0x5d8], xmm8
movdqu xmmword [rsp + 0x5c8], xmm8
movdqu xmmword [rsp + 0x5b8], xmm8
movups xmmword [rsp + 0x618], xmm6
movups xmmword [rsp + 0x608], xmm7
mov byte [rsp + 0x628], 0
movdqu xmmword [rsp + 0x678], xmm8
movdqu xmmword [rsp + 0x668], xmm8
movdqu xmmword [rsp + 0x658], xmm8
movdqu xmmword [rsp + 0x648], xmm8
movdqu xmmword [rsp + 0x638], xmm8
movups xmmword [rsp + 0x698], xmm6
movups xmmword [rsp + 0x688], xmm7
mov byte [rsp + 0x6a8], 0
movdqu xmmword [rsp + 0x6f8], xmm8
movdqu xmmword [rsp + 0x6e8], xmm8
movdqu xmmword [rsp + 0x6d8], xmm8
movdqu xmmword [rsp + 0x6c8], xmm8
movdqu xmmword [rsp + 0x6b8], xmm8
movups xmmword [rsp + 0x718], xmm6
movups xmmword [rsp + 0x708], xmm7
mov byte [rsp + 0x728], 0
movdqu xmmword [rsp + 0x778], xmm8
movdqu xmmword [rsp + 0x768], xmm8
movdqu xmmword [rsp + 0x758], xmm8
movdqu xmmword [rsp + 0x748], xmm8
movdqu xmmword [rsp + 0x738], xmm8
movups xmmword [rsp + 0x798], xmm6
movups xmmword [rsp + 0x788], xmm7
mov byte [rsp + 0x7a8], 0
movdqu xmmword [rsp + 0x7f8], xmm8
movdqu xmmword [rsp + 0x7e8], xmm8
movdqu xmmword [rsp + 0x7d8], xmm8
movdqu xmmword [rsp + 0x7c8], xmm8
movdqu xmmword [rsp + 0x7b8], xmm8
movups xmmword [rsp + 0x818], xmm6
movups xmmword [rsp + 0x808], xmm7
mov byte [rsp + 0x828], 0
movdqu xmmword [rsp + 0x878], xmm8
movdqu xmmword [rsp + 0x868], xmm8
movdqu xmmword [rsp + 0x858], xmm8
movdqu xmmword [rsp + 0x848], xmm8
movdqu xmmword [rsp + 0x838], xmm8
movups xmmword [rsp + 0x898], xmm6
movups xmmword [rsp + 0x888], xmm7
mov byte [rsp + 0x8a8], 0
movdqu xmmword [rsp + 0x8f8], xmm8
movdqu xmmword [rsp + 0x8e8], xmm8
movdqu xmmword [rsp + 0x8d8], xmm8
movdqu xmmword [rsp + 0x8c8], xmm8
movdqu xmmword [rsp + 0x8b8], xmm8
movups xmmword [rsp + 0x918], xmm6
movups xmmword [rsp + 0x908], xmm7
mov byte [rsp + 0x928], 0
movdqu xmmword [rsp + 0x978], xmm8
movdqu xmmword [rsp + 0x968], xmm8
movdqu xmmword [rsp + 0x958], xmm8
movdqu xmmword [rsp + 0x948], xmm8
movdqu xmmword [rsp + 0x938], xmm8
movups xmmword [rsp + 0x998], xmm6
movups xmmword [rsp + 0x988], xmm7
mov byte [rsp + 0x9a8], 0
movdqu xmmword [rsp + 0x9f8], xmm8
movdqu xmmword [rsp + 0x9e8], xmm8
movdqu xmmword [rsp + 0x9d8], xmm8
movdqu xmmword [rsp + 0x9c8], xmm8
movdqu xmmword [rsp + 0x9b8], xmm8
movups xmmword [rsp + 0xa18], xmm6
movups xmmword [rsp + 0xa08], xmm7
mov byte [rsp + 0xa28], 0
movdqu xmmword [rsp + 0xa78], xmm8
movdqu xmmword [rsp + 0xa68], xmm8
movdqu xmmword [rsp + 0xa58], xmm8
movdqu xmmword [rsp + 0xa48], xmm8
movdqu xmmword [rsp + 0xa38], xmm8
movups xmmword [rsp + 0xa98], xmm6
movups xmmword [rsp + 0xa88], xmm7
mov byte [rsp + 0xaa8], 0
movdqu xmmword [rsp + 0xaf8], xmm8
movdqu xmmword [rsp + 0xae8], xmm8
movdqu xmmword [rsp + 0xad8], xmm8
movdqu xmmword [rsp + 0xac8], xmm8
movdqu xmmword [rsp + 0xab8], xmm8
movups xmmword [rsp + 0xb18], xmm6
movups xmmword [rsp + 0xb08], xmm7
mov byte [rsp + 0xb28], 0
movdqu xmmword [rsp + 0xb78], xmm8
movdqu xmmword [rsp + 0xb68], xmm8
movdqu xmmword [rsp + 0xb58], xmm8
movdqu xmmword [rsp + 0xb48], xmm8
movdqu xmmword [rsp + 0xb38], xmm8
movups xmmword [rsp + 0xb98], xmm6
movups xmmword [rsp + 0xb88], xmm7
mov byte [rsp + 0xba8], 0
movdqu xmmword [rsp + 0xbf8], xmm8
movdqu xmmword [rsp + 0xbe8], xmm8
movdqu xmmword [rsp + 0xbd8], xmm8
movdqu xmmword [rsp + 0xbc8], xmm8
movdqu xmmword [rsp + 0xbb8], xmm8
movups xmmword [rsp + 0xc18], xmm6
movups xmmword [rsp + 0xc08], xmm7
mov byte [rsp + 0xc28], 0
movdqu xmmword [rsp + 0xc78], xmm8
movdqu xmmword [rsp + 0xc68], xmm8
movdqu xmmword [rsp + 0xc58], xmm8
movdqu xmmword [rsp + 0xc48], xmm8
movdqu xmmword [rsp + 0xc38], xmm8
movups xmmword [rsp + 0xc98], xmm6
movups xmmword [rsp + 0xc88], xmm7
mov byte [rsp + 0xca8], 0
movdqu xmmword [rsp + 0xcf8], xmm8
movdqu xmmword [rsp + 0xce8], xmm8
movdqu xmmword [rsp + 0xcd8], xmm8
movdqu xmmword [rsp + 0xcc8], xmm8
movdqu xmmword [rsp + 0xcb8], xmm8
movups xmmword [rsp + 0xd18], xmm6
movups xmmword [rsp + 0xd08], xmm7
mov byte [rsp + 0xd28], 0
movdqu xmmword [rsp + 0xd78], xmm8
movdqu xmmword [rsp + 0xd68], xmm8
movdqu xmmword [rsp + 0xd58], xmm8
movdqu xmmword [rsp + 0xd48], xmm8
movdqu xmmword [rsp + 0xd38], xmm8
movups xmmword [rsp + 0xd98], xmm6
movups xmmword [rsp + 0xd88], xmm7
mov byte [rsp + 0xda8], 0
movdqu xmmword [rsp + 0xdf8], xmm8
movdqu xmmword [rsp + 0xde8], xmm8
movdqu xmmword [rsp + 0xdd8], xmm8
movdqu xmmword [rsp + 0xdc8], xmm8
movdqu xmmword [rsp + 0xdb8], xmm8
movups xmmword [rsp + 0xe18], xmm6
movups xmmword [rsp + 0xe08], xmm7
mov byte [rsp + 0xe28], 0
movdqu xmmword [rsp + 0xe78], xmm8
movdqu xmmword [rsp + 0xe68], xmm8
movdqu xmmword [rsp + 0xe58], xmm8
movdqu xmmword [rsp + 0xe48], xmm8
movdqu xmmword [rsp + 0xe38], xmm8
movups xmmword [rsp + 0xe98], xmm6
movups xmmword [rsp + 0xe88], xmm7
mov byte [rsp + 0xea8], 0
movdqu xmmword [rsp + 0xef8], xmm8
movdqu xmmword [rsp + 0xee8], xmm8
movdqu xmmword [rsp + 0xed8], xmm8
movdqu xmmword [rsp + 0xec8], xmm8
movdqu xmmword [rsp + 0xeb8], xmm8
movups xmmword [rsp + 0xf18], xmm6
movups xmmword [rsp + 0xf08], xmm7
mov byte [rsp + 0xf28], 0
movdqu xmmword [rsp + 0xf78], xmm8
movdqu xmmword [rsp + 0xf68], xmm8
movdqu xmmword [rsp + 0xf58], xmm8
movdqu xmmword [rsp + 0xf48], xmm8
movdqu xmmword [rsp + 0xf38], xmm8
movups xmmword [rsp + 0xf98], xmm6
movups xmmword [rsp + 0xf88], xmm7
mov byte [rsp + 0xfa8], 0
movdqu xmmword [rsp + 0xff8], xmm8
movdqu xmmword [rsp + 0xfe8], xmm8
movdqu xmmword [rsp + 0xfd8], xmm8
movdqu xmmword [rsp + 0xfc8], xmm8
movdqu xmmword [rsp + 0xfb8], xmm8
movups xmmword [rsp + 0x1018], xmm6
movups xmmword [rsp + 0x1008], xmm7
mov byte [rsp + 0x1028], 0
movups xmmword [rsp + 0x1098], xmm6
movups xmmword [rsp + 0x1088], xmm7
mov byte [rsp + 0x10a8], 0
lea r14, [rsp + 0x10b0]
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x230], 0
mov qword [rsp + 0x2b0], 0
mov qword [rsp + 0x330], 0
mov qword [rsp + 0x3b0], 0
mov qword [rsp + 0x430], 0
mov qword [rsp + 0x4b0], 0
mov qword [rsp + 0x530], 0
mov qword [rsp + 0x5b0], 0
mov qword [rsp + 0x630], 0
mov qword [rsp + 0x6b0], 0
mov qword [rsp + 0x730], 0
mov qword [rsp + 0x7b0], 0
mov qword [rsp + 0x830], 0
mov qword [rsp + 0x8b0], 0
mov qword [rsp + 0x930], 0
mov qword [rsp + 0x9b0], 0
mov qword [rsp + 0xa30], 0
mov qword [rsp + 0xab0], 0
mov qword [rsp + 0xb30], 0
mov qword [rsp + 0xbb0], 0
mov qword [rsp + 0xc30], 0
mov qword [rsp + 0xcb0], 0
mov qword [rsp + 0xd30], 0
mov qword [rsp + 0xdb0], 0
mov qword [rsp + 0xe30], 0
mov qword [rsp + 0xeb0], 0
mov qword [rsp + 0xf30], 0
mov qword [rsp + 0xfb0], 0
mov qword [rsp + 0x1030], 0
movdqu xmmword [rsp + 0x10d0], xmm8
movdqu xmmword [rsp + 0x10c0], xmm8
movdqu xmmword [rsp + 0x10b0], xmm8
mov dword [rsp + 0x10e8], 1
call sym.time::precise_time_s::h7229f2d069d56a25
movsd qword [rsp + 0x10e0], xmm0
lea r12, [rsp + 0x80]
lea r15, [rsp + 0x38]
movdqu xmmword [rsp + 0x68], xmm8
movdqu xmmword [rsp + 0x58], xmm8
movdqu xmmword [rsp + 0x48], xmm8
movdqu xmmword [rsp + 0x38], xmm8
mov qword [rsp + 0x78], 0
movups xmmword [rsp + 0x90], xmm6
movups xmmword [rsp + 0x80], xmm7
mov byte [rsp + 0xa0], 0
mov qword [rsp + 0x30], 0x100
mov qword [rsp + 0x28], r12
lea r9, [rsp + 0x28]
mov r8d, 0x20
mov rcx, r15
mov rdx, r14
call sym.__crypto::cryptoutil::FixedBuffer64_as_crypto::cryptoutil::FixedBuffer_::input::h3ea1ba1ca3532291
cmp byte [rsp + 0xa0], 0
jne 0x14000ff82
mov rax, rdi
shr rax, 0x3d
jne 0x14000ff9c
lea rax, [rdi*8]
add rax, qword [rsp + 0x30]
jb 0x14000ffb6
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r12
lea r9, [rsp + 0x28]
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call sym.__crypto::cryptoutil::FixedBuffer64_as_crypto::cryptoutil::FixedBuffer_::input::h3ea1ba1ca3532291
lea rdi, [rsp + 0x30]
mov rcx, rdi
call sym._ZN6crypto4sha29Engine2566finish17h6361bc73d1478511E.llvm.7797873040375068835
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmm1, xmmword [rsp + 0x90]
pxor xmm8, xmm8
movdqa xmm2, xmm0
punpckhbw xmm2, xmm8
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm8
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [rsp + 0x10b0], xmm0
movdqa xmm0, xmm1
punpckhbw xmm0, xmm8
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
punpcklbw xmm1, xmm8
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm0
movdqu xmmword [rsp + 0x10c0], xmm1
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x60], xmm8
movdqa xmmword [rsp + 0x70], xmm8
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x90], xmm6
mov byte [rsp + 0xa0], 0
mov qword [rsp + 0x30], 0x100
mov qword [rsp + 0x28], r12
lea r9, [rsp + 0x28]
mov r8d, 0x20
mov rcx, r15
mov rdx, r14
call sym.__crypto::cryptoutil::FixedBuffer64_as_crypto::cryptoutil::FixedBuffer_::input::h3ea1ba1ca3532291
mov rcx, rdi
call sym._ZN6crypto4sha29Engine2566finish17h6361bc73d1478511E.llvm.7797873040375068835
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmm1, xmmword [rsp + 0x90]
movdqa xmm2, xmm0
punpckhbw xmm2, xmm8
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm8
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [rsp + 0x10b0], xmm0
movdqa xmm0, xmm1
punpckhbw xmm0, xmm8
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
punpcklbw xmm1, xmm8
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm0
movdqu xmmword [rsp + 0x10c0], xmm1
inc byte [rsp + 0x10d0]
jne 0x14000ff3f
inc byte [rsp + 0x10d1]
jne 0x14000ff3f
inc byte [rsp + 0x10d2]
jne 0x14000ff3f
inc byte [rsp + 0x10d3]
jne 0x14000ff3f
inc byte [rsp + 0x10d4]
jne 0x14000ff3f
inc byte [rsp + 0x10d5]
jne 0x14000ff3f
inc byte [rsp + 0x10d6]
jne 0x14000ff3f
inc byte [rsp + 0x10d7]
jne 0x14000ff3f
inc byte [rsp + 0x10d8]
jne 0x14000ff3f
inc byte [rsp + 0x10d9]
jne 0x14000ff3f
inc byte [rsp + 0x10da]
jne 0x14000ff3f
inc byte [rsp + 0x10db]
jne 0x14000ff3f
inc byte [rsp + 0x10dc]
jne 0x14000ff3f
inc byte [rsp + 0x10dd]
jne 0x14000ff3f
inc byte [rsp + 0x10de]
jne 0x14000ff3f
inc byte [rsp + 0x10df]
lea rdx, [rsp + 0xb0]
mov r8d, 0x1040
mov rcx, rsi
call sym.memcpy
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x10f0]
movaps xmm7, xmmword [rsp + 0x1100]
movaps xmm8, xmmword [rsp + 0x1110]
add rsp, 0x1128
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, str.assertion_failed:__self.finished
lea r8, str._home_theo_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_sha2.rs
mov edx, 0x20
call dbg.panic
ud2
lea rcx, str.Numeric_overflow_occured.
lea r8, [0x14012b0c0]
mov edx, 0x19
call sym.std::panicking::begin_panic::h8a6b93740170dc30
ud2
lea rcx, str.Numeric_overflow_occured.
lea r8, [0x14012b0a8]
mov edx, 0x19
call dbg.expect_failed
ud2