// File: /workspace/github_c_makefile_star2_O0/darwin-on-arm[P]darwin-sdk/xcode_tools/xcrun/xcrun.c
// Function: xcrun_main
static int xcrun_main(int argc, char *argv[])
{
	int ch;
	int optindex = 0;
	int argc_offset = 0;
	char *sdk_env, *toolchain_env;
	char *sdk, *toolchain, *tool_called;

	static int help_f, verbose_f, log_f, find_f, run_f, nocache_f, killcache_f, version_f, sdk_f, toolchain_f, ssdkp_f, ssdkv_f, ssdkpp_f, ssdktt_f, ssdkpv_f;
	help_f = verbose_f = log_f = find_f = run_f = nocache_f = killcache_f = version_f = sdk_f = toolchain_f = ssdkp_f = ssdkv_f = ssdkpp_f = ssdktt_f = ssdkpv_f = 0;

	/* Supported options */
	static struct option options[] = {
		{ "help", no_argument, 0, 'h' },
		{ "version", no_argument, &version_f, 1 },
		{ "verbose", no_argument, 0, 'v' },
		{ "sdk", required_argument, &sdk_f, 1 },
		{ "toolchain", required_argument, &toolchain_f, 1 },
		{ "log", no_argument, 0, 'l' },
		{ "find", required_argument, 0, 'f' },
		{ "run", required_argument, 0, 'r' },
		{ "no-cache", no_argument, 0, 'n' },
		{ "kill-cache", no_argument, 0, 'k' },
		{ "show-sdk-path", no_argument, &ssdkp_f, 1 },
		{ "show-sdk-version", no_argument, &ssdkv_f, 1 },
		{ "show-sdk-target-triple", no_argument, &ssdktt_f, 1},
		{ "show-sdk-toolchain-path", no_argument, &ssdkpp_f, 1 },
		{ "show-sdk-toolchain-version", no_argument, &ssdkpv_f, 1 },
		{ NULL, 0, 0, 0 }
	};

	/* Print help if nothing is specified */
	if (argc < 2)
		return usage();

	/* Only parse arguments if they are given */
	if (*(*(argv + 1)) == '-') {
		if (strcmp(argv[1], "-") == 0 || strcmp(argv[1], "--") == 0)
			return usage();
		while ((ch = getopt_long_only(argc, argv, "+hvlr:f:nk", options, &optindex)) != (-1)) {
			switch (ch) {
				case 'h':
					help_f = 1;
					break;
				case 'v':
					verbose_f = 1;
					break;
				case 'l':
					log_f = 1;
					break;
				case 'r':
					run_f = 1;
					tool_called = basename(optarg);
					++argc_offset;
					break;
				case 'f':
					find_f = 1;
					tool_called = basename(optarg);
					++argc_offset;
					break;
				case 'n':
					nocache_f = 1;
					break;
				case 'k':
					killcache_f = 1;
					break;
				case 0: /* long-only options */
					switch (optindex) {
						case 1: /* --version */
							break;
						case 3: /* --sdk */
							if (*optarg != '-') {
								++argc_offset;
								sdk = optarg;
								/* we support absolute paths and short names */
								if (*sdk == '/') {
									if (validate_directory_path(sdk) != (-1))
										alternate_sdk_path = sdk;
									else
										return 1;
								} else {
									explicit_sdk_mode = 1;
									stripext(current_sdk, sdk);
								}
							} else {
								fprintf(stderr, "xcrun: error: sdk flag requires an argument.\n");
								return 1;
							}
							break;
						case 4: /* --toolchain */
							if (*optarg != '-') {
								++argc_offset;
								toolchain = optarg;
								/* we support absolute paths and short names */
								if (*toolchain == '/') {
									if (validate_directory_path(toolchain) != (-1))
										alternate_toolchain_path = toolchain;
									else
										return 1;
								} else {
									explicit_toolchain_mode = 1;
									stripext(current_toolchain, toolchain);
								}
							} else {
								fprintf(stderr, "xcrun: error: toolchain flag requires an argument.\n");
								return 1;
							}
							break;
						case 10: /* --show-sdk-path */
							break;
						case 11: /* --show-sdk-version */
							break;
						case 12: /* --snow-sdk-target-triple */
							break;
						case 13: /* --show-sdk-toolchain-path */
							break;
						case 14: /* --show-sdk-toolchain-version */
							break;
					}
					break;
				case '?':
				default:
					help_f = 1;
					break;
			}

			++argc_offset;

			/* We don't want to parse any more arguments after these are set. */
			if (ch == 'f' || ch == 'r')
				break;
		}
	} else { /* We are just executing a program. */
		tool_called = basename(argv[1]);
		++argc_offset;
	}

	/* The last non-option argument may be the command called. */
	if (optind < argc && ((!run_f || !find_f) && tool_called == NULL)) {
		tool_called = basename(argv[optind++]);
		++argc_offset;
	}

	/* Don't continue if we are missing arguments. */
	if ((verbose_f || log_f) && tool_called == NULL) {
		fprintf(stderr, "xcrun: error: specified arguments require -r or -f arguments.\n");
		return 1;
	}

	/* Print help? */
	if (help_f || argc < 2)
		return usage();

	/* Print version? */
	if (version_f)
		return version();

	/* If our SDK and/or Toolchain hasn't been specified, fall back to environment or defaults. */
	if (strlen(current_sdk) == 0) {
		if ((sdk_env = getenv("SDKROOT")) != NULL) {
			stripext(current_sdk, basename(sdk_env));
		} else {
			const char *sdk_info = get_default_info(XCRUN_DEFAULT_CFG).sdk;
			strncpy(current_sdk, sdk_info, strlen(sdk_info));
		}
	}

	if (strlen(current_toolchain) == 0) {
		if ((toolchain_env = getenv("TOOLCHAINS")) != NULL) {
			stripext(current_toolchain, basename(toolchain_env));
		} else {
			const char *toolch_info = get_default_info(XCRUN_DEFAULT_CFG).toolchain;
			strncpy(current_toolchain, toolch_info, strlen(toolch_info));
		}
	}

	/* Show SDK path? */
	if (ssdkp_f) {
		printf("%s\n", get_sdk_path(current_sdk));
		return 0;
	}

	/* Show SDK version? */
	if (ssdkv_f) {
		printf("%s SDK version %s\n", get_sdk_info(get_sdk_path(current_sdk)).name, get_sdk_info(get_sdk_path(current_sdk)).version);
		return 0;
	}

	/* Show SDK toolchain path? */
	if (ssdkpp_f) {
		printf("%s\n", get_toolchain_path(current_toolchain));
		return 0;
	}

	/* Show SDK toolchain version? */
	if (ssdkpv_f) {
		printf("%s SDK Toolchain version %s (%s)\n", get_sdk_info(get_sdk_path(current_sdk)).name, get_toolchain_info(get_toolchain_path(current_toolchain)).version, get_toolchain_info(get_toolchain_path(current_toolchain)).name);
		return 0;
	}

	/* Show SDK target triple ? */
	if (ssdktt_f) {
		printf("%s\n", get_target_triple(current_sdk));
		return 0;
	}

	/* Clear the lookup cache? */
	if (killcache_f)
		fprintf(stderr, "xcrun: warning: --kill-cache not supported.\n");

	/* Don't use the lookup cache? */
	if (nocache_f)
		fprintf(stderr, "xcrun: warning: --no-cache not supported.\n");

	/* Turn on verbose mode? */
	if (verbose_f)
		verbose_mode = 1;

	/* Turn on logging mode? */
	if (log_f)
		logging_mode = 1;

	/* Before we continue, double check if we have a tool to call. */
	if (tool_called == NULL) {
		fprintf(stderr, "xcrun: error: no tool specified.\n");
		return 1;
	}

	/* Search for program? */
	if (find_f) {
		finding_mode = 1;
		if (request_command(tool_called, 0, NULL) == 0) {
			return 0;
		} else {
			fprintf(stderr, "xcrun: error: unable to locate command \'%s\' (%s)\n", tool_called, strerror(errno));
			return 1;
		}
	}

	/* Search and execute program. (default behavior) */
	if (request_command(tool_called, (argc - argc_offset),  (argv += ((argc - argc_offset) - (argc - argc_offset) + (argc_offset)))) != 0) {
		fprintf(stderr, "xcrun: error: failed to execute command \'%s\'. aborting.\n", tool_called);
		return 1;
	}

	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, 0x6696(%rip)      # 0x93a0
movl $0x0, 0x6688(%rip)      # 0x939c
movl $0x0, 0x667a(%rip)      # 0x9398
movl $0x0, 0x666c(%rip)      # 0x9394
movl $0x0, 0x665e(%rip)      # 0x9390
movl $0x0, 0x6650(%rip)      # 0x938c
movl $0x0, 0x6642(%rip)      # 0x9388
movl $0x0, 0x6634(%rip)      # 0x9384
movl $0x0, 0x6626(%rip)      # 0x9380
movl $0x0, 0x6618(%rip)      # 0x937c
movl $0x0, 0x660a(%rip)      # 0x9378
movl $0x0, 0x65fc(%rip)      # 0x9374
movl $0x0, 0x65ee(%rip)      # 0x9370
movl $0x0, 0x65e0(%rip)      # 0x936c
movl $0x0, 0x65d2(%rip)      # 0x9368
cmpl $0x2, -0x8(%rbp)
jge 0x2da9
callq 0x3cb0
movl %eax, -0x4(%rbp)
jmp 0x363b
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x3103
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2542(%rip), %rsi      # 0x530e
callq 0x2110
cmpl $0x0, %eax
je 0x2def
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2528(%rip), %rsi      # 0x530d
callq 0x2110
cmpl $0x0, %eax
jne 0x2dfc
callq 0x3cb0
movl %eax, -0x4(%rbp)
jmp 0x363b
jmp 0x2dfe
movl -0x8(%rbp), %edi
movq -0x10(%rbp), %rsi
leaq 0x2504(%rip), %rdx      # 0x5310
leaq 0x532d(%rip), %rcx      # 0x8140
leaq -0x18(%rbp), %r8
callq 0x20e0
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x3101
movl -0x14(%rbp), %eax
movl %eax, -0x114(%rbp)
testl %eax, %eax
je 0x2f57
jmp 0x2e3b
movl -0x114(%rbp), %eax
subl $0x3f, %eax
je 0x30d9
jmp 0x2e4c
movl -0x114(%rbp), %eax
subl $0x66, %eax
je 0x2f0e
jmp 0x2e5d
movl -0x114(%rbp), %eax
subl $0x68, %eax
je 0x2eb6
jmp 0x2e6a
movl -0x114(%rbp), %eax
subl $0x6b, %eax
je 0x2f48
jmp 0x2e7b
movl -0x114(%rbp), %eax
subl $0x6c, %eax
je 0x2ed4
jmp 0x2e88
movl -0x114(%rbp), %eax
subl $0x6e, %eax
je 0x2f39
jmp 0x2e99
movl -0x114(%rbp), %eax
subl $0x72, %eax
je 0x2ee3
jmp 0x2ea6
movl -0x114(%rbp), %eax
subl $0x76, %eax
je 0x2ec5
jmp 0x30db
movl $0x1, 0x64a8(%rip)      # 0x9368
jmp 0x30e5
movl $0x1, 0x649d(%rip)      # 0x936c
jmp 0x30e5
movl $0x1, 0x6492(%rip)      # 0x9370
jmp 0x30e5
movl $0x1, 0x648b(%rip)      # 0x9378
movq 0x50e4(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
callq 0x2150
movq %rax, -0x48(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x30e5
movl $0x1, 0x645c(%rip)      # 0x9374
movq 0x50b9(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
callq 0x2150
movq %rax, -0x48(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x30e5
movl $0x1, 0x6439(%rip)      # 0x937c
jmp 0x30e5
movl $0x1, 0x642e(%rip)      # 0x9380
jmp 0x30e5
movl -0x18(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x120(%rbp)
subl $0xd, %eax
ja 0x30d7
movq -0x120(%rbp), %rax
leaq 0x20a4(%rip), %rcx      # 0x5020
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x30d7
movq 0x5047(%rip), %rax      # 0x7fd8
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x3004
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movq 0x502c(%rip), %rax      # 0x7fd8
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x2fe8
movq -0x38(%rbp), %rdi
callq 0x3ce0
cmpl $-0x1, %eax
je 0x2fda
movq -0x38(%rbp), %rax
movq %rax, 0x63d0(%rip)      # 0x93a8
jmp 0x2fe6
movl $0x1, -0x4(%rbp)
jmp 0x363b
jmp 0x3002
movl $0x1, 0x63be(%rip)      # 0x93b0
movq -0x38(%rbp), %rsi
leaq 0x63c3(%rip), %rdi      # 0x93c0
callq 0x3db0
jmp 0x3028
movq 0x4fed(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x2306(%rip), %rsi      # 0x531b
movb $0x0, %al
callq 0x2120
movl $0x1, -0x4(%rbp)
jmp 0x363b
jmp 0x30d7
movq 0x4fa4(%rip), %rax      # 0x7fd8
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x30a7
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movq 0x4f89(%rip), %rax      # 0x7fd8
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x308b
movq -0x40(%rbp), %rdi
callq 0x3ce0
cmpl $-0x1, %eax
je 0x307d
movq -0x40(%rbp), %rax
movq %rax, 0x7345(%rip)      # 0xa3c0
jmp 0x3089
movl $0x1, -0x4(%rbp)
jmp 0x363b
jmp 0x30a5
movl $0x1, 0x7333(%rip)      # 0xa3c8
movq -0x40(%rbp), %rsi
leaq 0x7330(%rip), %rdi      # 0xa3d0
callq 0x3db0
jmp 0x30cb
movq 0x4f4a(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x2291(%rip), %rsi      # 0x5349
movb $0x0, %al
callq 0x2120
movl $0x1, -0x4(%rbp)
jmp 0x363b
jmp 0x30d7
jmp 0x30d7
jmp 0x30d7
jmp 0x30d7
jmp 0x30d7
jmp 0x30d7
jmp 0x30e5
jmp 0x30db
movl $0x1, 0x6283(%rip)      # 0x9368
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
cmpl $0x66, -0x14(%rbp)
je 0x30fa
cmpl $0x72, -0x14(%rbp)
jne 0x30fc
jmp 0x3101
jmp 0x2dfe
jmp 0x311d
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x2150
movq %rax, -0x48(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movq 0x4eac(%rip), %rax      # 0x7fd0
movl (%rax), %eax
cmpl -0x8(%rbp), %eax
jge 0x3178
cmpl $0x0, 0x6246(%rip)      # 0x9378
je 0x313d
cmpl $0x0, 0x6239(%rip)      # 0x9374
jne 0x3178
cmpq $0x0, -0x48(%rbp)
jne 0x3178
movq -0x10(%rbp), %rax
movq 0x4e81(%rip), %rcx      # 0x7fd0
movl (%rcx), %ecx
movl %ecx, %esi
addl $0x1, %esi
movq 0x4e73(%rip), %rdx      # 0x7fd0
movl %esi, (%rdx)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2150
movq %rax, -0x48(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, 0x61ed(%rip)      # 0x936c
jne 0x318a
cmpl $0x0, 0x61e8(%rip)      # 0x9370
je 0x31b5
cmpq $0x0, -0x48(%rbp)
jne 0x31b5
movq 0x4e60(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x21db(%rip), %rsi      # 0x537d
movb $0x0, %al
callq 0x2120
movl $0x1, -0x4(%rbp)
jmp 0x363b
cmpl $0x0, 0x61ac(%rip)      # 0x9368
jne 0x31c4
cmpl $0x2, -0x8(%rbp)
jge 0x31d1
callq 0x3cb0
movl %eax, -0x4(%rbp)
jmp 0x363b
cmpl $0x0, 0x61ac(%rip)      # 0x9384
je 0x31e7
callq 0x3e10
movl %eax, -0x4(%rbp)
jmp 0x363b
leaq 0x61d2(%rip), %rdi      # 0x93c0
callq 0x2090
cmpq $0x0, %rax
jne 0x3271
leaq 0x21bc(%rip), %rdi      # 0x53bc
callq 0x2030
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x3229
movq -0x28(%rbp), %rdi
callq 0x2150
movq %rax, %rsi
leaq 0x619e(%rip), %rdi      # 0x93c0
callq 0x3db0
jmp 0x326f
leaq 0x2194(%rip), %rdi      # 0x53c4
callq 0x3e40
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x50(%rbp), %rdi
callq 0x2090
movq -0x128(%rbp), %rsi
movq %rax, %rdx
leaq 0x6156(%rip), %rdi      # 0x93c0
callq 0x2060
jmp 0x3271
leaq 0x7158(%rip), %rdi      # 0xa3d0
callq 0x2090
cmpq $0x0, %rax
jne 0x32fb
leaq 0x2149(%rip), %rdi      # 0x53d3
callq 0x2030
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x32b3
movq -0x30(%rbp), %rdi
callq 0x2150
movq %rax, %rsi
leaq 0x7124(%rip), %rdi      # 0xa3d0
callq 0x3db0
jmp 0x32f9
leaq 0x210a(%rip), %rdi      # 0x53c4
callq 0x3e40
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x68(%rbp), %rdi
callq 0x2090
movq -0x130(%rbp), %rsi
movq %rax, %rdx
leaq 0x70dc(%rip), %rdi      # 0xa3d0
callq 0x2060
jmp 0x32fb
cmpl $0x0, 0x608e(%rip)      # 0x9390
je 0x332d
leaq 0x60b5(%rip), %rdi      # 0x93c0
callq 0x3ec0
movq %rax, %rsi
leaq 0x20d3(%rip), %rdi      # 0x53ed
movb $0x0, %al
callq 0x20b0
movl $0x0, -0x4(%rbp)
jmp 0x363b
cmpl $0x0, 0x6060(%rip)      # 0x9394
je 0x33a2
leaq 0x6083(%rip), %rdi      # 0x93c0
callq 0x3ec0
movq %rax, %rsi
leaq -0xa0(%rbp), %rdi
callq 0x3f70
movq -0xa0(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq 0x605a(%rip), %rdi      # 0x93c0
callq 0x3ec0
movq %rax, %rsi
leaq -0xc8(%rbp), %rdi
callq 0x3f70
movq -0x138(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq 0x204f(%rip), %rdi      # 0x53de
movb $0x0, %al
callq 0x20b0
movl $0x0, -0x4(%rbp)
jmp 0x363b
cmpl $0x0, 0x5fef(%rip)      # 0x9398
je 0x33d4
leaq 0x701e(%rip), %rdi      # 0xa3d0
callq 0x4040
movq %rax, %rsi
leaq 0x202c(%rip), %rdi      # 0x53ed
movb $0x0, %al
callq 0x20b0
movl $0x0, -0x4(%rbp)
jmp 0x363b
cmpl $0x0, 0x5fc5(%rip)      # 0x93a0
je 0x3491
leaq 0x5fd8(%rip), %rdi      # 0x93c0
callq 0x3ec0
movq %rax, %rsi
leaq -0xf0(%rbp), %rdi
callq 0x3f70
movq -0xf0(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq 0x6fbf(%rip), %rdi      # 0xa3d0
callq 0x4040
movq %rax, %rdi
callq 0x40f0
movq %rax, -0x100(%rbp)
movq %rdx, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
movq %rax, -0x140(%rbp)
leaq 0x6f8f(%rip), %rdi      # 0xa3d0
callq 0x4040
movq %rax, %rdi
callq 0x40f0
movq -0x148(%rbp), %rsi
movq %rax, %rcx
movq %rdx, %rax
movq -0x140(%rbp), %rdx
movq %rcx, -0x110(%rbp)
movq %rax, -0x108(%rbp)
movq -0x110(%rbp), %rcx
leaq 0x1f73(%rip), %rdi      # 0x53f1
movb $0x0, %al
callq 0x20b0
movl $0x0, -0x4(%rbp)
jmp 0x363b
cmpl $0x0, 0x5f04(%rip)      # 0x939c
je 0x34c3
leaq 0x5f1f(%rip), %rdi      # 0x93c0
callq 0x41b0
movq %rax, %rsi
leaq 0x1f3d(%rip), %rdi      # 0x53ed
movb $0x0, %al
callq 0x20b0
movl $0x0, -0x4(%rbp)
jmp 0x363b
cmpl $0x0, 0x5eb6(%rip)      # 0x9380
je 0x34e4
movq 0x4b25(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x1f36(%rip), %rsi      # 0x5413
movb $0x0, %al
callq 0x2120
cmpl $0x0, 0x5e91(%rip)      # 0x937c
je 0x3505
movq 0x4b04(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x1f42(%rip), %rsi      # 0x5440
movb $0x0, %al
callq 0x2120
cmpl $0x0, 0x5e60(%rip)      # 0x936c
je 0x3518
movl $0x1, 0x5e4c(%rip)      # 0x9364
cmpl $0x0, 0x5e51(%rip)      # 0x9370
je 0x352b
movl $0x1, 0x5e35(%rip)      # 0x9360
cmpq $0x0, -0x48(%rbp)
jne 0x3556
movq 0x4abf(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x1f28(%rip), %rsi      # 0x546b
movb $0x0, %al
callq 0x2120
movl $0x1, -0x4(%rbp)
jmp 0x363b
cmpl $0x0, 0x5e17(%rip)      # 0x9374
je 0x35d9
movl $0x1, 0x7e67(%rip)      # 0xb3d0
movq -0x48(%rbp), %rdi
xorl %esi, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x3650
cmpl $0x0, %eax
jne 0x3589
movl $0x0, -0x4(%rbp)
jmp 0x363b
movq 0x4a68(%rip), %rax      # 0x7ff8
movq (%rax), %rax
movq %rax, -0x158(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x150(%rbp)
callq 0x2050
movl (%rax), %edi
callq 0x21f0
movq -0x158(%rbp), %rdi
movq -0x150(%rbp), %rdx
movq %rax, %rcx
leaq 0x1ec4(%rip), %rsi      # 0x548d
movb $0x0, %al
callq 0x2120
movl $0x1, -0x4(%rbp)
jmp 0x363b
movq -0x48(%rbp), %rdi
movl -0x8(%rbp), %esi
subl -0x1c(%rbp), %esi
movl -0x8(%rbp), %eax
subl -0x1c(%rbp), %eax
movl -0x8(%rbp), %ecx
subl -0x1c(%rbp), %ecx
subl %ecx, %eax
addl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rdx
cltq
shlq $0x3, %rax
addq %rax, %rdx
movq %rdx, -0x10(%rbp)
callq 0x3650
cmpl $0x0, %eax
je 0x3634
movq 0x49e2(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
movq -0x48(%rbp), %rdx
leaq 0x1a60(%rip), %rsi      # 0x5084
movb $0x0, %al
callq 0x2120
movl $0x1, -0x4(%rbp)
jmp 0x363b
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
nopw (%rax,%rax)