LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: close_session
static int
close_session(session_t *sp)
{
	int	   status, ret;
	ssl_conn_t *cp;
	const char *tmpl = "_method=delete";

	if ((cp = ssl_connect(sp->host, sp->port)) == NULL)
		return (-1);
	status = http_post(cp, "/users/sign_out", sp->cookie, "*/*",
	    USER_AGENT, HTTP_POST_TYPE_FORM, tmpl);

	if (status == -1)
		ret = -1;
	else if (status == HTTP_FOUND || status < 300)
		ret = 0;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);

	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
leaq 0xaf00(%rip), %rax      # 0xea23
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x3b51
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3bdb
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x28(%rbp), %rax
leaq 0xaeca(%rip), %rsi      # 0xea32
leaq 0xae64(%rip), %rcx      # 0xe9d3
leaq 0xadc6(%rip), %r8       # 0xe93c
movl $0x3, %r9d
movq %rax, (%rsp)
callq 0xb1a0
movl %eax, -0x14(%rbp)
cmpl $-0x1, -0x14(%rbp)
jne 0x3b97
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
jmp 0x3bcc
cmpl $0x12e, -0x14(%rbp)     # imm = 0x12E
je 0x3ba9
cmpl $0x12c, -0x14(%rbp)     # imm = 0x12C
jge 0x3bb2
movl $0x0, -0x18(%rbp)
jmp 0x3bca
movl -0x14(%rbp), %esi
leaq 0xb057(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
jmp 0x3bcc
movq -0x20(%rbp), %rdi
callq 0xa220
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: show_contacts
static void
show_contacts(contact_t *contacts)
{
	wchar_t	  w[50];
	contact_t *ctp;

	(void)wprintf(L"ID       NAME                     HANDLE\n");
	for (ctp = contacts; ctp != NULL; ctp = ctp->next) {
		(void)wprintf(L"%-8d ", ctp->id);
		(void)mbstowcs(w, ctp->name, 50); w[24] = L'\0';
		(void)wprintf(L"%-24S ", w);
		(void)mbstowcs(w, ctp->handle, 50); w[40] = L'\0';
		(void)wprintf(L"%-40S\n", w);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
leaq 0xaf36(%rip), %rdi      # 0xf3dc
movb $0x0, %al
callq 0x24d0
movq -0x8(%rbp), %rax
movq %rax, -0xd8(%rbp)
cmpq $0x0, -0xd8(%rbp)
je 0x4564
movq -0xd8(%rbp), %rax
movl (%rax), %esi
leaq 0xafae(%rip), %rdi      # 0xf484
movb $0x0, %al
callq 0x24d0
leaq -0xd0(%rbp), %rdi
movq -0xd8(%rbp), %rax
movq 0x8(%rax), %rsi
movl $0x32, %edx
callq 0x2050
movl $0x0, -0x70(%rbp)
leaq -0xd0(%rbp), %rsi
leaq 0xaf8e(%rip), %rdi      # 0xf49c
movb $0x0, %al
callq 0x24d0
leaq -0xd0(%rbp), %rdi
movq -0xd8(%rbp), %rax
movq 0x10(%rax), %rsi
movl $0x32, %edx
callq 0x2050
movl $0x0, -0x30(%rbp)
leaq -0xd0(%rbp), %rsi
leaq 0xaf72(%rip), %rdi      # 0xf4b8
movb $0x0, %al
callq 0x24d0
movq -0xd8(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0xd8(%rbp)
jmp 0x44b8
addq $0xe0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: show_msg_index
static void
show_msg_index(session_t *sp)
{
	char	  *name;
	wchar_t   w[50];
	contact_t *ctp;
	msg_idx_t *idx;

	(void)wprintf(L"DATE                 MSG ID  " \
	    "FROM ID FROM            SUBJECT\n");
	for (idx = sp->midx; idx != NULL; idx = idx->next) {
		name = NULL;
		if (sp->contacts != NULL &&
		    (ctp = find_contact_by_id(sp->contacts,
			idx->aid)) != NULL) {
			name = ctp->name;
		} else if (sp->attr.id == idx->aid)
			name = sp->attr.name;
		(void)wprintf(L"%-20s ", idx->date);
		(void)wprintf(L"%-7d %-7d ", idx->mid, idx->aid);
		(void)mbstowcs(w, name != NULL ? name : "?", 50);
		w[15] = L'\0';
		(void)wprintf(L"%-15S ", w);
		(void)mbstowcs(w, idx->subject, 50); w[27] = L'\0';
		(void)wprintf(L"%-27S\n", w);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
leaq 0xa3ce(%rip), %rdi      # 0xf264
movb $0x0, %al
callq 0x24d0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0xf0(%rbp)
cmpq $0x0, -0xf0(%rbp)
je 0x5013
movq $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x4f01
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0xf0(%rbp), %rax
movl (%rax), %esi
callq 0x7ea0
movq %rax, -0xe8(%rbp)
cmpq $0x0, %rax
je 0x4f01
movq -0xe8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x4f21
movq -0x8(%rbp), %rax
movl 0x28(%rax), %eax
movq -0xf0(%rbp), %rcx
cmpl (%rcx), %eax
jne 0x4f1f
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x4f21
movq -0xf0(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0xa429(%rip), %rdi      # 0xf35c
movb $0x0, %al
callq 0x24d0
movq -0xf0(%rbp), %rax
movl 0x4(%rax), %esi
movq -0xf0(%rbp), %rax
movl (%rax), %edx
leaq 0xa424(%rip), %rdi      # 0xf378
movb $0x0, %al
callq 0x24d0
leaq -0xe0(%rbp), %rax
movq %rax, -0xf8(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x4f7d
movq -0x10(%rbp), %rax
movq %rax, -0x100(%rbp)
jmp 0x4f8d
leaq 0x9e14(%rip), %rax      # 0xed98
movq %rax, -0x100(%rbp)
jmp 0x4f8d
movq -0xf8(%rbp), %rdi
movq -0x100(%rbp), %rsi
movl $0x32, %edx
callq 0x2050
movl $0x0, -0xa4(%rbp)
leaq -0xe0(%rbp), %rsi
leaq 0xa3e7(%rip), %rdi      # 0xf3a4
movb $0x0, %al
callq 0x24d0
leaq -0xe0(%rbp), %rdi
movq -0xf0(%rbp), %rax
movq 0x8(%rax), %rsi
movl $0x32, %edx
callq 0x2050
movl $0x0, -0x74(%rbp)
leaq -0xe0(%rbp), %rsi
leaq 0xa3cb(%rip), %rdi      # 0xf3c0
movb $0x0, %al
callq 0x24d0
movq -0xf0(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0xf0(%rbp)
jmp 0x4eac
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: show_aspects
static void
show_aspects(session_t *sp)
{
	wchar_t  w[50];
	aspect_t *ap;

	(void)wprintf(L"NAME                 ASPECT ID\n");
	for (ap = sp->attr.aspects; ap != NULL; ap = ap->next) {
		(void)mbstowcs(w, ap->name, 50); w[20] = L'\0';
		(void)wprintf(L"%-20S ", w);
		(void)wprintf(L"%d\n", ap->id);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
leaq 0xa182(%rip), %rdi      # 0xf1b8
movb $0x0, %al
callq 0x24d0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0xd8(%rbp)
cmpq $0x0, -0xd8(%rbp)
je 0x50b9
leaq -0xd0(%rbp), %rdi
movq -0xd8(%rbp), %rax
movq 0x8(%rax), %rsi
movl $0x32, %edx
callq 0x2050
movl $0x0, -0x80(%rbp)
leaq -0xd0(%rbp), %rsi
leaq 0xa1b1(%rip), %rdi      # 0xf238
movb $0x0, %al
callq 0x24d0
movq -0xd8(%rbp), %rax
movl (%rax), %esi
leaq 0xa1b6(%rip), %rdi      # 0xf254
movb $0x0, %al
callq 0x24d0
movq -0xd8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xd8(%rbp)
jmp 0x504c
addq $0xe0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: like
static int
like(session_t *sp, int id)
{
	int	   status, ret;
	char	   *url;
	ssl_conn_t *cp;
	
	errno = 0;
	if ((url = strduprintf("/posts/%d/likes", id)) == NULL)
		return (-1);
	if ((cp = ssl_connect(sp->host, sp->port)) == NULL) {
		free(url); return (-1);
	}
	status = http_post(cp, url, sp->cookie, NULL,
	    USER_AGENT, HTTP_POST_TYPE_JSON, "[]");
	free(url);
	if (status == HTTP_UNAUTHORIZED) {
		warnx("You're not logged in. Please create a new session");
		ret = -1;
	} else if (status == -1)
		ret = -1;
	else if (status == HTTP_CREATED)
		ret = 0;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);

	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
callq 0x2060
movl $0x0, (%rax)
movl -0x14(%rbp), %esi
leaq 0x9a1d(%rip), %rdi      # 0xeb11
movb $0x0, %al
callq 0xd570
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x5111
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x51ed
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x5144
movq -0x28(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x51ed
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
xorl %eax, %eax
movl %eax, %ecx
leaq 0x97dd(%rip), %r8       # 0xe93c
movl $0x1, %r9d
leaq 0x99b5(%rip), %rax      # 0xeb21
movq %rax, (%rsp)
callq 0xb1a0
movl %eax, -0x18(%rbp)
movq -0x28(%rbp), %rdi
callq 0x23d0
cmpl $0x191, -0x18(%rbp)     # imm = 0x191
jne 0x51a1
leaq 0x97b5(%rip), %rdi      # 0xe946
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x51de
cmpl $-0x1, -0x18(%rbp)
jne 0x51b0
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x51dc
cmpl $0xc9, -0x18(%rbp)
jne 0x51c2
movl $0x0, -0x1c(%rbp)
jmp 0x51da
movl -0x18(%rbp), %esi
leaq 0x9a47(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x51dc
jmp 0x51de
movq -0x30(%rbp), %rdi
callq 0xa220
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: delete_post
static int
delete_post(session_t *sp, int id)
{
	int	   status, ret;
	char	   *url;
	ssl_conn_t *cp;
	
	errno = 0;
	if ((url = strduprintf("/posts/%d", id)) == NULL)
		return (-1);
	if ((cp = ssl_connect(sp->host, sp->port)) == NULL) {
		free(url); return (-1);
	}
	status = http_delete(cp, url, sp->cookie, USER_AGENT);
	free(url);
	if (status == HTTP_UNAUTHORIZED) {
		warnx("You're not logged in. Please create a new session");
		ret = -1;
	} else if (status == HTTP_FOUND)
		ret = 0;
	else if (status == -1)
		ret = -1;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);

	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
callq 0x2060
movl $0x0, (%rax)
movl -0x14(%rbp), %esi
leaq 0x9900(%rip), %rdi      # 0xeb24
movb $0x0, %al
callq 0xd570
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x5241
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5308
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x5274
movq -0x28(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5308
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x96b1(%rip), %rcx      # 0xe93c
callq 0xb320
movl %eax, -0x18(%rbp)
movq -0x28(%rbp), %rdi
callq 0x23d0
cmpl $0x191, -0x18(%rbp)     # imm = 0x191
jne 0x52bc
leaq 0x969a(%rip), %rdi      # 0xe946
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x52f9
cmpl $0x12e, -0x18(%rbp)     # imm = 0x12E
jne 0x52ce
movl $0x0, -0x1c(%rbp)
jmp 0x52f7
cmpl $-0x1, -0x18(%rbp)
jne 0x52dd
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x52f5
movl -0x18(%rbp), %esi
leaq 0x992c(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x52f7
jmp 0x52f9
movq -0x30(%rbp), %rdi
callq 0xa220
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: get_aspect_id
static int
get_aspect_id(session_t *sp, const char *name)
{
	aspect_t *ap;

	for (ap = sp->attr.aspects; ap != NULL; ap = ap->next) {
		if (strcmp(ap->name, name) == 0)
			return (ap->id);
	}
	return (-1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x5374
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x2460
cmpl $0x0, %eax
jne 0x5364
movq -0x20(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x537b
jmp 0x5366
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x533c
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: reshare
static int
reshare(session_t *sp, int id)
{
	int	   status, ret;
	char	   *rq, *guid;
	ssl_conn_t *cp;
	const char tmpl[] = "{\"root_guid\":\"%s\"}";

	errno = 0;
	if ((guid = get_post_guid(sp, id)) == NULL)
		return (-1);
	if ((rq = strduprintf(tmpl, guid)) == NULL)
		return (-1);
	if ((cp = ssl_connect(sp->host, sp->port)) == NULL) {
		free(rq); return (-1);
	}
	status = http_post(cp, "/reshares", sp->cookie, NULL,
	    USER_AGENT, HTTP_POST_TYPE_JSON, rq);
	free(rq);
	if (status == HTTP_UNAUTHORIZED) {
		warnx("You're not logged in. Please create a new session");
		ret = -1;
	} else if (status == HTTP_CREATED)
		ret = 0;
	else if (status == -1)
		ret = -1;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);

	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq 0x96ca(%rip), %rax      # 0xf080
movq %rax, -0x50(%rbp)
movq 0x96c7(%rip), %rax      # 0xf088
movq %rax, -0x48(%rbp)
movw 0x96c4(%rip), %ax       # 0xf090
movw %ax, -0x40(%rbp)
movb 0x96bc(%rip), %al       # 0xf092
movb %al, -0x3e(%rbp)
callq 0x2060
movl $0x0, (%rax)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x6d70
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x5a06
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5b05
leaq -0x50(%rbp), %rdi
movq -0x30(%rbp), %rsi
movb $0x0, %al
callq 0xd570
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x5a2b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5b05
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0x5a5e
movq -0x28(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5b05
movq -0x38(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x28(%rbp), %rax
leaq 0x90fb(%rip), %rsi      # 0xeb70
xorl %ecx, %ecx
leaq 0x8ebe(%rip), %r8       # 0xe93c
movl $0x1, %r9d
movq %rax, (%rsp)
callq 0xb1a0
movl %eax, -0x18(%rbp)
movq -0x28(%rbp), %rdi
callq 0x23d0
cmpl $0x191, -0x18(%rbp)     # imm = 0x191
jne 0x5ab9
leaq 0x8e9d(%rip), %rdi      # 0xe946
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x5af6
cmpl $0xc9, -0x18(%rbp)
jne 0x5acb
movl $0x0, -0x1c(%rbp)
jmp 0x5af4
cmpl $-0x1, -0x18(%rbp)
jne 0x5ada
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x5af2
movl -0x18(%rbp), %esi
leaq 0x912f(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x5af4
jmp 0x5af6
movq -0x38(%rbp), %rdi
callq 0xa220
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: follow_tag
static int
follow_tag(session_t *sp, const char *tag)
{
	int	   status, ret;
	char	   *rq, *p;
	ssl_conn_t *cp;
	
	errno = 0;

	while (*tag == '\0' && *tag != '#')
		tag++;
	if ((p = urlencode(tag)) == NULL)
		return (-1);
	if ((rq = strduprintf("name=%s", p)) == NULL) {
		free(p); return (-1);
	}
	free(p);
	if ((cp = ssl_connect(sp->host, sp->port)) == NULL) {
		free(rq); return (-1);
	}
	status = http_post(cp, "/tag_followings", sp->cookie, NULL,
	    USER_AGENT, HTTP_POST_TYPE_FORM, rq);
	free(rq);
	if (status == HTTP_UNAUTHORIZED) {
		warnx("You're not logged in. Please create a new session");
		ret = -1;
	} else if (status == HTTP_CREATED)
		ret = 0;
	else if (status == -1)
		ret = -1;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);

	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
callq 0x2060
movl $0x0, (%rax)
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x5b4c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
setne %al
movb %al, -0x39(%rbp)
movb -0x39(%rbp), %al
testb $0x1, %al
jne 0x5b55
jmp 0x5b63
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x5b2b
movq -0x18(%rbp), %rdi
callq 0xaea0
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x5b82
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5c96
movq -0x30(%rbp), %rsi
leaq 0x9020(%rip), %rdi      # 0xebad
movb $0x0, %al
callq 0xd570
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x5bb3
movq -0x30(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5c96
movq -0x30(%rbp), %rdi
callq 0x23d0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0x5bef
movq -0x28(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5c96
movq -0x38(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x28(%rbp), %rax
leaq 0x8faf(%rip), %rsi      # 0xebb5
xorl %ecx, %ecx
leaq 0x8d2d(%rip), %r8       # 0xe93c
movl $0x3, %r9d
movq %rax, (%rsp)
callq 0xb1a0
movl %eax, -0x1c(%rbp)
movq -0x28(%rbp), %rdi
callq 0x23d0
cmpl $0x191, -0x1c(%rbp)     # imm = 0x191
jne 0x5c4a
leaq 0x8d0c(%rip), %rdi      # 0xe946
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x5c87
cmpl $0xc9, -0x1c(%rbp)
jne 0x5c5c
movl $0x0, -0x20(%rbp)
jmp 0x5c85
cmpl $-0x1, -0x1c(%rbp)
jne 0x5c6b
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x5c83
movl -0x1c(%rbp), %esi
leaq 0x8f9e(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x5c85
jmp 0x5c87
movq -0x38(%rbp), %rdi
callq 0xa220
movl -0x20(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: get_contact_id
static int
get_contact_id(contact_t *contacts, const char *handle)
{
	for (; contacts != NULL; contacts = contacts->next) {
		if (strcmp(contacts->handle, handle) == 0)
			return (contacts->id);
	}
	return (-1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x5ce8
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x2460
cmpl $0x0, %eax
jne 0x5cd8
movq -0x10(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x5cef
jmp 0x5cda
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x5cb0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: add_contact
static int
add_contact(session_t *sp, int aspect, int id)
{
	int	   status, ret;
	char	   *rq;
	ssl_conn_t *cp;
	const char tmpl[] = "aspect_id=%d&person_id=%d&_method=POST";

	errno = 0;
	if ((rq = strduprintf(tmpl, aspect, id)) == NULL)
		return (-1);
	if ((cp = ssl_connect(sp->host, sp->port)) == NULL) {
		free(rq);
		return (-1);
	}
	status = http_post(cp, "/aspect_memberships.json", sp->cookie, NULL,
	    USER_AGENT, HTTP_POST_TYPE_FORM, rq);
	free(rq);
	if (status == HTTP_UNAUTHORIZED) {
		warnx("You're not logged in. Please create a new session");
		ret = -1;
	} else if (status == HTTP_OK)
		ret = 0;
	else if (status == -1)
		ret = -1;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);

	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
leaq -0x60(%rbp), %rdi
leaq 0x93c3(%rip), %rsi      # 0xf0e0
movl $0x27, %edx
callq 0x2220
callq 0x2060
movl $0x0, (%rax)
leaq -0x60(%rbp), %rdi
movl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
movb $0x0, %al
callq 0xd570
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x5d59
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5e33
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x5d8c
movq -0x28(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5e33
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x28(%rbp), %rax
leaq 0x8e22(%rip), %rsi      # 0xebc5
xorl %ecx, %ecx
leaq 0x8b90(%rip), %r8       # 0xe93c
movl $0x3, %r9d
movq %rax, (%rsp)
callq 0xb1a0
movl %eax, -0x1c(%rbp)
movq -0x28(%rbp), %rdi
callq 0x23d0
cmpl $0x191, -0x1c(%rbp)     # imm = 0x191
jne 0x5de7
leaq 0x8b6f(%rip), %rdi      # 0xe946
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x5e24
cmpl $0xc8, -0x1c(%rbp)
jne 0x5df9
movl $0x0, -0x20(%rbp)
jmp 0x5e22
cmpl $-0x1, -0x1c(%rbp)
jne 0x5e08
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x5e20
movl -0x1c(%rbp), %esi
leaq 0x8e01(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x5e22
jmp 0x5e24
movq -0x30(%rbp), %rdi
callq 0xa220
movl -0x20(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: add_aspect
static int
add_aspect(session_t *sp, const char *name, bool visible)
{
	int	   status, ret;
	char	   *rq;
	ssl_conn_t *cp;
	const char tmpl[] = "aspect%%5bname%%5d=%s&aspect%%5b" \
			    "contacts_visible%%5d=%d";

	errno = 0;
	if ((rq = strduprintf(tmpl, name, visible ? 1 : 0)) == NULL)
		return (-1);
	if ((cp = ssl_connect(sp->host, sp->port)) == NULL) {
		free(rq); return (-1);
	}
	status = http_post(cp, "/aspects", sp->cookie, NULL,
	    USER_AGENT, HTTP_POST_TYPE_FORM, rq);
	free(rq);
	if (status == HTTP_UNAUTHORIZED) {
		warnx("You're not logged in. Please create a new session");
		ret = -1;
	} else if (status == HTTP_FOUND)
		ret = 0;
	else if (status == -1)
		ret = -1;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);

	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
leaq -0x70(%rbp), %rdi
leaq 0x923f(%rip), %rsi      # 0xf0a0
movl $0x38, %edx
callq 0x2220
callq 0x2060
movl $0x0, (%rax)
leaq -0x70(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %ecx
xorl %edx, %edx
movl $0x1, %eax
cmpl $0x0, %ecx
cmovnel %eax, %edx
movb $0x0, %al
callq 0xd570
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x5eab
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5f85
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0x5ede
movq -0x30(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5f85
movq -0x38(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x30(%rbp), %rax
leaq 0x8caf(%rip), %rsi      # 0xeba4
xorl %ecx, %ecx
leaq 0x8a3e(%rip), %r8       # 0xe93c
movl $0x3, %r9d
movq %rax, (%rsp)
callq 0xb1a0
movl %eax, -0x20(%rbp)
movq -0x30(%rbp), %rdi
callq 0x23d0
cmpl $0x191, -0x20(%rbp)     # imm = 0x191
jne 0x5f39
leaq 0x8a1d(%rip), %rdi      # 0xe946
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x24(%rbp) # imm = 0xFFFFFFFF
jmp 0x5f76
cmpl $0x12e, -0x20(%rbp)     # imm = 0x12E
jne 0x5f4b
movl $0x0, -0x24(%rbp)
jmp 0x5f74
cmpl $-0x1, -0x20(%rbp)
jne 0x5f5a
movl $0xffffffff, -0x24(%rbp) # imm = 0xFFFFFFFF
jmp 0x5f72
movl -0x20(%rbp), %esi
leaq 0x8caf(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x24(%rbp) # imm = 0xFFFFFFFF
jmp 0x5f74
jmp 0x5f76
movq -0x38(%rbp), %rdi
callq 0xa220
movl -0x24(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: comment
static int
comment(session_t *sp, const char *msg, int id)
{
	int	   ret, status;
	char	   *rq, *url, *p;
	ssl_conn_t *cp;
	const char tmpl[] = "{\"text\":\"%s\"}";

	errno = 0;
	if ((url = strduprintf("/posts/%d/comments", id)) == NULL)
		return (-1);
	if ((p = json_escape_str(msg)) == NULL) {
		free(url); return (-1);
	}
	if ((rq = strduprintf(tmpl, p)) == NULL) {
		free(p); free(url); return (-1);
	}
	free(p);
	if ((cp = ssl_connect(sp->host, sp->port)) == NULL)
		return (-1);
	status = http_post(cp, url, sp->cookie, NULL,
	    USER_AGENT, HTTP_POST_TYPE_JSON, rq);
	free(rq); free(url);
	if (status == HTTP_UNAUTHORIZED) {
		warnx("You're not logged in. Please create a new session");
		ret = -1;
	} else if (status == -1)
		ret = -1;
	else if (status == HTTP_CREATED)
		ret = 0;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);

	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq 0x8946(%rip), %rax      # 0xeaf0
movq %rax, -0x56(%rbp)
movl 0x8944(%rip), %eax      # 0xeaf8
movl %eax, -0x4e(%rbp)
movw 0x893e(%rip), %ax       # 0xeafc
movw %ax, -0x4a(%rbp)
callq 0x2060
movl $0x0, (%rax)
movl -0x1c(%rbp), %esi
leaq 0x8927(%rip), %rdi      # 0xeafe
movb $0x0, %al
callq 0xd570
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0x61f4
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x6333
movq -0x18(%rbp), %rdi
callq 0xc550
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
jne 0x621c
movq -0x38(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x6333
leaq -0x56(%rbp), %rdi
movq -0x40(%rbp), %rsi
movb $0x0, %al
callq 0xd570
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x6253
movq -0x40(%rbp), %rdi
callq 0x23d0
movq -0x38(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x6333
movq -0x40(%rbp), %rdi
callq 0x23d0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x48(%rbp)
cmpq $0x0, %rax
jne 0x6286
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x6333
movq -0x48(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x30(%rbp), %rax
xorl %ecx, %ecx
leaq 0x8699(%rip), %r8       # 0xe93c
movl $0x1, %r9d
movq %rax, (%rsp)
callq 0xb1a0
movl %eax, -0x24(%rbp)
movq -0x30(%rbp), %rdi
callq 0x23d0
movq -0x38(%rbp), %rdi
callq 0x23d0
cmpl $0x191, -0x24(%rbp)     # imm = 0x191
jne 0x62e7
leaq 0x866f(%rip), %rdi      # 0xe946
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x6324
cmpl $-0x1, -0x24(%rbp)
jne 0x62f6
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x6322
cmpl $0xc9, -0x24(%rbp)
jne 0x6308
movl $0x0, -0x20(%rbp)
jmp 0x6320
movl -0x24(%rbp), %esi
leaq 0x8901(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x6322
jmp 0x6324
movq -0x48(%rbp), %rdi
callq 0xa220
movl -0x20(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: reply
static int
reply(session_t *sp, const char *msg, int msg_id)
{
	int	   ret, status;
	char	   *rq, *url, *p;
	ssl_conn_t *cp;

	errno = 0;

	if ((p = urlencode(msg)) == NULL)
		return (-1);
	if ((url = strduprintf("/conversations/%d/messages",
	    msg_id)) == NULL) {
		free(p); return (-1);
	}
	if ((rq = strduprintf("message%%5btext%%5d=%s\n", p)) == NULL) {
		free(p); free(url); return (-1);
	}
	free(p);
	if ((cp = ssl_connect(sp->host, sp->port)) == NULL)
		return (-1);
	status = http_post(cp, url, sp->cookie, NULL, USER_AGENT,
	    HTTP_POST_TYPE_FORM, rq);
	free(url); free(rq);
	if (status == HTTP_UNAUTHORIZED) {
		warnx("You're not logged in. Please create a new session");
		ret = -1;
	} else if (status == HTTP_FOUND)
		ret = 0;
	else if (status == -1)
		ret = -1;
	else {
		warnx("Server replied with code %d", status);
		ret = -1;
	}
	ssl_disconnect(cp);
	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
callq 0x2060
movl $0x0, (%rax)
movq -0x18(%rbp), %rdi
callq 0xaea0
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
jne 0x677d
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x68c7
movl -0x1c(%rbp), %esi
leaq 0x83b6(%rip), %rdi      # 0xeb3d
movb $0x0, %al
callq 0xd570
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0x67ad
movq -0x40(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x68c7
movq -0x40(%rbp), %rsi
leaq 0x83a0(%rip), %rdi      # 0xeb58
movb $0x0, %al
callq 0xd570
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x67e7
movq -0x40(%rbp), %rdi
callq 0x23d0
movq -0x38(%rbp), %rdi
callq 0x23d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x68c7
movq -0x40(%rbp), %rdi
callq 0x23d0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
callq 0x9f10
movq %rax, -0x48(%rbp)
cmpq $0x0, %rax
jne 0x681a
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x68c7
movq -0x48(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x30(%rbp), %rax
xorl %ecx, %ecx
leaq 0x8105(%rip), %r8       # 0xe93c
movl $0x3, %r9d
movq %rax, (%rsp)
callq 0xb1a0
movl %eax, -0x24(%rbp)
movq -0x38(%rbp), %rdi
callq 0x23d0
movq -0x30(%rbp), %rdi
callq 0x23d0
cmpl $0x191, -0x24(%rbp)     # imm = 0x191
jne 0x687b
leaq 0x80db(%rip), %rdi      # 0xe946
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x68b8
cmpl $0x12e, -0x24(%rbp)     # imm = 0x12E
jne 0x688d
movl $0x0, -0x20(%rbp)
jmp 0x68b6
cmpl $-0x1, -0x24(%rbp)
jne 0x689c
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x68b4
movl -0x24(%rbp), %esi
leaq 0x836d(%rip), %rdi      # 0xec13
movb $0x0, %al
callq 0x22f0
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
jmp 0x68b6
jmp 0x68b8
movq -0x48(%rbp), %rdi
callq 0xa220
movl -0x20(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: new_contact_node
static contact_t *
new_contact_node(contact_t *ctp)
{
	if (ctp == NULL) {
		if ((ctp = malloc(sizeof(contact_t))) == NULL)
			return (NULL);
	} else {
		for (; ctp->next != NULL; ctp = ctp->next)
			;
		if ((ctp->next = malloc(sizeof(contact_t))) == NULL)
			return (NULL);
		ctp = ctp->next;
	}
	ctp->id   = -1;
	ctp->next = NULL;
	ctp->name = ctp->handle = NULL;
	ctp->url  = ctp->avatar = NULL;

	return (ctp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x6906
movl $0x30, %edi
callq 0x2430
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
jne 0x6904
movq $0x0, -0x8(%rbp)
jmp 0x699f
jmp 0x6951
jmp 0x6908
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x6923
jmp 0x6915
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x6908
movl $0x30, %edi
callq 0x2430
movq -0x10(%rbp), %rcx
movq %rax, 0x28(%rcx)
cmpq $0x0, %rax
jne 0x6945
movq $0x0, -0x8(%rbp)
jmp 0x699f
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movq $0x0, 0x28(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: free_contacts
static void
free_contacts(contact_t *ctp)
{

	contact_t *next;

	for (; ctp != NULL; ctp = next) {
		free(ctp->name); free(ctp->handle); 
		free(ctp->url);  free(ctp->avatar);
		next = ctp->next; free(ctp);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x6a16
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x23d0
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x69bc
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: free_aspects
static void
free_aspects(aspect_t *aspect)
{
	aspect_t *next;

	while (aspect != NULL) {
		next = aspect->next;
		free(aspect->name); free(aspect);
		aspect = next;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x7b0f
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rdi
callq 0x23d0
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x7adc
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: new_msg_idx_node
static msg_idx_t *
new_msg_idx_node(msg_idx_t *node)
{
	
	if (node == NULL) {
		if ((node = malloc(sizeof(msg_idx_t))) == NULL)
			return (NULL);
	} else {
		for (; node->next != NULL; node = node->next)
			;
		if ((node->next = malloc(sizeof(msg_idx_t))) == NULL)
			return (NULL);
		node = node->next;
	}
	node->aid  = node->mid  = -1;
	node->next = NULL;
	node->date = node->subject = NULL;

	return (node);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x7db6
movl $0x20, %edi
callq 0x2430
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
jne 0x7db4
movq $0x0, -0x8(%rbp)
jmp 0x7e42
jmp 0x7e01
jmp 0x7db8
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x7dd3
jmp 0x7dc5
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x7db8
movl $0x20, %edi
callq 0x2430
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
jne 0x7df5
movq $0x0, -0x8(%rbp)
jmp 0x7e42
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x4(%rax)  # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: free_msg_idx
static void
free_msg_idx(msg_idx_t *idx)
{
	msg_idx_t *next;

	for (; idx != NULL; idx = next) {
		free(idx->subject); free(idx->date);
		next = idx->next;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x7e93
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x7e5c
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/cliaspora.c
// Function: show_comment
static void
show_comment(json_node_t *cnode)
{
	comment_t   commentb;
	json_node_t *jp, *jp2;

	(void)memset(&commentb, 0, sizeof(commentb));
	for (jp = cnode; jp != NULL; jp = jp->next) {
		if (strcmp(jp->var, "created_at") == 0)
			commentb.date = (char *)jp->val;
		else if (strcmp(jp->var, "text") == 0)
			commentb.text = (char *)jp->val;
		else if (strcmp(jp->var, "author") == 0) {
			for (jp2 = jp->val; jp2 != NULL; jp2 = jp2->next) {
				if (strcmp(jp2->var, "name") == 0)
					commentb.author = (char *)jp2->val;
				else if (strcmp(jp2->var, "diaspora_id") == 0)
					commentb.handle = (char *)jp2->val;
			}
		}
	}	
	(void)puts("\n.in 4\n");
	groff_printf("\\fB%s <%s> on %s\\fP\n.br\n", commentb.author,
	    commentb.handle, commentb.date);
	groff_printf("%s\n.in\n", commentb.text);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x28(%rbp), %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x21d0
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x8816
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x6683(%rip), %rsi      # 0xedb1
callq 0x2460
cmpl $0x0, %eax
jne 0x8749
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x8803
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x6682(%rip), %rsi      # 0xedda
callq 0x2460
cmpl $0x0, %eax
jne 0x8773
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x8801
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x6662(%rip), %rsi      # 0xede4
callq 0x2460
cmpl $0x0, %eax
jne 0x87ff
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x87fd
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x625e(%rip), %rsi      # 0xea0c
callq 0x2460
cmpl $0x0, %eax
jne 0x87c6
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x87ed
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x6565(%rip), %rsi      # 0xed3a
callq 0x2460
cmpl $0x0, %eax
jne 0x87eb
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x87ed
jmp 0x87ef
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x8798
jmp 0x87ff
jmp 0x8801
jmp 0x8803
jmp 0x8805
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x8714
leaq 0x6693(%rip), %rdi      # 0xeeb0
callq 0x24f0
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
leaq 0x6683(%rip), %rdi      # 0xeeb8
movb $0x0, %al
callq 0x83b0
movq -0x10(%rbp), %rsi
leaq 0x668a(%rip), %rdi      # 0xeed1
movb $0x0, %al
callq 0x83b0
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/config.c
// Function: cfgpath
char *
cfgpath()
{
	int	      len;
	char	      *path;
	struct passwd *pw;
	
	if ((pw = getpwuid(getuid())) == NULL) {
		warnx("Couldn't find you in the password file");
		return (NULL);
	}
	endpwent();
	len = strlen(pw->pw_dir) + sizeof(PATH_CONFIG) + 1;
	if ((path = malloc(len)) == NULL) {
		warn("malloc()"); return (NULL);
	}
	(void)snprintf(path, len, "%s/%s", pw->pw_dir, PATH_CONFIG);

	return (path);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
callq 0x2190
movl %eax, %edi
callq 0x2390
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x8896
leaq 0x6c80(%rip), %rdi      # 0xf505
movb $0x0, %al
callq 0x22f0
movq $0x0, -0x8(%rbp)
jmp 0x890b
callq 0x2380
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x2160
addq $0xd, %rax
addq $0x1, %rax
movl %eax, -0xc(%rbp)
movslq -0xc(%rbp), %rdi
callq 0x2430
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x88de
leaq 0x6311(%rip), %rdi      # 0xebde
movb $0x0, %al
callq 0x2120
movq $0x0, -0x8(%rbp)
jmp 0x890b
movq -0x18(%rbp), %rdi
movslq -0xc(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rcx
leaq 0x6c37(%rip), %rdx      # 0xf52c
leaq 0x6c36(%rip), %r8       # 0xf532
movb $0x0, %al
callq 0x2540
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/config.c
// Function: is_label
static bool
is_label(const char *str)
{
	const char *p;

	if (!isspace(str[0]) && str[0] != ':') {
		if ((p = strchr(str, ':')) != NULL) {
			while (isspace(*(++p)))
				;
			if (*p == '\0')
				/* Match. */
				return (true);
		}
	}
	/* No match. */
        return (false);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
callq 0x2300
movq (%rax), %rax
movq -0x10(%rbp), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x8c99
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3a, %eax
je 0x8c99
movq -0x10(%rbp), %rdi
movl $0x3a, %esi
callq 0x2130
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x8c97
jmp 0x8c52
callq 0x2300
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movsbl 0x1(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x8c80
jmp 0x8c52
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x8c95
movl $0x1, -0x4(%rbp)
jmp 0x8ca0
jmp 0x8c97
jmp 0x8c99
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/config.c
// Function: find_var
static var_t *
find_var(const char *name, size_t len)
{
	int i;

	for (i = 0; i < NVARS; i++) {
		if (strncmp(vars[i].name, name, len) == 0)
			return (&vars[i]);
	}
	return (NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
cmpq $0x5, %rax
jae 0x981d
movslq -0x1c(%rbp), %rcx
leaq 0x8b34(%rip), %rax      # 0x12310
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2180
cmpl $0x0, %eax
jne 0x9810
movslq -0x1c(%rbp), %rcx
leaq 0x8b0d(%rip), %rax      # 0x12310
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x9825
jmp 0x9812
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x97c7
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/config.c
// Function: add_string
static char **
add_string(char ***strv, const char *str)
{       
        static int    n;
        static char **p;

	if (*strv == NULL)
		n = 0;
	else {
		for (p = *strv, n = 0; p[n] != NULL; n++)
			;
	}
	n += 2;
	if ((p = realloc(*strv, n * sizeof(char *))) == NULL) {
		free(*strv); return (NULL);
	}
	*strv = p;
	if ((p[n - 2] = strdup(str)) == NULL) {
		free(p); return (NULL);
	}
	p[n - 1] = NULL;

	return (p);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x9d46
movl $0x0, 0x8f14(%rip)      # 0x12c58
jmp 0x9d88
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, 0x8f0c(%rip)      # 0x12c60
movl $0x0, 0x8efa(%rip)      # 0x12c58
movq 0x8efb(%rip), %rax      # 0x12c60
movslq 0x8eec(%rip), %rcx      # 0x12c58
cmpq $0x0, (%rax,%rcx,8)
je 0x9d86
jmp 0x9d75
movl 0x8edd(%rip), %eax      # 0x12c58
addl $0x1, %eax
movl %eax, 0x8ed4(%rip)      # 0x12c58
jmp 0x9d5e
jmp 0x9d88
movl 0x8eca(%rip), %eax      # 0x12c58
addl $0x2, %eax
movl %eax, 0x8ec1(%rip)      # 0x12c58
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movslq 0x8eb3(%rip), %rsi      # 0x12c58
shlq $0x3, %rsi
callq 0x2550
movq %rax, 0x8eab(%rip)      # 0x12c60
cmpq $0x0, %rax
jne 0x9dd1
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x23d0
movq $0x0, -0x8(%rbp)
jmp 0x9e41
movq 0x8e88(%rip), %rcx      # 0x12c60
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rdi
callq 0x2580
movq 0x8e71(%rip), %rcx      # 0x12c60
movl 0x8e63(%rip), %edx      # 0x12c58
subl $0x2, %edx
movslq %edx, %rdx
movq %rax, (%rcx,%rdx,8)
cmpq $0x0, %rax
jne 0x9e1b
movq 0x8e54(%rip), %rdi      # 0x12c60
callq 0x23d0
movq $0x0, -0x8(%rbp)
jmp 0x9e41
movq 0x8e3e(%rip), %rax      # 0x12c60
movl 0x8e30(%rip), %ecx      # 0x12c58
subl $0x1, %ecx
movslq %ecx, %rcx
movq $0x0, (%rax,%rcx,8)
movq 0x8e23(%rip), %rax      # 0x12c60
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/config.c
// Function: escape_str
static char *
escape_str(const char *str)
{
	char *p, *esc;

	if ((esc = malloc(2 * strlen(str) + 1)) == NULL)
		return (NULL);
	for (p = esc; *str != '\0'; str++) {
		if (*str == '"' || *str == '\\')
			*p++ = '\\';
		*p++ = *str;
	}
	*p = '\0';

	return (esc);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2160
movq %rax, %rdi
shlq %rdi
addq $0x1, %rdi
callq 0x2430
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x9e88
movq $0x0, -0x8(%rbp)
jmp 0x9efa
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x9eeb
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
je 0x9eb4
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0x9ec6
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x5c, (%rax)
movq -0x10(%rbp), %rax
movb (%rax), %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x9e90
movq -0x18(%rbp), %rax
movb $0x0, (%rax)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/ssl.c
// Function: ssl_disconnect
void
ssl_disconnect(ssl_conn_t *cp)
{
	int saved_errno;

	saved_errno = errno;
	(void)close(cp->sock);
	SSL_shutdown(cp->handle);
	SSL_free(cp->handle);
	SSL_CTX_free(cp->ctx);
	free(cp->host);
	free(cp->lnbuf);
	free(cp);
	errno = saved_errno;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
callq 0x2060
movl (%rax), %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movl 0xc(%rax), %edi
callq 0x25d0
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x2350
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x21e0
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x20a0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x23d0
movq -0x8(%rbp), %rdi
callq 0x23d0
movl -0xc(%rbp), %eax
movl %eax, -0x10(%rbp)
callq 0x2060
movl -0x10(%rbp), %ecx
movl %ecx, (%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tomka[P]cliaspora/http.c
// Function: urlencode
char *
urlencode(const char *url)
{
	int	   n, buflen = 0;
	char	   *buf = NULL;
	const char nores[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
			     "abcdefghijklmnopqrstuvwxyz" \
			     "0123456789-_.~";

	if (url == NULL)
		return (NULL);
	buflen = strlen(url) * 3 + 1;
	if ((buf = malloc(buflen)) == NULL)
		return (NULL);
	for (n = 0; *url != '\0'; n++, url++) {
		if (strchr(nores, (int)*url) == NULL) {
			(void)snprintf(&buf[n], buflen - n, "%%%02x",
			    (u_char)*url);
			n += 2;
		} else
			buf[n] = *url;
	}
	buf[n] = '\0';
	return (buf);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x70(%rbp), %rdi
leaq 0x4a9a(%rip), %rsi      # 0xf960
movl $0x43, %edx
callq 0x2220
cmpq $0x0, -0x10(%rbp)
jne 0xaee4
movq $0x0, -0x8(%rbp)
jmp 0xafb3
movq -0x10(%rbp), %rdi
callq 0x2160
imulq $0x3, %rax, %rax
addq $0x1, %rax
movl %eax, -0x18(%rbp)
movslq -0x18(%rbp), %rdi
callq 0x2430
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0xaf18
movq $0x0, -0x8(%rbp)
jmp 0xafb3
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0xaf9f
leaq -0x70(%rbp), %rdi
movq -0x10(%rbp), %rax
movsbl (%rax), %esi
callq 0x2130
cmpq $0x0, %rax
jne 0xaf75
movq -0x20(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
movl -0x18(%rbp), %eax
subl -0x14(%rbp), %eax
movslq %eax, %rsi
movq -0x10(%rbp), %rax
movzbl (%rax), %ecx
leaq 0x4929(%rip), %rdx      # 0xf88c
movb $0x0, %al
callq 0x2540
movl -0x14(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x14(%rbp)
jmp 0xaf86
movq -0x10(%rbp), %rax
movb (%rax), %dl
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movb %dl, (%rax,%rcx)
jmp 0xaf88
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xaf1f
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)