// File: halfflat[P]tinyopt/test/test_state.cc
// Function: state_shift_Test::TestBody()
TEST(state, shift) {
    const char* argstr = "zero\0one\0two\0three\0four\0five\0six\0";
    mockargs M(argstr);

    std::vector<char*> v0 = M.args;
    to::state s(M.argc, M.argv);

    s.shift(0);
    EXPECT_EQ(7, M.argc);
    EXPECT_EQ(0, M.argv[M.argc]);
    EXPECT_EQ(v0[0], M.argv[0]);

    s.shift();
    EXPECT_EQ(6, M.argc);
    EXPECT_EQ(0, M.argv[M.argc]);
    EXPECT_EQ(v0[1], M.argv[0]);

    s.skip();
    EXPECT_EQ(6, M.argc);
    EXPECT_EQ(0, M.argv[M.argc]);
    EXPECT_EQ(M.argv[1], s.argv[0]);
    EXPECT_EQ(v0[1], M.argv[0]);
    EXPECT_EQ(v0[2], s.argv[0]);

    s.shift(2);
    EXPECT_EQ(4, M.argc);
    EXPECT_EQ(0, M.argv[M.argc]);
    EXPECT_EQ(M.argv[1], s.argv[0]);
    EXPECT_EQ(v0[4], M.argv[1]);
    EXPECT_EQ(v0[4], s.argv[0]);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3a0, %rsp            # imm = 0x3A0
movq %rdi, -0x8(%rbp)
leaq 0x87662(%rip), %rax     # 0xca3f8
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x4bfe0
leaq -0x28(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x4c040
jmp 0x42db6
movq -0x30(%rbp), %rdx
leaq -0x78(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x4c130
jmp 0x42dc9
leaq -0x78(%rbp), %rdi
xorl %esi, %esi
callq 0x4c160
jmp 0x42dd6
movl $0x7, -0x8c(%rbp)
leaq 0x85696(%rip), %rsi     # 0xc847d
leaq 0x8746b(%rip), %rdx     # 0xca259
leaq -0x88(%rbp), %rdi
leaq -0x8c(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x1d5d0
jmp 0x42e07
leaq -0x88(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x299(%rbp)
jmp 0x42e1b
movb -0x299(%rbp), %al
testb $0x1, %al
jne 0x42e27
jmp 0x42e5f
jmp 0x42f0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4411f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x42f68
leaq -0x98(%rbp), %rdi
callq 0x84210
jmp 0x42e6d
leaq -0x88(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2a8(%rbp)
jmp 0x42e82
movq -0x2a8(%rbp), %r8
leaq 0x8737b(%rip), %rdx     # 0xca20b
leaq -0xa0(%rbp), %rdi
movl $0x1, %esi
movl $0x14, %ecx
callq 0x80580
jmp 0x42ea8
leaq -0xa0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x7d370
jmp 0x42ebd
leaq -0xa0(%rbp), %rdi
callq 0x80600
leaq -0x98(%rbp), %rdi
callq 0x1d500
jmp 0x42f0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x42efd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x80600
leaq -0x98(%rbp), %rdi
callq 0x1d500
jmp 0x42f68
leaq -0x88(%rbp), %rdi
callq 0x1d520
movq -0x30(%rbp), %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %r8
leaq 0x8c844(%rip), %rsi     # 0xcf76e
leaq 0x8732f(%rip), %rdx     # 0xca260
xorl %eax, %eax
movl %eax, %ecx
leaq -0xb0(%rbp), %rdi
callq 0x4c230
jmp 0x42f43
leaq -0xb0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2a9(%rbp)
jmp 0x42f57
movb -0x2a9(%rbp), %al
testb $0x1, %al
jne 0x42f63
jmp 0x42f8a
jmp 0x43036
leaq -0x88(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43097
leaq -0xb8(%rbp), %rdi
callq 0x84210
jmp 0x42f98
leaq -0xb0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2b8(%rbp)
jmp 0x42fad
movq -0x2b8(%rbp), %r8
leaq 0x87250(%rip), %rdx     # 0xca20b
leaq -0xc0(%rbp), %rdi
movl $0x1, %esi
movl $0x15, %ecx
callq 0x80580
jmp 0x42fd3
leaq -0xc0(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x7d370
jmp 0x42fe8
leaq -0xc0(%rbp), %rdi
callq 0x80600
leaq -0xb8(%rbp), %rdi
callq 0x1d500
jmp 0x43036
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43028
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x80600
leaq -0xb8(%rbp), %rdi
callq 0x1d500
jmp 0x43097
leaq -0xb0(%rbp), %rdi
callq 0x1d520
xorl %eax, %eax
movl %eax, %esi
leaq -0x50(%rbp), %rdi
callq 0x4c2d0
movq %rax, %rcx
movq -0x30(%rbp), %r8
leaq 0x87212(%rip), %rsi     # 0xca26f
leaq 0x87211(%rip), %rdx     # 0xca275
leaq -0xd0(%rbp), %rdi
callq 0x4c280
jmp 0x43072
leaq -0xd0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2b9(%rbp)
jmp 0x43086
movb -0x2b9(%rbp), %al
testb $0x1, %al
jne 0x43092
jmp 0x430b9
jmp 0x43165
leaq -0xb0(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x431d7
leaq -0xd8(%rbp), %rdi
callq 0x84210
jmp 0x430c7
leaq -0xd0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2c8(%rbp)
jmp 0x430dc
movq -0x2c8(%rbp), %r8
leaq 0x87121(%rip), %rdx     # 0xca20b
leaq -0xe0(%rbp), %rdi
movl $0x1, %esi
movl $0x16, %ecx
callq 0x80580
jmp 0x43102
leaq -0xe0(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x7d370
jmp 0x43117
leaq -0xe0(%rbp), %rdi
callq 0x80600
leaq -0xd8(%rbp), %rdi
callq 0x1d500
jmp 0x43165
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43157
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x80600
leaq -0xd8(%rbp), %rdi
callq 0x1d500
jmp 0x431d7
leaq -0xd0(%rbp), %rdi
callq 0x1d520
leaq -0x78(%rbp), %rdi
movl $0x1, %esi
callq 0x4c160
jmp 0x43181
movl $0x6, -0xf4(%rbp)
leaq 0x87bef(%rip), %rsi     # 0xcad81
leaq 0x870c0(%rip), %rdx     # 0xca259
leaq -0xf0(%rbp), %rdi
leaq -0xf4(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x1d5d0
jmp 0x431b2
leaq -0xf0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2c9(%rbp)
jmp 0x431c6
movb -0x2c9(%rbp), %al
testb $0x1, %al
jne 0x431d2
jmp 0x431f9
jmp 0x432a5
leaq -0xd0(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43302
leaq -0x100(%rbp), %rdi
callq 0x84210
jmp 0x43207
leaq -0xf0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2d8(%rbp)
jmp 0x4321c
movq -0x2d8(%rbp), %r8
leaq 0x86fe1(%rip), %rdx     # 0xca20b
leaq -0x108(%rbp), %rdi
movl $0x1, %esi
movl $0x19, %ecx
callq 0x80580
jmp 0x43242
leaq -0x108(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x7d370
jmp 0x43257
leaq -0x108(%rbp), %rdi
callq 0x80600
leaq -0x100(%rbp), %rdi
callq 0x1d500
jmp 0x432a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x80600
leaq -0x100(%rbp), %rdi
callq 0x1d500
jmp 0x43302
leaq -0xf0(%rbp), %rdi
callq 0x1d520
movq -0x30(%rbp), %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %r8
leaq 0x8c4aa(%rip), %rsi     # 0xcf76e
leaq 0x86f95(%rip), %rdx     # 0xca260
xorl %eax, %eax
movl %eax, %ecx
leaq -0x118(%rbp), %rdi
callq 0x4c230
jmp 0x432dd
leaq -0x118(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2d9(%rbp)
jmp 0x432f1
movb -0x2d9(%rbp), %al
testb $0x1, %al
jne 0x432fd
jmp 0x43324
jmp 0x433d0
leaq -0xf0(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43432
leaq -0x120(%rbp), %rdi
callq 0x84210
jmp 0x43332
leaq -0x118(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2e8(%rbp)
jmp 0x43347
movq -0x2e8(%rbp), %r8
leaq 0x86eb6(%rip), %rdx     # 0xca20b
leaq -0x128(%rbp), %rdi
movl $0x1, %esi
movl $0x1a, %ecx
callq 0x80580
jmp 0x4336d
leaq -0x128(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x7d370
jmp 0x43382
leaq -0x128(%rbp), %rdi
callq 0x80600
leaq -0x120(%rbp), %rdi
callq 0x1d500
jmp 0x433d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x433c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x80600
leaq -0x120(%rbp), %rdi
callq 0x1d500
jmp 0x43432
leaq -0x118(%rbp), %rdi
callq 0x1d520
leaq -0x50(%rbp), %rdi
movl $0x1, %esi
callq 0x4c2d0
movq %rax, %rcx
movq -0x30(%rbp), %r8
leaq 0x86e87(%rip), %rsi     # 0xca27f
leaq 0x86e76(%rip), %rdx     # 0xca275
leaq -0x138(%rbp), %rdi
callq 0x4c280
jmp 0x4340d
leaq -0x138(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2e9(%rbp)
jmp 0x43421
movb -0x2e9(%rbp), %al
testb $0x1, %al
jne 0x4342d
jmp 0x43454
jmp 0x43500
leaq -0x118(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4356d
leaq -0x140(%rbp), %rdi
callq 0x84210
jmp 0x43462
leaq -0x138(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2f8(%rbp)
jmp 0x43477
movq -0x2f8(%rbp), %r8
leaq 0x86d86(%rip), %rdx     # 0xca20b
leaq -0x148(%rbp), %rdi
movl $0x1, %esi
movl $0x1b, %ecx
callq 0x80580
jmp 0x4349d
leaq -0x148(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x7d370
jmp 0x434b2
leaq -0x148(%rbp), %rdi
callq 0x80600
leaq -0x140(%rbp), %rdi
callq 0x1d500
jmp 0x43500
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x434f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x80600
leaq -0x140(%rbp), %rdi
callq 0x1d500
jmp 0x4356d
leaq -0x138(%rbp), %rdi
callq 0x1d520
leaq -0x78(%rbp), %rdi
callq 0x4c2f0
jmp 0x43517
movl $0x6, -0x15c(%rbp)
leaq 0x87859(%rip), %rsi     # 0xcad81
leaq 0x86d2a(%rip), %rdx     # 0xca259
leaq -0x158(%rbp), %rdi
leaq -0x15c(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x1d5d0
jmp 0x43548
leaq -0x158(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2f9(%rbp)
jmp 0x4355c
movb -0x2f9(%rbp), %al
testb $0x1, %al
jne 0x43568
jmp 0x4358f
jmp 0x4363b
leaq -0x138(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43698
leaq -0x168(%rbp), %rdi
callq 0x84210
jmp 0x4359d
leaq -0x158(%rbp), %rdi
callq 0x1d620
movq %rax, -0x308(%rbp)
jmp 0x435b2
movq -0x308(%rbp), %r8
leaq 0x86c4b(%rip), %rdx     # 0xca20b
leaq -0x170(%rbp), %rdi
movl $0x1, %esi
movl $0x1e, %ecx
callq 0x80580
jmp 0x435d8
leaq -0x170(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x7d370
jmp 0x435ed
leaq -0x170(%rbp), %rdi
callq 0x80600
leaq -0x168(%rbp), %rdi
callq 0x1d500
jmp 0x4363b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4362d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x80600
leaq -0x168(%rbp), %rdi
callq 0x1d500
jmp 0x43698
leaq -0x158(%rbp), %rdi
callq 0x1d520
movq -0x30(%rbp), %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %r8
leaq 0x8c114(%rip), %rsi     # 0xcf76e
leaq 0x86bff(%rip), %rdx     # 0xca260
xorl %eax, %eax
movl %eax, %ecx
leaq -0x180(%rbp), %rdi
callq 0x4c230
jmp 0x43673
leaq -0x180(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x309(%rbp)
jmp 0x43687
movb -0x309(%rbp), %al
testb $0x1, %al
jne 0x43693
jmp 0x436ba
jmp 0x43766
leaq -0x158(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x437bf
leaq -0x188(%rbp), %rdi
callq 0x84210
jmp 0x436c8
leaq -0x180(%rbp), %rdi
callq 0x1d620
movq %rax, -0x318(%rbp)
jmp 0x436dd
movq -0x318(%rbp), %r8
leaq 0x86b20(%rip), %rdx     # 0xca20b
leaq -0x190(%rbp), %rdi
movl $0x1, %esi
movl $0x1f, %ecx
callq 0x80580
jmp 0x43703
leaq -0x190(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x7d370
jmp 0x43718
leaq -0x190(%rbp), %rdi
callq 0x80600
leaq -0x188(%rbp), %rdi
callq 0x1d500
jmp 0x43766
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43758
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x80600
leaq -0x188(%rbp), %rdi
callq 0x1d500
jmp 0x437bf
leaq -0x180(%rbp), %rdi
callq 0x1d520
movq -0x30(%rbp), %rcx
addq $0x8, %rcx
movq -0x70(%rbp), %r8
leaq 0x86b00(%rip), %rsi     # 0xca285
leaq 0x86b03(%rip), %rdx     # 0xca28f
leaq -0x1a0(%rbp), %rdi
callq 0x4c280
jmp 0x4379a
leaq -0x1a0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x319(%rbp)
jmp 0x437ae
movb -0x319(%rbp), %al
testb $0x1, %al
jne 0x437ba
jmp 0x437e1
jmp 0x4388d
leaq -0x180(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x438ef
leaq -0x1a8(%rbp), %rdi
callq 0x84210
jmp 0x437ef
leaq -0x1a0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x328(%rbp)
jmp 0x43804
movq -0x328(%rbp), %r8
leaq 0x869f9(%rip), %rdx     # 0xca20b
leaq -0x1b0(%rbp), %rdi
movl $0x1, %esi
movl $0x20, %ecx
callq 0x80580
jmp 0x4382a
leaq -0x1b0(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x7d370
jmp 0x4383f
leaq -0x1b0(%rbp), %rdi
callq 0x80600
leaq -0x1a8(%rbp), %rdi
callq 0x1d500
jmp 0x4388d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4387f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x80600
leaq -0x1a8(%rbp), %rdi
callq 0x1d500
jmp 0x438ef
leaq -0x1a0(%rbp), %rdi
callq 0x1d520
leaq -0x50(%rbp), %rdi
movl $0x1, %esi
callq 0x4c2d0
movq %rax, %rcx
movq -0x30(%rbp), %r8
leaq 0x869ca(%rip), %rsi     # 0xca27f
leaq 0x869b9(%rip), %rdx     # 0xca275
leaq -0x1c0(%rbp), %rdi
callq 0x4c280
jmp 0x438ca
leaq -0x1c0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x329(%rbp)
jmp 0x438de
movb -0x329(%rbp), %al
testb $0x1, %al
jne 0x438ea
jmp 0x43911
jmp 0x439bd
leaq -0x1a0(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43a1f
leaq -0x1c8(%rbp), %rdi
callq 0x84210
jmp 0x4391f
leaq -0x1c0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x338(%rbp)
jmp 0x43934
movq -0x338(%rbp), %r8
leaq 0x868c9(%rip), %rdx     # 0xca20b
leaq -0x1d0(%rbp), %rdi
movl $0x1, %esi
movl $0x21, %ecx
callq 0x80580
jmp 0x4395a
leaq -0x1d0(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x7d370
jmp 0x4396f
leaq -0x1d0(%rbp), %rdi
callq 0x80600
leaq -0x1c8(%rbp), %rdi
callq 0x1d500
jmp 0x439bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x439af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x80600
leaq -0x1c8(%rbp), %rdi
callq 0x1d500
jmp 0x43a1f
leaq -0x1c0(%rbp), %rdi
callq 0x1d520
leaq -0x50(%rbp), %rdi
movl $0x2, %esi
callq 0x4c2d0
movq %rax, %rcx
movq -0x70(%rbp), %r8
leaq 0x868b4(%rip), %rsi     # 0xca299
leaq 0x868a3(%rip), %rdx     # 0xca28f
leaq -0x1e0(%rbp), %rdi
callq 0x4c280
jmp 0x439fa
leaq -0x1e0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x339(%rbp)
jmp 0x43a0e
movb -0x339(%rbp), %al
testb $0x1, %al
jne 0x43a1a
jmp 0x43a41
jmp 0x43aed
leaq -0x1c0(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43b5f
leaq -0x1e8(%rbp), %rdi
callq 0x84210
jmp 0x43a4f
leaq -0x1e0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x348(%rbp)
jmp 0x43a64
movq -0x348(%rbp), %r8
leaq 0x86799(%rip), %rdx     # 0xca20b
leaq -0x1f0(%rbp), %rdi
movl $0x1, %esi
movl $0x22, %ecx
callq 0x80580
jmp 0x43a8a
leaq -0x1f0(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x7d370
jmp 0x43a9f
leaq -0x1f0(%rbp), %rdi
callq 0x80600
leaq -0x1e8(%rbp), %rdi
callq 0x1d500
jmp 0x43aed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43adf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x80600
leaq -0x1e8(%rbp), %rdi
callq 0x1d500
jmp 0x43b5f
leaq -0x1e0(%rbp), %rdi
callq 0x1d520
leaq -0x78(%rbp), %rdi
movl $0x2, %esi
callq 0x4c160
jmp 0x43b09
movl $0x4, -0x204(%rbp)
leaq 0x87257(%rip), %rsi     # 0xcad71
leaq 0x86738(%rip), %rdx     # 0xca259
leaq -0x200(%rbp), %rdi
leaq -0x204(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x1d5d0
jmp 0x43b3a
leaq -0x200(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x349(%rbp)
jmp 0x43b4e
movb -0x349(%rbp), %al
testb $0x1, %al
jne 0x43b5a
jmp 0x43b81
jmp 0x43c2d
leaq -0x1e0(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43c8a
leaq -0x210(%rbp), %rdi
callq 0x84210
jmp 0x43b8f
leaq -0x200(%rbp), %rdi
callq 0x1d620
movq %rax, -0x358(%rbp)
jmp 0x43ba4
movq -0x358(%rbp), %r8
leaq 0x86659(%rip), %rdx     # 0xca20b
leaq -0x218(%rbp), %rdi
movl $0x1, %esi
movl $0x25, %ecx
callq 0x80580
jmp 0x43bca
leaq -0x218(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x7d370
jmp 0x43bdf
leaq -0x218(%rbp), %rdi
callq 0x80600
leaq -0x210(%rbp), %rdi
callq 0x1d500
jmp 0x43c2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43c1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x80600
leaq -0x210(%rbp), %rdi
callq 0x1d500
jmp 0x43c8a
leaq -0x200(%rbp), %rdi
callq 0x1d520
movq -0x30(%rbp), %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %r8
leaq 0x8bb22(%rip), %rsi     # 0xcf76e
leaq 0x8660d(%rip), %rdx     # 0xca260
xorl %eax, %eax
movl %eax, %ecx
leaq -0x228(%rbp), %rdi
callq 0x4c230
jmp 0x43c65
leaq -0x228(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x359(%rbp)
jmp 0x43c79
movb -0x359(%rbp), %al
testb $0x1, %al
jne 0x43c85
jmp 0x43cac
jmp 0x43d58
leaq -0x200(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43db1
leaq -0x230(%rbp), %rdi
callq 0x84210
jmp 0x43cba
leaq -0x228(%rbp), %rdi
callq 0x1d620
movq %rax, -0x368(%rbp)
jmp 0x43ccf
movq -0x368(%rbp), %r8
leaq 0x8652e(%rip), %rdx     # 0xca20b
leaq -0x238(%rbp), %rdi
movl $0x1, %esi
movl $0x26, %ecx
callq 0x80580
jmp 0x43cf5
leaq -0x238(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x7d370
jmp 0x43d0a
leaq -0x238(%rbp), %rdi
callq 0x80600
leaq -0x230(%rbp), %rdi
callq 0x1d500
jmp 0x43d58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43d4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x80600
leaq -0x230(%rbp), %rdi
callq 0x1d500
jmp 0x43db1
leaq -0x228(%rbp), %rdi
callq 0x1d520
movq -0x30(%rbp), %rcx
addq $0x8, %rcx
movq -0x70(%rbp), %r8
leaq 0x8650e(%rip), %rsi     # 0xca285
leaq 0x86511(%rip), %rdx     # 0xca28f
leaq -0x248(%rbp), %rdi
callq 0x4c280
jmp 0x43d8c
leaq -0x248(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x369(%rbp)
jmp 0x43da0
movb -0x369(%rbp), %al
testb $0x1, %al
jne 0x43dac
jmp 0x43dd3
jmp 0x43e7f
leaq -0x228(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43ee5
leaq -0x250(%rbp), %rdi
callq 0x84210
jmp 0x43de1
leaq -0x248(%rbp), %rdi
callq 0x1d620
movq %rax, -0x378(%rbp)
jmp 0x43df6
movq -0x378(%rbp), %r8
leaq 0x86407(%rip), %rdx     # 0xca20b
leaq -0x258(%rbp), %rdi
movl $0x1, %esi
movl $0x27, %ecx
callq 0x80580
jmp 0x43e1c
leaq -0x258(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x7d370
jmp 0x43e31
leaq -0x258(%rbp), %rdi
callq 0x80600
leaq -0x250(%rbp), %rdi
callq 0x1d500
jmp 0x43e7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43e71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x80600
leaq -0x250(%rbp), %rdi
callq 0x1d500
jmp 0x43ee5
leaq -0x248(%rbp), %rdi
callq 0x1d520
leaq -0x50(%rbp), %rdi
movl $0x4, %esi
callq 0x4c2d0
movq %rax, %rcx
movq -0x30(%rbp), %r8
addq $0x8, %r8
leaq 0x863f4(%rip), %rsi     # 0xca29f
leaq 0x863d3(%rip), %rdx     # 0xca285
leaq -0x268(%rbp), %rdi
callq 0x4c280
jmp 0x43ec0
leaq -0x268(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x379(%rbp)
jmp 0x43ed4
movb -0x379(%rbp), %al
testb $0x1, %al
jne 0x43ee0
jmp 0x43f07
jmp 0x43fb3
leaq -0x248(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x44015
leaq -0x270(%rbp), %rdi
callq 0x84210
jmp 0x43f15
leaq -0x268(%rbp), %rdi
callq 0x1d620
movq %rax, -0x388(%rbp)
jmp 0x43f2a
movq -0x388(%rbp), %r8
leaq 0x862d3(%rip), %rdx     # 0xca20b
leaq -0x278(%rbp), %rdi
movl $0x1, %esi
movl $0x28, %ecx
callq 0x80580
jmp 0x43f50
leaq -0x278(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x7d370
jmp 0x43f65
leaq -0x278(%rbp), %rdi
callq 0x80600
leaq -0x270(%rbp), %rdi
callq 0x1d500
jmp 0x43fb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x43fa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x80600
leaq -0x270(%rbp), %rdi
callq 0x1d500
jmp 0x44015
leaq -0x268(%rbp), %rdi
callq 0x1d520
leaq -0x50(%rbp), %rdi
movl $0x4, %esi
callq 0x4c2d0
movq %rax, %rcx
movq -0x70(%rbp), %r8
leaq 0x862c4(%rip), %rsi     # 0xca29f
leaq 0x862ad(%rip), %rdx     # 0xca28f
leaq -0x288(%rbp), %rdi
callq 0x4c280
jmp 0x43ff0
leaq -0x288(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x389(%rbp)
jmp 0x44004
movb -0x389(%rbp), %al
testb $0x1, %al
jne 0x44010
jmp 0x44037
jmp 0x440e3
leaq -0x268(%rbp), %rdi
callq 0x1d520
jmp 0x44116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4410a
leaq -0x290(%rbp), %rdi
callq 0x84210
jmp 0x44045
leaq -0x288(%rbp), %rdi
callq 0x1d620
movq %rax, -0x398(%rbp)
jmp 0x4405a
movq -0x398(%rbp), %r8
leaq 0x861a3(%rip), %rdx     # 0xca20b
leaq -0x298(%rbp), %rdi
movl $0x1, %esi
movl $0x29, %ecx
callq 0x80580
jmp 0x44080
leaq -0x298(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x7d370
jmp 0x44095
leaq -0x298(%rbp), %rdi
callq 0x80600
leaq -0x290(%rbp), %rdi
callq 0x1d500
jmp 0x440e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x440d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x80600
leaq -0x290(%rbp), %rdi
callq 0x1d500
jmp 0x4410a
leaq -0x288(%rbp), %rdi
callq 0x1d520
leaq -0x50(%rbp), %rdi
callq 0x4c320
leaq -0x38(%rbp), %rdi
callq 0x4c380
addq $0x3a0, %rsp            # imm = 0x3A0
popq %rbp
retq
leaq -0x288(%rbp), %rdi
callq 0x1d520
leaq -0x50(%rbp), %rdi
callq 0x4c320
leaq -0x38(%rbp), %rdi
callq 0x4c380
movq -0x58(%rbp), %rdi
callq 0x10e00
nopw %cs:(%rax,%rax)