// File: /workspace/github_c_makefile_star2_O0/Cotix[P]cReddit/libreddit/link.c
// Function: redditGetLink
RedditLink *redditGetLink(TokenParser *parser)
{
    RedditLink *link = redditLinkNew();

    TokenIdent ids[] = {
        ADD_TOKEN_IDENT_STRPARSE("selftext",      link->selftext, link->selftextEsc, link->wselftextEsc),
        ADD_TOKEN_IDENT_STRPARSE("title",         link->title,    link->titleEsc,    link->wtitleEsc),
        ADD_TOKEN_IDENT_STRING  ("id",            link->id),
        ADD_TOKEN_IDENT_STRING  ("permalink",     link->permalink),
        ADD_TOKEN_IDENT_STRING  ("author",        link->author),
        ADD_TOKEN_IDENT_STRING  ("url",           link->url),
        ADD_TOKEN_IDENT_INT     ("score",         link->score),
        ADD_TOKEN_IDENT_INT     ("downs",         link->downs),
        ADD_TOKEN_IDENT_INT     ("ups",           link->ups),
        ADD_TOKEN_IDENT_INT     ("num_comments",  link->numComments),
        ADD_TOKEN_IDENT_INT     ("num_reports",   link->numReports),
        ADD_TOKEN_IDENT_BOOL    ("is_self",       link->flags, REDDIT_LINK_IS_SELF),
        ADD_TOKEN_IDENT_BOOL    ("over_18",       link->flags, REDDIT_LINK_OVER_18),
        ADD_TOKEN_IDENT_BOOL    ("clicked",       link->flags, REDDIT_LINK_CLICKED),
        ADD_TOKEN_IDENT_BOOL    ("stickied",      link->flags, REDDIT_LINK_STICKIED),
        ADD_TOKEN_IDENT_BOOL    ("edited",        link->flags, REDDIT_LINK_EDITED),
        ADD_TOKEN_IDENT_BOOL    ("hidden",        link->flags, REDDIT_LINK_HIDDEN),
        ADD_TOKEN_IDENT_BOOL    ("distinguished", link->flags, REDDIT_LINK_DISTINGUISHED),
        ADD_TOKEN_IDENT_DATE    ("created_utc",   link->created_utc),
        {0}
    };

    parseTokens(parser, ids, link);

    return link;
}

// Assembly:
subq $0x478, %rsp            # imm = 0x478
movq %rdi, 0x470(%rsp)
callq 0x2140
movq %rax, 0x468(%rsp)
leaq 0x3512(%rip), %rax      # 0x8445
movq %rax, (%rsp)
movl $0x2, 0x8(%rsp)
movl $0x1, 0xc(%rsp)
movq 0x468(%rsp), %rax
addq $0x30, %rax
movq %rax, 0x10(%rsp)
movq 0x468(%rsp), %rax
addq $0x40, %rax
movq %rax, 0x18(%rsp)
movq 0x468(%rsp), %rax
addq $0x50, %rax
movq %rax, 0x20(%rsp)
movl $0x0, 0x28(%rsp)
movb $0x1, 0x2c(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0x34b7(%rip), %rax      # 0x844e
movq %rax, 0x38(%rsp)
movl $0x2, 0x40(%rsp)
movl $0x1, 0x44(%rsp)
movq 0x468(%rsp), %rax
addq $0x28, %rax
movq %rax, 0x48(%rsp)
movq 0x468(%rsp), %rax
addq $0x38, %rax
movq %rax, 0x50(%rsp)
movq 0x468(%rsp), %rax
addq $0x48, %rax
movq %rax, 0x58(%rsp)
movl $0x0, 0x60(%rsp)
movb $0x1, 0x64(%rsp)
movq $0x0, 0x68(%rsp)
leaq 0x3361(%rip), %rax      # 0x835d
movq %rax, 0x70(%rsp)
movl $0x2, 0x78(%rsp)
movl $0x0, 0x7c(%rsp)
movq 0x468(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x80(%rsp)
movq $0x0, 0x88(%rsp)
movq $0x0, 0x90(%rsp)
movl $0x0, 0x98(%rsp)
movb $0x1, 0x9c(%rsp)
movq $0x0, 0xa0(%rsp)
leaq 0x33f1(%rip), %rax      # 0x8454
movq %rax, 0xa8(%rsp)
movl $0x2, 0xb0(%rsp)
movl $0x0, 0xb4(%rsp)
movq 0x468(%rsp), %rax
addq $0x10, %rax
movq %rax, 0xb8(%rsp)
movq $0x0, 0xc0(%rsp)
movq $0x0, 0xc8(%rsp)
movl $0x0, 0xd0(%rsp)
movb $0x1, 0xd4(%rsp)
movq $0x0, 0xd8(%rsp)
leaq 0x326d(%rip), %rax      # 0x8340
movq %rax, 0xe0(%rsp)
movl $0x2, 0xe8(%rsp)
movl $0x0, 0xec(%rsp)
movq 0x468(%rsp), %rax
addq $0x18, %rax
movq %rax, 0xf0(%rsp)
movq $0x0, 0xf8(%rsp)
movq $0x0, 0x100(%rsp)
movl $0x0, 0x108(%rsp)
movb $0x1, 0x10c(%rsp)
movq $0x0, 0x110(%rsp)
leaq 0x331b(%rip), %rax      # 0x845e
movq %rax, 0x118(%rsp)
movl $0x2, 0x120(%rsp)
movl $0x0, 0x124(%rsp)
movq 0x468(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x128(%rsp)
movq $0x0, 0x130(%rsp)
movq $0x0, 0x138(%rsp)
movl $0x0, 0x140(%rsp)
movb $0x1, 0x144(%rsp)
movq $0x0, 0x148(%rsp)
leaq 0x32af(%rip), %rax      # 0x8462
movq %rax, 0x150(%rsp)
movl $0x1, 0x158(%rsp)
movl $0x0, 0x15c(%rsp)
movq 0x468(%rsp), %rax
addq $0x58, %rax
movq %rax, 0x160(%rsp)
movq $0x0, 0x168(%rsp)
movq $0x0, 0x170(%rsp)
movl $0x0, 0x178(%rsp)
movb $0x0, 0x17c(%rsp)
movq $0x0, 0x180(%rsp)
leaq 0x314b(%rip), %rax      # 0x836e
movq %rax, 0x188(%rsp)
movl $0x1, 0x190(%rsp)
movl $0x0, 0x194(%rsp)
movq 0x468(%rsp), %rax
addq $0x5c, %rax
movq %rax, 0x198(%rsp)
movq $0x0, 0x1a0(%rsp)
movq $0x0, 0x1a8(%rsp)
movl $0x0, 0x1b0(%rsp)
movb $0x0, 0x1b4(%rsp)
movq $0x0, 0x1b8(%rsp)
leaq 0x30d7(%rip), %rax      # 0x836a
movq %rax, 0x1c0(%rsp)
movl $0x1, 0x1c8(%rsp)
movl $0x0, 0x1cc(%rsp)
movq 0x468(%rsp), %rax
addq $0x60, %rax
movq %rax, 0x1d0(%rsp)
movq $0x0, 0x1d8(%rsp)
movq $0x0, 0x1e0(%rsp)
movl $0x0, 0x1e8(%rsp)
movb $0x0, 0x1ec(%rsp)
movq $0x0, 0x1f0(%rsp)
leaq 0x3165(%rip), %rax      # 0x8468
movq %rax, 0x1f8(%rsp)
movl $0x1, 0x200(%rsp)
movl $0x0, 0x204(%rsp)
movq 0x468(%rsp), %rax
addq $0x64, %rax
movq %rax, 0x208(%rsp)
movq $0x0, 0x210(%rsp)
movq $0x0, 0x218(%rsp)
movl $0x0, 0x220(%rsp)
movb $0x0, 0x224(%rsp)
movq $0x0, 0x228(%rsp)
leaq 0x3001(%rip), %rax      # 0x8374
movq %rax, 0x230(%rsp)
movl $0x1, 0x238(%rsp)
movl $0x0, 0x23c(%rsp)
movq 0x468(%rsp), %rax
addq $0x68, %rax
movq %rax, 0x240(%rsp)
movq $0x0, 0x248(%rsp)
movq $0x0, 0x250(%rsp)
movl $0x0, 0x258(%rsp)
movb $0x0, 0x25c(%rsp)
movq $0x0, 0x260(%rsp)
leaq 0x3092(%rip), %rax      # 0x8475
movq %rax, 0x268(%rsp)
movl $0x0, 0x270(%rsp)
movl $0x0, 0x274(%rsp)
movq 0x468(%rsp), %rax
addq $0x78, %rax
movq %rax, 0x278(%rsp)
movq $0x0, 0x280(%rsp)
movq $0x0, 0x288(%rsp)
movl $0x1, 0x290(%rsp)
movb $0x0, 0x294(%rsp)
movq $0x0, 0x298(%rsp)
leaq 0x302a(%rip), %rax      # 0x847d
movq %rax, 0x2a0(%rsp)
movl $0x0, 0x2a8(%rsp)
movl $0x0, 0x2ac(%rsp)
movq 0x468(%rsp), %rax
addq $0x78, %rax
movq %rax, 0x2b0(%rsp)
movq $0x0, 0x2b8(%rsp)
movq $0x0, 0x2c0(%rsp)
movl $0x2, 0x2c8(%rsp)
movb $0x0, 0x2cc(%rsp)
movq $0x0, 0x2d0(%rsp)
leaq 0x2fc2(%rip), %rax      # 0x8485
movq %rax, 0x2d8(%rsp)
movl $0x0, 0x2e0(%rsp)
movl $0x0, 0x2e4(%rsp)
movq 0x468(%rsp), %rax
addq $0x78, %rax
movq %rax, 0x2e8(%rsp)
movq $0x0, 0x2f0(%rsp)
movq $0x0, 0x2f8(%rsp)
movl $0x4, 0x300(%rsp)
movb $0x0, 0x304(%rsp)
movq $0x0, 0x308(%rsp)
leaq 0x2f5a(%rip), %rax      # 0x848d
movq %rax, 0x310(%rsp)
movl $0x0, 0x318(%rsp)
movl $0x0, 0x31c(%rsp)
movq 0x468(%rsp), %rax
addq $0x78, %rax
movq %rax, 0x320(%rsp)
movq $0x0, 0x328(%rsp)
movq $0x0, 0x330(%rsp)
movl $0x8, 0x338(%rsp)
movb $0x0, 0x33c(%rsp)
movq $0x0, 0x340(%rsp)
leaq 0x2ddd(%rip), %rax      # 0x8380
movq %rax, 0x348(%rsp)
movl $0x0, 0x350(%rsp)
movl $0x0, 0x354(%rsp)
movq 0x468(%rsp), %rax
addq $0x78, %rax
movq %rax, 0x358(%rsp)
movq $0x0, 0x360(%rsp)
movq $0x0, 0x368(%rsp)
movl $0x10, 0x370(%rsp)
movb $0x0, 0x374(%rsp)
movq $0x0, 0x378(%rsp)
leaq 0x2d7a(%rip), %rax      # 0x838d
movq %rax, 0x380(%rsp)
movl $0x0, 0x388(%rsp)
movl $0x0, 0x38c(%rsp)
movq 0x468(%rsp), %rax
addq $0x78, %rax
movq %rax, 0x390(%rsp)
movq $0x0, 0x398(%rsp)
movq $0x0, 0x3a0(%rsp)
movl $0x20, 0x3a8(%rsp)
movb $0x0, 0x3ac(%rsp)
movq $0x0, 0x3b0(%rsp)
leaq 0x2d11(%rip), %rax      # 0x8394
movq %rax, 0x3b8(%rsp)
movl $0x0, 0x3c0(%rsp)
movl $0x0, 0x3c4(%rsp)
movq 0x468(%rsp), %rax
addq $0x78, %rax
movq %rax, 0x3c8(%rsp)
movq $0x0, 0x3d0(%rsp)
movq $0x0, 0x3d8(%rsp)
movl $0x40, 0x3e0(%rsp)
movb $0x0, 0x3e4(%rsp)
movq $0x0, 0x3e8(%rsp)
leaq 0x2caf(%rip), %rax      # 0x83a2
movq %rax, 0x3f0(%rsp)
movl $0x4, 0x3f8(%rsp)
movl $0x0, 0x3fc(%rsp)
movq 0x468(%rsp), %rax
addq $0x70, %rax
movq %rax, 0x400(%rsp)
movq $0x0, 0x408(%rsp)
movq $0x0, 0x410(%rsp)
movl $0x0, 0x418(%rsp)
movb $0x0, 0x41c(%rsp)
movq $0x0, 0x420(%rsp)
movq %rsp, %rdi
addq $0x428, %rdi            # imm = 0x428
xorl %esi, %esi
movl $0x38, %edx
callq 0x2100
movq 0x470(%rsp), %rdi
movq %rsp, %rsi
movq 0x468(%rsp), %rdx
movb $0x0, %al
callq 0x69c0
movq 0x468(%rsp), %rax
addq $0x478, %rsp            # imm = 0x478
retq
nopl (%rax)