// File: sighingnow[P]compile-pascal/pl0_parser.cpp
// Function: pl0_identify_fn(input_t*)
pair<int, pl0_ast_identify *> pl0_identify_fn(input_t *text) {
    static std::array<string, 17> keywords = {{
        "begin", "end", "for", "downto", "to", "do", "if", "then", "else", "case",
        "const", "var", "array", "of", "case", "integer", "char"}};
    function<string (pair<pl0_ast_alnum *, vector<pl0_ast_alnum *>>)> fn = [](pair<pl0_ast_alnum *, vector<pl0_ast_alnum *>> const & p) {
        string ans = string(1, p.first ? p.first->val : 0); for (pl0_ast_alnum *c: p.second) { ans.push_back(c ? c->val : 0); } return ans;
    };
    auto parser = pl0_alpha + (++(pl0_alpha | pl0_digit));
    auto res = (spaces >> (parser / fn) << spaces)(text);
    pair<int, pl0_ast_identify *> ans;
    if (std::get<0>(res) != -1 && std::none_of(keywords.begin(), keywords.end(), [&, res](string s) { return s == std::get<1>(res); })) {
        ans = make_pair(std::get<0>(res), new pl0_ast_identify(text->locate(), std::get<1>(res)));
    }
    else {
        ans = make_pair(-1, new pl0_ast_identify(text->locate(), ""));
    }
    if (verbose) {
        cout << "parsing: Identifier" << endl;
    }
    return ans;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x940, %rsp            # imm = 0x940
movq %rdi, -0x18(%rbp)
cmpb $0x0, 0x15382a(%rip)    # 0x15fa60
jne 0xc736
leaq 0x15381d(%rip), %rdi    # 0x15fa60
callq 0x55f0
cmpl $0x0, %eax
je 0xc736
movb $0x1, -0x45(%rbp)
leaq 0x1535e4(%rip), %rax    # 0x15f840
movq %rax, -0x7a8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x21(%rbp), %rdi
movq %rdi, -0x7a0(%rbp)
callq 0x55d0
movq -0x7a8(%rbp), %rdi
movq -0x7a0(%rbp), %rdx
leaq 0xe2f8d(%rip), %rsi     # 0xef219
callq 0x19840
jmp 0xc293
leaq 0x1535c6(%rip), %rax    # 0x15f860
movq %rax, -0x7b8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x35(%rbp), %rdi
movq %rdi, -0x7b0(%rbp)
callq 0x55d0
movq -0x7b8(%rbp), %rdi
movq -0x7b0(%rbp), %rdx
leaq 0xe2f55(%rip), %rsi     # 0xef21f
callq 0x19840
jmp 0xc2d1
leaq 0x1535a8(%rip), %rax    # 0x15f880
movq %rax, -0x7c8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x36(%rbp), %rdi
movq %rdi, -0x7c0(%rbp)
callq 0x55d0
movq -0x7c8(%rbp), %rdi
movq -0x7c0(%rbp), %rdx
leaq 0xe2f1b(%rip), %rsi     # 0xef223
callq 0x19840
jmp 0xc30f
leaq 0x15358a(%rip), %rax    # 0x15f8a0
movq %rax, -0x7d8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x37(%rbp), %rdi
movq %rdi, -0x7d0(%rbp)
callq 0x55d0
movq -0x7d8(%rbp), %rdi
movq -0x7d0(%rbp), %rdx
leaq 0xe2ee1(%rip), %rsi     # 0xef227
callq 0x19840
jmp 0xc34d
leaq 0x15356c(%rip), %rax    # 0x15f8c0
movq %rax, -0x7e8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x38(%rbp), %rdi
movq %rdi, -0x7e0(%rbp)
callq 0x55d0
movq -0x7e8(%rbp), %rdi
movq -0x7e0(%rbp), %rdx
leaq 0xe2ea7(%rip), %rsi     # 0xef22b
callq 0x19840
jmp 0xc38b
leaq 0x15354e(%rip), %rax    # 0x15f8e0
movq %rax, -0x7f8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x7f0(%rbp)
callq 0x55d0
movq -0x7f8(%rbp), %rdi
movq -0x7f0(%rbp), %rdx
leaq 0xe2e6c(%rip), %rsi     # 0xef22e
callq 0x19840
jmp 0xc3c9
leaq 0x153530(%rip), %rax    # 0x15f900
movq %rax, -0x808(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x3a(%rbp), %rdi
movq %rdi, -0x800(%rbp)
callq 0x55d0
movq -0x808(%rbp), %rdi
movq -0x800(%rbp), %rdx
leaq 0xe2e31(%rip), %rsi     # 0xef231
callq 0x19840
jmp 0xc407
leaq 0x153512(%rip), %rax    # 0x15f920
movq %rax, -0x818(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x3b(%rbp), %rdi
movq %rdi, -0x810(%rbp)
callq 0x55d0
movq -0x818(%rbp), %rdi
movq -0x810(%rbp), %rdx
leaq 0xe2df6(%rip), %rsi     # 0xef234
callq 0x19840
jmp 0xc445
leaq 0x1534f4(%rip), %rax    # 0x15f940
movq %rax, -0x828(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x3c(%rbp), %rdi
movq %rdi, -0x820(%rbp)
callq 0x55d0
movq -0x828(%rbp), %rdi
movq -0x820(%rbp), %rdx
leaq 0xe2dbd(%rip), %rsi     # 0xef239
callq 0x19840
jmp 0xc483
leaq 0x1534d6(%rip), %rax    # 0x15f960
movq %rax, -0x838(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x3d(%rbp), %rdi
movq %rdi, -0x830(%rbp)
callq 0x55d0
movq -0x838(%rbp), %rdi
movq -0x830(%rbp), %rdx
leaq 0xe2d84(%rip), %rsi     # 0xef23e
callq 0x19840
jmp 0xc4c1
leaq 0x1534b8(%rip), %rax    # 0x15f980
movq %rax, -0x848(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x3e(%rbp), %rdi
movq %rdi, -0x840(%rbp)
callq 0x55d0
movq -0x848(%rbp), %rdi
movq -0x840(%rbp), %rdx
leaq 0xe3a7d(%rip), %rsi     # 0xeff75
callq 0x19840
jmp 0xc4ff
leaq 0x15349a(%rip), %rax    # 0x15f9a0
movq %rax, -0x858(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x3f(%rbp), %rdi
movq %rdi, -0x850(%rbp)
callq 0x55d0
movq -0x858(%rbp), %rdi
movq -0x850(%rbp), %rdx
leaq 0xe2d0d(%rip), %rsi     # 0xef243
callq 0x19840
jmp 0xc53d
leaq 0x15347c(%rip), %rax    # 0x15f9c0
movq %rax, -0x868(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x860(%rbp)
callq 0x55d0
movq -0x868(%rbp), %rdi
movq -0x860(%rbp), %rdx
leaq 0xe4c2e(%rip), %rsi     # 0xf11a2
callq 0x19840
jmp 0xc57b
leaq 0x15345e(%rip), %rax    # 0x15f9e0
movq %rax, -0x878(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0x870(%rbp)
callq 0x55d0
movq -0x878(%rbp), %rdi
movq -0x870(%rbp), %rdx
leaq 0xe2b79(%rip), %rsi     # 0xef12b
callq 0x19840
jmp 0xc5b9
leaq 0x153440(%rip), %rax    # 0x15fa00
movq %rax, -0x888(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x42(%rbp), %rdi
movq %rdi, -0x880(%rbp)
callq 0x55d0
movq -0x888(%rbp), %rdi
movq -0x880(%rbp), %rdx
leaq 0xe2c4e(%rip), %rsi     # 0xef23e
callq 0x19840
jmp 0xc5f7
leaq 0x153422(%rip), %rax    # 0x15fa20
movq %rax, -0x898(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x43(%rbp), %rdi
movq %rdi, -0x890(%rbp)
callq 0x55d0
movq -0x898(%rbp), %rdi
movq -0x890(%rbp), %rdx
leaq 0xe2c19(%rip), %rsi     # 0xef247
callq 0x19840
jmp 0xc635
leaq 0x153404(%rip), %rax    # 0x15fa40
movq %rax, -0x8a8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x44(%rbp), %rdi
movq %rdi, -0x8a0(%rbp)
callq 0x55d0
movq -0x8a8(%rbp), %rdi
movq -0x8a0(%rbp), %rdx
leaq 0xe3913(%rip), %rsi     # 0xeff7f
callq 0x19840
jmp 0xc673
movb $0x0, -0x45(%rbp)
leaq -0x44(%rbp), %rdi
callq 0x53c0
leaq -0x43(%rbp), %rdi
callq 0x53c0
leaq -0x42(%rbp), %rdi
callq 0x53c0
leaq -0x41(%rbp), %rdi
callq 0x53c0
leaq -0x40(%rbp), %rdi
callq 0x53c0
leaq -0x3f(%rbp), %rdi
callq 0x53c0
leaq -0x3e(%rbp), %rdi
callq 0x53c0
leaq -0x3d(%rbp), %rdi
callq 0x53c0
leaq -0x3c(%rbp), %rdi
callq 0x53c0
leaq -0x3b(%rbp), %rdi
callq 0x53c0
leaq -0x3a(%rbp), %rdi
callq 0x53c0
leaq -0x39(%rbp), %rdi
callq 0x53c0
leaq -0x38(%rbp), %rdi
callq 0x53c0
leaq -0x37(%rbp), %rdi
callq 0x53c0
leaq -0x36(%rbp), %rdi
callq 0x53c0
leaq -0x35(%rbp), %rdi
callq 0x53c0
leaq -0x21(%rbp), %rdi
callq 0x53c0
leaq 0x10a89(%rip), %rdi     # 0x1d1a0
leaq 0x153122(%rip), %rsi    # 0x15f840
leaq 0x152c1b(%rip), %rdx    # 0x15f340
callq 0x52d0
leaq 0x15332f(%rip), %rdi    # 0x15fa60
callq 0x5220
leaq -0x68(%rbp), %rdi
leaq -0x69(%rbp), %rsi
callq 0xcf10
leaq 0x153ef6(%rip), %rsi    # 0x160640
leaq 0x153f37(%rip), %rdx    # 0x160688
leaq -0x268(%rbp), %rdi
callq 0x1b490
jmp 0xc75f
leaq -0x1d8(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x1d230
jmp 0xc774
leaq 0x153ec5(%rip), %rsi    # 0x160640
leaq -0x148(%rbp), %rdi
leaq -0x1d8(%rbp), %rdx
callq 0x1d1f0
jmp 0xc790
leaq -0x1d8(%rbp), %rdi
callq 0x1d260
leaq -0x268(%rbp), %rdi
callq 0x1b500
leaq -0x6d0(%rbp), %rdi
leaq -0x148(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x1d300
jmp 0xc7c1
leaq 0x153008(%rip), %rsi    # 0x15f7d0
leaq -0x5d8(%rbp), %rdi
leaq -0x6d0(%rbp), %rdx
callq 0x1d2c0
jmp 0xc7dd
leaq 0x152fec(%rip), %rdx    # 0x15f7d0
leaq -0x478(%rbp), %rdi
leaq -0x5d8(%rbp), %rsi
callq 0x1d280
jmp 0xc7f9
movq -0x18(%rbp), %rdx
leaq -0x2b0(%rbp), %rdi
leaq -0x478(%rbp), %rsi
callq 0x1d340
jmp 0xc812
leaq -0x478(%rbp), %rdi
callq 0x1d6c0
leaq -0x5d8(%rbp), %rdi
callq 0x1d6f0
leaq -0x6d0(%rbp), %rdi
callq 0x1d720
leaq -0x10(%rbp), %rdi
callq 0x1d750
jmp 0xc841
leaq -0x2b0(%rbp), %rdi
callq 0x1c110
movl (%rax), %ecx
movb $0x0, -0x721(%rbp)
movb $0x0, -0x722(%rbp)
xorl %eax, %eax
cmpl $-0x1, %ecx
movb %al, -0x8a9(%rbp)
je 0xc903
leaq 0x152fcb(%rip), %rdi    # 0x15f840
movq %rdi, -0x8d0(%rbp)
callq 0x1d770
movq -0x8d0(%rbp), %rdi
movq %rax, -0x8c8(%rbp)
callq 0x1d790
movq %rax, -0x8c0(%rbp)
leaq -0x718(%rbp), %rdi
movq %rdi, -0x8b8(%rbp)
leaq -0x2b0(%rbp), %rsi
callq 0x1d7c0
jmp 0xc8b7
movq -0x8c0(%rbp), %rsi
movq -0x8c8(%rbp), %rdi
movq -0x8b8(%rbp), %rax
movq %rax, -0x720(%rbp)
movb $0x1, -0x721(%rbp)
movb $0x1, -0x722(%rbp)
leaq -0x718(%rbp), %rdx
callq 0xcfa0
movb %al, -0x8d1(%rbp)
jmp 0xc8f5
movb -0x8d1(%rbp), %al
movb %al, -0x8a9(%rbp)
jmp 0xc903
movb -0x8a9(%rbp), %al
movb %al, -0x8d2(%rbp)
testb $0x1, -0x722(%rbp)
jne 0xc91a
jmp 0xc926
leaq -0x718(%rbp), %rdi
callq 0xd060
movb -0x8d2(%rbp), %al
testb $0x1, %al
jne 0xc935
jmp 0xcd0c
leaq -0x2b0(%rbp), %rdi
callq 0x1c110
movq %rax, -0x8e8(%rbp)
movl $0x28, %edi
callq 0x5340
movq %rax, -0x8e0(%rbp)
jmp 0xc95b
movq -0x18(%rbp), %rdi
callq 0x1a350
movq %rax, -0x8f0(%rbp)
jmp 0xc96d
movq -0x8f0(%rbp), %rax
movq %rax, -0x748(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x1c130
movq -0x8e0(%rbp), %rdi
movq %rax, %rdx
movq -0x748(%rbp), %rsi
callq 0x1d820
jmp 0xc99f
movq -0x8e8(%rbp), %rdi
movq -0x8e0(%rbp), %rax
movq %rax, -0x740(%rbp)
leaq -0x740(%rbp), %rsi
callq 0x1d7f0
movq %rdx, -0x900(%rbp)
movl %eax, -0x8f4(%rbp)
jmp 0xc9cf
movq -0x900(%rbp), %rax
movl -0x8f4(%rbp), %ecx
movl %ecx, -0x738(%rbp)
movq %rax, -0x730(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x738(%rbp), %rsi
callq 0x1d860
jmp 0xce74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb53
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x44(%rbp), %rdi
callq 0x53c0
leaq -0x43(%rbp), %rdi
callq 0x53c0
leaq -0x42(%rbp), %rdi
callq 0x53c0
leaq -0x41(%rbp), %rdi
callq 0x53c0
leaq -0x40(%rbp), %rdi
callq 0x53c0
leaq -0x3f(%rbp), %rdi
callq 0x53c0
leaq -0x3e(%rbp), %rdi
callq 0x53c0
leaq -0x3d(%rbp), %rdi
callq 0x53c0
leaq -0x3c(%rbp), %rdi
callq 0x53c0
leaq -0x3b(%rbp), %rdi
callq 0x53c0
leaq -0x3a(%rbp), %rdi
callq 0x53c0
leaq -0x39(%rbp), %rdi
callq 0x53c0
leaq -0x38(%rbp), %rdi
callq 0x53c0
leaq -0x37(%rbp), %rdi
callq 0x53c0
leaq -0x36(%rbp), %rdi
callq 0x53c0
leaq -0x35(%rbp), %rdi
callq 0x53c0
leaq -0x21(%rbp), %rdi
callq 0x53c0
testb $0x1, -0x45(%rbp)
jne 0xcbac
jmp 0xcbf6
movq -0x20(%rbp), %rax
leaq 0x152c89(%rip), %rcx    # 0x15f840
cmpq %rax, %rcx
movq %rax, -0x908(%rbp)
je 0xcbf4
movq -0x908(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x910(%rbp)
callq 0x5200
movq -0x910(%rbp), %rax
leaq 0x152c58(%rip), %rcx    # 0x15f840
cmpq %rcx, %rax
movq %rax, -0x908(%rbp)
jne 0xcbc3
jmp 0xcbf6
leaq 0x152e63(%rip), %rdi    # 0x15fa60
callq 0x5210
jmp 0xcf02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcc3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x1d260
leaq -0x268(%rbp), %rdi
callq 0x1b500
jmp 0xcef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xceed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcca0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcc94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x478(%rbp), %rdi
callq 0x1d6c0
leaq -0x5d8(%rbp), %rdi
callq 0x1d6f0
leaq -0x6d0(%rbp), %rdi
callq 0x1d720
jmp 0xceed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcee1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
testb $0x1, -0x722(%rbp)
jne 0xccd9
jmp 0xcce5
leaq -0x718(%rbp), %rdi
callq 0xd060
jmp 0xcee1
movq -0x8e0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl $0x28, %esi
callq 0x5350
jmp 0xcee1
movl $0xffffffff, -0x75c(%rbp) # imm = 0xFFFFFFFF
movl $0x28, %edi
callq 0x5340
movq %rax, -0x918(%rbp)
jmp 0xcd29
movb $0x1, -0x792(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1a350
movq %rax, -0x920(%rbp)
jmp 0xcd42
movq -0x920(%rbp), %rax
movq %rax, -0x770(%rbp)
leaq -0x791(%rbp), %rdi
movq %rdi, -0x928(%rbp)
callq 0x55d0
movq -0x928(%rbp), %rdx
leaq 0xe4ebe(%rip), %rsi     # 0xf1c2f
leaq -0x790(%rbp), %rdi
callq 0x19840
jmp 0xcd7f
movq -0x918(%rbp), %rdi
movq -0x770(%rbp), %rsi
leaq -0x790(%rbp), %rdx
callq 0x1d820
jmp 0xcd9b
movq -0x918(%rbp), %rax
movb $0x0, -0x792(%rbp)
movq %rax, -0x768(%rbp)
leaq -0x75c(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x1d890
movq %rdx, -0x938(%rbp)
movl %eax, -0x92c(%rbp)
jmp 0xcdd2
movq -0x938(%rbp), %rax
movl -0x92c(%rbp), %ecx
movl %ecx, -0x758(%rbp)
movq %rax, -0x750(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x758(%rbp), %rsi
callq 0x1d860
leaq -0x790(%rbp), %rdi
callq 0x5200
leaq -0x791(%rbp), %rdi
callq 0x53c0
jmp 0xce74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xce56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xce4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x790(%rbp), %rdi
callq 0x5200
leaq -0x791(%rbp), %rdi
callq 0x53c0
testb $0x1, -0x792(%rbp)
jne 0xce61
jmp 0xce72
movq -0x918(%rbp), %rdi
movl $0x28, %esi
callq 0x5350
jmp 0xcee1
testb $0x1, 0x1529bd(%rip)    # 0x15f838
je 0xceb0
movq 0x152154(%rip), %rdi    # 0x15efd8
leaq 0xe23c4(%rip), %rsi     # 0xef24f
callq 0x5330
movq %rax, -0x940(%rbp)
jmp 0xce99
movq -0x940(%rbp), %rdi
movq 0x152119(%rip), %rsi    # 0x15efc0
callq 0x53a0
jmp 0xceae
jmp 0xceb0
leaq -0x2b0(%rbp), %rdi
callq 0x1c190
leaq -0x148(%rbp), %rdi
callq 0x1d8c0
leaq -0x68(%rbp), %rdi
callq 0x1d8f0
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x940, %rsp            # imm = 0x940
popq %rbp
retq
leaq -0x2b0(%rbp), %rdi
callq 0x1c190
leaq -0x148(%rbp), %rdi
callq 0x1d8c0
leaq -0x68(%rbp), %rdi
callq 0x1d8f0
movq -0x30(%rbp), %rdi
callq 0x55b0
nopl (%rax,%rax)