// File: /workspace/github_c_makefile_star2_O0/Tarsnap[P]spiped/spiped/main.c
// Function: main
int
main(int argc, char * argv[])
{
	/* Command-line parameters. */
	const char * opt_b = NULL;
	int opt_d = 0;
	int opt_D = 0;
	int opt_e = 0;
	int opt_f = 0;
	int opt_g = 0;
	int opt_F = 0;
	int opt_j = 0;
	const char * opt_k = NULL;
	int opt_n_set = 0;
	size_t opt_n = 0;
	int opt_o_set = 0;
	double opt_o = 0.0;
	const char * opt_p = NULL;
	int opt_r_set = 0;
	double opt_r = 0.0;
	int opt_R = 0;
	int opt_syslog = 0;
	const char * opt_s = NULL;
	const char * opt_t = NULL;
	const char * opt_u = NULL;

	/* Working variables. */
	struct sock_addr * sa_s;
	struct sock_addr * sa_b = NULL;
	struct sock_addr ** sas_t;
	struct proto_secret * K;
	const char * ch;
	char * pidfilename = NULL;
	int s;
	void * dispatch_cookie = NULL;
	int conndone = 0;

	WARNP_INIT;

	/* Parse the command line. */
	while ((ch = GETOPT(argc, argv)) != NULL) {
		GETOPT_SWITCH(ch) {
		GETOPT_OPTARG("-b"):
			if (opt_b)
				usage();
			opt_b = optarg;
			break;
		GETOPT_OPT("-d"):
			if (opt_d || opt_e)
				usage();
			opt_d = 1;
			break;
		GETOPT_OPT("-D"):
			if (opt_D)
				usage();
			opt_D = 1;
			break;
		GETOPT_OPT("-e"):
			if (opt_d || opt_e)
				usage();
			opt_e = 1;
			break;
		GETOPT_OPT("-f"):
			if (opt_f)
				usage();
			opt_f = 1;
			break;
		GETOPT_OPT("-F"):
			if (opt_F)
				usage();
			opt_F = 1;
			break;
		GETOPT_OPT("-g"):
			if (opt_g)
				usage();
			opt_g = 1;
			break;
		GETOPT_OPT("-j"):
			if (opt_j)
				usage();
			opt_j = 1;
			break;
		GETOPT_OPTARG("-k"):
			if (opt_k)
				usage();
			opt_k = optarg;
			break;
		GETOPT_OPTARG("-n"):
			if (opt_n_set)
				usage();
			opt_n_set = 1;
			if (PARSENUM(&opt_n, optarg))
				OPT_EPARSE(ch, optarg);
			if (opt_n == 0)
				opt_n = SIZE_MAX;
			break;
		GETOPT_OPTARG("-o"):
			if (opt_o_set)
				usage();
			opt_o_set = 1;
			if (PARSENUM(&opt_o, optarg, 0, INFINITY))
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPTARG("-p"):
			if (opt_p)
				usage();
			opt_p = optarg;
			break;
		GETOPT_OPTARG("-r"):
			if (opt_r_set)
				usage();
			opt_r_set = 1;
			if (PARSENUM(&opt_r, optarg, 0, INFINITY))
				OPT_EPARSE(ch, optarg);
			break;
		GETOPT_OPT("-R"):
			if (opt_R)
				usage();
			opt_R = 1;
			break;
		GETOPT_OPTARG("-s"):
			if (opt_s)
				usage();
			opt_s = optarg;
			break;
		GETOPT_OPT("--syslog"):
			if (opt_syslog)
				usage();
			opt_syslog = 1;
			break;
		GETOPT_OPTARG("-t"):
			if (opt_t)
				usage();
			opt_t = optarg;
			break;
		GETOPT_OPTARG("-u"):
			if (opt_u != NULL)
				usage();
			opt_u = optarg;
			break;
		GETOPT_OPT("-v"):
			fprintf(stderr, "spiped @VERSION@\n");
			exit(0);
		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. */

	/* Set defaults. */
	if (!opt_n_set)
		opt_n = 100;
	if (opt_o == 0.0)
		opt_o = 5.0;
	if (opt_r == 0.0)
		opt_r = 60.0;

	/* Sanity-check options. */
	if (!opt_d && !opt_e)
		usage();
	if (opt_f && opt_g)
		usage();
	if (opt_k == NULL)
		usage();
	if (!(opt_o > 0.0))
		usage();
	if ((opt_r != 60.0) && opt_R)
		usage();
	if ((opt_s == NULL) || sock_addr_validate(opt_s))
		usage();
	if ((opt_t == NULL) || sock_addr_validate(opt_t))
		usage();
	if (opt_b && sock_addr_validate(opt_b))
		usage();

	/*
	 * A limit of SIZE_MAX connections is equivalent to any larger limit;
	 * we'll be unable to allocate memory for socket bookkeeping before we
	 * reach either.
	 */
	if (opt_n > SIZE_MAX)
		opt_n = SIZE_MAX;

	/* Figure out where our pid should be written. */
	if (asprintf(&pidfilename, (opt_p != NULL) ? "%s" : "%s.pid",
	    (opt_p != NULL) ? opt_p : opt_s) == -1) {
		warnp("asprintf");
		goto err0;
	}

	/* Check whether we are running as init (e.g., inside a container). */
	if (getpid() == 1) {
		/* https://github.com/docker/docker/issues/7086 */
		warn0("WARNING: Applying workaround for Docker signal-handling bug");

		/* Bind an explicit signal handler for SIGINT. */
		if (signal(SIGINT, diediedie_handler) == SIG_ERR) {
			warnp("Failed to bind SIGINT signal handler");
		}
	}

	/* Daemonize early if we're going to wait for DNS to be ready. */
	if (opt_D && !opt_F) {
		if (daemonize(pidfilename)) {
			warnp("Failed to daemonize");
			goto err1;
		}

		/* Send to syslog (if applicable). */
		if (opt_syslog)
			warnp_syslog(1);
	}

	/* Resolve source address. */
	while ((sa_s = sock_resolve_one(opt_s, 0)) == NULL) {
		if (!opt_D) {
			warnp("Error resolving socket address: %s", opt_s);
			goto err1;
		}
		sleep(1);
	}

	/* Resolve target address. */
	while ((sas_t = sock_resolve(opt_t)) == NULL) {
		if (!opt_D) {
			warnp("Error resolving socket address: %s", opt_t);
			goto err2;
		}
		sleep(1);
	}
	if (sas_t[0] == NULL) {
		warn0("No addresses found for %s", opt_t);
		goto err3;
	}

	/* Resolve bind address (if applicable). */
	if (opt_b) {
		while ((sa_b = sock_resolve_one(opt_b, 1)) == NULL) {
			if (!opt_D) {
				warnp("Error resolving socket address: %s",
				    opt_b);
				goto err3;
			}
			sleep(1);
		}
	}

	/* Load the keying data. */
	if ((K = proto_crypt_secret(opt_k)) == NULL) {
		warnp("Error reading shared secret");
		goto err4;
	}

	/* Create and bind a socket, and mark it as listening. */
	if ((s = sock_listener(sa_s)) == -1)
		goto err5;

	/* Daemonize and write pid. */
	if (!opt_D && !opt_F) {
		if (daemonize(pidfilename)) {
			warnp("Failed to daemonize");
			goto err6;
		}
		/* Send to syslog (if applicable). */
		if (opt_syslog)
			warnp_syslog(1);
	}

	/* Drop privileges (if applicable). */
	if (opt_u && setuidgid(opt_u, SETUIDGID_SGROUP_LEAVE_WARN)) {
		warnp("Failed to drop privileges");
		goto err7;
	}

	/* Start accepting connections. */
	if ((dispatch_cookie = dispatch_accept(s, opt_t, opt_R ? 0.0 : opt_r,
	    sas_t, sa_b, opt_d, opt_f, opt_g, opt_j, K, opt_n, opt_o,
	    &conndone)) == NULL) {
		warnp("Failed to initialize connection acceptor");
		goto err7;
	}

	/* dispatch is now maintaining sas_t and s. */
	sas_t = NULL;
	s = -1;

	/* Register a handler for SIGTERM. */
	if (graceful_shutdown_initialize(&callback_graceful_shutdown,
	    dispatch_cookie)) {
		warn0("Failed to start graceful_shutdown timer");
		goto err7;
	}

	/*
	 * Loop until an error occurs, or a connection closes if the
	 * command-line argument -1 was given.
	 */
	if (events_spin(&conndone)) {
		warnp("Error running event loop");
		goto err7;
	}

	/* Stop accepting connections and shut down the dispatcher. */
	dispatch_shutdown(dispatch_cookie);

	/* Free the protocol secret structure. */
	proto_crypt_secret_free(K);

	/* Free arrays of resolved addresses. */
	sock_addr_free(sa_s);
	sock_addr_free(sa_b);

	/* Free pid filename. */
	free(pidfilename);

	/* Success! */
	exit(0);

err7:
	dispatch_shutdown(dispatch_cookie);
err6:
	if ((s != -1) && close(s))
		warnp("close");
err5:
	proto_crypt_secret_free(K);
err4:
	sock_addr_free(sa_b);
err3:
	sock_addr_freelist(sas_t);
err2:
	sock_addr_free(sa_s);
err1:
	free(pidfilename);
err0:
	/* Failure! */
	exit(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x1b0, %rsp            # imm = 0x1B0
movl $0x0, -0x14(%rbp)
movl %edi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movl $0x0, -0x34(%rbp)
movl $0x0, -0x38(%rbp)
movl $0x0, -0x3c(%rbp)
movl $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq $0x0, -0x50(%rbp)
movl $0x0, -0x54(%rbp)
movq $0x0, -0x60(%rbp)
movl $0x0, -0x64(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x70(%rbp)
movq $0x0, -0x78(%rbp)
movl $0x0, -0x7c(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x88(%rbp)
movl $0x0, -0x8c(%rbp)
movl $0x0, -0x90(%rbp)
movq $0x0, -0x98(%rbp)
movq $0x0, -0xa0(%rbp)
movq $0x0, -0xa8(%rbp)
movq $0x0, -0xb8(%rbp)
movq $0x0, -0xd8(%rbp)
movq $0x0, -0xe8(%rbp)
movl $0x0, -0xec(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, (%rax)
je 0x389b
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0xba40
jmp 0x389d
jmp 0x389f
movl -0x18(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x7f40
movq %rax, -0xd0(%rbp)
cmpq $0x0, %rax
je 0x4839
movq $0x6a, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
decq %rax
movq %rax, -0x100(%rbp)
movl $0x0, -0x104(%rbp)
leaq 0x7(%rip), %rax         # 0x38f0
movq %rax, -0x110(%rbp)
leaq 0x33ed9(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x391b
movq -0xd0(%rbp), %rdi
callq 0x8600
movq -0xf8(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x118(%rbp)
jmp 0x3937
movq -0x100(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x100(%rbp)
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rax
addq $-0x6b, %rax
movq %rax, -0x120(%rbp)
subq $0x68, %rax
ja 0x47c3
movq -0x120(%rbp), %rax
leaq 0x1b713(%rip), %rcx     # 0x1f074
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x33e5f(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x39a6
leaq 0x33e4b(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x3985
jmp 0x39a4
leaq 0x1b88c(%rip), %rdi     # 0x1f218
leaq 0x1b894(%rip), %rsi     # 0x1f227
movl $0x6b, %edx
leaq 0x1b88f(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x39d9
movq -0xf8(%rbp), %rax
movl $0x6b, %esi
subq %rax, %rsi
leaq 0x1b889(%rip), %rdi     # 0x1f245
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpq $0x0, -0x28(%rbp)
je 0x39e5
callq 0x5070
leaq 0x33ddc(%rip), %rax     # 0x377c8
movq (%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x4834
leaq 0x33dd1(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3a06
jmp 0x3a36
movq -0xf8(%rbp), %rax
movl $0x70, %esi
subq %rax, %rsi
leaq 0x1b82c(%rip), %rdi     # 0x1f248
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x2c(%rbp)
jne 0x3a42
cmpl $0x0, -0x34(%rbp)
je 0x3a47
callq 0x5070
movl $0x1, -0x2c(%rbp)
jmp 0x4834
leaq 0x33d76(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3a61
jmp 0x3a91
movq -0xf8(%rbp), %rax
movl $0x75, %esi
subq %rax, %rsi
leaq 0x1b7d4(%rip), %rdi     # 0x1f24b
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x30(%rbp)
je 0x3a9c
callq 0x5070
movl $0x1, -0x30(%rbp)
jmp 0x4834
leaq 0x33d21(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3ab6
jmp 0x3ae6
movq -0xf8(%rbp), %rax
movl $0x7a, %esi
subq %rax, %rsi
leaq 0x1b782(%rip), %rdi     # 0x1f24e
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x2c(%rbp)
jne 0x3af2
cmpl $0x0, -0x34(%rbp)
je 0x3af7
callq 0x5070
movl $0x1, -0x34(%rbp)
jmp 0x4834
leaq 0x33cc6(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3b11
jmp 0x3b41
movq -0xf8(%rbp), %rax
movl $0x7f, %esi
subq %rax, %rsi
leaq 0x1b72a(%rip), %rdi     # 0x1f251
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x38(%rbp)
je 0x3b4c
callq 0x5070
movl $0x1, -0x38(%rbp)
jmp 0x4834
leaq 0x33c71(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3b66
jmp 0x3b96
movq -0xf8(%rbp), %rax
movl $0x84, %esi
subq %rax, %rsi
leaq 0x1b6d8(%rip), %rdi     # 0x1f254
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x40(%rbp)
je 0x3ba1
callq 0x5070
movl $0x1, -0x40(%rbp)
jmp 0x4834
leaq 0x33c1c(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3bbb
jmp 0x3beb
movq -0xf8(%rbp), %rax
movl $0x89, %esi
subq %rax, %rsi
leaq 0x1b686(%rip), %rdi     # 0x1f257
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x3c(%rbp)
je 0x3bf6
callq 0x5070
movl $0x1, -0x3c(%rbp)
jmp 0x4834
leaq 0x33bc7(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3c10
jmp 0x3c40
movq -0xf8(%rbp), %rax
movl $0x8e, %esi
subq %rax, %rsi
leaq 0x1b634(%rip), %rdi     # 0x1f25a
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x44(%rbp)
je 0x3c4b
callq 0x5070
movl $0x1, -0x44(%rbp)
jmp 0x4834
leaq 0x33b72(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3c93
leaq 0x33b5e(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x3c72
jmp 0x3c91
leaq 0x1b59f(%rip), %rdi     # 0x1f218
leaq 0x1b5a7(%rip), %rsi     # 0x1f227
movl $0x93, %edx
leaq 0x1b5a2(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x3cc6
movq -0xf8(%rbp), %rax
movl $0x93, %esi
subq %rax, %rsi
leaq 0x1b5b4(%rip), %rdi     # 0x1f25d
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpq $0x0, -0x50(%rbp)
je 0x3cd2
callq 0x5070
leaq 0x33aef(%rip), %rax     # 0x377c8
movq (%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x4834
leaq 0x33ae4(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3d21
leaq 0x33ad0(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x3d00
jmp 0x3d1f
leaq 0x1b511(%rip), %rdi     # 0x1f218
leaq 0x1b519(%rip), %rsi     # 0x1f227
movl $0x98, %edx
leaq 0x1b514(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x3d54
movq -0xf8(%rbp), %rax
movl $0x98, %esi
subq %rax, %rsi
leaq 0x1b529(%rip), %rdi     # 0x1f260
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x54(%rbp)
je 0x3d5f
callq 0x5070
movl $0x1, -0x54(%rbp)
callq 0x3470
movl $0x0, (%rax)
movq $0x1, -0x60(%rbp)
movq -0x60(%rbp), %rax
shrq %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
jbe 0x3dd7
leaq 0x33a37(%rip), %rax     # 0x377c8
movq (%rax), %rdi
movsd 0x1b2a4(%rip), %xmm0    # 0x1f040
movsd 0x1b294(%rip), %xmm1    # 0x1f038
xorl %esi, %esi
callq 0x50a0
movaps %xmm0, %xmm1
cvttsd2si %xmm1, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
movsd 0x1b26e(%rip), %xmm1    # 0x1f030
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x60(%rbp)
jmp 0x3e41
movq $-0x1, -0x60(%rbp)
movb $0x1, %al
testb $0x1, %al
jne 0x3de7
jmp 0x3e0e
leaq 0x339da(%rip), %rax     # 0x377c8
movq (%rax), %rdi
movq -0x60(%rbp), %rdx
movq -0x60(%rbp), %rcx
xorl %eax, %eax
movl %eax, %esi
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0x5150
movq %rax, -0x60(%rbp)
jmp 0x3e3f
movq 0x231db(%rip), %rax     # 0x26ff0
movq (%rax), %rdi
leaq 0x1b444(%rip), %rsi     # 0x1f263
leaq 0x1b4ab(%rip), %rdx     # 0x1f2d1
leaq 0x1b3fa(%rip), %rcx     # 0x1f227
movl $0x9c, %r8d
movb $0x0, %al
callq 0x3590
callq 0x3100
jmp 0x3e41
callq 0x3470
cmpl $0x0, (%rax)
je 0x3eb0
jmp 0x3e4d
jmp 0x3e4f
callq 0x3470
cmpl $0x0, (%rax)
je 0x3e85
movq -0xd0(%rbp), %rsi
leaq 0x33961(%rip), %rax     # 0x377c8
movq (%rax), %rdx
leaq 0x1b465(%rip), %rdi     # 0x1f2d6
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x3ea4
movq -0xd0(%rbp), %rsi
leaq 0x33935(%rip), %rax     # 0x377c8
movq (%rax), %rdx
leaq 0x1b439(%rip), %rdi     # 0x1f2d6
movb $0x0, %al
callq 0xbd50
jmp 0x3ea6
movl $0x1, %edi
callq 0x3150
cmpq $0x0, -0x60(%rbp)
jne 0x3ebf
movq $-0x1, -0x60(%rbp)
jmp 0x4834
leaq 0x33905(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x3f00
leaq 0x338f1(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x3edf
jmp 0x3efe
leaq 0x1b332(%rip), %rdi     # 0x1f218
leaq 0x1b33a(%rip), %rsi     # 0x1f227
movl $0xa1, %edx
leaq 0x1b335(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x3f33
movq -0xf8(%rbp), %rax
movl $0xa1, %esi
subq %rax, %rsi
leaq 0x1b3de(%rip), %rdi     # 0x1f2f4
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x64(%rbp)
je 0x3f3e
callq 0x5070
movl $0x1, -0x64(%rbp)
callq 0x3470
movl $0x0, (%rax)
movsd 0x1b0c8(%rip), %xmm0    # 0x1f020
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd 0x1b0ae(%rip), %xmm1    # 0x1f018
divsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x3fa2
leaq 0x33845(%rip), %rax     # 0x377c8
movq (%rax), %rdi
xorps %xmm0, %xmm0
movsd 0x1b0a7(%rip), %xmm1    # 0x1f038
xorl %esi, %esi
callq 0x50a0
movsd %xmm0, -0x70(%rbp)
jmp 0x40da
movsd 0x1b07e(%rip), %xmm0    # 0x1f028
movsd %xmm0, -0x70(%rbp)
movb $0x1, %al
testb $0x1, %al
jne 0x3fba
jmp 0x4058
leaq 0x33807(%rip), %rax     # 0x377c8
movq (%rax), %rax
movq %rax, -0x140(%rbp)
movsd -0x70(%rbp), %xmm1
xorps %xmm0, %xmm0
xorl %eax, %eax
ucomisd %xmm1, %xmm0
cmovael %eax, %eax
cltq
movq %rax, -0x138(%rbp)
movsd -0x70(%rbp), %xmm2
xorps %xmm1, %xmm1
movss 0x1b07b(%rip), %xmm0    # 0x1f070
xorps %xmm3, %xmm3
movss %xmm3, -0x130(%rbp)
ucomisd %xmm2, %xmm1
movss %xmm0, -0x12c(%rbp)
jae 0x401e
movss -0x130(%rbp), %xmm0
movss %xmm0, -0x12c(%rbp)
movq -0x138(%rbp), %rsi
movq -0x140(%rbp), %rdi
movss -0x12c(%rbp), %xmm0
cvttss2si %xmm0, %rdx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x5210
cvtsi2sd %rax, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd %xmm0, -0x148(%rbp)
jmp 0x40d2
leaq 0x33769(%rip), %rax     # 0x377c8
movq (%rax), %rdi
movsd -0x70(%rbp), %xmm0
movsd 0x1afc1(%rip), %xmm2    # 0x1f030
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rax
cvttsd2si %xmm0, %rcx
movq %rcx, %rdx
sarq $0x3f, %rdx
andq %rdx, %rax
orq %rax, %rcx
xorl %r9d, %r9d
movl %r9d, %esi
movl %r9d, %r8d
callq 0x5150
movq %rax, %xmm0
movaps 0x1afa9(%rip), %xmm1    # 0x1f050
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x1afad(%rip), %xmm1    # 0x1f060
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x148(%rbp)
movsd -0x148(%rbp), %xmm0
callq 0x3470
cmpl $0x0, (%rax)
je 0x4149
jmp 0x40e6
jmp 0x40e8
callq 0x3470
cmpl $0x0, (%rax)
je 0x411e
movq -0xd0(%rbp), %rsi
leaq 0x336c8(%rip), %rax     # 0x377c8
movq (%rax), %rdx
leaq 0x1b1cc(%rip), %rdi     # 0x1f2d6
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x413d
movq -0xd0(%rbp), %rsi
leaq 0x3369c(%rip), %rax     # 0x377c8
movq (%rax), %rdx
leaq 0x1b1a0(%rip), %rdi     # 0x1f2d6
movb $0x0, %al
callq 0xbd50
jmp 0x413f
movl $0x1, %edi
callq 0x3150
jmp 0x4834
leaq 0x3367b(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x418a
leaq 0x33667(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x4169
jmp 0x4188
leaq 0x1b0a8(%rip), %rdi     # 0x1f218
leaq 0x1b0b0(%rip), %rsi     # 0x1f227
movl $0xa8, %edx
leaq 0x1b0ab(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x41bd
movq -0xf8(%rbp), %rax
movl $0xa8, %esi
subq %rax, %rsi
leaq 0x1b157(%rip), %rdi     # 0x1f2f7
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpq $0x0, -0x78(%rbp)
je 0x41c9
callq 0x5070
leaq 0x335f8(%rip), %rax     # 0x377c8
movq (%rax), %rax
movq %rax, -0x78(%rbp)
jmp 0x4834
leaq 0x335ed(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x4218
leaq 0x335d9(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x41f7
jmp 0x4216
leaq 0x1b01a(%rip), %rdi     # 0x1f218
leaq 0x1b022(%rip), %rsi     # 0x1f227
movl $0xad, %edx
leaq 0x1b01d(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x424b
movq -0xf8(%rbp), %rax
movl $0xad, %esi
subq %rax, %rsi
leaq 0x1b0cc(%rip), %rdi     # 0x1f2fa
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x7c(%rbp)
je 0x4256
callq 0x5070
movl $0x1, -0x7c(%rbp)
callq 0x3470
movl $0x0, (%rax)
movsd 0x1adb0(%rip), %xmm0    # 0x1f020
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd 0x1ad90(%rip), %xmm1    # 0x1f018
divsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x42c6
leaq 0x33524(%rip), %rax     # 0x377c8
movq (%rax), %rdi
xorps %xmm0, %xmm0
movsd 0x1ad86(%rip), %xmm1    # 0x1f038
xorl %esi, %esi
callq 0x50a0
movsd %xmm0, -0x88(%rbp)
jmp 0x4413
movsd 0x1ad5a(%rip), %xmm0    # 0x1f028
movsd %xmm0, -0x88(%rbp)
movb $0x1, %al
testb $0x1, %al
jne 0x42e1
jmp 0x438b
leaq 0x334e0(%rip), %rax     # 0x377c8
movq (%rax), %rax
movq %rax, -0x160(%rbp)
movsd -0x88(%rbp), %xmm1
xorps %xmm0, %xmm0
xorl %eax, %eax
ucomisd %xmm1, %xmm0
cmovael %eax, %eax
cltq
movq %rax, -0x158(%rbp)
movsd -0x88(%rbp), %xmm2
xorps %xmm1, %xmm1
movss 0x1ad4e(%rip), %xmm0    # 0x1f070
xorps %xmm3, %xmm3
movss %xmm3, -0x150(%rbp)
ucomisd %xmm2, %xmm1
movss %xmm0, -0x14c(%rbp)
jae 0x434b
movss -0x150(%rbp), %xmm0
movss %xmm0, -0x14c(%rbp)
movq -0x158(%rbp), %rsi
movq -0x160(%rbp), %rdi
movss -0x14c(%rbp), %xmm0
cvttss2si %xmm0, %rdx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x5210
cvtsi2sd %rax, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd %xmm0, -0x168(%rbp)
jmp 0x440b
leaq 0x33436(%rip), %rax     # 0x377c8
movq (%rax), %rdi
movsd -0x88(%rbp), %xmm0
movsd 0x1ac8b(%rip), %xmm2    # 0x1f030
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rax
cvttsd2si %xmm0, %rcx
movq %rcx, %rdx
sarq $0x3f, %rdx
andq %rdx, %rax
orq %rax, %rcx
xorl %r9d, %r9d
movl %r9d, %esi
movl %r9d, %r8d
callq 0x5150
movq %rax, %xmm0
movaps 0x1ac73(%rip), %xmm1    # 0x1f050
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x1ac77(%rip), %xmm1    # 0x1f060
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x168(%rbp)
movsd -0x168(%rbp), %xmm0
callq 0x3470
cmpl $0x0, (%rax)
je 0x4482
jmp 0x441f
jmp 0x4421
callq 0x3470
cmpl $0x0, (%rax)
je 0x4457
movq -0xd0(%rbp), %rsi
leaq 0x3338f(%rip), %rax     # 0x377c8
movq (%rax), %rdx
leaq 0x1ae93(%rip), %rdi     # 0x1f2d6
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4476
movq -0xd0(%rbp), %rsi
leaq 0x33363(%rip), %rax     # 0x377c8
movq (%rax), %rdx
leaq 0x1ae67(%rip), %rdi     # 0x1f2d6
movb $0x0, %al
callq 0xbd50
jmp 0x4478
movl $0x1, %edi
callq 0x3150
jmp 0x4834
leaq 0x33342(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x4495
jmp 0x44c5
movq -0xf8(%rbp), %rax
movl $0xb4, %esi
subq %rax, %rsi
leaq 0x1ae52(%rip), %rdi     # 0x1f2fd
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x8c(%rbp)
je 0x44d3
callq 0x5070
movl $0x1, -0x8c(%rbp)
jmp 0x4834
leaq 0x332e7(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x451e
leaq 0x332d3(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x44fd
jmp 0x451c
leaq 0x1ad14(%rip), %rdi     # 0x1f218
leaq 0x1ad1c(%rip), %rsi     # 0x1f227
movl $0xb9, %edx
leaq 0x1ad17(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x4551
movq -0xf8(%rbp), %rax
movl $0xb9, %esi
subq %rax, %rsi
leaq 0x1adcc(%rip), %rdi     # 0x1f300
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpq $0x0, -0x98(%rbp)
je 0x4560
callq 0x5070
leaq 0x33261(%rip), %rax     # 0x377c8
movq (%rax), %rax
movq %rax, -0x98(%rbp)
jmp 0x4834
leaq 0x33253(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x4584
jmp 0x45b4
movq -0xf8(%rbp), %rax
movl $0xbe, %esi
subq %rax, %rsi
leaq 0x1ad69(%rip), %rdi     # 0x1f303
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpl $0x0, -0x90(%rbp)
je 0x45c2
callq 0x5070
movl $0x1, -0x90(%rbp)
jmp 0x4834
leaq 0x331f8(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x460d
leaq 0x331e4(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x45ec
jmp 0x460b
leaq 0x1ac25(%rip), %rdi     # 0x1f218
leaq 0x1ac2d(%rip), %rsi     # 0x1f227
movl $0xc3, %edx
leaq 0x1ac28(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x4640
movq -0xf8(%rbp), %rax
movl $0xc3, %esi
subq %rax, %rsi
leaq 0x1ace9(%rip), %rdi     # 0x1f30c
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpq $0x0, -0xa0(%rbp)
je 0x464f
callq 0x5070
leaq 0x33172(%rip), %rax     # 0x377c8
movq (%rax), %rax
movq %rax, -0xa0(%rbp)
jmp 0x4834
leaq 0x33164(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x46a1
leaq 0x33150(%rip), %rax     # 0x377c8
cmpq $0x0, (%rax)
je 0x4680
jmp 0x469f
leaq 0x1ab91(%rip), %rdi     # 0x1f218
leaq 0x1ab99(%rip), %rsi     # 0x1f227
movl $0xc8, %edx
leaq 0x1ab94(%rip), %rcx     # 0x1f22e
callq 0x3160
jmp 0x46d4
movq -0xf8(%rbp), %rax
movl $0xc8, %esi
subq %rax, %rsi
leaq 0x1ac58(%rip), %rdi     # 0x1f30f
movl $0x1, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
cmpq $0x0, -0xa8(%rbp)
je 0x46e3
callq 0x5070
leaq 0x330de(%rip), %rax     # 0x377c8
movq (%rax), %rax
movq %rax, -0xa8(%rbp)
jmp 0x4834
leaq 0x330d0(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x4707
jmp 0x4737
movq -0xf8(%rbp), %rax
movl $0xcd, %esi
subq %rax, %rsi
leaq 0x1abf5(%rip), %rdi     # 0x1f312
xorl %edx, %edx
callq 0x8750
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
movq 0x228b2(%rip), %rax     # 0x26ff0
movq (%rax), %rdi
leaq 0x1abcd(%rip), %rsi     # 0x1f315
movb $0x0, %al
callq 0x3590
xorl %edi, %edi
callq 0x3150
leaq 0x33073(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x4764
jmp 0x478b
movq -0xf8(%rbp), %rax
movl $0xd0, %edi
subq %rax, %rdi
callq 0x89e0
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
jmp 0x478d
movq -0xd0(%rbp), %rsi
leaq 0x1ab8c(%rip), %rdi     # 0x1f327
movb $0x0, %al
callq 0xbd50
callq 0x3470
movl $0x0, (%rax)
callq 0x5070
jmp 0x480d
leaq 0x33015(%rip), %rax     # 0x377d0
movl $0x1, (%rax)
jmp 0x4834
leaq 0x33006(%rip), %rax     # 0x377d0
cmpl $0x0, (%rax)
je 0x47d1
jmp 0x480d
movl -0x104(%rbp), %eax
cmpl $0x0, %eax
jne 0x47fa
movq -0xf8(%rbp), %rax
movl $0xd3, %edi
subq %rax, %rdi
callq 0x8aa0
movl $0x1, -0x104(%rbp)
movq -0x110(%rbp), %rax
movq %rax, -0x128(%rbp)
jmp 0x5061
jmp 0x480f
movq -0xd0(%rbp), %rsi
leaq 0x1ab21(%rip), %rdi     # 0x1f33e
movb $0x0, %al
callq 0xbd50
callq 0x3470
movl $0x0, (%rax)
callq 0x5070
jmp 0x389f
leaq 0x22da8(%rip), %rax     # 0x275e8
movl (%rax), %ecx
movl -0x18(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x18(%rbp)
leaq 0x22d97(%rip), %rax     # 0x275e8
movl (%rax), %ecx
movq -0x20(%rbp), %rax
movslq %ecx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x4870
callq 0x5070
cmpl $0x0, -0x54(%rbp)
jne 0x487e
movq $0x64, -0x60(%rbp)
movsd -0x70(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x489b
jp 0x489b
movsd 0x1a772(%rip), %xmm0    # 0x1f008
movsd %xmm0, -0x70(%rbp)
movsd -0x88(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x48be
jp 0x48be
movsd 0x1a75a(%rip), %xmm0    # 0x1f010
movsd %xmm0, -0x88(%rbp)
cmpl $0x0, -0x2c(%rbp)
jne 0x48cf
cmpl $0x0, -0x34(%rbp)
jne 0x48cf
callq 0x5070
cmpl $0x0, -0x38(%rbp)
je 0x48e0
cmpl $0x0, -0x3c(%rbp)
je 0x48e0
callq 0x5070
cmpq $0x0, -0x50(%rbp)
jne 0x48ec
callq 0x5070
movsd -0x70(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
ja 0x48ff
callq 0x5070
movsd -0x88(%rbp), %xmm0
movsd 0x1a701(%rip), %xmm1    # 0x1f010
ucomisd %xmm1, %xmm0
jne 0x4919
jp 0x4919
jmp 0x4927
cmpl $0x0, -0x8c(%rbp)
je 0x4927
callq 0x5070
cmpq $0x0, -0x98(%rbp)
je 0x4942
movq -0x98(%rbp), %rdi
callq 0xb990
cmpl $0x0, %eax
je 0x4947
callq 0x5070
cmpq $0x0, -0xa0(%rbp)
je 0x4962
movq -0xa0(%rbp), %rdi
callq 0xb990
cmpl $0x0, %eax
je 0x4967
callq 0x5070
cmpq $0x0, -0x28(%rbp)
je 0x4981
movq -0x28(%rbp), %rdi
callq 0xb990
cmpl $0x0, %eax
je 0x4981
callq 0x5070
cmpq $-0x1, -0x60(%rbp)
jbe 0x4990
movq $-0x1, -0x60(%rbp)
movq -0x78(%rbp), %rdx
leaq 0x1a9b8(%rip), %rax     # 0x1f353
leaq 0x1a9ae(%rip), %rcx     # 0x1f350
cmpq $0x0, %rdx
cmovneq %rcx, %rax
movq %rax, -0x170(%rbp)
cmpq $0x0, -0x78(%rbp)
je 0x49c5
movq -0x78(%rbp), %rax
movq %rax, -0x178(%rbp)
jmp 0x49d3
movq -0x98(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x170(%rbp), %rsi
movq -0x178(%rbp), %rdx
leaq -0xd8(%rbp), %rdi
movb $0x0, %al
callq 0x7b30
cmpl $-0x1, %eax
jne 0x4a30
jmp 0x49f6
callq 0x3470
cmpl $0x0, (%rax)
je 0x4a1b
leaq 0x1a953(%rip), %rdi     # 0x1f35a
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4a29
leaq 0x1a938(%rip), %rdi     # 0x1f35a
movb $0x0, %al
callq 0xbd50
jmp 0x4a2b
jmp 0x5057
callq 0x3230
cmpl $0x1, %eax
jne 0x4aad
jmp 0x4a3c
leaq 0x1a920(%rip), %rdi     # 0x1f363
movb $0x0, %al
callq 0xbd50
callq 0x3470
movl $0x0, (%rax)
movl $0x2, %edi
leaq 0x86f(%rip), %rsi       # 0x52d0
callq 0x3050
movq $-0x1, %rcx
cmpq %rcx, %rax
jne 0x4aab
jmp 0x4a74
callq 0x3470
cmpl $0x0, (%rax)
je 0x4a99
leaq 0x1a91a(%rip), %rdi     # 0x1f39f
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4aa7
leaq 0x1a8ff(%rip), %rdi     # 0x1f39f
movb $0x0, %al
callq 0xbd50
jmp 0x4aa9
jmp 0x4aab
jmp 0x4aad
cmpl $0x0, -0x30(%rbp)
je 0x4b1b
cmpl $0x0, -0x40(%rbp)
jne 0x4b1b
movq -0xd8(%rbp), %rdi
callq 0x7c70
cmpl $0x0, %eax
je 0x4b06
jmp 0x4acc
callq 0x3470
cmpl $0x0, (%rax)
je 0x4af1
leaq 0x1a8e7(%rip), %rdi     # 0x1f3c4
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4aff
leaq 0x1a8cc(%rip), %rdi     # 0x1f3c4
movb $0x0, %al
callq 0xbd50
jmp 0x4b01
jmp 0x504b
cmpl $0x0, -0x90(%rbp)
je 0x4b19
movl $0x1, %edi
callq 0xbf40
jmp 0x4b1b
jmp 0x4b1d
movq -0x98(%rbp), %rdi
xorl %esi, %esi
callq 0xa8f0
movq %rax, -0xb0(%rbp)
cmpq $0x0, %rax
jne 0x4b94
cmpl $0x0, -0x30(%rbp)
jne 0x4b88
jmp 0x4b40
callq 0x3470
cmpl $0x0, (%rax)
je 0x4b6c
movq -0x98(%rbp), %rsi
leaq 0x1a880(%rip), %rdi     # 0x1f3d8
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4b81
movq -0x98(%rbp), %rsi
leaq 0x1a85e(%rip), %rdi     # 0x1f3d8
movb $0x0, %al
callq 0xbd50
jmp 0x4b83
jmp 0x504b
movl $0x1, %edi
callq 0x3330
jmp 0x4b1d
jmp 0x4b96
movq -0xa0(%rbp), %rdi
callq 0x9ea0
movq %rax, -0xc0(%rbp)
cmpq $0x0, %rax
jne 0x4c0b
cmpl $0x0, -0x30(%rbp)
jne 0x4bff
jmp 0x4bb7
callq 0x3470
cmpl $0x0, (%rax)
je 0x4be3
movq -0xa0(%rbp), %rsi
leaq 0x1a809(%rip), %rdi     # 0x1f3d8
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4bf8
movq -0xa0(%rbp), %rsi
leaq 0x1a7e7(%rip), %rdi     # 0x1f3d8
movb $0x0, %al
callq 0xbd50
jmp 0x4bfa
jmp 0x503f
movl $0x1, %edi
callq 0x3330
jmp 0x4b96
movq -0xc0(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x4c3f
jmp 0x4c1a
movq -0xa0(%rbp), %rsi
leaq 0x1a7d3(%rip), %rdi     # 0x1f3fb
movb $0x0, %al
callq 0xbd50
callq 0x3470
movl $0x0, (%rax)
jmp 0x5033
cmpq $0x0, -0x28(%rbp)
je 0x4cbb
jmp 0x4c48
movq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0xa8f0
movq %rax, -0xb8(%rbp)
cmpq $0x0, %rax
jne 0x4cb9
cmpl $0x0, -0x30(%rbp)
jne 0x4cad
jmp 0x4c6b
callq 0x3470
cmpl $0x0, (%rax)
je 0x4c94
movq -0x28(%rbp), %rsi
leaq 0x1a758(%rip), %rdi     # 0x1f3d8
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4ca6
movq -0x28(%rbp), %rsi
leaq 0x1a739(%rip), %rdi     # 0x1f3d8
movb $0x0, %al
callq 0xbd50
jmp 0x4ca8
jmp 0x5033
movl $0x1, %edi
callq 0x3330
jmp 0x4c48
jmp 0x4cbb
movq -0x50(%rbp), %rdi
callq 0xd470
movq %rax, -0xc8(%rbp)
cmpq $0x0, %rax
jne 0x4d0d
jmp 0x4cd3
callq 0x3470
cmpl $0x0, (%rax)
je 0x4cf8
leaq 0x1a731(%rip), %rdi     # 0x1f415
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4d06
leaq 0x1a716(%rip), %rdi     # 0x1f415
movb $0x0, %al
callq 0xbd50
jmp 0x4d08
jmp 0x5027
movq -0xb0(%rbp), %rdi
callq 0xab20
movl %eax, -0xdc(%rbp)
cmpl $-0x1, %eax
jne 0x4d29
jmp 0x501b
cmpl $0x0, -0x30(%rbp)
jne 0x4d97
cmpl $0x0, -0x40(%rbp)
jne 0x4d97
movq -0xd8(%rbp), %rdi
callq 0x7c70
cmpl $0x0, %eax
je 0x4d82
jmp 0x4d48
callq 0x3470
cmpl $0x0, (%rax)
je 0x4d6d
leaq 0x1a66b(%rip), %rdi     # 0x1f3c4
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4d7b
leaq 0x1a650(%rip), %rdi     # 0x1f3c4
movb $0x0, %al
callq 0xbd50
jmp 0x4d7d
jmp 0x4fc7
cmpl $0x0, -0x90(%rbp)
je 0x4d95
movl $0x1, %edi
callq 0xbf40
jmp 0x4d97
cmpq $0x0, -0xa8(%rbp)
je 0x4df3
movq -0xa8(%rbp), %rdi
movl $0x1, %esi
callq 0x9500
cmpl $0x0, %eax
je 0x4df3
jmp 0x4db9
callq 0x3470
cmpl $0x0, (%rax)
je 0x4dde
leaq 0x1a667(%rip), %rdi     # 0x1f431
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4dec
leaq 0x1a64c(%rip), %rdi     # 0x1f431
movb $0x0, %al
callq 0xbd50
jmp 0x4dee
jmp 0x4fbb
movl -0xdc(%rbp), %eax
movl %eax, -0x184(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x180(%rbp)
cmpl $0x0, -0x8c(%rbp)
je 0x4e23
xorps %xmm0, %xmm0
movsd %xmm0, -0x190(%rbp)
jmp 0x4e33
movsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x190(%rbp)
movq -0x180(%rbp), %rsi
movl -0x184(%rbp), %edi
movsd -0x190(%rbp), %xmm0
movq -0xc0(%rbp), %rdx
movq -0xb8(%rbp), %rcx
movl -0x2c(%rbp), %r8d
movl -0x38(%rbp), %r9d
movl -0x3c(%rbp), %r14d
movl -0x44(%rbp), %ebx
movq -0xc8(%rbp), %r11
movq -0x60(%rbp), %r10
movsd -0x70(%rbp), %xmm1
leaq -0xec(%rbp), %rax
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movq %r11, 0x10(%rsp)
movq %r10, 0x18(%rsp)
movq %rax, 0x20(%rsp)
callq 0x5310
movq %rax, -0xe8(%rbp)
cmpq $0x0, %rax
jne 0x4ee1
jmp 0x4ea7
callq 0x3470
cmpl $0x0, (%rax)
je 0x4ecc
leaq 0x1a593(%rip), %rdi     # 0x1f44b
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4eda
leaq 0x1a578(%rip), %rdi     # 0x1f44b
movb $0x0, %al
callq 0xbd50
jmp 0x4edc
jmp 0x4fbb
movq $0x0, -0xc0(%rbp)
movl $0xffffffff, -0xdc(%rbp) # imm = 0xFFFFFFFF
movq -0xe8(%rbp), %rsi
leaq 0x3ec(%rip), %rdi       # 0x52f0
callq 0xed80
cmpl $0x0, %eax
je 0x4f2e
jmp 0x4f10
leaq 0x1a55d(%rip), %rdi     # 0x1f474
movb $0x0, %al
callq 0xbd50
callq 0x3470
movl $0x0, (%rax)
jmp 0x4fbb
leaq -0xec(%rbp), %rdi
callq 0x5de0
cmpl $0x0, %eax
je 0x4f78
jmp 0x4f41
callq 0x3470
cmpl $0x0, (%rax)
je 0x4f66
leaq 0x1a54a(%rip), %rdi     # 0x1f49c
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x4f74
leaq 0x1a52f(%rip), %rdi     # 0x1f49c
movb $0x0, %al
callq 0xbd50
jmp 0x4f76
jmp 0x4fbb
movq -0xe8(%rbp), %rdi
callq 0x5610
movq -0xc8(%rbp), %rdi
callq 0xd710
movq -0xb0(%rbp), %rdi
callq 0xaa90
movq -0xb8(%rbp), %rdi
callq 0xaa90
movq -0xd8(%rbp), %rdi
callq 0x32b0
xorl %edi, %edi
callq 0x3150
movq -0xe8(%rbp), %rdi
callq 0x5610
cmpl $-0x1, -0xdc(%rbp)
je 0x5019
movl -0xdc(%rbp), %edi
callq 0x30d0
cmpl $0x0, %eax
je 0x5019
jmp 0x4fe2
callq 0x3470
cmpl $0x0, (%rax)
je 0x5007
leaq 0x1aa2a(%rip), %rdi     # 0x1fa1d
movb $0x0, %al
callq 0xbb00
callq 0x3470
movl $0x0, (%rax)
jmp 0x5015
leaq 0x1aa0f(%rip), %rdi     # 0x1fa1d
movb $0x0, %al
callq 0xbd50
jmp 0x5017
jmp 0x5019
jmp 0x501b
movq -0xc8(%rbp), %rdi
callq 0xd710
movq -0xb8(%rbp), %rdi
callq 0xaa90
movq -0xc0(%rbp), %rdi
callq 0xaad0
movq -0xb0(%rbp), %rdi
callq 0xaa90
movq -0xd8(%rbp), %rdi
callq 0x32b0
movl $0x1, %edi
callq 0x3150
movq -0x128(%rbp), %rax
jmpq *%rax
nopw (%rax,%rax)