// File: /workspace/github_cpp_makefile_star2_O2/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, -0x40(%rbp)
movq (%rsi), %r13
leal (%rdi,%rdi,4), %eax
movl %eax, -0x34(%rbp)
leal 0x5(%rdi,%rdi,4), %eax
movl %eax, -0x30(%rbp)
leal (%rdi,%rdi,4), %r12d
addl $0xa, %r12d
movl %edi, %eax
incl %eax
movl %eax, -0x2c(%rbp)
leaq 0x65f2(%rip), %r14      # 0x1090e
leaq 0x6381(%rip), %rbx      # 0x106a4
movq -0x40(%rbp), %rax
cmpq 0x8(%rax), %r13
je 0xa4b2
leaq 0x62a4(%rip), %rdi      # 0x105dc
movl -0x34(%rbp), %esi
movq %r14, %rdx
leaq 0x62b7(%rip), %rcx      # 0x105fc
xorl %eax, %eax
callq 0x4050
movq (%r13), %rcx
leaq 0x62ae(%rip), %rdi      # 0x10605
movl -0x30(%rbp), %r15d
movl %r15d, %esi
movq %r14, %rdx
xorl %eax, %eax
callq 0x4050
movq 0x20(%r13), %rcx
leaq 0x62a0(%rip), %rdi      # 0x10613
movl %r15d, %esi
movq %r14, %rdx
xorl %eax, %eax
callq 0x4050
cvtss2sd 0x40(%r13), %xmm0
leaq 0x6294(%rip), %rdi      # 0x10621
movl %r15d, %esi
movq %r14, %rdx
movb $0x1, %al
callq 0x4050
cvtss2sd 0x44(%r13), %xmm0
leaq 0x6285(%rip), %rdi      # 0x1062c
movl %r15d, %esi
movq %r14, %rdx
movb $0x1, %al
callq 0x4050
cvtss2sd 0x48(%r13), %xmm0
leaq 0x6276(%rip), %rdi      # 0x10637
movl %r15d, %esi
movq %r14, %rdx
movb $0x1, %al
callq 0x4050
cvtss2sd 0x4c(%r13), %xmm0
leaq 0x626b(%rip), %rdi      # 0x10646
movl %r15d, %esi
movq %r14, %rdx
movb $0x1, %al
callq 0x4050
cvtss2sd 0x50(%r13), %xmm0
leaq 0x6261(%rip), %rdi      # 0x10656
movl %r15d, %esi
movq %r14, %rdx
movb $0x1, %al
callq 0x4050
movl 0x54(%r13), %ecx
leaq 0x625b(%rip), %rdi      # 0x10668
movl %r15d, %esi
movq %r14, %rdx
xorl %eax, %eax
callq 0x4050
movzbl 0x58(%r13), %ecx
leaq 0x6252(%rip), %rdi      # 0x10678
movl %r15d, %esi
movq %r14, %rdx
xorl %eax, %eax
callq 0x4050
leaq 0x60(%r13), %rsi
movl -0x2c(%rbp), %edi
callq 0xa268
movl 0x98(%r13), %ecx
leaq 0x623c(%rip), %rdi      # 0x10689
movl %r15d, %esi
movq %r14, %rdx
xorl %eax, %eax
callq 0x4050
leaq 0x617b(%rip), %rdi      # 0x105dc
movl %r15d, %esi
movq %r14, %rdx
leaq 0x622e(%rip), %rcx      # 0x1069c
xorl %eax, %eax
callq 0x4050
movq 0xa0(%r13), %r15
cmpq 0xa8(%r13), %r15
je 0xa4a6
cvtss2sd (%r15), %xmm0
cvtss2sd 0x4(%r15), %xmm1
movq %rbx, %rdi
movl %r12d, %esi
movq %r14, %rdx
movb $0x2, %al
callq 0x4050
addq $0x8, %r15
jmp 0xa47c
addq $0xb8, %r13
jmp 0xa323
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq