// File: /workspace/github_c_makefile_star2_O2/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, %r14
callq 0x20b0
movq %rax, %rbx
leaq 0x148f(%rip), %rax      # 0x61e4
movq %rsp, %rsi
movq %rax, (%rsi)
pushq $0x2
popq %rax
movq %rax, 0x8(%rsi)
leaq 0x8(%rbx), %rcx
movq %rcx, 0x10(%rsi)
andl $0x0, 0x28(%rsi)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsi)
movb $0x1, %cl
movb %cl, 0x2c(%rsi)
andq $0x0, 0x30(%rsi)
leaq 0x132f(%rip), %rdx      # 0x60b5
movq %rdx, 0x38(%rsi)
movq %rax, 0x40(%rsi)
leaq 0x10(%rbx), %rdx
movq %rdx, 0x48(%rsi)
movaps %xmm0, 0x50(%rsi)
andl $0x0, 0x60(%rsi)
movb %cl, 0x64(%rsi)
andq $0x0, 0x68(%rsi)
leaq 0x14ac(%rip), %rdx      # 0x6259
movq %rdx, 0x70(%rsi)
movq %rax, 0x78(%rsi)
movq %rbx, 0x80(%rsi)
movups %xmm0, 0x88(%rsi)
andl $0x0, 0x98(%rsi)
movb %cl, 0x9c(%rsi)
andq $0x0, 0xa0(%rsi)
leaq 0x147f(%rip), %rax      # 0x625e
movq %rax, 0xa8(%rsi)
pushq $0x1
popq %rax
movq %rax, 0xb0(%rsi)
leaq 0x1c(%rbx), %rcx
movq %rcx, 0xb8(%rsi)
andq $0x0, 0xd8(%rsi)
movaps %xmm0, 0xc0(%rsi)
andq $0x0, 0xcd(%rsi)
leaq 0x1450(%rip), %rcx      # 0x6269
movq %rcx, 0xe0(%rsi)
movq %rax, 0xe8(%rsi)
leaq 0x18(%rbx), %rax
movq %rax, 0xf0(%rsi)
andq $0x0, 0x110(%rsi)
movups %xmm0, 0xf8(%rsi)
andq $0x0, 0x105(%rsi)
leaq 0x1427(%rip), %rax      # 0x6277
movq %rax, 0x118(%rsi)
andq $0x0, 0x120(%rsi)
leaq 0x20(%rbx), %rax
movq %rax, 0x128(%rsi)
movaps %xmm0, 0x130(%rsi)
movl $0x1, 0x140(%rsi)
xorl %ecx, %ecx
movb %cl, 0x144(%rsi)
andq $0x0, 0x148(%rsi)
leaq 0x13ee(%rip), %rdx      # 0x6280
movq %rdx, 0x150(%rsi)
andq $0x0, 0x158(%rsi)
movq %rax, 0x160(%rsi)
movups %xmm0, 0x168(%rsi)
movl $0x20, 0x178(%rsi)
movb %cl, 0x17c(%rsi)
andq $0x0, 0x180(%rsi)
leaq 0x13bc(%rip), %rdx      # 0x628a
movq %rdx, 0x188(%rsi)
andq $0x0, 0x190(%rsi)
movq %rax, 0x198(%rsi)
movaps %xmm0, 0x1a0(%rsi)
movl $0x2, 0x1b0(%rsi)
movb %cl, 0x1b4(%rsi)
andq $0x0, 0x1b8(%rsi)
leaq 0x12c1(%rip), %rdx      # 0x61cb
movq %rdx, 0x1c0(%rsi)
andq $0x0, 0x1c8(%rsi)
movq %rax, 0x1d0(%rsi)
movups %xmm0, 0x1d8(%rsi)
movl $0x4, 0x1e8(%rsi)
movb %cl, 0x1ec(%rsi)
andq $0x0, 0x1f0(%rsi)
leaq 0x1351(%rip), %rdx      # 0x6297
movq %rdx, 0x1f8(%rsi)
andq $0x0, 0x200(%rsi)
movq %rax, 0x208(%rsi)
movaps %xmm0, 0x210(%rsi)
movl $0x10, 0x220(%rsi)
movb %cl, 0x224(%rsi)
andq $0x0, 0x228(%rsi)
leaq 0x131d(%rip), %rdx      # 0x629f
movq %rdx, 0x230(%rsi)
andq $0x0, 0x238(%rsi)
movq %rax, 0x240(%rsi)
movups %xmm0, 0x248(%rsi)
movl $0x8, 0x258(%rsi)
movb %cl, 0x25c(%rsi)
movaps %xmm0, 0x290(%rsi)
movaps %xmm0, 0x280(%rsi)
movaps %xmm0, 0x270(%rsi)
movaps %xmm0, 0x260(%rsi)
movq %r14, %rdi
xorl %eax, %eax
callq 0x47af
movq %rbx, %rax
addq $0x2a8, %rsp            # imm = 0x2A8
popq %rbx
popq %r14
retq