// File: /workspace/github_c_makefile_star2_O0/FirestonnneTFM[P]tfm_key_parser/src/cpool_info.cpp
// Function: cpool_info::load(abc_stream&)
void cpool_info::load(abc_stream &stream) {
	uint32_t count;
	stream >> count;
	count = count ? count : 1;
	ints = Array<int32_t>(count);
	ints[0] = 0;
	for (unsigned i = 1; i < count; ++i) {
		stream >> ints[i];
	}
	stream >> count;
	count = count ? count : 1;
	uints = Array<uint32_t>(count);
	uints[0] = 0;
	for (unsigned i = 1; i < count; ++i) {
		stream >> uints[i];
	}
	stream >> count;
	count = count ? count : 1;
	doubles = Array<double>(count);
	doubles[0] = NAN;
	for (unsigned i = 1; i < count; ++i) {
		stream >> doubles[i];
	}
	stream >> count;
	count = count ? count : 1;
	strings = Array<char*>(count);
	strings[0] = new char[1];
	strings[0][0] = '\0';
	for (unsigned i = 1; i < count; ++i) {
		stream >> strings[i];
	}
	stream >> count;
	count = count ? count : 1;
	namespaces = Array<namespace_info>(count);
	namespaces[0].kind = 0;
	namespaces[0].str = NULL;
	for (unsigned i = 1; i < count; ++i) {
		stream >> namespaces[i].kind;
		uint32_t name_index;
		stream >> name_index;
		namespaces[i].str = abc_file::get_str(name_index);
	}
	stream >> count;
	count = count ? count : 1;
	namespace_sets = Array<Array<namespace_info*>>(count);
	namespace_sets[0] = Array<namespace_info*>(0);
	for (unsigned i = 1; i < count; ++i) {
		uint32_t n;
		stream >> n;
		namespace_sets[i] = Array<namespace_info*>(n);
		for (unsigned j = 0; j < n; ++j) {
			uint32_t index;
			stream >> index;
			if (index == 0) {
				fatal("namespace set contained 0 (namespace *ANY)");
			}
			namespace_sets[i][j] = abc_file::get_namespace(index);
		}
	}
	stream >> count;
	count = count ? count : 1;
	multinames = Array<multiname_info>(count);
	multinames[0].kind = 0;
	multinames[0].ns_str = abc_file::get_str(0);
	multinames[0].str = abc_file::get_str(0);
	for (unsigned i = 1; i < count; ++i) {
		multinames[i].load(stream);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x190, %rsp            # imm = 0x190
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x43d0
cmpl $0x0, -0x14(%rbp)
je 0x605c
movl -0x14(%rbp), %eax
movl %eax, -0x104(%rbp)
jmp 0x6069
movl $0x1, %eax
movl %eax, -0x104(%rbp)
jmp 0x6069
movl -0x104(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
leaq -0x28(%rbp), %rdi
callq 0x6860
movq -0x100(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, (%rdi)
movq -0x20(%rbp), %rax
movq %rax, 0x8(%rdi)
xorl %esi, %esi
callq 0x37b0
movl $0x0, (%rax)
movl $0x1, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0x60e4
movq -0x100(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x110(%rbp)
movl -0x2c(%rbp), %esi
callq 0x37b0
movq -0x110(%rbp), %rdi
movq %rax, %rsi
callq 0x44e0
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x60a8
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x43d0
cmpl $0x0, -0x14(%rbp)
je 0x6102
movl -0x14(%rbp), %eax
movl %eax, -0x114(%rbp)
jmp 0x610f
movl $0x1, %eax
movl %eax, -0x114(%rbp)
jmp 0x610f
movl -0x114(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
leaq -0x40(%rbp), %rdi
callq 0x68d0
movq -0x100(%rbp), %rdi
movq -0x40(%rbp), %rax
movq %rax, 0x10(%rdi)
movq -0x38(%rbp), %rax
movq %rax, 0x18(%rdi)
addq $0x10, %rdi
xorl %esi, %esi
callq 0x3790
movl $0x0, (%rax)
movl $0x1, -0x44(%rbp)
movl -0x44(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0x6193
movq -0x100(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x120(%rbp)
addq $0x10, %rdi
movl -0x44(%rbp), %esi
callq 0x3790
movq -0x120(%rbp), %rdi
movq %rax, %rsi
callq 0x43d0
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x6153
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x43d0
cmpl $0x0, -0x14(%rbp)
je 0x61b1
movl -0x14(%rbp), %eax
movl %eax, -0x124(%rbp)
jmp 0x61be
movl $0x1, %eax
movl %eax, -0x124(%rbp)
jmp 0x61be
movl -0x124(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
leaq -0x58(%rbp), %rdi
callq 0x6940
movq -0x100(%rbp), %rdi
movq -0x58(%rbp), %rax
movq %rax, 0x20(%rdi)
movq -0x50(%rbp), %rax
movq %rax, 0x28(%rdi)
addq $0x20, %rdi
xorl %esi, %esi
callq 0x37d0
movsd 0x42bb(%rip), %xmm0     # 0xa4b8
movsd %xmm0, (%rax)
movl $0x1, -0x5c(%rbp)
movl -0x5c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0x6248
movq -0x100(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x130(%rbp)
addq $0x20, %rdi
movl -0x5c(%rbp), %esi
callq 0x37d0
movq -0x130(%rbp), %rdi
movq %rax, %rsi
callq 0x45f0
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0x6208
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x43d0
cmpl $0x0, -0x14(%rbp)
je 0x6266
movl -0x14(%rbp), %eax
movl %eax, -0x134(%rbp)
jmp 0x6273
movl $0x1, %eax
movl %eax, -0x134(%rbp)
jmp 0x6273
movl -0x134(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
leaq -0x70(%rbp), %rdi
callq 0x69b0
movq -0x100(%rbp), %rax
movq -0x70(%rbp), %rcx
movq %rcx, 0x30(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x38(%rax)
movl $0x1, %edi
callq 0x2030
movq -0x100(%rbp), %rdi
movq %rax, -0x140(%rbp)
addq $0x30, %rdi
xorl %esi, %esi
callq 0x3770
movq -0x140(%rbp), %rcx
movq -0x100(%rbp), %rdi
movq %rcx, (%rax)
addq $0x30, %rdi
xorl %esi, %esi
callq 0x3770
movq (%rax), %rax
movb $0x0, (%rax)
movl $0x1, -0x74(%rbp)
movl -0x74(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0x632b
movq -0x100(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x148(%rbp)
addq $0x30, %rdi
movl -0x74(%rbp), %esi
callq 0x3770
movq -0x148(%rbp), %rdi
movq %rax, %rsi
callq 0x4620
movl -0x74(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x74(%rbp)
jmp 0x62eb
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x43d0
cmpl $0x0, -0x14(%rbp)
je 0x6349
movl -0x14(%rbp), %eax
movl %eax, -0x14c(%rbp)
jmp 0x6356
movl $0x1, %eax
movl %eax, -0x14c(%rbp)
jmp 0x6356
movl -0x14c(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
leaq -0x88(%rbp), %rdi
callq 0x6a20
movq -0x100(%rbp), %rdi
movq -0x88(%rbp), %rax
movq %rax, 0x40(%rdi)
movq -0x80(%rbp), %rax
movq %rax, 0x48(%rdi)
addq $0x40, %rdi
xorl %esi, %esi
callq 0x6a90
movq -0x100(%rbp), %rdi
movb $0x0, (%rax)
addq $0x40, %rdi
xorl %esi, %esi
callq 0x6a90
movq $0x0, 0x8(%rax)
movl $0x1, -0x8c(%rbp)
movl -0x8c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0x6450
movq -0x100(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x160(%rbp)
addq $0x40, %rdi
movl -0x8c(%rbp), %esi
callq 0x6a90
movq -0x160(%rbp), %rdi
movq %rax, %rsi
callq 0x4370
movq -0x10(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x43d0
movl -0x90(%rbp), %edi
callq 0x3510
movq -0x100(%rbp), %rdi
movq %rax, -0x158(%rbp)
addq $0x40, %rdi
movl -0x8c(%rbp), %esi
callq 0x6a90
movq -0x158(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl -0x8c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8c(%rbp)
jmp 0x63ba
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x43d0
cmpl $0x0, -0x14(%rbp)
je 0x646e
movl -0x14(%rbp), %eax
movl %eax, -0x164(%rbp)
jmp 0x647b
movl $0x1, %eax
movl %eax, -0x164(%rbp)
jmp 0x647b
movl -0x164(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
leaq -0xa0(%rbp), %rdi
callq 0x6ab0
movq -0x100(%rbp), %rax
movq -0xa0(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x98(%rbp), %rcx
movq %rcx, 0x58(%rax)
leaq -0xb0(%rbp), %rdi
xorl %esi, %esi
callq 0x6ba0
movq -0x100(%rbp), %rdi
addq $0x50, %rdi
xorl %esi, %esi
callq 0x3830
movq -0xb0(%rbp), %rcx
movq %rcx, (%rax)
movq -0xa8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl $0x1, -0xb4(%rbp)
movl -0xb4(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0x6655
movq -0x10(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x43d0
movl -0xb8(%rbp), %esi
leaq -0xc8(%rbp), %rdi
callq 0x6ba0
movq -0x100(%rbp), %rdi
addq $0x50, %rdi
movl -0xb4(%rbp), %esi
callq 0x3830
movq -0xc8(%rbp), %rcx
movq %rcx, (%rax)
movq -0xc0(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl $0x0, -0xcc(%rbp)
movl -0xcc(%rbp), %eax
cmpl -0xb8(%rbp), %eax
jae 0x663f
movq -0x10(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x43d0
cmpl $0x0, -0xd0(%rbp)
jne 0x65eb
movl $0x18, %edi
callq 0x20e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x170(%rbp)
leaq 0x3f22(%rip), %rsi      # 0xa4c0
leaq 0x3f46(%rip), %rdx      # 0xa4eb
movl $0x3d, %ecx
callq 0x2f30
jmp 0x65b1
movq -0x170(%rbp), %rdi
leaq 0x87c9(%rip), %rsi      # 0xed88
xorl %eax, %eax
movl %eax, %edx
callq 0x22b0
movq -0x170(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
callq 0x2110
jmp 0x676a
movl -0xd0(%rbp), %edi
callq 0x3600
movq -0x100(%rbp), %rdi
movq %rax, -0x178(%rbp)
addq $0x50, %rdi
movl -0xb4(%rbp), %esi
callq 0x3830
movq %rax, %rdi
movl -0xcc(%rbp), %esi
callq 0x6c10
movq -0x178(%rbp), %rcx
movq %rcx, (%rax)
movl -0xcc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xcc(%rbp)
jmp 0x6555
jmp 0x6641
movl -0xb4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb4(%rbp)
jmp 0x64ef
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x43d0
cmpl $0x0, -0x14(%rbp)
je 0x6673
movl -0x14(%rbp), %eax
movl %eax, -0x17c(%rbp)
jmp 0x6680
movl $0x1, %eax
movl %eax, -0x17c(%rbp)
jmp 0x6680
movl -0x17c(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
leaq -0xf0(%rbp), %rdi
callq 0x6c30
movq -0x100(%rbp), %rdi
movq -0xf0(%rbp), %rax
movq %rax, 0x60(%rdi)
movq -0xe8(%rbp), %rax
movq %rax, 0x68(%rdi)
addq $0x60, %rdi
xorl %esi, %esi
callq 0x3890
movb $0x0, (%rax)
xorl %edi, %edi
callq 0x3510
movq -0x100(%rbp), %rdi
movq %rax, -0x190(%rbp)
addq $0x60, %rdi
xorl %esi, %esi
callq 0x3890
movq -0x190(%rbp), %rcx
movq %rcx, 0x8(%rax)
xorl %edi, %edi
callq 0x3510
movq -0x100(%rbp), %rdi
movq %rax, -0x188(%rbp)
addq $0x60, %rdi
xorl %esi, %esi
callq 0x3890
movq -0x188(%rbp), %rcx
movq %rcx, 0x10(%rax)
movl $0x1, -0xf4(%rbp)
movl -0xf4(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0x6761
movq -0x100(%rbp), %rdi
addq $0x60, %rdi
movl -0xf4(%rbp), %esi
callq 0x3890
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x72b0
movl -0xf4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf4(%rbp)
jmp 0x6723
addq $0x190, %rsp            # imm = 0x190
popq %rbp
retq
movq -0xd8(%rbp), %rdi
callq 0x22e0
nopw %cs:(%rax,%rax)