// File: /workspace/github_c_makefile_star2_O0/igaw[P]jitterdebugger/jitterdebugger.c
// Function: main
int main(int argc, char *argv[])
{
	struct sigaction sa;
	unsigned int i;
	int c, fd, err;
	struct stats *s;
	pthread_t pid, iopid;
	cpu_set_t affinity_available, affinity_set;
	int long_idx;
	long val;
	struct record_data *rec = NULL;
	FILE *rfd = NULL;
	struct system_info *sysinfo;

	/* Command line options */
	unsigned int opt_duration = 0;
	char *opt_dir = NULL;
	char *opt_cmd = NULL;
	char *opt_net = NULL;
	int opt_samples = 0;
	int opt_verbose = 0;

	CPU_ZERO(&affinity_set);

	while (1) {
		c = getopt_long(argc, argv, "c:n:sp:vD:l:b:Ni:o:a:h", long_options,
				&long_idx);
		if (c < 0)
			break;

		switch (c) {
		case 0:
			if (!strcmp(long_options[long_idx].name, "version")) {
				printf("jitterdebugger %s\n",
					JD_VERSION);
				exit(0);
			}
			break;
		case 'o':
			opt_dir = optarg;
			break;
		case 'c':
			opt_cmd = optarg;
			break;
		case 'n':
			opt_net = optarg;
			break;
		case 's':
			opt_samples = 1;
			break;
		case 'p':
			val = parse_dec(optarg);
			if (val < 1 || val > 98)
				err_abort("Invalid value for priority. "
					  "Valid range is [1..98]\n");
			priority = val;
			break;
		case 'v':
			opt_verbose = 1;
			break;
		case 'D':
			val = parse_time(optarg);
			if (val < 0)
				err_abort("Invalid value for duration. "
					"Valid postfixes are 'd', 'h', 'm', 's'\n");
			opt_duration = val;
			break;
		case 'l':
			val = parse_dec(optarg);
			if (val <= 0)
				err_abort("Invalid value for loops. "
					"Valid range is [1..]\n");
			max_loops = val;
			break;
		case 'b':
			val = parse_dec(optarg);
			if (val <= 0)
				err_abort("Invalid value for break. "
					  "Valid range is [1..]\n");
			break_val = val;
			break;
		case 'N':
			interval_resolution = 1;
			break;
		case 'i':
			val = parse_dec(optarg);
			if (val < 1)
				err_abort("Invalid value for interval. "
					  "Valid range is [1..]. "
					  "Default: %u us.\n", sleep_interval_us);
			sleep_interval_us = val;
			break;
		case 'h':
			usage(0);
		case 'a':
			val = cpuset_parse(&affinity_set, optarg);
			if (val < 0) {
				fprintf(stderr, "Invalid value for affinity. Valid range is [0..]\n");
				exit(1);
			}
			break;
		default:
			usage(1);
		}
	}

	if (geteuid() != 0)
		printf("jitterdebugger is not running with root rights.\n");

	sysinfo = collect_system_info();
	if (opt_dir) {
		err = mkdir(opt_dir, 0777);
		if (err) {
			if (errno != EEXIST) {
				err_handler(errno,
					"Creating directory '%s' failed\n",
					opt_dir);
			}
			warn_handler("Directory '%s' already exist: overwriting contents", opt_dir);
		} else {
			store_system_info(opt_dir, sysinfo);
		}
	}

	if (opt_net || opt_samples) {
		if (opt_net && opt_samples) {
			fprintf(stdout, "Can't use both options -s or -n together\n");
			exit(1);
		}

		rec = malloc(sizeof(*rec));
		if (!rec)
			err_handler(ENOMEM, "malloc()");

		if (opt_net) {
			rec->server = strtok(opt_net, " :");
			rec->port = strtok(NULL, " :");

			if (!rec->server || !rec->port) {
				fprintf(stdout, "Invalid server name and/or port string\n");
				exit(1);
			}
		}

		if (opt_samples) {
			if (!opt_dir) {
				fprintf(stdout, "-o/--output is needed with -s option\n");
				exit(1);
			}
			rec->fd = jd_fopen(opt_dir, "samples.raw", "w");
			if (!rec->fd)
				err_handler(errno, "Couldn't create samples.raw file");
		}
	}

	sa.sa_flags = 0;
	sa.sa_handler = sig_handler;
	sigemptyset(&sa.sa_mask);

	if (sigaction(SIGINT, &sa, NULL) < 0)
		err_handler(errno, "sigaction()");

	if (sigaction(SIGTERM, &sa, NULL) < 0)
		err_handler(errno, "sigaction()");

	if (sigaction(SIGALRM, &sa, NULL) < 0)
		err_handler(errno, "sigaction()");

	if (opt_duration > 0)
		alarm(opt_duration);

	if (mlockall(MCL_CURRENT|MCL_FUTURE) < 0) {
		if (errno == ENOMEM || errno == EPERM)
			fprintf(stderr, "Nonzero RTLIMIT_MEMLOCK soft resource "
				"limit or missing process privileges "
				"(CAP_IPC_LOCK)\n");
		err_handler(errno, "mlockall()");
	}

	fd = c_states_disable();

	if (break_val != UINT64_MAX)
		open_trace_fds();

	if (CPU_COUNT(&affinity_set)) {
		/*
		 * The user is able to override the affinity mask with
		 * a set which contains more CPUs than
		 * sched_getaffinity() returns.
		 */
		affinity = affinity_set;
	} else {
		if (sched_getaffinity(0, sizeof(cpu_set_t), &affinity_available))
			err_handler(errno, "sched_getaffinity()");
		affinity = affinity_available;
	}

	if (opt_verbose) {
		printf("affinity: ");
		cpuset_fprint(stdout, &affinity);
		printf("\n");
	}

	num_threads = CPU_COUNT(&affinity);
	s = calloc(num_threads, sizeof(struct stats));
	if (!s)
		err_handler(errno, "calloc()");

	err = start_workload(opt_cmd);
	if (err < 0)
		err_handler(errno, "starting workload failed");

	start_measuring(s, rec);

	if (opt_net || opt_samples) {
		rec->stats = s;
		err = pthread_create(&iopid, NULL, store_samples, rec);
		if (err)
			err_handler(err, "pthread_create()");
	}

	if (opt_verbose) {
		err = pthread_create(&pid, NULL, display_stats, s);
		if (err)
			err_handler(err, "pthread_create()");
	}

	for (i = 0; i < num_threads; i++) {
		err = pthread_join(s[i].pid, NULL);
		if (err)
			err_handler(err, "pthread_join()");
	}

	WRITE_ONCE(jd_shutdown, 1);
	stop_workload();

	if (rec) {
		err = pthread_join(iopid, NULL);
		if (err)
			err_handler(err, "pthread_join()");

		if (rec->fd)
			fclose(rec->fd);
		free(rec);
	}

	if (opt_verbose) {
		err = pthread_join(pid, NULL);
		if (err)
			err_handler(err, "pthread_join()");
	} else {
		printf("\n");
		__display_stats(s);
	}

	printf("\n");

	if (opt_dir) {
		rfd = jd_fopen(opt_dir, "results.json", "w");
		if (rfd) {
			dump_stats(rfd, sysinfo, s);
			fclose(rfd);
		} else {
			warn_handler("Couldn't create results.json");
		}
		free_system_info(sysinfo);
	}

	if (opt_verbose && break_val != UINT_MAX) {
		for (i = 0; i < num_threads; i++) {
			if (s[i].max > break_val) {
				const char *unit = "us";
				if (interval_resolution == 1)
					unit = "ns";
				printf("Thread %lu on CPU %u hit %" PRIu64 " %s latency\n",
					(long)s[i].tid, i, s[i].max, unit);
			}
		}
	}

	for (i = 0; i < num_threads; i++) {
		free(s[i].hist);
		if (s[i].rb)
			ringbuffer_free(s[i].rb);
	}
	free(s);

	if (tracemark_fd > 0)
		close(tracemark_fd);

	if (trace_fd > 0)
		close(trace_fd);

	c_states_enable(fd);

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x1e8(%rbp)
movq $0x0, -0x1f0(%rbp)
movl $0x0, -0x1fc(%rbp)
movq $0x0, -0x208(%rbp)
movq $0x0, -0x210(%rbp)
movq $0x0, -0x218(%rbp)
movl $0x0, -0x21c(%rbp)
movl $0x0, -0x220(%rbp)
leaq -0x1d0(%rbp), %rdi
xorl %esi, %esi
movl $0x80, %edx
callq 0x2180
jmp 0x2603
movl -0x8(%rbp), %edi
movq -0x10(%rbp), %rsi
leaq 0x3bef(%rip), %rdx      # 0x6200
leaq 0x6c38(%rip), %rcx      # 0x9250
leaq -0x1d4(%rbp), %r8
callq 0x2130
movl %eax, -0xb0(%rbp)
cmpl $0x0, -0xb0(%rbp)
jge 0x2638
jmp 0x293c
movl -0xb0(%rbp), %eax
movq %rax, -0x238(%rbp)
subq $0x76, %rax
ja 0x292d
movq -0x238(%rbp), %rax
leaq 0x39a7(%rip), %rcx      # 0x6004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movslq -0x1d4(%rbp), %rcx
leaq 0x6bdc(%rip), %rax      # 0x9250
shlq $0x5, %rcx
addq %rcx, %rax
movq (%rax), %rdi
leaq 0x3b92(%rip), %rsi      # 0x6217
callq 0x2210
cmpl $0x0, %eax
jne 0x26ab
leaq 0x3b89(%rip), %rdi      # 0x621f
leaq 0x3b95(%rip), %rsi      # 0x6232
movb $0x0, %al
callq 0x2140
xorl %edi, %edi
callq 0x23a0
jmp 0x2937
movq 0x6921(%rip), %rax      # 0x8fd8
movq (%rax), %rax
movq %rax, -0x208(%rbp)
jmp 0x2937
movq 0x690b(%rip), %rax      # 0x8fd8
movq (%rax), %rax
movq %rax, -0x210(%rbp)
jmp 0x2937
movq 0x68f5(%rip), %rax      # 0x8fd8
movq (%rax), %rax
movq %rax, -0x218(%rbp)
jmp 0x2937
movl $0x1, -0x21c(%rbp)
jmp 0x2937
movq 0x68d0(%rip), %rax      # 0x8fd8
movq (%rax), %rdi
callq 0x3350
movq %rax, -0x1e0(%rbp)
cmpq $0x1, -0x1e0(%rbp)
jl 0x272b
cmpq $0x62, -0x1e0(%rbp)
jle 0x274f
jmp 0x272d
movq 0x68c4(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x3af8(%rip), %rsi      # 0x6236
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
movq -0x1e0(%rbp), %rax
movl %eax, 0x6c94(%rip)      # 0x93f0
jmp 0x2937
movl $0x1, -0x220(%rbp)
jmp 0x2937
movq 0x6861(%rip), %rax      # 0x8fd8
movq (%rax), %rdi
callq 0x4f70
movq %rax, -0x1e0(%rbp)
cmpq $0x0, -0x1e0(%rbp)
jge 0x27b4
jmp 0x2792
movq 0x685f(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x3ac8(%rip), %rsi      # 0x626b
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
movq -0x1e0(%rbp), %rax
movl %eax, -0x1fc(%rbp)
jmp 0x2937
movq 0x680b(%rip), %rax      # 0x8fd8
movq (%rax), %rdi
callq 0x3350
movq %rax, -0x1e0(%rbp)
cmpq $0x0, -0x1e0(%rbp)
jg 0x280a
jmp 0x27e8
movq 0x6809(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x3ab7(%rip), %rsi      # 0x62b0
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
movq -0x1e0(%rbp), %rax
movl %eax, 0x6c01(%rip)      # 0x9418
jmp 0x2937
movq 0x67b5(%rip), %rax      # 0x8fd8
movq (%rax), %rdi
callq 0x3350
movq %rax, -0x1e0(%rbp)
cmpq $0x0, -0x1e0(%rbp)
jg 0x2860
jmp 0x283e
movq 0x67b3(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x3a91(%rip), %rsi      # 0x62e0
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
movq -0x1e0(%rbp), %rax
movq %rax, 0x6b8a(%rip)      # 0x93f8
jmp 0x2937
movl $0x1, 0x6b83(%rip)      # 0x9400
jmp 0x2937
movq 0x674f(%rip), %rax      # 0x8fd8
movq (%rax), %rdi
callq 0x3350
movq %rax, -0x1e0(%rbp)
cmpq $0x1, -0x1e0(%rbp)
jge 0x28cc
jmp 0x28a4
movq 0x674d(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
movl 0x6b50(%rip), %edx      # 0x9404
leaq 0x3a55(%rip), %rsi      # 0x6310
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
movq -0x1e0(%rbp), %rax
movl %eax, 0x6b2b(%rip)      # 0x9404
jmp 0x2937
xorl %edi, %edi
callq 0x3380
movq 0x66ef(%rip), %rax      # 0x8fd8
movq (%rax), %rsi
leaq -0x1d0(%rbp), %rdi
callq 0x5320
movq %rax, -0x1e0(%rbp)
cmpq $0x0, -0x1e0(%rbp)
jge 0x292b
movq 0x66e8(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x3a3a(%rip), %rsi      # 0x6354
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
jmp 0x2937
movl $0x1, %edi
callq 0x3380
jmp 0x2603
callq 0x2190
cmpl $0x0, %eax
je 0x2954
leaq 0x3a39(%rip), %rdi      # 0x6386
movb $0x0, %al
callq 0x2140
callq 0x5b70
movq %rax, -0x1f8(%rbp)
cmpq $0x0, -0x208(%rbp)
je 0x2a02
movq -0x208(%rbp), %rdi
movl $0x1ff, %esi            # imm = 0x1FF
callq 0x2080
movl %eax, -0xb8(%rbp)
cmpl $0x0, -0xb8(%rbp)
je 0x29ed
callq 0x2060
cmpl $0x11, (%rax)
je 0x29c6
jmp 0x299a
callq 0x2060
movl (%rax), %edi
movq -0x208(%rbp), %r8
leaq 0x3a08(%rip), %rsi      # 0x63b7
leaq 0x3a2a(%rip), %rdx      # 0x63e0
leaq 0x3a34(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x29c6
jmp 0x29c8
movq -0x208(%rbp), %rcx
leaq 0x3a20(%rip), %rdi      # 0x63f6
leaq 0x3a03(%rip), %rsi      # 0x63e0
leaq 0x3a0d(%rip), %rdx      # 0x63f1
movb $0x0, %al
callq 0x4e40
jmp 0x2a00
movq -0x208(%rbp), %rdi
movq -0x1f8(%rbp), %rsi
callq 0x5ca0
jmp 0x2a02
cmpq $0x0, -0x218(%rbp)
jne 0x2a19
cmpl $0x0, -0x21c(%rbp)
je 0x2bb1
cmpq $0x0, -0x218(%rbp)
je 0x2a4e
cmpl $0x0, -0x21c(%rbp)
je 0x2a4e
movq 0x659d(%rip), %rax      # 0x8fd0
movq (%rax), %rdi
leaq 0x39f6(%rip), %rsi      # 0x6433
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
movl $0x20, %edi
callq 0x2290
movq %rax, -0x1e8(%rbp)
cmpq $0x0, -0x1e8(%rbp)
jne 0x2a8e
jmp 0x2a6b
movl $0xc, %edi
leaq 0x39e6(%rip), %rsi      # 0x645d
leaq 0x3962(%rip), %rdx      # 0x63e0
leaq 0x396c(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2a8e
cmpq $0x0, -0x218(%rbp)
je 0x2b17
movq -0x218(%rbp), %rdi
leaq 0x39c9(%rip), %rsi      # 0x646f
callq 0x2340
movq %rax, %rcx
movq -0x1e8(%rbp), %rax
movq %rcx, 0x8(%rax)
xorl %eax, %eax
movl %eax, %edi
leaq 0x39ab(%rip), %rsi      # 0x646f
callq 0x2340
movq %rax, %rcx
movq -0x1e8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x1e8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2af3
movq -0x1e8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2b15
movq 0x64d6(%rip), %rax      # 0x8fd0
movq (%rax), %rdi
leaq 0x396e(%rip), %rsi      # 0x6472
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
jmp 0x2b17
cmpl $0x0, -0x21c(%rbp)
je 0x2baf
cmpq $0x0, -0x208(%rbp)
jne 0x2b50
movq 0x649b(%rip), %rax      # 0x8fd0
movq (%rax), %rdi
leaq 0x395b(%rip), %rsi      # 0x649a
movb $0x0, %al
callq 0x2220
movl $0x1, %edi
callq 0x23a0
movq -0x208(%rbp), %rdi
leaq 0x3962(%rip), %rsi      # 0x64c0
leaq 0x3965(%rip), %rdx      # 0x64ca
callq 0x5780
movq %rax, %rcx
movq -0x1e8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x1e8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x2bad
jmp 0x2b88
callq 0x2060
movl (%rax), %edi
leaq 0x3936(%rip), %rsi      # 0x64cc
leaq 0x3843(%rip), %rdx      # 0x63e0
leaq 0x384d(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2bad
jmp 0x2baf
jmp 0x2bb1
movl $0x0, -0x20(%rbp)
leaq 0x951(%rip), %rax       # 0x3510
movq %rax, -0xa8(%rbp)
leaq -0xa8(%rbp), %rdi
addq $0x8, %rdi
callq 0x2240
movl $0x2, %edi
leaq -0xa8(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x20a0
cmpl $0x0, %eax
jge 0x2c17
jmp 0x2bf2
callq 0x2060
movl (%rax), %edi
leaq 0x38f6(%rip), %rsi      # 0x64f6
leaq 0x37d9(%rip), %rdx      # 0x63e0
leaq 0x37e3(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2c17
movl $0xf, %edi
leaq -0xa8(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x20a0
cmpl $0x0, %eax
jge 0x2c58
jmp 0x2c33
callq 0x2060
movl (%rax), %edi
leaq 0x38b5(%rip), %rsi      # 0x64f6
leaq 0x3798(%rip), %rdx      # 0x63e0
leaq 0x37a2(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2c58
movl $0xe, %edi
leaq -0xa8(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x20a0
cmpl $0x0, %eax
jge 0x2c99
jmp 0x2c74
callq 0x2060
movl (%rax), %edi
leaq 0x3874(%rip), %rsi      # 0x64f6
leaq 0x3757(%rip), %rdx      # 0x63e0
leaq 0x3761(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2c99
cmpl $0x0, -0x1fc(%rbp)
jbe 0x2cad
movl -0x1fc(%rbp), %edi
callq 0x21b0
movl $0x3, %edi
callq 0x22e0
cmpl $0x0, %eax
jge 0x2d0f
callq 0x2060
cmpl $0xc, (%rax)
je 0x2cd0
callq 0x2060
cmpl $0x1, (%rax)
jne 0x2ce8
movq 0x6321(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x382a(%rip), %rsi      # 0x650b
movb $0x0, %al
callq 0x2220
jmp 0x2cea
callq 0x2060
movl (%rax), %edi
leaq 0x386d(%rip), %rsi      # 0x6565
leaq 0x36e1(%rip), %rdx      # 0x63e0
leaq 0x36eb(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2d0f
callq 0x3540
movl %eax, -0xb4(%rbp)
cmpq $-0x1, 0x66d6(%rip)     # 0x93f8
je 0x2d29
callq 0x3630
movl $0x80, %edi
leaq -0x1d0(%rbp), %rsi
callq 0x2110
cmpl $0x0, %eax
je 0x2d59
leaq 0x66da(%rip), %rdi      # 0x9420
leaq -0x1d0(%rbp), %rsi
movl $0x80, %edx
callq 0x2280
jmp 0x2db0
xorl %edi, %edi
movl $0x80, %esi
leaq -0x150(%rbp), %rdx
callq 0x23d0
cmpl $0x0, %eax
je 0x2d98
jmp 0x2d73
callq 0x2060
movl (%rax), %edi
leaq 0x37f8(%rip), %rsi      # 0x6579
leaq 0x3658(%rip), %rdx      # 0x63e0
leaq 0x3662(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2d98
leaq 0x6681(%rip), %rdi      # 0x9420
leaq -0x150(%rbp), %rsi
movl $0x80, %edx
callq 0x2280
cmpl $0x0, -0x220(%rbp)
je 0x2deb
leaq 0x37d6(%rip), %rdi      # 0x6596
movb $0x0, %al
callq 0x2140
movq 0x6202(%rip), %rax      # 0x8fd0
movq (%rax), %rdi
leaq 0x6648(%rip), %rsi      # 0x9420
callq 0x5040
leaq 0x34ca(%rip), %rdi      # 0x62ae
movb $0x0, %al
callq 0x2140
movl $0x80, %edi
leaq 0x6629(%rip), %rsi      # 0x9420
callq 0x2110
movl %eax, 0x669e(%rip)      # 0x94a0
movl 0x6698(%rip), %eax      # 0x94a0
movl %eax, %edi
movl $0x50, %esi
callq 0x2200
movq %rax, -0xc0(%rbp)
cmpq $0x0, -0xc0(%rbp)
jne 0x2e4c
jmp 0x2e27
callq 0x2060
movl (%rax), %edi
leaq 0x376c(%rip), %rsi      # 0x65a1
leaq 0x35a4(%rip), %rdx      # 0x63e0
leaq 0x35ae(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2e4c
movq -0x210(%rbp), %rdi
callq 0x5980
movl %eax, -0xb8(%rbp)
cmpl $0x0, -0xb8(%rbp)
jge 0x2e8e
jmp 0x2e69
callq 0x2060
movl (%rax), %edi
leaq 0x373c(%rip), %rsi      # 0x65b3
leaq 0x3562(%rip), %rdx      # 0x63e0
leaq 0x356c(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2e8e
movq -0xc0(%rbp), %rdi
movq -0x1e8(%rbp), %rsi
callq 0x3750
cmpq $0x0, -0x218(%rbp)
jne 0x2eb4
cmpl $0x0, -0x21c(%rbp)
je 0x2f1a
movq -0xc0(%rbp), %rcx
movq -0x1e8(%rbp), %rax
movq %rcx, (%rax)
movq -0x1e8(%rbp), %rcx
leaq -0xd0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq 0xd22(%rip), %rdx       # 0x3c00
callq 0x22f0
movl %eax, -0xb8(%rbp)
cmpl $0x0, -0xb8(%rbp)
je 0x2f18
jmp 0x2ef4
movl -0xb8(%rbp), %edi
leaq 0x36d4(%rip), %rsi      # 0x65d5
leaq 0x34d8(%rip), %rdx      # 0x63e0
leaq 0x34e2(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2f18
jmp 0x2f1a
cmpl $0x0, -0x220(%rbp)
je 0x2f78
movq -0xc0(%rbp), %rcx
leaq -0xc8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq 0xd04(%rip), %rdx       # 0x3c40
callq 0x22f0
movl %eax, -0xb8(%rbp)
cmpl $0x0, -0xb8(%rbp)
je 0x2f76
jmp 0x2f52
movl -0xb8(%rbp), %edi
leaq 0x3676(%rip), %rsi      # 0x65d5
leaq 0x347a(%rip), %rdx      # 0x63e0
leaq 0x3484(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2f76
jmp 0x2f78
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl 0x6512(%rip), %eax      # 0x94a0
jae 0x2ff8
movq -0xc0(%rbp), %rax
movl -0xac(%rbp), %ecx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x23f0
movl %eax, -0xb8(%rbp)
cmpl $0x0, -0xb8(%rbp)
je 0x2fe5
jmp 0x2fc1
movl -0xb8(%rbp), %edi
leaq 0x3621(%rip), %rsi      # 0x65ef
leaq 0x340b(%rip), %rdx      # 0x63e0
leaq 0x3415(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x2fe5
jmp 0x2fe7
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x2f82
movl 0x3fc2(%rip), %eax      # 0x6fc0
movl %eax, -0x224(%rbp)
movl -0x224(%rbp), %eax
movl %eax, 0x6494(%rip)      # 0x94a4
movl -0x224(%rbp), %eax
movl %eax, -0x228(%rbp)
callq 0x5a90
cmpq $0x0, -0x1e8(%rbp)
je 0x309a
movq -0xd0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x23f0
movl %eax, -0xb8(%rbp)
cmpl $0x0, -0xb8(%rbp)
je 0x3070
jmp 0x304c
movl -0xb8(%rbp), %edi
leaq 0x3596(%rip), %rsi      # 0x65ef
leaq 0x3380(%rip), %rdx      # 0x63e0
leaq 0x338a(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x3070
movq -0x1e8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x308e
movq -0x1e8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x2100
movq -0x1e8(%rbp), %rdi
callq 0x2040
cmpl $0x0, -0x220(%rbp)
je 0x30ea
movq -0xc8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x23f0
movl %eax, -0xb8(%rbp)
cmpl $0x0, -0xb8(%rbp)
je 0x30e8
jmp 0x30c4
movl -0xb8(%rbp), %edi
leaq 0x351e(%rip), %rsi      # 0x65ef
leaq 0x3308(%rip), %rdx      # 0x63e0
leaq 0x3312(%rip), %rcx      # 0x63f1
movb $0x0, %al
callq 0x4d50
jmp 0x30e8
jmp 0x3104
leaq 0x31bd(%rip), %rdi      # 0x62ae
movb $0x0, %al
callq 0x2140
movq -0xc0(%rbp), %rdi
callq 0x3cf0
leaq 0x31a3(%rip), %rdi      # 0x62ae
movb $0x0, %al
callq 0x2140
cmpq $0x0, -0x208(%rbp)
je 0x319b
movq -0x208(%rbp), %rdi
leaq 0x34dd(%rip), %rsi      # 0x6607
leaq 0x3399(%rip), %rdx      # 0x64ca
callq 0x5780
movq %rax, -0x1f0(%rbp)
cmpq $0x0, -0x1f0(%rbp)
je 0x316f
movq -0x1f0(%rbp), %rdi
movq -0x1f8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
callq 0x3dc0
movq -0x1f0(%rbp), %rdi
callq 0x2100
jmp 0x318f
jmp 0x3171
leaq 0x349c(%rip), %rdi      # 0x6614
leaq 0x3261(%rip), %rsi      # 0x63e0
leaq 0x326b(%rip), %rdx      # 0x63f1
movb $0x0, %al
callq 0x4e40
jmp 0x318f
movq -0x1f8(%rbp), %rdi
callq 0x5eb0
cmpl $0x0, -0x220(%rbp)
je 0x327f
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpq %rax, 0x6244(%rip)      # 0x93f8
je 0x327f
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl 0x62d0(%rip), %eax      # 0x94a0
jae 0x327d
movq -0xc0(%rbp), %rax
movl -0xac(%rbp), %ecx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
cmpq 0x6203(%rip), %rax      # 0x93f8
jbe 0x3267
leaq 0x343d(%rip), %rax      # 0x663b
movq %rax, -0x230(%rbp)
cmpl $0x1, 0x61f4(%rip)      # 0x9400
jne 0x321c
leaq 0x3429(%rip), %rax      # 0x663e
movq %rax, -0x230(%rbp)
movq -0xc0(%rbp), %rax
movl -0xac(%rbp), %ecx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq 0x8(%rax), %rsi
movl -0xac(%rbp), %edx
movq -0xc0(%rbp), %rax
movl -0xac(%rbp), %ecx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rcx
movq -0x230(%rbp), %r8
leaq 0x33e1(%rip), %rdi      # 0x6641
movb $0x0, %al
callq 0x2140
jmp 0x3269
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x31c4
jmp 0x327f
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl 0x620b(%rip), %eax      # 0x94a0
jae 0x32ff
movq -0xc0(%rbp), %rax
movl -0xac(%rbp), %ecx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movq 0x30(%rax), %rdi
callq 0x2040
movq -0xc0(%rbp), %rax
movl -0xac(%rbp), %ecx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x48(%rax)
je 0x32ec
movq -0xc0(%rbp), %rax
movl -0xac(%rbp), %ecx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movq 0x48(%rax), %rdi
callq 0x4af0
jmp 0x32ee
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x3289
movq -0xc0(%rbp), %rdi
callq 0x2040
cmpl $0x0, 0x60f6(%rip)      # 0x9408
jle 0x331f
movl 0x60ee(%rip), %edi      # 0x9408
callq 0x21c0
cmpl $0x0, 0x60e6(%rip)      # 0x940c
jle 0x3333
movl 0x60de(%rip), %edi      # 0x940c
callq 0x21c0
movl -0xb4(%rbp), %edi
callq 0x4150
xorl %eax, %eax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
nopl (%rax)