// File: /workspace/github_c_makefile_star2_O2/Tarsnap[P]kivaloo/kvlds/main.c
// Function: main
int
main(int argc, char * argv[])
{
	/* State variables. */
	struct wire_requestqueue * Q_lbs;
	struct btree * T;
	struct dispatch_state * dstate;
	int s;
	int s_lbs;

	/* Command-line parameters. */
	uint64_t opt_C = (uint64_t)(-1);
	uint64_t opt_c = (uint64_t)(-1);
	uint64_t opt_g = (uint64_t)(-1);
	uint64_t opt_k = (uint64_t)(-1);
	char * opt_l = NULL;
	char * opt_p = NULL;
	double opt_S = 1.0;
	char * opt_s = NULL;
	uint64_t opt_v = (uint64_t)(-1);
	double opt_w = 0.0;
	int opt_1 = 0;

	/* Working variables. */
	struct sock_addr ** sas_s;
	struct sock_addr ** sas_l;
	const char * ch;

	WARNP_INIT;

	/* Parse the command line. */
	while ((ch = GETOPT(argc, argv)) != NULL) {
		GETOPT_SWITCH(ch) {
		GETOPT_OPTARG("-C"):
			if (opt_C != (uint64_t)(-1))
				usage();
			if (humansize_parse(optarg, &opt_C))
				OPT_EINVAL(ch, optarg);
			break;
		GETOPT_OPTARG("-c"):
			if (opt_c != (uint64_t)(-1))
				usage();
			if (humansize_parse(optarg, &opt_c))
				OPT_EINVAL(ch, optarg);
			break;
		GETOPT_OPTARG("-g"):
			if (opt_g != (uint64_t)(-1))
				usage();
			if (humansize_parse(optarg, &opt_g))
				OPT_EINVAL(ch, optarg);
			break;
		GETOPT_OPTARG("-k"):
			if (opt_k != (uint64_t)(-1))
				usage();
			if (humansize_parse(optarg, &opt_k))
				OPT_EINVAL(ch, optarg);
			break;
		GETOPT_OPTARG("-l"):
			if (opt_l != NULL)
				usage();
			if ((opt_l = strdup(optarg)) == NULL)
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPTARG("-p"):
			if (opt_p != NULL)
				usage();
			if ((opt_p = strdup(optarg)) == NULL)
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPTARG("-S"):
			if (opt_S != 1.0)
				usage();
			if (PARSENUM(&opt_S, optarg, 0, INFINITY))
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPTARG("-s"):
			if (opt_s != NULL)
				usage();
			if ((opt_s = strdup(optarg)) == NULL)
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPTARG("-v"):
			if (opt_v != (uint64_t)(-1))
				usage();
			if (humansize_parse(optarg, &opt_v))
				OPT_EINVAL(ch, optarg);
			break;
		GETOPT_OPTARG("-w"):
			if (opt_w != 0.0)
				usage();
			if (PARSENUM(&opt_w, optarg, 0, INFINITY))
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPT("--version"):
			fprintf(stderr, "kivaloo-kvlds @VERSION@\n");
			exit(0);
		GETOPT_OPT("-1"):
			if (opt_1 != 0)
				usage();
			opt_1 = 1;
			break;
		GETOPT_MISSING_ARG:
			warn0("Missing argument to %s", ch);
			usage();
		GETOPT_DEFAULT:
			warn0("illegal option -- %s", ch);
			usage();
		}
	}
	argc -= optind;
	argv += optind;

	/* We should have processed all the arguments. */
	if (argc != 0)
		usage();
	(void)argv; /* argv is not used beyond this point. */

	/* Sanity-check options. */
	if (opt_s == NULL)
		usage();
	if (opt_l == NULL)
		usage();
	if ((opt_C != (uint64_t)(-1)) && (opt_c != (uint64_t)(-1)))
		usage();
	if ((opt_C != (uint64_t)(-1)) &&
	    ((opt_C < 1024) || (opt_C > 1024 * 1024 * 1024))) {
		warn0("Cache size in pages must be in [2^10, 2^30]");
		exit(1);
	}
	if ((opt_C != (uint64_t)(-1)) && (opt_C > SIZE_MAX)) {
		warn0("Maximum cache size in pages on this system is %zu",
		    SIZE_MAX);
		exit(1);
	}
	if ((opt_c != (uint64_t)(-1)) && (opt_c > SIZE_MAX)) {
		warn0("Maximum cache size on this system is %zu", SIZE_MAX);
		exit(1);
	}
	if ((opt_k != (uint64_t)(-1)) && (opt_k > 255)) {
		warn0("Keys longer than 255 bytes are not supported");
		exit(1);
	}
	if ((opt_v != (uint64_t)(-1)) && (opt_v > 255)) {
		warn0("Values longer than 255 bytes are not supported");
		exit(1);
	}
	if ((opt_w < 0.0) || (opt_w > 1.0)) {
		warn0("Commit delay time in [0.0, 1.0]: -w %f", opt_w);
		exit(1);
	}
	if ((opt_g != (uint64_t)(-1)) &&
	    ((opt_g < 1) || (opt_g > 1024))) {
		warn0("Forced commit size must be in [1, 1024]: "
		    "-g %" PRIu64, opt_g);
		exit(1);
	}

	/* Resolve listening address. */
	if ((sas_s = sock_resolve(opt_s)) == NULL) {
		warnp("Error resolving socket address: %s", opt_s);
		exit(1);
	}
	if (sas_s[0] == NULL) {
		warn0("No addresses found for %s", opt_s);
		exit(1);
	}

	/* Resolve LBS address. */
	if ((sas_l = sock_resolve(opt_l)) == NULL) {
		warnp("Error resolving socket address: %s", opt_l);
		exit(1);
	}
	if (sas_l[0] == NULL) {
		warn0("No addresses found for %s", opt_l);
		exit(1);
	}

	/* Create and bind a socket, and mark it as listening. */
	if (sas_s[1] != NULL)
		warn0("Listening on first of multiple addresses found for %s",
		    opt_s);
	if ((s = sock_listener(sas_s[0])) == -1)
		exit(1);

	/* Create a socket, connect to the LBS, and mark it non-blocking. */
	if ((s_lbs = sock_connect(sas_l)) == -1)
		exit(1);

	/* Create a queue of requests to the block store. */
	if ((Q_lbs = wire_requestqueue_init(s_lbs)) == NULL) {
		warnp("Cannot create LBS request queue");
		exit(1);
	}

	/* Initialize the B+Tree. */
	if ((T =
	    btree_init(Q_lbs, opt_C, opt_c, &opt_k, &opt_v, opt_S)) == NULL) {
		warnp("Cannot initialize B+Tree");
		exit(1);
	}

	/* Daemonize and write pid. */
	if (opt_p == NULL) {
		if (asprintf(&opt_p, "%s.pid", opt_s) == -1) {
			warnp("asprintf");
			exit(1);
		}
	}
	if (daemonize(opt_p)) {
		warnp("Failed to daemonize");
		exit(1);
	}

	/* Handle connections, one at a time. */
	do {
		/* Accept a connection. */
		if ((dstate = dispatch_accept(s, T,
		    (size_t)opt_k, (size_t)opt_v, opt_w, (size_t)opt_g))
		    == NULL)
			exit(1);

		/* Loop until the connection is dead. */
		do {
			if (events_run()) {
				warnp("Error running event loop");
				exit(1);
			}
		} while (dispatch_alive(dstate));

		/* Close and free the connection. */
		if (dispatch_done(dstate))
			exit(1);
	} while (opt_1 == 0);

	/* Free the B+Tree. */
	btree_free(T);

	/* Shut down the LBS request queue. */
	wire_requestqueue_destroy(Q_lbs);
	wire_requestqueue_free(Q_lbs);

	/* Close sockets. */
	if (close(s_lbs))
		warnp("close");
	if (close(s))
		warnp("close");

	/* Free socket addresses. */
	sock_addr_freelist(sas_l);
	sock_addr_freelist(sas_s);

	/* Free option strings. */
	free(opt_l);
	free(opt_p);
	free(opt_s);

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

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
orq $-0x1, 0x58(%rsp)
orq $-0x1, 0x50(%rsp)
orq $-0x1, 0x48(%rsp)
orq $-0x1, 0x38(%rsp)
andq $0x0, 0x28(%rsp)
orq $-0x1, 0x30(%rsp)
movl %edi, %r14d
movq %rsi, 0x68(%rsp)
movq (%rsi), %rdi
testq %rdi, %rdi
je 0x2553
callq 0xded8
movsd 0xeaad(%rip), %xmm1     # 0x11008
movq $0x0, 0x8(%rsp)
leaq 0x4131d(%rip), %r12     # 0x43888
pushq $0x1
popq %rbx
xorpd %xmm0, %xmm0
movsd %xmm0, 0x20(%rsp)
movsd %xmm1, 0x60(%rsp)
leaq 0xeb17(%rip), %rbp      # 0x1109c
movl $0x0, 0x14(%rsp)
movq $0x0, 0x18(%rsp)
movl %r14d, 0x40(%rsp)
movl %r14d, %edi
movq 0x68(%rsp), %rsi
callq 0xc01c
testq %rax, %rax
je 0x2a9e
movq %rax, %r15
movq $0x4d, (%rsp)
movq (%rsp), %rax
decq %rax
movq %rax, 0x70(%rsp)
movl $0x0, 0x44(%rsp)
pushq $0x4e
popq %r13
cmpl $0x0, (%r12)
je 0x25e9
movq %r15, %rdi
callq 0xc431
addq (%rsp), %rax
jmp 0x25f7
movq 0x70(%rsp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x70(%rsp)
movsd 0x20(%rsp), %xmm0
cmpq $0x4e, %rax
je 0x277e
cmpq $0x54, %rax
je 0x26c4
cmpq $0x5a, %rax
je 0x273d
cmpq $0x60, %rax
je 0x280b
cmpq $0x66, %rax
je 0x2826
cmpq $0x6c, %rax
je 0x27ba
cmpq $0x72, %rax
je 0x27f0
cmpq $0x78, %rax
je 0x26e2
cmpq $0x7e, %rax
je 0x27d5
cmpq $0x84, %rax
je 0x2700
cmpq $0x8a, %rax
je 0x275b
cmpq $0x8d, %rax
je 0x2720
cmpq $0x92, %rax
je 0x279c
cmpq $0x95, %rax
je 0x2847
cmpl $0x0, (%r12)
jne 0x2e0e
cmpl $0x0, 0x44(%rsp)
jne 0x25d4
movl $0x95, %edi
subq (%rsp), %rdi
callq 0xc79e
movl $0x1, 0x44(%rsp)
jmp 0x25d4
cmpl $0x0, (%r12)
jne 0x295e
pushq $0x54
popq %rsi
subq (%rsp), %rsi
leaq 0xe986(%rip), %rdi      # 0x11063
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x2930
pushq $0x78
popq %rsi
subq (%rsp), %rsi
leaq 0xe998(%rip), %rdi      # 0x11093
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x2899
movl $0x84, %esi
subq (%rsp), %rsi
leaq 0xe97e(%rip), %rdi      # 0x11099
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x2854
movl $0x8d, %esi
subq (%rsp), %rsi
leaq 0xff09(%rip), %rdi      # 0x12644
jmp 0x2772
cmpl $0x0, (%r12)
jne 0x28de
pushq $0x5a
popq %rsi
subq (%rsp), %rsi
leaq 0xe910(%rip), %rdi      # 0x11066
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x2deb
movl $0x8a, %esi
subq (%rsp), %rsi
movq %rbp, %rdi
xorl %edx, %edx
callq 0xc549
jmp 0x25d4
cmpl $0x0, (%r12)
jne 0x2987
movq %r13, %rsi
subq (%rsp), %rsi
leaq 0xe8ae(%rip), %rdi      # 0x11045
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x2e17
movl $0x92, %edi
subq (%rsp), %rdi
callq 0xc713
jmp 0x25d4
cmpl $0x0, (%r12)
jne 0x29b0
pushq $0x6c
popq %rsi
subq (%rsp), %rsi
leaq 0xe8ba(%rip), %rdi      # 0x1108d
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x2a45
pushq $0x7e
popq %rsi
subq (%rsp), %rsi
leaq 0xe8a8(%rip), %rdi      # 0x11096
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x29ea
pushq $0x72
popq %rsi
subq (%rsp), %rsi
leaq 0xe887(%rip), %rdi      # 0x11090
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x2907
pushq $0x60
popq %rsi
subq (%rsp), %rsi
leaq 0xe845(%rip), %rdi      # 0x11069
jmp 0x283b
cmpl $0x0, (%r12)
jne 0x2868
pushq $0x66
popq %rsi
subq (%rsp), %rsi
leaq 0xe831(%rip), %rdi      # 0x1106c
movl %ebx, %edx
callq 0xc549
jmp 0x25d4
movl $0x1, (%r12)
jmp 0x259b
cmpl $0x0, 0x14(%rsp)
movl %ebx, 0x14(%rsp)
je 0x259b
jmp 0x2e30
leaq 0x41011(%rip), %rax     # 0x43880
movq (%rax), %r13
testq %r13, %r13
je 0x2f22
cmpq $0x0, 0x18(%rsp)
jne 0x2e30
movq %r13, %rdi
callq 0x23c0
movq %rax, 0x18(%rsp)
jmp 0x29dc
leaq 0x40fe0(%rip), %rax     # 0x43880
movq (%rax), %r14
testq %r14, %r14
je 0x2e96
ucomisd 0xe75c(%rip), %xmm0     # 0x11010
jne 0x2e30
jp 0x2e30
callq 0x20a0
movq %rax, %r13
andl $0x0, (%rax)
movq %r14, %rdi
callq 0x314a
movsd %xmm0, 0x20(%rsp)
jmp 0x2a30
leaq 0x40f9b(%rip), %rax     # 0x43880
movq (%rax), %rdi
testq %rdi, %rdi
je 0x2f54
cmpq $-0x1, 0x48(%rsp)
jne 0x2e30
leaq 0x48(%rsp), %rsi
jmp 0x2a69
leaq 0x40f72(%rip), %rax     # 0x43880
movq (%rax), %rdi
testq %rdi, %rdi
je 0x2f3b
cmpq $-0x1, 0x38(%rsp)
jne 0x2e30
leaq 0x38(%rsp), %rsi
jmp 0x2a69
leaq 0x40f49(%rip), %rax     # 0x43880
movq (%rax), %r13
testq %r13, %r13
je 0x2ed1
cmpq $0x0, 0x8(%rsp)
jne 0x2e30
movq %r13, %rdi
callq 0x23c0
movq %rax, 0x8(%rsp)
jmp 0x29dc
leaq 0x40f1b(%rip), %rax     # 0x43880
movq (%rax), %rdi
testq %rdi, %rdi
je 0x2f6d
cmpq $-0x1, 0x50(%rsp)
jne 0x2e30
leaq 0x50(%rsp), %rsi
jmp 0x2a69
leaq 0x40ef2(%rip), %rax     # 0x43880
movq (%rax), %rdi
testq %rdi, %rdi
je 0x2f86
cmpq $-0x1, 0x58(%rsp)
jne 0x2e30
leaq 0x58(%rsp), %rsi
jmp 0x2a69
leaq 0x40ec9(%rip), %rax     # 0x43880
movq (%rax), %r13
testq %r13, %r13
je 0x2f09
cmpq $0x0, 0x28(%rsp)
jne 0x2e30
movq %r13, %rdi
callq 0x23c0
movq %rax, 0x28(%rsp)
testq %rax, %rax
jne 0x259b
jmp 0x2e35
leaq 0x40e8f(%rip), %rax     # 0x43880
movq (%rax), %r14
testq %r14, %r14
je 0x2eed
movsd 0x60(%rsp), %xmm0
ucomisd 0xe5fd(%rip), %xmm0     # 0x11008
jne 0x2e30
jp 0x2e30
callq 0x20a0
movq %rax, %r13
andl $0x0, (%rax)
movq %r14, %rdi
callq 0x314a
movsd %xmm0, 0x60(%rsp)
cmpl $0x0, (%r13)
movl 0x40(%rsp), %r14d
je 0x259b
jmp 0x2e55
leaq 0x40e34(%rip), %rax     # 0x43880
movq (%rax), %rdi
testq %rdi, %rdi
je 0x2eb5
cmpq $-0x1, 0x30(%rsp)
jne 0x2e30
leaq 0x30(%rsp), %rsi
callq 0xc9a6
testl %eax, %eax
je 0x259b
leaq 0x40e03(%rip), %rax     # 0x43880
movq (%rax), %rdx
leaq 0xe5c1(%rip), %rdi      # 0x11048
movq %r15, %rsi
xorl %eax, %eax
callq 0xe0e4
callq 0x20a0
andl $0x0, (%rax)
jmp 0x2de3
leaq 0x18b43(%rip), %rax     # 0x1b5e8
cmpl %r14d, (%rax)
jne 0x2e30
movq 0x8(%rsp), %r14
testq %r14, %r14
movq 0x18(%rsp), %r15
je 0x2e30
testq %r15, %r15
je 0x2e30
movq 0x58(%rsp), %rax
cmpq $-0x1, %rax
je 0x2ae1
cmpq $-0x1, 0x50(%rsp)
jne 0x2e30
cmpq $-0x1, %rax
sete %cl
addq $-0x40000001, %rax      # imm = 0xBFFFFFFF
cmpq $-0x3ffffc01, %rax      # imm = 0xC00003FF
setae %al
orb %cl, %al
je 0x2fa3
movq $-0x100, %rax
movq 0x38(%rsp), %rcx
addq %rax, %rcx
cmpq $-0x102, %rcx           # imm = 0xFEFE
jbe 0x2fac
addq 0x30(%rsp), %rax
cmpq $-0x102, %rax           # imm = 0xFEFE
jbe 0x2fb5
xorpd %xmm0, %xmm0
movsd 0x20(%rsp), %xmm1
ucomisd %xmm1, %xmm0
movapd %xmm1, %xmm0
ja 0x2fc8
ucomisd 0xe4bc(%rip), %xmm0     # 0x11008
ja 0x2fc8
movq 0x48(%rsp), %rsi
cmpq $-0x1, %rsi
sete %al
leaq -0x401(%rsi), %rcx
cmpq $-0x400, %rcx           # imm = 0xFC00
setae %cl
orb %al, %cl
je 0x2fdb
movq %r14, %rdi
callq 0xd060
testq %rax, %rax
je 0x2fe4
movq %rax, %rbx
cmpq $0x0, (%rax)
je 0x3000
movq %r15, %rdi
callq 0xd060
testq %rax, %rax
je 0x300c
movq %rax, %r12
cmpq $0x0, (%rax)
je 0x3032
cmpq $0x0, 0x8(%rbx)
je 0x2bd3
leaq 0xe646(%rip), %rdi      # 0x11207
movq %r14, %rsi
xorl %eax, %eax
callq 0xe0e4
callq 0x20a0
andl $0x0, (%rax)
movq (%rbx), %rdi
callq 0xd691
cmpl $-0x1, %eax
je 0x2de3
movl %eax, %ebp
movq %r12, %rdi
callq 0xd839
cmpl $-0x1, %eax
je 0x2de3
movl %eax, %r15d
movq %r12, 0x68(%rsp)
movl %eax, %edi
callq 0xfc60
testq %rax, %rax
je 0x3048
movq %rax, %r12
movq 0x58(%rsp), %rsi
movq 0x50(%rsp), %rdx
leaq 0x38(%rsp), %rcx
leaq 0x30(%rsp), %r8
movq %rax, %rdi
movsd 0x60(%rsp), %xmm0
callq 0x4d60
testq %rax, %rax
je 0x305e
movq %rax, %r13
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
jne 0x2c70
leaq 0xe625(%rip), %rsi      # 0x11276
leaq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rdx
xorl %eax, %eax
callq 0xbd44
cmpl $-0x1, %eax
je 0x30e3
movq 0x28(%rsp), %rdi
callq 0xbe38
testl %eax, %eax
jne 0x3074
movsd 0x20(%rsp), %xmm0
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movq 0x48(%rsp), %r8
movl %ebp, %edi
movq %r13, %rsi
callq 0x31c0
movq %rax, %r14
testq %rax, %rax
je 0x2de3
callq 0x9d7c
testl %eax, %eax
jne 0x2db5
movq %r14, %rdi
callq 0x350a
testl %eax, %eax
jne 0x2ca8
movq %r14, %rdi
callq 0x351e
testl %eax, %eax
jne 0x2de3
cmpl $0x0, 0x14(%rsp)
movsd 0x20(%rsp), %xmm0
je 0x2c83
movq %r13, %rdi
callq 0x5380
movq %r12, %rdi
callq 0x10143
movq %r12, %rdi
callq 0x10157
movl %r15d, %edi
callq 0x21f0
testl %eax, %eax
movq 0x8(%rsp), %r15
movq 0x18(%rsp), %r12
movq 0x68(%rsp), %r13
je 0x2d40
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2d32
movq %rax, %r14
leaq 0x1020d(%rip), %rdi     # 0x12f32
xorl %eax, %eax
callq 0xdf55
andl $0x0, (%r14)
jmp 0x2d40
leaq 0x101f9(%rip), %rdi     # 0x12f32
xorl %eax, %eax
callq 0xe0e4
movl %ebp, %edi
callq 0x21f0
testl %eax, %eax
je 0x2d7a
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2d6c
movq %rax, %r14
leaq 0x101d3(%rip), %rdi     # 0x12f32
xorl %eax, %eax
callq 0xdf55
andl $0x0, (%r14)
jmp 0x2d7a
leaq 0x101bf(%rip), %rdi     # 0x12f32
xorl %eax, %eax
callq 0xe0e4
movq %r13, %rdi
callq 0xd65f
movq %rbx, %rdi
callq 0xd65f
movq %r12, %rdi
callq 0x2040
movq 0x28(%rsp), %rdi
callq 0x2040
movq %r15, %rdi
callq 0x2040
xorl %eax, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x2dcf
leaq 0xe4d4(%rip), %rdi      # 0x1129a
xorl %eax, %eax
callq 0xe0e4
jmp 0x2de3
movq %rax, %rbx
leaq 0xe4c1(%rip), %rdi      # 0x1129a
xorl %eax, %eax
callq 0xdf55
andl $0x0, (%rbx)
pushq $0x1
popq %rdi
callq 0x2370
movq 0x18206(%rip), %rax     # 0x1aff8
movq (%rax), %rcx
leaq 0xe2aa(%rip), %rdi      # 0x110a6
pushq $0x18
popq %rsi
pushq $0x1
popq %rdx
callq 0x2390
xorl %edi, %edi
callq 0x2370
leaq 0xe2c1(%rip), %rdi      # 0x110d6
jmp 0x2e1e
leaq 0xe2a1(%rip), %rdi      # 0x110bf
movq %r15, %rsi
xorl %eax, %eax
callq 0xe0e4
callq 0x20a0
andl $0x0, (%rax)
callq 0x3108
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x2e7a
leaq 0xe229(%rip), %rdi      # 0x1106f
movq %r15, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0xe0e4
jmp 0x2de3
leaq 0x40a24(%rip), %rax     # 0x43880
movq (%rax), %rdx
leaq 0xe209(%rip), %rdi      # 0x1106f
movq %r15, %rsi
xorl %eax, %eax
callq 0xdf55
andl $0x0, (%r13)
jmp 0x2de3
movq %rax, %rbx
leaq 0xe1eb(%rip), %rdi      # 0x1106f
movq %r15, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0xdf55
jmp 0x2de0
leaq 0xe17b(%rip), %rdi      # 0x11018
leaq 0xe183(%rip), %rsi      # 0x11027
leaq 0xe183(%rip), %rcx      # 0x1102e
movl $0x84, %edx
callq 0x21c0
leaq 0xe15c(%rip), %rdi      # 0x11018
leaq 0xe164(%rip), %rsi      # 0x11027
leaq 0xe164(%rip), %rcx      # 0x1102e
pushq $0x7e
jmp 0x2f9d
leaq 0xe140(%rip), %rdi      # 0x11018
leaq 0xe148(%rip), %rsi      # 0x11027
leaq 0xe148(%rip), %rcx      # 0x1102e
pushq $0x78
jmp 0x2f9d
leaq 0xe124(%rip), %rdi      # 0x11018
leaq 0xe12c(%rip), %rsi      # 0x11027
leaq 0xe12c(%rip), %rcx      # 0x1102e
pushq $0x72
jmp 0x2f9d
leaq 0xe108(%rip), %rdi      # 0x11018
leaq 0xe110(%rip), %rsi      # 0x11027
leaq 0xe110(%rip), %rcx      # 0x1102e
pushq $0x6c
jmp 0x2f9d
leaq 0xe0ef(%rip), %rdi      # 0x11018
leaq 0xe0f7(%rip), %rsi      # 0x11027
leaq 0xe0f7(%rip), %rcx      # 0x1102e
pushq $0x66
jmp 0x2f9d
leaq 0xe0d6(%rip), %rdi      # 0x11018
leaq 0xe0de(%rip), %rsi      # 0x11027
leaq 0xe0de(%rip), %rcx      # 0x1102e
pushq $0x60
jmp 0x2f9d
leaq 0xe0bd(%rip), %rdi      # 0x11018
leaq 0xe0c5(%rip), %rsi      # 0x11027
leaq 0xe0c5(%rip), %rcx      # 0x1102e
pushq $0x5a
jmp 0x2f9d
leaq 0xe0a4(%rip), %rdi      # 0x11018
leaq 0xe0ac(%rip), %rsi      # 0x11027
leaq 0xe0ac(%rip), %rcx      # 0x1102e
pushq $0x54
jmp 0x2f9d
leaq 0xe08b(%rip), %rdi      # 0x11018
leaq 0xe093(%rip), %rsi      # 0x11027
leaq 0xe093(%rip), %rcx      # 0x1102e
pushq $0x4e
popq %rdx
callq 0x21c0
leaq 0xe141(%rip), %rdi      # 0x110eb
jmp 0x2fbc
leaq 0xe164(%rip), %rdi      # 0x11117
jmp 0x2fbc
leaq 0xe188(%rip), %rdi      # 0x11144
xorl %eax, %eax
callq 0xe0e4
jmp 0x2a91
leaq 0xe1a4(%rip), %rdi      # 0x11173
movb $0x1, %al
callq 0xe0e4
jmp 0x2a91
leaq 0xe1b8(%rip), %rdi      # 0x1119a
jmp 0x303c
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x308a
leaq 0xe1d1(%rip), %rdi      # 0x111ca
movq 0x8(%rsp), %rsi
jmp 0x3026
leaq 0xe1e6(%rip), %rdi      # 0x111ed
movq %r14, %rsi
jmp 0x303c
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x309b
leaq 0xe1a9(%rip), %rdi      # 0x111ca
movq 0x18(%rsp), %rsi
xorl %eax, %eax
callq 0xe0e4
jmp 0x2de3
leaq 0xe1b4(%rip), %rdi      # 0x111ed
movq %r15, %rsi
xorl %eax, %eax
callq 0xe0e4
jmp 0x2a91
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x30b6
leaq 0xe1e4(%rip), %rdi      # 0x1123d
jmp 0x2dc6
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x30c5
leaq 0xe1ee(%rip), %rdi      # 0x1125d
jmp 0x2dc6
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x30d4
leaq 0xe201(%rip), %rdi      # 0x11286
jmp 0x2dc6
movq %rax, %rbx
leaq 0xe136(%rip), %rdi      # 0x111ca
movq 0x8(%rsp), %rsi
jmp 0x30aa
movq %rax, %rbx
leaq 0xe125(%rip), %rdi      # 0x111ca
movq 0x18(%rsp), %rsi
xorl %eax, %eax
callq 0xdf55
jmp 0x2de0
movq %rax, %rbx
leaq 0xe17d(%rip), %rdi      # 0x1123d
jmp 0x2dd9
movq %rax, %rbx
leaq 0xe18e(%rip), %rdi      # 0x1125d
jmp 0x2dd9
movq %rax, %rbx
leaq 0xe1a8(%rip), %rdi      # 0x11286
jmp 0x2dd9
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x30f9
leaq 0xe189(%rip), %rdi      # 0x1127d
jmp 0x2dc6
movq %rax, %rbx
leaq 0xe17a(%rip), %rdi      # 0x1127d
jmp 0x2dd9