// File: /workspace/github_c_makefile_star2_O0/FirestonnneTFM[P]tfm_key_parser/src/main_sniffer.cpp
// Function: executer::get_lex_int()
int32_t executer::get_lex_int() {
	uint32_t index, arg_count;
	*this >> index;
	if (strlen(abc_file::get_multiname(index)->ns_str))
		fatal("class is out of our namespace");
	class_info *c = abc_file::get_class_by_name(index);
	c->do_static_init();
	assert(next() == OP_callproperty);
	*this >> index;
	*this >> arg_count;
	assert(arg_count == 0);
	traits_info *tm = c->get_trait_by_name(abc_file::get_multiname(index));
	method_info *m = abc_file::get_method(tm->vindex);
	executer exec(m);
	assert(exec.step() == OP_getlocal_0);
	assert(exec.step() == OP_pushscope);
	int32_t a = exec.get_push();
	int32_t b = exec.get_push();
	assert(exec.step() == OP_add);
	assert(exec.step() == OP_returnvalue);
	return a + b;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x58(%rbp)
leaq -0xc(%rbp), %rsi
callq 0x43e0
movl -0xc(%rbp), %edi
callq 0x35e0
movq 0x8(%rax), %rdi
callq 0x20d0
cmpq $0x0, %rax
je 0x8fe3
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x60(%rbp)
leaq 0x271b(%rip), %rsi      # 0xb6bd
leaq 0x2732(%rip), %rdx      # 0xb6db
movl $0x3c, %ecx
callq 0x2f40
jmp 0x8fb5
movq -0x60(%rbp), %rdi
leaq 0x7dc8(%rip), %rsi      # 0x10d88
xorl %eax, %eax
movl %eax, %edx
callq 0x22a0
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x2110
jmp 0x9325
movl -0xc(%rbp), %edi
callq 0x36f0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x4f90
movq -0x58(%rbp), %rdi
callq 0x42e0
movzbl %al, %eax
cmpl $0x46, %eax
je 0x9065
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x68(%rbp)
leaq 0x26cc(%rip), %rsi      # 0xb6f0
leaq 0x26b0(%rip), %rdx      # 0xb6db
movl $0x3f, %ecx
callq 0x2f40
jmp 0x9037
movq -0x68(%rbp), %rdi
leaq 0x7d46(%rip), %rsi      # 0x10d88
xorl %eax, %eax
movl %eax, %edx
callq 0x22a0
movq -0x68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x2110
jmp 0x9325
jmp 0x9067
movq -0x58(%rbp), %rdi
leaq -0xc(%rbp), %rsi
callq 0x43e0
movq -0x58(%rbp), %rdi
leaq -0x10(%rbp), %rsi
callq 0x43e0
cmpl $0x0, -0x10(%rbp)
je 0x90e3
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x70(%rbp)
leaq 0x264e(%rip), %rsi      # 0xb6f0
leaq 0x2632(%rip), %rdx      # 0xb6db
movl $0x42, %ecx
callq 0x2f40
jmp 0x90b5
movq -0x70(%rbp), %rdi
leaq 0x7cc8(%rip), %rsi      # 0x10d88
xorl %eax, %eax
movl %eax, %edx
callq 0x22a0
movq -0x70(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x2110
jmp 0x9325
jmp 0x90e5
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
movl -0xc(%rbp), %edi
callq 0x35e0
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x52c0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movl 0xc(%rax), %edi
callq 0x3680
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0xad00
leaq -0x48(%rbp), %rdi
callq 0x2b10
movzbl %al, %eax
cmpl $0xd0, %eax
je 0x9191
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x80(%rbp)
leaq 0x25a0(%rip), %rsi      # 0xb6f0
leaq 0x2584(%rip), %rdx      # 0xb6db
movl $0x46, %ecx
callq 0x2f40
jmp 0x9163
movq -0x80(%rbp), %rdi
leaq 0x7c1a(%rip), %rsi      # 0x10d88
xorl %eax, %eax
movl %eax, %edx
callq 0x22a0
movq -0x80(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x2110
jmp 0x9325
jmp 0x9193
jmp 0x9195
leaq -0x48(%rbp), %rdi
callq 0x2b10
movzbl %al, %eax
cmpl $0x30, %eax
je 0x920b
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x88(%rbp)
leaq 0x252c(%rip), %rsi      # 0xb6f0
leaq 0x2510(%rip), %rdx      # 0xb6db
movl $0x47, %ecx
callq 0x2f40
jmp 0x91d7
movq -0x88(%rbp), %rdi
leaq 0x7ba3(%rip), %rsi      # 0x10d88
xorl %eax, %eax
movl %eax, %edx
callq 0x22a0
movq -0x88(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x2110
jmp 0x9325
jmp 0x920d
leaq -0x48(%rbp), %rdi
callq 0x2db0
movl %eax, -0x4c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x2db0
movl %eax, -0x50(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x2b10
movzbl %al, %eax
cmpl $0xa0, %eax
je 0x929d
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x90(%rbp)
leaq 0x249a(%rip), %rsi      # 0xb6f0
leaq 0x247e(%rip), %rdx      # 0xb6db
movl $0x4a, %ecx
callq 0x2f40
jmp 0x9269
movq -0x90(%rbp), %rdi
leaq 0x7b11(%rip), %rsi      # 0x10d88
xorl %eax, %eax
movl %eax, %edx
callq 0x22a0
movq -0x90(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x2110
jmp 0x9325
jmp 0x929f
jmp 0x92a1
leaq -0x48(%rbp), %rdi
callq 0x2b10
movzbl %al, %eax
cmpl $0x48, %eax
je 0x9314
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x98(%rbp)
leaq 0x2420(%rip), %rsi      # 0xb6f0
leaq 0x2404(%rip), %rdx      # 0xb6db
movl $0x4b, %ecx
callq 0x2f40
jmp 0x92e3
movq -0x98(%rbp), %rdi
leaq 0x7a97(%rip), %rsi      # 0x10d88
xorl %eax, %eax
movl %eax, %edx
callq 0x22a0
movq -0x98(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x2110
jmp 0x9325
jmp 0x9316
movl -0x4c(%rbp), %eax
addl -0x50(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x18(%rbp), %rdi
callq 0x22d0
nop