// File: /workspace/github_cpp_makefile_star2_O2/fondoger[P]C0-Compiler/src/grammar.cpp
// Function: pStatement()
static void pStatement()
{
    std::string id;
    switch (g_sym) {
        case SEMICOLON: pEmptyStatement(); break;
        case LBRACE:    readSymbol(); pStatementsList(); break;
        case IFSY:      pIfElseStatement(); break;
        case DOSY:      pDoWhileStatement(); break;
        case SWITCHSY:  pSwitchCaseStatement(); break;
        case PRINTFSY:  pPrintfStatement(); break;
        case SCANFSY:   pScanfStatement(); break;
        case RETURNSY:  pReturnStatement(); break;
        case IDENTSY:
            // must be function call statement or assignment statement
            // should be determined from symbol table
            id = g_id;
            readSymbol();
            switch (g_sym) {
                case LBRACK:    pArrayAssignmentStatement(id); break;
                case BECOMES:   pAssignmentStatement(id); break;
                case LPARENT:   
                case SEMICOLON: pFunctionCallStatement(id); break;
                default:        error(ERR_WRONG_STATEMENT); break;
            }
            break;
        default:
            test(Symset({SEMICOLON, LBRACE, IFSY, DOSY, SWITCHSY,
                PRINTFSY, SCANFSY, RETURNSY, IDENTSY}), Symset({}));
            break;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2e8, %rsp            # imm = 0x2E8
leaq -0x148(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x1882a(%rip), %r12     # 0x24610
movl (%r12), %eax
cmpq $0xe, %rax
ja 0xbe93
leaq 0xa4dd(%rip), %rcx      # 0x162d8
movslq (%rcx,%rax,4), %rdx
addq %rcx, %rdx
leaq -0x2e0(%rbp), %rax
jmpq *%rdx
leaq 0x18806(%rip), %rsi     # 0x24618
leaq -0x158(%rbp), %rdi
callq 0x3160
callq 0x13808
movl (%r12), %eax
addl $-0x1d, %eax
cmpl $0x9, %eax
ja 0xd0ea
leaq 0xa4da(%rip), %rcx      # 0x16314
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x158(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x140e9
testb %al, %al
je 0xd11c
cmpl $0x2, -0x74(%rbp)
jne 0xd172
leaq -0x158(%rbp), %rdi
callq 0x14064
movq %rax, %rbx
cmpl $0x1d, (%r12)
jne 0xd212
movq %rbx, %rdi
callq 0xe5d7
movq (%rbx), %rax
movq 0x8(%rbx), %rsi
jmp 0xd249
cmpl $0x21, %eax
je 0xca51
cmpl $0x26, %eax
jne 0xbeab
callq 0x13808
jmp 0xcb3b
movups 0xaaba(%rip), %xmm0     # 0x1696c
leaq -0x2f0(%rbp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0xaa98(%rip), %xmm0     # 0x1695c
movaps %xmm0, (%rsi)
andl $0x0, 0x20(%rsi)
leaq -0x168(%rbp), %rdi
pushq $0x9
popq %rdx
callq 0xef20
leaq -0x160(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xef20
movq -0x168(%rbp), %rdi
movq -0x160(%rbp), %rsi
callq 0x9f5f
jmp 0xcb3b
movq %rax, -0x2f0(%rbp)
andq $0x0, -0x2e8(%rbp)
movb $0x0, -0x2e0(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x106de
cmpl $0x9, (%r12)
jne 0xd33a
callq 0x13808
leaq -0xf8(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0xb8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x120(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x98(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xb8(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x9f5f
leaq -0xf8(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0x120(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0x120(%rbp), %rax
movl (%r12), %ecx
btq %rcx, %rax
jae 0xc105
callq 0x13808
leaq -0x2f0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0xd7bf
leaq -0x58(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x120(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0xd8(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x120(%rbp), %rdi
movq -0xf8(%rbp), %rsi
callq 0x9f5f
leaq -0x58(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0xd8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0xd8(%rbp), %rax
movl (%r12), %ecx
btq %rcx, %rax
jae 0xc105
callq 0x13808
leaq -0x40(%rbp), %rsi
movl $0x21, (%rsi)
leaq -0xd8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x30(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x58(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xd8(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x9f5f
leaq -0x40(%rbp), %rsi
movl $0x21, (%rsi)
leaq -0x30(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0x30(%rbp), %rax
movl (%r12), %ecx
btq %rcx, %rax
jae 0xc105
callq 0x13808
callq 0x10552
leaq -0x2f0(%rbp), %rbx
leaq -0x38(%rbp), %r14
leaq -0x78(%rbp), %r15
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xe923
cmpl $0x22, (%r12)
jne 0xc0ce
callq 0x105db
leaq -0x30(%rbp), %rdi
movl $0x13, (%rdi)
leaq 0x13e67(%rip), %rcx     # 0x1ff60
leaq -0x78(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
callq 0x13808
jmp 0xca71
leaq -0x2f0(%rbp), %rdi
callq 0x106de
cmpl $0x7, (%r12)
jne 0xd359
movq %r12, %rbx
callq 0x13808
leaq -0x78(%rbp), %rdi
movl $0x13, (%rdi)
leaq 0x13e21(%rip), %rcx     # 0x1ff60
leaq -0x2f0(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
callq 0xbdb8
leaq -0x120(%rbp), %rsi
movl $0x8, (%rsi)
leaq -0x78(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x98(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xb8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x78(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x9f5f
leaq -0x120(%rbp), %rsi
movl $0x8, (%rsi)
leaq -0x98(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0x98(%rbp), %rax
movl (%rbx), %ecx
btq %rcx, %rax
jae 0xc2e3
callq 0x13808
leaq -0xd8(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0x98(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0xf8(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x120(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x98(%rbp), %rdi
movq -0x120(%rbp), %rsi
callq 0x9f5f
leaq -0xd8(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0xf8(%rbp), %rax
movl (%rbx), %ecx
btq %rcx, %rax
jae 0xc2e3
callq 0x13808
callq 0xd62b
leaq -0xf8(%rbp), %rdi
movl $0x16, (%rdi)
leaq 0x13cee(%rip), %rcx     # 0x1ff60
leaq -0x2f0(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
leaq -0x30(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x58(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xd8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xf8(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0x9f5f
leaq -0x30(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x58(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
callq 0x13808
jmp 0xcb2f
leaq -0x2f0(%rbp), %rdi
callq 0x10762
leaq -0x78(%rbp), %rdi
callq 0x10832
leaq -0xb8(%rbp), %rdi
callq 0x108fa
movq %r12, %rbx
cmpl $0x5, (%r12)
jne 0xd397
callq 0x13808
leaq -0xd8(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0x98(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0xf8(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x120(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x98(%rbp), %rdi
movq -0x120(%rbp), %rsi
callq 0x9f5f
leaq -0xd8(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0xf8(%rbp), %rax
movl (%rbx), %ecx
btq %rcx, %rax
jae 0xca60
callq 0x13808
callq 0xd62b
leaq -0x30(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x58(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xd8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xf8(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0x9f5f
leaq -0x30(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x58(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0x58(%rbp), %rax
movl (%rbx), %ecx
btq %rcx, %rax
jae 0xca60
callq 0x13808
leaq -0x58(%rbp), %rdi
movl $0x15, (%rdi)
leaq 0x13b2c(%rip), %rcx     # 0x1ff60
leaq -0x78(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
leaq -0x58(%rbp), %rdi
movl $0x13, (%rdi)
leaq 0x13b0f(%rip), %rcx     # 0x1ff60
leaq -0x2f0(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
callq 0xbdb8
leaq -0x58(%rbp), %rdi
movl $0x14, (%rdi)
leaq 0x13aea(%rip), %rcx     # 0x1ff60
leaq -0xb8(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
leaq -0x40(%rbp), %rsi
movl $0x6, (%rsi)
leaq -0x58(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x38(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x30(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x58(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x9f5f
leaq -0x40(%rbp), %rsi
movl $0x6, (%rsi)
leaq -0x38(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0x38(%rbp), %rax
movl (%rbx), %ecx
btq %rcx, %rax
jae 0xca60
callq 0x13808
leaq -0x38(%rbp), %rdi
movl $0x13, (%rdi)
leaq 0x13a5f(%rip), %rcx     # 0x1ff60
leaq -0x78(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
callq 0xbdb8
leaq -0x38(%rbp), %rdi
movl $0x13, (%rdi)
leaq 0x13a3d(%rip), %rcx     # 0x1ff60
leaq -0xb8(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
jmp 0xca65
movq %rax, -0x2f0(%rbp)
andq $0x0, -0x2e8(%rbp)
movb $0x0, -0x2e0(%rbp)
callq 0x13808
movabsq $0x260000001d, %rbx     # imm = 0x260000001D
leaq -0x78(%rbp), %rsi
movq %rbx, (%rsi)
leaq -0xb8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
leaq -0x120(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x98(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xb8(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x9f5f
leaq -0x120(%rbp), %rsi
movq %rbx, (%rsi)
leaq -0x78(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movl (%r12), %eax
movq -0x78(%rbp), %rcx
btq %rax, %rcx
jae 0xcb2a
cmpl $0x1d, %eax
jne 0xca7f
callq 0x13808
leaq -0x2f0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0xd7bf
leaq -0x78(%rbp), %rdi
movl $0xb, (%rdi)
leaq 0x13961(%rip), %rcx     # 0x1ff60
leaq -0x2f0(%rbp), %rsi
movq %rcx, %rdx
callq 0x100d0
leaq -0xd8(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x120(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x78(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x120(%rbp), %rdi
movq -0xf8(%rbp), %rsi
callq 0x9f5f
leaq -0xd8(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x78(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0x78(%rbp), %rax
movl (%r12), %ecx
btq %rcx, %rax
jae 0xcb2a
callq 0x13808
movl -0x38(%rbp), %eax
jmp 0xca9d
leaq -0x68(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq -0xa8(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
leaq -0x2f0(%rbp), %rdi
callq 0x31f0
cmpl $0xd, (%r12)
jne 0xd378
callq 0x13808
leaq -0xd8(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0x120(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x98(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x120(%rbp), %rdi
movq -0xf8(%rbp), %rsi
callq 0x9f5f
leaq -0xd8(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0x98(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0x98(%rbp), %rax
movl (%r12), %ecx
btq %rcx, %rax
jae 0xcc90
callq 0x13808
cmpl $0x12, (%r12)
jne 0xcb59
leaq 0x17ed2(%rip), %rsi     # 0x24640
leaq -0x98(%rbp), %rdi
callq 0x14361
leaq -0x78(%rbp), %rdi
leaq -0x98(%rbp), %rbx
movq %rbx, %rsi
callq 0x3310
movq %rbx, %rdi
callq 0x3498
movl $0xf, -0xd8(%rbp)
leaq 0x9f8d(%rip), %rsi      # 0x16733
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x30f0
leaq 0x137a3(%rip), %rcx     # 0x1ff60
leaq -0xd8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x100d0
leaq -0x98(%rbp), %rdi
callq 0x3498
callq 0x13808
cmpl $0x24, (%r12)
jne 0xcbbf
callq 0x13808
leaq -0xb8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xd7bf
cmpl $0x1, -0x40(%rbp)
leaq 0x9e45(%rip), %rax      # 0x16655
leaq 0x98ce(%rip), %rsi      # 0x160e5
cmoveq %rax, %rsi
leaq -0x98(%rbp), %rdi
leaq -0xd8(%rbp), %rdx
callq 0x30f0
leaq -0xd8(%rbp), %rdi
movl $0xf, (%rdi)
leaq 0x1371e(%rip), %rcx     # 0x1ff60
leaq -0x98(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
callq 0x100d0
jmp 0xcbb3
callq 0x13808
leaq -0x78(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0x120(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x2f0(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x120(%rbp), %rdi
movq -0xf8(%rbp), %rsi
callq 0x9f5f
leaq -0x78(%rbp), %rsi
movl $0x1d, (%rsi)
leaq -0x2f0(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq 0x17d42(%rip), %rax     # 0x24610
movl (%rax), %ebx
movq -0x2f0(%rbp), %r14
callq 0x13808
btq %rbx, %r14
jae 0xcb3b
leaq -0x30(%rbp), %r14
pushq $0x1
popq %r15
leaq -0xb8(%rbp), %r13
andl $0x0, -0x30(%rbp)
leaq -0xd8(%rbp), %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xef20
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, -0xb8(%rbp)
leaq -0x58(%rbp), %rdi
movq %r13, %rsi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xd8(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x9f5f
andl $0x0, -0x30(%rbp)
movq %r13, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xef20
leaq 0x17cbc(%rip), %rax     # 0x24610
movl (%rax), %ebx
movq -0xb8(%rbp), %r12
callq 0x13808
btq %rbx, %r12
jae 0xcb3b
leaq 0x17ca5(%rip), %rdi     # 0x24618
leaq -0x98(%rbp), %rsi
callq 0x140e9
testb %al, %al
je 0xc9c1
cmpl $0x1, -0x94(%rbp)
leaq 0x17c7f(%rip), %rbx     # 0x24610
leaq -0x78(%rbp), %r12
jne 0xc9a5
movl -0x90(%rbp), %eax
addl $-0x3, %eax
cmpl $-0x3, %eax
ja 0xc9f1
movq %r12, %rdi
leaq 0x9d88(%rip), %rsi      # 0x16737
movq %r13, %rdx
callq 0x30f0
movq %r12, %rdi
callq 0xa247
jmp 0xc9e9
leaq -0x2f0(%rbp), %r12
movq %r12, %rdi
leaq 0x9aa1(%rip), %rsi      # 0x16473
movq %r13, %rdx
callq 0x30f0
leaq 0x17c2f(%rip), %rbx     # 0x24610
movq %r12, %rdi
callq 0xa247
movq %r12, %rdi
callq 0x3498
cmpl $0x1, -0x90(%rbp)
movl $0x10, -0x30(%rbp)
leaq 0x96df(%rip), %rsi      # 0x160e5
leaq 0x9c48(%rip), %rax      # 0x16655
cmoveq %rax, %rsi
movq %r13, %rdi
leaq -0x38(%rbp), %rdx
callq 0x30f0
movq %r14, %rdi
movq %r13, %rsi
leaq 0x17bee(%rip), %rdx     # 0x24618
leaq 0x1352f(%rip), %rcx     # 0x1ff60
callq 0x100d0
movq %r13, %rdi
callq 0x3498
cmpl $0x24, (%rbx)
jne 0xccb6
callq 0x13808
jmp 0xc8f5
callq 0x13808
callq 0xbd94
jmp 0xcb3b
callq 0x13808
leaq -0xb8(%rbp), %rdi
callq 0x3498
leaq -0x78(%rbp), %rdi
callq 0x3498
jmp 0xcb2f
leaq -0x78(%rbp), %rdi
movl $0xb, (%rdi)
leaq 0x134d0(%rip), %rcx     # 0x1ff60
movq %rcx, %rsi
movq %rcx, %rdx
callq 0x100d0
xorl %eax, %eax
cmpl 0x134e5(%rip), %eax     # 0x1ff88
je 0xcace
leaq 0x9cba(%rip), %rsi      # 0x16766
leaq -0x78(%rbp), %rdi
leaq -0xd8(%rbp), %rdx
callq 0x30f0
leaq -0x78(%rbp), %rdi
callq 0xa247
leaq -0x78(%rbp), %rdi
callq 0x3498
leaq -0x40(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0xd8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x30(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x58(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xd8(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x9f5f
leaq -0x40(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x30(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
callq 0x13808
leaq -0x2f0(%rbp), %rdi
callq 0x3498
leaq -0x158(%rbp), %rdi
callq 0x3498
addq $0x2e8, %rsp            # imm = 0x2E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq -0x78(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xd7bf
cmpl $0x1, -0x40(%rbp)
leaq 0x9ae4(%rip), %rax      # 0x16655
leaq 0x956d(%rip), %rsi      # 0x160e5
cmoveq %rax, %rsi
leaq -0x98(%rbp), %rdi
leaq -0xd8(%rbp), %rdx
callq 0x30f0
leaq -0xd8(%rbp), %rdi
movl $0xf, (%rdi)
leaq 0x133bd(%rip), %rcx     # 0x1ff60
leaq -0x98(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x100d0
leaq -0x98(%rbp), %rdi
callq 0x3498
leaq -0x30(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x98(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x58(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xd8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x98(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0x9f5f
leaq -0x30(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x58(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0x58(%rbp), %rax
movl (%r12), %ecx
btq %rcx, %rax
jae 0xcc90
callq 0x13808
leaq -0x128(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x58(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x38(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x30(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x58(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x9f5f
leaq -0x128(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x38(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
callq 0x13808
leaq -0x2f0(%rbp), %rdi
callq 0x34a0
leaq -0xb8(%rbp), %rdi
callq 0x3498
leaq -0x78(%rbp), %rdi
jmp 0xcb36
leaq -0x40(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0xb8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x38(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x30(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xb8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x9f5f
leaq -0x40(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x38(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq 0x178f7(%rip), %rax     # 0x24610
movl (%rax), %ebx
movq -0x38(%rbp), %r14
callq 0x13808
btq %rbx, %r14
jae 0xcb3b
leaq -0x100(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x38(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x128(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x40(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0x9f5f
leaq -0x100(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x128(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
callq 0x13808
jmp 0xcb3b
callq 0x13808
leaq -0x158(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x140e9
testb %al, %al
je 0xd19d
cmpl $0x1, -0x11c(%rbp)
jne 0xd1ed
leaq -0xa8(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0xb8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xd7bf
movl -0x30(%rbp), %eax
cmpl -0x118(%rbp), %eax
jne 0xd2f8
leaq -0x58(%rbp), %rdi
andl $0x0, (%rdi)
leaq 0x13159(%rip), %rdx     # 0x1ff60
leaq -0xb8(%rbp), %rsi
leaq -0x158(%rbp), %rcx
callq 0x100d0
leaq -0x38(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x58(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0xd8(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0xf8(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0x9f5f
leaq -0x38(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x58(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
callq 0x13808
jmp 0xd32e
leaq -0x158(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x140e9
testb %al, %al
je 0xd147
cmpl $0x3, -0x54(%rbp)
jne 0xd1c8
callq 0x13808
leaq -0xa8(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0xb8(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0xd7bf
cmpl $0x1, -0x138(%rbp)
je 0xcf0e
leaq 0x9755(%rip), %rsi      # 0x16638
leaq -0x98(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
callq 0x30f0
leaq -0x98(%rbp), %rdi
callq 0xa247
leaq -0x98(%rbp), %rdi
callq 0x3498
leaq -0xb8(%rbp), %rdi
leaq -0x134(%rbp), %rsi
callq 0x10a5d
testb %al, %al
je 0xcf66
movl -0x134(%rbp), %eax
testl %eax, %eax
js 0xcf34
cmpl -0x4c(%rbp), %eax
jl 0xcf66
leaq 0x971e(%rip), %rsi      # 0x16659
leaq -0x120(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
callq 0x30f0
leaq -0x120(%rbp), %rdi
callq 0xa247
leaq -0x120(%rbp), %rdi
callq 0x3498
callq 0x13808
leaq -0x100(%rbp), %rsi
movl $0x23, (%rsi)
leaq -0x30(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0xf8(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x38(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x9f5f
leaq -0x100(%rbp), %rsi
movl $0x23, (%rsi)
leaq -0xf8(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
movq -0xf8(%rbp), %rax
movl (%r12), %ecx
btq %rcx, %rax
jae 0xd329
callq 0x13808
leaq -0xe8(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0xf8(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0xd7bf
movl -0x130(%rbp), %eax
cmpl -0x50(%rbp), %eax
je 0xd04a
leaq 0x9416(%rip), %rsi      # 0x16435
leaq -0xd8(%rbp), %rdi
leaq -0x100(%rbp), %rdx
callq 0x30f0
leaq -0xd8(%rbp), %rdi
callq 0xa247
leaq -0xd8(%rbp), %rdi
callq 0x3498
leaq -0x100(%rbp), %rdi
movl $0xd, (%rdi)
leaq -0x158(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
leaq -0xf8(%rbp), %rcx
callq 0x100d0
leaq -0x12c(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x40(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0x100(%rbp), %rsi
movabsq $0x2600000022, %rax     # imm = 0x2600000022
movq %rax, (%rsi)
leaq -0x128(%rbp), %rdi
pushq $0x2
popq %rdx
callq 0xef20
movq -0x40(%rbp), %rdi
movq -0x128(%rbp), %rsi
callq 0x9f5f
leaq -0x12c(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x100(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
callq 0x13808
leaq -0xf8(%rbp), %rdi
jmp 0xd322
leaq 0x9303(%rip), %rsi      # 0x163f4
leaq -0x310(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x30f0
leaq -0x310(%rbp), %rdi
callq 0xa247
leaq -0x310(%rbp), %rdi
jmp 0xcb36
leaq 0x9350(%rip), %rsi      # 0x16473
leaq -0x2f0(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
callq 0x30f0
leaq -0x2f0(%rbp), %rdi
callq 0xa247
jmp 0xcb2f
leaq 0x9325(%rip), %rsi      # 0x16473
leaq -0x2f0(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
callq 0x30f0
leaq -0x2f0(%rbp), %rdi
callq 0xa247
jmp 0xcb2f
leaq 0x931c(%rip), %rsi      # 0x16495
leaq -0x2f0(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
callq 0x30f0
leaq -0x2f0(%rbp), %rdi
callq 0xa247
jmp 0xcb2f
leaq 0x92cf(%rip), %rsi      # 0x16473
leaq -0x2f0(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
callq 0x30f0
leaq -0x2f0(%rbp), %rdi
callq 0xa247
jmp 0xcb2f
leaq 0x95b2(%rip), %rsi      # 0x16781
leaq -0x78(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
callq 0x30f0
leaq -0x78(%rbp), %rdi
callq 0xa247
jmp 0xccad
leaq 0x95ba(%rip), %rsi      # 0x167ae
leaq -0x78(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
callq 0x30f0
leaq -0x78(%rbp), %rdi
callq 0xa247
jmp 0xccad
movq 0x8(%rbx), %rax
movq %rax, %rsi
cmpq (%rbx), %rax
je 0xd249
leaq 0x9354(%rip), %rsi      # 0x16579
leaq -0x2f0(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
callq 0x30f0
leaq -0x2f0(%rbp), %rdi
callq 0xa247
jmp 0xcb2f
subq %rax, %rsi
movl $0xa, -0xb8(%rbp)
sarq $0x2, %rsi
leaq -0x2f0(%rbp), %rdi
callq 0xf077
leaq 0x12cf3(%rip), %rcx     # 0x1ff60
leaq -0xb8(%rbp), %rdi
leaq -0x158(%rbp), %rsi
leaq -0x2f0(%rbp), %rdx
callq 0x100d0
leaq -0x2f0(%rbp), %rdi
callq 0x3498
leaq -0x98(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x2f0(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
leaq -0xb8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xef20
movq -0x2f0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x9f5f
leaq -0x120(%rbp), %rsi
movl $0x26, (%rsi)
leaq -0x98(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0xef20
callq 0x13808
jmp 0xcb3b
leaq 0x9136(%rip), %rsi      # 0x16435
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x30f0
leaq -0x98(%rbp), %rdi
callq 0xa247
leaq -0x98(%rbp), %rdi
callq 0x3498
jmp 0xd32e
callq 0x13808
leaq -0xb8(%rbp), %rdi
jmp 0xcb36
leaq 0x9354(%rip), %rdi      # 0x16695
leaq 0x909c(%rip), %rsi      # 0x163e4
leaq 0x9358(%rip), %rcx      # 0x166a7
movl $0xf8, %edx
callq 0x31c0
leaq 0x930e(%rip), %rdi      # 0x1666e
leaq 0x907d(%rip), %rsi      # 0x163e4
leaq 0x930e(%rip), %rcx      # 0x1667c
movl $0x157, %edx            # imm = 0x157
callq 0x31c0
leaq 0x938a(%rip), %rdi      # 0x16709
leaq 0x905e(%rip), %rsi      # 0x163e4
leaq 0x938e(%rip), %rcx      # 0x1671b
movl $0x16b, %edx            # imm = 0x16B
callq 0x31c0
leaq 0x9066(%rip), %rdi      # 0x16404
leaq 0x903f(%rip), %rsi      # 0x163e4
leaq 0x9066(%rip), %rcx      # 0x16412
movl $0xbf, %edx
callq 0x31c0
movq %rax, %rbx
leaq -0x120(%rbp), %rdi
jmp 0xd448
jmp 0xd604
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x3498
jmp 0xd441
jmp 0xd43e
jmp 0xd604
jmp 0xd3e4
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0xd448
jmp 0xd604
jmp 0xd604
jmp 0xd604
jmp 0xd604
jmp 0xd43e
jmp 0xd43e
jmp 0xd43e
jmp 0xd5e5
jmp 0xd614
jmp 0xd604
jmp 0xd604
jmp 0xd604
jmp 0xd5a6
jmp 0xd614
jmp 0xd5a6
jmp 0xd604
jmp 0xd614
jmp 0xd43e
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x3498
jmp 0xd607
jmp 0xd5e5
jmp 0xd604
jmp 0xd604
jmp 0xd5e5
jmp 0xd614
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd614
jmp 0xd614
jmp 0xd604
jmp 0xd4c9
jmp 0xd5ad
jmp 0xd5e5
movq %rax, %rbx
leaq -0x310(%rbp), %rdi
jmp 0xd5fd
jmp 0xd614
jmp 0xd614
jmp 0xd5ea
jmp 0xd5ce
jmp 0xd5ce
jmp 0xd5ea
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd4c9
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x3498
jmp 0xd5b0
jmp 0xd5ad
jmp 0xd5ad
jmp 0xd5ad
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd5ce
jmp 0xd5ad
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5ce
jmp 0xd5ad
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5ea
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5ea
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd5ad
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5ad
jmp 0xd5ea
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd5ea
jmp 0xd5ce
jmp 0xd5ad
jmp 0xd5e5
jmp 0xd5ea
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5ad
jmp 0xd5ea
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd5ad
jmp 0xd5e5
jmp 0xd5ea
jmp 0xd5ea
jmp 0xd5e5
jmp 0xd5e5
movq %rax, %rbx
jmp 0xd5bc
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd5ad
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5ea
jmp 0xd5ce
jmp 0xd5e5
jmp 0xd5ad
jmp 0xd5ea
jmp 0xd5e5
jmp 0xd5e5
jmp 0xd614
movq %rax, %rbx
jmp 0xd5c8
jmp 0xd614
movq %rax, %rbx
leaq -0x2f0(%rbp), %rdi
callq 0x34a0
leaq -0xb8(%rbp), %rdi
callq 0x3498
leaq -0x78(%rbp), %rdi
jmp 0xd5fd
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x3498
jmp 0xd5ed
jmp 0xd5ea
jmp 0xd5e5
jmp 0xd614
movq %rax, %rbx
jmp 0xd5f6
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x3498
leaq -0x2f0(%rbp), %rdi
callq 0x3498
jmp 0xd617
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
jmp 0xd5fd
jmp 0xd614
jmp 0xd614
movq %rax, %rbx
leaq -0x158(%rbp), %rdi
callq 0x3498
movq %rbx, %rdi
callq 0x3430