// File: /workspace/github_cpp_makefile_star2_O1/pollow[P]MIPSClide/./simulator.h
// Function: Simulator::Simulator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
Simulator( string &_content ) : Assembler(_content) {
        func_table["add"]   = &Simulator::_add ;
        func_table["sub"]   = &Simulator::_sub ;
        func_table["and"]   = &Simulator::_and ;
        func_table["or"]    = &Simulator::_or  ;
        func_table["xor"]   = &Simulator::_xor ;
        func_table["nor"]   = &Simulator::_nor ;
        func_table["slt"]   = &Simulator::_slt ;
        func_table["srl"]   = &Simulator::_srl ;
        func_table["sll"]   = &Simulator::_sll ;
        func_table["jr"]    = &Simulator::_jr  ;
        func_table["jalr"]  = &Simulator::_jalr;
        func_table["addi"]  = &Simulator::_addi;
        func_table["andi"]  = &Simulator::_andi;
        func_table["ori"]   = &Simulator::_ori ;
        func_table["xori"]  = &Simulator::_xori;
        func_table["lui"]   = &Simulator::_lui ;
        func_table["lw"]    = &Simulator::_lw  ;
        func_table["sw"]    = &Simulator::_sw  ;
        func_table["beq"]   = &Simulator::_beq ;
        func_table["bne"]   = &Simulator::_bne ;
        func_table["slti"]  = &Simulator::_slti;
        func_table["j"]     = &Simulator::_j   ;
        func_table["jal"]   = &Simulator::_jal ;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, (%rdi)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
movq %rax, %rsi
callq 0x9c8e
leaq 0x70(%rbx), %rax
xorl %ecx, %ecx
movl %ecx, 0x70(%rbx)
movq %rcx, 0x78(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rbx)
movups %xmm0, 0x30(%rbx)
movups %xmm0, 0x40(%rbx)
movups %xmm0, 0x50(%rbx)
movq %rcx, 0x60(%rbx)
movq %rax, 0x80(%rbx)
movq %rax, 0x88(%rbx)
movq %rcx, 0x90(%rbx)
movups %xmm0, 0xa0(%rbx)
movq %rcx, 0xb0(%rbx)
leaq 0x140(%rbx), %r14
leaq 0x148(%rbx), %rax
movl %ecx, 0x148(%rbx)
movq %rcx, 0x150(%rbx)
movq %rax, 0x158(%rbx)
movq %rax, 0x160(%rbx)
movq %rcx, 0x168(%rbx)
leaq -0x30(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x19d0c(%rip), %rsi     # 0x23098
leaq 0x19d08(%rip), %rdx     # 0x2309b
leaq -0x40(%rbp), %rdi
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1dcd(%rip), %rcx      # 0xb17c
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x93c8
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19cc6(%rip), %rsi     # 0x2309c
leaq 0x19cc2(%rip), %rdx     # 0x2309f
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1dab(%rip), %rcx      # 0xb1a0
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x940e
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x1afbe(%rip), %rsi     # 0x243da
leaq 0x1afba(%rip), %rdx     # 0x243dd
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1d89(%rip), %rcx      # 0xb1c4
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9454
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19c43(%rip), %rsi     # 0x230a5
leaq 0x19c3e(%rip), %rdx     # 0x230a7
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1d67(%rip), %rcx      # 0xb1e8
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x949a
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19bf8(%rip), %rsi     # 0x230a0
leaq 0x19bf4(%rip), %rdx     # 0x230a3
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1d45(%rip), %rcx      # 0xb20c
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x94e0
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19bb6(%rip), %rsi     # 0x230a4
leaq 0x19bb2(%rip), %rdx     # 0x230a7
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1d23(%rip), %rcx      # 0xb230
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9526
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19b74(%rip), %rsi     # 0x230a8
leaq 0x19b70(%rip), %rdx     # 0x230ab
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1d03(%rip), %rcx      # 0xb256
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x956c
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19b32(%rip), %rsi     # 0x230ac
leaq 0x19b2e(%rip), %rdx     # 0x230af
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1ce7(%rip), %rcx      # 0xb280
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x95b2
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19af0(%rip), %rsi     # 0x230b0
leaq 0x19aec(%rip), %rdx     # 0x230b3
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1cbd(%rip), %rcx      # 0xb29c
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x95f8
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19aae(%rip), %rsi     # 0x230b4
leaq 0x19aa9(%rip), %rdx     # 0x230b6
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1c93(%rip), %rcx      # 0xb2b8
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x963e
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19a6b(%rip), %rsi     # 0x230b7
leaq 0x19a68(%rip), %rdx     # 0x230bb
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1c65(%rip), %rcx      # 0xb2d0
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9684
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19a2a(%rip), %rsi     # 0x230bc
leaq 0x19a27(%rip), %rdx     # 0x230c0
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1c49(%rip), %rcx      # 0xb2fa
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x96ca
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x199e9(%rip), %rsi     # 0x230c1
leaq 0x199e6(%rip), %rdx     # 0x230c5
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1c1d(%rip), %rcx      # 0xb314
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9710
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x199a9(%rip), %rsi     # 0x230c7
leaq 0x199a5(%rip), %rdx     # 0x230ca
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1bf5(%rip), %rcx      # 0xb332
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9756
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19962(%rip), %rsi     # 0x230c6
leaq 0x1995f(%rip), %rdx     # 0x230ca
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1bcd(%rip), %rcx      # 0xb350
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x979c
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19921(%rip), %rsi     # 0x230cb
leaq 0x1991d(%rip), %rdx     # 0x230ce
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1ba5(%rip), %rcx      # 0xb36e
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x97e2
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x198df(%rip), %rsi     # 0x230cf
leaq 0x198da(%rip), %rdx     # 0x230d1
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1b73(%rip), %rcx      # 0xb382
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9828
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x1989c(%rip), %rsi     # 0x230d2
leaq 0x19897(%rip), %rdx     # 0x230d4
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1b5d(%rip), %rcx      # 0xb3b2
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x986e
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19859(%rip), %rsi     # 0x230d5
leaq 0x19855(%rip), %rdx     # 0x230d8
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1b47(%rip), %rcx      # 0xb3e2
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x98b4
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19817(%rip), %rsi     # 0x230d9
leaq 0x19813(%rip), %rdx     # 0x230dc
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1b29(%rip), %rcx      # 0xb40a
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x98fa
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x197d5(%rip), %rsi     # 0x230dd
leaq 0x197d2(%rip), %rdx     # 0x230e1
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1b0b(%rip), %rcx      # 0xb432
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9940
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19794(%rip), %rsi     # 0x230e2
leaq 0x1978e(%rip), %rdx     # 0x230e3
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1ae7(%rip), %rcx      # 0xb454
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9986
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19750(%rip), %rsi     # 0x230e4
leaq 0x1974c(%rip), %rdx     # 0x230e7
callq 0xa0b0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b74
leaq 0x1ab1(%rip), %rcx      # 0xb464
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x99cc
callq 0x52d0
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
jmp 0x9a31
jmp 0x9a44
movq %rax, %r15
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9a47
callq 0x52d0
jmp 0x9a47
movq %rax, %r15
leaq 0xa0(%rbx), %r12
movq %r14, %rdi
callq 0xa14a
movq %r12, %rdi
callq 0x9bf4
movq %rbx, %rdi
callq 0x9c42
movq %r15, %rdi
callq 0x5570