// File: /workspace/github_c_makefile_star2_O0/GangZhuo[P]dohclient/src/channel_chndoh.c
// Function: parse_args
static int parse_args(channel_chndoh_t *ctx, const char* args)
{
	char* cpy, *saveptr = NULL;
	char* p;
	char* v;
	doh_server_t* doh;

	if (!args) return -1;

	cpy = strdup(args);

	for (p = strtok_r(cpy, "&", &saveptr);
		p && *p;
		p = strtok_r(NULL, "&", &saveptr)) {

		v = strchr(p, '=');
		if (!v) continue;

		*v = '\0';
		v++;

		if (strcmp(p, "chndoh.addr") == 0 || strcmp(p, "frndoh.addr") == 0) {
			int n;
			doh = strcmp(p, "chndoh.addr") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->addrstr = strdup(v);
			n = str2addrs(v,
					&doh->addr[0],
					MAX_UPSTREAM,
					sizeof(sockaddr_t),
					doh->channel == CH_DOH ? "443" : "53");
			if (n <= 0) {
				loge("parse address failed: %s:%s\n",
					p,
					doh->channel == CH_DOH ? "443" : "53"
				);
				free(cpy);
				return -1;
			}
			doh->addr_num = n;
		}
		else if (strcmp(p, "chndoh.name") == 0 || strcmp(p, "frndoh.name") == 0) {
			doh = strcmp(p, "chndoh.name") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->name = strdup(v);
		}
		else if (strcmp(p, "chndoh.host") == 0 || strcmp(p, "frndoh.host") == 0) {
			if (*v) {
				doh = strcmp(p, "chndoh.host") == 0 ? &ctx->chndoh : &ctx->frndoh;
				doh->host = strdup(v);
			}
		}
		else if (strcmp(p, "chndoh.path") == 0 || strcmp(p, "frndoh.path") == 0) {
			doh = strcmp(p, "chndoh.path") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->path = strdup(v);
		}
		else if (strcmp(p, "chndoh.keep-alive") == 0 || strcmp(p, "frndoh.keep-alive") == 0) {
			doh = strcmp(p, "chndoh.keep-alive") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->keep_alive = atoi(v);
		}
		else if (strcmp(p, "chndoh.post") == 0 || strcmp(p, "frndoh.post") == 0) {
			doh = strcmp(p, "chndoh.post") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->post = strcmp(v, "0");
		}
		else if (strcmp(p, "chndoh.proxy") == 0 || strcmp(p, "frndoh.proxy") == 0) {
			doh = strcmp(p, "chndoh.proxy") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->use_proxy = strcmp(v, "0");
		}
		else if (strcmp(p, "chndoh.ecs") == 0 || strcmp(p, "frndoh.ecs") == 0) {
			doh = strcmp(p, "chndoh.ecs") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->ecs = strcmp(v, "0");
		}
		else if (strcmp(p, "chndoh.net") == 0 || strcmp(p, "frndoh.net") == 0) {
			doh = strcmp(p, "chndoh.net") == 0 ? &ctx->chndoh : &ctx->frndoh;
			if (v && *v && parse_subnet(&doh->net, v)) {
				loge("parse \"%s\" failed: %s\n", p, v);
				free(cpy);
				return -1;
			}
		}
		else if (strcmp(p, "chndoh.net6") == 0 || strcmp(p, "frndoh.net6") == 0) {
			doh = strcmp(p, "chndoh.net6") == 0 ? &ctx->chndoh : &ctx->frndoh;
			if (v && *v && parse_subnet(&doh->net6, v)) {
				loge("parse \"%s\" failed: %s\n", p, v);
				free(cpy);
				return -1;
			}
		}
		else if (strcmp(p, "chndoh.channel") == 0 || strcmp(p, "frndoh.channel") == 0) {
			doh = strcmp(p, "chndoh.channel") == 0 ? &ctx->chndoh : &ctx->frndoh;
			if (strcmp(v, "udp") == 0) doh->channel = CH_UDP;
			else if (strcmp(v, "tcp") == 0) doh->channel = CH_TCP;
			else if (strcmp(v, "doh") == 0) doh->channel = CH_DOH;
			else {
				loge("parse \"%s=%s\" failed: Unknown channel\n", p, v);
				free(cpy);
				return -1;
			}
		}
		else if (strcmp(p, "chndoh.resolve") == 0 || strcmp(p, "frndoh.resolve") == 0) {
			doh = strcmp(p, "chndoh.resolve") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->auto_resolve_host = strcmp(v, "0");
		}
		else if (strcmp(p, "chndoh.timeout") == 0 || strcmp(p, "frndoh.timeout") == 0) {
			doh = strcmp(p, "chndoh.timeout") == 0 ? &ctx->chndoh : &ctx->frndoh;
			doh->timeout = atoi(v);
		}
		else {
			logw("unknown argument: %s=%s\n", p, v);
		}
	}

	free(cpy);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq $0x0, -0x28(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xe3de
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xee20
movq -0x18(%rbp), %rdi
callq 0x3620
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
leaq 0x27c11(%rip), %rsi     # 0x36007
leaq -0x28(%rbp), %rdx
callq 0x3610
movq %rax, -0x30(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x30(%rbp)
movb %al, -0x45(%rbp)
je 0xe41f
movq -0x30(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x45(%rbp)
movb -0x45(%rbp), %al
testb $0x1, %al
jne 0xe42b
jmp 0xee10
movq -0x30(%rbp), %rdi
movl $0x3d, %esi
callq 0x3160
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0xe449
jmp 0xedf3
movq -0x38(%rbp), %rax
movb $0x0, (%rax)
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
leaq 0x27ba2(%rip), %rsi     # 0x36009
callq 0x3500
cmpl $0x0, %eax
je 0xe48a
movq -0x30(%rbp), %rdi
leaq 0x27b99(%rip), %rsi     # 0x36015
callq 0x3500
cmpl $0x0, %eax
jne 0xe5a3
movq -0x30(%rbp), %rdi
leaq 0x27b74(%rip), %rsi     # 0x36009
callq 0x3500
cmpl $0x0, %eax
jne 0xe4af
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x50(%rbp)
jmp 0xe4bd
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3620
movq %rax, %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x458(%rax)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
addq $0x8, %rsi
movq -0x40(%rbp), %rax
movl 0x5b0(%rax), %ecx
leaq 0x27b2c(%rip), %r8      # 0x36025
leaq 0x27b21(%rip), %rax     # 0x36021
cmpl $0x1, %ecx
cmoveq %rax, %r8
movl $0x8, %edx
movl $0x88, %ecx
callq 0x25580
movl %eax, -0x44(%rbp)
cmpl $0x0, -0x44(%rbp)
jg 0xe591
jmp 0xe521
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0xe57a
movq -0x30(%rbp), %r9
movq -0x40(%rbp), %rax
movl 0x5b0(%rax), %edx
leaq 0x27ae3(%rip), %rax     # 0x36025
leaq 0x27ad8(%rip), %rcx     # 0x36021
cmpl $0x1, %edx
cmoveq %rcx, %rax
movl $0x3, %edi
leaq 0x27a22(%rip), %rsi     # 0x35f7e
leaq 0x27ac5(%rip), %rdx     # 0x36028
movl $0x448, %ecx            # imm = 0x448
leaq 0x27ac4(%rip), %r8      # 0x36033
movq %rax, (%rsp)
movb $0x0, %al
callq 0x243b0
jmp 0xe57c
movq -0x20(%rbp), %rdi
callq 0x3460
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xee20
movl -0x44(%rbp), %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x448(%rax)
jmp 0xedf1
movq -0x30(%rbp), %rdi
leaq 0x27aa2(%rip), %rsi     # 0x36050
callq 0x3500
cmpl $0x0, %eax
je 0xe5cd
movq -0x30(%rbp), %rdi
leaq 0x27a99(%rip), %rsi     # 0x3605c
callq 0x3500
cmpl $0x0, %eax
jne 0xe624
movq -0x30(%rbp), %rdi
leaq 0x27a78(%rip), %rsi     # 0x36050
callq 0x3500
cmpl $0x0, %eax
jne 0xe5f2
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x58(%rbp)
jmp 0xe600
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3620
movq %rax, %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x450(%rax)
jmp 0xedef
movq -0x30(%rbp), %rdi
leaq 0x27a39(%rip), %rsi     # 0x36068
callq 0x3500
cmpl $0x0, %eax
je 0xe64e
movq -0x30(%rbp), %rdi
leaq 0x27a30(%rip), %rsi     # 0x36074
callq 0x3500
cmpl $0x0, %eax
jne 0xe6ae
movq -0x38(%rbp), %rax
cmpb $0x0, (%rax)
je 0xe6a9
movq -0x30(%rbp), %rdi
leaq 0x27a06(%rip), %rsi     # 0x36068
callq 0x3500
cmpl $0x0, %eax
jne 0xe67c
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x60(%rbp)
jmp 0xe68a
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3620
movq %rax, %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x460(%rax)
jmp 0xeded
movq -0x30(%rbp), %rdi
leaq 0x279c7(%rip), %rsi     # 0x36080
callq 0x3500
cmpl $0x0, %eax
je 0xe6d8
movq -0x30(%rbp), %rdi
leaq 0x279be(%rip), %rsi     # 0x3608c
callq 0x3500
cmpl $0x0, %eax
jne 0xe72f
movq -0x30(%rbp), %rdi
leaq 0x2799d(%rip), %rsi     # 0x36080
callq 0x3500
cmpl $0x0, %eax
jne 0xe6fd
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x68(%rbp)
jmp 0xe70b
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3620
movq %rax, %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x468(%rax)
jmp 0xedeb
movq -0x30(%rbp), %rdi
leaq 0x2795e(%rip), %rsi     # 0x36098
callq 0x3500
cmpl $0x0, %eax
je 0xe759
movq -0x30(%rbp), %rdi
leaq 0x2795b(%rip), %rsi     # 0x360aa
callq 0x3500
cmpl $0x0, %eax
jne 0xe7ae
movq -0x30(%rbp), %rdi
leaq 0x27934(%rip), %rsi     # 0x36098
callq 0x3500
cmpl $0x0, %eax
jne 0xe77e
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x70(%rbp)
jmp 0xe78c
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3580
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x470(%rax)
jmp 0xede9
movq -0x30(%rbp), %rdi
leaq 0x27903(%rip), %rsi     # 0x360bc
callq 0x3500
cmpl $0x0, %eax
je 0xe7d8
movq -0x30(%rbp), %rdi
leaq 0x278fa(%rip), %rsi     # 0x360c8
callq 0x3500
cmpl $0x0, %eax
jne 0xe834
movq -0x30(%rbp), %rdi
leaq 0x278d9(%rip), %rsi     # 0x360bc
callq 0x3500
cmpl $0x0, %eax
jne 0xe7fd
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x78(%rbp)
jmp 0xe80b
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x265d8(%rip), %rsi     # 0x34df6
callq 0x3500
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x44c(%rax)
jmp 0xede7
movq -0x30(%rbp), %rdi
leaq 0x27895(%rip), %rsi     # 0x360d4
callq 0x3500
cmpl $0x0, %eax
je 0xe85e
movq -0x30(%rbp), %rdi
leaq 0x2788d(%rip), %rsi     # 0x360e1
callq 0x3500
cmpl $0x0, %eax
jne 0xe8ba
movq -0x30(%rbp), %rdi
leaq 0x2786b(%rip), %rsi     # 0x360d4
callq 0x3500
cmpl $0x0, %eax
jne 0xe883
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x80(%rbp)
jmp 0xe891
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x26552(%rip), %rsi     # 0x34df6
callq 0x3500
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x474(%rax)
jmp 0xede5
movq -0x30(%rbp), %rdi
leaq 0x27829(%rip), %rsi     # 0x360ee
callq 0x3500
cmpl $0x0, %eax
je 0xe8e4
movq -0x30(%rbp), %rdi
leaq 0x2781f(%rip), %rsi     # 0x360f9
callq 0x3500
cmpl $0x0, %eax
jne 0xe949
movq -0x30(%rbp), %rdi
leaq 0x277ff(%rip), %rsi     # 0x360ee
callq 0x3500
cmpl $0x0, %eax
jne 0xe90c
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x88(%rbp)
jmp 0xe91d
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x264c3(%rip), %rsi     # 0x34df6
callq 0x3500
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x478(%rax)
jmp 0xede3
movq -0x30(%rbp), %rdi
leaq 0x277b0(%rip), %rsi     # 0x36104
callq 0x3500
cmpl $0x0, %eax
je 0xe977
movq -0x30(%rbp), %rdi
leaq 0x277a6(%rip), %rsi     # 0x3610f
callq 0x3500
cmpl $0x0, %eax
jne 0xea43
movq -0x30(%rbp), %rdi
leaq 0x27782(%rip), %rsi     # 0x36104
callq 0x3500
cmpl $0x0, %eax
jne 0xe99f
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x90(%rbp)
jmp 0xe9b0
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0xea3e
movq -0x38(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0xea3e
movq -0x40(%rbp), %rdi
addq $0x480, %rdi            # imm = 0x480
movq -0x38(%rbp), %rsi
callq 0xf970
cmpl $0x0, %eax
je 0xea3e
jmp 0xe9e9
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0xea27
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rax
movl $0x3, %edi
leaq 0x27575(%rip), %rsi     # 0x35f7e
leaq 0x27618(%rip), %rdx     # 0x36028
movl $0x46f, %ecx            # imm = 0x46F
leaq 0x276fe(%rip), %r8      # 0x3611a
movq %rax, (%rsp)
movb $0x0, %al
callq 0x243b0
jmp 0xea29
movq -0x20(%rbp), %rdi
callq 0x3460
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xee20
jmp 0xede1
movq -0x30(%rbp), %rdi
leaq 0x276e3(%rip), %rsi     # 0x36131
callq 0x3500
cmpl $0x0, %eax
je 0xea71
movq -0x30(%rbp), %rdi
leaq 0x276da(%rip), %rsi     # 0x3613d
callq 0x3500
cmpl $0x0, %eax
jne 0xeb3d
movq -0x30(%rbp), %rdi
leaq 0x276b5(%rip), %rsi     # 0x36131
callq 0x3500
cmpl $0x0, %eax
jne 0xea99
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x98(%rbp)
jmp 0xeaaa
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0xeb38
movq -0x38(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0xeb38
movq -0x40(%rbp), %rdi
addq $0x518, %rdi            # imm = 0x518
movq -0x38(%rbp), %rsi
callq 0xf970
cmpl $0x0, %eax
je 0xeb38
jmp 0xeae3
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0xeb21
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rax
movl $0x3, %edi
leaq 0x2747b(%rip), %rsi     # 0x35f7e
leaq 0x2751e(%rip), %rdx     # 0x36028
movl $0x477, %ecx            # imm = 0x477
leaq 0x27604(%rip), %r8      # 0x3611a
movq %rax, (%rsp)
movb $0x0, %al
callq 0x243b0
jmp 0xeb23
movq -0x20(%rbp), %rdi
callq 0x3460
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xee20
jmp 0xeddf
movq -0x30(%rbp), %rdi
leaq 0x27601(%rip), %rsi     # 0x36149
callq 0x3500
cmpl $0x0, %eax
je 0xeb6b
movq -0x30(%rbp), %rdi
leaq 0x275fb(%rip), %rsi     # 0x36158
callq 0x3500
cmpl $0x0, %eax
jne 0xec81
movq -0x30(%rbp), %rdi
leaq 0x275d3(%rip), %rsi     # 0x36149
callq 0x3500
cmpl $0x0, %eax
jne 0xeb93
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0xa0(%rbp)
jmp 0xeba4
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x27023(%rip), %rsi     # 0x35bdd
callq 0x3500
cmpl $0x0, %eax
jne 0xebd7
movq -0x40(%rbp), %rax
movl $0x2, 0x5b0(%rax)
jmp 0xec7c
movq -0x38(%rbp), %rdi
leaq 0x26fff(%rip), %rsi     # 0x35be1
callq 0x3500
cmpl $0x0, %eax
jne 0xebfc
movq -0x40(%rbp), %rax
movl $0x3, 0x5b0(%rax)
jmp 0xec7a
movq -0x38(%rbp), %rdi
leaq 0x26fde(%rip), %rsi     # 0x35be5
callq 0x3500
cmpl $0x0, %eax
jne 0xec21
movq -0x40(%rbp), %rax
movl $0x1, 0x5b0(%rax)
jmp 0xec78
jmp 0xec23
movb $0x0, %al
callq 0x242d0
cmpl $0x3, (%rax)
jl 0xec61
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rax
movl $0x3, %edi
leaq 0x2733b(%rip), %rsi     # 0x35f7e
leaq 0x273de(%rip), %rdx     # 0x36028
movl $0x482, %ecx            # imm = 0x482
leaq 0x27511(%rip), %r8      # 0x36167
movq %rax, (%rsp)
movb $0x0, %al
callq 0x243b0
jmp 0xec63
movq -0x20(%rbp), %rdi
callq 0x3460
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xee20
jmp 0xec7a
jmp 0xec7c
jmp 0xeddd
movq -0x30(%rbp), %rdi
leaq 0x27502(%rip), %rsi     # 0x3618e
callq 0x3500
cmpl $0x0, %eax
je 0xecab
movq -0x30(%rbp), %rdi
leaq 0x274fc(%rip), %rsi     # 0x3619d
callq 0x3500
cmpl $0x0, %eax
jne 0xed10
movq -0x30(%rbp), %rdi
leaq 0x274d8(%rip), %rsi     # 0x3618e
callq 0x3500
cmpl $0x0, %eax
jne 0xecd3
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0xa8(%rbp)
jmp 0xece4
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x260fc(%rip), %rsi     # 0x34df6
callq 0x3500
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x5c8(%rax)
jmp 0xeddb
movq -0x30(%rbp), %rdi
leaq 0x27491(%rip), %rsi     # 0x361ac
callq 0x3500
cmpl $0x0, %eax
je 0xed3a
movq -0x30(%rbp), %rdi
leaq 0x2748b(%rip), %rsi     # 0x361bb
callq 0x3500
cmpl $0x0, %eax
jne 0xed95
movq -0x30(%rbp), %rdi
leaq 0x27467(%rip), %rsi     # 0x361ac
callq 0x3500
cmpl $0x0, %eax
jne 0xed62
movq -0x10(%rbp), %rax
addq $0x80, %rax
movq %rax, -0xb0(%rbp)
jmp 0xed73
movq -0x10(%rbp), %rax
addq $0x650, %rax            # imm = 0x650
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3580
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x47c(%rax)
jmp 0xedd9
jmp 0xed97
movb $0x0, %al
callq 0x242d0
cmpl $0x4, (%rax)
jl 0xedd5
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rax
movl $0x4, %edi
leaq 0x271c7(%rip), %rsi     # 0x35f7e
leaq 0x2726a(%rip), %rdx     # 0x36028
movl $0x490, %ecx            # imm = 0x490
leaq 0x27400(%rip), %r8      # 0x361ca
movq %rax, (%rsp)
movb $0x0, %al
callq 0x243b0
jmp 0xedd7
jmp 0xedd9
jmp 0xeddb
jmp 0xeddd
jmp 0xeddf
jmp 0xede1
jmp 0xede3
jmp 0xede5
jmp 0xede7
jmp 0xede9
jmp 0xedeb
jmp 0xeded
jmp 0xedef
jmp 0xedf1
jmp 0xedf3
xorl %eax, %eax
movl %eax, %edi
leaq 0x27209(%rip), %rsi     # 0x36007
leaq -0x28(%rbp), %rdx
callq 0x3610
movq %rax, -0x30(%rbp)
jmp 0xe403
movq -0x20(%rbp), %rdi
callq 0x3460
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax)