// File: /workspace/github_c_makefile_star2_O1/Tarsnap[P]kivaloo/lbs/main.c
// Function: main
int
main(int argc, char * argv[])
{
	/* State variables. */
	struct storage_state * S;
	struct dispatch_state * D;
	int s;

	/* Command-line parameters. */
	char * opt_s = NULL;
	char * opt_d = NULL;
	size_t opt_b = (size_t)(-1);
	size_t opt_n = 16;
	char * opt_p = NULL;
	int opt_1 = 0;
	long opt_l = 0;
	int opt_L = 0;

	/* Working variables. */
	struct sock_addr ** sas;
	const char * ch;

	WARNP_INIT;

	/* Parse the command line. */
	while ((ch = GETOPT(argc, argv)) != NULL) {
		GETOPT_SWITCH(ch) {
		GETOPT_OPTARG("-b"):
			if (opt_b != (size_t)(-1))
				usage();
			if (PARSENUM(&opt_b, optarg, 512, 128 * 1024)) {
				warn0("Block size must be in [2^9, 2^17]");
				goto err1;
			}
			break;
		GETOPT_OPTARG("-d"):
			if (opt_d != NULL)
				usage();
			if ((opt_d = strdup(optarg)) == NULL)
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPTARG("-l"):
			if (opt_l != 0)
				usage();
			if (PARSENUM(&opt_l, optarg, 0, 999999999)) {
				warn0("Read latency must be in [0, 10^9) ns");
				goto err1;
			}
			break;
		GETOPT_OPT("-L"):
			if (opt_L != 0)
				usage();
			opt_L = 1;
			break;
		GETOPT_OPTARG("-n"):
			if (opt_n != 16)
				usage();
			if (PARSENUM(&opt_n, optarg, 1, 1000)) {
				warn0("Number of readers must be in [1, 1000]");
				goto err1;
			}
			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 != NULL)
				usage();
			if ((opt_s = strdup(optarg)) == NULL)
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPT("--version"):
			fprintf(stderr, "kivaloo-lbs @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_d == NULL)
		usage();
	if (opt_b == (size_t)(-1))
		usage();

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

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

	/* Initialize the storage back-end. */
	if ((S = storage_init(opt_d, opt_b, opt_l, opt_L)) == NULL) {
		warnp("Error initializing storage directory: %s", opt_d);
		goto err3;
	}

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

	/* Initialize the dispatcher. */
	if ((D = dispatch_init(S, opt_b, opt_n)) == NULL) {
		warnp("Error initializing work dispatcher");
		goto err4;
	}

	/* Handle connections, one at once. */
	do {
		/* Get a connection and perform associated initialization. */
		if (dispatch_accept(D, s)) {
			warnp("Error accepting new connection");
			goto err5;
		}

		/* Loop until the connection dies. */
		do {
			if (events_run()) {
				warnp("Error running event loop");
				goto err5;
			}
		} while (dispatch_alive(D));

		/* Clean up the connection. */
		if (dispatch_close(D))
			goto err5;
	} while (opt_1 == 0);

	if (dispatch_done(D)) {
		warnp("Failed to shut down dispatcher");
		goto err4;
	}

	/* We're done with the storage state. */
	storage_done(S);

	/* Close the listening socket. */
	if (close(s))
		warnp("close");

	/* Free the address structures. */
	sock_addr_freelist(sas);

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

	/* Success! */
	exit(0);

err5:
	dispatch_done(D);
err4:
	storage_done(S);
err3:
	if (close(s))
		warnp("close");
err2:
	sock_addr_freelist(sas);
err1:
	free(opt_s);
	free(opt_p);
	free(opt_d);

	/* Failure! */
	exit(1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movl %edi, 0x2c(%rsp)
movq $0x0, 0x18(%rsp)
movq %rsi, 0x58(%rsp)
movq (%rsi), %rdi
testq %rdi, %rdi
je 0x2b19
callq 0xab98
movl 0x2c(%rsp), %edi
movq 0x58(%rsp), %rsi
callq 0x8e20
testq %rax, %rax
jne 0x2b7e
xorl %r15d, %r15d
movb $0x1, %r12b
movl $0x10, %eax
movq %rax, 0x40(%rsp)
movq $-0x1, 0x10(%rsp)
movq $0x0, 0x38(%rsp)
xorl %r14d, %r14d
xorl %r13d, %r13d
leaq 0x11a7d(%rip), %rax     # 0x145d8
movl 0x2c(%rsp), %ecx
cmpl %ecx, (%rax)
jne 0x2b79
testq %r13, %r13
je 0x2b79
testq %r15, %r15
je 0x2b79
cmpq $-0x1, 0x10(%rsp)
jne 0x3141
callq 0x3675
movq %rax, %r13
movq $-0x1, 0x10(%rsp)
movl $0x10, %eax
movq %rax, 0x40(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0x21c74(%rip), %r12     # 0x24818
leaq 0xa486(%rip), %rbp      # 0xd031
leaq 0xa51d(%rip), %r15      # 0xd0cf
leaq 0xa519(%rip), %rbx      # 0xd0d2
leaq 0xa533(%rip), %r14      # 0xd0f3
movl $0x0, 0x28(%rsp)
movq $0x0, 0x38(%rsp)
movl $0x0, 0x24(%rsp)
movq $0x0, (%rsp)
movq $0x3d, 0x8(%rsp)
movq 0x8(%rsp), %rax
decq %rax
movq %rax, 0x60(%rsp)
movl $0x0, 0x54(%rsp)
cmpl $0x0, (%r12)
je 0x2c15
movq %r13, %rdi
callq 0x914b
addq 0x8(%rsp), %rax
jmp 0x2c23
movq 0x60(%rsp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60(%rsp)
cmpq $0x60, %rax
jle 0x2c6e
cmpq $0x6f, %rax
jg 0x2cb3
cmpq $0x61, %rax
je 0x2d90
cmpq $0x67, %rax
je 0x2d34
cmpq $0x6d, %rax
jne 0x2ddf
cmpl $0x0, (%r12)
jne 0x30f0
movl $0x6d, %esi
subq 0x8(%rsp), %rsi
movq %rbx, %rdi
jmp 0x2d84
cmpq $0x4b, %rax
jle 0x2ce6
cmpq $0x4c, %rax
je 0x2dae
cmpq $0x54, %rax
je 0x2d4e
cmpq $0x59, %rax
jne 0x2ddf
cmpl $0x0, (%r12)
jne 0x3024
movl $0x59, %esi
subq 0x8(%rsp), %rsi
leaq 0xa3f4(%rip), %rdi      # 0xd0a2
jmp 0x2dca
cmpq $0x70, %rax
je 0x2d6c
cmpq $0x75, %rax
jne 0x2dd9
cmpl $0x0, (%r12)
jne 0x3120
movl $0x75, %edi
subq 0x8(%rsp), %rdi
callq 0x931f
jmp 0x2bff
cmpq $0x3e, %rax
je 0x2d17
cmpq $0x46, %rax
jne 0x2ddf
cmpl $0x0, (%r12)
jne 0x2e1e
movl $0x46, %esi
subq 0x8(%rsp), %rsi
leaq 0xa344(%rip), %rdi      # 0xd056
jmp 0x2dca
cmpl $0x0, (%r12)
jne 0x2e55
movl $0x3e, %esi
subq 0x8(%rsp), %rsi
movq %rbp, %rdi
jmp 0x2dca
cmpl $0x0, (%r12)
jne 0x2ee9
movl $0x67, %esi
subq 0x8(%rsp), %rsi
movq %r15, %rdi
jmp 0x2dca
cmpl $0x0, (%r12)
jne 0x2ff4
movl $0x54, %esi
subq 0x8(%rsp), %rsi
leaq 0xa335(%rip), %rdi      # 0xd09f
jmp 0x2d84
cmpl $0x0, (%r12)
jne 0x300c
movl $0x70, %esi
subq 0x8(%rsp), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x9208
jmp 0x2bff
cmpl $0x0, (%r12)
jne 0x2f1f
movl $0x61, %esi
subq 0x8(%rsp), %rsi
leaq 0xa320(%rip), %rdi      # 0xd0cc
jmp 0x2dca
cmpl $0x0, (%r12)
jne 0x2f61
movl $0x4c, %esi
subq 0x8(%rsp), %rsi
leaq 0xa2ad(%rip), %rdi      # 0xd077
movl $0x1, %edx
callq 0x9208
jmp 0x2bff
cmpq $0x78, %rax
je 0x2e11
cmpl $0x0, (%r12)
jne 0x3117
cmpl $0x0, 0x54(%rsp)
jne 0x2bff
movl $0x78, %edi
subq 0x8(%rsp), %rdi
callq 0x935f
movl $0x1, 0x54(%rsp)
jmp 0x2bff
movl $0x1, (%r12)
jmp 0x30b3
leaq 0x219eb(%rip), %rax     # 0x24810
cmpq $0x0, (%rax)
je 0x32b6
cmpq $0x0, (%rsp)
jne 0x2b79
leaq 0x219cf(%rip), %rax     # 0x24810
movq (%rax), %rbp
movq %rbp, %rdi
callq 0x2510
movq %rax, (%rsp)
jmp 0x2f53
leaq 0x219b4(%rip), %rax     # 0x24810
cmpq $0x0, (%rax)
je 0x32d5
cmpq $-0x1, 0x10(%rsp)
jne 0x2b79
callq 0x20a0
movq %rax, %r13
movl $0x0, (%rax)
leaq 0x21989(%rip), %rax     # 0x24810
movq (%rax), %rbp
testq %rbp, %rbp
je 0x3256
movq %rbp, %rdi
leaq 0x48(%rsp), %rsi
xorl %edx, %edx
callq 0x2480
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rcx
movl $0x16, %eax
cmpq %rbp, %rcx
je 0x2ed5
cmpb $0x0, (%rcx)
jne 0x2ed5
movq 0x10(%rsp), %rax
leaq -0x20001(%rax), %rcx
movl $0x22, %eax
cmpq $-0x1fe02, %rcx         # imm = 0xFFFE01FE
ja 0x2ed9
movl %eax, (%r13)
cmpl $0x0, (%r13)
je 0x30b3
jmp 0x3370
leaq 0x21920(%rip), %rax     # 0x24810
cmpq $0x0, (%rax)
je 0x32f4
cmpq $0x0, 0x30(%rsp)
jne 0x2b79
leaq 0x21903(%rip), %rax     # 0x24810
movq (%rax), %rbp
movq %rbp, %rdi
callq 0x2510
movq %rax, 0x30(%rsp)
jmp 0x2f53
leaq 0x218ea(%rip), %rax     # 0x24810
cmpq $0x0, (%rax)
je 0x3313
cmpq $0x0, 0x18(%rsp)
jne 0x2b79
leaq 0x218cd(%rip), %rax     # 0x24810
movq (%rax), %rbp
movq %rbp, %rdi
callq 0x2510
movq %rax, 0x18(%rsp)
testq %rax, %rax
jne 0x30b3
jmp 0x3198
leaq 0x218a8(%rip), %rax     # 0x24810
cmpq $0x0, (%rax)
je 0x3297
cmpq $0x0, 0x38(%rsp)
jne 0x2b79
callq 0x20a0
movq %rax, %r13
movl $0x0, (%rax)
leaq 0x2187d(%rip), %rax     # 0x24810
movq (%rax), %rbp
testq %rbp, %rbp
je 0x3351
movq %rbp, %rdi
leaq 0x48(%rsp), %rsi
xorl %edx, %edx
callq 0x2050
movq %rax, 0x38(%rsp)
movq 0x48(%rsp), %rcx
movl $0x16, %eax
cmpq %rbp, %rcx
je 0x2fe0
cmpb $0x0, (%rcx)
jne 0x2fe0
cmpq $0x3b9aca00, 0x38(%rsp) # imm = 0x3B9ACA00
jb 0x2fe4
movl $0x22, %eax
movq $0x0, 0x38(%rsp)
movl %eax, (%r13)
cmpl $0x0, (%r13)
je 0x30b3
jmp 0x3379
cmpl $0x0, 0x28(%rsp)
movl $0x1, 0x28(%rsp)
je 0x30b3
jmp 0x2b79
cmpl $0x0, 0x24(%rsp)
movl $0x1, 0x24(%rsp)
je 0x30b3
jmp 0x2b79
leaq 0x217e5(%rip), %rax     # 0x24810
cmpq $0x0, (%rax)
je 0x3332
cmpq $0x10, 0x40(%rsp)
jne 0x2b79
callq 0x20a0
movq %rax, %r13
movl $0x0, (%rax)
leaq 0x217ba(%rip), %rax     # 0x24810
movq (%rax), %rbp
testq %rbp, %rbp
je 0x3256
movq %rbp, %rdi
leaq 0x48(%rsp), %rsi
xorl %edx, %edx
callq 0x2480
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rcx
movl $0x16, %eax
cmpq %rbp, %rcx
je 0x30a4
cmpb $0x0, (%rcx)
jne 0x30a4
movq 0x40(%rsp), %rax
movq $-0x3e9, %rdx           # imm = 0xFC17
leaq (%rax,%rdx), %rcx
movl $0x22, %eax
cmpq %rdx, %rcx
ja 0x30a8
movl %eax, (%r13)
cmpl $0x0, (%r13)
jne 0x3382
movl 0x2c(%rsp), %edi
movq 0x58(%rsp), %rsi
callq 0x8e20
movq %rax, %r13
testq %rax, %rax
leaq 0x9f63(%rip), %rbp      # 0xd031
jne 0x2be1
cmpl $0x0, 0x24(%rsp)
sete %r12b
movq 0x30(%rsp), %r13
movq (%rsp), %r15
movl 0x28(%rsp), %r14d
jmp 0x2b54
movq 0x10f01(%rip), %rax     # 0x13ff8
movq (%rax), %rcx
leaq 0x9fdb(%rip), %rdi      # 0xd0dc
movl $0x16, %esi
movl $0x1, %edx
callq 0x24e0
xorl %edi, %edi
callq 0x24c0
leaq 0x9fef(%rip), %rdi      # 0xd10d
jmp 0x3127
leaq 0x9fcf(%rip), %rdi      # 0xd0f6
movq %r13, %rsi
xorl %eax, %eax
callq 0xad37
callq 0x20a0
movl $0x0, (%rax)
callq 0x3675
movq %r13, %rdi
callq 0x9b70
testq %rax, %rax
jne 0x316e
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x31bf
leaq 0x9fc3(%rip), %rdi      # 0xd122
movq %r13, %rsi
xorl %eax, %eax
callq 0xad37
jmp 0x35c7
movq %rax, %rbx
cmpq $0x0, (%rax)
jne 0x31de
leaq 0x9fc7(%rip), %rdi      # 0xd145
movq %r13, %rsi
xorl %eax, %eax
callq 0xad37
callq 0x20a0
movl $0x0, (%rax)
jmp 0x35bf
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x3275
leaq 0x9eac(%rip), %rdi      # 0xd059
movq %r13, %rsi
movq %rbp, %rdx
xorl %eax, %eax
callq 0xad37
jmp 0x35e1
movq %rax, %rbx
leaq 0x9f59(%rip), %rdi      # 0xd122
movq %r13, %rsi
xorl %eax, %eax
callq 0xac18
movl $0x0, (%rbx)
jmp 0x35c7
cmpq $0x0, 0x8(%rbx)
je 0x3201
leaq 0x9f73(%rip), %rdi      # 0xd15f
movq %r13, %rsi
xorl %eax, %eax
callq 0xad37
callq 0x20a0
movl $0x0, (%rax)
movq (%rbx), %rdi
callq 0xa2cb
cmpl $-0x1, %eax
je 0x35bf
movl %eax, %ebp
movq %r15, %rdi
movq 0x10(%rsp), %rsi
movq 0x38(%rsp), %rdx
movl %r14d, %ecx
callq 0x4c1c
testq %rax, %rax
jne 0x33a6
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x3430
leaq 0x9f4e(%rip), %rdi      # 0xd195
movq %r15, %rsi
xorl %eax, %eax
callq 0xad37
jmp 0x3582
leaq 0xa81f(%rip), %rdi      # 0xda7c
leaq 0xa0a2(%rip), %rsi      # 0xd306
leaq 0xa0ff(%rip), %rcx      # 0xd36a
movl $0xbb, %edx
callq 0x2220
movq %rax, %rbx
leaq 0x9dda(%rip), %rdi      # 0xd059
movq %r13, %rsi
movq %rbp, %rdx
xorl %eax, %eax
callq 0xac18
movl $0x0, (%rbx)
jmp 0x35e1
leaq 0x9d66(%rip), %rdi      # 0xd004
leaq 0x9d6e(%rip), %rsi      # 0xd013
leaq 0x9d6e(%rip), %rcx      # 0xd01a
movl $0x4c, %edx
callq 0x2220
leaq 0x9d47(%rip), %rdi      # 0xd004
leaq 0x9d4f(%rip), %rsi      # 0xd013
leaq 0x9d4f(%rip), %rcx      # 0xd01a
movl $0x46, %edx
callq 0x2220
leaq 0x9d28(%rip), %rdi      # 0xd004
leaq 0x9d30(%rip), %rsi      # 0xd013
leaq 0x9d30(%rip), %rcx      # 0xd01a
movl $0x3e, %edx
callq 0x2220
leaq 0x9d09(%rip), %rdi      # 0xd004
leaq 0x9d11(%rip), %rsi      # 0xd013
leaq 0x9d11(%rip), %rcx      # 0xd01a
movl $0x67, %edx
callq 0x2220
leaq 0x9cea(%rip), %rdi      # 0xd004
leaq 0x9cf2(%rip), %rsi      # 0xd013
leaq 0x9cf2(%rip), %rcx      # 0xd01a
movl $0x61, %edx
callq 0x2220
leaq 0x9ccb(%rip), %rdi      # 0xd004
leaq 0x9cd3(%rip), %rsi      # 0xd013
leaq 0x9cd3(%rip), %rcx      # 0xd01a
movl $0x59, %edx
callq 0x2220
leaq 0xa724(%rip), %rdi      # 0xda7c
leaq 0x9fa7(%rip), %rsi      # 0xd306
leaq 0x9fbf(%rip), %rcx      # 0xd325
movl $0xa7, %edx
callq 0x2220
leaq 0x9cbd(%rip), %rdi      # 0xd034
jmp 0x3389
leaq 0x9cfa(%rip), %rdi      # 0xd07a
jmp 0x3389
leaq 0x9d1c(%rip), %rdi      # 0xd0a5
xorl %eax, %eax
callq 0xad37
movl $0x0, (%r13)
movq 0x30(%rsp), %r13
movq (%rsp), %r15
jmp 0x35c7
movq %rax, %r14
cmpq $0x0, 0x18(%rsp)
jne 0x33f0
leaq 0x9e06(%rip), %rsi      # 0xd1be
leaq 0x18(%rsp), %rdi
movq %r13, %rdx
xorl %eax, %eax
callq 0x8b2c
cmpl $-0x1, %eax
jne 0x33f0
movq %r15, %r12
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x351e
leaq 0x9de1(%rip), %rdi      # 0xd1c5
xorl %eax, %eax
callq 0xad37
jmp 0x3536
movq %r15, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x8c30
testl %eax, %eax
jne 0x3450
movq %r14, %rdi
movq 0x10(%rsp), %rsi
movq 0x40(%rsp), %rdx
callq 0x36bc
testq %rax, %rax
jne 0x3471
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x353b
leaq 0x9db4(%rip), %rdi      # 0xd1e2
jmp 0x3465
movq %rax, %r14
leaq 0x9d5b(%rip), %rdi      # 0xd195
movq %r15, %rsi
xorl %eax, %eax
callq 0xac18
movl $0x0, (%r14)
jmp 0x3582
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x34f8
leaq 0x9d69(%rip), %rdi      # 0xd1ce
xorl %eax, %eax
callq 0xad37
jmp 0x3576
movq %rax, %r15
movq %r15, %rdi
movl %ebp, %esi
callq 0x3b35
testl %eax, %eax
jne 0x35eb
callq 0x64d4
testl %eax, %eax
jne 0x3504
movq %r15, %rdi
callq 0x3d49
testl %eax, %eax
jne 0x3486
movq %r15, %rdi
callq 0x3d67
testl %eax, %eax
jne 0x356e
testb %r12b, %r12b
jne 0x3474
movq %r15, %rdi
callq 0x3e1a
testl %eax, %eax
jne 0x3610
movq %r14, %rdi
callq 0x5322
movl %ebp, %edi
callq 0x2240
testl %eax, %eax
je 0x364d
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x3635
leaq 0xafb0(%rip), %rdi      # 0xe49c
xorl %eax, %eax
callq 0xad37
jmp 0x364d
movq %rax, %r15
leaq 0x9ccc(%rip), %rdi      # 0xd1ce
jmp 0x3545
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x3555
leaq 0x9d0f(%rip), %rdi      # 0xd224
xorl %eax, %eax
callq 0xad37
jmp 0x356e
movq %rax, %r15
leaq 0x9c9d(%rip), %rdi      # 0xd1c5
xorl %eax, %eax
callq 0xac18
movl $0x0, (%r15)
movq %r12, %r15
jmp 0x357a
movq %rax, %r15
leaq 0x9c9d(%rip), %rdi      # 0xd1e2
xorl %eax, %eax
callq 0xac18
movl $0x0, (%r15)
jmp 0x3576
movq %rax, %r12
leaq 0x9cc5(%rip), %rdi      # 0xd224
xorl %eax, %eax
callq 0xac18
movl $0x0, (%r12)
movq %r15, %rdi
callq 0x3e1a
movq (%rsp), %r15
movq %r14, %rdi
callq 0x5322
movl %ebp, %edi
callq 0x2240
testl %eax, %eax
je 0x35bf
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x35a7
leaq 0xaefe(%rip), %rdi      # 0xe49c
xorl %eax, %eax
callq 0xad37
jmp 0x35bf
movq %rax, %r14
leaq 0xaeeb(%rip), %rdi      # 0xe49c
xorl %eax, %eax
callq 0xac18
movl $0x0, (%r14)
movq %rbx, %rdi
callq 0xa287
movq %r13, %rdi
callq 0x2040
movq 0x18(%rsp), %rdi
callq 0x2040
movq %r15, %rdi
callq 0x2040
movl $0x1, %edi
callq 0x24c0
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x3601
leaq 0x9c09(%rip), %rdi      # 0xd205
jmp 0x3515
movq %rax, %r12
leaq 0x9bfa(%rip), %rdi      # 0xd205
jmp 0x355f
callq 0x20a0
cmpl $0x0, (%rax)
jne 0x3626
leaq 0x9c1c(%rip), %rdi      # 0xd23d
jmp 0x3465
movq %rax, %r15
leaq 0x9c0d(%rip), %rdi      # 0xd23d
jmp 0x3545
movq %rax, %r14
leaq 0xae5d(%rip), %rdi      # 0xe49c
xorl %eax, %eax
callq 0xac18
movl $0x0, (%r14)
movq %rbx, %rdi
callq 0xa287
movq %r13, %rdi
callq 0x2040
movq 0x18(%rsp), %rdi
callq 0x2040
movq (%rsp), %rdi
callq 0x2040
jmp 0x3110