// File: /workspace/github_cpp_makefile_star2_O1/MUST-Quick-Fry[P]Process-Scheduler/scheduler.cpp
// Function: Project::Scheduler::Scheduler(char*, char*)
Scheduler::Scheduler(char *f, char *p) : policyInfo(p)
{
    string tmp = Utils::readFile(f);
    normalizeCheck(tmp);
    splitToken(tmp);
    job_num = job_queue.size();
    choosePolicy();
    //sort(job_queue.begin(),job_queue.end());
    //schedulerDrive();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movq %rsi, %r15
movq %rdi, %rbx
leaq -0x110(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdx
callq 0x20e0
leaq -0x100(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0xb790(%rip), %rsi      # 0x101f0
leaq 0xb78d(%rip), %rdx      # 0x101f4
leaq -0x110(%rbp), %r12
movq %r12, %rdi
callq 0xcd16
leaq -0xe8(%rbp), %r12
movl $0x0, -0x8(%r12)
leaq -0xd8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0xb75d(%rip), %rsi      # 0x101f5
leaq 0xb75a(%rip), %rdx      # 0x101f9
movq %r12, %rdi
callq 0xcd16
leaq -0xc0(%rbp), %r12
movl $0x1, -0x8(%r12)
leaq -0xb0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0xb731(%rip), %rsi      # 0x101fa
leaq 0xb72e(%rip), %rdx      # 0x101fe
movq %r12, %rdi
callq 0xcd16
leaq -0x98(%rbp), %r12
movl $0x2, -0x8(%r12)
leaq -0x88(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0xb705(%rip), %rsi      # 0x101ff
leaq 0xb700(%rip), %rdx      # 0x10201
movq %r12, %rdi
callq 0xcd16
leaq 0x20(%rbx), %r14
leaq -0x70(%rbp), %rdx
movl $0x3, -0x8(%rdx)
leaq -0x29(%rbp), %rax
movq %rax, (%rsp)
leaq -0x110(%rbp), %rsi
leaq -0x2b(%rbp), %r8
leaq -0x2a(%rbp), %r9
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xcef0
leaq -0x88(%rbp), %r12
xorl %r13d, %r13d
movq -0x98(%rbp,%r13), %rdi
leaq (%r12,%r13), %rax
cmpq %rdi, %rax
je 0x4b59
callq 0x2250
addq $-0x28, %r13
cmpq $-0xa0, %r13
jne 0x4b43
xorps %xmm0, %xmm0
movups %xmm0, 0x60(%rbx)
movq $0x0, 0x70(%rbx)
leaq -0x110(%rbp), %rdi
movq %r15, %rsi
callq 0x305c
leaq -0x60(%rbp), %r12
movq %r12, -0x10(%r12)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x70(%rbp), %rdi
callq 0x37c8
leaq -0x70(%rbp), %rsi
callq 0x4d16
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x4bbe
callq 0x2250
leaq -0x40(%rbp), %r12
movq %r12, -0x10(%r12)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x50(%rbp), %rdi
callq 0x37c8
leaq -0x50(%rbp), %rsi
callq 0x4e22
movq -0x50(%rbp), %rdi
cmpq %r12, %rdi
je 0x4bf8
callq 0x2250
movq 0x10c39(%rip), %rax     # 0x15838
subq 0x10c2a(%rip), %rax     # 0x15830
shrq $0x3, %rax
imull $0xba2e8ba3, %eax, %eax # imm = 0xBA2E8BA3
movl %eax, 0x58(%rbx)
movq %rbx, %rdi
callq 0x5150
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x4c33
callq 0x2250
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
movq -0x50(%rbp), %rdi
jmp 0x4c55
movq %rax, %r15
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x4cd4
callq 0x2250
jmp 0x4cd4
movq %rax, %r15
jmp 0x4cec
movq %rax, %r15
movq $-0xa0, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x4c81
callq 0x2250
addq $-0x28, %r13
addq $0x28, %r14
jne 0x4c73
movb $0x1, %al
jmp 0x4c9a
jmp 0x4c95
jmp 0x4c95
jmp 0x4c95
movq %rax, %r15
xorl %eax, %eax
leaq -0x110(%rbp), %rcx
cmpq %r12, %rcx
sete %cl
orb %al, %cl
jne 0x4cfd
leaq -0x110(%rbp), %r14
movq -0x28(%r12), %rdi
leaq -0x18(%r12), %rax
cmpq %rdi, %rax
je 0x4cc6
callq 0x2250
addq $-0x28, %r12
cmpq %r14, %r12
jne 0x4cb2
jmp 0x4cfd
movq %rax, %r15
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x4cec
callq 0x2250
leaq 0x60(%rbx), %rdi
callq 0xa574
movq %r14, %rdi
callq 0xa72a
movq (%rbx), %rdi
addq $0x10, %rbx
cmpq %rbx, %rdi
je 0x4d0e
callq 0x2250
movq %r15, %rdi
callq 0x23e0