// File: /workspace/github_cpp_makefile_star2_O1/Aries-orz[P]Ari-RayTracing/src/Demo.cpp
// Function: generateWorld(rt::Scene&)
void generateWorld(Scene& scene) {
    //Add the walls
    scene.addObj(new RTPlane(Vec3d(1, 0, 0), Vec3d(1, 0, 0), RTObject::DIFFUSE, Vec3d(), Vec3d(.75, .25, .25)));//left
    scene.addObj(new RTPlane(Vec3d(99, 0, 0), Vec3d(-1, 0, 0), RTObject::DIFFUSE, Vec3d(), Vec3d(.25, .75, .25)));//right
    scene.addObj(new RTPlane(Vec3d(0, 0, 0), Vec3d(0, 0, 1), RTObject::REFRACTIVE, Vec3d(), Vec3d(1, 1, 1)));//back
    scene.addObj(new RTPlane(Vec3d(0, 0, 300), Vec3d(0, 0, -1), RTObject::REFRACTIVE, Vec3d(), Vec3d()));//front
    scene.addObj(new RTPlane(Vec3d(0, 0, 0), Vec3d(0, 1, 0), RTObject::DIFFUSE, Vec3d(), Vec3d(.75, .75, .75)));//bottom
    scene.addObj(new RTPlane(Vec3d(0, 81.6, 0), Vec3d(0, -1, 0), RTObject::DIFFUSE, Vec3d(), Vec3d(.75, .75, .75)));//top
    
    //Add the light
    scene.addObj(new RTTriangle(Vec3d(40, 81.6-.01, 70), Vec3d(60, 81.6-.01, 70), Vec3d(40, 81.6-.01, 90),
                                RTObject::DIFFUSE, Vec3d(12, 12, 12), Vec3d()));
    scene.addObj(new RTTriangle(Vec3d(60, 81.6-.01, 90), Vec3d(60, 81.6-.01, 70), Vec3d(40, 81.6-.01, 90),
                                RTObject::DIFFUSE, Vec3d(12, 12, 12), Vec3d()));
    
    //Add two sphere
    scene.addObj(new RTSphere(Vec3d(45,12,120),    Vec3d(), Vec3d(1,1,1)*.999, 12, RTObject::REFRACTIVE));
    scene.addObj(new RTSphere(Vec3d(27,52.001,47), Vec3d(), Vec3d(1,1,1)*.999, 12, RTObject::DIFFUSE));

    //Add one box
    scene.addObj(new RTBox(Vec3d(10.5,0,30.5), Vec3d(43.5,40,63.5), RTObject::DIFFUSE, Vec3d(), Vec3d(1,1,1)*.999));
    
    //Parse the .obj file
    ObjParser parser;
    parser.readFromObj("test_data/block.obj");
    int num = parser.numOfFaces;
    
    //Add the block object
    RTTriangle* indices = new RTTriangle[num];
    for (int i=0; i<num; ++i) {
        Vec3d p0 = parser.verticeList[parser.faceList[i][0]];
        Vec3d p1 = parser.verticeList[parser.faceList[i][1]];
        Vec3d p2 = parser.verticeList[parser.faceList[i][2]];
        indices[i] = RTTriangle(p0+Vec3d(73,10,79), p1+Vec3d(73,10,79), p2+Vec3d(73,10,79), RTObject::DIFFUSE, Vec3d(), Vec3d(0,0,1));
    }
    RTBBox *bbox = new RTBBox(Vec3d(53,0,68), Vec3d(93,20,88)); //Add a bounding box for the complex object
    scene.addObj(new RTComplexObj(indices, bbox, num, RTObject::DIFFUSE, Vec3d(), Vec3d(0,0,1)));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x5c8, %rsp            # imm = 0x5C8
movq %rdi, %r13
movl $0x70, %edi
callq 0x2110
movq %rax, %r14
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
leaq 0x100(%rsp), %rsi
movq %rax, (%rsi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movups %xmm0, 0x8(%rdx)
leaq 0x430(%rsp), %r8
movaps %xmm0, (%r8)
movq $0x0, 0x10(%r8)
movabsq $0x3fe8000000000000, %rbx # imm = 0x3FE8000000000000
leaq 0x5b0(%rsp), %r9
movq %rbx, (%r9)
movabsq $0x3fd0000000000000, %r12 # imm = 0x3FD0000000000000
movq %r12, 0x8(%r9)
movq %r12, 0x10(%r9)
movb $0x1, %bpl
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x5490
xorl %ebp, %ebp
movq %r13, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x70, %edi
callq 0x2110
movq %rax, %r14
movabsq $0x4058c00000000000, %rax # imm = 0x4058C00000000000
leaq 0x100(%rsp), %rsi
movq %rax, (%rsi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rsi)
movabsq $-0x4010000000000000, %r15 # imm = 0xBFF0000000000000
leaq 0x10(%rsp), %rdx
movq %r15, (%rdx)
movups %xmm0, 0x8(%rdx)
leaq 0x410(%rsp), %r8
movaps %xmm0, (%r8)
movq $0x0, 0x10(%r8)
leaq 0x598(%rsp), %r9
movq %r12, (%r9)
movq %rbx, 0x8(%r9)
movq %r12, 0x10(%r9)
movb $0x1, %bpl
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x5490
xorl %ebp, %ebp
movq %r13, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x70, %edi
callq 0x2110
movq %rax, %r14
xorl %eax, %eax
leaq 0x100(%rsp), %rsi
movq %rax, 0x10(%rsi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rsi)
leaq 0x10(%rsp), %rdx
movaps %xmm0, (%rdx)
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, 0x10(%rdx)
leaq 0x3f0(%rsp), %r8
movaps %xmm0, (%r8)
movq %rax, 0x10(%r8)
leaq 0x580(%rsp), %r9
movq %rcx, (%r9)
movq %rcx, 0x8(%r9)
movq %rcx, 0x10(%r9)
movb $0x1, %bpl
movq %r14, %rdi
movl $0x2, %ecx
callq 0x5490
xorl %ebp, %ebp
movq %r13, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x70, %edi
callq 0x2110
movq %rax, %r14
xorps %xmm0, %xmm0
leaq 0x100(%rsp), %rsi
movaps %xmm0, (%rsi)
movabsq $0x4072c00000000000, %rax # imm = 0x4072C00000000000
movq %rax, 0x10(%rsi)
leaq 0x10(%rsp), %rdx
movaps %xmm0, (%rdx)
movq %r15, 0x10(%rdx)
leaq 0x3d0(%rsp), %r8
movaps %xmm0, (%r8)
xorl %eax, %eax
movq %rax, 0x10(%r8)
leaq 0x3b0(%rsp), %r9
movaps %xmm0, (%r9)
movq %rax, 0x10(%r9)
movb $0x1, %bpl
movq %r14, %rdi
movl $0x2, %ecx
callq 0x5490
xorl %ebp, %ebp
movq %r13, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x70, %edi
callq 0x2110
movq %rax, %r14
xorl %eax, %eax
leaq 0x100(%rsp), %rsi
movq %rax, 0x10(%rsi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rsi)
leaq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, 0x8(%rdx)
movq %rax, 0x10(%rdx)
leaq 0x390(%rsp), %r8
movaps %xmm0, (%r8)
movq %rax, 0x10(%r8)
leaq 0x568(%rsp), %r9
movq %rbx, (%r9)
movq %rbx, 0x8(%r9)
movq %rbx, 0x10(%r9)
movb $0x1, %bpl
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x5490
xorl %ebp, %ebp
movq %r13, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x70, %edi
callq 0x2110
movq %rax, %r14
xorl %eax, %eax
leaq 0x100(%rsp), %rsi
movq %rax, (%rsi)
movabsq $0x4054666666666666, %rcx # imm = 0x4054666666666666
movq %rcx, 0x8(%rsi)
movq %rax, 0x10(%rsi)
leaq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %r15, 0x8(%rdx)
movq %rax, 0x10(%rdx)
xorps %xmm0, %xmm0
leaq 0x370(%rsp), %r8
movaps %xmm0, (%r8)
movq %rax, 0x10(%r8)
leaq 0x550(%rsp), %r9
movq %rbx, (%r9)
movq %rbx, 0x8(%r9)
movq %rbx, 0x10(%r9)
movb $0x1, %bpl
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x5490
xorl %ebp, %ebp
movq %r13, %rdi
movq %r14, %rsi
callq 0x5bf6
movq %r13, 0x48(%rsp)
movl $0x88, %edi
callq 0x2110
movq %rax, %r14
movabsq $0x4044000000000000, %rbp # imm = 0x4044000000000000
leaq 0x538(%rsp), %rsi
movq %rbp, (%rsi)
movabsq $0x405465c28f5c28f5, %r12 # imm = 0x405465C28F5C28F5
movq %r12, 0x8(%rsi)
movabsq $0x4051800000000000, %rax # imm = 0x4051800000000000
movq %rax, 0x10(%rsi)
movabsq $0x404e000000000000, %rcx # imm = 0x404E000000000000
leaq 0x520(%rsp), %rdx
movq %rcx, (%rdx)
movq %r12, 0x8(%rdx)
movq %rax, 0x10(%rdx)
leaq 0x508(%rsp), %rcx
movq %rbp, (%rcx)
movq %r12, 0x8(%rcx)
movabsq $0x4056800000000000, %r13 # imm = 0x4056800000000000
movq %r13, 0x10(%rcx)
movabsq $0x4028000000000000, %r15 # imm = 0x4028000000000000
leaq 0x4f0(%rsp), %r9
movq %r15, (%r9)
movq %r15, 0x8(%r9)
movq %r15, 0x10(%r9)
xorps %xmm0, %xmm0
leaq 0x350(%rsp), %rax
movaps %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq %rax, (%rsp)
movq %r14, %rdi
xorl %r8d, %r8d
callq 0x5800
movq 0x48(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x88, %edi
callq 0x2110
movq %rax, %r14
leaq 0x4d8(%rsp), %rsi
movabsq $0x404e000000000000, %rax # imm = 0x404E000000000000
movq %rax, (%rsi)
movq %r12, 0x8(%rsi)
movq %r13, 0x10(%rsi)
leaq 0x4c0(%rsp), %rdx
movq %rax, (%rdx)
movq %r12, 0x8(%rdx)
movabsq $0x4051800000000000, %rax # imm = 0x4051800000000000
movq %rax, 0x10(%rdx)
leaq 0x4a8(%rsp), %rcx
movq %rbp, (%rcx)
movq %r12, 0x8(%rcx)
movq %r13, 0x10(%rcx)
leaq 0x490(%rsp), %r9
movq %r15, (%r9)
movq %r15, 0x8(%r9)
movq %r15, 0x10(%r9)
leaq 0x330(%rsp), %rax
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq %rax, (%rsp)
movq %r14, %rdi
xorl %r8d, %r8d
callq 0x5800
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x60, %edi
callq 0x2110
movq %rax, %r14
movabsq $0x4046800000000000, %rax # imm = 0x4046800000000000
movq %rax, 0xe8(%rsp)
movq %r15, 0xf0(%rsp)
movabsq $0x405e000000000000, %rax # imm = 0x405E000000000000
movq %rax, 0xf8(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x210(%rsp)
movq $0x0, 0x220(%rsp)
leaq 0x100(%rsp), %rsi
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%rsi)
movq %rax, 0x8(%rsi)
movq %rax, 0x10(%rsi)
movb $0x1, %bpl
leaq 0x2d8(%rsp), %rdi
movsd 0x47d3(%rip), %xmm0     # 0x7008
callq 0x5eec
leaq 0xe8(%rsp), %rsi
leaq 0x210(%rsp), %rdx
leaq 0x2d8(%rsp), %rcx
movsd 0x47b6(%rip), %xmm0     # 0x7010
movq %r14, %rdi
movl $0x2, %r8d
callq 0x55f4
xorl %ebp, %ebp
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x60, %edi
callq 0x2110
movq %rax, %r14
movabsq $0x403b000000000000, %rax # imm = 0x403B000000000000
movq %rax, 0xd0(%rsp)
movabsq $0x404a0020c49ba5e3, %rax # imm = 0x404A0020C49BA5E3
movq %rax, 0xd8(%rsp)
movabsq $0x4047800000000000, %rax # imm = 0x4047800000000000
movq %rax, 0xe0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x1f0(%rsp)
movq $0x0, 0x200(%rsp)
leaq 0x100(%rsp), %rsi
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%rsi)
movq %rax, 0x8(%rsi)
movq %rax, 0x10(%rsi)
movb $0x1, %bpl
leaq 0x2c0(%rsp), %rdi
movsd 0x4709(%rip), %xmm0     # 0x7008
callq 0x5eec
movabsq $0x4044000000000000, %r15 # imm = 0x4044000000000000
leaq 0xd0(%rsp), %rsi
leaq 0x1f0(%rsp), %rdx
leaq 0x2c0(%rsp), %rcx
movsd 0x46e2(%rip), %xmm0     # 0x7010
movq %r14, %rdi
xorl %r8d, %r8d
callq 0x55f4
xorl %ebp, %ebp
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5bf6
movl $0x78, %edi
callq 0x2110
movq %rax, %r14
movabsq $0x4025000000000000, %rax # imm = 0x4025000000000000
movq %rax, 0xb8(%rsp)
xorl %eax, %eax
movq %rax, 0xc0(%rsp)
movabsq $0x403e800000000000, %rcx # imm = 0x403E800000000000
movq %rcx, 0xc8(%rsp)
movabsq $0x4045c00000000000, %rcx # imm = 0x4045C00000000000
movq %rcx, 0xa0(%rsp)
movq %r15, 0xa8(%rsp)
movabsq $0x404fc00000000000, %rcx # imm = 0x404FC00000000000
movq %rcx, 0xb0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x1d0(%rsp)
movq %rax, 0x1e0(%rsp)
leaq 0x100(%rsp), %rsi
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%rsi)
movq %rax, 0x8(%rsi)
movq %rax, 0x10(%rsi)
movb $0x1, %bpl
leaq 0x2a8(%rsp), %rdi
movsd 0x4618(%rip), %xmm0     # 0x7008
callq 0x5eec
leaq 0xb8(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
leaq 0x1d0(%rsp), %r8
leaq 0x2a8(%rsp), %r9
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x4f20
xorl %ebp, %ebp
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5bf6
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x41f8
leaq 0x45f0(%rip), %rsi      # 0x7030
movq %rbx, %rdi
callq 0x424c
movslq 0x14(%rsp), %rbp
movl $0x88, %ecx
movq %rbp, %rax
mulq %rcx
movq %rax, %r14
seto %al
addq $0x8, %r14
movq $-0x1, %rcx
cmovbq %rcx, %r14
testb %al, %al
cmovneq %rcx, %r14
movq %r14, %rdi
callq 0x2030
movq %rbp, (%rax)
movq %rax, 0x30(%rsp)
addq $0x8, %rax
movq %rax, 0x40(%rsp)
testl %ebp, %ebp
je 0x2aba
imulq $-0x88, %rbp, %r13
xorl %r15d, %r15d
movq 0x40(%rsp), %rbx
movq %rbx, %rdi
callq 0x57cc
addq $-0x88, %r15
addq $0x88, %rbx
cmpq %r15, %r13
jne 0x2a9f
movq %rbp, 0x38(%rsp)
testl %ebp, %ebp
jle 0x2d07
movq 0x38(%rsp), %rcx
movq %rcx, %rax
shlq $0x7, %rax
leaq (%rax,%rcx,8), %rax
movq %rax, 0x50(%rsp)
xorl %r15d, %r15d
movabsq $0x4052400000000000, %rbx # imm = 0x4052400000000000
movabsq $0x4024000000000000, %r14 # imm = 0x4024000000000000
movabsq $0x4053c00000000000, %r13 # imm = 0x4053C00000000000
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
movslq (%rax,%r15), %rax
leaq (%rax,%rax,2), %rsi
shlq $0x3, %rsi
addq 0x18(%rsp), %rsi
leaq 0x290(%rsp), %rdi
callq 0x5e44
movq 0x20(%rsp), %rax
movslq 0x4(%rax,%r15), %rax
leaq (%rax,%rax,2), %rsi
shlq $0x3, %rsi
addq 0x18(%rsp), %rsi
leaq 0x278(%rsp), %rdi
callq 0x5e44
movq 0x20(%rsp), %rax
movslq 0x8(%rax,%r15), %rax
leaq (%rax,%rax,2), %rsi
shlq $0x3, %rsi
addq 0x18(%rsp), %rsi
leaq 0x260(%rsp), %rdi
callq 0x5e44
movq %rbx, 0x88(%rsp)
movq %r14, 0x90(%rsp)
movq %r13, 0x98(%rsp)
leaq 0x248(%rsp), %rdi
leaq 0x290(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x5e62
movq %rbx, 0x70(%rsp)
movq %r14, 0x78(%rsp)
movq %r13, 0x80(%rsp)
leaq 0x230(%rsp), %rdi
leaq 0x278(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x5e62
movq %r14, %rax
movq %rbx, %r12
movq %rbx, 0x58(%rsp)
movq %rax, %r14
movq %rax, 0x60(%rsp)
movq %r13, 0x68(%rsp)
leaq 0x478(%rsp), %rbx
movq %rbx, %rdi
leaq 0x260(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0x5e62
xorps %xmm0, %xmm0
movaps %xmm0, 0x1b0(%rsp)
movq $0x0, 0x1c0(%rsp)
movaps %xmm0, 0x190(%rsp)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0x1a0(%rsp)
leaq 0x190(%rsp), %rax
movq %rax, (%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x248(%rsp), %rsi
leaq 0x230(%rsp), %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
leaq 0x1b0(%rsp), %r9
callq 0x5800
movl 0x108(%rsp), %eax
movq 0x30(%rsp), %rbx
movl %eax, 0x10(%rbx,%rbp)
leaq (%rbx,%rbp), %rdi
addq $0x18, %rdi
leaq 0x110(%rsp), %rsi
callq 0x5f6a
leaq (%rbx,%rbp), %rdi
addq $0x30, %rdi
leaq 0x128(%rsp), %rsi
callq 0x5f6a
leaq (%rbx,%rbp), %rdi
addq $0x48, %rdi
leaq 0x140(%rsp), %rsi
callq 0x5f6a
leaq (%rbx,%rbp), %rdi
addq $0x60, %rdi
leaq 0x158(%rsp), %rsi
callq 0x5f6a
leaq (%rbx,%rbp), %rdi
addq $0x78, %rdi
leaq 0x170(%rsp), %rsi
callq 0x5f6a
leaq 0x100(%rsp), %rdi
callq 0x548c
addq $0x88, %rbp
addq $0xc, %r15
cmpq %rbp, 0x50(%rsp)
movq %r12, %rbx
jne 0x2aff
movl $0x70, %edi
callq 0x2110
movq 0x48(%rsp), %rbx
movq 0x38(%rsp), %r12
movq %rax, %r14
movabsq $0x404a800000000000, %rax # imm = 0x404A800000000000
leaq 0x460(%rsp), %rsi
movq %rax, (%rsi)
movq $0x0, 0x8(%rsi)
movabsq $0x4051000000000000, %rax # imm = 0x4051000000000000
movq %rax, 0x10(%rsi)
movabsq $0x4057400000000000, %rax # imm = 0x4057400000000000
leaq 0x448(%rsp), %rdx
movq %rax, (%rdx)
movabsq $0x4034000000000000, %rax # imm = 0x4034000000000000
movq %rax, 0x8(%rdx)
movabsq $0x4056000000000000, %rax # imm = 0x4056000000000000
movq %rax, 0x10(%rdx)
movq %r14, %rdi
callq 0x4d74
movl $0x58, %edi
callq 0x2110
movq %rax, %r15
xorps %xmm0, %xmm0
leaq 0x310(%rsp), %r9
movaps %xmm0, (%r9)
movq $0x0, 0x10(%r9)
leaq 0x2f0(%rsp), %rax
movaps %xmm0, (%rax)
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, 0x10(%rax)
movq %rax, (%rsp)
movq %r15, %rdi
movq 0x40(%rsp), %rsi
movq %r14, %rdx
movl %r12d, %ecx
xorl %r8d, %r8d
callq 0x5244
movq %rbx, %rdi
movq %r15, %rsi
callq 0x5bf6
leaq 0x10(%rsp), %rdi
callq 0x4208
addq $0x5c8, %rsp            # imm = 0x5C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movl $0x58, %esi
movq %r15, %rdi
jmp 0x2e18
movq %rax, %rbx
movl $0x70, %esi
movq %r14, %rdi
callq 0x2120
jmp 0x2ed3
jmp 0x2ebe
jmp 0x2ebe
jmp 0x2e2e
movq %rax, %rbx
movl $0x88, %esi
jmp 0x2e75
jmp 0x2e42
jmp 0x2e42
jmp 0x2e42
jmp 0x2e42
jmp 0x2e42
movq %rax, %rbx
testb %bpl, %bpl
je 0x2edd
movl $0x70, %esi
jmp 0x2e75
jmp 0x2ebe
movq %rax, %rbx
testb %bpl, %bpl
je 0x2edd
movl $0x78, %esi
jmp 0x2e75
jmp 0x2e68
movq %rax, %rbx
testb %bpl, %bpl
je 0x2edd
movl $0x60, %esi
movq %r14, %rdi
callq 0x2120
jmp 0x2edd
jmp 0x2ebe
jmp 0x2ebe
jmp 0x2ebe
jmp 0x2ebe
jmp 0x2ebe
movq %rax, %rbx
testq %r15, %r15
je 0x2eaf
negq %r15
movq 0x30(%rsp), %r13
addq $-0x80, %r13
leaq (%r15,%r13), %rdi
callq 0x548c
addq $-0x88, %r15
jne 0x2e9d
movq 0x30(%rsp), %rdi
movq %r14, %rsi
callq 0x21f0
jmp 0x2ed3
movq %rax, %rbx
jmp 0x2ed3
movq %rax, %rbx
leaq 0x100(%rsp), %rdi
callq 0x548c
leaq 0x10(%rsp), %rdi
callq 0x4208
movq %rbx, %rdi
callq 0x21c0