// File: Nallantli[P]Rossa/main/rossa/node_parser/node_parser.cpp
// Function: node_parser_t::parseTryCatchNode(std::vector<node_scope_t, std::allocator<node_scope_t>>*)
ptr_node_t node_parser_t::parseTryCatchNode(std::vector<node_scope_t> *scopes)
{
	scopes->push_back({ROSSA_HASH("<TRY@" + std::to_string(scope_i++) + ">")});
	nextToken();
	if (currentToken.type != '{')
		return logErrorN(util::format(_EXPECTED_ERROR_, {"{"}), currentToken);
	nextToken();
	std::vector<ptr_node_t> tbody;
	while (currentToken.type != NULL_TOK)
	{
		if (currentToken.type == '}')
			break;

		if (auto e = parseExprNode(scopes))
			tbody.push_back(e);
		else
			return logErrorN(_FAILURE_PARSE_CODE_, currentToken);
	}
	if (currentToken.type != '}')
		return logErrorN(util::format(_EXPECTED_ERROR_, {"}"}), currentToken);
	nextToken();

	if (currentToken.type != TOK_CATCH)
		return logErrorN(util::format(_EXPECTED_ERROR_, {KEYWORD_CATCH}), currentToken);
	nextToken();

	if (currentToken.type != TOK_IDF)
		return logErrorN(_EXPECTED_IDF_, currentToken);
	hash_ull key = ROSSA_HASH(currentToken.valueString);
	nextToken();

	if (currentToken.type != TOK_THEN)
		return logErrorN(util::format(_EXPECTED_ERROR_, {KEYWORD_THEN}), currentToken);
	nextToken();

	if (currentToken.type != '{')
		return logErrorN(util::format(_EXPECTED_ERROR_, {"{"}), currentToken);
	nextToken();
	std::vector<ptr_node_t> cbody;

	scopes->pop_back();
	scopes->push_back({ROSSA_HASH("<CAT@" + std::to_string(scope_i++) + ">")});
	while (currentToken.type != NULL_TOK)
	{
		if (currentToken.type == '}')
			break;

		if (auto e = parseExprNode(scopes))
			cbody.push_back(e);
		else
			return logErrorN(_FAILURE_PARSE_CODE_, currentToken);
	}
	if (currentToken.type != '}')
		return logErrorN(util::format(_EXPECTED_ERROR_, {"}"}), currentToken);
	nextToken();

	scopes->pop_back();
	return std::make_shared<TryCatchNode>(*scopes, std::make_shared<VectorNode>(*scopes, tbody, true, currentToken), std::make_shared<VectorNode>(*scopes, cbody, true, currentToken), key, currentToken);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x8b0, %rsp            # imm = 0x8B0
movq %rdi, -0x628(%rbp)
movq %rdi, %rax
movq %rax, -0x620(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x618(%rbp)
movq -0x18(%rbp), %rcx
movq %rcx, -0x610(%rbp)
leaq -0x38(%rbp), %rcx
movq %rcx, -0x608(%rbp)
movq (%rax), %rsi
movq %rsi, %rcx
incq %rcx
movq %rcx, (%rax)
leaq -0x98(%rbp), %rdi
movq %rdi, -0x600(%rbp)
callq 0x58780
movq -0x600(%rbp), %rdx
leaq 0xffa5b(%rip), %rsi     # 0x151351
leaq -0x78(%rbp), %rdi
callq 0x24cb0
jmp 0x51901
leaq 0xfea58(%rip), %rdx     # 0x150360
leaq -0x58(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x24c60
jmp 0x51917
leaq 0x19417a(%rip), %rdi    # 0x1e5a98
leaq -0x58(%rbp), %rsi
callq 0x2cb10
movq %rax, -0x630(%rbp)
jmp 0x51930
movq -0x608(%rbp), %rax
movq -0x630(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x30(%rbp), %rdi
xorps %xmm0, %xmm0
movups %xmm0, -0x30(%rbp)
movq $0x0, -0x20(%rbp)
callq 0x2ccf0
movq -0x610(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x2ccc0
jmp 0x5196b
leaq -0x38(%rbp), %rdi
callq 0x2cd10
leaq -0x58(%rbp), %rdi
callq 0x11360
leaq -0x78(%rbp), %rdi
callq 0x11360
leaq -0x98(%rbp), %rdi
callq 0x11360
movq -0x618(%rbp), %rdi
callq 0x38fd0
movq -0x618(%rbp), %rax
cmpl $0x7b, 0xd0(%rax)
je 0x51d2b
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x638(%rbp)
callq 0x119d0
movq -0x638(%rbp), %rdx
leaq 0xff7bd(%rip), %rsi     # 0x151190
leaq -0xe8(%rbp), %rdi
callq 0x24740
jmp 0x519e1
movb $0x1, -0x142(%rbp)
leaq -0x138(%rbp), %rax
movq %rax, -0x648(%rbp)
movq %rax, -0x140(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x640(%rbp)
callq 0x119d0
movq -0x648(%rbp), %rdi
movq -0x640(%rbp), %rdx
leaq 0xff91c(%rip), %rsi     # 0x151341
callq 0x24740
jmp 0x51a2c
movb $0x0, -0x142(%rbp)
leaq -0x138(%rbp), %rax
movq %rax, -0x118(%rbp)
movq $0x1, -0x110(%rbp)
leaq -0x143(%rbp), %rdi
movq %rdi, -0x650(%rbp)
callq 0x26e30
movq -0x650(%rbp), %rcx
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
leaq -0x108(%rbp), %rdi
callq 0x2d6a0
jmp 0x51a82
leaq -0xc8(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
leaq -0x108(%rbp), %rdx
callq 0x9e250
jmp 0x51a9e
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0xc8(%rbp), %rdx
callq 0x3f820
jmp 0x51ac1
leaq -0xc8(%rbp), %rdi
callq 0x11360
leaq -0x108(%rbp), %rdi
callq 0x25b00
leaq -0x143(%rbp), %rdi
callq 0x279c0
leaq -0x138(%rbp), %rax
movq %rax, -0x660(%rbp)
addq $0x20, %rax
movq %rax, -0x658(%rbp)
movq -0x658(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x668(%rbp)
callq 0x11360
movq -0x660(%rbp), %rcx
movq -0x668(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x658(%rbp)
jne 0x51afe
leaq -0x141(%rbp), %rdi
callq 0x11600
leaq -0xe8(%rbp), %rdi
callq 0x11360
leaq -0xe9(%rbp), %rdi
callq 0x11600
jmp 0x5344a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51bc1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51bb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51baf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x2cd10
leaq -0x58(%rbp), %rdi
callq 0x11360
leaq -0x78(%rbp), %rdi
callq 0x11360
leaq -0x98(%rbp), %rdi
callq 0x11360
jmp 0x5345a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51d1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51caa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51c52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51c46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x11360
leaq -0x108(%rbp), %rdi
callq 0x25b00
leaq -0x143(%rbp), %rdi
callq 0x279c0
leaq -0x138(%rbp), %rax
movq %rax, -0x678(%rbp)
addq $0x20, %rax
movq %rax, -0x670(%rbp)
movq -0x670(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x680(%rbp)
callq 0x11360
movq -0x678(%rbp), %rcx
movq -0x680(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x670(%rbp)
jne 0x51c77
jmp 0x51caa
leaq -0x141(%rbp), %rdi
callq 0x11600
testb $0x1, -0x142(%rbp)
jne 0x51cc1
jmp 0x51d0e
movq -0x140(%rbp), %rax
leaq -0x138(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x688(%rbp)
je 0x51d0c
movq -0x688(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x690(%rbp)
callq 0x11360
movq -0x690(%rbp), %rax
leaq -0x138(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x688(%rbp)
jne 0x51cdb
jmp 0x51d0e
leaq -0xe8(%rbp), %rdi
callq 0x11360
leaq -0xe9(%rbp), %rdi
callq 0x11600
jmp 0x5345a
movq -0x618(%rbp), %rdi
callq 0x38fd0
leaq -0x160(%rbp), %rdi
callq 0x57390
movq -0x618(%rbp), %rax
cmpl $0x0, 0xd0(%rax)
je 0x51ed1
movq -0x618(%rbp), %rax
cmpl $0x7d, 0xd0(%rax)
jne 0x51d6c
jmp 0x51ed1
movq -0x618(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x170(%rbp), %rdi
callq 0x39980
jmp 0x51d85
leaq -0x170(%rbp), %rdi
callq 0x57630
testb $0x1, %al
jne 0x51d97
jmp 0x51ddf
leaq -0x160(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x57650
jmp 0x51dac
jmp 0x51e95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x5343c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51ec0
leaq -0x191(%rbp), %rdi
movq %rdi, -0x698(%rbp)
callq 0x119d0
movq -0x698(%rbp), %rdx
leaq 0xff426(%rip), %rsi     # 0x151226
leaq -0x190(%rbp), %rdi
callq 0x24740
jmp 0x51e0e
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x190(%rbp), %rdx
callq 0x3f820
jmp 0x51e31
leaq -0x190(%rbp), %rdi
callq 0x11360
leaq -0x191(%rbp), %rdi
callq 0x11600
movl $0x1, -0x198(%rbp)
jmp 0x51e9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x51e87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x11360
leaq -0x191(%rbp), %rdi
callq 0x11600
jmp 0x51ec0
movl $0x0, -0x198(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x24b20
movl -0x198(%rbp), %eax
testl %eax, %eax
jne 0x5342e
jmp 0x51ebb
jmp 0x51d43
leaq -0x170(%rbp), %rdi
callq 0x24b20
jmp 0x5343c
movq -0x618(%rbp), %rax
cmpl $0x7d, 0xd0(%rax)
je 0x521ee
leaq -0x1d9(%rbp), %rdi
movq %rdi, -0x6a0(%rbp)
callq 0x119d0
movq -0x6a0(%rbp), %rdx
leaq 0xff28a(%rip), %rsi     # 0x151190
leaq -0x1d8(%rbp), %rdi
callq 0x24740
jmp 0x51f14
movb $0x1, -0x232(%rbp)
leaq -0x228(%rbp), %rax
movq %rax, -0x6b0(%rbp)
movq %rax, -0x230(%rbp)
leaq -0x231(%rbp), %rdi
movq %rdi, -0x6a8(%rbp)
callq 0x119d0
movq -0x6b0(%rbp), %rdi
movq -0x6a8(%rbp), %rdx
leaq 0x1033b1(%rip), %rsi    # 0x155309
callq 0x24740
jmp 0x51f5f
movb $0x0, -0x232(%rbp)
leaq -0x228(%rbp), %rax
movq %rax, -0x208(%rbp)
movq $0x1, -0x200(%rbp)
leaq -0x233(%rbp), %rdi
movq %rdi, -0x6b8(%rbp)
callq 0x26e30
movq -0x6b8(%rbp), %rcx
movq -0x208(%rbp), %rsi
movq -0x200(%rbp), %rdx
leaq -0x1f8(%rbp), %rdi
callq 0x2d6a0
jmp 0x51fb5
leaq -0x1b8(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
leaq -0x1f8(%rbp), %rdx
callq 0x9e250
jmp 0x51fd1
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x1b8(%rbp), %rdx
callq 0x3f820
jmp 0x51ff4
leaq -0x1b8(%rbp), %rdi
callq 0x11360
leaq -0x1f8(%rbp), %rdi
callq 0x25b00
leaq -0x233(%rbp), %rdi
callq 0x279c0
leaq -0x228(%rbp), %rax
movq %rax, -0x6c8(%rbp)
addq $0x20, %rax
movq %rax, -0x6c0(%rbp)
movq -0x6c0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6d0(%rbp)
callq 0x11360
movq -0x6c8(%rbp), %rcx
movq -0x6d0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x6c0(%rbp)
jne 0x52031
leaq -0x231(%rbp), %rdi
callq 0x11600
leaq -0x1d8(%rbp), %rdi
callq 0x11360
leaq -0x1d9(%rbp), %rdi
callq 0x11600
movl $0x1, -0x198(%rbp)
jmp 0x5342e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x521dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x5216d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52115
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52109
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x11360
leaq -0x1f8(%rbp), %rdi
callq 0x25b00
leaq -0x233(%rbp), %rdi
callq 0x279c0
leaq -0x228(%rbp), %rax
movq %rax, -0x6e0(%rbp)
addq $0x20, %rax
movq %rax, -0x6d8(%rbp)
movq -0x6d8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x11360
movq -0x6e0(%rbp), %rcx
movq -0x6e8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x6d8(%rbp)
jne 0x5213a
jmp 0x5216d
leaq -0x231(%rbp), %rdi
callq 0x11600
testb $0x1, -0x232(%rbp)
jne 0x52184
jmp 0x521d1
movq -0x230(%rbp), %rax
leaq -0x228(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x6f0(%rbp)
je 0x521cf
movq -0x6f0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6f8(%rbp)
callq 0x11360
movq -0x6f8(%rbp), %rax
leaq -0x228(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x6f0(%rbp)
jne 0x5219e
jmp 0x521d1
leaq -0x1d8(%rbp), %rdi
callq 0x11360
leaq -0x1d9(%rbp), %rdi
callq 0x11600
jmp 0x5343c
movq -0x618(%rbp), %rdi
callq 0x38fd0
jmp 0x521fc
movq -0x618(%rbp), %rax
cmpl $-0x32, 0xd0(%rax)
je 0x52519
leaq -0x279(%rbp), %rdi
movq %rdi, -0x700(%rbp)
callq 0x119d0
movq -0x700(%rbp), %rdx
leaq 0xfef5f(%rip), %rsi     # 0x151190
leaq -0x278(%rbp), %rdi
callq 0x24740
jmp 0x5223f
movb $0x1, -0x2d2(%rbp)
leaq -0x2c8(%rbp), %rax
movq %rax, -0x710(%rbp)
movq %rax, -0x2d0(%rbp)
leaq -0x2d1(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x119d0
movq -0x710(%rbp), %rdi
movq -0x708(%rbp), %rdx
leaq 0xfe592(%rip), %rsi     # 0x150815
callq 0x24740
jmp 0x5228a
movb $0x0, -0x2d2(%rbp)
leaq -0x2c8(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq $0x1, -0x2a0(%rbp)
leaq -0x2d3(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x26e30
movq -0x718(%rbp), %rcx
movq -0x2a8(%rbp), %rsi
movq -0x2a0(%rbp), %rdx
leaq -0x298(%rbp), %rdi
callq 0x2d6a0
jmp 0x522e0
leaq -0x258(%rbp), %rdi
leaq -0x278(%rbp), %rsi
leaq -0x298(%rbp), %rdx
callq 0x9e250
jmp 0x522fc
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x258(%rbp), %rdx
callq 0x3f820
jmp 0x5231f
leaq -0x258(%rbp), %rdi
callq 0x11360
leaq -0x298(%rbp), %rdi
callq 0x25b00
leaq -0x2d3(%rbp), %rdi
callq 0x279c0
leaq -0x2c8(%rbp), %rax
movq %rax, -0x728(%rbp)
addq $0x20, %rax
movq %rax, -0x720(%rbp)
movq -0x720(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x730(%rbp)
callq 0x11360
movq -0x728(%rbp), %rcx
movq -0x730(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x720(%rbp)
jne 0x5235c
leaq -0x2d1(%rbp), %rdi
callq 0x11600
leaq -0x278(%rbp), %rdi
callq 0x11360
leaq -0x279(%rbp), %rdi
callq 0x11600
movl $0x1, -0x198(%rbp)
jmp 0x5342e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52508
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52498
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52440
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52434
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x11360
leaq -0x298(%rbp), %rdi
callq 0x25b00
leaq -0x2d3(%rbp), %rdi
callq 0x279c0
leaq -0x2c8(%rbp), %rax
movq %rax, -0x740(%rbp)
addq $0x20, %rax
movq %rax, -0x738(%rbp)
movq -0x738(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x748(%rbp)
callq 0x11360
movq -0x740(%rbp), %rcx
movq -0x748(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x738(%rbp)
jne 0x52465
jmp 0x52498
leaq -0x2d1(%rbp), %rdi
callq 0x11600
testb $0x1, -0x2d2(%rbp)
jne 0x524af
jmp 0x524fc
movq -0x2d0(%rbp), %rax
leaq -0x2c8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x750(%rbp)
je 0x524fa
movq -0x750(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x758(%rbp)
callq 0x11360
movq -0x758(%rbp), %rax
leaq -0x2c8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x750(%rbp)
jne 0x524c9
jmp 0x524fc
leaq -0x278(%rbp), %rdi
callq 0x11360
leaq -0x279(%rbp), %rdi
callq 0x11600
jmp 0x5343c
movq -0x618(%rbp), %rdi
callq 0x38fd0
jmp 0x52527
movq -0x618(%rbp), %rax
cmpl $-0x2, 0xd0(%rax)
je 0x525f7
leaq -0x2f9(%rbp), %rdi
movq %rdi, -0x760(%rbp)
callq 0x119d0
movq -0x760(%rbp), %rdx
leaq 0xfedfb(%rip), %rsi     # 0x151357
leaq -0x2f8(%rbp), %rdi
callq 0x24740
jmp 0x5256a
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x2f8(%rbp), %rdx
callq 0x3f820
jmp 0x5258d
leaq -0x2f8(%rbp), %rdi
callq 0x11360
leaq -0x2f9(%rbp), %rdi
callq 0x11600
movl $0x1, -0x198(%rbp)
jmp 0x5342e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x525e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x2f8(%rbp), %rdi
callq 0x11360
leaq -0x2f9(%rbp), %rdi
callq 0x11600
jmp 0x5343c
movq -0x618(%rbp), %rsi
addq $0xb0, %rsi
leaq 0x19348c(%rip), %rdi    # 0x1e5a98
callq 0x2cb10
movq %rax, -0x768(%rbp)
jmp 0x5261a
movq -0x618(%rbp), %rdi
movq -0x768(%rbp), %rax
movq %rax, -0x308(%rbp)
callq 0x38fd0
jmp 0x52636
movq -0x618(%rbp), %rax
cmpl $-0xc, 0xd0(%rax)
je 0x52953
leaq -0x349(%rbp), %rdi
movq %rdi, -0x770(%rbp)
callq 0x119d0
movq -0x770(%rbp), %rdx
leaq 0xfeb25(%rip), %rsi     # 0x151190
leaq -0x348(%rbp), %rdi
callq 0x24740
jmp 0x52679
movb $0x1, -0x3a2(%rbp)
leaq -0x398(%rbp), %rax
movq %rax, -0x780(%rbp)
movq %rax, -0x3a0(%rbp)
leaq -0x3a1(%rbp), %rdi
movq %rdi, -0x778(%rbp)
callq 0x119d0
movq -0x780(%rbp), %rdi
movq -0x778(%rbp), %rdx
leaq 0xfe0a7(%rip), %rsi     # 0x150764
callq 0x24740
jmp 0x526c4
movb $0x0, -0x3a2(%rbp)
leaq -0x398(%rbp), %rax
movq %rax, -0x378(%rbp)
movq $0x1, -0x370(%rbp)
leaq -0x3a3(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x26e30
movq -0x788(%rbp), %rcx
movq -0x378(%rbp), %rsi
movq -0x370(%rbp), %rdx
leaq -0x368(%rbp), %rdi
callq 0x2d6a0
jmp 0x5271a
leaq -0x328(%rbp), %rdi
leaq -0x348(%rbp), %rsi
leaq -0x368(%rbp), %rdx
callq 0x9e250
jmp 0x52736
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x328(%rbp), %rdx
callq 0x3f820
jmp 0x52759
leaq -0x328(%rbp), %rdi
callq 0x11360
leaq -0x368(%rbp), %rdi
callq 0x25b00
leaq -0x3a3(%rbp), %rdi
callq 0x279c0
leaq -0x398(%rbp), %rax
movq %rax, -0x798(%rbp)
addq $0x20, %rax
movq %rax, -0x790(%rbp)
movq -0x790(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x7a0(%rbp)
callq 0x11360
movq -0x798(%rbp), %rcx
movq -0x7a0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x790(%rbp)
jne 0x52796
leaq -0x3a1(%rbp), %rdi
callq 0x11600
leaq -0x348(%rbp), %rdi
callq 0x11360
leaq -0x349(%rbp), %rdi
callq 0x11600
movl $0x1, -0x198(%rbp)
jmp 0x5342e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52942
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x528d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x5287a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x5286e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x11360
leaq -0x368(%rbp), %rdi
callq 0x25b00
leaq -0x3a3(%rbp), %rdi
callq 0x279c0
leaq -0x398(%rbp), %rax
movq %rax, -0x7b0(%rbp)
addq $0x20, %rax
movq %rax, -0x7a8(%rbp)
movq -0x7a8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x7b8(%rbp)
callq 0x11360
movq -0x7b0(%rbp), %rcx
movq -0x7b8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x7a8(%rbp)
jne 0x5289f
jmp 0x528d2
leaq -0x3a1(%rbp), %rdi
callq 0x11600
testb $0x1, -0x3a2(%rbp)
jne 0x528e9
jmp 0x52936
movq -0x3a0(%rbp), %rax
leaq -0x398(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x7c0(%rbp)
je 0x52934
movq -0x7c0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x7c8(%rbp)
callq 0x11360
movq -0x7c8(%rbp), %rax
leaq -0x398(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x7c0(%rbp)
jne 0x52903
jmp 0x52936
leaq -0x348(%rbp), %rdi
callq 0x11360
leaq -0x349(%rbp), %rdi
callq 0x11600
jmp 0x5343c
movq -0x618(%rbp), %rdi
callq 0x38fd0
jmp 0x52961
movq -0x618(%rbp), %rax
cmpl $0x7b, 0xd0(%rax)
je 0x52c7e
leaq -0x3e9(%rbp), %rdi
movq %rdi, -0x7d0(%rbp)
callq 0x119d0
movq -0x7d0(%rbp), %rdx
leaq 0xfe7fa(%rip), %rsi     # 0x151190
leaq -0x3e8(%rbp), %rdi
callq 0x24740
jmp 0x529a4
movb $0x1, -0x442(%rbp)
leaq -0x438(%rbp), %rax
movq %rax, -0x7e0(%rbp)
movq %rax, -0x440(%rbp)
leaq -0x441(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
callq 0x119d0
movq -0x7e0(%rbp), %rdi
movq -0x7d8(%rbp), %rdx
leaq 0xfe959(%rip), %rsi     # 0x151341
callq 0x24740
jmp 0x529ef
movb $0x0, -0x442(%rbp)
leaq -0x438(%rbp), %rax
movq %rax, -0x418(%rbp)
movq $0x1, -0x410(%rbp)
leaq -0x443(%rbp), %rdi
movq %rdi, -0x7e8(%rbp)
callq 0x26e30
movq -0x7e8(%rbp), %rcx
movq -0x418(%rbp), %rsi
movq -0x410(%rbp), %rdx
leaq -0x408(%rbp), %rdi
callq 0x2d6a0
jmp 0x52a45
leaq -0x3c8(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
leaq -0x408(%rbp), %rdx
callq 0x9e250
jmp 0x52a61
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x3c8(%rbp), %rdx
callq 0x3f820
jmp 0x52a84
leaq -0x3c8(%rbp), %rdi
callq 0x11360
leaq -0x408(%rbp), %rdi
callq 0x25b00
leaq -0x443(%rbp), %rdi
callq 0x279c0
leaq -0x438(%rbp), %rax
movq %rax, -0x7f8(%rbp)
addq $0x20, %rax
movq %rax, -0x7f0(%rbp)
movq -0x7f0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x800(%rbp)
callq 0x11360
movq -0x7f8(%rbp), %rcx
movq -0x800(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x7f0(%rbp)
jne 0x52ac1
leaq -0x441(%rbp), %rdi
callq 0x11600
leaq -0x3e8(%rbp), %rdi
callq 0x11360
leaq -0x3e9(%rbp), %rdi
callq 0x11600
movl $0x1, -0x198(%rbp)
jmp 0x5342e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52c6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52bfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52ba5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52b99
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0x11360
leaq -0x408(%rbp), %rdi
callq 0x25b00
leaq -0x443(%rbp), %rdi
callq 0x279c0
leaq -0x438(%rbp), %rax
movq %rax, -0x810(%rbp)
addq $0x20, %rax
movq %rax, -0x808(%rbp)
movq -0x808(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x818(%rbp)
callq 0x11360
movq -0x810(%rbp), %rcx
movq -0x818(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x808(%rbp)
jne 0x52bca
jmp 0x52bfd
leaq -0x441(%rbp), %rdi
callq 0x11600
testb $0x1, -0x442(%rbp)
jne 0x52c14
jmp 0x52c61
movq -0x440(%rbp), %rax
leaq -0x438(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x820(%rbp)
je 0x52c5f
movq -0x820(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x828(%rbp)
callq 0x11360
movq -0x828(%rbp), %rax
leaq -0x438(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x820(%rbp)
jne 0x52c2e
jmp 0x52c61
leaq -0x3e8(%rbp), %rdi
callq 0x11360
leaq -0x3e9(%rbp), %rdi
callq 0x11600
jmp 0x5343c
movq -0x618(%rbp), %rdi
callq 0x38fd0
jmp 0x52c8c
leaq -0x460(%rbp), %rdi
callq 0x57390
movq -0x18(%rbp), %rdi
callq 0x58270
movq -0x618(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rcx, -0x838(%rbp)
leaq -0x480(%rbp), %rcx
movq %rcx, -0x830(%rbp)
movq (%rax), %rsi
movq %rsi, %rcx
incq %rcx
movq %rcx, (%rax)
leaq -0x4e0(%rbp), %rdi
callq 0x58780
jmp 0x52cdb
leaq 0xfe689(%rip), %rsi     # 0x15136b
leaq -0x4c0(%rbp), %rdi
leaq -0x4e0(%rbp), %rdx
callq 0x24cb0
jmp 0x52cf7
leaq 0xfd662(%rip), %rdx     # 0x150360
leaq -0x4a0(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
callq 0x24c60
jmp 0x52d13
leaq 0x192d7e(%rip), %rdi    # 0x1e5a98
leaq -0x4a0(%rbp), %rsi
callq 0x2cb10
movq %rax, -0x840(%rbp)
jmp 0x52d2f
movq -0x830(%rbp), %rax
movq -0x840(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x478(%rbp), %rdi
xorps %xmm0, %xmm0
movups %xmm0, -0x478(%rbp)
movq $0x0, -0x468(%rbp)
callq 0x2ccf0
movq -0x838(%rbp), %rdi
leaq -0x480(%rbp), %rsi
callq 0x2ccc0
jmp 0x52d76
leaq -0x480(%rbp), %rdi
callq 0x2cd10
leaq -0x4a0(%rbp), %rdi
callq 0x11360
leaq -0x4c0(%rbp), %rdi
callq 0x11360
leaq -0x4e0(%rbp), %rdi
callq 0x11360
movq -0x618(%rbp), %rax
cmpl $0x0, 0xd0(%rax)
je 0x52fbb
movq -0x618(%rbp), %rax
cmpl $0x7d, 0xd0(%rax)
jne 0x52e6d
jmp 0x52fbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x53420
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52e5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52e50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52e44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x480(%rbp), %rdi
callq 0x2cd10
leaq -0x4a0(%rbp), %rdi
callq 0x11360
leaq -0x4c0(%rbp), %rdi
callq 0x11360
leaq -0x4e0(%rbp), %rdi
callq 0x11360
jmp 0x53420
movq -0x618(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x4f0(%rbp), %rdi
callq 0x39980
jmp 0x52e86
leaq -0x4f0(%rbp), %rdi
callq 0x57630
testb $0x1, %al
jne 0x52e98
jmp 0x52ec9
leaq -0x460(%rbp), %rdi
leaq -0x4f0(%rbp), %rsi
callq 0x57650
jmp 0x52ead
jmp 0x52f7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52faa
leaq -0x511(%rbp), %rdi
movq %rdi, -0x848(%rbp)
callq 0x119d0
movq -0x848(%rbp), %rdx
leaq 0xfe33c(%rip), %rsi     # 0x151226
leaq -0x510(%rbp), %rdi
callq 0x24740
jmp 0x52ef8
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x510(%rbp), %rdx
callq 0x3f820
jmp 0x52f1b
leaq -0x510(%rbp), %rdi
callq 0x11360
leaq -0x511(%rbp), %rdi
callq 0x11600
movl $0x1, -0x198(%rbp)
jmp 0x52f89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x52f71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x510(%rbp), %rdi
callq 0x11360
leaq -0x511(%rbp), %rdi
callq 0x11600
jmp 0x52faa
movl $0x0, -0x198(%rbp)
leaq -0x4f0(%rbp), %rdi
callq 0x24b20
movl -0x198(%rbp), %eax
testl %eax, %eax
jne 0x53412
jmp 0x52fa5
jmp 0x52da6
leaq -0x4f0(%rbp), %rdi
callq 0x24b20
jmp 0x53420
movq -0x618(%rbp), %rax
cmpl $0x7d, 0xd0(%rax)
je 0x532d8
leaq -0x559(%rbp), %rdi
movq %rdi, -0x850(%rbp)
callq 0x119d0
movq -0x850(%rbp), %rdx
leaq 0xfe1a0(%rip), %rsi     # 0x151190
leaq -0x558(%rbp), %rdi
callq 0x24740
jmp 0x52ffe
movb $0x1, -0x5b2(%rbp)
leaq -0x5a8(%rbp), %rax
movq %rax, -0x860(%rbp)
movq %rax, -0x5b0(%rbp)
leaq -0x5b1(%rbp), %rdi
movq %rdi, -0x858(%rbp)
callq 0x119d0
movq -0x860(%rbp), %rdi
movq -0x858(%rbp), %rdx
leaq 0x1022c7(%rip), %rsi    # 0x155309
callq 0x24740
jmp 0x53049
movb $0x0, -0x5b2(%rbp)
leaq -0x5a8(%rbp), %rax
movq %rax, -0x588(%rbp)
movq $0x1, -0x580(%rbp)
leaq -0x5b3(%rbp), %rdi
movq %rdi, -0x868(%rbp)
callq 0x26e30
movq -0x868(%rbp), %rcx
movq -0x588(%rbp), %rsi
movq -0x580(%rbp), %rdx
leaq -0x578(%rbp), %rdi
callq 0x2d6a0
jmp 0x5309f
leaq -0x538(%rbp), %rdi
leaq -0x558(%rbp), %rsi
leaq -0x578(%rbp), %rdx
callq 0x9e250
jmp 0x530bb
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x538(%rbp), %rdx
callq 0x3f820
jmp 0x530de
leaq -0x538(%rbp), %rdi
callq 0x11360
leaq -0x578(%rbp), %rdi
callq 0x25b00
leaq -0x5b3(%rbp), %rdi
callq 0x279c0
leaq -0x5a8(%rbp), %rax
movq %rax, -0x878(%rbp)
addq $0x20, %rax
movq %rax, -0x870(%rbp)
movq -0x870(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x880(%rbp)
callq 0x11360
movq -0x878(%rbp), %rcx
movq -0x880(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x870(%rbp)
jne 0x5311b
leaq -0x5b1(%rbp), %rdi
callq 0x11600
leaq -0x558(%rbp), %rdi
callq 0x11360
leaq -0x559(%rbp), %rdi
callq 0x11600
movl $0x1, -0x198(%rbp)
jmp 0x53412
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x532c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x53257
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x531ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x531f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x538(%rbp), %rdi
callq 0x11360
leaq -0x578(%rbp), %rdi
callq 0x25b00
leaq -0x5b3(%rbp), %rdi
callq 0x279c0
leaq -0x5a8(%rbp), %rax
movq %rax, -0x890(%rbp)
addq $0x20, %rax
movq %rax, -0x888(%rbp)
movq -0x888(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x898(%rbp)
callq 0x11360
movq -0x890(%rbp), %rcx
movq -0x898(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x888(%rbp)
jne 0x53224
jmp 0x53257
leaq -0x5b1(%rbp), %rdi
callq 0x11600
testb $0x1, -0x5b2(%rbp)
jne 0x5326e
jmp 0x532bb
movq -0x5b0(%rbp), %rax
leaq -0x5a8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x8a0(%rbp)
je 0x532b9
movq -0x8a0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x8a8(%rbp)
callq 0x11360
movq -0x8a8(%rbp), %rax
leaq -0x5a8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x8a0(%rbp)
jne 0x53288
jmp 0x532bb
leaq -0x558(%rbp), %rdi
callq 0x11360
leaq -0x559(%rbp), %rdi
callq 0x11600
jmp 0x53420
movq -0x618(%rbp), %rdi
callq 0x38fd0
jmp 0x532e6
movq -0x18(%rbp), %rdi
callq 0x58270
movq -0x618(%rbp), %r8
movq -0x18(%rbp), %rsi
movq %rsi, -0x8b0(%rbp)
movb $0x1, -0x5d9(%rbp)
addq $0x58, %r8
leaq -0x5d8(%rbp), %rdi
leaq -0x160(%rbp), %rdx
leaq -0x5d9(%rbp), %rcx
callq 0x573e0
jmp 0x53328
movq -0x618(%rbp), %r8
movq -0x18(%rbp), %rsi
movb $0x1, -0x5f1(%rbp)
addq $0x58, %r8
leaq -0x5f0(%rbp), %rdi
leaq -0x460(%rbp), %rdx
leaq -0x5f1(%rbp), %rcx
callq 0x573e0
jmp 0x5335a
movq -0x8b0(%rbp), %rsi
movq -0x618(%rbp), %r9
addq $0x58, %r9
leaq -0x5c8(%rbp), %rdi
leaq -0x5d8(%rbp), %rdx
leaq -0x5f0(%rbp), %rcx
leaq -0x308(%rbp), %r8
callq 0x59af0
jmp 0x5338f
movq -0x628(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
callq 0x59b90
leaq -0x5c8(%rbp), %rdi
callq 0x59bc0
leaq -0x5f0(%rbp), %rdi
callq 0x574a0
leaq -0x5d8(%rbp), %rdi
callq 0x574a0
movl $0x1, -0x198(%rbp)
jmp 0x53412
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x53404
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x5f0(%rbp), %rdi
callq 0x574a0
leaq -0x5d8(%rbp), %rdi
callq 0x574a0
jmp 0x53420
leaq -0x460(%rbp), %rdi
callq 0x574c0
jmp 0x5342e
leaq -0x460(%rbp), %rdi
callq 0x574c0
jmp 0x5343c
leaq -0x160(%rbp), %rdi
callq 0x574c0
jmp 0x5344a
leaq -0x160(%rbp), %rdi
callq 0x574c0
jmp 0x5345a
movq -0x620(%rbp), %rax
addq $0x8b0, %rsp            # imm = 0x8B0
popq %rbp
retq
movq -0xa0(%rbp), %rdi
callq 0x119c0
nopw %cs:(%rax,%rax)