.file "texture.c" .text .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "1.6.37" .text .p2align 4 .globl init_png .type init_png, @function init_png: .LFB22: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %rbx subq $24, %rsp .cfi_offset 3, -24 1: call mcount xorl %ecx, %ecx xorl %edx, %edx movq %rdi, -32(%rbp) movq %rdi, %rbx movl $.LC0, %edi movq %rsi, -24(%rbp) xorl %esi, %esi call png_create_read_struct movq %rax, (%rbx) movq %rax, %rdi testq %rax, %rax je .L8 call png_create_info_struct movq -24(%rbp), %rcx movq %rax, (%rcx) testq %rax, %rax je .L9 movq -32(%rbp), %rax movl $200, %edx movl $longjmp, %esi movq (%rax), %rdi call png_set_longjmp_fn movq %rax, %rdi call _setjmp testl %eax, %eax jne .L10 movq -8(%rbp), %rbx leave .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L10: .cfi_restore_state movq -24(%rbp), %rsi movq -32(%rbp), %rdi xorl %edx, %edx call png_destroy_read_struct .L6: xorl %edi, %edi call exit .L9: movq -32(%rbp), %rdi xorl %edx, %edx xorl %esi, %esi call png_destroy_read_struct jmp .L6 .L8: movq -24(%rbp), %rax xorl %edx, %edx movq %rdx, (%rax) call exit .cfi_endproc .LFE22: .size init_png, .-init_png .section .rodata.str1.1 .LC1: .string "rb" .text .p2align 4 .globl read_png .type read_png, @function read_png: .LFB23: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %r15 pushq %r14 pushq %r13 pushq %r12 pushq %rbx subq $72, %rsp .cfi_offset 15, -24 .cfi_offset 14, -32 .cfi_offset 13, -40 .cfi_offset 12, -48 .cfi_offset 3, -56 1: call mcount movq %rsi, %rbx movl $.LC1, %esi call fopen leaq -56(%rbp), %rsi leaq -64(%rbp), %rdi movq %rax, %r14 movq %rax, -112(%rbp) call init_png movq -64(%rbp), %rdi movq %r14, %rsi call png_init_io movq -56(%rbp), %rsi movq -64(%rbp), %rdi xorl %ecx, %ecx movl $144, %edx call png_read_png subq $8, %rsp leaq -68(%rbp), %rax movq -56(%rbp), %rsi pushq $0 movq -64(%rbp), %rdi leaq -80(%rbp), %rcx leaq -72(%rbp), %r9 pushq $0 leaq -76(%rbp), %r8 leaq -84(%rbp), %rdx pushq %rax call png_get_IHDR movq -56(%rbp), %rsi movq -64(%rbp), %rdi addq $32, %rsp call png_get_rowbytes movl %eax, %r13d movq %rax, %r14 sall $7, %r13d movl %r14d, %r12d movslq %r13d, %rdi negl %r12d subl %r14d, %r13d call malloc movq -56(%rbp), %rsi movq -64(%rbp), %rdi movslq %r12d, %r12 movq %rax, (%rbx) call png_get_rows movslq %r14d, %rcx movslq %r13d, %r14 movq %rcx, -104(%rbp) movq %rax, %r15 leaq 1024(%rax), %r13 .p2align 4,,10 .p2align 3 .L12: movq (%rbx), %rdi movq (%r15), %rsi addq $8, %r15 movq -104(%rbp), %rdx addq %r14, %rdi addq %r12, %r14 call memcpy cmpq %r15, %r13 jne .L12 leaq -56(%rbp), %rsi leaq -64(%rbp), %rdi xorl %edx, %edx call png_destroy_read_struct movq -112(%rbp), %rdi call fclose leaq -40(%rbp), %rsp popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE23: .size read_png, .-read_png .ident "GCC: (GNU) 12.2.1 20220819 (Red Hat 12.2.1-2)" .section .note.GNU-stack,"",@progbits