// File: /workspace/github_c_makefile_star2_O3/Cotix[P]cReddit/libreddit/comment.c
// Function: redditGetComment
RedditComment *redditGetComment(TokenParser *parser, RedditCommentList *list)
{
    RedditComment *comment = redditCommentNew();

    TokenIdent ids[] = {
        ADD_TOKEN_IDENT_FUNC    ("replies",       getCommentReplies),
        ADD_TOKEN_IDENT_STRING  ("author",        comment->author),
        ADD_TOKEN_IDENT_STRPARSE("body",          comment->body, comment->bodyEsc, comment->wbodyEsc),
        ADD_TOKEN_IDENT_STRPARSE("contentText",   comment->body, comment->bodyEsc, comment->wbodyEsc),
        ADD_TOKEN_IDENT_STRING  ("id",            comment->id),
        ADD_TOKEN_IDENT_STRING  ("link_id",       comment->linkId),
        ADD_TOKEN_IDENT_STRING  ("parent_id",     comment->parentId),
        ADD_TOKEN_IDENT_INT     ("ups",           comment->ups),
        ADD_TOKEN_IDENT_INT     ("downs",         comment->downs),
        ADD_TOKEN_IDENT_INT     ("num_reports",   comment->numReports),
        ADD_TOKEN_IDENT_BOOL    ("edited",        comment->flags, REDDIT_COMMENT_EDITED),
        ADD_TOKEN_IDENT_BOOL    ("score_hidden",  comment->flags, REDDIT_COMMENT_SCORE_HIDDEN),
        ADD_TOKEN_IDENT_BOOL    ("distinguished", comment->flags, REDDIT_COMMENT_DISTINGUISHED),
        ADD_TOKEN_IDENT_DATE    ("created_utc",   comment->created_utc),
        {0}
    };

    parseTokens(parser, ids, list, comment);

    return comment;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x348, %rsp            # imm = 0x348
movq %rsi, %rbx
movq %rdi, %r15
movl $0x88, %edi
callq 0x3520
movq %rax, %r14
xorl %r12d, %r12d
movl $0x88, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x20e0
leaq 0x3b8a(%rip), %rax      # 0x6090
movq %rsp, %rsi
movq %rax, (%rsi)
movabsq $0x200000003, %rax      # imm = 0x200000003
movq %rax, 0x8(%rsi)
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsi)
movups %xmm0, 0x1d(%rsi)
leaq 0x33a(%rip), %rax       # 0x2866
movq %rax, 0x30(%rsi)
leaq 0x3b61(%rip), %rax      # 0x6098
movq %rax, 0x38(%rsi)
movl $0x2, %eax
movq %rax, 0x40(%rsi)
leaq 0x20(%r14), %rcx
movq %rcx, 0x48(%rsi)
movaps %xmm0, 0x50(%rsi)
movl %r12d, 0x60(%rsi)
movb $0x1, %cl
movb %cl, 0x64(%rsi)
movq %r12, 0x68(%rsi)
leaq 0x3b3b(%rip), %rdx      # 0x609f
movq %rdx, 0x70(%rsi)
movabsq $0x100000002, %rdx      # imm = 0x100000002
movq %rdx, 0x78(%rsi)
leaq 0x38(%r14), %rdi
movq %rdi, 0x80(%rsi)
leaq 0x40(%r14), %r8
movq %r8, 0x88(%rsi)
leaq 0x48(%r14), %r9
movq %r9, 0x90(%rsi)
movl %r12d, 0x98(%rsi)
movb %cl, 0x9c(%rsi)
movq %r12, 0xa0(%rsi)
leaq 0x3af2(%rip), %r10      # 0x60a4
movq %r10, 0xa8(%rsi)
movq %rdx, 0xb0(%rsi)
movq %rdi, 0xb8(%rsi)
movq %r8, 0xc0(%rsi)
movq %r9, 0xc8(%rsi)
movl %r12d, 0xd0(%rsi)
movb %cl, 0xd4(%rsi)
movq %r12, 0xd8(%rsi)
leaq 0x3ac5(%rip), %rdx      # 0x60b5
movq %rdx, 0xe0(%rsi)
movq %rax, 0xe8(%rsi)
leaq 0x18(%r14), %rdx
movq %rdx, 0xf0(%rsi)
movl %r12d, 0x108(%rsi)
movups %xmm0, 0xf8(%rsi)
movb %cl, 0x10c(%rsi)
movq %r12, 0x110(%rsi)
leaq 0x3a85(%rip), %rdx      # 0x60b0
movq %rdx, 0x118(%rsi)
movq %rax, 0x120(%rsi)
leaq 0x30(%r14), %rdx
movq %rdx, 0x128(%rsi)
movl %r12d, 0x140(%rsi)
movaps %xmm0, 0x130(%rsi)
movb %cl, 0x144(%rsi)
movq %r12, 0x148(%rsi)
leaq 0x3a52(%rip), %rdx      # 0x60b8
movq %rdx, 0x150(%rsi)
movq %rax, 0x158(%rsi)
leaq 0x28(%r14), %rax
movq %rax, 0x160(%rsi)
movl %r12d, 0x178(%rsi)
movups %xmm0, 0x168(%rsi)
movb %cl, 0x17c(%rsi)
movq %r12, 0x180(%rsi)
leaq 0x3a21(%rip), %rax      # 0x60c2
movq %rax, 0x188(%rsi)
movl $0x1, %eax
movq %rax, 0x190(%rsi)
leaq 0x50(%r14), %rcx
movq %rcx, 0x198(%rsi)
movq %r12, 0x1b8(%rsi)
movq %r12, 0x1ad(%rsi)
movaps %xmm0, 0x1a0(%rsi)
leaq 0x39eb(%rip), %rcx      # 0x60c6
movq %rcx, 0x1c0(%rsi)
movq %rax, 0x1c8(%rsi)
leaq 0x54(%r14), %rcx
movq %rcx, 0x1d0(%rsi)
movq %r12, 0x1f0(%rsi)
movq %r12, 0x1e5(%rsi)
movups %xmm0, 0x1d8(%rsi)
leaq 0x39bc(%rip), %rcx      # 0x60cc
movq %rcx, 0x1f8(%rsi)
movq %rax, 0x200(%rsi)
leaq 0x58(%r14), %rax
movq %rax, 0x208(%rsi)
movq %r12, 0x228(%rsi)
movq %r12, 0x21d(%rsi)
movaps %xmm0, 0x210(%rsi)
leaq 0x3993(%rip), %rax      # 0x60d8
movq %rax, 0x230(%rsi)
movq %r12, 0x238(%rsi)
leaq 0x80(%r14), %rax
movq %rax, 0x240(%rsi)
movups %xmm0, 0x248(%rsi)
movl $0x4, 0x258(%rsi)
movb %r12b, 0x25c(%rsi)
movq %r12, 0x260(%rsi)
leaq 0x3958(%rip), %rcx      # 0x60df
movq %rcx, 0x268(%rsi)
movq %r12, 0x270(%rsi)
movq %rax, 0x278(%rsi)
movaps %xmm0, 0x280(%rsi)
movl $0x1, 0x290(%rsi)
movb %r12b, 0x294(%rsi)
movq %r12, 0x298(%rsi)
leaq 0x392a(%rip), %rcx      # 0x60ec
movq %rcx, 0x2a0(%rsi)
movq %r12, 0x2a8(%rsi)
movq %rax, 0x2b0(%rsi)
movups %xmm0, 0x2b8(%rsi)
movl $0x2, 0x2c8(%rsi)
movb %r12b, 0x2cc(%rsi)
movq %r12, 0x2d0(%rsi)
leaq 0x38fd(%rip), %rax      # 0x60fa
movq %rax, 0x2d8(%rsi)
movq $0x4, 0x2e0(%rsi)
leaq 0x78(%r14), %rax
movq %rax, 0x2e8(%rsi)
movq %r12, 0x2fd(%rsi)
movaps %xmm0, 0x2f0(%rsi)
movups %xmm0, 0x338(%rsi)
movups %xmm0, 0x328(%rsi)
movups %xmm0, 0x318(%rsi)
movups %xmm0, 0x308(%rsi)
movq %r15, %rdi
movq %rbx, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x495b
movq %r14, %rax
addq $0x348, %rsp            # imm = 0x348
popq %rbx
popq %r12
popq %r14
popq %r15
retq