// File: /workspace/github_c_makefile_star2_O2/Tarsnap[P]kivaloo/bench/bulk_update/main.c
// Function: main
int
main(int argc, char * argv[])
{
	struct sock_addr ** sas;
	int s;
	struct wire_requestqueue * Q;

	WARNP_INIT;

	/* Check number of arguments. */
	if (argc != 2) {
		fprintf(stderr, "usage: bulk_update %s\n", "<socketname>");
		exit(1);
	}

	/* Resolve the socket address and connect. */
	if ((sas = sock_resolve(argv[1])) == NULL) {
		warnp("Error resolving socket address: %s", argv[1]);
		exit(1);
	}
	if (sas[0] == NULL) {
		warn0("No addresses found for %s", argv[1]);
		exit(1);
	}
	if ((s = sock_connect(sas)) == -1)
		exit(1);

	/* Create a request queue. */
	if ((Q = wire_requestqueue_init(s)) == NULL) {
		warnp("Cannot create packet write queue");
		exit(1);
	}

	/* Start bulk updating. */
	if (bulkupdate(Q, stdin))
		exit(1);

	/* Free the request queue. */
	wire_requestqueue_destroy(Q);
	wire_requestqueue_free(Q);

	/* Free socket addresses. */
	sock_addr_freelist(sas);

	/* Success! */
	exit(0);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rsi, %r14
movl %edi, %ebx
movq (%rsi), %rdi
testq %rdi, %rdi
je 0x2469
callq 0x49d8
cmpl $0x2, %ebx
jne 0x249a
movq 0x8(%r14), %rdi
callq 0x3b60
testq %rax, %rax
jne 0x24bb
callq 0x2090
cmpl $0x0, (%rax)
movq 0x8(%r14), %rsi
jne 0x24e0
leaq 0x6b97(%rip), %rdi      # 0x9028
xorl %eax, %eax
callq 0x4be4
jmp 0x2503
movq 0xcb57(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x6b59(%rip), %rsi      # 0x9004
leaq 0x6b69(%rip), %rdx      # 0x901b
xorl %eax, %eax
callq 0x21f0
jmp 0x2503
movq %rax, %rbx
cmpq $0x0, (%rax)
jne 0x24f6
movq 0x8(%r14), %rsi
leaq 0x6b7c(%rip), %rdi      # 0x904b
xorl %eax, %eax
callq 0x4be4
callq 0x2090
andl $0x0, (%rax)
jmp 0x2503
movq %rax, %rbx
leaq 0x6b3e(%rip), %rdi      # 0x9028
xorl %eax, %eax
callq 0x4a55
andl $0x0, (%rbx)
jmp 0x2503
movq %rbx, %rdi
callq 0x4339
cmpl $-0x1, %eax
jne 0x250b
pushq $0x1
popq %rdi
callq 0x22d0
movl %eax, %edi
callq 0x6368
testq %rax, %rax
jne 0x2531
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2599
leaq 0x6b3d(%rip), %rdi      # 0x9065
xorl %eax, %eax
callq 0x4be4
jmp 0x2503
movq %rax, %r14
movq 0xca9d(%rip), %rax      # 0xefd8
movq (%rax), %rax
movq %r14, (%rsp)
movq %rax, 0x8(%rsp)
andl $0x0, 0x20(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rsp)
leaq 0x40(%rsp), %rdi
movaps %xmm0, (%rdi)
movaps %xmm0, 0x10(%rdi)
andq $0x0, 0x20(%rdi)
pushq $0x28
popq %rsi
callq 0x508c
movq %rax, 0x28(%rsp)
testq %rax, %rax
je 0x2503
movq %rax, %r12
leaq 0x40(%rsp), %rdi
pushq $0x28
popq %rsi
callq 0x508c
movq %rax, 0x30(%rsp)
testq %rax, %rax
jne 0x25af
movq %r12, %rdi
jmp 0x26a7
movq %rax, %rbx
leaq 0x6ac2(%rip), %rdi      # 0x9065
xorl %eax, %eax
callq 0x4a55
jmp 0x24f1
movq %rax, %r15
pushq $0x32
popq %rdi
pushq $0xa
popq %rsi
callq 0x4d68
movq %rax, 0x38(%rsp)
testq %rax, %rax
jne 0x25e2
leaq 0x6ab8(%rip), %rdi      # 0x9086
xorl %eax, %eax
callq 0x4be4
callq 0x2090
andl $0x0, (%rax)
jmp 0x269a
movq %rsp, %rdi
callq 0x26b1
testl %eax, %eax
jne 0x268b
leaq 0x20(%rsp), %r15
movq %r15, %rdi
callq 0x2a87
orl -0x4(%r15), %eax
je 0x261f
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2677
leaq 0x6a7b(%rip), %rdi      # 0x9091
xorl %eax, %eax
callq 0x4be4
jmp 0x268b
movq 0x38(%rsp), %rdi
callq 0x4ffe
leaq 0x6a74(%rip), %rdi      # 0x90a4
movq %rax, %rsi
xorl %eax, %eax
callq 0x2140
movq 0x38(%rsp), %rdi
callq 0x5065
movq 0x30(%rsp), %rdi
callq 0x2040
movq 0x28(%rsp), %rdi
callq 0x2040
movq %r14, %rdi
callq 0x684b
movq %r14, %rdi
callq 0x685f
movq %rbx, %rdi
callq 0x415f
xorl %edi, %edi
callq 0x22d0
movq %rax, %rbx
leaq 0x6a10(%rip), %rdi      # 0x9091
xorl %eax, %eax
callq 0x4a55
andl $0x0, (%rbx)
movq 0x38(%rsp), %rdi
callq 0x5065
movq 0x30(%rsp), %r15
movq %r15, %rdi
callq 0x2040
movq 0x28(%rsp), %rdi
callq 0x2040
jmp 0x2503