// File: kelwinfc[P]ci4721-Fernandez-Gyomrey/src/type_table.cpp
// Function: type_table::type_table()
type_table::type_table(){
    add_type( new type_descriptor("_undefined") );
    add_type( new type_descriptor("_invalid") );
    add_type( new type_descriptor("none") );
    add_type( new type_descriptor("int", 4, 4) );
    add_type( new type_descriptor("float", 4, 4) );
    add_type( new type_descriptor("char", 1, 1) );
    add_type( new type_descriptor("boolean", 1, 1) );
    add_type( new type_descriptor("string", 4, 4) );
}

// Assembly:
subq $0x1f8, %rsp            # imm = 0x1F8
movq %rdi, 0x1f0(%rsp)
movq 0x1f0(%rsp), %rdi
movq %rdi, 0x88(%rsp)
movq %rdi, %rax
movq %rax, 0x80(%rsp)
callq 0x2ddd0
movq 0x88(%rsp), %rdi
addq $0x18, %rdi
movq %rdi, 0x90(%rsp)
callq 0x20840
movl $0x30, %edi
callq 0x6390
movq %rax, 0x98(%rsp)
jmp 0x2d03c
movb $0x1, 0x1be(%rsp)
leaq 0x1bf(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x66c0
movq 0x78(%rsp), %rdx
leaq 0x27252(%rip), %rsi     # 0x542b4
leaq 0x1c0(%rsp), %rdi
callq 0x7500
jmp 0x2d071
movq 0x98(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x2c0f0
jmp 0x2d08f
movq 0x98(%rsp), %rsi
movq 0x80(%rsp), %rdi
movb $0x0, 0x1be(%rsp)
callq 0x2d850
jmp 0x2d0ae
leaq 0x1c0(%rsp), %rdi
callq 0x6778
leaq 0x1bf(%rsp), %rdi
callq 0x6400
movl $0x30, %edi
callq 0x6390
movq %rax, 0x70(%rsp)
jmp 0x2d0d9
movb $0x1, 0x196(%rsp)
leaq 0x197(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x66c0
movq 0x68(%rsp), %rdx
leaq 0x271c0(%rip), %rsi     # 0x542bf
leaq 0x198(%rsp), %rdi
callq 0x7500
jmp 0x2d10e
movq 0x70(%rsp), %rdi
leaq 0x198(%rsp), %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x2c0f0
jmp 0x2d129
movq 0x70(%rsp), %rsi
movq 0x80(%rsp), %rdi
movb $0x0, 0x196(%rsp)
callq 0x2d850
jmp 0x2d145
leaq 0x198(%rsp), %rdi
callq 0x6778
leaq 0x197(%rsp), %rdi
callq 0x6400
movl $0x30, %edi
callq 0x6390
movq %rax, 0x60(%rsp)
jmp 0x2d170
movb $0x1, 0x16e(%rsp)
leaq 0x16f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x66c0
movq 0x58(%rsp), %rdx
leaq 0x27132(%rip), %rsi     # 0x542c8
leaq 0x170(%rsp), %rdi
callq 0x7500
jmp 0x2d1a5
movq 0x60(%rsp), %rdi
leaq 0x170(%rsp), %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x2c0f0
jmp 0x2d1c0
movq 0x60(%rsp), %rsi
movq 0x80(%rsp), %rdi
movb $0x0, 0x16e(%rsp)
callq 0x2d850
jmp 0x2d1dc
leaq 0x170(%rsp), %rdi
callq 0x6778
leaq 0x16f(%rsp), %rdi
callq 0x6400
movl $0x30, %edi
callq 0x6390
movq %rax, 0x50(%rsp)
jmp 0x2d207
movb $0x1, 0x146(%rsp)
leaq 0x147(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x66c0
movq 0x48(%rsp), %rdx
leaq 0x25647(%rip), %rsi     # 0x52874
leaq 0x148(%rsp), %rdi
callq 0x7500
jmp 0x2d23c
movq 0x50(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movl $0x4, %ecx
movl %ecx, %edx
callq 0x2c0f0
jmp 0x2d257
movq 0x50(%rsp), %rsi
movq 0x80(%rsp), %rdi
movb $0x0, 0x146(%rsp)
callq 0x2d850
jmp 0x2d273
leaq 0x148(%rsp), %rdi
callq 0x6778
leaq 0x147(%rsp), %rdi
callq 0x6400
movl $0x30, %edi
callq 0x6390
movq %rax, 0x40(%rsp)
jmp 0x2d29e
movb $0x1, 0x11e(%rsp)
leaq 0x11f(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x66c0
movq 0x38(%rsp), %rdx
leaq 0x25577(%rip), %rsi     # 0x5283b
leaq 0x120(%rsp), %rdi
callq 0x7500
jmp 0x2d2d3
movq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %rsi
movl $0x4, %ecx
movl %ecx, %edx
callq 0x2c0f0
jmp 0x2d2ee
movq 0x40(%rsp), %rsi
movq 0x80(%rsp), %rdi
movb $0x0, 0x11e(%rsp)
callq 0x2d850
jmp 0x2d30a
leaq 0x120(%rsp), %rdi
callq 0x6778
leaq 0x11f(%rsp), %rdi
callq 0x6400
movl $0x30, %edi
callq 0x6390
movq %rax, 0x30(%rsp)
jmp 0x2d335
movb $0x1, 0xf6(%rsp)
leaq 0xf7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x66c0
movq 0x28(%rsp), %rdx
leaq 0x25498(%rip), %rsi     # 0x527f3
leaq 0xf8(%rsp), %rdi
callq 0x7500
jmp 0x2d36a
movq 0x30(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x1, %ecx
movl %ecx, %edx
callq 0x2c0f0
jmp 0x2d385
movq 0x30(%rsp), %rsi
movq 0x80(%rsp), %rdi
movb $0x0, 0xf6(%rsp)
callq 0x2d850
jmp 0x2d3a1
leaq 0xf8(%rsp), %rdi
callq 0x6778
leaq 0xf7(%rsp), %rdi
callq 0x6400
movl $0x30, %edi
callq 0x6390
movq %rax, 0x20(%rsp)
jmp 0x2d3cc
movb $0x1, 0xce(%rsp)
leaq 0xcf(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x66c0
movq 0x18(%rsp), %rdx
leaq 0x25472(%rip), %rsi     # 0x52864
leaq 0xd0(%rsp), %rdi
callq 0x7500
jmp 0x2d401
movq 0x20(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
movl $0x1, %ecx
movl %ecx, %edx
callq 0x2c0f0
jmp 0x2d41c
movq 0x20(%rsp), %rsi
movq 0x80(%rsp), %rdi
movb $0x0, 0xce(%rsp)
callq 0x2d850
jmp 0x2d438
leaq 0xd0(%rsp), %rdi
callq 0x6778
leaq 0xcf(%rsp), %rdi
callq 0x6400
movl $0x30, %edi
callq 0x6390
movq %rax, 0x10(%rsp)
jmp 0x2d463
movb $0x1, 0xa6(%rsp)
leaq 0xa7(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x66c0
movq 0x8(%rsp), %rdx
leaq 0x26e44(%rip), %rsi     # 0x542cd
leaq 0xa8(%rsp), %rdi
callq 0x7500
jmp 0x2d498
movq 0x10(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
movl $0x4, %ecx
movl %ecx, %edx
callq 0x2c0f0
jmp 0x2d4b3
movq 0x10(%rsp), %rsi
movq 0x80(%rsp), %rdi
movb $0x0, 0xa6(%rsp)
callq 0x2d850
jmp 0x2d4cf
leaq 0xa8(%rsp), %rdi
callq 0x6778
leaq 0xa7(%rsp), %rdi
callq 0x6400
addq $0x1f8, %rsp            # imm = 0x1F8
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d827
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d541
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
leaq 0x1c0(%rsp), %rdi
callq 0x6778
leaq 0x1bf(%rsp), %rdi
callq 0x6400
testb $0x1, 0x1be(%rsp)
jne 0x2d55a
jmp 0x2d56c
movq 0x98(%rsp), %rdi
movl $0x30, %esi
callq 0x63a0
jmp 0x2d827
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d5a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
leaq 0x198(%rsp), %rdi
callq 0x6778
leaq 0x197(%rsp), %rdi
callq 0x6400
testb $0x1, 0x196(%rsp)
jne 0x2d5c1
jmp 0x2d5d0
movq 0x70(%rsp), %rdi
movl $0x30, %esi
callq 0x63a0
jmp 0x2d827
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d60c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
leaq 0x170(%rsp), %rdi
callq 0x6778
leaq 0x16f(%rsp), %rdi
callq 0x6400
testb $0x1, 0x16e(%rsp)
jne 0x2d625
jmp 0x2d634
movq 0x60(%rsp), %rdi
movl $0x30, %esi
callq 0x63a0
jmp 0x2d827
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d670
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
leaq 0x148(%rsp), %rdi
callq 0x6778
leaq 0x147(%rsp), %rdi
callq 0x6400
testb $0x1, 0x146(%rsp)
jne 0x2d689
jmp 0x2d698
movq 0x50(%rsp), %rdi
movl $0x30, %esi
callq 0x63a0
jmp 0x2d827
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d6d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
leaq 0x120(%rsp), %rdi
callq 0x6778
leaq 0x11f(%rsp), %rdi
callq 0x6400
testb $0x1, 0x11e(%rsp)
jne 0x2d6ed
jmp 0x2d6fc
movq 0x40(%rsp), %rdi
movl $0x30, %esi
callq 0x63a0
jmp 0x2d827
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d738
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x6778
leaq 0xf7(%rsp), %rdi
callq 0x6400
testb $0x1, 0xf6(%rsp)
jne 0x2d751
jmp 0x2d760
movq 0x30(%rsp), %rdi
movl $0x30, %esi
callq 0x63a0
jmp 0x2d827
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d79c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x6778
leaq 0xcf(%rsp), %rdi
callq 0x6400
testb $0x1, 0xce(%rsp)
jne 0x2d7b5
jmp 0x2d7c4
movq 0x20(%rsp), %rdi
movl $0x30, %esi
callq 0x63a0
jmp 0x2d827
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
jmp 0x2d7fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1e8(%rsp)
movl %eax, 0x1e4(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0x6778
leaq 0xa7(%rsp), %rdi
callq 0x6400
testb $0x1, 0xa6(%rsp)
jne 0x2d816
jmp 0x2d825
movq 0x10(%rsp), %rdi
movl $0x30, %esi
callq 0x63a0
jmp 0x2d827
movq 0x90(%rsp), %rdi
callq 0x20850
movq 0x88(%rsp), %rdi
callq 0x2dde0
movq 0x1e8(%rsp), %rdi
callq 0x66b0
nop