// File: /workspace/github_cpp_makefile_star2_O3/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 0x9c9c
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 0x19d08(%rip), %rsi     # 0x23098
leaq 0x19d04(%rip), %rdx     # 0x2309b
leaq -0x40(%rbp), %rdi
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1dd5(%rip), %rcx      # 0xb188
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x93cc
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19cc2(%rip), %rsi     # 0x2309c
leaq 0x19cbe(%rip), %rdx     # 0x2309f
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1db3(%rip), %rcx      # 0xb1ac
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9412
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x1afba(%rip), %rsi     # 0x243da
leaq 0x1afb6(%rip), %rdx     # 0x243dd
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1d91(%rip), %rcx      # 0xb1d0
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9458
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19c3f(%rip), %rsi     # 0x230a5
leaq 0x19c3a(%rip), %rdx     # 0x230a7
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1d6f(%rip), %rcx      # 0xb1f4
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x949e
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19bf4(%rip), %rsi     # 0x230a0
leaq 0x19bf0(%rip), %rdx     # 0x230a3
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1d4d(%rip), %rcx      # 0xb218
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x94e4
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19bb2(%rip), %rsi     # 0x230a4
leaq 0x19bae(%rip), %rdx     # 0x230a7
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1d2b(%rip), %rcx      # 0xb23c
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x952a
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19b70(%rip), %rsi     # 0x230a8
leaq 0x19b6c(%rip), %rdx     # 0x230ab
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1d0b(%rip), %rcx      # 0xb262
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9570
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19b2e(%rip), %rsi     # 0x230ac
leaq 0x19b2a(%rip), %rdx     # 0x230af
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1cef(%rip), %rcx      # 0xb28c
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x95b6
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19aec(%rip), %rsi     # 0x230b0
leaq 0x19ae8(%rip), %rdx     # 0x230b3
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1cc5(%rip), %rcx      # 0xb2a8
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x95fc
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19aaa(%rip), %rsi     # 0x230b4
leaq 0x19aa5(%rip), %rdx     # 0x230b6
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1c9b(%rip), %rcx      # 0xb2c4
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9642
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19a67(%rip), %rsi     # 0x230b7
leaq 0x19a64(%rip), %rdx     # 0x230bb
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1c6d(%rip), %rcx      # 0xb2dc
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9688
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19a26(%rip), %rsi     # 0x230bc
leaq 0x19a23(%rip), %rdx     # 0x230c0
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1c51(%rip), %rcx      # 0xb306
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x96ce
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x199e5(%rip), %rsi     # 0x230c1
leaq 0x199e2(%rip), %rdx     # 0x230c5
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1c25(%rip), %rcx      # 0xb320
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9714
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x199a5(%rip), %rsi     # 0x230c7
leaq 0x199a1(%rip), %rdx     # 0x230ca
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1bfd(%rip), %rcx      # 0xb33e
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x975a
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x1995e(%rip), %rsi     # 0x230c6
leaq 0x1995b(%rip), %rdx     # 0x230ca
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1bd5(%rip), %rcx      # 0xb35c
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x97a0
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x1991d(%rip), %rsi     # 0x230cb
leaq 0x19919(%rip), %rdx     # 0x230ce
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1bad(%rip), %rcx      # 0xb37a
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x97e6
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x198db(%rip), %rsi     # 0x230cf
leaq 0x198d6(%rip), %rdx     # 0x230d1
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1b7b(%rip), %rcx      # 0xb38e
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x982c
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19898(%rip), %rsi     # 0x230d2
leaq 0x19893(%rip), %rdx     # 0x230d4
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1b65(%rip), %rcx      # 0xb3be
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9872
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19855(%rip), %rsi     # 0x230d5
leaq 0x19851(%rip), %rdx     # 0x230d8
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1b4f(%rip), %rcx      # 0xb3ee
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x98b8
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19813(%rip), %rsi     # 0x230d9
leaq 0x1980f(%rip), %rdx     # 0x230dc
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1b31(%rip), %rcx      # 0xb416
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x98fe
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x197d1(%rip), %rsi     # 0x230dd
leaq 0x197ce(%rip), %rdx     # 0x230e1
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1b13(%rip), %rcx      # 0xb43e
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9944
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x19790(%rip), %rsi     # 0x230e2
leaq 0x1978a(%rip), %rdx     # 0x230e3
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1aef(%rip), %rcx      # 0xb460
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x998a
callq 0x52d0
leaq -0x40(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x1974c(%rip), %rsi     # 0x230e4
leaq 0x19748(%rip), %rdx     # 0x230e7
callq 0xa0b8
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x9b78
leaq 0x1ab9(%rip), %rcx      # 0xb470
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x99d0
callq 0x52d0
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
jmp 0x9a35
jmp 0x9a48
movq %rax, %r15
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x9a4b
callq 0x52d0
jmp 0x9a4b
movq %rax, %r15
leaq 0xa0(%rbx), %r12
movq %r14, %rdi
callq 0xa156
movq %r12, %rdi
callq 0x9bf8
movq %rbx, %rdi
callq 0x9c50
movq %r15, %rdi
callq 0x5570