// File: /workspace/github_cpp_makefile_star2_O1/sus304[P]ForRocket/src/factory/engine_factory.cpp
// Function: forrocket::EngineFactory::Create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
forrocket::Engine forrocket::EngineFactory::Create(std::string engine_config_json_file) {
    JsonControl jc(engine_config_json_file);

    double diameter_exit = jc.getDouble("Nozzle Exit Diameter [mm]") / 1e3;
    double area_exit = 0.25 * std::pow(diameter_exit, 2) * pi;

    bool enable_mis_alignment = jc.getBool("Enable Engine Miss Alignment");
    if (jc.getBool("Enable Thrust File")) {
        JsonControl jc_file = jc.getSubItem("Thrust File");
        auto thrust_log = LoadCsvLog(jc_file.getString("Thrust at vacuum File Path"));
        if (enable_mis_alignment) {
            double mis_alignment_y = jc.getSubItem("Engine Miss-Alignment").getDouble("y-Axis Angle [deg]") / 180.0 * 3.14159265;
            double mis_alignment_z = jc.getSubItem("Engine Miss-Alignment").getDouble("z-Axis Angle [deg]") / 180.0 * 3.14159265;
            return Engine(thrust_log[0], thrust_log[1], thrust_log[2], area_exit, mis_alignment_y, mis_alignment_z);
        } else {
            return Engine(thrust_log[0], thrust_log[1], thrust_log[2], area_exit);
        }
    } else {
        JsonControl jc_const = jc.getSubItem("Constant Thrust");
        double thrust = jc_const.getDouble("Thrust at vacuum [N]");
        double mdot_p = jc_const.getDouble("Propellant Mass Flow Rate [kg/s]");
        double burn_duration = jc_const.getDouble("Burn Duration [sec]");
        if (enable_mis_alignment) {
            double mis_alignment_y = jc.getSubItem("Engine Miss-Alignment").getDouble("y-Axis Angle [deg]") / 180.0 * 3.14159265;
            double mis_alignment_z = jc.getSubItem("Engine Miss-Alignment").getDouble("z-Axis Angle [deg]") / 180.0 * 3.14159265;
            return Engine(burn_duration, thrust, mdot_p, area_exit, mis_alignment_y, mis_alignment_z);
        } else {
            return Engine(burn_duration, thrust, mdot_p, area_exit);
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x368, %rsp            # imm = 0x368
movq %rdi, %rbx
leaq 0x358(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x348(%rsp), %r14
movq %r14, %rdi
callq 0x7f1c
leaq 0x20(%rsp), %rdi
movq %r14, %rsi
callq 0x800c
movq 0x348(%rsp), %rdi
cmpq %r15, %rdi
je 0x26550
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x318(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16626(%rip), %rsi     # 0x3cb89
leaq 0x16638(%rip), %rdx     # 0x3cba2
leaq 0x308(%rsp), %rdi
callq 0x92e2
leaq 0x20(%rsp), %rdi
leaq 0x308(%rsp), %rsi
callq 0x81ac
movsd %xmm0, (%rsp)
movq 0x308(%rsp), %rdi
cmpq %r14, %rdi
je 0x265ab
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x2f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x165e5(%rip), %rsi     # 0x3cba3
leaq 0x165fa(%rip), %rdx     # 0x3cbbf
leaq 0x2e8(%rsp), %rdi
callq 0x92e2
leaq 0x20(%rsp), %rdi
leaq 0x2e8(%rsp), %rsi
callq 0x81d0
movl %eax, %ebp
movq 0x2e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x26603
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x2d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x165aa(%rip), %rsi     # 0x3cbc0
leaq 0x165b5(%rip), %rdx     # 0x3cbd2
leaq 0x2c8(%rsp), %rdi
callq 0x92e2
leaq 0x20(%rsp), %rdi
leaq 0x2c8(%rsp), %rsi
callq 0x81d0
movl %eax, %r14d
movsd (%rsp), %xmm0
divsd 0x14474(%rip), %xmm0    # 0x3aac0
mulsd %xmm0, %xmm0
mulsd 0x144e8(%rip), %xmm0    # 0x3ab40
movsd %xmm0, (%rsp)
movq 0x2c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2667a
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x5350
movsd (%rsp), %xmm0
mulsd 0x10981(%rip), %xmm0    # 0x37008
movsd %xmm0, (%rsp)
testb %r14b, %r14b
je 0x26a14
leaq 0x2b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1651f(%rip), %rsi     # 0x3cbc7
leaq 0x16523(%rip), %rdx     # 0x3cbd2
leaq 0x2a8(%rsp), %rdi
callq 0x92e2
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x2a8(%rsp), %rdx
callq 0x81f2
movq 0x2a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x266f0
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x298(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x164d0(%rip), %rsi     # 0x3cbd3
leaq 0x164e3(%rip), %rdx     # 0x3cbed
leaq 0x288(%rsp), %rdi
callq 0x92e2
leaq 0x328(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x288(%rsp), %rdx
callq 0x816a
leaq 0x30(%rsp), %rdi
leaq 0x328(%rsp), %rsi
movl $0x1, %edx
callq 0x73fc
leaq 0x338(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x26769
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x5350
movq 0x288(%rsp), %rdi
cmpq %r14, %rdi
je 0x26786
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x5350
testb %bpl, %bpl
je 0x26da2
leaq 0x278(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1644c(%rip), %rsi     # 0x3cbee
leaq 0x1645a(%rip), %rdx     # 0x3cc03
leaq 0x268(%rsp), %rdi
callq 0x92e2
leaq 0x50(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x268(%rsp), %rdx
callq 0x81f2
leaq 0x258(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x16424(%rip), %rsi     # 0x3cc04
leaq 0x1642f(%rip), %rdx     # 0x3cc16
leaq 0x248(%rsp), %rdi
callq 0x92e2
leaq 0x50(%rsp), %rdi
leaq 0x248(%rsp), %rsi
callq 0x81ac
movsd %xmm0, 0x8(%rsp)
movq 0x248(%rsp), %rdi
cmpq %r15, %rdi
je 0x26829
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x50(%rsp), %rdi
callq 0x860c
leaq 0x58(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x86ae
movq 0x268(%rsp), %rdi
cmpq %r14, %rdi
je 0x2685e
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x238(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1637d(%rip), %rsi     # 0x3cbee
leaq 0x1638b(%rip), %rdx     # 0x3cc03
leaq 0x228(%rsp), %rdi
callq 0x92e2
leaq 0x50(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x228(%rsp), %rdx
callq 0x81f2
leaq 0x218(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x16368(%rip), %rsi     # 0x3cc17
leaq 0x16373(%rip), %rdx     # 0x3cc29
leaq 0x208(%rsp), %rdi
callq 0x92e2
leaq 0x50(%rsp), %rdi
leaq 0x208(%rsp), %rsi
callq 0x81ac
movsd %xmm0, 0x48(%rsp)
movq 0x208(%rsp), %rdi
cmpq %r15, %rdi
je 0x268f8
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x50(%rsp), %rdi
callq 0x860c
leaq 0x58(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x86ae
movq 0x228(%rsp), %rdi
cmpq %r14, %rdi
je 0x2692d
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x5350
movq 0x30(%rsp), %rsi
leaq 0xf0(%rsp), %rdi
callq 0x7b00
movq 0x30(%rsp), %rsi
addq $0x18, %rsi
leaq 0xd8(%rsp), %rdi
callq 0x7b00
movq 0x30(%rsp), %rsi
addq $0x30, %rsi
leaq 0xc0(%rsp), %rdi
callq 0x7b00
movsd 0x8(%rsp), %xmm1
divsd 0x10697(%rip), %xmm1    # 0x37010
movsd 0x48(%rsp), %xmm2
divsd 0x10689(%rip), %xmm2    # 0x37010
mulsd 0x10679(%rip), %xmm1    # 0x37008
mulsd 0x10671(%rip), %xmm2    # 0x37008
leaq 0xf0(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
leaq 0xc0(%rsp), %rcx
movq %rbx, %rdi
movsd (%rsp), %xmm0
callq 0x1b888
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x269d9
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x269f6
movq 0xe8(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x26e56
leaq 0x100(%rsp), %rax
jmp 0x26e4b
leaq 0x1f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16203(%rip), %rsi     # 0x3cc2a
leaq 0x1620b(%rip), %rdx     # 0x3cc39
leaq 0x1e8(%rsp), %rdi
callq 0x92e2
leaq 0x30(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x81f2
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x26a6f
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x1d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x161b8(%rip), %rsi     # 0x3cc3a
leaq 0x161c5(%rip), %rdx     # 0x3cc4e
leaq 0x1c8(%rsp), %rdi
callq 0x92e2
leaq 0x30(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x81ac
movsd %xmm0, 0x48(%rsp)
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x26acb
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x1b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16171(%rip), %rsi     # 0x3cc4f
leaq 0x1618a(%rip), %rdx     # 0x3cc6f
leaq 0x1a8(%rsp), %rdi
callq 0x92e2
leaq 0x30(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x81ac
movsd %xmm0, 0x70(%rsp)
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x26b27
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x198(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16136(%rip), %rsi     # 0x3cc70
leaq 0x16142(%rip), %rdx     # 0x3cc83
leaq 0x188(%rsp), %rdi
callq 0x92e2
leaq 0x30(%rsp), %rdi
leaq 0x188(%rsp), %rsi
callq 0x81ac
movsd %xmm0, 0x68(%rsp)
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x26b83
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x5350
testb %bpl, %bpl
je 0x26e71
leaq 0x178(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1604f(%rip), %rsi     # 0x3cbee
leaq 0x1605d(%rip), %rdx     # 0x3cc03
leaq 0x168(%rsp), %rdi
callq 0x92e2
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x168(%rsp), %rdx
callq 0x81f2
leaq 0x158(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x16027(%rip), %rsi     # 0x3cc04
leaq 0x16032(%rip), %rdx     # 0x3cc16
leaq 0x148(%rsp), %rdi
callq 0x92e2
leaq 0x10(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x81ac
movsd %xmm0, 0x8(%rsp)
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x26c26
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x10(%rsp), %rdi
callq 0x860c
leaq 0x18(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x86ae
movq 0x168(%rsp), %rdi
cmpq %r14, %rdi
je 0x26c5b
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x138(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x15f80(%rip), %rsi     # 0x3cbee
leaq 0x15f8e(%rip), %rdx     # 0x3cc03
leaq 0x128(%rsp), %rdi
callq 0x92e2
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x128(%rsp), %rdx
callq 0x81f2
leaq 0x118(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x15f6b(%rip), %rsi     # 0x3cc17
leaq 0x15f76(%rip), %rdx     # 0x3cc29
leaq 0x108(%rsp), %rdi
callq 0x92e2
leaq 0x10(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x81ac
movapd %xmm0, %xmm1
movsd 0x8(%rsp), %xmm0
divsd 0x1032c(%rip), %xmm0    # 0x37010
movsd %xmm0, 0x8(%rsp)
divsd 0x1031e(%rip), %xmm1    # 0x37010
movq 0x108(%rsp), %rdi
cmpq %r15, %rdi
je 0x26d1b
movq 0x118(%rsp), %rsi
incq %rsi
movsd %xmm1, 0x60(%rsp)
callq 0x5350
movsd 0x60(%rsp), %xmm1
movsd 0x8(%rsp), %xmm0
mulsd 0x102df(%rip), %xmm0    # 0x37008
movsd %xmm0, 0x8(%rsp)
mulsd 0x102d1(%rip), %xmm1    # 0x37008
movsd %xmm1, 0x60(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x860c
leaq 0x18(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x86ae
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x26d72
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x5350
movq %rbx, %rdi
movsd 0x68(%rsp), %xmm0
movsd 0x48(%rsp), %xmm1
movsd 0x70(%rsp), %xmm2
movsd (%rsp), %xmm3
movsd 0x8(%rsp), %xmm4
movsd 0x60(%rsp), %xmm5
callq 0x1b1bc
jmp 0x26e90
movq 0x30(%rsp), %rsi
leaq 0xa8(%rsp), %rdi
callq 0x7b00
movq 0x30(%rsp), %rsi
addq $0x18, %rsi
leaq 0x90(%rsp), %rdi
callq 0x7b00
movq 0x30(%rsp), %rsi
addq $0x30, %rsi
leaq 0x78(%rsp), %rdi
callq 0x7b00
leaq 0xa8(%rsp), %rsi
leaq 0x90(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %rbx, %rdi
movsd (%rsp), %xmm0
callq 0x1b3e4
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x26e19
movq 0x88(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x26e36
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x26e56
leaq 0xb8(%rsp), %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x5350
leaq 0x30(%rsp), %rdi
callq 0x78de
leaq 0x10(%rsp), %rdi
callq 0x860c
leaq 0x18(%rsp), %rdi
jmp 0x26e9f
movq %rbx, %rdi
movsd 0x68(%rsp), %xmm0
movsd 0x48(%rsp), %xmm1
movsd 0x70(%rsp), %xmm2
movsd (%rsp), %xmm3
callq 0x1afbc
leaq 0x30(%rsp), %rdi
callq 0x860c
leaq 0x38(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x86ae
leaq 0x20(%rsp), %rdi
callq 0x860c
leaq 0x28(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x86ae
movq %rbx, %rax
addq $0x368, %rsp            # imm = 0x368
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x271c8
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x26f1d
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
jmp 0x26f1d
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %r15, %rdi
je 0x26f3f
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26f3f
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x26f4e
movq 0xe8(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
jmp 0x26f4e
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x272b0
jmp 0x26f6f
movq %rax, %rbx
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x27100
movq 0x100(%rsp), %rsi
jmp 0x270d4
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x271cb
movq 0x138(%rsp), %rsi
jmp 0x27195
jmp 0x270fd
jmp 0x271c8
movq %rax, %rbx
movq 0x208(%rsp), %rdi
cmpq %r15, %rdi
je 0x26fde
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26fde
movq %rax, %rbx
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x26fed
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26fed
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x272b0
jmp 0x26ffc
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x272b0
jmp 0x2701d
movq %rax, %rbx
movq 0x228(%rsp), %rdi
cmpq %r14, %rdi
je 0x27100
movq 0x238(%rsp), %rsi
jmp 0x270f1
movq %rax, %rbx
movq 0x168(%rsp), %rdi
cmpq %r14, %rdi
je 0x271cb
movq 0x178(%rsp), %rsi
jmp 0x27195
jmp 0x270fd
jmp 0x271c8
movq %rax, %rbx
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x2708e
movq 0x88(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
jmp 0x2708e
jmp 0x271c8
movq %rax, %rbx
movq 0x248(%rsp), %rdi
cmpq %r15, %rdi
je 0x270b0
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x270b0
movq %rax, %rbx
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x270bf
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
jmp 0x270bf
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x272b0
jmp 0x270dc
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x27100
movq 0xb8(%rsp), %rsi
subq %rdi, %rsi
jmp 0x270f4
movq %rax, %rbx
movq 0x268(%rsp), %rdi
cmpq %r14, %rdi
je 0x27100
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x27100
jmp 0x270fd
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x78de
leaq 0x10(%rsp), %rdi
jmp 0x271d0
movq %rax, %rbx
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x271cb
movq 0x198(%rsp), %rsi
jmp 0x27195
jmp 0x271c8
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x271cb
movq 0x1b8(%rsp), %rsi
jmp 0x27195
jmp 0x271c8
movq %rax, %rbx
leaq 0x338(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x271a2
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x271a2
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x271cb
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x271cb
movq %rax, %rbx
movq 0x288(%rsp), %rdi
cmpq %r14, %rdi
je 0x2710a
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x2710a
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x272b0
jmp 0x2727b
movq %rax, %rbx
jmp 0x2710a
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2727b
movq 0x1f8(%rsp), %rsi
jmp 0x2726e
movq %rax, %rbx
movq 0x2a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2727b
movq 0x2b8(%rsp), %rsi
jmp 0x2726e
jmp 0x27278
jmp 0x27278
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2727b
movq 0x2d8(%rsp), %rsi
jmp 0x2726e
jmp 0x27278
movq %rax, %rbx
movq 0x2e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2727b
movq 0x2f8(%rsp), %rsi
jmp 0x2726e
jmp 0x27278
movq %rax, %rbx
movq 0x308(%rsp), %rdi
cmpq %r14, %rdi
je 0x2727b
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x2727b
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x272b0
movq %rbx, %rdi
callq 0x55e0
movq %rax, %rbx
movq 0x348(%rsp), %rdi
cmpq %r15, %rdi
je 0x27285
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x27285
nop