// File: JainamS1996[P]Btree_DataStructure/final.cpp
// Function: main
int main(int argc, char *argv[]) {
    int z;
    ifstream file(argv[1]);

    if (file.fail()) {
        //cout<<"File not found";
        exit(1);
    }
    ofstream o_file("output_file.txt");

    string line;
    //PARSING THE INPUT
    
    while (getline(file, line)) {
        
        int i=0;
        int x=0;
        int y=0;
        double a=0;
        double b=0;
        string temp = "";
        string temp2 = "";

        if (isdigit(line[0])) {
      		istringstream buffer(line);
        	int value;
        	buffer >> value;
        	order = value;
        }

        if (line.substr(0,1)=="I")
        {
            if(line.substr(7,1)=="-")
            {
                for (i = 8;line.substr(i,1)!= ",";i++)
                {
                    x++;
                    
                }
                temp = line.substr(8,x);
                a = -stod(temp);
            }
            else {
                for (i = 7;line.substr(i,1)!= ",";i++)
                {
                    x++;
                }
                temp = line.substr(7,x);
                a = stod(temp);
            }
            
			y=i+1;
            x=0;
            
			for (i = y; line.substr(i,1)!=")";i++)
            {
                x++;
            }

            temp2 = line.substr(y,x);
			//cout << "inserting " << a << " "<< temp2 << " " <<endl; 
            insertNode(rootNode,a,temp2);
        }
        if (line.substr(0,1)=="S")
        {
            if(line.substr(7,1)=="-")
            {
                for (i = 8;line.substr(i,1)!= "," && line.substr(i,1)!=")";i++)
                {
                    x++;
                }
                temp = line.substr(8,x);
                a = -stod(temp);
            }
            else {
                for (i = 7;line.substr(i,1)!= "," && line.substr(i,1)!=")";i++)
                {
                    x++;
                }
                temp = line.substr(7,x);
                a = stod(temp);
            }

            if (line.substr(i,1)==",") {
                y=i+1;
                x=0;
                if (line.substr(y,1)=="-") {
                    y=y+1;
                    for (i = y; line.substr(i,1)!=")";i++)
                    {
                        x++;
                    }
                    temp2 = line.substr(y,x);
                    b = -stod(temp2);
                }
                else {
                    for (i = y; line.substr(i,1)!=")";i++)
                    {
                        x++;
                    }
                    temp2 = line.substr(y,x);
                    b = stod(temp2);
                }
				search(rootNode,a,b,o_file);
            }
            else {
				search(rootNode,a,o_file);
            }
        }
    }
    
    file.close();
    o_file.close();
    
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa50, %rsp            # imm = 0xA50
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
leaq -0x220(%rbp), %rdi
movl $0x8, %edx
callq 0x2320
movq -0x220(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x220(%rbp,%rax), %rdi
callq 0x2030
movb %al, -0x939(%rbp)
jmp 0x3d42
movb -0x939(%rbp), %al
testb $0x1, %al
jne 0x3d4e
jmp 0x3d6f
movl $0x1, %edi
callq 0x2210
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x4d87
leaq 0x9298(%rip), %rsi      # 0xd00e
leaq -0x430(%rbp), %rdi
movl $0x10, %edx
callq 0x2200
jmp 0x3d89
leaq -0x450(%rbp), %rdi
callq 0x2260
leaq -0x220(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x2060
movq %rax, -0x948(%rbp)
jmp 0x3db1
movq -0x948(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x2230
movb %al, -0x949(%rbp)
jmp 0x3dcf
movb -0x949(%rbp), %al
testb $0x1, %al
jne 0x3dde
jmp 0x4d1c
movl $0x0, -0x454(%rbp)
movl $0x0, -0x458(%rbp)
movl $0x0, -0x45c(%rbp)
movq $0x0, -0x468(%rbp)
movq $0x0, -0x470(%rbp)
leaq -0x491(%rbp), %rdi
movq %rdi, -0x958(%rbp)
callq 0x2310
movq -0x958(%rbp), %rdx
leaq 0x91da(%rip), %rsi      # 0xd00d
leaq -0x490(%rbp), %rdi
callq 0x2250
jmp 0x3e41
leaq -0x491(%rbp), %rdi
callq 0x21f0
leaq -0x4b9(%rbp), %rdi
movq %rdi, -0x960(%rbp)
callq 0x2310
movq -0x960(%rbp), %rdx
leaq 0x919f(%rip), %rsi      # 0xd00d
leaq -0x4b8(%rbp), %rdi
callq 0x2250
jmp 0x3e7c
leaq -0x4b9(%rbp), %rdi
callq 0x21f0
xorl %eax, %eax
movl %eax, %esi
leaq -0x450(%rbp), %rdi
callq 0x2340
movq %rax, -0x968(%rbp)
jmp 0x3ea1
movq -0x968(%rbp), %rax
movsbl (%rax), %edi
callq 0x2190
cmpl $0x0, %eax
je 0x3f9c
leaq -0x640(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x8, %edx
callq 0x22f0
jmp 0x3ed3
leaq -0x640(%rbp), %rdi
leaq -0x644(%rbp), %rsi
callq 0x2130
jmp 0x3ee8
movl -0x644(%rbp), %eax
movl %eax, 0xf2c4(%rip)      # 0x131b8
leaq -0x640(%rbp), %rdi
callq 0x20f0
jmp 0x3f9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x4d6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x491(%rbp), %rdi
callq 0x21f0
jmp 0x4d6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x4b9(%rbp), %rdi
callq 0x21f0
jmp 0x4d0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x4d02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x640(%rbp), %rdi
callq 0x20f0
jmp 0x4d02
xorl %eax, %eax
movl %eax, %edx
leaq -0x668(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x3fba
leaq 0x905d(%rip), %rsi      # 0xd01e
leaq -0x668(%rbp), %rdi
callq 0x5800
movb %al, -0x969(%rbp)
jmp 0x3fd5
leaq -0x668(%rbp), %rdi
callq 0x2140
movb -0x969(%rbp), %al
testb $0x1, %al
jne 0x3ff0
jmp 0x4469
leaq -0x688(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x7, %edx
movl $0x1, %ecx
callq 0x21d0
jmp 0x400f
leaq 0x900a(%rip), %rsi      # 0xd020
leaq -0x688(%rbp), %rdi
callq 0x5800
movb %al, -0x96a(%rbp)
jmp 0x402a
leaq -0x688(%rbp), %rdi
callq 0x2140
movb -0x96a(%rbp), %al
testb $0x1, %al
jne 0x4045
jmp 0x41c3
movl $0x8, -0x454(%rbp)
movslq -0x454(%rbp), %rdx
leaq -0x6a8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x4070
leaq 0x8f8d(%rip), %rsi      # 0xd004
leaq -0x6a8(%rbp), %rdi
callq 0x5830
movb %al, -0x96b(%rbp)
jmp 0x408b
leaq -0x6a8(%rbp), %rdi
callq 0x2140
movb -0x96b(%rbp), %al
testb $0x1, %al
jne 0x40a6
jmp 0x412f
movl -0x458(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x458(%rbp)
movl -0x454(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x454(%rbp)
jmp 0x404f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x668(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x688(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x6a8(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movslq -0x458(%rbp), %rcx
leaq -0x6c8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x8, %edx
callq 0x21d0
jmp 0x4150
leaq -0x490(%rbp), %rdi
movq %rdi, -0x980(%rbp)
leaq -0x6c8(%rbp), %rsi
movq %rsi, -0x988(%rbp)
callq 0x2220
movq -0x988(%rbp), %rdi
callq 0x2140
movq -0x980(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x5860
movsd %xmm0, -0x978(%rbp)
jmp 0x4197
movsd -0x978(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x468(%rbp)
jmp 0x42dc
movl $0x7, -0x454(%rbp)
movslq -0x454(%rbp), %rdx
leaq -0x6e8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x41ee
leaq 0x8e0f(%rip), %rsi      # 0xd004
leaq -0x6e8(%rbp), %rdi
callq 0x5830
movb %al, -0x989(%rbp)
jmp 0x4209
leaq -0x6e8(%rbp), %rdi
callq 0x2140
movb -0x989(%rbp), %al
testb $0x1, %al
jne 0x4221
jmp 0x4264
movl -0x458(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x458(%rbp)
movl -0x454(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x454(%rbp)
jmp 0x41cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x6e8(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movslq -0x458(%rbp), %rcx
leaq -0x708(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x7, %edx
callq 0x21d0
jmp 0x4285
leaq -0x490(%rbp), %rdi
movq %rdi, -0x9a0(%rbp)
leaq -0x708(%rbp), %rsi
movq %rsi, -0x9a8(%rbp)
callq 0x2220
movq -0x9a8(%rbp), %rdi
callq 0x2140
movq -0x9a0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x5860
movsd %xmm0, -0x998(%rbp)
jmp 0x42cc
movsd -0x998(%rbp), %xmm0
movsd %xmm0, -0x468(%rbp)
movl -0x454(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x45c(%rbp)
movl $0x0, -0x458(%rbp)
movl -0x45c(%rbp), %eax
movl %eax, -0x454(%rbp)
movslq -0x454(%rbp), %rdx
leaq -0x728(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x4322
leaq 0x8d4e(%rip), %rsi      # 0xd077
leaq -0x728(%rbp), %rdi
callq 0x5830
movb %al, -0x9a9(%rbp)
jmp 0x433d
leaq -0x728(%rbp), %rdi
callq 0x2140
movb -0x9a9(%rbp), %al
testb $0x1, %al
jne 0x4355
jmp 0x4398
movl -0x458(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x458(%rbp)
movl -0x454(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x454(%rbp)
jmp 0x4301
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x728(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movslq -0x45c(%rbp), %rdx
movslq -0x458(%rbp), %rcx
leaq -0x748(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x21d0
jmp 0x43bb
leaq -0x4b8(%rbp), %rdi
movq %rdi, -0x9c8(%rbp)
leaq -0x748(%rbp), %rsi
movq %rsi, -0x9d0(%rbp)
callq 0x2220
movq -0x9d0(%rbp), %rdi
callq 0x2140
movq -0x9c8(%rbp), %rsi
movq 0xede2(%rip), %rax      # 0x131d8
movq %rax, -0x9c0(%rbp)
movsd -0x468(%rbp), %xmm0
movsd %xmm0, -0x9b8(%rbp)
leaq -0x768(%rbp), %rdi
callq 0x20e0
jmp 0x441b
movsd -0x9b8(%rbp), %xmm0
movq -0x9c0(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x31c0
jmp 0x4438
leaq -0x768(%rbp), %rdi
callq 0x2140
jmp 0x4469
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x768(%rbp), %rdi
callq 0x2140
jmp 0x4d02
xorl %eax, %eax
movl %eax, %edx
leaq -0x788(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x4487
leaq 0x8b94(%rip), %rsi      # 0xd022
leaq -0x788(%rbp), %rdi
callq 0x5800
movb %al, -0x9d1(%rbp)
jmp 0x44a2
leaq -0x788(%rbp), %rdi
callq 0x2140
movb -0x9d1(%rbp), %al
testb $0x1, %al
jne 0x44bd
jmp 0x4ce5
leaq -0x7a8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x7, %edx
movl $0x1, %ecx
callq 0x21d0
jmp 0x44dc
leaq 0x8b3d(%rip), %rsi      # 0xd020
leaq -0x7a8(%rbp), %rdi
callq 0x5800
movb %al, -0x9d2(%rbp)
jmp 0x44f7
leaq -0x7a8(%rbp), %rdi
callq 0x2140
movb -0x9d2(%rbp), %al
testb $0x1, %al
jne 0x4512
jmp 0x4750
movl $0x8, -0x454(%rbp)
movslq -0x454(%rbp), %rdx
movb $0x0, -0x7e9(%rbp)
leaq -0x7c8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x4544
leaq 0x8ab9(%rip), %rsi      # 0xd004
leaq -0x7c8(%rbp), %rdi
callq 0x5830
movb %al, -0x9d3(%rbp)
jmp 0x455f
movb -0x9d3(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x9d4(%rbp)
jne 0x4574
jmp 0x45c5
movslq -0x454(%rbp), %rdx
leaq -0x7e8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x4595
movb $0x1, -0x7e9(%rbp)
leaq 0x8ad4(%rip), %rsi      # 0xd077
leaq -0x7e8(%rbp), %rdi
callq 0x5830
movb %al, -0x9d5(%rbp)
jmp 0x45b7
movb -0x9d5(%rbp), %al
movb %al, -0x9d4(%rbp)
jmp 0x45c5
movb -0x9d4(%rbp), %al
movb %al, -0x9d6(%rbp)
testb $0x1, -0x7e9(%rbp)
jne 0x45dc
jmp 0x45e8
leaq -0x7e8(%rbp), %rdi
callq 0x2140
leaq -0x7c8(%rbp), %rdi
callq 0x2140
movb -0x9d6(%rbp), %al
testb $0x1, %al
jne 0x4603
jmp 0x46bc
movl -0x458(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x458(%rbp)
movl -0x454(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x454(%rbp)
jmp 0x451c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x788(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x7a8(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x46ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
testb $0x1, -0x7e9(%rbp)
jne 0x469d
jmp 0x46a9
leaq -0x7e8(%rbp), %rdi
callq 0x2140
jmp 0x46ab
leaq -0x7c8(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movslq -0x458(%rbp), %rcx
leaq -0x810(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x8, %edx
callq 0x21d0
jmp 0x46dd
leaq -0x490(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
leaq -0x810(%rbp), %rsi
movq %rsi, -0x9f0(%rbp)
callq 0x2220
movq -0x9f0(%rbp), %rdi
callq 0x2140
movq -0x9e8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x5860
movsd %xmm0, -0x9e0(%rbp)
jmp 0x4724
movsd -0x9e0(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x468(%rbp)
jmp 0x4929
movl $0x7, -0x454(%rbp)
movslq -0x454(%rbp), %rdx
movb $0x0, -0x851(%rbp)
leaq -0x830(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x4782
leaq 0x887b(%rip), %rsi      # 0xd004
leaq -0x830(%rbp), %rdi
callq 0x5830
movb %al, -0x9f1(%rbp)
jmp 0x479d
movb -0x9f1(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x9f2(%rbp)
jne 0x47b2
jmp 0x4803
movslq -0x454(%rbp), %rdx
leaq -0x850(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x47d3
movb $0x1, -0x851(%rbp)
leaq 0x8896(%rip), %rsi      # 0xd077
leaq -0x850(%rbp), %rdi
callq 0x5830
movb %al, -0x9f3(%rbp)
jmp 0x47f5
movb -0x9f3(%rbp), %al
movb %al, -0x9f2(%rbp)
jmp 0x4803
movb -0x9f2(%rbp), %al
movb %al, -0x9f4(%rbp)
testb $0x1, -0x851(%rbp)
jne 0x481a
jmp 0x4826
leaq -0x850(%rbp), %rdi
callq 0x2140
leaq -0x830(%rbp), %rdi
callq 0x2140
movb -0x9f4(%rbp), %al
testb $0x1, %al
jne 0x483e
jmp 0x48b1
movl -0x458(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x458(%rbp)
movl -0x454(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x454(%rbp)
jmp 0x475a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x48a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
testb $0x1, -0x851(%rbp)
jne 0x4892
jmp 0x489e
leaq -0x850(%rbp), %rdi
callq 0x2140
jmp 0x48a0
leaq -0x830(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movslq -0x458(%rbp), %rcx
leaq -0x878(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x7, %edx
callq 0x21d0
jmp 0x48d2
leaq -0x490(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
leaq -0x878(%rbp), %rsi
movq %rsi, -0xa10(%rbp)
callq 0x2220
movq -0xa10(%rbp), %rdi
callq 0x2140
movq -0xa08(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x5860
movsd %xmm0, -0xa00(%rbp)
jmp 0x4919
movsd -0xa00(%rbp), %xmm0
movsd %xmm0, -0x468(%rbp)
movslq -0x454(%rbp), %rdx
leaq -0x898(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x494a
leaq 0x86b3(%rip), %rsi      # 0xd004
leaq -0x898(%rbp), %rdi
callq 0x5800
movb %al, -0xa11(%rbp)
jmp 0x4965
leaq -0x898(%rbp), %rdi
callq 0x2140
movb -0xa11(%rbp), %al
testb $0x1, %al
jne 0x4980
jmp 0x4cc4
movl -0x454(%rbp), %eax
incl %eax
movl %eax, -0x45c(%rbp)
movl $0x0, -0x458(%rbp)
movslq -0x45c(%rbp), %rdx
leaq -0x8b8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x49b9
leaq 0x8660(%rip), %rsi      # 0xd020
leaq -0x8b8(%rbp), %rdi
callq 0x5800
movb %al, -0xa12(%rbp)
jmp 0x49d4
leaq -0x8b8(%rbp), %rdi
callq 0x2140
movb -0xa12(%rbp), %al
testb $0x1, %al
jne 0x49ef
jmp 0x4b80
movl -0x45c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x45c(%rbp)
movl -0x45c(%rbp), %eax
movl %eax, -0x454(%rbp)
movslq -0x454(%rbp), %rdx
leaq -0x8d8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x4a2b
leaq 0x8645(%rip), %rsi      # 0xd077
leaq -0x8d8(%rbp), %rdi
callq 0x5830
movb %al, -0xa13(%rbp)
jmp 0x4a46
leaq -0x8d8(%rbp), %rdi
callq 0x2140
movb -0xa13(%rbp), %al
testb $0x1, %al
jne 0x4a61
jmp 0x4aea
movl -0x458(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x458(%rbp)
movl -0x454(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x454(%rbp)
jmp 0x4a0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x898(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x8b8(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x8d8(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movslq -0x45c(%rbp), %rdx
movslq -0x458(%rbp), %rcx
leaq -0x8f8(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x21d0
jmp 0x4b0d
leaq -0x4b8(%rbp), %rdi
movq %rdi, -0xa28(%rbp)
leaq -0x8f8(%rbp), %rsi
movq %rsi, -0xa30(%rbp)
callq 0x2220
movq -0xa30(%rbp), %rdi
callq 0x2140
movq -0xa28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x5860
movsd %xmm0, -0xa20(%rbp)
jmp 0x4b54
movsd -0xa20(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x470(%rbp)
jmp 0x4c9d
movl -0x45c(%rbp), %eax
movl %eax, -0x454(%rbp)
movslq -0x454(%rbp), %rdx
leaq -0x918(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movl $0x1, %ecx
callq 0x21d0
jmp 0x4bad
leaq 0x84c3(%rip), %rsi      # 0xd077
leaq -0x918(%rbp), %rdi
callq 0x5830
movb %al, -0xa31(%rbp)
jmp 0x4bc8
leaq -0x918(%rbp), %rdi
callq 0x2140
movb -0xa31(%rbp), %al
testb $0x1, %al
jne 0x4be0
jmp 0x4c23
movl -0x458(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x458(%rbp)
movl -0x454(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x454(%rbp)
jmp 0x4b8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x918(%rbp), %rdi
callq 0x2140
jmp 0x4d02
movslq -0x45c(%rbp), %rdx
movslq -0x458(%rbp), %rcx
leaq -0x938(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x21d0
jmp 0x4c46
leaq -0x4b8(%rbp), %rdi
movq %rdi, -0xa48(%rbp)
leaq -0x938(%rbp), %rsi
movq %rsi, -0xa50(%rbp)
callq 0x2220
movq -0xa50(%rbp), %rdi
callq 0x2140
movq -0xa48(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x5860
movsd %xmm0, -0xa40(%rbp)
jmp 0x4c8d
movsd -0xa40(%rbp), %xmm0
movsd %xmm0, -0x470(%rbp)
movq 0xe534(%rip), %rdi      # 0x131d8
movsd -0x468(%rbp), %xmm0
movsd -0x470(%rbp), %xmm1
leaq -0x430(%rbp), %rsi
callq 0x3910
jmp 0x4cc2
jmp 0x4ce3
movq 0xe50d(%rip), %rdi      # 0x131d8
movsd -0x468(%rbp), %xmm0
leaq -0x430(%rbp), %rsi
callq 0x3570
jmp 0x4ce1
jmp 0x4ce3
jmp 0x4ce5
leaq -0x4b8(%rbp), %rdi
callq 0x2140
leaq -0x490(%rbp), %rdi
callq 0x2140
jmp 0x3d95
leaq -0x4b8(%rbp), %rdi
callq 0x2140
leaq -0x490(%rbp), %rdi
callq 0x2140
jmp 0x4d6f
leaq -0x220(%rbp), %rdi
callq 0x2070
jmp 0x4d2a
leaq -0x430(%rbp), %rdi
callq 0x2270
jmp 0x4d38
movl $0x0, -0x4(%rbp)
leaq -0x450(%rbp), %rdi
callq 0x2140
leaq -0x430(%rbp), %rdi
callq 0x22a0
leaq -0x220(%rbp), %rdi
callq 0x2080
movl -0x4(%rbp), %eax
addq $0xa50, %rsp            # imm = 0xA50
popq %rbp
retq
leaq -0x450(%rbp), %rdi
callq 0x2140
leaq -0x430(%rbp), %rdi
callq 0x22a0
leaq -0x220(%rbp), %rdi
callq 0x2080
movq -0x228(%rbp), %rdi
callq 0x2300
nop