// File: Nallantli[P]Rossa/main/rossa/node/node.cpp
// Function: CallBuiltNode::genParser() const
ptr_instruction_t CallBuiltNode::genParser() const
{
	trace_t stack_trace;
	switch (t)
	{
	case TOK_LENGTH:
		if (args.size() > 1)
		{
			throw rossa_error_t(util::format(_TOO_MANY_ARGUMENTS_, {KEYWORD_LENGTH}), token, stack_trace);
		}
		return std::make_shared<LengthI>(args[0]->genParser(), token);
	case TOK_ALLOC:
		if (args.size() > 2)
		{
			throw rossa_error_t(util::format(_TOO_MANY_ARGUMENTS_, {KEYWORD_ALLOC}), token, stack_trace);
		}
		return std::make_shared<AllocI>(args[0]->genParser(), args.size() > 1 ? args[1]->genParser() : nullptr, token);
	case TOK_PARSE:
		if (args.size() > 1)
		{
			throw rossa_error_t(util::format(_TOO_MANY_ARGUMENTS_, {KEYWORD_PARSE}), token, stack_trace);
		}
		return std::make_shared<ParseI>(args[0]->genParser(), token);
	case TOK_CHARN:
		if (args.size() > 1)
		{
			throw rossa_error_t(util::format(_TOO_MANY_ARGUMENTS_, {KEYWORD_CHAR_N}), token, stack_trace);
		}
		return std::make_shared<CharNI>(args[0]->genParser(), token);
	case TOK_CHARS:
		if (args.size() > 1)
		{
			throw rossa_error_t(util::format(_TOO_MANY_ARGUMENTS_, {KEYWORD_CHAR_S}), token, stack_trace);
		}
		return std::make_shared<CharSI>(args[0]->genParser(), token);
	default:
		break;
	}

	throw rossa_error_t(util::format(_UNKNOWN_BUILT_CALL_, {std::to_string(t)}), token, stack_trace);
	return nullptr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6a0, %rsp            # imm = 0x6A0
movq %rdi, -0x4d0(%rbp)
movq %rdi, %rax
movq %rax, -0x4c8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x4c0(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x24b80
movq -0x4c0(%rbp), %rax
movl 0xa8(%rax), %eax
addl $0x39, %eax
movl %eax, %ecx
movq %rcx, -0x4b8(%rbp)
subl $0x1f, %eax
ja 0xd8ba9
movq -0x4b8(%rbp), %rax
leaq 0x7bb5c(%rip), %rcx     # 0x153574
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
callq 0x593c0
cmpq $0x1, %rax
jbe 0xd7cc6
movb $0x1, -0xd4(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x4e0(%rbp)
leaq -0x69(%rbp), %rdi
movq %rdi, -0x4d8(%rbp)
callq 0x119d0
movq -0x4d8(%rbp), %rdx
leaq 0x7bd80(%rip), %rsi     # 0x1537f4
leaq -0x68(%rbp), %rdi
callq 0x24740
jmp 0xd7a7f
movb $0x1, -0xd2(%rbp)
leaq -0xc8(%rbp), %rax
movq %rax, -0x4f0(%rbp)
movq %rax, -0xd0(%rbp)
leaq -0xd1(%rbp), %rdi
movq %rdi, -0x4e8(%rbp)
callq 0x119d0
movq -0x4f0(%rbp), %rdi
movq -0x4e8(%rbp), %rdx
leaq 0x78897(%rip), %rsi     # 0x15035a
callq 0x24740
jmp 0xd7aca
movb $0x0, -0xd2(%rbp)
leaq -0xc8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq $0x1, -0xa0(%rbp)
leaq -0xd3(%rbp), %rdi
movq %rdi, -0x4f8(%rbp)
callq 0x26e30
movq -0x4f8(%rbp), %rcx
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
leaq -0x98(%rbp), %rdi
callq 0x2d6a0
jmp 0xd7b20
leaq -0x48(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x98(%rbp), %rdx
callq 0x9e250
jmp 0xd7b36
movq -0x4e0(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x48(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xd7b57
movq -0x4e0(%rbp), %rdi
movb $0x0, -0xd4(%rbp)
leaq 0x109114(%rip), %rsi    # 0x1e0c80
leaq -0x7d1d3(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xd8e2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd7ca1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd7c34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd7bdc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd7bd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x11360
leaq -0x98(%rbp), %rdi
callq 0x25b00
leaq -0xd3(%rbp), %rdi
callq 0x279c0
leaq -0xc8(%rbp), %rax
movq %rax, -0x508(%rbp)
addq $0x20, %rax
movq %rax, -0x500(%rbp)
movq -0x500(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x510(%rbp)
callq 0x11360
movq -0x508(%rbp), %rcx
movq -0x510(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x500(%rbp)
jne 0xd7c01
jmp 0xd7c34
leaq -0xd1(%rbp), %rdi
callq 0x11600
testb $0x1, -0xd2(%rbp)
jne 0xd7c4b
jmp 0xd7c98
movq -0xd0(%rbp), %rax
leaq -0xc8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x518(%rbp)
je 0xd7c96
movq -0x518(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x520(%rbp)
callq 0x11360
movq -0x520(%rbp), %rax
leaq -0xc8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x518(%rbp)
jne 0xd7c65
jmp 0xd7c98
leaq -0x68(%rbp), %rdi
callq 0x11360
leaq -0x69(%rbp), %rdi
callq 0x11600
testb $0x1, -0xd4(%rbp)
jne 0xd7cb5
jmp 0xd7cc1
movq -0x4e0(%rbp), %rdi
callq 0x11420
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe5650
movq %rax, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0xf8(%rbp), %rdi
callq *%rax
jmp 0xd7cf9
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0xe8(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0xe6b20
jmp 0xd7d19
movq -0x4d0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0xe6ba0
leaq -0xe8(%rbp), %rdi
callq 0xe6bd0
leaq -0xf8(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0xfc(%rbp)
jmp 0xd8dff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8e18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x2a4e0
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
callq 0x593c0
cmpq $0x2, %rax
jbe 0xd803e
movb $0x1, -0x19c(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x530(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x528(%rbp)
callq 0x119d0
movq -0x528(%rbp), %rdx
leaq 0x7ba1d(%rip), %rsi     # 0x1537f4
leaq -0x140(%rbp), %rdi
callq 0x24740
jmp 0xd7de5
movb $0x1, -0x19a(%rbp)
leaq -0x190(%rbp), %rax
movq %rax, -0x540(%rbp)
movq %rax, -0x198(%rbp)
leaq -0x199(%rbp), %rdi
movq %rdi, -0x538(%rbp)
callq 0x119d0
movq -0x540(%rbp), %rdi
movq -0x538(%rbp), %rdx
leaq 0x789b7(%rip), %rsi     # 0x1507e0
callq 0x24740
jmp 0xd7e30
movb $0x0, -0x19a(%rbp)
leaq -0x190(%rbp), %rax
movq %rax, -0x170(%rbp)
movq $0x1, -0x168(%rbp)
leaq -0x19b(%rbp), %rdi
movq %rdi, -0x548(%rbp)
callq 0x26e30
movq -0x548(%rbp), %rcx
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
leaq -0x160(%rbp), %rdi
callq 0x2d6a0
jmp 0xd7e86
leaq -0x120(%rbp), %rdi
leaq -0x140(%rbp), %rsi
leaq -0x160(%rbp), %rdx
callq 0x9e250
jmp 0xd7ea2
movq -0x530(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x120(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xd7ec6
movq -0x530(%rbp), %rdi
movb $0x0, -0x19c(%rbp)
leaq 0x108da5(%rip), %rsi    # 0x1e0c80
leaq -0x7d542(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xd8e2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8016
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd7fa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd7f4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd7f42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x11360
leaq -0x160(%rbp), %rdi
callq 0x25b00
leaq -0x19b(%rbp), %rdi
callq 0x279c0
leaq -0x190(%rbp), %rax
movq %rax, -0x558(%rbp)
addq $0x20, %rax
movq %rax, -0x550(%rbp)
movq -0x550(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x560(%rbp)
callq 0x11360
movq -0x558(%rbp), %rcx
movq -0x560(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x550(%rbp)
jne 0xd7f73
jmp 0xd7fa6
leaq -0x199(%rbp), %rdi
callq 0x11600
testb $0x1, -0x19a(%rbp)
jne 0xd7fbd
jmp 0xd800a
movq -0x198(%rbp), %rax
leaq -0x190(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x568(%rbp)
je 0xd8008
movq -0x568(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x570(%rbp)
callq 0x11360
movq -0x570(%rbp), %rax
leaq -0x190(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x568(%rbp)
jne 0xd7fd7
jmp 0xd800a
leaq -0x140(%rbp), %rdi
callq 0x11360
leaq -0x141(%rbp), %rdi
callq 0x11600
testb $0x1, -0x19c(%rbp)
jne 0xd802d
jmp 0xd8039
movq -0x530(%rbp), %rdi
callq 0x11420
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe5650
movq %rax, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x1c0(%rbp), %rdi
callq *%rax
jmp 0xd8071
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
callq 0x593c0
cmpq $0x1, %rax
jbe 0xd80c0
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
movl $0x1, %esi
callq 0xe5650
movq %rax, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x1d0(%rbp), %rdi
callq *%rax
jmp 0xd80be
jmp 0xd80d0
leaq -0x1d0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7df80
movq -0x4c0(%rbp), %rcx
addq $0x28, %rcx
leaq -0x1b0(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
leaq -0x1d0(%rbp), %rdx
callq 0xe6bf0
jmp 0xd80f7
movq -0x4d0(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0xe6c70
leaq -0x1b0(%rbp), %rdi
callq 0xe6ca0
leaq -0x1d0(%rbp), %rdi
callq 0x2a4e0
leaq -0x1c0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0xfc(%rbp)
jmp 0xd8dff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x2a4e0
leaq -0x1c0(%rbp), %rdi
callq 0x2a4e0
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
callq 0x593c0
cmpq $0x1, %rax
jbe 0xd8431
movb $0x1, -0x26c(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x580(%rbp)
leaq -0x211(%rbp), %rdi
movq %rdi, -0x578(%rbp)
callq 0x119d0
movq -0x578(%rbp), %rdx
leaq 0x7b62a(%rip), %rsi     # 0x1537f4
leaq -0x210(%rbp), %rdi
callq 0x24740
jmp 0xd81d8
movb $0x1, -0x26a(%rbp)
leaq -0x260(%rbp), %rax
movq %rax, -0x590(%rbp)
movq %rax, -0x268(%rbp)
leaq -0x269(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x119d0
movq -0x590(%rbp), %rdi
movq -0x588(%rbp), %rdx
leaq 0x78616(%rip), %rsi     # 0x150832
callq 0x24740
jmp 0xd8223
movb $0x0, -0x26a(%rbp)
leaq -0x260(%rbp), %rax
movq %rax, -0x240(%rbp)
movq $0x1, -0x238(%rbp)
leaq -0x26b(%rbp), %rdi
movq %rdi, -0x598(%rbp)
callq 0x26e30
movq -0x598(%rbp), %rcx
movq -0x240(%rbp), %rsi
movq -0x238(%rbp), %rdx
leaq -0x230(%rbp), %rdi
callq 0x2d6a0
jmp 0xd8279
leaq -0x1f0(%rbp), %rdi
leaq -0x210(%rbp), %rsi
leaq -0x230(%rbp), %rdx
callq 0x9e250
jmp 0xd8295
movq -0x580(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x1f0(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xd82b9
movq -0x580(%rbp), %rdi
movb $0x0, -0x26c(%rbp)
leaq 0x1089b2(%rip), %rsi    # 0x1e0c80
leaq -0x7d935(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xd8e2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8409
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8399
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8341
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8335
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x11360
leaq -0x230(%rbp), %rdi
callq 0x25b00
leaq -0x26b(%rbp), %rdi
callq 0x279c0
leaq -0x260(%rbp), %rax
movq %rax, -0x5a8(%rbp)
addq $0x20, %rax
movq %rax, -0x5a0(%rbp)
movq -0x5a0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x5b0(%rbp)
callq 0x11360
movq -0x5a8(%rbp), %rcx
movq -0x5b0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x5a0(%rbp)
jne 0xd8366
jmp 0xd8399
leaq -0x269(%rbp), %rdi
callq 0x11600
testb $0x1, -0x26a(%rbp)
jne 0xd83b0
jmp 0xd83fd
movq -0x268(%rbp), %rax
leaq -0x260(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x5b8(%rbp)
je 0xd83fb
movq -0x5b8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x5c0(%rbp)
callq 0x11360
movq -0x5c0(%rbp), %rax
leaq -0x260(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x5b8(%rbp)
jne 0xd83ca
jmp 0xd83fd
leaq -0x210(%rbp), %rdi
callq 0x11360
leaq -0x211(%rbp), %rdi
callq 0x11600
testb $0x1, -0x26c(%rbp)
jne 0xd8420
jmp 0xd842c
movq -0x580(%rbp), %rdi
callq 0x11420
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe5650
movq %rax, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x290(%rbp), %rdi
callq *%rax
jmp 0xd8464
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x280(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0xe6cc0
jmp 0xd8484
movq -0x4d0(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0xe6d40
leaq -0x280(%rbp), %rdi
callq 0xe6d70
leaq -0x290(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0xfc(%rbp)
jmp 0xd8dff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x2a4e0
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
callq 0x593c0
cmpq $0x1, %rax
jbe 0xd8798
movb $0x1, -0x32c(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x5d0(%rbp)
leaq -0x2d1(%rbp), %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x119d0
movq -0x5c8(%rbp), %rdx
leaq 0x7b2c3(%rip), %rsi     # 0x1537f4
leaq -0x2d0(%rbp), %rdi
callq 0x24740
jmp 0xd853f
movb $0x1, -0x32a(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x5e0(%rbp)
movq %rax, -0x328(%rbp)
leaq -0x329(%rbp), %rdi
movq %rdi, -0x5d8(%rbp)
callq 0x119d0
movq -0x5e0(%rbp), %rdi
movq -0x5d8(%rbp), %rdx
leaq 0x7829e(%rip), %rsi     # 0x150821
callq 0x24740
jmp 0xd858a
movb $0x0, -0x32a(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x300(%rbp)
movq $0x1, -0x2f8(%rbp)
leaq -0x32b(%rbp), %rdi
movq %rdi, -0x5e8(%rbp)
callq 0x26e30
movq -0x5e8(%rbp), %rcx
movq -0x300(%rbp), %rsi
movq -0x2f8(%rbp), %rdx
leaq -0x2f0(%rbp), %rdi
callq 0x2d6a0
jmp 0xd85e0
leaq -0x2b0(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
leaq -0x2f0(%rbp), %rdx
callq 0x9e250
jmp 0xd85fc
movq -0x5d0(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x2b0(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xd8620
movq -0x5d0(%rbp), %rdi
movb $0x0, -0x32c(%rbp)
leaq 0x10864b(%rip), %rsi    # 0x1e0c80
leaq -0x7dc9c(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xd8e2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8770
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd86a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd869c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x11360
leaq -0x2f0(%rbp), %rdi
callq 0x25b00
leaq -0x32b(%rbp), %rdi
callq 0x279c0
leaq -0x320(%rbp), %rax
movq %rax, -0x5f8(%rbp)
addq $0x20, %rax
movq %rax, -0x5f0(%rbp)
movq -0x5f0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x600(%rbp)
callq 0x11360
movq -0x5f8(%rbp), %rcx
movq -0x600(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x5f0(%rbp)
jne 0xd86cd
jmp 0xd8700
leaq -0x329(%rbp), %rdi
callq 0x11600
testb $0x1, -0x32a(%rbp)
jne 0xd8717
jmp 0xd8764
movq -0x328(%rbp), %rax
leaq -0x320(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x608(%rbp)
je 0xd8762
movq -0x608(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x610(%rbp)
callq 0x11360
movq -0x610(%rbp), %rax
leaq -0x320(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x608(%rbp)
jne 0xd8731
jmp 0xd8764
leaq -0x2d0(%rbp), %rdi
callq 0x11360
leaq -0x2d1(%rbp), %rdi
callq 0x11600
testb $0x1, -0x32c(%rbp)
jne 0xd8787
jmp 0xd8793
movq -0x5d0(%rbp), %rdi
callq 0x11420
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe5650
movq %rax, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x350(%rbp), %rdi
callq *%rax
jmp 0xd87cb
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x340(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0xe6d90
jmp 0xd87eb
movq -0x4d0(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0xe6e10
leaq -0x340(%rbp), %rdi
callq 0xe6e40
leaq -0x350(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0xfc(%rbp)
jmp 0xd8dff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x350(%rbp), %rdi
callq 0x2a4e0
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
callq 0x593c0
cmpq $0x1, %rax
jbe 0xd8aff
movb $0x1, -0x3ec(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x620(%rbp)
leaq -0x391(%rbp), %rdi
movq %rdi, -0x618(%rbp)
callq 0x119d0
movq -0x618(%rbp), %rdx
leaq 0x7af5c(%rip), %rsi     # 0x1537f4
leaq -0x390(%rbp), %rdi
callq 0x24740
jmp 0xd88a6
movb $0x1, -0x3ea(%rbp)
leaq -0x3e0(%rbp), %rax
movq %rax, -0x630(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3e9(%rbp), %rdi
movq %rdi, -0x628(%rbp)
callq 0x119d0
movq -0x630(%rbp), %rdi
movq -0x628(%rbp), %rdx
leaq 0x77f3d(%rip), %rsi     # 0x150827
callq 0x24740
jmp 0xd88f1
movb $0x0, -0x3ea(%rbp)
leaq -0x3e0(%rbp), %rax
movq %rax, -0x3c0(%rbp)
movq $0x1, -0x3b8(%rbp)
leaq -0x3eb(%rbp), %rdi
movq %rdi, -0x638(%rbp)
callq 0x26e30
movq -0x638(%rbp), %rcx
movq -0x3c0(%rbp), %rsi
movq -0x3b8(%rbp), %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x2d6a0
jmp 0xd8947
leaq -0x370(%rbp), %rdi
leaq -0x390(%rbp), %rsi
leaq -0x3b0(%rbp), %rdx
callq 0x9e250
jmp 0xd8963
movq -0x620(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x370(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xd8987
movq -0x620(%rbp), %rdi
movb $0x0, -0x3ec(%rbp)
leaq 0x1082e4(%rip), %rsi    # 0x1e0c80
leaq -0x7e003(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xd8e2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8ad7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8a67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8a0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8a03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x11360
leaq -0x3b0(%rbp), %rdi
callq 0x25b00
leaq -0x3eb(%rbp), %rdi
callq 0x279c0
leaq -0x3e0(%rbp), %rax
movq %rax, -0x648(%rbp)
addq $0x20, %rax
movq %rax, -0x640(%rbp)
movq -0x640(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x650(%rbp)
callq 0x11360
movq -0x648(%rbp), %rcx
movq -0x650(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x640(%rbp)
jne 0xd8a34
jmp 0xd8a67
leaq -0x3e9(%rbp), %rdi
callq 0x11600
testb $0x1, -0x3ea(%rbp)
jne 0xd8a7e
jmp 0xd8acb
movq -0x3e8(%rbp), %rax
leaq -0x3e0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x658(%rbp)
je 0xd8ac9
movq -0x658(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x660(%rbp)
callq 0x11360
movq -0x660(%rbp), %rax
leaq -0x3e0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x658(%rbp)
jne 0xd8a98
jmp 0xd8acb
leaq -0x390(%rbp), %rdi
callq 0x11360
leaq -0x391(%rbp), %rdi
callq 0x11600
testb $0x1, -0x3ec(%rbp)
jne 0xd8aee
jmp 0xd8afa
movq -0x620(%rbp), %rdi
callq 0x11420
jmp 0xd8e18
movq -0x4c0(%rbp), %rdi
addq $0xb0, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe5650
movq %rax, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x410(%rbp), %rdi
callq *%rax
jmp 0xd8b32
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x400(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0xe6e60
jmp 0xd8b52
movq -0x4d0(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0xe6ee0
leaq -0x400(%rbp), %rdi
callq 0xe6f10
leaq -0x410(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0xfc(%rbp)
jmp 0xd8dff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x2a4e0
jmp 0xd8e18
jmp 0xd8bab
movb $0x1, -0x4aa(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x670(%rbp)
leaq -0x451(%rbp), %rdi
movq %rdi, -0x668(%rbp)
callq 0x119d0
movq -0x668(%rbp), %rdx
leaq 0x7ac43(%rip), %rsi     # 0x153827
leaq -0x450(%rbp), %rdi
callq 0x24740
jmp 0xd8bf2
movq -0x4c0(%rbp), %rax
leaq -0x4a0(%rbp), %rdi
movq %rdi, -0x4a8(%rbp)
movl 0xa8(%rax), %esi
callq 0x24d00
jmp 0xd8c14
leaq -0x4a0(%rbp), %rax
movq %rax, -0x480(%rbp)
movq $0x1, -0x478(%rbp)
leaq -0x4a9(%rbp), %rdi
movq %rdi, -0x678(%rbp)
callq 0x26e30
movq -0x678(%rbp), %rcx
movq -0x480(%rbp), %rsi
movq -0x478(%rbp), %rdx
leaq -0x470(%rbp), %rdi
callq 0x2d6a0
jmp 0xd8c63
leaq -0x430(%rbp), %rdi
leaq -0x450(%rbp), %rsi
leaq -0x470(%rbp), %rdx
callq 0x9e250
jmp 0xd8c7f
movq -0x670(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
addq $0x28, %rdx
leaq -0x430(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xd8ca3
movq -0x670(%rbp), %rdi
movb $0x0, -0x4aa(%rbp)
leaq 0x107fc8(%rip), %rsi    # 0x1e0c80
leaq -0x7e31f(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xd8e2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8dda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
movq -0x4a8(%rbp), %rax
leaq -0x4a0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x680(%rbp)
je 0xd8d31
movq -0x680(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x688(%rbp)
callq 0x11360
movq -0x688(%rbp), %rax
leaq -0x4a0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x680(%rbp)
jne 0xd8d00
jmp 0xd8dce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8d76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xd8d6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x11360
leaq -0x470(%rbp), %rdi
callq 0x25b00
leaq -0x4a9(%rbp), %rdi
callq 0x279c0
leaq -0x4a0(%rbp), %rax
movq %rax, -0x698(%rbp)
addq $0x20, %rax
movq %rax, -0x690(%rbp)
movq -0x690(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6a0(%rbp)
callq 0x11360
movq -0x698(%rbp), %rcx
movq -0x6a0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x690(%rbp)
jne 0xd8d9b
jmp 0xd8dce
leaq -0x450(%rbp), %rdi
callq 0x11360
leaq -0x451(%rbp), %rdi
callq 0x11600
testb $0x1, -0x4aa(%rbp)
jne 0xd8df1
jmp 0xd8dfd
movq -0x670(%rbp), %rdi
callq 0x11420
jmp 0xd8e18
leaq -0x28(%rbp), %rdi
callq 0x24e60
movq -0x4c8(%rbp), %rax
addq $0x6a0, %rsp            # imm = 0x6A0
popq %rbp
retq
leaq -0x28(%rbp), %rdi
callq 0x24e60
movq -0x78(%rbp), %rdi
callq 0x119c0
nopw (%rax,%rax)