// File: /workspace/github_c_makefile_star2_O0/GangZhuo[P]dohclient/src/main.c
// Function: init_dohclient
static int init_dohclient()
{
	int i;
	char** ch, ** args;

	srand((unsigned int)time(NULL));

#ifdef WINDOWS
	if (0 == SetConsoleCtrlHandler((PHANDLER_ROUTINE)sig_handler, TRUE)) {
		loge("can not set control handler\n");
		return EXIT_FAILURE;
	}
#else
	signal(SIGINT, sig_handler);
	signal(SIGTERM, sig_handler);
#endif

	if (conf.log_file && *conf.log_file) {
		open_logfile(conf.log_file);
	}
	else if (conf.launch_log && *conf.launch_log) {
		open_logfile(conf.launch_log);
	}

	if (!conf.is_config_file_readed && conf.config_file && *conf.config_file) {
		if (conf_load_from_file(&conf, conf.config_file, FALSE)) {
			return -1;
		}
		conf.is_config_file_readed = 1;
		if (conf.log_file && *conf.log_file) {
			open_logfile(conf.log_file);
		}
	}

	if (conf_check(&conf))
		return -1;

	loglevel = conf.log_level;

	if (conf.proxy && *conf.proxy) {
		proxy_num = str2proxies(
			conf.proxy,
			proxy_list,
			MAX_PROXY);
		if (proxy_num == -1) {
			loge("parse \"%s\" failed\n",
				conf.proxy);
			return -1;
		}
		for (i = 0; i < proxy_num; i++) {
			proxy_list[i].proxy_index = i;
		}
	}

	if (conf.chnroute && *conf.chnroute) {
		if ((chnr = chnroute_create()) == NULL) {
			loge("chnroute_create()\n");
			return -1;
		}
		if (chnroute_parse(chnr, conf.chnroute)) {
			loge("invalid chnroute \"%s\"\n", conf.chnroute);
			return -1;
		}
	}

	if (conf.blacklist && *conf.blacklist) {
		if ((blacklist = chnroute_create()) == NULL) {
			loge("chnroute_create()\n");
			return -1;
		}
		if (chnroute_parse(blacklist, conf.blacklist)) {
			loge("invalid blacklist \"%s\"\n", conf.blacklist);
			return -1;
		}
	}

	if (conf.hosts && *conf.hosts) {
		int argslen = strlen(conf.hosts) + sizeof("hosts=");
		char *args = (char*)malloc(argslen);
		if (!args) {
			loge("alloc\n");
			return -1;
		}
		snprintf(args, argslen, "hosts=%s", conf.hosts);
		if (channel_create(&hosts, "hosts", args,
			&conf, proxy_list, proxy_num, chnr, blacklist, NULL) != CHANNEL_OK) {
			loge("create \"hosts\" channel error\n");
			free(args);
			return -1;
		}
		free(args);
	}

	if (http_init(&conf) != 0) {
		loge("http_init() error\n");
		return -1;
	}

	if (channel_create(&cache, "cache", NULL,
		&conf, proxy_list, proxy_num, chnr, blacklist, NULL) != CHANNEL_OK) {
		loge("create cache error\n");
		return -1;
	}

#if DOHCLIENT_CACHE_API
	hsconf->cache = cache;
	hsconf->wwwroot = conf.wwwroot;
	if (conf.cache_api && *conf.cache_api) {
		if (cache_api_config(conf.cache_api) != 0) {
			loge("cache_api_config() error\n");
			return -1;
		}
	}
#endif

	ch = conf.channels;
	while (ch && *ch) {
		ch++;
		channel_num++;
	}

	channels = (channel_t**)malloc(sizeof(channel_t*) * channel_num);
	if (!channels) {
		loge("create channels\n");
		return -1;
	}

	ch = conf.channels;
	args = conf.channel_args;
	i = 0;
	while (ch && *ch) {
		if (channel_create(
			&channels[i], *ch, *args,
			&conf, proxy_list, proxy_num, chnr, blacklist, NULL) != CHANNEL_OK) {
			loge("no channel\n");
			return -1;
		}
		ch++;
		args++;
		i++;
	}

	listen_num = str2listens(
		conf.listen_addr,
		listens,
		MAX_LISTEN,
		sizeof(listen_t),
		conf.listen_port);

	if (listen_num < 0)
		return -1;

	if (listen_num == 0) {
		loge("no listens\n");
		return -1;
	}

	if (init_listens(listens, listen_num) != 0)
		return -1;

	logn(DOHCLIENT_NAME " v" DOHCLIENT_VERSION "%s\n", git_version());
	print_listens(listens, listen_num);
	conf_print(&conf);

	if (conf.cachedb_autosave && (*conf.cachedb_autosave) && cache) {
		save_cache_when_close = 1;
		logn("Set service flags to save cache to \"%s\" when service closing\n",
				conf.cachedb_autosave);
	}

	if (conf.cachedb && *conf.cachedb) {
		cache_load_cachedbs(cache, conf.cachedb, 0);
	}

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
xorl %eax, %eax
movl %eax, %edi
callq 0x3330
movl %eax, %edi
callq 0x3370
movl $0x2, %edi
leaq 0x93c(%rip), %rsi       # 0x308c0
callq 0x3450
movl $0xf, %edi
leaq 0x92b(%rip), %rsi       # 0x308c0
callq 0x3450
cmpq $0x0, 0x11b9e(%rip)     # 0x41b40
je 0x2ffc1
movq 0x11b95(%rip), %rax     # 0x41b40
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x2ffc1
movq 0x11b86(%rip), %rdi     # 0x41b40
callq 0x24810
jmp 0x2ffe8
cmpq $0x0, 0x11b7f(%rip)     # 0x41b48
je 0x2ffe6
movq 0x11b76(%rip), %rax     # 0x41b48
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x2ffe6
movq 0x11b67(%rip), %rdi     # 0x41b48
callq 0x24810
jmp 0x2ffe8
cmpl $0x0, 0x11bd5(%rip)     # 0x41bc4
jne 0x30061
cmpq $0x0, 0x11b57(%rip)     # 0x41b50
je 0x30061
movq 0x11b4e(%rip), %rax     # 0x41b50
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x30061
movq 0x11b3f(%rip), %rsi     # 0x41b50
leaq 0x11b10(%rip), %rdi     # 0x41b28
xorl %edx, %edx
callq 0x1d2e0
cmpl $0x0, %eax
je 0x30030
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movl $0x1, 0x11b8a(%rip)     # 0x41bc4
cmpq $0x0, 0x11afe(%rip)     # 0x41b40
je 0x3005f
movq 0x11af5(%rip), %rax     # 0x41b40
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x3005f
movq 0x11ae6(%rip), %rdi     # 0x41b40
callq 0x24810
jmp 0x30061
leaq 0x11ac0(%rip), %rdi     # 0x41b28
callq 0x1cb90
cmpl $0x0, %eax
je 0x3007e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movl 0x11b34(%rip), %eax     # 0x41bb8
movl %eax, -0x2c(%rbp)
movb $0x0, %al
callq 0x242d0
movl -0x2c(%rbp), %ecx
movl %ecx, (%rax)
cmpq $0x0, 0x11abd(%rip)     # 0x41b58
je 0x30161
movq 0x11ab0(%rip), %rax     # 0x41b58
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x30161
movq 0x11a9d(%rip), %rdi     # 0x41b58
leaq 0x121ce(%rip), %rsi     # 0x42290
movl $0x8, %edx
callq 0x25ad0
movl %eax, 0x1297e(%rip)     # 0x42a50
cmpl $-0x1, 0x12977(%rip)    # 0x42a50
jne 0x30124
jmp 0x300dd
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x30116
movq 0x11a68(%rip), %r9      # 0x41b58
movl $0x3, %edi
leaq 0x8ac6(%rip), %rsi      # 0x38bc2
leaq 0x96d4(%rip), %rdx      # 0x397d7
movl $0x43d, %ecx            # imm = 0x43D
leaq 0x7d75(%rip), %r8       # 0x37e84
movb $0x0, %al
callq 0x243b0
jmp 0x30118
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movl $0x0, -0x8(%rbp)
movl -0x8(%rbp), %eax
cmpl 0x1291c(%rip), %eax     # 0x42a50
jge 0x3015f
movl -0x8(%rbp), %ecx
movslq -0x8(%rbp), %rdx
leaq 0x1214c(%rip), %rax     # 0x42290
imulq $0xf8, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x90(%rax)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3012b
jmp 0x30161
cmpq $0x0, 0x119f7(%rip)     # 0x41b60
je 0x3023b
movq 0x119ea(%rip), %rax     # 0x41b60
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x3023b
movb $0x0, %al
callq 0x1c250
movq %rax, 0x128c8(%rip)     # 0x42a58
cmpq $0x0, %rax
jne 0x301d8
jmp 0x30198
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x301ca
movl $0x3, %edi
leaq 0x8a12(%rip), %rsi      # 0x38bc2
leaq 0x9620(%rip), %rdx      # 0x397d7
movl $0x447, %ecx            # imm = 0x447
leaq 0x9623(%rip), %r8       # 0x397e6
movb $0x0, %al
callq 0x243b0
jmp 0x301cc
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movq 0x12879(%rip), %rdi     # 0x42a58
movq 0x1197a(%rip), %rsi     # 0x41b60
callq 0x1bb20
cmpl $0x0, %eax
je 0x30239
jmp 0x301f2
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x3022b
movq 0x1195b(%rip), %r9      # 0x41b60
movl $0x3, %edi
leaq 0x89b1(%rip), %rsi      # 0x38bc2
leaq 0x95bf(%rip), %rdx      # 0x397d7
movl $0x44b, %ecx            # imm = 0x44B
leaq 0x95d5(%rip), %r8       # 0x397f9
movb $0x0, %al
callq 0x243b0
jmp 0x3022d
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
jmp 0x3023b
cmpq $0x0, 0x11925(%rip)     # 0x41b68
je 0x30315
movq 0x11918(%rip), %rax     # 0x41b68
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x30315
movb $0x0, %al
callq 0x1c250
movq %rax, 0x127f6(%rip)     # 0x42a60
cmpq $0x0, %rax
jne 0x302b2
jmp 0x30272
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x302a4
movl $0x3, %edi
leaq 0x8938(%rip), %rsi      # 0x38bc2
leaq 0x9546(%rip), %rdx      # 0x397d7
movl $0x452, %ecx            # imm = 0x452
leaq 0x9549(%rip), %r8       # 0x397e6
movb $0x0, %al
callq 0x243b0
jmp 0x302a6
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movq 0x127a7(%rip), %rdi     # 0x42a60
movq 0x118a8(%rip), %rsi     # 0x41b68
callq 0x1bb20
cmpl $0x0, %eax
je 0x30313
jmp 0x302cc
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x30305
movq 0x11889(%rip), %r9      # 0x41b68
movl $0x3, %edi
leaq 0x88d7(%rip), %rsi      # 0x38bc2
leaq 0x94e5(%rip), %rdx      # 0x397d7
movl $0x456, %ecx            # imm = 0x456
leaq 0x9512(%rip), %r8       # 0x39810
movb $0x0, %al
callq 0x243b0
jmp 0x30307
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
jmp 0x30315
cmpq $0x0, 0x11853(%rip)     # 0x41b70
je 0x30464
movq 0x11846(%rip), %rax     # 0x41b70
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x30464
movq 0x11833(%rip), %rdi     # 0x41b70
callq 0x3180
addq $0x7, %rax
movl %eax, -0x1c(%rbp)
movslq -0x1c(%rbp), %rdi
callq 0x34d0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x3039f
jmp 0x3035f
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x30391
movl $0x3, %edi
leaq 0x884b(%rip), %rsi      # 0x38bc2
leaq 0x9459(%rip), %rdx      # 0x397d7
movl $0x45f, %ecx            # imm = 0x45F
leaq 0x6b0d(%rip), %r8       # 0x36e97
movb $0x0, %al
callq 0x243b0
jmp 0x30393
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rsi
movq 0x117c2(%rip), %rcx     # 0x41b70
leaq 0x9473(%rip), %rdx      # 0x39828
movb $0x0, %al
callq 0x35a0
movq -0x28(%rbp), %rdx
movl 0x12689(%rip), %r9d     # 0x42a50
movq 0x1268a(%rip), %r10     # 0x42a58
movq 0x1268b(%rip), %rax     # 0x42a60
leaq 0x1268c(%rip), %rdi     # 0x42a68
leaq 0x57f1(%rip), %rsi      # 0x35bd4
leaq 0x1173e(%rip), %rcx     # 0x41b28
leaq 0x11e9f(%rip), %r8      # 0x42290
xorl %r11d, %r11d
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0xbac0
cmpl $0x0, %eax
je 0x3045b
jmp 0x30412
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x30444
movl $0x3, %edi
leaq 0x8798(%rip), %rsi      # 0x38bc2
leaq 0x93a6(%rip), %rdx      # 0x397d7
movl $0x465, %ecx            # imm = 0x465
leaq 0x93f4(%rip), %r8       # 0x39831
movb $0x0, %al
callq 0x243b0
jmp 0x30446
movq -0x28(%rbp), %rdi
callq 0x3460
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movq -0x28(%rbp), %rdi
callq 0x3460
leaq 0x116bd(%rip), %rdi     # 0x41b28
callq 0x1f830
cmpl $0x0, %eax
je 0x304b7
jmp 0x30477
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x304a9
movl $0x3, %edi
leaq 0x8733(%rip), %rsi      # 0x38bc2
leaq 0x9341(%rip), %rdx      # 0x397d7
movl $0x46d, %ecx            # imm = 0x46D
leaq 0x93ad(%rip), %r8       # 0x3984f
movb $0x0, %al
callq 0x243b0
jmp 0x304ab
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movl 0x12592(%rip), %r9d     # 0x42a50
movq 0x12593(%rip), %r10     # 0x42a58
movq 0x12594(%rip), %rax     # 0x42a60
leaq 0x1259d(%rip), %rdi     # 0x42a70
leaq 0x626a(%rip), %rsi      # 0x36744
xorl %ecx, %ecx
movl %ecx, %edx
leaq 0x11643(%rip), %rcx     # 0x41b28
leaq 0x11da4(%rip), %r8      # 0x42290
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0xbac0
cmpl $0x0, %eax
je 0x3054a
jmp 0x3050a
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x3053c
movl $0x3, %edi
leaq 0x86a0(%rip), %rsi      # 0x38bc2
leaq 0x92ae(%rip), %rdx      # 0x397d7
movl $0x473, %ecx            # imm = 0x473
leaq 0x932d(%rip), %r8       # 0x39862
movb $0x0, %al
callq 0x243b0
jmp 0x3053e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movq 0x11647(%rip), %rax     # 0x41b98
movq %rax, -0x10(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x2d(%rbp)
je 0x3056f
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
setne %al
movb %al, -0x2d(%rbp)
movb -0x2d(%rbp), %al
testb $0x1, %al
jne 0x30578
jmp 0x30595
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl 0x124ee(%rip), %eax     # 0x42a78
addl $0x1, %eax
movl %eax, 0x124e5(%rip)     # 0x42a78
jmp 0x30555
movslq 0x124dc(%rip), %rdi     # 0x42a78
shlq $0x3, %rdi
callq 0x34d0
movq %rax, 0x124d4(%rip)     # 0x42a80
cmpq $0x0, 0x124cc(%rip)     # 0x42a80
jne 0x305f8
jmp 0x305b8
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x305ea
movl $0x3, %edi
leaq 0x85f2(%rip), %rsi      # 0x38bc2
leaq 0x9200(%rip), %rdx      # 0x397d7
movl $0x48a, %ecx            # imm = 0x48A
leaq 0x9293(%rip), %r8       # 0x39876
movb $0x0, %al
callq 0x243b0
jmp 0x305ec
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movq 0x11599(%rip), %rax     # 0x41b98
movq %rax, -0x10(%rbp)
movq 0x11596(%rip), %rax     # 0x41ba0
movq %rax, -0x18(%rbp)
movl $0x0, -0x8(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x2e(%rbp)
je 0x3062f
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
setne %al
movb %al, -0x2e(%rbp)
movb -0x2e(%rbp), %al
testb $0x1, %al
jne 0x3063b
jmp 0x30705
movq 0x1243e(%rip), %rdi     # 0x42a80
movslq -0x8(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movq -0x18(%rbp), %rax
movq (%rax), %rdx
movl 0x123ee(%rip), %r9d     # 0x42a50
movq 0x123ef(%rip), %r10     # 0x42a58
movq 0x123f0(%rip), %rax     # 0x42a60
leaq 0x114b1(%rip), %rcx     # 0x41b28
leaq 0x11c12(%rip), %r8      # 0x42290
xorl %r11d, %r11d
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0xbac0
cmpl $0x0, %eax
je 0x306df
jmp 0x3069f
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x306d1
movl $0x3, %edi
leaq 0x850b(%rip), %rsi      # 0x38bc2
leaq 0x9119(%rip), %rdx      # 0x397d7
movl $0x495, %ecx            # imm = 0x495
leaq 0x91bd(%rip), %r8       # 0x39887
movb $0x0, %al
callq 0x243b0
jmp 0x306d3
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x30615
movq 0x1141c(%rip), %rdi     # 0x41b28
movq 0x1141d(%rip), %r8      # 0x41b30
leaq 0x12376(%rip), %rsi     # 0x42a90
movl $0x8, %edx
movl $0x90, %ecx
callq 0x25c00
movl %eax, 0x127e1(%rip)     # 0x42f10
cmpl $0x0, 0x127da(%rip)     # 0x42f10
jge 0x30744
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
cmpl $0x0, 0x127c5(%rip)     # 0x42f10
jne 0x3078f
jmp 0x3074f
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0x30781
movl $0x3, %edi
leaq 0x845b(%rip), %rsi      # 0x38bc2
leaq 0x9069(%rip), %rdx      # 0x397d7
movl $0x4a8, %ecx            # imm = 0x4A8
leaq 0x9119(%rip), %r8       # 0x39893
movb $0x0, %al
callq 0x243b0
jmp 0x30783
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
movl 0x1277b(%rip), %esi     # 0x42f10
leaq 0x122f4(%rip), %rdi     # 0x42a90
callq 0x26160
cmpl $0x0, %eax
je 0x307b2
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x308ad
jmp 0x307b4
movb $0x0, %al
callq 0x242d0
cmpl $0x5, (%rax)
jl 0x307ee
callq 0x2fd10
movq %rax, %r9
movl $0x5, %edi
leaq 0x83ee(%rip), %rsi      # 0x38bc2
leaq 0x8ffc(%rip), %rdx      # 0x397d7
movl $0x4af, %ecx            # imm = 0x4AF
leaq 0x83c7(%rip), %r8       # 0x38bae
movb $0x0, %al
callq 0x243b0
jmp 0x307f0
movl 0x1271a(%rip), %esi     # 0x42f10
leaq 0x12293(%rip), %rdi     # 0x42a90
callq 0x26200
leaq 0x1131f(%rip), %rdi     # 0x41b28
callq 0x1cda0
cmpq $0x0, 0x11372(%rip)     # 0x41b88
je 0x30878
movq 0x11369(%rip), %rax     # 0x41b88
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x30878
cmpq $0x0, 0x12241(%rip)     # 0x42a70
je 0x30878
movl $0x1, 0x126d9(%rip)     # 0x42f14
movb $0x0, %al
callq 0x242d0
cmpl $0x5, (%rax)
jl 0x30874
movq 0x1133a(%rip), %r9      # 0x41b88
movl $0x5, %edi
leaq 0x8368(%rip), %rsi      # 0x38bc2
leaq 0x8f76(%rip), %rdx      # 0x397d7
movl $0x4b6, %ecx            # imm = 0x4B6
leaq 0x9032(%rip), %r8       # 0x3989f
movb $0x0, %al
callq 0x243b0
jmp 0x30876
jmp 0x30878
cmpq $0x0, 0x11300(%rip)     # 0x41b80
je 0x308a6
movq 0x112f7(%rip), %rax     # 0x41b80
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x308a6
movq 0x121d8(%rip), %rdi     # 0x42a70
movq 0x112e1(%rip), %rsi     # 0x41b80
xorl %edx, %edx
callq 0xd7b0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)