// File: /workspace/github_cpp_makefile_star2_O3/stacksmith[P]picoasm/cpicoblaze.cpp
// Function: CCode::Disassemble(unsigned int)
CInstruction * CCode::Disassemble( uint32_t code )
{
	uint32_t code_17_0  = (code & 0x3ffff) ;
	uint32_t code_17_12 = (code & 0x3f000) ;
	uint32_t code_17_10 = (code & 0x3fC00) ;
	uint32_t code_7_0   = (code & 0x000ff) ;

	switch( code_17_0 ) {
	case instrRETURN            : return new RETURN( m_cpu, code ) ;
	case instrRETURNC           : return new RETURNC( m_cpu, code ) ;
	case instrRETURNNC          : return new RETURNNC( m_cpu, code ) ;
	case instrRETURNNZ          : return new RETURNNZ( m_cpu, code ) ;
	case instrRETURNZ           : return new RETURNZ( m_cpu, code ) ;
	case instrRETURNI_DISABLE   : return new RETURNI_DISABLE( m_cpu, code ) ;
	case instrRETURNI_ENABLE    : return new RETURNI_ENABLE( m_cpu, code ) ;
	case instrDISABLE_INTERRUPT : return new DISABLE_INTERRUPT( m_cpu, code ) ;
	case instrENABLE_INTERRUPT  : return new ENABLE_INTERRUPT( m_cpu, code ) ;
	default:
		switch( code_17_10 ) {
		case instrCALL   : return new CALL( m_cpu, code ) ;
		case instrCALLC  : return new CALLC( m_cpu, code ) ;
		case instrCALLNC : return new CALLNC( m_cpu, code ) ;
		case instrCALLNZ : return new CALLNZ( m_cpu, code ) ;
		case instrCALLZ  : return new CALLZ( m_cpu, code ) ;
		case instrJUMP   : return new JUMP( m_cpu, code ) ;
		case instrJUMPC  : return new JUMPC( m_cpu, code ) ;
		case instrJUMPNC : return new JUMPNC( m_cpu, code ) ;
		case instrJUMPNZ : return new JUMPNZ( m_cpu, code ) ;
		case instrJUMPZ  : return new JUMPZ( m_cpu, code ) ;
		default:
			switch ( code_17_12 ) {
			case instrADD_SX_KK     : return new ADD_SX_KK( m_cpu, code ) ;
			case instrADD_SX_SY     : return new ADD_SX_SY( m_cpu, code ) ;
			case instrADDCY_SX_KK   : return new ADDCY_SX_KK( m_cpu, code ) ;
			case instrADDCY_SX_SY   : return new ADDCY_SX_SY( m_cpu, code ) ;
			case instrAND_SX_KK     : return new AND_SX_KK( m_cpu, code ) ;
			case instrAND_SX_SY     : return new AND_SX_SY( m_cpu, code ) ;
			case instrCOMPARE_SX_KK : return new COMPARE_SX_KK( m_cpu, code ) ;
			case instrCOMPARE_SX_SY : return new COMPARE_SX_SY( m_cpu, code ) ;
			case instrFETCH_SX_SS   : return new FETCH_SX_SS( m_cpu, code ) ;
			case instrFETCH_SX_SY   : return new FETCH_SX_SY( m_cpu, code ) ;
			case instrINPUT_SX_SY   : return new INPUT_SX_SY( m_cpu, code ) ;
			case instrINPUT_SX_PP   : return new INPUT_SX_PP( m_cpu, code ) ;
			case instrLOAD_SX_KK    : return new LOAD_SX_KK( m_cpu, code ) ;
			case instrLOAD_SX_SY    : return new LOAD_SX_SY( m_cpu, code ) ;
			case instrOR_SX_KK      : return new OR_SX_KK( m_cpu, code ) ;
			case instrOR_SX_SY      : return new OR_SX_SY( m_cpu, code ) ;
			case instrOUTPUT_SX_SY  : return new OUTPUT_SX_SY( m_cpu, code ) ;
			case instrOUTPUT_SX_PP  : return new OUTPUT_SX_PP( m_cpu, code ) ;
			case instrSTORE_SX_SS   : return new STORE_SX_SS( m_cpu, code ) ;	  
			case instrSTORE_SX_SY   : return new STORE_SX_SY( m_cpu, code ) ;	  
			case instrSUB_SX_KK     : return new SUB_SX_KK( m_cpu, code ) ;	  
			case instrSUB_SX_SY     : return new SUB_SX_SY( m_cpu, code ) ;	  
			case instrSUBCY_SX_KK   : return new SUBCY_SX_KK( m_cpu, code ) ;	  
			case instrSUBCY_SX_SY   : return new SUBCY_SX_SY( m_cpu, code ) ;	  
			case instrTEST_SX_KK    : return new TEST_SX_KK( m_cpu, code ) ;	  
			case instrTEST_SX_SY    : return new TEST_SX_SY( m_cpu, code ) ;	  
			case instrXOR_SX_KK		: return new XOR_SX_KK( m_cpu, code ) ;
			case instrXOR_SX_SY		: return new XOR_SX_SY( m_cpu, code ) ;
			
			case instrROTATE:
				switch( code_7_0 ) {
				case instrRL_SX  : return new RL_SX( m_cpu, code ) ;
				case instrRR_SX  : return new RR_SX( m_cpu, code ) ;
				case instrSL0_SX : return new SL0_SX( m_cpu, code ) ;
				case instrSL1_SX : return new SL1_SX( m_cpu, code ) ;
				case instrSLA_SX : return new SLA_SX( m_cpu, code ) ;
				case instrSLX_SX : return new SLX_SX( m_cpu, code ) ;
				case instrSR0_SX : return new SR0_SX( m_cpu, code ) ;
				case instrSR1_SX : return new SR1_SX( m_cpu, code ) ;
				case instrSRA_SX : return new SRA_SX( m_cpu, code ) ;
				case instrSRX_SX : return new SRX_SX( m_cpu, code ) ;
				}
			}
		}
	}

	cout << "Invalid code (" << code << endl ;
	
	return NULL ;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %esi, %r14d
movq %rdi, %r15
movl %esi, %eax
andl $0x3ffff, %eax          # imm = 0x3FFFF
cmpl $0x2bbff, %eax          # imm = 0x2BBFF
jle 0x40ba59
cmpl $0x38000, %eax          # imm = 0x38000
jle 0x40bada
cmpl $0x38001, %eax          # imm = 0x38001
je 0x40bb62
cmpl $0x3c000, %eax          # imm = 0x3C000
je 0x40bbaa
cmpl $0x3c001, %eax          # imm = 0x3C001
jne 0x40bbe1
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e95e8, %rax         # imm = 0x5E95E8
jmp 0x40bbcc
cmpl $0x2b3ff, %eax          # imm = 0x2B3FF
jg 0x40ba9d
cmpl $0x2a000, %eax          # imm = 0x2A000
je 0x40bb17
cmpl $0x2b000, %eax          # imm = 0x2B000
jne 0x40bbe1
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9b88, %rax         # imm = 0x5E9B88
jmp 0x40bbcc
cmpl $0x2b400, %eax          # imm = 0x2B400
je 0x40bb3e
cmpl $0x2b800, %eax          # imm = 0x2B800
jne 0x40bbe1
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9ab0, %rax         # imm = 0x5E9AB0
jmp 0x40bbcc
cmpl $0x2bc00, %eax          # imm = 0x2BC00
je 0x40bb86
cmpl $0x38000, %eax          # imm = 0x38000
jne 0x40bbe1
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9bd0, %rax         # imm = 0x5E9BD0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9a68, %rax         # imm = 0x5E9A68
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9b40, %rax         # imm = 0x5E9B40
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9c18, %rax         # imm = 0x5E9C18
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9af8, %rax         # imm = 0x5E9AF8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e95a0, %rax         # imm = 0x5E95A0
addq $0x10, %rax
movq %rax, (%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl %r14d, %eax
andl $0x3fc00, %eax          # imm = 0x3FC00
addl $0xfffd0000, %eax       # imm = 0xFFFD0000
shrl $0xa, %eax
cmpl $0x17, %eax
ja 0x40bcf1
leaq 0x17604b(%rip), %rcx    # 0x581c4c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e93a8, %rax         # imm = 0x5E93A8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9480, %rax         # imm = 0x5E9480
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9750, %rax         # imm = 0x5E9750
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e94c8, %rax         # imm = 0x5E94C8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9870, %rax         # imm = 0x5E9870
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9828, %rax         # imm = 0x5E9828
jmp 0x40bbcc
movl %r14d, %eax
shrl $0xc, %eax
andl $0x3f, %eax
cmpl $0x2f, %eax
ja 0x40c012
leaq 0x175fa2(%rip), %rcx    # 0x581cac
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e98b8, %rax         # imm = 0x5E98B8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e93f0, %rax         # imm = 0x5E93F0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9438, %rax         # imm = 0x5E9438
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e97e0, %rax         # imm = 0x5E97E0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9798, %rax         # imm = 0x5E9798
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9288, %rax         # imm = 0x5E9288
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5ea008, %rax         # imm = 0x5EA008
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5ea128, %rax         # imm = 0x5EA128
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9a20, %rax         # imm = 0x5E9A20
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5ea098, %rax         # imm = 0x5EA098
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5ea170, %rax         # imm = 0x5EA170
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9f78, %rax         # imm = 0x5E9F78
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5ea050, %rax         # imm = 0x5EA050
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5ea0e0, %rax         # imm = 0x5EA0E0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e92d0, %rax         # imm = 0x5E92D0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9708, %rax         # imm = 0x5E9708
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9678, %rax         # imm = 0x5E9678
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5ea1b8, %rax         # imm = 0x5EA1B8
jmp 0x40bbcc
cmpb $0xf, %r14b
ja 0x40c012
movzbl %r14b, %eax
leaq 0x175d8a(%rip), %rcx    # 0x581d6c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9d80, %rax         # imm = 0x5E9D80
jmp 0x40bbcc
movq $0x5f4580, %rbx         # imm = 0x5F4580
leaq 0x175dbd(%rip), %rsi    # 0x581ddd
movl $0xe, %edx
movq %rbx, %rdi
callq 0x476110
movl %r14d, %esi
movq %rbx, %rdi
callq 0x476a10
movq %rax, %rdi
callq 0x475f20
xorl %ebx, %ebx
jmp 0x40bbd3
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9900, %rax         # imm = 0x5E9900
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9318, %rax         # imm = 0x5E9318
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9360, %rax         # imm = 0x5E9360
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9510, %rax         # imm = 0x5E9510
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9558, %rax         # imm = 0x5E9558
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e96c0, %rax         # imm = 0x5E96C0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9630, %rax         # imm = 0x5E9630
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9990, %rax         # imm = 0x5E9990
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9948, %rax         # imm = 0x5E9948
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9240, %rax         # imm = 0x5E9240
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e91e8, %rax         # imm = 0x5E91E8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9fc0, %rax         # imm = 0x5E9FC0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9f30, %rax         # imm = 0x5E9F30
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e99d8, %rax         # imm = 0x5E99D8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9dc8, %rax         # imm = 0x5E9DC8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9ea0, %rax         # imm = 0x5E9EA0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9c60, %rax         # imm = 0x5E9C60
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9ee8, %rax         # imm = 0x5E9EE8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9ca8, %rax         # imm = 0x5E9CA8
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9cf0, %rax         # imm = 0x5E9CF0
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9d38, %rax         # imm = 0x5E9D38
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9e58, %rax         # imm = 0x5E9E58
jmp 0x40bbcc
movl $0x28, %edi
callq 0x40dec0
movq %rax, %rbx
movq (%r15), %rsi
movq %rax, %rdi
movl %r14d, %edx
callq 0x4093f0
movq $0x5e9e10, %rax         # imm = 0x5E9E10
jmp 0x40bbcc
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
jmp 0x40c438
movq %rax, %r14
movl $0x28, %esi
movq %rbx, %rdi
callq 0x40d020
movq %r14, %rdi
callq 0x4ad8c0