Function at 0x140168bf0
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x6c8
vmovdqu ymm0, ymmword [0x1402f4cc0]
movsxd r12, dword [r9]
lea rax, [rsp + 0xaf]
mov qword [rsp + 0x728], r9
mov rbx, rcx
xor r9d, r9d
and rax, 0xffffffffffffffc0
mov r13, r8
mov r8d, 0x200
mov r14, rax
vmovdqu ymmword [rax + 0x600], ymm0
mov eax, dword [rcx + 0x8c]
lea rsi, [r14 + 0x600]
lea rbp, [r14 + 0x500]
mov dword [rsp + 0x30], eax
lea eax, [rdx - 8]
mov rdx, qword [str.Zf2_]
mov dword [rsp + 0x68], eax
movzx r15d, byte [rdx]
mov dword [rsp + 0x20], 0xe
lea rdx, [rcx + 0x40]
mov rcx, rsi
vzeroupper
call sym.blake256_transform_le
mov eax, dword [rsp + 0x30]
vpbroadcastd ymm0, dword [r14 + 0x600]
vmovdqu ymmword [r14 + 0x400], ymm0
lea edi, [rax + 2]
lea r8d, [rax + 5]
vmovd xmm4, eax
vpbroadcastd ymm0, dword [r14 + 0x604]
vmovd xmm2, edi
lea edi, [rax + 4]
lea r9d, [rax + 7]
vmovd xmm1, edi
lea edi, [rax + 6]
lea edx, [rax + 1]
vmovdqu ymmword [r14 + 0x420], ymm0
lea ecx, [rax + 3]
vpinsrd xmm1, xmm1, r8d, 1
vpbroadcastd ymm0, dword [r14 + 0x608]
vpinsrd xmm2, xmm2, ecx, 1
lea rax, [r14 + 0x200]
mov r8, r14
vmovdqu ymmword [r14 + 0x440], ymm0
mov rcx, rax
vpbroadcastd ymm0, dword [r14 + 0x60c]
mov qword [rsp + 0x58], rax
vmovdqu ymmword [r14 + 0x460], ymm0
vpbroadcastd ymm0, dword [r14 + 0x610]
vmovdqu ymmword [r14 + 0x480], ymm0
vpbroadcastd ymm0, dword [r14 + 0x614]
vmovdqu ymmword [r14 + 0x4a0], ymm0
vpbroadcastd ymm0, dword [r14 + 0x618]
vmovdqu ymmword [r14 + 0x4c0], ymm0
vpbroadcastd ymm0, dword [r14 + 0x61c]
vmovdqu ymmword [r14 + 0x4e0], ymm0
vpbroadcastd ymm0, dword [rbx + 0x80]
vmovdqu ymmword [r14], ymm0
vpbroadcastd ymm0, dword [rbx + 0x84]
vmovdqu ymmword [r14 + 0x20], ymm0
vpbroadcastd ymm0, dword [rbx + 0x88]
vmovdqu ymmword [r14 + 0x40], ymm0
vmovd xmm0, edi
vpinsrd xmm0, xmm0, r9d, 1
vpunpcklqdq xmm1, xmm1, xmm0
vpinsrd xmm0, xmm4, edx, 1
lea rdx, [r14 + 0x400]
mov qword [rsp + 0x50], rdx
vpunpcklqdq xmm0, xmm0, xmm2
vinserti128 ymm0, ymm0, xmm1, 1
vmovdqu ymmword [r14 + 0x60], ymm0
vzeroupper
call sym.blake256_8way_round0_prehash_le
mov eax, dword [rsp + 0x30]
shl r12, 7
mov edx, 8
mov qword [rsp + 0x60], r12
vmovd xmm5, edx
mov dword [rsp + 0x6c], eax
mov edi, eax
mov qword [rsp + 0x720], r13
vpbroadcastd ymm5, xmm5
vmovdqu ymmword [rsp + 0x30], ymm5
nop dword [rax]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r9, r14
mov rcx, rbp
vzeroupper
mov r12, rbp
call sym.allium_8way_hash
test r15b, r15b
je 0x140168e90
nop dword [rax]
mov rcx, r12
mov rdx, rbx
add r12, 0x20
call sym.valid_hash
cmp rsi, r12
jne 0x140168e10
vmovdqu ymm3, ymmword [rsp + 0x30]
vpaddd ymm0, ymm3, ymmword [r14 + 0x60]
add edi, 8
vmovdqu ymmword [r14 + 0x60], ymm0
cmp dword [rsp + 0x68], edi
jb 0x140168e55
mov rcx, qword [0x1403123d0]
mov rax, qword [rsp + 0x60]
add rax, qword [rcx]
movzx eax, byte [rax]
test al, al
je 0x140168de8
mov eax, dword [rsp + 0x6c]
mov dword [rbx + 0x8c], edi
mov r13, qword [rsp + 0x720]
sub edi, eax
mov eax, edi
mov qword [r13], rax
xor eax, eax
vzeroupper
add rsp, 0x6c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r13, rbp
mov rdx, rbx
mov r12d, edi
mov rcx, r13
call sym.valid_hash
test al, al
jne 0x140168ec8
nop dword [rax]
add r13, 0x20
add r12d, 1
cmp rsi, r13
je 0x140168e24
mov rdx, rbx
mov rcx, r13
call sym.valid_hash
test al, al
je 0x140168ea8
mov dword [rbx + 0x8c], r12d
mov r8, qword [rsp + 0x728]
mov rdx, r13
mov rcx, rbx
call sym.submit_solution
jmp 0x140168ea8