// File: /workspace/github_c_makefile_star2_O0/FirestonnneTFM[P]tfm_key_parser/src/main_dumper.cpp
// Function: executer::call_prop(class_info*)
char executer::call_prop(class_info *c) {
	uint8_t op;
	*this >> op;
	if (op != OP_callproperty) {
		undo();
		return '\0';
	}
	uint32_t index, arg_count;
	*this >> index;
	*this >> arg_count;
	traits_info *trait = c->get_trait_by_name(abc_file::get_multiname(index));
	method_info *prop = abc_file::get_method(trait->vindex);
	executer e(prop->code.begin());
	assert(e.step() == OP_getlocal_0);
	assert(e.step() == OP_pushscope);
	assert(e.step() == OP_getlex);
	return COP[e.get_push()];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x60(%rbp)
leaq -0x19(%rbp), %rsi
callq 0x4370
movzbl -0x19(%rbp), %eax
cmpl $0x46, %eax
je 0x8d8f
movq -0x60(%rbp), %rdi
callq 0x42b0
movb $0x0, -0x1(%rbp)
jmp 0x8f6b
movq -0x60(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x43d0
movq -0x60(%rbp), %rdi
leaq -0x24(%rbp), %rsi
callq 0x43d0
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
movl -0x20(%rbp), %edi
callq 0x35d0
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x52b0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movl 0xc(%rax), %edi
callq 0x3670
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
addq $0x38, %rdi
callq 0x5560
movq %rax, %rsi
leaq -0x48(%rbp), %rdi
callq 0x98e0
leaq -0x48(%rbp), %rdi
callq 0x2b00
movzbl %al, %eax
cmpl $0xd0, %eax
je 0x8e61
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x70(%rbp)
leaq 0x186f(%rip), %rsi      # 0xa68f
leaq 0x1876(%rip), %rdx      # 0xa69d
movl $0x20, %ecx
callq 0x2f30
jmp 0x8e33
movq -0x70(%rbp), %rdi
leaq 0x5f4a(%rip), %rsi      # 0xed88
xorl %eax, %eax
movl %eax, %edx
callq 0x22b0
movq -0x70(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
callq 0x2110
jmp 0x8f77
jmp 0x8e63
jmp 0x8e65
leaq -0x48(%rbp), %rdi
callq 0x2b00
movzbl %al, %eax
cmpl $0x30, %eax
je 0x8ed2
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x78(%rbp)
leaq 0x17fe(%rip), %rsi      # 0xa68f
leaq 0x1805(%rip), %rdx      # 0xa69d
movl $0x21, %ecx
callq 0x2f30
jmp 0x8ea4
movq -0x78(%rbp), %rdi
leaq 0x5ed9(%rip), %rsi      # 0xed88
xorl %eax, %eax
movl %eax, %edx
callq 0x22b0
movq -0x78(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
callq 0x2110
jmp 0x8f77
jmp 0x8ed4
jmp 0x8ed6
leaq -0x48(%rbp), %rdi
callq 0x2b00
movzbl %al, %eax
cmpl $0x60, %eax
je 0x8f40
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x80(%rbp)
leaq 0x178d(%rip), %rsi      # 0xa68f
leaq 0x1794(%rip), %rdx      # 0xa69d
movl $0x22, %ecx
callq 0x2f30
jmp 0x8f15
movq -0x80(%rbp), %rdi
leaq 0x5e68(%rip), %rsi      # 0xed88
xorl %eax, %eax
movl %eax, %edx
callq 0x22b0
movq -0x80(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
callq 0x2110
jmp 0x8f77
jmp 0x8f42
movq 0x6a9f(%rip), %rax      # 0xf9e8
movq %rax, -0x88(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x2da0
movl %eax, %ecx
movq -0x88(%rbp), %rax
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
addq $0x90, %rsp
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x22e0