// File: /workspace/github_c_makefile_star2_O0/Tarsnap[P]kivaloo/perf/main.c
// Function: main
int
main(int argc, char * argv[])
{
	/* State variables. */
	int sock_s;
	int sock_t;
	struct wire_requestqueue * Q_t;
	struct logging_file * logfile;
	struct perfstats * P;
	struct dispatch_state * dstate;

	/* Command-line parameters. */
	char * opt_l = NULL;
	char * opt_p = NULL;
	char * opt_s = NULL;
	char * opt_t = NULL;
	long opt_w = -1;
	int opt_1 = 0;

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

	WARNP_INIT;

	/* Parse the command line. */
	while ((ch = GETOPT(argc, argv)) != NULL) {
		GETOPT_SWITCH(ch) {
		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 != NULL)
				usage();
			if ((opt_s = strdup(optarg)) == NULL)
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPTARG("-t"):
			if (opt_t != NULL)
				usage();
			if ((opt_t = strdup(optarg)) == NULL)
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPTARG("-w"):
			if (opt_w != -1)
				usage();
			if (PARSENUM(&opt_w, optarg, 1, 86400)) {
				warn0("Invalid option: %s %s", ch, optarg);
				usage();
			}
			break;
		GETOPT_OPT("--version"):
			fprintf(stderr, "kivaloo-perf @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_l == NULL)
		usage();
	if (opt_s == NULL)
		usage();
	if (opt_t == NULL)
		usage();

	/* Set default value. */
	if (opt_w == -1)
		opt_w = 60;

	/* 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 target address. */
	if ((sas_t = sock_resolve(opt_t)) == NULL) {
		warnp("Error resolving socket address: %s", opt_t);
		exit(1);
	}
	if (sas_t[0] == NULL) {
		warn0("No addresses found for %s", opt_t);
		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 ((sock_s = sock_listener(sas_s[0])) == -1)
		exit(1);

	/* Connect to the target. */
	if ((sock_t = sock_connect(sas_t)) == -1)
		exit(1);

	/* Create a queue of requests to the target. */
	if ((Q_t = wire_requestqueue_init(sock_t)) == NULL) {
		warnp("Cannot create request queue");
		exit(1);
	}

	/* Open log file. */
	if ((logfile = logging_open(opt_l)) == NULL) {
		warnp("Cannot open log file");
		exit(1);
	}

	/* Initialize performance tracking state. */
	if ((P = perfstats_init(logfile, opt_w)) == NULL) {
		warnp("Cannot initialize performance statistics");
		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(sock_s, Q_t, P)) == 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. */
		dispatch_done(dstate);
	} while (opt_1 == 0);

	/* Output and free performance tracking state */
	perfstats_done(P);

	/* Close the log file. */
	logging_close(logfile);

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

	/* Close sockets. */
	if (close(sock_t))
		warnp("close");
	if (close(sock_s))
		warnp("close");

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

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

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x40(%rbp)
movq $0x0, -0x48(%rbp)
movq $0x0, -0x50(%rbp)
movq $0x0, -0x58(%rbp)
movq $-0x1, -0x60(%rbp)
movl $0x0, -0x64(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x25be
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0xc3a0
jmp 0x25c0
jmp 0x25c2
movl -0x8(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x9230
movq %rax, -0x80(%rbp)
cmpq $0x0, %rax
je 0x2d9b
movq $0x43, -0x88(%rbp)
movq -0x88(%rbp), %rax
decq %rax
movq %rax, -0x90(%rbp)
movl $0x0, -0x94(%rbp)
leaq 0x7(%rip), %rax         # 0x2610
movq %rax, -0xa0(%rbp)
leaq 0x671e1(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x2638
movq -0x80(%rbp), %rdi
callq 0x98f0
movq -0x88(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xa8(%rbp)
jmp 0x2654
movq -0x90(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x90(%rbp)
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
addq $-0x44, %rax
movq %rax, -0xb0(%rbp)
subq $0x2b, %rax
ja 0x2d28
movq -0xb0(%rbp), %rax
leaq 0xf99a(%rip), %rcx      # 0x12018
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x6716a(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x26c3
leaq 0x67156(%rip), %rax     # 0x697f0
cmpq $0x0, (%rax)
je 0x26a2
jmp 0x26c1
leaq 0xfa1f(%rip), %rdi      # 0x120c8
leaq 0xfa27(%rip), %rsi      # 0x120d7
movl $0x44, %edx
leaq 0xfa22(%rip), %rcx      # 0x120de
callq 0x21d0
jmp 0x26f6
movq -0x88(%rbp), %rax
movl $0x44, %esi
subq %rax, %rsi
leaq 0xfa1c(%rip), %rdi      # 0x120f5
movl $0x1, %edx
callq 0x9a40
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
cmpq $0x0, -0x40(%rbp)
je 0x2702
callq 0x32d0
leaq 0x670e7(%rip), %rax     # 0x697f0
movq (%rax), %rdi
callq 0x2400
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
jne 0x277a
jmp 0x271d
jmp 0x271f
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2752
movq -0x80(%rbp), %rsi
leaq 0x670bc(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf9ba(%rip), %rdi      # 0x120f8
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x276e
movq -0x80(%rbp), %rsi
leaq 0x67093(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf991(%rip), %rdi      # 0x120f8
movb $0x0, %al
callq 0xc6b0
jmp 0x2770
movl $0x1, %edi
callq 0x23d0
jmp 0x2d96
leaq 0x67072(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x27bb
leaq 0x6705e(%rip), %rax     # 0x697f0
cmpq $0x0, (%rax)
je 0x279a
jmp 0x27b9
leaq 0xf927(%rip), %rdi      # 0x120c8
leaq 0xf92f(%rip), %rsi      # 0x120d7
movl $0x4a, %edx
leaq 0xf92a(%rip), %rcx      # 0x120de
callq 0x21d0
jmp 0x27ee
movq -0x88(%rbp), %rax
movl $0x4a, %esi
subq %rax, %rsi
leaq 0xf945(%rip), %rdi      # 0x12116
movl $0x1, %edx
callq 0x9a40
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
cmpq $0x0, -0x48(%rbp)
je 0x27fa
callq 0x32d0
leaq 0x66fef(%rip), %rax     # 0x697f0
movq (%rax), %rdi
callq 0x2400
movq %rax, -0x48(%rbp)
cmpq $0x0, %rax
jne 0x2872
jmp 0x2815
jmp 0x2817
callq 0x20a0
cmpl $0x0, (%rax)
je 0x284a
movq -0x80(%rbp), %rsi
leaq 0x66fc4(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf8c2(%rip), %rdi      # 0x120f8
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x2866
movq -0x80(%rbp), %rsi
leaq 0x66f9b(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf899(%rip), %rdi      # 0x120f8
movb $0x0, %al
callq 0xc6b0
jmp 0x2868
movl $0x1, %edi
callq 0x23d0
jmp 0x2d96
leaq 0x66f7a(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x28b3
leaq 0x66f66(%rip), %rax     # 0x697f0
cmpq $0x0, (%rax)
je 0x2892
jmp 0x28b1
leaq 0xf82f(%rip), %rdi      # 0x120c8
leaq 0xf837(%rip), %rsi      # 0x120d7
movl $0x50, %edx
leaq 0xf832(%rip), %rcx      # 0x120de
callq 0x21d0
jmp 0x28e6
movq -0x88(%rbp), %rax
movl $0x50, %esi
subq %rax, %rsi
leaq 0xf850(%rip), %rdi      # 0x12119
movl $0x1, %edx
callq 0x9a40
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
cmpq $0x0, -0x50(%rbp)
je 0x28f2
callq 0x32d0
leaq 0x66ef7(%rip), %rax     # 0x697f0
movq (%rax), %rdi
callq 0x2400
movq %rax, -0x50(%rbp)
cmpq $0x0, %rax
jne 0x296a
jmp 0x290d
jmp 0x290f
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2942
movq -0x80(%rbp), %rsi
leaq 0x66ecc(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf7ca(%rip), %rdi      # 0x120f8
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x295e
movq -0x80(%rbp), %rsi
leaq 0x66ea3(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf7a1(%rip), %rdi      # 0x120f8
movb $0x0, %al
callq 0xc6b0
jmp 0x2960
movl $0x1, %edi
callq 0x23d0
jmp 0x2d96
leaq 0x66e82(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x29ab
leaq 0x66e6e(%rip), %rax     # 0x697f0
cmpq $0x0, (%rax)
je 0x298a
jmp 0x29a9
leaq 0xf737(%rip), %rdi      # 0x120c8
leaq 0xf73f(%rip), %rsi      # 0x120d7
movl $0x56, %edx
leaq 0xf73a(%rip), %rcx      # 0x120de
callq 0x21d0
jmp 0x29de
movq -0x88(%rbp), %rax
movl $0x56, %esi
subq %rax, %rsi
leaq 0xf75b(%rip), %rdi      # 0x1211c
movl $0x1, %edx
callq 0x9a40
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
cmpq $0x0, -0x58(%rbp)
je 0x29ea
callq 0x32d0
leaq 0x66dff(%rip), %rax     # 0x697f0
movq (%rax), %rdi
callq 0x2400
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
jne 0x2a62
jmp 0x2a05
jmp 0x2a07
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2a3a
movq -0x80(%rbp), %rsi
leaq 0x66dd4(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf6d2(%rip), %rdi      # 0x120f8
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x2a56
movq -0x80(%rbp), %rsi
leaq 0x66dab(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf6a9(%rip), %rdi      # 0x120f8
movb $0x0, %al
callq 0xc6b0
jmp 0x2a58
movl $0x1, %edi
callq 0x23d0
jmp 0x2d96
leaq 0x66d8a(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x2aa3
leaq 0x66d76(%rip), %rax     # 0x697f0
cmpq $0x0, (%rax)
je 0x2a82
jmp 0x2aa1
leaq 0xf63f(%rip), %rdi      # 0x120c8
leaq 0xf647(%rip), %rsi      # 0x120d7
movl $0x5c, %edx
leaq 0xf642(%rip), %rcx      # 0x120de
callq 0x21d0
jmp 0x2ad6
movq -0x88(%rbp), %rax
movl $0x5c, %esi
subq %rax, %rsi
leaq 0xf666(%rip), %rdi      # 0x1211f
movl $0x1, %edx
callq 0x9a40
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
cmpq $-0x1, -0x60(%rbp)
je 0x2ae2
callq 0x32d0
callq 0x20a0
movl $0x0, (%rax)
movq $0x1, -0x60(%rbp)
movq -0x60(%rbp), %rax
movl $0x2, %ecx
cqto
idivq %rcx
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
jle 0x2b3c
leaq 0x66cdc(%rip), %rax     # 0x697f0
movq (%rax), %rdi
movsd 0xf4e9(%rip), %xmm0     # 0x12008
movsd 0xf4e9(%rip), %xmm1     # 0x12010
xorl %esi, %esi
callq 0x3350
cvttsd2si %xmm0, %rax
movq %rax, -0x60(%rbp)
jmp 0x2bcf
movq $-0x1, -0x60(%rbp)
movb $0x1, %al
testb $0x1, %al
jne 0x2b4c
jmp 0x2b98
leaq 0x66c9d(%rip), %rax     # 0x697f0
movq (%rax), %rdi
movq -0x60(%rbp), %rdx
xorl %eax, %eax
movl $0x1, %ecx
cmpq $0x0, %rdx
cmovlel %ecx, %eax
movslq %eax, %rsi
movq -0x60(%rbp), %rdx
xorl %eax, %eax
movl $0x15180, %ecx          # imm = 0x15180
cmpq $0x0, %rdx
cmovlel %ecx, %eax
movslq %eax, %rdx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x3400
movq %rax, -0x60(%rbp)
movq %rax, -0xc0(%rbp)
jmp 0x2bc8
leaq 0x66c51(%rip), %rax     # 0x697f0
movq (%rax), %rdi
movq -0x60(%rbp), %rcx
movl $0x1, %esi
movl $0x15180, %edx          # imm = 0x15180
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0x34c0
movq %rax, -0x60(%rbp)
xorl %eax, %eax
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2c07
jmp 0x2bdb
movq -0x80(%rbp), %rsi
leaq 0x66c0a(%rip), %rax     # 0x697f0
movq (%rax), %rdx
leaq 0xf532(%rip), %rdi      # 0x12122
movb $0x0, %al
callq 0xc6b0
callq 0x20a0
movl $0x0, (%rax)
callq 0x32d0
jmp 0x2d96
leaq 0x66be5(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x2c1a
jmp 0x2c4a
movq -0x88(%rbp), %rax
movl $0x64, %esi
subq %rax, %rsi
leaq 0xf508(%rip), %rdi      # 0x12138
xorl %edx, %edx
callq 0x9a40
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
movq 0x163a7(%rip), %rax     # 0x18ff8
movq (%rax), %rdi
leaq 0xf4e7(%rip), %rsi      # 0x12142
movb $0x0, %al
callq 0x2270
xorl %edi, %edi
callq 0x23d0
leaq 0x66b88(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x2c77
jmp 0x2ca7
movq -0x88(%rbp), %rax
movl $0x67, %esi
subq %rax, %rsi
leaq 0x10d52(%rip), %rdi     # 0x139df
xorl %edx, %edx
callq 0x9a40
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
cmpl $0x0, -0x64(%rbp)
je 0x2cb2
callq 0x32d0
movl $0x1, -0x64(%rbp)
jmp 0x2d96
leaq 0x66b33(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x2ccc
jmp 0x2cf3
movq -0x88(%rbp), %rax
movl $0x6c, %edi
subq %rax, %rdi
callq 0x9cd0
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
jmp 0x2cf5
movq -0x80(%rbp), %rsi
leaq 0xf45a(%rip), %rdi      # 0x1215a
movb $0x0, %al
callq 0xc6b0
callq 0x20a0
movl $0x0, (%rax)
callq 0x32d0
jmp 0x2d72
leaq 0x66ad8(%rip), %rax     # 0x697f8
movl $0x1, (%rax)
jmp 0x2d96
leaq 0x66ac9(%rip), %rax     # 0x697f8
cmpl $0x0, (%rax)
je 0x2d36
jmp 0x2d72
movl -0x94(%rbp), %eax
cmpl $0x0, %eax
jne 0x2d5f
movq -0x88(%rbp), %rax
movl $0x6f, %edi
subq %rax, %rdi
callq 0x9d90
movl $0x1, -0x94(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x32c2
jmp 0x2d74
movq -0x80(%rbp), %rsi
leaq 0xf3f2(%rip), %rdi      # 0x12171
movb $0x0, %al
callq 0xc6b0
callq 0x20a0
movl $0x0, (%rax)
callq 0x32d0
jmp 0x25c2
leaq 0x167e6(%rip), %rax     # 0x19588
movl (%rax), %ecx
movl -0x8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x8(%rbp)
leaq 0x167d5(%rip), %rax     # 0x19588
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
cmpl $0x0, -0x8(%rbp)
je 0x2dd2
callq 0x32d0
cmpq $0x0, -0x40(%rbp)
jne 0x2dde
callq 0x32d0
cmpq $0x0, -0x50(%rbp)
jne 0x2dea
callq 0x32d0
cmpq $0x0, -0x58(%rbp)
jne 0x2df6
callq 0x32d0
cmpq $-0x1, -0x60(%rbp)
jne 0x2e05
movq $0x3c, -0x60(%rbp)
movq -0x50(%rbp), %rdi
callq 0xa7f0
movq %rax, -0x70(%rbp)
cmpq $0x0, %rax
jne 0x2e61
jmp 0x2e1a
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2e43
movq -0x50(%rbp), %rsi
leaq 0xf357(%rip), %rdi      # 0x12186
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x2e55
movq -0x50(%rbp), %rsi
leaq 0xf338(%rip), %rdi      # 0x12186
movb $0x0, %al
callq 0xc6b0
jmp 0x2e57
movl $0x1, %edi
callq 0x23d0
movq -0x70(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x2e94
jmp 0x2e6d
movq -0x50(%rbp), %rsi
leaq 0xf331(%rip), %rdi      # 0x121a9
movb $0x0, %al
callq 0xc6b0
callq 0x20a0
movl $0x0, (%rax)
movl $0x1, %edi
callq 0x23d0
movq -0x58(%rbp), %rdi
callq 0xa7f0
movq %rax, -0x78(%rbp)
cmpq $0x0, %rax
jne 0x2ef0
jmp 0x2ea9
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2ed2
movq -0x58(%rbp), %rsi
leaq 0xf2c8(%rip), %rdi      # 0x12186
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x2ee4
movq -0x58(%rbp), %rsi
leaq 0xf2a9(%rip), %rdi      # 0x12186
movb $0x0, %al
callq 0xc6b0
jmp 0x2ee6
movl $0x1, %edi
callq 0x23d0
movq -0x78(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x2f23
jmp 0x2efc
movq -0x58(%rbp), %rsi
leaq 0xf2a2(%rip), %rdi      # 0x121a9
movb $0x0, %al
callq 0xc6b0
callq 0x20a0
movl $0x0, (%rax)
movl $0x1, %edi
callq 0x23d0
movq -0x70(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2f4f
jmp 0x2f30
movq -0x50(%rbp), %rsi
leaq 0xf288(%rip), %rdi      # 0x121c3
movb $0x0, %al
callq 0xc6b0
callq 0x20a0
movl $0x0, (%rax)
jmp 0x2f4f
movq -0x70(%rbp), %rax
movq (%rax), %rdi
callq 0xb470
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
jne 0x2f6d
movl $0x1, %edi
callq 0x23d0
movq -0x78(%rbp), %rdi
callq 0xb6c0
movl %eax, -0x18(%rbp)
cmpl $-0x1, %eax
jne 0x2f88
movl $0x1, %edi
callq 0x23d0
movl -0x18(%rbp), %edi
callq 0xe1e0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x2fdb
jmp 0x2f9c
callq 0x20a0
cmpl $0x0, (%rax)
je 0x2fc1
leaq 0xf24c(%rip), %rdi      # 0x121f9
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x2fcf
leaq 0xf231(%rip), %rdi      # 0x121f9
movb $0x0, %al
callq 0xc6b0
jmp 0x2fd1
movl $0x1, %edi
callq 0x23d0
movq -0x40(%rbp), %rdi
callq 0xd080
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x302f
jmp 0x2ff0
callq 0x20a0
cmpl $0x0, (%rax)
je 0x3015
leaq 0xf214(%rip), %rdi      # 0x12215
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x3023
leaq 0xf1f9(%rip), %rdi      # 0x12215
movb $0x0, %al
callq 0xc6b0
jmp 0x3025
movl $0x1, %edi
callq 0x23d0
movq -0x28(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x4020
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x3087
jmp 0x3048
callq 0x20a0
cmpl $0x0, (%rax)
je 0x306d
leaq 0xf1d1(%rip), %rdi      # 0x1222a
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x307b
leaq 0xf1b6(%rip), %rdi      # 0x1222a
movb $0x0, %al
callq 0xc6b0
jmp 0x307d
movl $0x1, %edi
callq 0x23d0
cmpq $0x0, -0x48(%rbp)
jne 0x30ec
movq -0x50(%rbp), %rdx
leaq -0x48(%rbp), %rdi
leaq 0xf1b6(%rip), %rsi      # 0x12253
movb $0x0, %al
callq 0x8e20
cmpl $-0x1, %eax
jne 0x30ea
jmp 0x30ab
callq 0x20a0
cmpl $0x0, (%rax)
je 0x30d0
leaq 0xf19e(%rip), %rdi      # 0x1225a
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x30de
leaq 0xf183(%rip), %rdi      # 0x1225a
movb $0x0, %al
callq 0xc6b0
jmp 0x30e0
movl $0x1, %edi
callq 0x23d0
jmp 0x30ec
movq -0x48(%rbp), %rdi
callq 0x8f60
cmpl $0x0, %eax
je 0x313b
jmp 0x30fc
callq 0x20a0
cmpl $0x0, (%rax)
je 0x3121
leaq 0xf156(%rip), %rdi      # 0x12263
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x312f
leaq 0xf13b(%rip), %rdi      # 0x12263
movb $0x0, %al
callq 0xc6b0
jmp 0x3131
movl $0x1, %edi
callq 0x23d0
jmp 0x313d
movl -0x14(%rbp), %edi
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0x3580
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0x3161
movl $0x1, %edi
callq 0x23d0
jmp 0x3163
callq 0x53d0
cmpl $0x0, %eax
je 0x31ae
jmp 0x316f
callq 0x20a0
cmpl $0x0, (%rax)
je 0x3194
leaq 0xf0f7(%rip), %rdi      # 0x12277
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x31a2
leaq 0xf0dc(%rip), %rdi      # 0x12277
movb $0x0, %al
callq 0xc6b0
jmp 0x31a4
movl $0x1, %edi
callq 0x23d0
jmp 0x31b0
movq -0x38(%rbp), %rdi
callq 0x3880
cmpl $0x0, %eax
jne 0x3163
movq -0x38(%rbp), %rdi
callq 0x38d0
cmpl $0x0, -0x64(%rbp)
je 0x313d
movq -0x30(%rbp), %rdi
callq 0x4570
movq -0x28(%rbp), %rdi
callq 0xd950
movq -0x20(%rbp), %rdi
callq 0xe7b0
movq -0x20(%rbp), %rdi
callq 0xe7f0
movl -0x18(%rbp), %edi
callq 0x21f0
cmpl $0x0, %eax
je 0x323b
jmp 0x3204
callq 0x20a0
cmpl $0x0, (%rax)
je 0x3229
leaq 0xfcc5(%rip), %rdi      # 0x12eda
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x3237
leaq 0xfcaa(%rip), %rdi      # 0x12eda
movb $0x0, %al
callq 0xc6b0
jmp 0x3239
jmp 0x323b
movl -0x14(%rbp), %edi
callq 0x21f0
cmpl $0x0, %eax
je 0x3281
jmp 0x324a
callq 0x20a0
cmpl $0x0, (%rax)
je 0x326f
leaq 0xfc7f(%rip), %rdi      # 0x12eda
movb $0x0, %al
callq 0xc460
callq 0x20a0
movl $0x0, (%rax)
jmp 0x327d
leaq 0xfc64(%rip), %rdi      # 0x12eda
movb $0x0, %al
callq 0xc6b0
jmp 0x327f
jmp 0x3281
movq -0x78(%rbp), %rdi
callq 0xb420
movq -0x70(%rbp), %rdi
callq 0xb420
movq -0x58(%rbp), %rdi
callq 0x2040
movq -0x50(%rbp), %rdi
callq 0x2040
movq -0x48(%rbp), %rdi
callq 0x2040
movq -0x40(%rbp), %rdi
callq 0x2040
xorl %eax, %eax
addq $0xc0, %rsp
popq %rbp
retq
movq -0xb8(%rbp), %rax
jmpq *%rax
nopl (%rax,%rax)