// File: /workspace/github_cpp_makefile_star2_O3/halsafar[P]libtmx-parser/main.cpp
// Function: printObjects(int, std::vector<tmxparser::TmxObject, std::allocator<tmxparser::TmxObject>> const&)
void printObjects(int depth, const tmxparser::TmxObjectCollection_t& collection)
{
	int nextdepth = depth + 1;

	for (auto it = collection.begin(); it != collection.end(); ++it)
	{
		printf_depth(depth, "%s", "<object>");

		printf_depth(nextdepth, "Name: %s", it->name.c_str());
		printf_depth(nextdepth, "Type: %s", it->type.c_str());
		printf_depth(nextdepth, "x: %f", it->x);
		printf_depth(nextdepth, "y: %f", it->y);
		printf_depth(nextdepth, "width: %f", it->width);
		printf_depth(nextdepth, "height: %f", it->height);
		printf_depth(nextdepth, "rotation: %f", it->rotation);
		printf_depth(nextdepth, "refGid: %u", it->referenceGid);
		printf_depth(nextdepth, "visible: %u", it->visible);

		printProperties(nextdepth, it->propertyMap);

		printf_depth(nextdepth, "ShapeType: %u", it->shapeType);

		printf_depth(nextdepth, "%s", "<shape>");
		for (auto pointIt = it->shapePoints.begin(); pointIt != it->shapePoints.end(); ++pointIt)
		{
			printf_depth(nextdepth+1, "(x, y)=%f,%f", pointIt->first, pointIt->second);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq (%rsi), %r14
movq %rsi, -0x40(%rbp)
cmpq 0x8(%rsi), %r14
je 0xba20
movl %edi, %eax
incl %edi
leal (%rax,%rax,4), %ecx
movl %ecx, -0x30(%rbp)
movq %rdi, -0x38(%rbp)
leal (%rdi,%rdi,4), %ecx
movl %ecx, -0x2c(%rbp)
leal (%rax,%rax,4), %r13d
addl $0xa, %r13d
leaq 0x70be(%rip), %r15      # 0x12936
leaq 0x6e4d(%rip), %rbx      # 0x126cc
leaq 0x6d7e(%rip), %rdi      # 0x12604
movl -0x30(%rbp), %esi
movq %r15, %rdx
leaq 0x6d91(%rip), %rcx      # 0x12624
xorl %eax, %eax
callq 0x4050
movq (%r14), %rcx
leaq 0x6d89(%rip), %rdi      # 0x1262d
movl -0x2c(%rbp), %r12d
movl %r12d, %esi
movq %r15, %rdx
xorl %eax, %eax
callq 0x4050
movq 0x20(%r14), %rcx
leaq 0x6d7b(%rip), %rdi      # 0x1263b
movl %r12d, %esi
movq %r15, %rdx
xorl %eax, %eax
callq 0x4050
xorps %xmm0, %xmm0
cvtss2sd 0x40(%r14), %xmm0
leaq 0x6d6c(%rip), %rdi      # 0x12649
movl %r12d, %esi
movq %r15, %rdx
movb $0x1, %al
callq 0x4050
xorps %xmm0, %xmm0
cvtss2sd 0x44(%r14), %xmm0
leaq 0x6d5a(%rip), %rdi      # 0x12654
movl %r12d, %esi
movq %r15, %rdx
movb $0x1, %al
callq 0x4050
xorps %xmm0, %xmm0
cvtss2sd 0x48(%r14), %xmm0
leaq 0x6d48(%rip), %rdi      # 0x1265f
movl %r12d, %esi
movq %r15, %rdx
movb $0x1, %al
callq 0x4050
xorps %xmm0, %xmm0
cvtss2sd 0x4c(%r14), %xmm0
leaq 0x6d3a(%rip), %rdi      # 0x1266e
movl %r12d, %esi
movq %r15, %rdx
movb $0x1, %al
callq 0x4050
xorps %xmm0, %xmm0
cvtss2sd 0x50(%r14), %xmm0
leaq 0x6d2d(%rip), %rdi      # 0x1267e
movl %r12d, %esi
movq %r15, %rdx
movb $0x1, %al
callq 0x4050
movl 0x54(%r14), %ecx
leaq 0x6d27(%rip), %rdi      # 0x12690
movl %r12d, %esi
movq %r15, %rdx
xorl %eax, %eax
callq 0x4050
movzbl 0x58(%r14), %ecx
leaq 0x6d1e(%rip), %rdi      # 0x126a0
movl %r12d, %esi
movq %r15, %rdx
xorl %eax, %eax
callq 0x4050
leaq 0x60(%r14), %rsi
movq -0x38(%rbp), %rdi
callq 0xb7b8
movl 0x98(%r14), %ecx
leaq 0x6d07(%rip), %rdi      # 0x126b1
movl %r12d, %esi
movq %r15, %rdx
xorl %eax, %eax
callq 0x4050
leaq 0x6c46(%rip), %rdi      # 0x12604
movl %r12d, %esi
movq %r15, %rdx
leaq 0x6cf9(%rip), %rcx      # 0x126c4
xorl %eax, %eax
callq 0x4050
movq 0xa0(%r14), %r12
cmpq 0xa8(%r14), %r12
je 0xba0b
xorps %xmm0, %xmm0
cvtss2sd (%r12), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x4(%r12), %xmm1
movq %rbx, %rdi
movl %r13d, %esi
movq %r15, %rdx
movb $0x2, %al
callq 0x4050
addq $0x8, %r12
jmp 0xb9d9
addq $0xb8, %r14
movq -0x40(%rbp), %rax
cmpq 0x8(%rax), %r14
jne 0xb87f
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq