// File: /workspace/github_c_makefile_star2_O1/Tarsnap[P]kivaloo/liball/../libcperciva/alg/sha256.c
// Function: libcperciva_SHA256_Init
void
SHA256_Init(SHA256_CTX * ctx)
{

	/* Zero bits processed so far. */
	ctx->count = 0;

	/* Initialize state. */
	memcpy(ctx->state, initial_state, sizeof(initial_state));

#ifdef HWACCEL
	/* Ensure that we've chosen the type of hardware acceleration. */
	hwaccel_init();
#endif
}

// Assembly:
movq $0x0, 0x20(%rdi)
movdqa 0x5048(%rip), %xmm0     # 0x13530
movdqu %xmm0, 0x10(%rdi)
movdqa 0x502b(%rip), %xmm1     # 0x13520
movdqu %xmm1, (%rdi)
cmpl $0x3, 0xa1f4(%rip)      # 0x186f4
jne 0xe73e
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a0, %rsp            # imm = 0x1A0
movl $0x0, 0xa1d4(%rip)      # 0x186f4
xorl %eax, %eax
movb %al, 0x60(%rsp,%rax)
incq %rax
cmpq $0x40, %rax
jne 0xe522
leaq 0x1a3b2(%rip), %rbx     # 0x288e8
cmpl $0x0, (%rbx)
je 0xe5f1
leaq 0x1a3b2(%rip), %rbx     # 0x288f8
cmpl $0x0, (%rbx)
je 0xe626
leaq 0x40(%rsp), %rbx
movdqa %xmm1, (%rbx)
movdqa %xmm0, 0x10(%rbx)
leaq 0x60(%rsp), %r14
leaq 0xa0(%rsp), %rdx
movq %rsp, %rcx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xef3e
leaq 0x20(%rsp), %r15
movaps 0x4fac(%rip), %xmm0     # 0x13530
movaps %xmm0, 0x10(%r15)
movaps 0x4f90(%rip), %xmm0     # 0x13520
movaps %xmm0, (%r15)
movq %r15, %rdi
movq %r14, %rsi
callq 0xfbe4
movdqa (%rbx), %xmm0
movdqa 0x10(%rbx), %xmm1
pcmpeqb 0x10(%r15), %xmm1
pcmpeqb (%r15), %xmm0
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0xe724
leaq 0x5014(%rip), %rdi      # 0x135e1
xorl %eax, %eax
callq 0x58ab
callq 0x3040
movl $0x0, (%rax)
movdqa 0x4f49(%rip), %xmm0     # 0x13530
movdqa 0x4f31(%rip), %xmm1     # 0x13520
jmp 0xe637
leaq 0x1a2f4(%rip), %r14     # 0x288ec
cmpl $0x0, (%r14)
jne 0xe637
callq 0x10a30
movdqa 0x4f15(%rip), %xmm1     # 0x13520
movdqa 0x4f1d(%rip), %xmm0     # 0x13530
movl %eax, (%rbx)
movl $0x1, (%r14)
testl %eax, %eax
jne 0xe53f
jmp 0xe637
leaq 0x1a2cf(%rip), %r14     # 0x288fc
cmpl $0x0, (%r14)
je 0xe73f
leaq 0x1a2b2(%rip), %rbx     # 0x288f0
cmpl $0x0, (%rbx)
je 0xe6e3
leaq 0x40(%rsp), %rbx
movdqa %xmm1, (%rbx)
movdqa %xmm0, 0x10(%rbx)
leaq 0x60(%rsp), %r14
leaq 0xa0(%rsp), %r15
movq %rsp, %r12
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %r12, %rcx
callq 0xef3e
leaq 0x20(%rsp), %r13
movaps 0x4eae(%rip), %xmm0     # 0x13530
movaps %xmm0, 0x10(%r13)
movaps 0x4e92(%rip), %xmm0     # 0x13520
movaps %xmm0, (%r13)
movq %r13, %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %r12, %rcx
callq 0xff50
movdqa (%rbx), %xmm0
movdqa 0x10(%rbx), %xmm1
pcmpeqb 0x10(%r13), %xmm1
pcmpeqb (%r13), %xmm0
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0xe718
leaq 0x4f41(%rip), %rdi      # 0x13610
xorl %eax, %eax
callq 0x58ab
callq 0x3040
movl $0x0, (%rax)
jmp 0xe72e
leaq 0x1a20a(%rip), %r14     # 0x288f4
cmpl $0x0, (%r14)
jne 0xe72e
callq 0x10a5c
movdqa 0x4e23(%rip), %xmm1     # 0x13520
movdqa 0x4e2b(%rip), %xmm0     # 0x13530
movl %eax, (%rbx)
movl $0x1, (%r14)
testl %eax, %eax
jne 0xe647
jmp 0xe72e
movl $0x2, 0x9fd2(%rip)      # 0x186f4
jmp 0xe72e
movl $0x1, 0x9fc6(%rip)      # 0x186f4
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
callq 0x10a84
movdqa 0x4dd4(%rip), %xmm1     # 0x13520
movdqa 0x4ddc(%rip), %xmm0     # 0x13530
movl %eax, (%rbx)
movl $0x1, (%r14)
testl %eax, %eax
jne 0xe54f
jmp 0xe637