// File: /workspace/github_c_makefile_star2_O0/algorithm-archivists[P]GathVL/src/objects/tex_string.cpp
// Function: tex_string::tex_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, vec, vec, double, color)
tex_string::tex_string(const std::string& str, vec location, vec size,
                       double rotation, color clr)
    : location(location), size(size), rotation(rotation), clr(clr) {

    texfile = string_generator();

    if (tex_to_png(str, texfile)) {
        std::cout << "Failed to make Latex png file." << std::endl;
        return;
    }

    std::string tmp = texfile + "png";
    image_data = stbi_load(tmp.c_str(), &width, &height, NULL, 4);

    if (!image_data) {
        std::cout << "The image " << tmp << " can't be opened." << std::endl;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0xa0(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x8(%rbp)
movsd %xmm2, -0x20(%rbp)
movsd %xmm3, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
movsd %xmm4, -0x38(%rbp)
movq -0x28(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x8fa0
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rdi
leaq 0x18524(%rip), %rcx     # 0x4ec10
movq %rcx, (%rdi)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups %xmm1, 0x30(%rdi)
movups %xmm0, 0x20(%rdi)
movups -0x10(%rbp), %xmm0
movups %xmm0, 0x40(%rdi)
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x50(%rdi)
movsd -0x38(%rbp), %xmm0
movsd %xmm0, 0x60(%rdi)
addq $0x68, %rdi
movq %rdi, -0x90(%rbp)
callq 0x5650
leaq -0x58(%rbp), %rdi
callq 0x36910
jmp 0x36733
movq -0x98(%rbp), %rdi
addq $0x68, %rdi
movq %rdi, -0xb0(%rbp)
leaq -0x58(%rbp), %rsi
movq %rsi, -0xb8(%rbp)
callq 0x5750
movq -0xb8(%rbp), %rdi
callq 0x5830
movq -0xb0(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0x36b40
movl %eax, -0xa4(%rbp)
jmp 0x36779
movl -0xa4(%rbp), %eax
cmpl $0x0, %eax
je 0x367cb
movq 0x1881d(%rip), %rdi     # 0x4efa8
leaq 0x6e2b(%rip), %rsi      # 0x3d5bd
callq 0x5780
movq %rax, -0xc0(%rbp)
jmp 0x367a0
movq -0xc0(%rbp), %rdi
movq 0x18812(%rip), %rsi     # 0x4efc0
callq 0x5960
jmp 0x367b5
jmp 0x368de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x368e7
movq -0x98(%rbp), %rsi
addq $0x68, %rsi
leaq 0x6f4b(%rip), %rdx      # 0x3d728
leaq -0x88(%rbp), %rdi
callq 0x377d0
jmp 0x367eb
leaq -0x88(%rbp), %rdi
callq 0x5530
movq -0x98(%rbp), %rdx
movq %rax, %rdi
movq %rdx, %rsi
addq $0x90, %rsi
addq $0x94, %rdx
xorl %eax, %eax
movl %eax, %ecx
movl $0x4, %r8d
callq 0x16a30
movq %rax, -0xc8(%rbp)
jmp 0x3682a
movq -0x98(%rbp), %rax
movq -0xc8(%rbp), %rcx
movq %rcx, 0x88(%rax)
cmpq $0x0, 0x88(%rax)
jne 0x368d2
movq 0x18754(%rip), %rdi     # 0x4efa8
leaq 0x551d(%rip), %rsi      # 0x3bd78
callq 0x5780
movq %rax, -0xd0(%rbp)
jmp 0x36869
movq -0xd0(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x56d0
movq %rax, -0xd8(%rbp)
jmp 0x36885
movq -0xd8(%rbp), %rdi
leaq 0x6d49(%rip), %rsi      # 0x3d5dc
callq 0x5780
movq %rax, -0xe0(%rbp)
jmp 0x368a1
movq -0xe0(%rbp), %rdi
movq 0x18711(%rip), %rsi     # 0x4efc0
callq 0x5960
jmp 0x368b6
jmp 0x368d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x5830
jmp 0x368e7
leaq -0x88(%rbp), %rdi
callq 0x5830
addq $0xe0, %rsp
popq %rbp
retq
movq -0x90(%rbp), %rdi
callq 0x5830
movq -0x98(%rbp), %rdi
callq 0x8ff0
movq -0x60(%rbp), %rdi
callq 0x52d0
nopl (%rax,%rax)