// File: mapbox[P]svg-tools/test/path_parser.test.cpp
// Function: main
int main() {
    using namespace mapbox::svg;
    using namespace mapbox::svg::test;

    PathVertexReceiver receiver;
    PathParser<PathVertexReceiver> parser(receiver);

    receiver.path.clear();
    EXPECT_TRUE(parser("M6,12,4,4a2 2 0 1 1-2 2A2 2 0 0 1 6 12Z"));
    EXPECT_FALSE(parser.hasError());
    EXPECT_EQUALS((test::Path{
                      test::PathCommand::MoveTo(6, 12, false),
                      test::PathCommand::MoveTo(4, 4, false),
                      test::PathCommand::Arc(2, 2, 0, true, true, -2, 2, true),
                      test::PathCommand::Arc(2, 2, 0, false, true, 6, 12, false),
                      test::PathCommand::ClosePath(),
                  }),
                  receiver.path);

    receiver.path.clear();
    EXPECT_FALSE(parser("M"));
    EXPECT_EQUALS(PathParseErrorType::NumberParsing, parser.errorType());
    EXPECT_EQUALS(1, parser.errorOffset());

    receiver.path.clear();
    EXPECT_TRUE(parser("M0,0"));
    EXPECT_FALSE(parser.hasError());
    EXPECT_EQUALS((test::Path{
                      test::PathCommand::MoveTo(0, 0, false),
                  }),
                  receiver.path);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x580, %rsp            # imm = 0x580
movl $0x0, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
movq %rdi, -0x288(%rbp)
callq 0x2de0
movq -0x288(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x2e00
jmp 0x19b4
leaq -0x20(%rbp), %rdi
callq 0x2e20
leaq 0x4a33(%rip), %rsi      # 0x63f7
leaq -0x48(%rbp), %rdi
callq 0x2e40
movb %al, -0x289(%rbp)
jmp 0x19d5
movb -0x289(%rbp), %al
testb $0x1, %al
jne 0x1ae0
jmp 0x19e5
movq 0x770c(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x7702(%rip)      # 0x90f8
movq 0x75f3(%rip), %rdi      # 0x8ff0
movq 0x75c4(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x298(%rbp)
jmp 0x1a12
movq -0x298(%rbp), %rdi
movq 0x76b0(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x2a0(%rbp)
jmp 0x1a2e
movq -0x2a0(%rbp), %rdi
leaq 0x49e3(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x2a8(%rbp)
jmp 0x1a4a
movq -0x2a8(%rbp), %rdi
leaq 0x49de(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x2b0(%rbp)
jmp 0x1a66
movq -0x2b0(%rbp), %rdi
leaq 0x49dc(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x2b8(%rbp)
jmp 0x1a82
movq -0x2b8(%rbp), %rdi
movl $0x44, %esi
callq 0x1140
movq %rax, -0x2c0(%rbp)
jmp 0x1a9c
movq -0x2c0(%rbp), %rdi
movq 0x762e(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x2c8(%rbp)
jmp 0x1ab8
movq -0x2c8(%rbp), %rdi
movq 0x7502(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x1acd
jmp 0x1b08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2b1f
movq 0x7619(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x760f(%rip)      # 0x9100
movq 0x74f8(%rip), %rdi      # 0x8ff0
leaq 0x495b(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x1b06
jmp 0x1b08
jmp 0x1b0a
jmp 0x1b0c
jmp 0x1b0e
leaq -0x48(%rbp), %rdi
callq 0x3400
movb %al, -0x2c9(%rbp)
jmp 0x1b1f
movb -0x2c9(%rbp), %al
testb $0x1, %al
jne 0x1b2e
jmp 0x1c18
movq 0x75c3(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x75b9(%rip)      # 0x90f8
movq 0x74aa(%rip), %rdi      # 0x8ff0
movq 0x747b(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x2d8(%rbp)
jmp 0x1b5b
movq -0x2d8(%rbp), %rdi
movq 0x7567(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x2e0(%rbp)
jmp 0x1b77
movq -0x2e0(%rbp), %rdi
leaq 0x489a(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x2e8(%rbp)
jmp 0x1b93
movq -0x2e8(%rbp), %rdi
leaq 0x4895(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x2f0(%rbp)
jmp 0x1baf
movq -0x2f0(%rbp), %rdi
leaq 0x4893(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x2f8(%rbp)
jmp 0x1bcb
movq -0x2f8(%rbp), %rdi
movl $0x45, %esi
callq 0x1140
movq %rax, -0x300(%rbp)
jmp 0x1be5
movq -0x300(%rbp), %rdi
movq 0x74e5(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x308(%rbp)
jmp 0x1c01
movq -0x308(%rbp), %rdi
movq 0x73b9(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x1c16
jmp 0x1c40
movq 0x74e1(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x74d7(%rip)      # 0x9100
movq 0x73c0(%rip), %rdi      # 0x8ff0
leaq 0x4823(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x1c3e
jmp 0x1c40
jmp 0x1c42
jmp 0x1c44
jmp 0x1c46
leaq -0x1c0(%rbp), %rdi
movsd 0x43db(%rip), %xmm0     # 0x6030
movsd 0x43db(%rip), %xmm1     # 0x6038
xorl %esi, %esi
callq 0x3420
jmp 0x1c66
leaq -0x180(%rbp), %rdi
movsd 0x43cb(%rip), %xmm1     # 0x6040
xorl %esi, %esi
movaps %xmm1, %xmm0
callq 0x3420
jmp 0x1c81
leaq -0x140(%rbp), %rdi
xorps %xmm2, %xmm2
movsd 0x43b5(%rip), %xmm3     # 0x6048
movsd 0x43b5(%rip), %xmm4     # 0x6050
movl $0x1, %ecx
movaps %xmm4, %xmm0
movaps %xmm4, %xmm1
movl %ecx, %esi
movl %ecx, %edx
callq 0x3480
jmp 0x1cb1
leaq -0x100(%rbp), %rdi
movsd 0x4390(%rip), %xmm1     # 0x6050
xorps %xmm2, %xmm2
movl $0x1, %edx
movsd 0x4360(%rip), %xmm3     # 0x6030
movsd 0x4360(%rip), %xmm4     # 0x6038
xorl %ecx, %ecx
movaps %xmm1, %xmm0
movl %ecx, %esi
callq 0x3480
jmp 0x1ce6
leaq -0xc0(%rbp), %rdi
callq 0x3510
jmp 0x1cf4
leaq -0x1c0(%rbp), %rax
movq %rax, -0x80(%rbp)
movq $0x5, -0x78(%rbp)
leaq -0x1c1(%rbp), %rdi
movq %rdi, -0x310(%rbp)
callq 0x3560
movq -0x310(%rbp), %rcx
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
leaq -0x70(%rbp), %rdi
callq 0x3580
jmp 0x1d34
leaq -0x1c1(%rbp), %rdi
callq 0x3600
leaq -0x1e0(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3620
jmp 0x1d52
leaq -0x70(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x3710
movb %al, -0x311(%rbp)
jmp 0x1d6a
movb -0x311(%rbp), %al
testb $0x1, %al
jne 0x1f8c
jmp 0x1d7a
movq 0x7377(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x736d(%rip)      # 0x90f8
movq 0x725e(%rip), %rdi      # 0x8ff0
movq 0x722f(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x320(%rbp)
jmp 0x1da7
movq -0x320(%rbp), %rdi
movq 0x731b(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x328(%rbp)
jmp 0x1dc3
movq -0x328(%rbp), %rdi
leaq 0x464e(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x330(%rbp)
jmp 0x1ddf
movq -0x330(%rbp), %rdi
leaq 0x4649(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x338(%rbp)
jmp 0x1dfb
movq -0x338(%rbp), %rdi
leaq 0x4647(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x340(%rbp)
jmp 0x1e17
movq -0x340(%rbp), %rdi
movl $0x4d, %esi
callq 0x1140
movq %rax, -0x348(%rbp)
jmp 0x1e31
movq -0x348(%rbp), %rdi
leaq 0x4647(%rip), %rsi      # 0x6486
callq 0x10c0
movq %rax, -0x350(%rbp)
jmp 0x1e4d
movq -0x350(%rbp), %rdi
movq 0x727d(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x358(%rbp)
jmp 0x1e69
movq -0x358(%rbp), %rdi
movq 0x7151(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x1e7e
movq 0x716b(%rip), %rdi      # 0x8ff0
leaq 0x45d0(%rip), %rsi      # 0x645c
callq 0x10c0
movq %rax, -0x360(%rbp)
jmp 0x1e9a
movq -0x360(%rbp), %rdi
movq 0x7120(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x1eaf
movq 0x713a(%rip), %rdi      # 0x8ff0
leaq -0x70(%rbp), %rsi
callq 0x1880
movq %rax, -0x368(%rbp)
jmp 0x1ec8
movq -0x368(%rbp), %rdi
movq 0x70f2(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x1edd
movq 0x710c(%rip), %rdi      # 0x8ff0
leaq 0x4581(%rip), %rsi      # 0x646c
callq 0x10c0
movq %rax, -0x370(%rbp)
jmp 0x1ef9
movq -0x370(%rbp), %rdi
movq 0x70c1(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x1f0e
movq 0x70db(%rip), %rdi      # 0x8ff0
leaq -0x1e0(%rbp), %rsi
callq 0x1880
movq %rax, -0x378(%rbp)
jmp 0x1f2a
movq -0x378(%rbp), %rdi
movq 0x7090(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x1f3f
jmp 0x1fb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x1c1(%rbp), %rdi
callq 0x3600
jmp 0x2b1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x20e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x3790
jmp 0x20e5
movq 0x716d(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x7163(%rip)      # 0x9100
movq 0x704c(%rip), %rdi      # 0x8ff0
leaq 0x44af(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x1fb2
jmp 0x1fb4
leaq -0x1e0(%rbp), %rdi
callq 0x3790
leaq -0x70(%rbp), %rdi
callq 0x3790
jmp 0x1fcb
leaq -0x20(%rbp), %rdi
callq 0x2e20
leaq 0x44ad(%rip), %rsi      # 0x6488
leaq -0x48(%rbp), %rdi
callq 0x2e40
movb %al, -0x379(%rbp)
jmp 0x1fec
movb -0x379(%rbp), %al
testb $0x1, %al
jne 0x1ffb
jmp 0x20f3
movq 0x70f6(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x70ec(%rip)      # 0x90f8
movq 0x6fdd(%rip), %rdi      # 0x8ff0
movq 0x6fae(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x388(%rbp)
jmp 0x2028
movq -0x388(%rbp), %rdi
movq 0x709a(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x390(%rbp)
jmp 0x2044
movq -0x390(%rbp), %rdi
leaq 0x43cd(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x398(%rbp)
jmp 0x2060
movq -0x398(%rbp), %rdi
leaq 0x43c8(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x3a0(%rbp)
jmp 0x207c
movq -0x3a0(%rbp), %rdi
leaq 0x43c6(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x3a8(%rbp)
jmp 0x2098
movq -0x3a8(%rbp), %rdi
movl $0x50, %esi
callq 0x1140
movq %rax, -0x3b0(%rbp)
jmp 0x20b2
movq -0x3b0(%rbp), %rdi
movq 0x7018(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x3b8(%rbp)
jmp 0x20ce
movq -0x3b8(%rbp), %rdi
movq 0x6eec(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x20e3
jmp 0x211b
leaq -0x70(%rbp), %rdi
callq 0x3790
jmp 0x2b1f
movq 0x7006(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x6ffc(%rip)      # 0x9100
movq 0x6ee5(%rip), %rdi      # 0x8ff0
leaq 0x4348(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x2119
jmp 0x211b
jmp 0x211d
jmp 0x211f
jmp 0x2121
movl $0x1, -0x1e4(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x37f0
movl %eax, -0x3bc(%rbp)
jmp 0x213c
movl -0x3bc(%rbp), %eax
movl %eax, -0x1e8(%rbp)
movl $0x1, %eax
cmpl -0x1e8(%rbp), %eax
je 0x2320
movq 0x6f98(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x6f8e(%rip)      # 0x90f8
movq 0x6e7f(%rip), %rdi      # 0x8ff0
movq 0x6e50(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x3c8(%rbp)
jmp 0x2186
movq -0x3c8(%rbp), %rdi
movq 0x6f3c(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x3d0(%rbp)
jmp 0x21a2
movq -0x3d0(%rbp), %rdi
leaq 0x426f(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x3d8(%rbp)
jmp 0x21be
movq -0x3d8(%rbp), %rdi
leaq 0x426a(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x3e0(%rbp)
jmp 0x21da
movq -0x3e0(%rbp), %rdi
leaq 0x4268(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x3e8(%rbp)
jmp 0x21f6
movq -0x3e8(%rbp), %rdi
movl $0x51, %esi
callq 0x1140
movq %rax, -0x3f0(%rbp)
jmp 0x2210
movq -0x3f0(%rbp), %rdi
leaq 0x4268(%rip), %rsi      # 0x6486
callq 0x10c0
movq %rax, -0x3f8(%rbp)
jmp 0x222c
movq -0x3f8(%rbp), %rdi
movq 0x6e9e(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x400(%rbp)
jmp 0x2248
movq -0x400(%rbp), %rdi
movq 0x6d72(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x225d
movq 0x6d8c(%rip), %rdi      # 0x8ff0
leaq 0x41f1(%rip), %rsi      # 0x645c
callq 0x10c0
movq %rax, -0x408(%rbp)
jmp 0x2279
movq -0x408(%rbp), %rdi
movq 0x6d41(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x228e
movq 0x6d5b(%rip), %rdi      # 0x8ff0
movl $0x1, %esi
callq 0x12e0
movq %rax, -0x410(%rbp)
jmp 0x22a8
movq -0x410(%rbp), %rdi
movq 0x6d12(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x22bd
movq 0x6d2c(%rip), %rdi      # 0x8ff0
leaq 0x41a1(%rip), %rsi      # 0x646c
callq 0x10c0
movq %rax, -0x418(%rbp)
jmp 0x22d9
movq -0x418(%rbp), %rdi
movq 0x6ce1(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x22ee
movl -0x1e8(%rbp), %esi
movq 0x6cf5(%rip), %rdi      # 0x8ff0
callq 0x12e0
movq %rax, -0x420(%rbp)
jmp 0x2309
movq -0x420(%rbp), %rdi
movq 0x6cb1(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x231e
jmp 0x2348
movq 0x6dd9(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x6dcf(%rip)      # 0x9100
movq 0x6cb8(%rip), %rdi      # 0x8ff0
leaq 0x411b(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x2346
jmp 0x2348
jmp 0x234a
jmp 0x234c
jmp 0x234e
movl $0x1, -0x1ec(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x3810
movq %rax, -0x428(%rbp)
jmp 0x236a
movq -0x428(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movl $0x1, %eax
cmpq -0x1f8(%rbp), %rax
je 0x2552
movq 0x6d67(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x6d5d(%rip)      # 0x90f8
movq 0x6c4e(%rip), %rdi      # 0x8ff0
movq 0x6c1f(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x430(%rbp)
jmp 0x23b7
movq -0x430(%rbp), %rdi
movq 0x6d0b(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x438(%rbp)
jmp 0x23d3
movq -0x438(%rbp), %rdi
leaq 0x403e(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x440(%rbp)
jmp 0x23ef
movq -0x440(%rbp), %rdi
leaq 0x4039(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x448(%rbp)
jmp 0x240b
movq -0x448(%rbp), %rdi
leaq 0x4037(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x450(%rbp)
jmp 0x2427
movq -0x450(%rbp), %rdi
movl $0x52, %esi
callq 0x1140
movq %rax, -0x458(%rbp)
jmp 0x2441
movq -0x458(%rbp), %rdi
leaq 0x4037(%rip), %rsi      # 0x6486
callq 0x10c0
movq %rax, -0x460(%rbp)
jmp 0x245d
movq -0x460(%rbp), %rdi
movq 0x6c6d(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x468(%rbp)
jmp 0x2479
movq -0x468(%rbp), %rdi
movq 0x6b41(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x248e
movq 0x6b5b(%rip), %rdi      # 0x8ff0
leaq 0x3fc0(%rip), %rsi      # 0x645c
callq 0x10c0
movq %rax, -0x470(%rbp)
jmp 0x24aa
movq -0x470(%rbp), %rdi
movq 0x6b10(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x24bf
movq 0x6b2a(%rip), %rdi      # 0x8ff0
movl $0x1, %esi
callq 0x1140
movq %rax, -0x478(%rbp)
jmp 0x24d9
movq -0x478(%rbp), %rdi
movq 0x6ae1(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x24ee
movq 0x6afb(%rip), %rdi      # 0x8ff0
leaq 0x3f70(%rip), %rsi      # 0x646c
callq 0x10c0
movq %rax, -0x480(%rbp)
jmp 0x250a
movq -0x480(%rbp), %rdi
movq 0x6ab0(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x251f
movq -0x1f8(%rbp), %rsi
movq 0x6ac3(%rip), %rdi      # 0x8ff0
callq 0x1160
movq %rax, -0x488(%rbp)
jmp 0x253b
movq -0x488(%rbp), %rdi
movq 0x6a7f(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x2550
jmp 0x257a
movq 0x6ba7(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x6b9d(%rip)      # 0x9100
movq 0x6a86(%rip), %rdi      # 0x8ff0
leaq 0x3ee9(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x2578
jmp 0x257a
jmp 0x257c
jmp 0x257e
leaq -0x20(%rbp), %rdi
callq 0x2e20
leaq 0x3efc(%rip), %rsi      # 0x648a
leaq -0x48(%rbp), %rdi
callq 0x2e40
movb %al, -0x489(%rbp)
jmp 0x259f
movb -0x489(%rbp), %al
testb $0x1, %al
jne 0x2699
jmp 0x25af
movq 0x6b42(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x6b38(%rip)      # 0x90f8
movq 0x6a29(%rip), %rdi      # 0x8ff0
movq 0x69fa(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x498(%rbp)
jmp 0x25dc
movq -0x498(%rbp), %rdi
movq 0x6ae6(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x4a0(%rbp)
jmp 0x25f8
movq -0x4a0(%rbp), %rdi
leaq 0x3e19(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x4a8(%rbp)
jmp 0x2614
movq -0x4a8(%rbp), %rdi
leaq 0x3e14(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x4b0(%rbp)
jmp 0x2630
movq -0x4b0(%rbp), %rdi
leaq 0x3e12(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x4b8(%rbp)
jmp 0x264c
movq -0x4b8(%rbp), %rdi
movl $0x55, %esi
callq 0x1140
movq %rax, -0x4c0(%rbp)
jmp 0x2666
movq -0x4c0(%rbp), %rdi
movq 0x6a64(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x4c8(%rbp)
jmp 0x2682
movq -0x4c8(%rbp), %rdi
movq 0x6938(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x2697
jmp 0x26c1
movq 0x6a60(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x6a56(%rip)      # 0x9100
movq 0x693f(%rip), %rdi      # 0x8ff0
leaq 0x3da2(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x26bf
jmp 0x26c1
jmp 0x26c3
jmp 0x26c5
jmp 0x26c7
leaq -0x48(%rbp), %rdi
callq 0x3400
movb %al, -0x4c9(%rbp)
jmp 0x26d8
movb -0x4c9(%rbp), %al
testb $0x1, %al
jne 0x26e7
jmp 0x27d1
movq 0x6a0a(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x6a00(%rip)      # 0x90f8
movq 0x68f1(%rip), %rdi      # 0x8ff0
movq 0x68c2(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x4d8(%rbp)
jmp 0x2714
movq -0x4d8(%rbp), %rdi
movq 0x69ae(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x4e0(%rbp)
jmp 0x2730
movq -0x4e0(%rbp), %rdi
leaq 0x3ce1(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x4e8(%rbp)
jmp 0x274c
movq -0x4e8(%rbp), %rdi
leaq 0x3cdc(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x4f0(%rbp)
jmp 0x2768
movq -0x4f0(%rbp), %rdi
leaq 0x3cda(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x4f8(%rbp)
jmp 0x2784
movq -0x4f8(%rbp), %rdi
movl $0x56, %esi
callq 0x1140
movq %rax, -0x500(%rbp)
jmp 0x279e
movq -0x500(%rbp), %rdi
movq 0x692c(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x508(%rbp)
jmp 0x27ba
movq -0x508(%rbp), %rdi
movq 0x6800(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x27cf
jmp 0x27f9
movq 0x6928(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x691e(%rip)      # 0x9100
movq 0x6807(%rip), %rdi      # 0x8ff0
leaq 0x3c6a(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x27f7
jmp 0x27f9
jmp 0x27fb
jmp 0x27fd
jmp 0x27ff
leaq -0x260(%rbp), %rdi
xorps %xmm1, %xmm1
xorl %esi, %esi
movaps %xmm1, %xmm0
callq 0x3420
jmp 0x2815
leaq -0x260(%rbp), %rax
movq %rax, -0x220(%rbp)
movq $0x1, -0x218(%rbp)
leaq -0x261(%rbp), %rdi
movq %rdi, -0x510(%rbp)
callq 0x3560
movq -0x510(%rbp), %rcx
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
leaq -0x210(%rbp), %rdi
callq 0x3580
jmp 0x2864
leaq -0x261(%rbp), %rdi
callq 0x3600
leaq -0x280(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3620
jmp 0x2882
leaq -0x210(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0x3710
movb %al, -0x511(%rbp)
jmp 0x289d
movb -0x511(%rbp), %al
testb $0x1, %al
jne 0x2abc
jmp 0x28ad
movq 0x6844(%rip), %rax      # 0x90f8
incq %rax
movq %rax, 0x683a(%rip)      # 0x90f8
movq 0x672b(%rip), %rdi      # 0x8ff0
movq 0x66fc(%rip), %rsi      # 0x8fc8
callq 0x10f0
movq %rax, -0x520(%rbp)
jmp 0x28da
movq -0x520(%rbp), %rdi
movq 0x67e8(%rip), %rsi      # 0x90d0
callq 0x10c0
movq %rax, -0x528(%rbp)
jmp 0x28f6
movq -0x528(%rbp), %rdi
leaq 0x3b1b(%rip), %rsi      # 0x641f
callq 0x10c0
movq %rax, -0x530(%rbp)
jmp 0x2912
movq -0x530(%rbp), %rdi
leaq 0x3b16(%rip), %rsi      # 0x6436
callq 0x10c0
movq %rax, -0x538(%rbp)
jmp 0x292e
movq -0x538(%rbp), %rdi
leaq 0x3b14(%rip), %rsi      # 0x6450
callq 0x10c0
movq %rax, -0x540(%rbp)
jmp 0x294a
movq -0x540(%rbp), %rdi
movl $0x5a, %esi
callq 0x1140
movq %rax, -0x548(%rbp)
jmp 0x2964
movq -0x548(%rbp), %rdi
leaq 0x3b14(%rip), %rsi      # 0x6486
callq 0x10c0
movq %rax, -0x550(%rbp)
jmp 0x2980
movq -0x550(%rbp), %rdi
movq 0x674a(%rip), %rsi      # 0x90d8
callq 0x10c0
movq %rax, -0x558(%rbp)
jmp 0x299c
movq -0x558(%rbp), %rdi
movq 0x661e(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x29b1
movq 0x6638(%rip), %rdi      # 0x8ff0
leaq 0x3a9d(%rip), %rsi      # 0x645c
callq 0x10c0
movq %rax, -0x560(%rbp)
jmp 0x29cd
movq -0x560(%rbp), %rdi
movq 0x65ed(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x29e2
movq 0x6607(%rip), %rdi      # 0x8ff0
leaq -0x210(%rbp), %rsi
callq 0x1880
movq %rax, -0x568(%rbp)
jmp 0x29fe
movq -0x568(%rbp), %rdi
movq 0x65bc(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x2a13
movq 0x65d6(%rip), %rdi      # 0x8ff0
leaq 0x3a4b(%rip), %rsi      # 0x646c
callq 0x10c0
movq %rax, -0x570(%rbp)
jmp 0x2a2f
movq -0x570(%rbp), %rdi
movq 0x658b(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x2a44
movq 0x65a5(%rip), %rdi      # 0x8ff0
leaq -0x280(%rbp), %rsi
callq 0x1880
movq %rax, -0x578(%rbp)
jmp 0x2a60
movq -0x578(%rbp), %rdi
movq 0x655a(%rip), %rsi      # 0x8fc8
callq 0x10f0
jmp 0x2a75
jmp 0x2ae4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x261(%rbp), %rdi
callq 0x3600
jmp 0x2b1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2b13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x3790
jmp 0x2b13
movq 0x663d(%rip), %rax      # 0x9100
incq %rax
movq %rax, 0x6633(%rip)      # 0x9100
movq 0x651c(%rip), %rdi      # 0x8ff0
leaq 0x397f(%rip), %rsi      # 0x645a
callq 0x10c0
jmp 0x2ae2
jmp 0x2ae4
leaq -0x280(%rbp), %rdi
callq 0x3790
leaq -0x210(%rbp), %rdi
callq 0x3790
jmp 0x2afe
leaq -0x20(%rbp), %rdi
callq 0x3830
movl -0x4(%rbp), %eax
addq $0x580, %rsp            # imm = 0x580
popq %rbp
retq
leaq -0x210(%rbp), %rdi
callq 0x3790
leaq -0x20(%rbp), %rdi
callq 0x3830
movq -0x50(%rbp), %rdi
callq 0x1150
nopw %cs:(%rax,%rax)