Function at 0x1401a0f70
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd78
vmovups xmmword [rsp + 0xd00], xmm6
vmovups xmmword [rsp + 0xd10], xmm7
vmovups xmmword [rsp + 0xd20], xmm8
vmovups xmmword [rsp + 0xd30], xmm9
vmovups xmmword [rsp + 0xd40], xmm10
vmovups xmmword [rsp + 0xd50], xmm11
vmovups xmmword [rsp + 0xd60], xmm12
vmovdqu ymm0, ymmword [0x140367740]
mov ebx, dword [rcx + 0x8c]
mov r12d, dword [r9]
mov eax, edx
lea rbp, [rsp + 0xef]
mov rsi, rcx
vmovq xmm8, r8
sub eax, 0x10
and rbp, 0xffffffffffffff80
vmovq xmm10, r9
lea rdx, [rcx + 0x40]
vmovd xmm9, eax
mov rax, qword [0x140386c50]
vmovdqu ymmword [rbp + 0xc00], ymm0
movzx r14d, byte [rax]
test r14b, r14b
je 0x1401a1018
mov dword [rcx + 0x1c], 0xff
lea rdi, [rbp + 0xc00]
xor r9d, r9d
mov r8d, 0x200
mov dword [rsp + 0x20], 0xe
mov rcx, rdi
vzeroupper
lea r15d, [rbx + 0xc]
lea r13d, [rbx + 0xd]
call sym.blake256_transform_le
vpbroadcastd zmm0, dword [rbp + 0xc00]
lea r11d, [rbx + 8]
lea r10d, [rbx + 6]
vmovd xmm1, r15d
lea r15d, [rbx + 0xe]
lea edx, [rbx + 2]
vmovd xmm2, r10d
vmovd xmm5, r15d
lea r10d, [rbx + 9]
lea r15d, [rbx + 0xf]
vmovd xmm3, edx
vpinsrd xmm5, xmm5, r15d, 1
lea edx, [rbx + 4]
vpinsrd xmm1, xmm1, r13d, 1
lea r8d, [rbx + 5]
lea r9d, [rbx + 7]
vpunpcklqdq xmm1, xmm1, xmm5
lea eax, [rbx + 1]
vmovd xmm5, ebx
lea ecx, [rbx + 3]
vpinsrd xmm2, xmm2, r9d, 1
movsxd r15, r12d
lea r13, [rbp + 0xa00]
vpinsrd xmm3, xmm3, ecx, 1
mov r12d, ebx
vmovdqu32 zmmword [rbp + 0x800], zmm0
vpbroadcastd zmm0, dword [rbp + 0xc04]
vmovdqu32 zmmword [rbp + 0x840], zmm0
vpbroadcastd zmm0, dword [rbp + 0xc08]
vmovdqu32 zmmword [rbp + 0x880], zmm0
vpbroadcastd zmm0, dword [rbp + 0xc0c]
vmovdqu32 zmmword [rbp + 0x8c0], zmm0
vpbroadcastd zmm0, dword [rbp + 0xc10]
vmovdqu32 zmmword [rbp + 0x900], zmm0
vpbroadcastd zmm0, dword [rbp + 0xc14]
vmovdqu32 zmmword [rbp + 0x940], zmm0
vpbroadcastd zmm0, dword [rbp + 0xc18]
vmovdqu32 zmmword [rbp + 0x980], zmm0
vpbroadcastd zmm0, dword [rbp + 0xc1c]
vmovdqu32 zmmword [rbp + 0x9c0], zmm0
vpbroadcastd zmm0, dword [rsi + 0x80]
vmovdqu32 zmmword [rbp], zmm0
vpbroadcastd zmm0, dword [rsi + 0x84]
vmovdqu32 zmmword [rbp + 0x40], zmm0
vpbroadcastd zmm0, dword [rsi + 0x88]
vmovdqu32 zmmword [rbp + 0x80], zmm0
vmovd xmm0, r11d
lea r11d, [rbx + 0xa]
vmovd xmm4, r11d
lea r11d, [rbx + 0xb]
vpinsrd xmm0, xmm0, r10d, 1
vpinsrd xmm4, xmm4, r11d, 1
vpunpcklqdq xmm0, xmm0, xmm4
vmovd xmm4, edx
vinserti128 ymm1, ymm0, xmm1, 1
vpinsrd xmm0, xmm4, r8d, 1
mov r8, rbp
vpunpcklqdq xmm2, xmm0, xmm2
vpinsrd xmm0, xmm5, eax, 1
lea rax, [rbp + 0x800]
vpunpcklqdq xmm0, xmm0, xmm3
vmovq xmm7, rax
lea rax, [rbp + 0x400]
vinserti128 ymm0, ymm0, xmm2, 1
vmovq rdx, xmm7
mov rcx, rax
vmovq xmm6, rax
vinserti64x4 zmm0, zmm0, ymm1, 1
vmovdqu32 zmmword [rbp + 0xc0], zmm0
vzeroupper
call sym.blake256_16way_round0_prehash_le
mov eax, 0x10
shl r15, 7
vpbroadcastd zmm2, eax
vmovq xmm12, r15
vmovd xmm11, ebx
vmovdqu32 zmmword [rsp + 0x30], zmm2
nop
vmovq r8, xmm7
vmovq rdx, xmm6
mov r9, rbp
mov rcx, r13
vzeroupper
mov r15, r13
call sym.allium_16way_hash
test r14b, r14b
je 0x1401a12f1
nop word cs:[rax + rax]
nop
mov rcx, r15
mov rdx, rsi
add r15, 0x20
call sym.valid_hash
cmp rdi, r15
jne 0x1401a1230
vmovdqu32 zmm3, zmmword [rsp + 0x30]
add r12d, 0x10
vmovd eax, xmm9
vpaddd zmm0, zmm3, zmmword [rbp + 0xc0]
vmovdqu32 zmmword [rbp + 0xc0], zmm0
cmp r12d, eax
jae 0x1401a1280
mov rbx, qword [0x1403873f0]
vmovq rax, xmm12
add rax, qword [rbx]
movzx eax, byte [rax]
test al, al
je 0x1401a1200
vmovd ebx, xmm11
mov dword [rsi + 0x8c], r12d
vmovq rax, xmm8
sub r12d, ebx
mov ebx, r12d
mov qword [rax], rbx
xor eax, eax
vzeroupper
vmovups xmm6, xmmword [rsp + 0xd00]
vmovups xmm7, xmmword [rsp + 0xd10]
vmovups xmm8, xmmword [rsp + 0xd20]
vmovups xmm9, xmmword [rsp + 0xd30]
vmovups xmm10, xmmword [rsp + 0xd40]
vmovups xmm11, xmmword [rsp + 0xd50]
vmovups xmm12, xmmword [rsp + 0xd60]
add rsp, 0xd78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, r12d
jmp 0x1401a130f
add r15, 0x20
inc ebx
cmp rdi, r15
je 0x1401a1244
mov rdx, rsi
mov rcx, r15
call sym.valid_hash
test al, al
je 0x1401a1300
mov dword [rsi + 0x8c], ebx
vmovq r8, xmm10
mov rdx, r15
mov rcx, rsi
call sym.submit_solution
jmp 0x1401a1300