// File: rfotino[P]consolite-compiler/src/parser.cpp
// Function: Parser::Parser(Tokenizer*)
Parser::Parser(Tokenizer *t) : _tokenizer(t), _bytePos(0) {
  // Add builtin "void COLOR(uint16 color)" function.
  _functions.push_back(
    std::make_shared<FunctionToken>(
      FunctionToken(
        TypeToken("void"),
        "COLOR",
        {
          std::make_shared<ParamToken>(
            ParamToken(TypeToken("uint16"), "color")
          )
        }
      )
    )
  );
  // Add builtin "void PIXEL(uint16 x, uint16 y)" function.
  _functions.push_back(
    std::make_shared<FunctionToken>(
      FunctionToken(
        TypeToken("void"),
        "PIXEL",
        {
          std::make_shared<ParamToken>(
            ParamToken(TypeToken("uint16"), "x")
          ),
          std::make_shared<ParamToken>(
            ParamToken(TypeToken("uint16"), "y")
          )
        }
      )
    )
  );
  // Add builtin "void TIMERST()" function.
  _functions.push_back(
    std::make_shared<FunctionToken>(
      FunctionToken(
        TypeToken("void"),
        "TIMERST",
        { }
      )
    )
  );
  // Add builtin "uint16 TIME()" function.
  _functions.push_back(
    std::make_shared<FunctionToken>(
      FunctionToken(
        TypeToken("uint16"),
        "TIME",
        { }
      )
    )
  );
  // Add builtin "uint16 INPUT(uint16 input_id)" function.
  _functions.push_back(
    std::make_shared<FunctionToken>(
      FunctionToken(
        TypeToken("uint16"),
        "INPUT",
        {
          std::make_shared<ParamToken>(
            ParamToken(TypeToken("uint16"), "input_id")
          )
        }
      )
    )
  );
  // Add builtin "uint16 RND()" function.
  _functions.push_back(
    std::make_shared<FunctionToken>(
      FunctionToken(
        TypeToken("uint16"),
        "RND",
        { }
      )
    )
  );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x12d0, %rsp           # imm = 0x12D0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x10e0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
movq %rdi, -0x10f0(%rbp)
callq 0xcdd0
movq -0x10e0(%rbp), %rdi
addq $0x20, %rdi
movq %rdi, -0x10e8(%rbp)
callq 0xcdf0
movq -0x10e0(%rbp), %rdi
addq $0x38, %rdi
movq %rdi, -0x10d8(%rbp)
callq 0x86d0
jmp 0x9a55
movq -0x10e0(%rbp), %rdi
addq $0x238, %rdi            # imm = 0x238
movq %rdi, -0x1110(%rbp)
callq 0x8590
movq -0x10e0(%rbp), %rdi
addq $0x258, %rdi            # imm = 0x258
movq %rdi, -0x1108(%rbp)
callq 0xce10
movq -0x10e0(%rbp), %rax
movw $0x0, 0x290(%rax)
addq $0x20, %rax
movq %rax, -0x1100(%rbp)
leaq -0x1c9(%rbp), %rdi
movq %rdi, -0x10f8(%rbp)
callq 0x8760
movq -0x10f8(%rbp), %rdx
leaq 0x6556f(%rip), %rsi     # 0x6f034
leaq -0x1c8(%rbp), %rdi
callq 0xced0
jmp 0x9ad3
xorl %edx, %edx
movl %edx, %ecx
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0xcf80
jmp 0x9aec
leaq -0x1f1(%rbp), %rdi
movq %rdi, -0x1118(%rbp)
callq 0x8760
movq -0x1118(%rbp), %rdx
leaq 0x6552c(%rip), %rsi     # 0x6f039
leaq -0x1f0(%rbp), %rdi
callq 0xced0
jmp 0x9b1b
movb $0x1, -0x352(%rbp)
leaq -0x230(%rbp), %rax
movq %rax, -0x238(%rbp)
leaq -0x329(%rbp), %rdi
movq %rdi, -0x1120(%rbp)
callq 0x8760
movq -0x1120(%rbp), %rdx
leaq 0x654ee(%rip), %rsi     # 0x6f03f
leaq -0x328(%rbp), %rdi
callq 0xced0
jmp 0x9b5f
xorl %edx, %edx
movl %edx, %ecx
leaq -0x308(%rbp), %rdi
leaq -0x328(%rbp), %rsi
callq 0xcf80
jmp 0x9b78
leaq -0x351(%rbp), %rdi
movq %rdi, -0x1128(%rbp)
callq 0x8760
movq -0x1128(%rbp), %rdx
leaq 0x654ad(%rip), %rsi     # 0x6f046
leaq -0x350(%rbp), %rdi
callq 0xced0
jmp 0x9ba7
leaq -0x2d0(%rbp), %rdi
leaq -0x308(%rbp), %rsi
leaq -0x350(%rbp), %rdx
callq 0xd060
jmp 0x9bc3
leaq -0x230(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0xcff0
jmp 0x9bd8
movb $0x0, -0x352(%rbp)
leaq -0x230(%rbp), %rax
movq %rax, -0x220(%rbp)
movq $0x1, -0x218(%rbp)
leaq -0x353(%rbp), %rdi
movq %rdi, -0x1130(%rbp)
callq 0xd0b0
movq -0x1130(%rbp), %rcx
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
leaq -0x210(%rbp), %rdi
callq 0xd0d0
jmp 0x9c2e
leaq -0x170(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
leaq -0x210(%rbp), %rcx
callq 0xd150
jmp 0x9c51
leaq -0x30(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0xce60
jmp 0x9c63
movq -0x1100(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xce30
jmp 0x9c75
leaq -0x30(%rbp), %rdi
callq 0x94c0
leaq -0x170(%rbp), %rdi
callq 0xd2d0
leaq -0x210(%rbp), %rdi
callq 0xd380
leaq -0x353(%rbp), %rdi
callq 0xd3e0
leaq -0x230(%rbp), %rax
movq %rax, -0x1140(%rbp)
addq $0x10, %rax
movq %rax, -0x1138(%rbp)
movq -0x1138(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x1148(%rbp)
callq 0xd400
movq -0x1140(%rbp), %rcx
movq -0x1148(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1138(%rbp)
jne 0x9cbb
leaq -0x2d0(%rbp), %rdi
callq 0xd420
leaq -0x350(%rbp), %rdi
callq 0x8848
leaq -0x351(%rbp), %rdi
callq 0x8460
leaq -0x308(%rbp), %rdi
callq 0xd440
leaq -0x328(%rbp), %rdi
callq 0x8848
leaq -0x329(%rbp), %rdi
callq 0x8460
leaq -0x1f0(%rbp), %rdi
callq 0x8848
leaq -0x1f1(%rbp), %rdi
callq 0x8460
leaq -0x1a8(%rbp), %rdi
callq 0xd440
leaq -0x1c8(%rbp), %rdi
callq 0x8848
leaq -0x1c9(%rbp), %rdi
callq 0x8460
movq -0x10e0(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x1158(%rbp)
leaq -0x501(%rbp), %rdi
movq %rdi, -0x1150(%rbp)
callq 0x8760
movq -0x1150(%rbp), %rdx
leaq 0x65291(%rip), %rsi     # 0x6f034
leaq -0x500(%rbp), %rdi
callq 0xced0
jmp 0x9db1
xorl %edx, %edx
movl %edx, %ecx
leaq -0x4e0(%rbp), %rdi
leaq -0x500(%rbp), %rsi
callq 0xcf80
jmp 0x9dca
leaq -0x529(%rbp), %rdi
movq %rdi, -0x1160(%rbp)
callq 0x8760
movq -0x1160(%rbp), %rdx
leaq 0x65261(%rip), %rsi     # 0x6f04c
leaq -0x528(%rbp), %rdi
callq 0xced0
jmp 0x9df9
movb $0x1, -0x7ba(%rbp)
leaq -0x578(%rbp), %rax
movq %rax, -0x580(%rbp)
leaq -0x671(%rbp), %rdi
movq %rdi, -0x1168(%rbp)
callq 0x8760
movq -0x1168(%rbp), %rdx
leaq 0x65210(%rip), %rsi     # 0x6f03f
leaq -0x670(%rbp), %rdi
callq 0xced0
jmp 0x9e3d
xorl %edx, %edx
movl %edx, %ecx
leaq -0x650(%rbp), %rdi
leaq -0x670(%rbp), %rsi
callq 0xcf80
jmp 0x9e56
leaq -0x699(%rbp), %rdi
movq %rdi, -0x1170(%rbp)
callq 0x8760
movq -0x1170(%rbp), %rdx
leaq 0x6778e(%rip), %rsi     # 0x71605
leaq -0x698(%rbp), %rdi
callq 0xced0
jmp 0x9e85
leaq -0x618(%rbp), %rdi
leaq -0x650(%rbp), %rsi
leaq -0x698(%rbp), %rdx
callq 0xd060
jmp 0x9ea1
leaq -0x578(%rbp), %rdi
leaq -0x618(%rbp), %rsi
callq 0xcff0
jmp 0x9eb6
leaq -0x568(%rbp), %rax
movq %rax, -0x1180(%rbp)
movq %rax, -0x580(%rbp)
leaq -0x791(%rbp), %rdi
movq %rdi, -0x1178(%rbp)
callq 0x8760
movq -0x1178(%rbp), %rdx
leaq 0x65153(%rip), %rsi     # 0x6f03f
leaq -0x790(%rbp), %rdi
callq 0xced0
jmp 0x9efa
xorl %edx, %edx
movl %edx, %ecx
leaq -0x770(%rbp), %rdi
leaq -0x790(%rbp), %rsi
callq 0xcf80
jmp 0x9f13
leaq -0x7b9(%rbp), %rdi
movq %rdi, -0x1188(%rbp)
callq 0x8760
movq -0x1188(%rbp), %rdx
leaq 0x6511e(%rip), %rsi     # 0x6f052
leaq -0x7b8(%rbp), %rdi
callq 0xced0
jmp 0x9f42
leaq -0x738(%rbp), %rdi
leaq -0x770(%rbp), %rsi
leaq -0x7b8(%rbp), %rdx
callq 0xd060
jmp 0x9f5e
movq -0x1180(%rbp), %rdi
leaq -0x738(%rbp), %rsi
callq 0xcff0
jmp 0x9f73
movb $0x0, -0x7ba(%rbp)
leaq -0x578(%rbp), %rax
movq %rax, -0x558(%rbp)
movq $0x2, -0x550(%rbp)
leaq -0x7bb(%rbp), %rdi
movq %rdi, -0x1190(%rbp)
callq 0xd0b0
movq -0x1190(%rbp), %rcx
movq -0x558(%rbp), %rsi
movq -0x550(%rbp), %rdx
leaq -0x548(%rbp), %rdi
callq 0xd0d0
jmp 0x9fc9
leaq -0x4a8(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
leaq -0x528(%rbp), %rdx
leaq -0x548(%rbp), %rcx
callq 0xd150
jmp 0x9fec
leaq -0x368(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
callq 0xce60
jmp 0xa001
movq -0x1158(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0xce30
jmp 0xa016
leaq -0x368(%rbp), %rdi
callq 0x94c0
leaq -0x4a8(%rbp), %rdi
callq 0xd2d0
leaq -0x548(%rbp), %rdi
callq 0xd380
leaq -0x7bb(%rbp), %rdi
callq 0xd3e0
leaq -0x578(%rbp), %rax
movq %rax, -0x11a0(%rbp)
addq $0x20, %rax
movq %rax, -0x1198(%rbp)
movq -0x1198(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x11a8(%rbp)
callq 0xd400
movq -0x11a0(%rbp), %rcx
movq -0x11a8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1198(%rbp)
jne 0xa05f
leaq -0x738(%rbp), %rdi
callq 0xd420
leaq -0x7b8(%rbp), %rdi
callq 0x8848
leaq -0x7b9(%rbp), %rdi
callq 0x8460
leaq -0x770(%rbp), %rdi
callq 0xd440
leaq -0x790(%rbp), %rdi
callq 0x8848
leaq -0x791(%rbp), %rdi
callq 0x8460
leaq -0x618(%rbp), %rdi
callq 0xd420
leaq -0x698(%rbp), %rdi
callq 0x8848
leaq -0x699(%rbp), %rdi
callq 0x8460
leaq -0x650(%rbp), %rdi
callq 0xd440
leaq -0x670(%rbp), %rdi
callq 0x8848
leaq -0x671(%rbp), %rdi
callq 0x8460
leaq -0x528(%rbp), %rdi
callq 0x8848
leaq -0x529(%rbp), %rdi
callq 0x8460
leaq -0x4e0(%rbp), %rdi
callq 0xd440
leaq -0x500(%rbp), %rdi
callq 0x8848
leaq -0x501(%rbp), %rdi
callq 0x8460
movq -0x10e0(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x11b8(%rbp)
leaq -0x969(%rbp), %rdi
movq %rdi, -0x11b0(%rbp)
callq 0x8760
movq -0x11b0(%rbp), %rdx
leaq 0x64ea5(%rip), %rsi     # 0x6f034
leaq -0x968(%rbp), %rdi
callq 0xced0
jmp 0xa19d
xorl %edx, %edx
movl %edx, %ecx
leaq -0x948(%rbp), %rdi
leaq -0x968(%rbp), %rsi
callq 0xcf80
jmp 0xa1b6
leaq -0x991(%rbp), %rdi
movq %rdi, -0x11c0(%rbp)
callq 0x8760
movq -0x11c0(%rbp), %rdx
leaq 0x64e7d(%rip), %rsi     # 0x6f054
leaq -0x990(%rbp), %rdi
callq 0xced0
jmp 0xa1e5
xorps %xmm0, %xmm0
movaps %xmm0, -0x9b0(%rbp)
movq $0x0, -0x9a0(%rbp)
leaq -0x9b0(%rbp), %rdi
movq %rdi, -0x11c8(%rbp)
callq 0xd470
movq -0x11c8(%rbp), %rcx
leaq -0x910(%rbp), %rdi
leaq -0x948(%rbp), %rsi
leaq -0x990(%rbp), %rdx
callq 0xd150
jmp 0xa230
leaq -0x7d0(%rbp), %rdi
leaq -0x910(%rbp), %rsi
callq 0xce60
jmp 0xa245
movq -0x11b8(%rbp), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0xce30
jmp 0xa25a
leaq -0x7d0(%rbp), %rdi
callq 0x94c0
leaq -0x910(%rbp), %rdi
callq 0xd2d0
leaq -0x9b0(%rbp), %rdi
callq 0xd380
leaq -0x990(%rbp), %rdi
callq 0x8848
leaq -0x991(%rbp), %rdi
callq 0x8460
leaq -0x948(%rbp), %rdi
callq 0xd440
leaq -0x968(%rbp), %rdi
callq 0x8848
leaq -0x969(%rbp), %rdi
callq 0x8460
movq -0x10e0(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x11d8(%rbp)
leaq -0xb59(%rbp), %rdi
movq %rdi, -0x11d0(%rbp)
callq 0x8760
movq -0x11d0(%rbp), %rdx
leaq 0x64d52(%rip), %rsi     # 0x6f03f
leaq -0xb58(%rbp), %rdi
callq 0xced0
jmp 0xa2fb
xorl %edx, %edx
movl %edx, %ecx
leaq -0xb38(%rbp), %rdi
leaq -0xb58(%rbp), %rsi
callq 0xcf80
jmp 0xa314
leaq -0xb81(%rbp), %rdi
movq %rdi, -0x11e0(%rbp)
callq 0x8760
movq -0x11e0(%rbp), %rdx
leaq 0x64d27(%rip), %rsi     # 0x6f05c
leaq -0xb80(%rbp), %rdi
callq 0xced0
jmp 0xa343
xorps %xmm0, %xmm0
movaps %xmm0, -0xba0(%rbp)
movq $0x0, -0xb90(%rbp)
leaq -0xba0(%rbp), %rdi
movq %rdi, -0x11e8(%rbp)
callq 0xd470
movq -0x11e8(%rbp), %rcx
leaq -0xb00(%rbp), %rdi
leaq -0xb38(%rbp), %rsi
leaq -0xb80(%rbp), %rdx
callq 0xd150
jmp 0xa38e
leaq -0x9c0(%rbp), %rdi
leaq -0xb00(%rbp), %rsi
callq 0xce60
jmp 0xa3a3
movq -0x11d8(%rbp), %rdi
leaq -0x9c0(%rbp), %rsi
callq 0xce30
jmp 0xa3b8
leaq -0x9c0(%rbp), %rdi
callq 0x94c0
leaq -0xb00(%rbp), %rdi
callq 0xd2d0
leaq -0xba0(%rbp), %rdi
callq 0xd380
leaq -0xb80(%rbp), %rdi
callq 0x8848
leaq -0xb81(%rbp), %rdi
callq 0x8460
leaq -0xb38(%rbp), %rdi
callq 0xd440
leaq -0xb58(%rbp), %rdi
callq 0x8848
leaq -0xb59(%rbp), %rdi
callq 0x8460
movq -0x10e0(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x11f8(%rbp)
leaq -0xd49(%rbp), %rdi
movq %rdi, -0x11f0(%rbp)
callq 0x8760
movq -0x11f0(%rbp), %rdx
leaq 0x64bf4(%rip), %rsi     # 0x6f03f
leaq -0xd48(%rbp), %rdi
callq 0xced0
jmp 0xa459
xorl %edx, %edx
movl %edx, %ecx
leaq -0xd28(%rbp), %rdi
leaq -0xd48(%rbp), %rsi
callq 0xcf80
jmp 0xa472
leaq -0xd71(%rbp), %rdi
movq %rdi, -0x1200(%rbp)
callq 0x8760
movq -0x1200(%rbp), %rdx
leaq 0x64bce(%rip), %rsi     # 0x6f061
leaq -0xd70(%rbp), %rdi
callq 0xced0
jmp 0xa4a1
movb $0x1, -0xed2(%rbp)
leaq -0xdb0(%rbp), %rax
movq %rax, -0xdb8(%rbp)
leaq -0xea9(%rbp), %rdi
movq %rdi, -0x1208(%rbp)
callq 0x8760
movq -0x1208(%rbp), %rdx
leaq 0x64b68(%rip), %rsi     # 0x6f03f
leaq -0xea8(%rbp), %rdi
callq 0xced0
jmp 0xa4e5
xorl %edx, %edx
movl %edx, %ecx
leaq -0xe88(%rbp), %rdi
leaq -0xea8(%rbp), %rsi
callq 0xcf80
jmp 0xa4fe
leaq -0xed1(%rbp), %rdi
movq %rdi, -0x1210(%rbp)
callq 0x8760
movq -0x1210(%rbp), %rdx
leaq 0x64b48(%rip), %rsi     # 0x6f067
leaq -0xed0(%rbp), %rdi
callq 0xced0
jmp 0xa52d
leaq -0xe50(%rbp), %rdi
leaq -0xe88(%rbp), %rsi
leaq -0xed0(%rbp), %rdx
callq 0xd060
jmp 0xa549
leaq -0xdb0(%rbp), %rdi
leaq -0xe50(%rbp), %rsi
callq 0xcff0
jmp 0xa55e
movb $0x0, -0xed2(%rbp)
leaq -0xdb0(%rbp), %rax
movq %rax, -0xda0(%rbp)
movq $0x1, -0xd98(%rbp)
leaq -0xed3(%rbp), %rdi
movq %rdi, -0x1218(%rbp)
callq 0xd0b0
movq -0x1218(%rbp), %rcx
movq -0xda0(%rbp), %rsi
movq -0xd98(%rbp), %rdx
leaq -0xd90(%rbp), %rdi
callq 0xd0d0
jmp 0xa5b4
leaq -0xcf0(%rbp), %rdi
leaq -0xd28(%rbp), %rsi
leaq -0xd70(%rbp), %rdx
leaq -0xd90(%rbp), %rcx
callq 0xd150
jmp 0xa5d7
leaq -0xbb0(%rbp), %rdi
leaq -0xcf0(%rbp), %rsi
callq 0xce60
jmp 0xa5ec
movq -0x11f8(%rbp), %rdi
leaq -0xbb0(%rbp), %rsi
callq 0xce30
jmp 0xa601
leaq -0xbb0(%rbp), %rdi
callq 0x94c0
leaq -0xcf0(%rbp), %rdi
callq 0xd2d0
leaq -0xd90(%rbp), %rdi
callq 0xd380
leaq -0xed3(%rbp), %rdi
callq 0xd3e0
leaq -0xdb0(%rbp), %rax
movq %rax, -0x1228(%rbp)
addq $0x10, %rax
movq %rax, -0x1220(%rbp)
movq -0x1220(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x1230(%rbp)
callq 0xd400
movq -0x1228(%rbp), %rcx
movq -0x1230(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1220(%rbp)
jne 0xa64a
leaq -0xe50(%rbp), %rdi
callq 0xd420
leaq -0xed0(%rbp), %rdi
callq 0x8848
leaq -0xed1(%rbp), %rdi
callq 0x8460
leaq -0xe88(%rbp), %rdi
callq 0xd440
leaq -0xea8(%rbp), %rdi
callq 0x8848
leaq -0xea9(%rbp), %rdi
callq 0x8460
leaq -0xd70(%rbp), %rdi
callq 0x8848
leaq -0xd71(%rbp), %rdi
callq 0x8460
leaq -0xd28(%rbp), %rdi
callq 0xd440
leaq -0xd48(%rbp), %rdi
callq 0x8848
leaq -0xd49(%rbp), %rdi
callq 0x8460
movq -0x10e0(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x1240(%rbp)
leaq -0x1081(%rbp), %rdi
movq %rdi, -0x1238(%rbp)
callq 0x8760
movq -0x1238(%rbp), %rdx
leaq 0x6490d(%rip), %rsi     # 0x6f03f
leaq -0x1080(%rbp), %rdi
callq 0xced0
jmp 0xa740
xorl %edx, %edx
movl %edx, %ecx
leaq -0x1060(%rbp), %rdi
leaq -0x1080(%rbp), %rsi
callq 0xcf80
jmp 0xa759
leaq -0x10a9(%rbp), %rdi
movq %rdi, -0x1248(%rbp)
callq 0x8760
movq -0x1248(%rbp), %rdx
leaq 0x648f6(%rip), %rsi     # 0x6f070
leaq -0x10a8(%rbp), %rdi
callq 0xced0
jmp 0xa788
xorps %xmm0, %xmm0
movaps %xmm0, -0x10d0(%rbp)
movq $0x0, -0x10c0(%rbp)
leaq -0x10d0(%rbp), %rdi
movq %rdi, -0x1250(%rbp)
callq 0xd470
movq -0x1250(%rbp), %rcx
leaq -0x1028(%rbp), %rdi
leaq -0x1060(%rbp), %rsi
leaq -0x10a8(%rbp), %rdx
callq 0xd150
jmp 0xa7d3
leaq -0xee8(%rbp), %rdi
leaq -0x1028(%rbp), %rsi
callq 0xce60
jmp 0xa7e8
movq -0x1240(%rbp), %rdi
leaq -0xee8(%rbp), %rsi
callq 0xce30
jmp 0xa7fd
leaq -0xee8(%rbp), %rdi
callq 0x94c0
leaq -0x1028(%rbp), %rdi
callq 0xd2d0
leaq -0x10d0(%rbp), %rdi
callq 0xd380
leaq -0x10a8(%rbp), %rdi
callq 0x8848
leaq -0x10a9(%rbp), %rdi
callq 0x8460
leaq -0x1060(%rbp), %rdi
callq 0xd440
leaq -0x1080(%rbp), %rdi
callq 0x8848
leaq -0x1081(%rbp), %rdi
callq 0x8460
addq $0x12d0, %rsp           # imm = 0x12D0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb1af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaa7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaa72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaa5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xa9ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xa9de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xa9c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xa9ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xa9ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xa956
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xa94a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xa93e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x94c0
leaq -0x170(%rbp), %rdi
callq 0xd2d0
leaq -0x210(%rbp), %rdi
callq 0xd380
leaq -0x353(%rbp), %rdi
callq 0xd3e0
leaq -0x230(%rbp), %rax
movq %rax, -0x1260(%rbp)
addq $0x10, %rax
movq %rax, -0x1258(%rbp)
movq -0x1258(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x1268(%rbp)
callq 0xd400
movq -0x1260(%rbp), %rcx
movq -0x1268(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1258(%rbp)
jne 0xa97b
jmp 0xa9ae
leaq -0x2d0(%rbp), %rdi
callq 0xd420
leaq -0x350(%rbp), %rdi
callq 0x8848
leaq -0x351(%rbp), %rdi
callq 0x8460
leaq -0x308(%rbp), %rdi
callq 0xd440
leaq -0x328(%rbp), %rdi
callq 0x8848
leaq -0x329(%rbp), %rdi
callq 0x8460
testb $0x1, -0x352(%rbp)
jne 0xaa01
jmp 0xaa4e
movq -0x238(%rbp), %rax
leaq -0x230(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1270(%rbp)
je 0xaa4c
movq -0x1270(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x1278(%rbp)
callq 0xd400
movq -0x1278(%rbp), %rax
leaq -0x230(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1270(%rbp)
jne 0xaa1b
jmp 0xaa4e
leaq -0x1f0(%rbp), %rdi
callq 0x8848
leaq -0x1f1(%rbp), %rdi
callq 0x8460
leaq -0x1a8(%rbp), %rdi
callq 0xd440
leaq -0x1c8(%rbp), %rdi
callq 0x8848
leaq -0x1c9(%rbp), %rdi
callq 0x8460
jmp 0xb18b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xad36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xad2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xad12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaca2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xac1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xabc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xabba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xabae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x94c0
leaq -0x4a8(%rbp), %rdi
callq 0xd2d0
leaq -0x548(%rbp), %rdi
callq 0xd380
leaq -0x7bb(%rbp), %rdi
callq 0xd3e0
leaq -0x578(%rbp), %rax
movq %rax, -0x1288(%rbp)
addq $0x20, %rax
movq %rax, -0x1280(%rbp)
movq -0x1280(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x1290(%rbp)
callq 0xd400
movq -0x1288(%rbp), %rcx
movq -0x1290(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1280(%rbp)
jne 0xabeb
jmp 0xac1e
leaq -0x738(%rbp), %rdi
callq 0xd420
leaq -0x7b8(%rbp), %rdi
callq 0x8848
leaq -0x7b9(%rbp), %rdi
callq 0x8460
leaq -0x770(%rbp), %rdi
callq 0xd440
leaq -0x790(%rbp), %rdi
callq 0x8848
leaq -0x791(%rbp), %rdi
callq 0x8460
leaq -0x618(%rbp), %rdi
callq 0xd420
leaq -0x698(%rbp), %rdi
callq 0x8848
leaq -0x699(%rbp), %rdi
callq 0x8460
leaq -0x650(%rbp), %rdi
callq 0xd440
leaq -0x670(%rbp), %rdi
callq 0x8848
leaq -0x671(%rbp), %rdi
callq 0x8460
testb $0x1, -0x7ba(%rbp)
jne 0xacb9
jmp 0xad06
movq -0x580(%rbp), %rax
leaq -0x578(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1298(%rbp)
je 0xad04
movq -0x1298(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x12a0(%rbp)
callq 0xd400
movq -0x12a0(%rbp), %rax
leaq -0x578(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1298(%rbp)
jne 0xacd3
jmp 0xad06
leaq -0x528(%rbp), %rdi
callq 0x8848
leaq -0x529(%rbp), %rdi
callq 0x8460
leaq -0x4e0(%rbp), %rdi
callq 0xd440
leaq -0x500(%rbp), %rdi
callq 0x8848
leaq -0x501(%rbp), %rdi
callq 0x8460
jmp 0xb18b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xadf0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xade4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xadcc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xadb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xada8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x7d0(%rbp), %rdi
callq 0x94c0
leaq -0x910(%rbp), %rdi
callq 0xd2d0
leaq -0x9b0(%rbp), %rdi
callq 0xd380
leaq -0x990(%rbp), %rdi
callq 0x8848
leaq -0x991(%rbp), %rdi
callq 0x8460
leaq -0x948(%rbp), %rdi
callq 0xd440
leaq -0x968(%rbp), %rdi
callq 0x8848
leaq -0x969(%rbp), %rdi
callq 0x8460
jmp 0xb18b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaeaa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xae9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xae86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xae6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xae62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0x94c0
leaq -0xb00(%rbp), %rdi
callq 0xd2d0
leaq -0xba0(%rbp), %rdi
callq 0xd380
leaq -0xb80(%rbp), %rdi
callq 0x8848
leaq -0xb81(%rbp), %rdi
callq 0x8460
leaq -0xb38(%rbp), %rdi
callq 0xd440
leaq -0xb58(%rbp), %rdi
callq 0x8848
leaq -0xb59(%rbp), %rdi
callq 0x8460
jmp 0xb18b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb0c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb0b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb0a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb031
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb025
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb00d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb001
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaff5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaf9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaf91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xaf85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xbb0(%rbp), %rdi
callq 0x94c0
leaq -0xcf0(%rbp), %rdi
callq 0xd2d0
leaq -0xd90(%rbp), %rdi
callq 0xd380
leaq -0xed3(%rbp), %rdi
callq 0xd3e0
leaq -0xdb0(%rbp), %rax
movq %rax, -0x12b0(%rbp)
addq $0x10, %rax
movq %rax, -0x12a8(%rbp)
movq -0x12a8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x12b8(%rbp)
callq 0xd400
movq -0x12b0(%rbp), %rcx
movq -0x12b8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x12a8(%rbp)
jne 0xafc2
jmp 0xaff5
leaq -0xe50(%rbp), %rdi
callq 0xd420
leaq -0xed0(%rbp), %rdi
callq 0x8848
leaq -0xed1(%rbp), %rdi
callq 0x8460
leaq -0xe88(%rbp), %rdi
callq 0xd440
leaq -0xea8(%rbp), %rdi
callq 0x8848
leaq -0xea9(%rbp), %rdi
callq 0x8460
testb $0x1, -0xed2(%rbp)
jne 0xb048
jmp 0xb095
movq -0xdb8(%rbp), %rax
leaq -0xdb0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x12c0(%rbp)
je 0xb093
movq -0x12c0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x12c8(%rbp)
callq 0xd400
movq -0x12c8(%rbp), %rax
leaq -0xdb0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x12c0(%rbp)
jne 0xb062
jmp 0xb095
leaq -0xd70(%rbp), %rdi
callq 0x8848
leaq -0xd71(%rbp), %rdi
callq 0x8460
leaq -0xd28(%rbp), %rdi
callq 0xd440
leaq -0xd48(%rbp), %rdi
callq 0x8848
leaq -0xd49(%rbp), %rdi
callq 0x8460
jmp 0xb18b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb17f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb173
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb15b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb143
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xb137
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xee8(%rbp), %rdi
callq 0x94c0
leaq -0x1028(%rbp), %rdi
callq 0xd2d0
leaq -0x10d0(%rbp), %rdi
callq 0xd380
leaq -0x10a8(%rbp), %rdi
callq 0x8848
leaq -0x10a9(%rbp), %rdi
callq 0x8460
leaq -0x1060(%rbp), %rdi
callq 0xd440
leaq -0x1080(%rbp), %rdi
callq 0x8848
leaq -0x1081(%rbp), %rdi
callq 0x8460
movq -0x1108(%rbp), %rdi
callq 0x8d20
movq -0x1110(%rbp), %rdi
callq 0x8848
movq -0x10d8(%rbp), %rdi
callq 0x85e0
movq -0x10e8(%rbp), %rdi
callq 0x8d40
movq -0x10f0(%rbp), %rdi
callq 0x8da0
movq -0x18(%rbp), %rdi
callq 0x8750