// File: /workspace/github_c_makefile_star2_O2/sharpyfox[P]citrusleaf-client/src/cl_batch.c
// Function: batch_worker_fn
static void *
batch_worker_fn(void *dummy)
{
	do {
		digest_work work;
		
		if (0 != cf_queue_pop(g_batch_q, &work, CF_QUEUE_FOREVER)) {
			cf_error("queue pop failed");
		}
		
		/* See function citrusleaf_batch_shutdown() for more details */
		if(work.digests==NULL) {
			pthread_exit(NULL);
		}

		int an_int = do_batch_monte( work.asc, work.info1, work.info2, work.ns, work.digests, work.nodes, work.n_digests, work.bins, work.operator, work.operations, work.n_ops, work.my_node, work.my_node_digest_count, work.cb, work.udata );
		
		cf_queue_push(work.complete_q, (void *) &an_int);
		
	} while (1);

	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x9a28, %rsp           # imm = 0x9A28
pushq $-0x1
popq %rbp
leaq 0xc3b9(%rip), %r15      # 0x152c8
movq 0xe522(%rip), %rdi      # 0x17438
leaq 0xa8(%rsp), %rsi
movl %ebp, %edx
callq 0xc163
testl %eax, %eax
je 0x8f46
cmpl $0x0, (%r15)
js 0x8f46
leaq 0xc39a(%rip), %rax      # 0x152d0
xorl %edi, %edi
leaq 0x5fbc(%rip), %rsi      # 0xeefb
movq (%rax), %rcx
xorl %eax, %eax
callq *%rcx
movq 0xc0(%rsp), %rbx
testq %rbx, %rbx
je 0x98a4
movq 0xd8(%rsp), %rdi
movq 0xe8(%rsp), %r8
movq 0xb8(%rsp), %r14
movq 0xa8(%rsp), %rcx
movl 0xb0(%rsp), %edx
movl 0xb4(%rsp), %esi
movq 0xc8(%rsp), %rax
movl 0xe0(%rsp), %r9d
movl 0xd0(%rsp), %r15d
movl 0xf0(%rsp), %r12d
movslq 0x118(%rsp), %r13
movq %rdi, 0x20(%rsp)
movq 0x110(%rsp), %rdi
movq %r8, 0x40(%rsp)
movq 0xf8(%rsp), %r8
testq %r14, %r14
movq %rax, 0x10(%rsp)
movl %r9d, 0x30(%rsp)
movq %rcx, 0x48(%rsp)
movl %edx, 0x38(%rsp)
movl %esi, 0x54(%rsp)
movq %rdi, 0x28(%rsp)
movq 0x100(%rsp), %rdi
movq %r8, 0x60(%rsp)
movq %rdi, 0x78(%rsp)
je 0x9004
movq %r14, %rdi
callq 0x20e0
jmp 0x9006
xorl %eax, %eax
cltq
testq %r14, %r14
movq %rax, 0x70(%rsp)
leaq 0x23(%rax), %rax
pushq $0x1e
popq %rcx
cmoveq %rcx, %rax
imulq $0x14, %r13, %rcx
movq %r13, 0x8(%rsp)
movq 0x20(%rsp), %r13
testl %r12d, %r12d
movl $0x0, %ebp
movq %r12, 0x18(%rsp)
cmovgl %r12d, %ebp
leaq 0x6(%rcx,%rax), %rax
xorl %r12d, %r12d
movq %rax, 0x1a20(%rsp)
cmpq %r12, %rbp
je 0x908d
movq %r13, %rdi
callq 0x20e0
movq 0x1a20(%rsp), %rcx
movq %r13, %rdi
leaq 0x1a20(%rsp), %rsi
leaq 0x8(%rax,%rcx), %rax
movq %rax, 0x1a20(%rsp)
callq 0x45b1
testl %eax, %eax
jne 0x919f
incq %r12
addq $0x40, %r13
jmp 0x904a
movq 0x1a20(%rsp), %r13
leaq 0x5a20(%rsp), %r12
cmpq $0x4001, %r13           # imm = 0x4001
jb 0x90ba
movq %r13, %rdi
callq 0x22e0
movq %rax, %r12
testq %rax, %rax
je 0x91ca
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
callq 0x2140
movq %r13, 0x68(%rsp)
movq %r13, %rsi
movq 0x18(%rsp), %r13
movl 0x38(%rsp), %edx
movl 0x54(%rsp), %ecx
movq %r12, 0x58(%rsp)
movq %r12, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r13
pushq $0x2
pushq $0x0
pushq $0x0
callq 0x4525
addq $0x20, %rsp
movq %rax, %r12
testq %r14, %r14
je 0x9138
movq 0x70(%rsp), %rdx
leaq 0x5(%r12), %rdi
movq %r14, %rsi
movb $0x0, 0x4(%r12)
leal 0x1(%rdx), %r13d
movl %r13d, (%r12)
callq 0x21b0
leaq 0x4(%r12,%r13), %r14
movq 0x18(%rsp), %r13
movq %r12, %rdi
callq 0xbdb4
movq %r14, %r12
imull $0x14, 0x8(%rsp), %eax
movq 0x28(%rsp), %rdx
movq 0x10(%rsp), %rsi
movl $0x0, %ecx
leaq 0x4(%r12), %r14
movb $0x6, 0x4(%r12)
incl %eax
testl %r15d, %r15d
movl %eax, (%r12)
leaq 0x5(%r12), %rax
cmovlel %ecx, %r15d
subq $0x1, %r15
jb 0x9200
cmpq %rdx, (%rsi)
jne 0x9195
movl 0x10(%rbx), %ecx
movl %ecx, 0x10(%rax)
movq 0x8(%rbx), %rdx
movq (%rbx), %rcx
movq %rdx, 0x8(%rax)
movq 0x28(%rsp), %rdx
movq %rcx, (%rax)
addq $0x14, %rax
addq $0x14, %rbx
addq $0x8, %rsi
jmp 0x9169
leaq 0xc122(%rip), %rax      # 0x152c8
cmpl $0x0, (%rax)
js 0x91ca
leaq 0xc11e(%rip), %rax      # 0x152d0
xorl %edi, %edi
leaq 0x56a5(%rip), %rsi      # 0xe860
movl %r12d, %ecx
movq (%rax), %r8
movl 0x20(%r13), %edx
xorl %eax, %eax
callq *%r8
leaq 0xc0f7(%rip), %r15      # 0x152c8
cmpl $0x0, (%r15)
pushq $-0x1
popq %rbp
movl %ebp, %r14d
js 0x92a4
leaq 0xc0e8(%rip), %rax      # 0x152d0
xorl %edi, %edi
leaq 0x5d1b(%rip), %rsi      # 0xef0c
movq (%rax), %rcx
xorl %eax, %eax
callq *%rcx
movl %ebp, %r14d
jmp 0x92a4
movl (%r12), %ebx
movq %r12, %rdi
callq 0xbdb4
testl %r13d, %r13d
leaq 0xc0b2(%rip), %r15      # 0x152c8
movq 0x40(%rsp), %r13
je 0x926a
movq 0x20(%rsp), %r12
addq %rbx, %r14
subq $0x1, %rbp
jb 0x926a
cmpq $0x0, 0x20(%rsp)
je 0x923e
movl 0x30(%rsp), %esi
movq %r12, %rdi
xorl %edx, %edx
jmp 0x9245
xorl %edi, %edi
xorl %esi, %esi
movq %r13, %rdx
movq %r14, %rcx
callq 0x460c
movl (%r14), %eax
movq %r14, %rdi
leaq 0x4(%r14,%rax), %rbx
callq 0xbda3
addq $0x48, %r13
addq $0x40, %r12
movq %rbx, %r14
jmp 0x9225
movq 0x48(%rsp), %rax
movq 0x28(%rsp), %rdi
xorl %esi, %esi
movzbl 0x15(%rax), %edx
callq 0x7d09
cmpl $-0x1, %eax
pushq $-0x1
popq %rbp
movl %ebp, %r14d
je 0x92a4
movq 0x58(%rsp), %rsi
movq 0x68(%rsp), %rdx
movl %eax, %edi
movl %eax, %ebx
callq 0xd343
testl %eax, %eax
movl %ebp, %r14d
je 0x92c6
movq 0x108(%rsp), %rdi
leaq 0x1a20(%rsp), %rsi
movl %r14d, 0x1a20(%rsp)
callq 0xc01b
jmp 0x8f0f
movl %ebx, 0x8(%rsp)
xorl %ebx, %ebx
movq %rsp, %r14
leaq 0x120(%rsp), %r13
movq $0x0, 0x18(%rsp)
movl 0x8(%rsp), %edi
movq %r14, %rsi
pushq $0x8
popq %rdx
callq 0xd2b1
testl %eax, %eax
jne 0x9757
movq %r14, %rdi
callq 0xbd64
movzbl (%rsp), %edx
cmpl $0x2, %edx
jne 0x9787
movb 0x1(%rsp), %al
leaq 0x5b11(%rip), %r14      # 0xee28
leal -0x5(%rax), %ecx
cmpb $-0x3, %cl
jbe 0x97a9
movzwl 0x6(%rsp), %r12d
movl 0x2(%rsp), %ecx
shlq $0x20, %r12
orq %rcx, %r12
testq %r12, %r12
je 0x9379
cmpq $0x4001, %r12           # imm = 0x4001
leaq 0x1a20(%rsp), %rbx
jb 0x935e
movq %r12, %rdi
callq 0x22e0
movq %rax, %rbx
testq %rax, %rax
je 0x91f8
movl 0x8(%rsp), %edi
movq %rbx, %rsi
movq %r12, %rdx
callq 0xd2b1
testl %eax, %eax
jne 0x97d5
movb 0x1(%rsp), %al
cmpb $0x4, %al
jne 0x946b
pushq $0x1
popq %rdi
leaq 0x80(%rsp), %rsi
callq 0x2230
leaq 0x160(%rsp), %rax
movq %r13, %rdi
leaq 0x5cdb(%rip), %rsi      # 0xf07e
andq $0x0, 0x10(%rax)
andq $0x0, 0x8(%rax)
andq $0x0, (%rax)
pushq $0x70
popq %rdx
callq 0x2200
testl %eax, %eax
jne 0x9850
movq (%rbx), %r14
movq %r14, %rdi
callq 0x22e0
testq %rax, %rax
je 0x97ff
addl $-0x8, %r12d
leaq 0x8(%rbx), %rcx
movq %r13, %rdi
movl %r12d, 0x128(%rsp)
movq %rax, %r12
movq %rcx, 0x120(%rsp)
movl %r14d, 0x140(%rsp)
movq %rax, 0x138(%rsp)
pushq $0x4
popq %rsi
callq 0x21a0
cmpl $0x1, %eax
jne 0x9821
movq %r13, %rdi
callq 0x2280
movl 0x140(%rsp), %r15d
leaq 0x1a20(%rsp), %rax
cmpq %rax, %rbx
je 0x9439
movq %rbx, %rdi
callq 0x22c0
subq %r15, %r14
leaq 0xbe85(%rip), %r15      # 0x152c8
movq %r12, %rbp
movq %r14, %rax
movq %r14, %rcx
movl %r14d, 0x2(%rsp)
leaq 0x59d0(%rip), %r14      # 0xee28
shrq $0x20, %rax
movq %rcx, %r12
movw %ax, 0x6(%rsp)
movb $0x3, 0x1(%rsp)
jmp 0x946e
movq %rbx, %rbp
xorl %ecx, %ecx
movq %rbp, 0x38(%rsp)
movl $0x0, 0x10(%rsp)
movq %r12, 0x40(%rsp)
movl %ecx, %eax
cmpq %rax, %r12
jbe 0x96aa
movq %rbp, %rdi
movl %ecx, 0x48(%rsp)
callq 0xbd80
movzbl (%rbp), %ecx
cmpl $0x16, %ecx
jne 0x9717
xorps %xmm0, %xmm0
leaq 0x16(%rbp), %rbx
xorl %r12d, %r12d
xorl %r13d, %r13d
movb $0x0, 0xa0(%rsp)
movq $0x0, 0x20(%rsp)
movaps %xmm0, 0x90(%rsp)
movaps %xmm0, 0x80(%rsp)
movzwl 0x12(%rbp), %eax
cmpl %eax, %r13d
jae 0x9583
movq %rbx, %rdi
callq 0xbdb4
movzbl 0x4(%rbx), %eax
cmpq $0x4, %rax
ja 0x9572
movslq (%r14,%rax,4), %rax
addq %r14, %rax
jmpq *%rax
movl (%rbx), %edx
leaq 0x5(%rbx), %rsi
leaq 0x80(%rsp), %rdi
decl %edx
callq 0x21b0
movl (%rbx), %eax
decl %eax
movb $0x0, 0x80(%rsp,%rax)
jmp 0x9572
cmpl $0x0, (%r15)
js 0x9572
leaq 0xbda4(%rip), %rax      # 0x152d0
xorl %edi, %edi
leaq 0x5b2a(%rip), %rsi      # 0xf05f
movq (%rax), %rcx
xorl %eax, %eax
callq *%rcx
jmp 0x9572
movl (%rbx), %edi
leal -0x1(%rdi), %r14d
callq 0x22e0
leaq 0x5(%rbx), %rsi
movq %rax, %rdi
movq %r14, %rdx
movq %rax, %r12
callq 0x21b0
movb $0x0, (%r12,%r14)
leaq 0x58c1(%rip), %r14      # 0xee28
jmp 0x9572
leaq 0x5(%rbx), %rax
movq %rax, 0x20(%rsp)
movl (%rbx), %eax
addq $0x4, %rbx
incl %r13d
addq %rax, %rbx
jmp 0x94d4
movzwl 0x14(%rbp), %r15d
leaq 0x120(%rsp), %rax
cmpq $0x64, %r15
jbe 0x95aa
movl %r15d, %edi
shll $0x6, %edi
callq 0x22e0
testq %rax, %rax
je 0x9740
movq %rax, %r13
xorl %r14d, %r14d
movq %rax, 0x30(%rsp)
movzwl %r15w, %eax
cmpq %rax, %r14
jae 0x95e6
movq %rbx, %rdi
callq 0xbda3
movq %rbx, %rdi
movq %r13, %rsi
callq 0x4cfc
movl (%rbx), %eax
movzwl 0x14(%rbp), %r15d
incq %r14
addq $0x40, %r13
leaq 0x4(%rbx,%rax), %rbx
jmp 0x95b5
movzbl 0x5(%rbp), %ecx
movq 0x18(%rsp), %rdx
testb $-0x3, %cl
je 0x95fa
movb $0x1, %dl
movl %ecx, 0x10(%rsp)
testb $0x1, 0x3(%rbp)
movzbl %dl, %edx
pushq $0x1
popq %rcx
cmovnel %ecx, %edx
cmpq $0x0, 0x60(%rsp)
leaq 0x120(%rsp), %r13
leaq 0x580c(%rip), %r14      # 0xee28
movq %rdx, 0x18(%rsp)
je 0x9675
testw %r15w, %r15w
leaq 0xbc9a(%rip), %r15      # 0x152c8
jne 0x9636
testb $0x20, 0x1(%rbp)
je 0x967c
movl 0x6(%rbp), %ecx
movl 0xa(%rbp), %r8d
subq $0x8, %rsp
movq 0x28(%rsp), %rsi
movq 0x38(%rsp), %r9
leaq 0x88(%rsp), %rdi
movq %r12, %rdx
pushq 0x80(%rsp)
pushq $0x0
pushq %rax
callq *0x80(%rsp)
addq $0x20, %rsp
movl $0x0, 0x10(%rsp)
jmp 0x967c
leaq 0xbc4c(%rip), %r15      # 0x152c8
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x968b
callq 0x22c0
movq %r12, %rdi
callq 0x22c0
movl 0x48(%rsp), %ecx
movq 0x40(%rsp), %r12
movl %ebx, %eax
subl %ebp, %eax
movq %rbx, %rbp
addl %eax, %ecx
jmp 0x9482
movq 0x38(%rsp), %rbx
leaq 0x1a20(%rsp), %rcx
testq %rbx, %rbx
sete %al
cmpq %rcx, %rbx
sete %cl
orb %al, %cl
jne 0x96d1
movq %rbx, %rdi
callq 0x22c0
xorl %ebx, %ebx
pushq $-0x1
popq %rbp
testb $0x1, 0x18(%rsp)
movq %rsp, %r14
je 0x92e0
movq 0x58(%rsp), %rdi
leaq 0x5a20(%rsp), %rax
cmpq %rax, %rdi
je 0x96f9
callq 0x22c0
movl 0x10(%rsp), %r14d
movl 0x8(%rsp), %esi
testl %r14d, %r14d
je 0x9890
movl %esi, %edi
callq 0x2550
jmp 0x92a4
cmpl $0x0, (%r15)
js 0x9738
leaq 0xbbac(%rip), %rax      # 0x152d0
xorl %edi, %edi
leaq 0x58e7(%rip), %rsi      # 0xf014
movq (%rax), %r8
pushq $0x16
popq %rdx
xorl %eax, %eax
callq *%r8
pushq $-0x1
popq %rbp
jmp 0x91f8
movq %r12, %rdi
callq 0x22c0
pushq $-0x1
popq %rbp
leaq 0xbb76(%rip), %r15      # 0x152c8
jmp 0x91f8
cmpl $0x0, (%r15)
movl %ebp, %r14d
js 0x92a4
leaq 0xbb65(%rip), %rcx      # 0x152d0
movl %eax, %edx
xorl %edi, %edi
leaq 0x57dc(%rip), %rsi      # 0xef52
xorl %eax, %eax
movq (%rcx), %r8
movl 0x8(%rsp), %ecx
callq *%r8
jmp 0x91f8
cmpl $0x0, (%r15)
movl %ebp, %r14d
js 0x92a4
leaq 0xbb35(%rip), %rax      # 0x152d0
xorl %edi, %edi
leaq 0x57cc(%rip), %rsi      # 0xef70
movq (%rax), %rcx
jmp 0x97cc
cmpl $0x0, (%r15)
movl %ebp, %r14d
js 0x92a4
leaq 0xbb13(%rip), %rcx      # 0x152d0
movzbl %al, %edx
xorl %edi, %edi
leaq 0x57e4(%rip), %rsi      # 0xefad
movq (%rcx), %rcx
xorl %eax, %eax
callq *%rcx
jmp 0x91f8
cmpl $0x0, (%r15)
js 0x986f
leaq 0xbaea(%rip), %rcx      # 0x152d0
movl %eax, %edx
xorl %edi, %edi
leaq 0x5761(%rip), %rsi      # 0xef52
xorl %eax, %eax
movq (%rcx), %r8
movl 0x8(%rsp), %ecx
callq *%r8
jmp 0x986f
cmpl $0x0, (%r15)
js 0x9848
leaq 0xbac4(%rip), %rax      # 0x152d0
xorl %edi, %edi
leaq 0x5870(%rip), %rsi      # 0xf085
movq %r14, %rdx
movq (%rax), %rcx
xorl %eax, %eax
callq *%rcx
jmp 0x9848
cmpl $0x0, (%r15)
js 0x9840
leaq 0xbaa2(%rip), %rcx      # 0x152d0
movl %eax, %edx
xorl %edi, %edi
leaq 0x5879(%rip), %rsi      # 0xf0b2
xorl %eax, %eax
movq (%rcx), %rcx
callq *%rcx
movq %r12, %rdi
callq 0x22c0
movq %r13, %rdi
callq 0x2280
cmpl $0x0, (%r15)
js 0x986f
leaq 0xba73(%rip), %rax      # 0x152d0
xorl %edi, %edi
leaq 0x577c(%rip), %rsi      # 0xefe2
movl %ebp, %edx
movq (%rax), %rcx
xorl %eax, %eax
callq *%rcx
leaq 0x1a20(%rsp), %rax
movl %ebp, %r14d
cmpq %rax, %rbx
je 0x92a4
movq %rbx, %rdi
callq 0x22c0
jmp 0x91f8
movq 0x28(%rsp), %rdi
xorl %edx, %edx
xorl %r14d, %r14d
callq 0x7d64
jmp 0x92a4
xorl %edi, %edi
callq 0x24c0