// File: /workspace/github_c_makefile_star2_O0/0x3f00[P]PhotonCpp/./PhotonFilePreview.h
// Function: PhotonFilePreview::PhotonFilePreview(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
PhotonFilePreview(int previewAddress, const std::string & fileContent) {
        std::string data(fileContent.begin() + previewAddress, fileContent.begin() + previewAddress + 32);
		std::stringstream ss(data);
        PhotonInputStream ds(ss);

        resolutionX_ = ds.readInt();
        resolutionY_ = ds.readInt();
        imageAddress_ = ds.readInt();
        dataSize_ = ds.readInt();
        p1_ = ds.readInt();
        p2_ = ds.readInt();
        p3_ = ds.readInt();
        p4_ = ds.readInt();

        rawImageData_.assign(fileContent.begin() + imageAddress_, fileContent.begin() + imageAddress_ + dataSize_);

        decodeImageData();
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x248(%rbp)
addq $0x10, %rdi
movq %rdi, -0x250(%rbp)
callq 0xdfe0
movq -0x248(%rbp), %rdi
addq $0x28, %rdi
movq %rdi, -0x240(%rbp)
callq 0xdf90
movq -0x18(%rbp), %rdi
callq 0x32c0
movq %rax, -0x48(%rbp)
movslq -0xc(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x11ed0
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rdi
callq 0x32c0
movq %rax, -0x60(%rbp)
movslq -0xc(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x11ed0
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %rdi
movl $0x20, %esi
callq 0x11ed0
movq %rax, -0x50(%rbp)
leaq -0x61(%rbp), %rdi
movq %rdi, -0x238(%rbp)
callq 0x3580
movq -0x238(%rbp), %rcx
movq -0x40(%rbp), %rsi
movq -0x50(%rbp), %rdx
leaq -0x38(%rbp), %rdi
callq 0x11f10
jmp 0xc7a0
leaq -0x61(%rbp), %rdi
callq 0x3330
movl $0x10, %edi
movl $0x8, %esi
callq 0x11790
movl %eax, %edx
leaq -0x200(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x34d0
jmp 0xc7cc
leaq -0x208(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x117b0
jmp 0xc7e1
leaq -0x208(%rbp), %rdi
callq 0x117d0
movl %eax, -0x254(%rbp)
jmp 0xc7f5
movq -0x248(%rbp), %rax
movl -0x254(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x208(%rbp), %rdi
callq 0x117d0
movl %eax, -0x258(%rbp)
jmp 0xc818
movq -0x248(%rbp), %rax
movl -0x258(%rbp), %ecx
movl %ecx, 0x4(%rax)
leaq -0x208(%rbp), %rdi
callq 0x117d0
movl %eax, -0x25c(%rbp)
jmp 0xc83c
movq -0x248(%rbp), %rax
movl -0x25c(%rbp), %ecx
movl %ecx, 0x8(%rax)
leaq -0x208(%rbp), %rdi
callq 0x117d0
movl %eax, -0x260(%rbp)
jmp 0xc860
movq -0x248(%rbp), %rax
movl -0x260(%rbp), %ecx
movl %ecx, 0xc(%rax)
leaq -0x208(%rbp), %rdi
callq 0x117d0
movl %eax, -0x264(%rbp)
jmp 0xc884
movq -0x248(%rbp), %rax
movl -0x264(%rbp), %ecx
movl %ecx, 0x40(%rax)
leaq -0x208(%rbp), %rdi
callq 0x117d0
movl %eax, -0x268(%rbp)
jmp 0xc8a8
movq -0x248(%rbp), %rax
movl -0x268(%rbp), %ecx
movl %ecx, 0x44(%rax)
leaq -0x208(%rbp), %rdi
callq 0x117d0
movl %eax, -0x26c(%rbp)
jmp 0xc8cc
movq -0x248(%rbp), %rax
movl -0x26c(%rbp), %ecx
movl %ecx, 0x48(%rax)
leaq -0x208(%rbp), %rdi
callq 0x117d0
movl %eax, -0x270(%rbp)
jmp 0xc8f0
movq -0x248(%rbp), %rax
movl -0x270(%rbp), %ecx
movl %ecx, 0x4c(%rax)
addq $0x10, %rax
movq %rax, -0x278(%rbp)
movq -0x18(%rbp), %rdi
callq 0x32c0
movq %rax, %rcx
movq -0x248(%rbp), %rax
movq %rcx, -0x218(%rbp)
movslq 0x8(%rax), %rsi
leaq -0x218(%rbp), %rdi
callq 0x11ed0
movq %rax, -0x210(%rbp)
movq -0x18(%rbp), %rdi
callq 0x32c0
movq %rax, %rcx
movq -0x248(%rbp), %rax
movq %rcx, -0x230(%rbp)
movslq 0x8(%rax), %rsi
leaq -0x230(%rbp), %rdi
callq 0x11ed0
movq %rax, %rcx
movq -0x248(%rbp), %rax
movq %rcx, -0x228(%rbp)
movslq 0xc(%rax), %rsi
leaq -0x228(%rbp), %rdi
callq 0x11ed0
movq -0x278(%rbp), %rdi
movq %rax, -0x220(%rbp)
movq -0x210(%rbp), %rsi
movq -0x220(%rbp), %rdx
callq 0x11f90
jmp 0xc9aa
movq -0x248(%rbp), %rdi
callq 0x11fd0
jmp 0xc9b8
leaq -0x200(%rbp), %rdi
callq 0x3230
leaq -0x38(%rbp), %rdi
callq 0x31b0
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x61(%rbp), %rdi
callq 0x3330
jmp 0xca1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xca13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x3230
leaq -0x38(%rbp), %rdi
callq 0x31b0
movq -0x240(%rbp), %rdi
callq 0xe1a0
movq -0x250(%rbp), %rdi
callq 0xe000
movq -0x70(%rbp), %rdi
callq 0x3570
nopl (%rax)