// File: /workspace/github_c_makefile_star2_O0/0x3f00[P]PhotonCpp/./PhotonLayer.h
// Function: PhotonLayer::packImageData[abi:cxx11]()
std::string packImageData() {
		std::stringstream baos;
		
		{
            for (int y = 0; y < height_; y++) {
                if (pixels[y] == 0) {
                    addPhotonRLE(baos, true, width_);
                } else {
                    char current = PhotonDot::OFF;
                    int length = 0;
                    for (int x = 0; x < width_; x++) {
						char next = iArray[y][x];
                        if (next != current) {
                            if (length > 0) {
                                addPhotonRLE(baos, current == PhotonDot::OFF, length);
                            }
                            current = next;
                            length = 1;
                        } else {
                            length++;
                        }
                    }
                    if (length > 0) {
                        addPhotonRLE(baos, current == PhotonDot::OFF, length);
                    }
                }
            }

            return baos.str();
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movq %rdi, -0x1d8(%rbp)
movq %rdi, %rax
movq %rax, -0x1d0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x3210
movl $0x0, -0x19c(%rbp)
movq -0x1c8(%rbp), %rcx
movl -0x19c(%rbp), %eax
cmpl 0x4(%rcx), %eax
jge 0x192e8
movq -0x1c8(%rbp), %rdi
addq $0x28, %rdi
movslq -0x19c(%rbp), %rsi
callq 0x11770
cmpl $0x0, (%rax)
jne 0x191bb
movq -0x1c8(%rbp), %rdi
leaq -0x188(%rbp), %rsi
movl (%rdi), %ecx
movl $0x1, %edx
callq 0x19870
jmp 0x19193
jmp 0x192d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x3230
jmp 0x19319
movb $0x0, -0x1ad(%rbp)
movl $0x0, -0x1b4(%rbp)
movl $0x0, -0x1b8(%rbp)
movq -0x1c8(%rbp), %rcx
movl -0x1b8(%rbp), %eax
cmpl (%rcx), %eax
jge 0x1929c
movq -0x1c8(%rbp), %rdi
addq $0x10, %rdi
movslq -0x19c(%rbp), %rsi
callq 0xe060
movq %rax, %rdi
movslq -0x1b8(%rbp), %rsi
callq 0x11750
movb (%rax), %al
movb %al, -0x1b9(%rbp)
movsbl -0x1b9(%rbp), %eax
movsbl -0x1ad(%rbp), %ecx
cmpl %ecx, %eax
je 0x19277
cmpl $0x0, -0x1b4(%rbp)
jle 0x1925f
movq -0x1c8(%rbp), %rdi
leaq -0x188(%rbp), %rsi
movb -0x1ad(%rbp), %al
testb %al, %al
sete %al
movl -0x1b4(%rbp), %ecx
movzbl %al, %edx
callq 0x19870
jmp 0x1925d
jmp 0x1925f
movb -0x1b9(%rbp), %al
movb %al, -0x1ad(%rbp)
movl $0x1, -0x1b4(%rbp)
jmp 0x19286
movl -0x1b4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1b4(%rbp)
jmp 0x19288
movl -0x1b8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1b8(%rbp)
jmp 0x191d6
cmpl $0x0, -0x1b4(%rbp)
jle 0x192d0
movq -0x1c8(%rbp), %rdi
leaq -0x188(%rbp), %rsi
movb -0x1ad(%rbp), %al
testb %al, %al
sete %al
movl -0x1b4(%rbp), %ecx
movzbl %al, %edx
callq 0x19870
jmp 0x192ce
jmp 0x192d0
jmp 0x192d2
jmp 0x192d4
movl -0x19c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x19c(%rbp)
jmp 0x19145
movq -0x1d8(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x32d0
jmp 0x192fd
leaq -0x198(%rbp), %rdi
callq 0x3230
movq -0x1d0(%rbp), %rax
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
movq -0x1a8(%rbp), %rdi
callq 0x3570
nopw %cs:(%rax,%rax)
nop