// File: /workspace/github_c_makefile_star2_O3/Cotix[P]cReddit/libreddit/user.c
// Function: redditGetUser
RedditUser *redditGetUser(TokenParser *parser)
{
    RedditUser *user = redditUserNew();

    TokenIdent ids[] = {
        ADD_TOKEN_IDENT_STRING("modhash",       user->modhash),
        ADD_TOKEN_IDENT_STRING("id",            user->id),
        ADD_TOKEN_IDENT_STRING("name",          user->name),
        ADD_TOKEN_IDENT_INT   ("link_karma",    user->linkKarma),
        ADD_TOKEN_IDENT_INT   ("comment_karma", user->commentKarma),
        ADD_TOKEN_IDENT_BOOL  ("has_mail",      user->flags, REDDIT_USER_HAS_MAIL),
        ADD_TOKEN_IDENT_BOOL  ("is_friend",     user->flags, REDDIT_USER_IS_FRIEND),
        ADD_TOKEN_IDENT_BOOL  ("has_mod_mail",  user->flags, REDDIT_USER_HAS_MOD_MAIL),
        ADD_TOKEN_IDENT_BOOL  ("over_18",       user->flags, REDDIT_USER_OVER_18),
        ADD_TOKEN_IDENT_BOOL  ("is_gold",       user->flags, REDDIT_USER_IS_GOLD),
        ADD_TOKEN_IDENT_BOOL  ("is_mod",        user->flags, REDDIT_USER_IS_MOD),
        {0}
    };

    parseTokens(parser, ids);

    return user;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x2a8, %rsp            # imm = 0x2A8
movq %rdi, %rbx
movl $0x28, %edi
callq 0x3520
movq %rax, %r14
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
xorl %eax, %eax
movq %rax, 0x20(%r14)
leaq 0x20(%r14), %rcx
leaq 0x10(%r14), %r8
leaq 0x18(%r14), %rdx
movq $-0x1, 0x18(%r14)
leaq 0x1c(%r14), %rdi
leaq 0x11f6(%rip), %r9       # 0x61e4
movq %rsp, %rsi
movq %r9, (%rsi)
movl $0x2, %r9d
movq %r9, 0x8(%rsi)
leaq 0x8(%r14), %r10
movq %r10, 0x10(%rsi)
movups %xmm0, 0x18(%rsi)
movl %eax, 0x28(%rsi)
movb $0x1, %r10b
movb %r10b, 0x2c(%rsi)
movq %rax, 0x30(%rsi)
leaq 0x1096(%rip), %r11      # 0x60b5
movq %r11, 0x38(%rsi)
movq %r9, 0x40(%rsi)
movq %r8, 0x48(%rsi)
movaps %xmm0, 0x50(%rsi)
movl %eax, 0x60(%rsi)
movb %r10b, 0x64(%rsi)
movq %rax, 0x68(%rsi)
leaq 0x1218(%rip), %r8       # 0x6259
movq %r8, 0x70(%rsi)
movq %r9, 0x78(%rsi)
movq %r14, 0x80(%rsi)
movups %xmm0, 0x88(%rsi)
movl %eax, 0x98(%rsi)
movb %r10b, 0x9c(%rsi)
movq %rax, 0xa0(%rsi)
leaq 0x11ec(%rip), %r8       # 0x625e
movq %r8, 0xa8(%rsi)
movl $0x1, %r8d
movq %r8, 0xb0(%rsi)
movq %rdi, 0xb8(%rsi)
movq %rax, 0xd8(%rsi)
movq %rax, 0xcd(%rsi)
movaps %xmm0, 0xc0(%rsi)
leaq 0x11c0(%rip), %rdi      # 0x6269
movq %rdi, 0xe0(%rsi)
movq %r8, 0xe8(%rsi)
movq %rdx, 0xf0(%rsi)
movq %rax, 0x110(%rsi)
movq %rax, 0x105(%rsi)
movups %xmm0, 0xf8(%rsi)
leaq 0x119d(%rip), %rdx      # 0x6277
movq %rdx, 0x118(%rsi)
movq %rax, 0x120(%rsi)
movq %rcx, 0x128(%rsi)
movaps %xmm0, 0x130(%rsi)
movl $0x1, 0x140(%rsi)
movb %al, 0x144(%rsi)
movq %rax, 0x148(%rsi)
leaq 0x116c(%rip), %rdx      # 0x6280
movq %rdx, 0x150(%rsi)
movq %rax, 0x158(%rsi)
movq %rcx, 0x160(%rsi)
movups %xmm0, 0x168(%rsi)
movl $0x20, 0x178(%rsi)
movb %al, 0x17c(%rsi)
movq %rax, 0x180(%rsi)
leaq 0x113c(%rip), %rdx      # 0x628a
movq %rdx, 0x188(%rsi)
movq %rax, 0x190(%rsi)
movq %rcx, 0x198(%rsi)
movaps %xmm0, 0x1a0(%rsi)
movl $0x2, 0x1b0(%rsi)
movb %al, 0x1b4(%rsi)
movq %rax, 0x1b8(%rsi)
leaq 0x1043(%rip), %rdx      # 0x61cb
movq %rdx, 0x1c0(%rsi)
movq %rax, 0x1c8(%rsi)
movq %rcx, 0x1d0(%rsi)
movups %xmm0, 0x1d8(%rsi)
movl $0x4, 0x1e8(%rsi)
movb %al, 0x1ec(%rsi)
movq %rax, 0x1f0(%rsi)
leaq 0x10d5(%rip), %rdx      # 0x6297
movq %rdx, 0x1f8(%rsi)
movq %rax, 0x200(%rsi)
movq %rcx, 0x208(%rsi)
movaps %xmm0, 0x210(%rsi)
movl $0x10, 0x220(%rsi)
movb %al, 0x224(%rsi)
movq %rax, 0x228(%rsi)
leaq 0x10a3(%rip), %rdx      # 0x629f
movq %rdx, 0x230(%rsi)
movq %rax, 0x238(%rsi)
movq %rcx, 0x240(%rsi)
movups %xmm0, 0x248(%rsi)
movl $0x8, 0x258(%rsi)
movb %al, 0x25c(%rsi)
movaps %xmm0, 0x290(%rsi)
movaps %xmm0, 0x280(%rsi)
movaps %xmm0, 0x270(%rsi)
movaps %xmm0, 0x260(%rsi)
movq %rbx, %rdi
xorl %eax, %eax
callq 0x495b
movq %r14, %rax
addq $0x2a8, %rsp            # imm = 0x2A8
popq %rbx
popq %r14
retq