// File: /workspace/github_cpp_makefile_star2_O3/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 0x7fae
leaq 0x20(%rsp), %rdi
movq %r14, %rsi
callq 0x80a4
movq 0x348(%rsp), %rdi
cmpq %r15, %rdi
je 0x26320
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x318(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x168da(%rip), %rsi     # 0x3cc0d
leaq 0x168ec(%rip), %rdx     # 0x3cc26
leaq 0x308(%rsp), %rdi
callq 0x9382
leaq 0x20(%rsp), %rdi
leaq 0x308(%rsp), %rsi
callq 0x8244
movsd %xmm0, (%rsp)
movq 0x308(%rsp), %rdi
cmpq %r14, %rdi
je 0x2637b
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x2f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16899(%rip), %rsi     # 0x3cc27
leaq 0x168ae(%rip), %rdx     # 0x3cc43
leaq 0x2e8(%rsp), %rdi
callq 0x9382
leaq 0x20(%rsp), %rdi
leaq 0x2e8(%rsp), %rsi
callq 0x8268
movl %eax, %ebp
movq 0x2e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x263d3
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x2d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1685e(%rip), %rsi     # 0x3cc44
leaq 0x16869(%rip), %rdx     # 0x3cc56
leaq 0x2c8(%rsp), %rdi
callq 0x9382
leaq 0x20(%rsp), %rdi
leaq 0x2c8(%rsp), %rsi
callq 0x8268
movl %eax, %r14d
movsd (%rsp), %xmm0
divsd 0x146e4(%rip), %xmm0    # 0x3ab00
mulsd %xmm0, %xmm0
mulsd 0x14758(%rip), %xmm0    # 0x3ab80
movsd %xmm0, (%rsp)
movq 0x2c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2644a
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x5350
movsd (%rsp), %xmm0
mulsd 0x10bb1(%rip), %xmm0    # 0x37008
movsd %xmm0, (%rsp)
testb %r14b, %r14b
je 0x267e4
leaq 0x2b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x167d3(%rip), %rsi     # 0x3cc4b
leaq 0x167d7(%rip), %rdx     # 0x3cc56
leaq 0x2a8(%rsp), %rdi
callq 0x9382
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x2a8(%rsp), %rdx
callq 0x828a
movq 0x2a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x264c0
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x298(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16784(%rip), %rsi     # 0x3cc57
leaq 0x16797(%rip), %rdx     # 0x3cc71
leaq 0x288(%rsp), %rdi
callq 0x9382
leaq 0x328(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x288(%rsp), %rdx
callq 0x8202
leaq 0x30(%rsp), %rdi
leaq 0x328(%rsp), %rsi
movl $0x1, %edx
callq 0x74dc
leaq 0x338(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x26539
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x5350
movq 0x288(%rsp), %rdi
cmpq %r14, %rdi
je 0x26556
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x5350
testb %bpl, %bpl
je 0x26b72
leaq 0x278(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16700(%rip), %rsi     # 0x3cc72
leaq 0x1670e(%rip), %rdx     # 0x3cc87
leaq 0x268(%rsp), %rdi
callq 0x9382
leaq 0x50(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x268(%rsp), %rdx
callq 0x828a
leaq 0x258(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x166d8(%rip), %rsi     # 0x3cc88
leaq 0x166e3(%rip), %rdx     # 0x3cc9a
leaq 0x248(%rsp), %rdi
callq 0x9382
leaq 0x50(%rsp), %rdi
leaq 0x248(%rsp), %rsi
callq 0x8244
movsd %xmm0, 0x8(%rsp)
movq 0x248(%rsp), %rdi
cmpq %r15, %rdi
je 0x265f9
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x50(%rsp), %rdi
callq 0x86a0
leaq 0x58(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x8742
movq 0x268(%rsp), %rdi
cmpq %r14, %rdi
je 0x2662e
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x238(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16631(%rip), %rsi     # 0x3cc72
leaq 0x1663f(%rip), %rdx     # 0x3cc87
leaq 0x228(%rsp), %rdi
callq 0x9382
leaq 0x50(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x228(%rsp), %rdx
callq 0x828a
leaq 0x218(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1661c(%rip), %rsi     # 0x3cc9b
leaq 0x16627(%rip), %rdx     # 0x3ccad
leaq 0x208(%rsp), %rdi
callq 0x9382
leaq 0x50(%rsp), %rdi
leaq 0x208(%rsp), %rsi
callq 0x8244
movsd %xmm0, 0x48(%rsp)
movq 0x208(%rsp), %rdi
cmpq %r15, %rdi
je 0x266c8
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x50(%rsp), %rdi
callq 0x86a0
leaq 0x58(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x8742
movq 0x228(%rsp), %rdi
cmpq %r14, %rdi
je 0x266fd
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x5350
movq 0x30(%rsp), %rsi
leaq 0xf0(%rsp), %rdi
callq 0x7bca
movq 0x30(%rsp), %rsi
addq $0x18, %rsi
leaq 0xd8(%rsp), %rdi
callq 0x7bca
movq 0x30(%rsp), %rsi
addq $0x30, %rsi
leaq 0xc0(%rsp), %rdi
callq 0x7bca
movsd 0x8(%rsp), %xmm1
divsd 0x108c7(%rip), %xmm1    # 0x37010
movsd 0x48(%rsp), %xmm2
divsd 0x108b9(%rip), %xmm2    # 0x37010
mulsd 0x108a9(%rip), %xmm1    # 0x37008
mulsd 0x108a1(%rip), %xmm2    # 0x37008
leaq 0xf0(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
leaq 0xc0(%rsp), %rcx
movq %rbx, %rdi
movsd (%rsp), %xmm0
callq 0x1b254
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x267a9
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x267c6
movq 0xe8(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x26c26
leaq 0x100(%rsp), %rax
jmp 0x26c1b
leaq 0x1f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x164b7(%rip), %rsi     # 0x3ccae
leaq 0x164bf(%rip), %rdx     # 0x3ccbd
leaq 0x1e8(%rsp), %rdi
callq 0x9382
leaq 0x30(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x828a
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2683f
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x1d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1646c(%rip), %rsi     # 0x3ccbe
leaq 0x16479(%rip), %rdx     # 0x3ccd2
leaq 0x1c8(%rsp), %rdi
callq 0x9382
leaq 0x30(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x8244
movsd %xmm0, 0x48(%rsp)
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2689b
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x1b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16425(%rip), %rsi     # 0x3ccd3
leaq 0x1643e(%rip), %rdx     # 0x3ccf3
leaq 0x1a8(%rsp), %rdi
callq 0x9382
leaq 0x30(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x8244
movsd %xmm0, 0x70(%rsp)
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x268f7
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x198(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x163ea(%rip), %rsi     # 0x3ccf4
leaq 0x163f6(%rip), %rdx     # 0x3cd07
leaq 0x188(%rsp), %rdi
callq 0x9382
leaq 0x30(%rsp), %rdi
leaq 0x188(%rsp), %rsi
callq 0x8244
movsd %xmm0, 0x68(%rsp)
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x26953
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x5350
testb %bpl, %bpl
je 0x26c41
leaq 0x178(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16303(%rip), %rsi     # 0x3cc72
leaq 0x16311(%rip), %rdx     # 0x3cc87
leaq 0x168(%rsp), %rdi
callq 0x9382
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x168(%rsp), %rdx
callq 0x828a
leaq 0x158(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x162db(%rip), %rsi     # 0x3cc88
leaq 0x162e6(%rip), %rdx     # 0x3cc9a
leaq 0x148(%rsp), %rdi
callq 0x9382
leaq 0x10(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x8244
movsd %xmm0, 0x8(%rsp)
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x269f6
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x10(%rsp), %rdi
callq 0x86a0
leaq 0x18(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x8742
movq 0x168(%rsp), %rdi
cmpq %r14, %rdi
je 0x26a2b
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x5350
leaq 0x138(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16234(%rip), %rsi     # 0x3cc72
leaq 0x16242(%rip), %rdx     # 0x3cc87
leaq 0x128(%rsp), %rdi
callq 0x9382
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x128(%rsp), %rdx
callq 0x828a
leaq 0x118(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1621f(%rip), %rsi     # 0x3cc9b
leaq 0x1622a(%rip), %rdx     # 0x3ccad
leaq 0x108(%rsp), %rdi
callq 0x9382
leaq 0x10(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x8244
movapd %xmm0, %xmm1
movsd 0x8(%rsp), %xmm0
divsd 0x1055c(%rip), %xmm0    # 0x37010
movsd %xmm0, 0x8(%rsp)
divsd 0x1054e(%rip), %xmm1    # 0x37010
movq 0x108(%rsp), %rdi
cmpq %r15, %rdi
je 0x26aeb
movq 0x118(%rsp), %rsi
incq %rsi
movsd %xmm1, 0x60(%rsp)
callq 0x5350
movsd 0x60(%rsp), %xmm1
movsd 0x8(%rsp), %xmm0
mulsd 0x1050f(%rip), %xmm0    # 0x37008
movsd %xmm0, 0x8(%rsp)
mulsd 0x10501(%rip), %xmm1    # 0x37008
movsd %xmm1, 0x60(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x86a0
leaq 0x18(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x8742
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x26b42
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 0x1ab94
jmp 0x26c60
movq 0x30(%rsp), %rsi
leaq 0xa8(%rsp), %rdi
callq 0x7bca
movq 0x30(%rsp), %rsi
addq $0x18, %rsi
leaq 0x90(%rsp), %rdi
callq 0x7bca
movq 0x30(%rsp), %rsi
addq $0x30, %rsi
leaq 0x78(%rsp), %rdi
callq 0x7bca
leaq 0xa8(%rsp), %rsi
leaq 0x90(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %rbx, %rdi
movsd (%rsp), %xmm0
callq 0x1adb0
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x26be9
movq 0x88(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x26c06
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x26c26
leaq 0xb8(%rsp), %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x5350
leaq 0x30(%rsp), %rdi
callq 0x79c0
leaq 0x10(%rsp), %rdi
callq 0x86a0
leaq 0x18(%rsp), %rdi
jmp 0x26c6f
movq %rbx, %rdi
movsd 0x68(%rsp), %xmm0
movsd 0x48(%rsp), %xmm1
movsd 0x70(%rsp), %xmm2
movsd (%rsp), %xmm3
callq 0x1a9a0
leaq 0x30(%rsp), %rdi
callq 0x86a0
leaq 0x38(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x8742
leaq 0x20(%rsp), %rdi
callq 0x86a0
leaq 0x28(%rsp), %rdi
movzbl -0x8(%rdi), %esi
callq 0x8742
movq %rbx, %rax
addq $0x368, %rsp            # imm = 0x368
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x26f98
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x26ced
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
jmp 0x26ced
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %r15, %rdi
je 0x26d0f
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26d0f
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x26d1e
movq 0xe8(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
jmp 0x26d1e
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x27080
jmp 0x26d3f
movq %rax, %rbx
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x26ed0
movq 0x100(%rsp), %rsi
jmp 0x26ea4
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x26f9b
movq 0x138(%rsp), %rsi
jmp 0x26f65
jmp 0x26ecd
jmp 0x26f98
movq %rax, %rbx
movq 0x208(%rsp), %rdi
cmpq %r15, %rdi
je 0x26dae
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26dae
movq %rax, %rbx
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x26dbd
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26dbd
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x27080
jmp 0x26dcc
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x27080
jmp 0x26ded
movq %rax, %rbx
movq 0x228(%rsp), %rdi
cmpq %r14, %rdi
je 0x26ed0
movq 0x238(%rsp), %rsi
jmp 0x26ec1
movq %rax, %rbx
movq 0x168(%rsp), %rdi
cmpq %r14, %rdi
je 0x26f9b
movq 0x178(%rsp), %rsi
jmp 0x26f65
jmp 0x26ecd
jmp 0x26f98
movq %rax, %rbx
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x26e5e
movq 0x88(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
jmp 0x26e5e
jmp 0x26f98
movq %rax, %rbx
movq 0x248(%rsp), %rdi
cmpq %r15, %rdi
je 0x26e80
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26e80
movq %rax, %rbx
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x26e8f
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x5350
jmp 0x26e8f
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x27080
jmp 0x26eac
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x26ed0
movq 0xb8(%rsp), %rsi
subq %rdi, %rsi
jmp 0x26ec4
movq %rax, %rbx
movq 0x268(%rsp), %rdi
cmpq %r14, %rdi
je 0x26ed0
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26ed0
jmp 0x26ecd
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x79c0
leaq 0x10(%rsp), %rdi
jmp 0x26fa0
movq %rax, %rbx
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x26f9b
movq 0x198(%rsp), %rsi
jmp 0x26f65
jmp 0x26f98
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x26f9b
movq 0x1b8(%rsp), %rsi
jmp 0x26f65
jmp 0x26f98
movq %rax, %rbx
leaq 0x338(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x26f72
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26f72
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x26f9b
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26f9b
movq %rax, %rbx
movq 0x288(%rsp), %rdi
cmpq %r14, %rdi
je 0x26eda
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x26eda
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x27080
jmp 0x2704b
movq %rax, %rbx
jmp 0x26eda
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2704b
movq 0x1f8(%rsp), %rsi
jmp 0x2703e
movq %rax, %rbx
movq 0x2a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2704b
movq 0x2b8(%rsp), %rsi
jmp 0x2703e
jmp 0x27048
jmp 0x27048
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2704b
movq 0x2d8(%rsp), %rsi
jmp 0x2703e
jmp 0x27048
movq %rax, %rbx
movq 0x2e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2704b
movq 0x2f8(%rsp), %rsi
jmp 0x2703e
jmp 0x27048
movq %rax, %rbx
movq 0x308(%rsp), %rdi
cmpq %r14, %rdi
je 0x2704b
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x2704b
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x27080
movq %rbx, %rdi
callq 0x55e0
movq %rax, %rbx
movq 0x348(%rsp), %rdi
cmpq %r15, %rdi
je 0x27055
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x5350
jmp 0x27055
nop