.file "decoder.cpp" .text .section .text._ZN3tga7Decoder10read8ColorEv,"axG",@progbits,_ZN3tga7Decoder10read8ColorEv,comdat .align 2 .p2align 4 .weak _ZN3tga7Decoder10read8ColorEv .type _ZN3tga7Decoder10read8ColorEv, @function _ZN3tga7Decoder10read8ColorEv: .LFB1381: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount movq (%rdi), %rdi movq (%rdi), %rax call *40(%rax) popq %rbp .cfi_def_cfa 7, 8 movzbl %al, %eax ret .cfi_endproc .LFE1381: .size _ZN3tga7Decoder10read8ColorEv, .-_ZN3tga7Decoder10read8ColorEv .text .align 2 .p2align 4 .globl _ZN3tga7Decoder11read32AsRgbEv .type _ZN3tga7Decoder11read32AsRgbEv, @function _ZN3tga7Decoder11read32AsRgbEv: .LFB1403: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %r14 pushq %r13 pushq %r12 pushq %rbx .cfi_offset 14, -24 .cfi_offset 13, -32 .cfi_offset 12, -40 .cfi_offset 3, -48 1: call mcount movq %rdi, %r14 movq (%rdi), %rdi movq (%rdi), %rax call *40(%rax) movq (%r14), %rdi movzbl %al, %r13d movq (%rdi), %rax call *40(%rax) movq (%r14), %rdi movl %eax, %ebx movq (%rdi), %rax call *40(%rax) movq (%r14), %rdi movzbl %al, %r12d movq (%rdi), %rax call *40(%rax) cmpb $0, 8(%r14) movl $-16777216, %edx je .L4 movl %eax, %edx sall $24, %edx .L4: movzbl %bl, %eax sall $16, %r13d popq %rbx sall $8, %eax orl %r13d, %eax orl %r12d, %eax popq %r12 popq %r13 orl %edx, %eax popq %r14 popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE1403: .size _ZN3tga7Decoder11read32AsRgbEv, .-_ZN3tga7Decoder11read32AsRgbEv .align 2 .p2align 4 .globl _ZN3tga7Decoder11read24AsRgbEv .type _ZN3tga7Decoder11read24AsRgbEv, @function _ZN3tga7Decoder11read24AsRgbEv: .LFB1404: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %r13 pushq %r12 pushq %rbx subq $8, %rsp .cfi_offset 13, -24 .cfi_offset 12, -32 .cfi_offset 3, -40 1: call mcount movq %rdi, %r13 movq (%rdi), %rdi movq (%rdi), %rax call *40(%rax) movq 0(%r13), %rdi movzbl %al, %r12d movq (%rdi), %rax sall $16, %r12d call *40(%rax) movq 0(%r13), %rdi movzbl %al, %ebx movq (%rdi), %rax sall $8, %ebx orl %r12d, %ebx call *40(%rax) addq $8, %rsp movzbl %al, %eax orl %eax, %ebx movl %ebx, %eax popq %rbx popq %r12 orl $-16777216, %eax popq %r13 popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE1404: .size _ZN3tga7Decoder11read24AsRgbEv, .-_ZN3tga7Decoder11read24AsRgbEv .align 2 .p2align 4 .type _ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE.constprop.0, @function _ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE.constprop.0: .LFB1813: .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 $24, %rsp .cfi_offset 15, -24 .cfi_offset 14, -32 .cfi_offset 13, -40 .cfi_offset 12, -48 .cfi_offset 3, -56 1: call mcount movl %esi, -60(%rbp) movq %rdi, %rbx leaq 16(%rdi), %r12 movl $0, -56(%rbp) testl %esi, %esi jle .L9 .L8: movq (%rbx), %rdi movq (%rdi), %rax call *16(%rax) movb %al, -49(%rbp) testb %al, %al je .L9 movq (%rbx), %rdi movq (%rdi), %rax call *40(%rax) testb %al, %al js .L26 movzbl %al, %eax leal 1(%rax), %r13d movl %r13d, %r15d .p2align 4,,10 .p2align 3 .L15: movq %rbx, %rdi subl $1, %r15d call _ZN3tga7Decoder10read8ColorEv movq 48(%rbx), %rdx movq %r12, %rdi movb %al, (%rdx) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al jne .L7 testl %r15d, %r15d jne .L15 addl %r13d, -56(%rbp) .L13: movl -56(%rbp), %ecx cmpl %ecx, -60(%rbp) jg .L8 .L9: movb $0, -49(%rbp) .L7: movzbl -49(%rbp), %eax addq $24, %rsp popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L26: .cfi_restore_state andl $127, %eax movq %rbx, %rdi leal 1(%rax), %r15d call _ZN3tga7Decoder10read8ColorEv movl %eax, %r13d movzbl %r15b, %eax leaq 16(%rbx), %r15 movl %eax, -64(%rbp) movl %eax, %r14d .p2align 4,,10 .p2align 3 .L12: movq 48(%rbx), %rax movq %r15, %rdi subl $1, %r14d movb %r13b, (%rax) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al jne .L7 testl %r14d, %r14d jne .L12 movl -64(%rbp), %ecx addl %ecx, -56(%rbp) jmp .L13 .cfi_endproc .LFE1813: .size _ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE.constprop.0, .-_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE.constprop.0 .align 2 .p2align 4 .globl _ZN3tga7Decoder11read16AsRgbEv .type _ZN3tga7Decoder11read16AsRgbEv, @function _ZN3tga7Decoder11read16AsRgbEv: .LFB1405: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %r13 pushq %r12 pushq %rbx subq $8, %rsp .cfi_offset 13, -24 .cfi_offset 12, -32 .cfi_offset 3, -40 1: call mcount movq %rdi, %r12 movq (%rdi), %rdi movq (%rdi), %rax call *40(%rax) movq (%r12), %rdi movzbl %al, %ebx movq (%rdi), %rax call *40(%rax) movq (%r12), %rdi movl %eax, %r13d movq (%rdi), %rax call *16(%rax) testb %al, %al jne .L28 movzbl 8(%r12), %eax addq $8, %rsp popq %rbx popq %r12 subl $1, %eax popq %r13 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 sall $24, %eax ret .p2align 4,,10 .p2align 3 .L28: .cfi_restore_state movl %r13d, %eax sall $8, %eax orl %ebx, %eax andl $31, %ebx movl %eax, %ecx movl %eax, %edx shrw $5, %cx shrw $10, %dx andl $31, %ecx andl $31, %edx movl %ecx, %esi sall $3, %ecx shrb $2, %sil orl %esi, %ecx movl %ebx, %esi sall $3, %ebx shrb $2, %sil movzbl %cl, %ecx orl %esi, %ebx movl %edx, %esi sall $3, %edx shrb $2, %sil movzbl %bl, %ebx sall $8, %ecx orl %esi, %edx sall $16, %ebx movzbl %dl, %edx orl %edx, %ebx cmpb $0, 8(%r12) je .L31 sarw $15, %ax addq $8, %rsp orl %ebx, %ecx sall $24, %eax popq %rbx popq %r12 orl %ecx, %eax popq %r13 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L31: .cfi_restore_state orl %ecx, %ebx addq $8, %rsp movl %ebx, %eax popq %rbx popq %r12 orl $-16777216, %eax popq %r13 popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE1405: .size _ZN3tga7Decoder11read16AsRgbEv, .-_ZN3tga7Decoder11read16AsRgbEv .align 2 .p2align 4 .globl _ZN3tga7DecoderC2EPNS_13FileInterfaceE .type _ZN3tga7DecoderC2EPNS_13FileInterfaceE, @function _ZN3tga7DecoderC2EPNS_13FileInterfaceE: .LFB1385: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount movq %rsi, (%rdi) addq $16, %rdi movb $0, -8(%rdi) popq %rbp .cfi_def_cfa 7, 8 jmp _ZN3tga7details13ImageIteratorC1Ev .cfi_endproc .LFE1385: .size _ZN3tga7DecoderC2EPNS_13FileInterfaceE, .-_ZN3tga7DecoderC2EPNS_13FileInterfaceE .globl _ZN3tga7DecoderC1EPNS_13FileInterfaceE .set _ZN3tga7DecoderC1EPNS_13FileInterfaceE,_ZN3tga7DecoderC2EPNS_13FileInterfaceE .align 2 .p2align 4 .globl _ZN3tga7Decoder12readColormapERNS_6HeaderE .type _ZN3tga7Decoder12readColormapERNS_6HeaderE, @function _ZN3tga7Decoder12readColormapERNS_6HeaderE: .LFB1388: .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 $24, %rsp .cfi_offset 15, -24 .cfi_offset 14, -32 .cfi_offset 13, -40 .cfi_offset 12, -48 .cfi_offset 3, -56 1: call mcount movzwl 6(%rsi), %r14d movq %rdi, %r12 movq %rsi, %r13 testq %r14, %r14 je .L44 leaq 0(,%r14,4), %rdx movq %rdx, %rdi movq %rdx, -56(%rbp) call _Znwm movq -56(%rbp), %rdx movl $0, (%rax) movq %rax, %rbx leaq 4(%rax), %rdi leaq (%rax,%rdx), %r15 cmpq $1, %r14 je .L34 cmpq %rdi, %r15 je .L34 subq $4, %rdx xorl %esi, %esi call memset movq %r15, %rdi .L34: movq 56(%r13), %rax movq %rdi, 64(%r13) movq %rbx, 56(%r13) movq %r15, 72(%r13) testq %rax, %rax je .L35 movq %rax, %rdi call _ZdlPv .L35: movzwl 6(%r13), %edx xorl %r15d, %r15d testw %dx, %dx jne .L36 jmp .L33 .p2align 4,,10 .p2align 3 .L65: subl $15, %eax cmpb $1, %al ja .L39 movq (%r12), %rdi movq (%rdi), %rax call *40(%rax) movq (%r12), %rdi movzbl %al, %r14d movq (%rdi), %rax call *40(%rax) movq (%r12), %rdi movl %eax, %ebx movq (%rdi), %rax call *16(%rax) movl %eax, %edx movl $-16777216, %eax testb %dl, %dl je .L41 sall $8, %ebx orl %r14d, %ebx andl $31, %r14d movl %ebx, %edx shrw $10, %bx movl %r14d, %eax shrw $5, %dx andl $31, %ebx shrb $2, %al movl %ebx, %ecx andl $31, %edx sall $3, %ebx shrb $2, %cl sall $3, %r14d orl %ecx, %ebx movl %edx, %ecx orl %eax, %r14d sall $3, %edx shrb $2, %cl movzbl %r14b, %eax movzbl %bl, %ebx orl %ecx, %edx sall $16, %eax movzbl %dl, %edx orl %ebx, %eax sall $8, %edx orl %edx, %eax orl $-16777216, %eax .L41: movq 56(%r13), %rdx movl %eax, (%rdx,%r15,4) movzwl 6(%r13), %edx .L39: addq $1, %r15 movzwl %dx, %eax cmpl %r15d, %eax jle .L33 .L36: movzbl 8(%r13), %eax cmpb $24, %al je .L37 jbe .L65 cmpb $32, %al jne .L39 .L37: movq (%r12), %rdi movq (%rdi), %rax call *40(%rax) movq (%r12), %rdi movzbl %al, %r14d movq (%rdi), %rax call *40(%rax) movq (%r12), %rdi movzbl %al, %ebx movq (%rdi), %rax call *40(%rax) cmpb $32, 8(%r13) movl $-16777216, %ecx movzbl %al, %edx jne .L42 movq (%r12), %rdi movb %dl, -56(%rbp) movq (%rdi), %rax call *40(%rax) movzbl -56(%rbp), %edx movl %eax, %ecx sall $24, %ecx .L42: sall $8, %ebx sall $16, %r14d movq 56(%r13), %rax orl %r14d, %ebx orl %edx, %ebx movzwl 6(%r13), %edx orl %ecx, %ebx movl %ebx, (%rax,%r15,4) addq $1, %r15 movzwl %dx, %eax cmpl %r15d, %eax jg .L36 .L33: addq $24, %rsp popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L44: .cfi_restore_state xorl %r15d, %r15d xorl %ebx, %ebx xorl %edi, %edi jmp .L34 .cfi_endproc .LFE1388: .size _ZN3tga7Decoder12readColormapERNS_6HeaderE, .-_ZN3tga7Decoder12readColormapERNS_6HeaderE .align 2 .p2align 4 .globl _ZN3tga7Decoder10readHeaderERNS_6HeaderE .type _ZN3tga7Decoder10readHeaderERNS_6HeaderE, @function _ZN3tga7Decoder10readHeaderERNS_6HeaderE: .LFB1387: .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 $40, %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 %rdi, %rbx movq (%rdi), %rdi movq %rsi, %r12 movq (%rdi), %rax call *40(%rax) movb %al, (%r12) movq (%rbx), %rdi movq (%rdi), %rax call *40(%rax) movb %al, 1(%r12) movq (%rbx), %rdi movq (%rdi), %rax call *40(%rax) movb %al, 2(%r12) movq (%rbx), %rdi movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r14d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r13d movq (%rdi), %rax call *16(%rax) movl %eax, %edx xorl %eax, %eax testb %dl, %dl je .L67 sall $8, %r13d movzbl %r14b, %eax orl %r13d, %eax .L67: movq (%rbx), %rdi movw %ax, 4(%r12) movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r14d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r13d movq (%rdi), %rax call *16(%rax) movl %eax, %edx xorl %eax, %eax testb %dl, %dl je .L68 sall $8, %r13d movzbl %r14b, %eax orl %r13d, %eax .L68: movq (%rbx), %rdi movw %ax, 6(%r12) movq (%rdi), %rax call *40(%rax) movb %al, 8(%r12) movq (%rbx), %rdi movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r14d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r13d movq (%rdi), %rax call *16(%rax) movl %eax, %edx xorl %eax, %eax testb %dl, %dl je .L69 sall $8, %r13d movzbl %r14b, %eax orl %r13d, %eax .L69: movq (%rbx), %rdi movw %ax, 10(%r12) movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r14d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r13d movq (%rdi), %rax call *16(%rax) movl %eax, %edx xorl %eax, %eax testb %dl, %dl je .L70 sall $8, %r13d movzbl %r14b, %eax orl %r13d, %eax .L70: movq (%rbx), %rdi movw %ax, 12(%r12) movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r14d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r13d movq (%rdi), %rax call *16(%rax) movl %eax, %edx xorl %eax, %eax testb %dl, %dl je .L71 sall $8, %r13d movzbl %r14b, %eax orl %r13d, %eax .L71: movq (%rbx), %rdi movw %ax, 14(%r12) movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r14d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r13d movq (%rdi), %rax call *16(%rax) movl %eax, %edx xorl %eax, %eax testb %dl, %dl je .L72 sall $8, %r13d movzbl %r14b, %eax orl %r13d, %eax .L72: movq (%rbx), %rdi movw %ax, 16(%r12) movq (%rdi), %rax call *40(%rax) movb %al, 18(%r12) movq (%rbx), %rdi movq (%rdi), %rax call *40(%rax) cmpw $0, 14(%r12) movb %al, 19(%r12) je .L74 cmpw $0, 16(%r12) je .L74 movzbl (%r12), %r13d testb %r13b, %r13b je .L83 leaq 24(%r12), %rax subl $1, %r13d leaq 40(%r12), %r14 movq %rax, -72(%rbp) jmp .L84 .p2align 4,,10 .p2align 3 .L81: movb %al, (%rdx,%r15) .L128: movq 24(%r12), %rdx subl $1, %r13d movq %r9, 32(%r12) movb $0, 1(%rdx,%r15) cmpb $-1, %r13b je .L83 .L84: movq (%rbx), %rdi movq (%rdi), %rax call *40(%rax) movq 32(%r12), %r15 movq 24(%r12), %rdx leaq 1(%r15), %r9 cmpq %r14, %rdx je .L99 movq 40(%r12), %rcx .L80: cmpq %r9, %rcx jnb .L81 movq -72(%rbp), %rdi xorl %edx, %edx movl $1, %r8d xorl %ecx, %ecx movq %r15, %rsi movq %r9, -64(%rbp) movb %al, -49(%rbp) call _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm movq 24(%r12), %rdx movzbl -49(%rbp), %eax movq -64(%rbp), %r9 movb %al, (%rdx,%r15) jmp .L128 .p2align 4,,10 .p2align 3 .L83: movzbl 18(%r12), %eax subl $16, %eax testb $-17, %al sete 8(%rbx) movzbl 1(%r12), %eax cmpb $1, %al je .L77 movzbl 2(%r12), %ecx movzbl 18(%r12), %edx movl %ecx, %esi andl $-9, %esi cmpb $1, %sil jne .L78 cmpb $8, %dl je .L74 .L79: cmpb $8, %dl jbe .L74 .L129: testb %al, %al je .L85 .p2align 4,,10 .p2align 3 .L74: xorl %eax, %eax .L66: addq $40, %rsp popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L77: .cfi_restore_state movq %r12, %rsi movq %rbx, %rdi call _ZN3tga7Decoder12readColormapERNS_6HeaderE movzbl 2(%r12), %ecx movzbl 1(%r12), %eax movzbl 18(%r12), %edx movl %ecx, %esi andl $-9, %esi cmpb $1, %sil je .L130 .L78: cmpb $3, %sil jne .L86 cmpb $8, %dl je .L129 .L86: testb %al, %al jne .L74 cmpb $8, %dl jbe .L74 cmpb $11, %cl ja .L74 .L85: movl $1, %eax salq %cl, %rax testl $2056, %eax jne .L87 testl $1028, %eax jne .L88 testl $514, %eax je .L74 .L87: cmpb $8, %dl sete %al addq $40, %rsp popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L99: .cfi_restore_state movl $15, %ecx jmp .L80 .p2align 4,,10 .p2align 3 .L88: leal -24(%rdx), %eax testb $-9, %al sete %al subl $15, %edx cmpb $1, %dl setbe %dl orl %edx, %eax jmp .L66 .p2align 4,,10 .p2align 3 .L130: cmpb $8, %dl jne .L79 cmpb $1, %al je .L85 jmp .L74 .cfi_endproc .LFE1387: .size _ZN3tga7Decoder10readHeaderERNS_6HeaderE, .-_ZN3tga7Decoder10readHeaderERNS_6HeaderE .align 2 .p2align 4 .globl _ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE .type _ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE, @function _ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE: .LFB1397: .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 $8, %rsp .cfi_offset 15, -24 .cfi_offset 14, -32 .cfi_offset 13, -40 .cfi_offset 12, -48 .cfi_offset 3, -56 1: call mcount movzbl 2(%rsi), %eax andl $-9, %eax movq %rdx, %r13 cmpb $2, %al jne .L131 movzbl 8(%rdi), %edi testb %dil, %dil je .L131 movzwl 16(%rsi), %ebx testl %ebx, %ebx je .L131 movzwl 14(%rsi), %esi movq (%rdx), %r12 movl %edi, %r14d xorl %r10d, %r10d movl 12(%rdx), %r8d xorl %r9d, %r9d movl %esi, %r11d .p2align 4,,10 .p2align 3 .L140: movl %r10d, %eax addq %r12, %rax testw %r11w, %r11w je .L133 xorl %edx, %edx .p2align 4,,10 .p2align 3 .L138: movl (%rax), %r15d testb %dil, %dil je .L134 movl %r15d, %edi shrl $24, %edi sete %dil .L134: testb %r14b, %r14b jne .L135 addl $1, %edx addq $4, %rax cmpl %esi, %edx je .L133 .L136: testb %dil, %dil je .L139 movl (%rax), %ecx shrl $24, %ecx sete %dil .L139: addl $1, %edx addq $4, %rax cmpl %esi, %edx jl .L136 .L133: addl $1, %r9d addl %r8d, %r10d cmpl %ebx, %r9d jne .L140 .L184: cmpb $1, %r14b je .L131 testb %dil, %dil je .L131 testw %r11w, %r11w je .L131 xorl %ecx, %ecx movl %esi, %r14d movl %esi, %edi movdqa .LC0(%rip), %xmm2 imull %ecx, %r8d andl $-4, %r14d shrl $2, %edi leal -1(%rsi), %r10d movl %r14d, %r9d movdqa .LC1(%rip), %xmm1 salq $4, %rdi andl $3, %r11d salq $2, %r9 addq %r12, %r8 cmpl $2, %r10d jbe .L149 .p2align 4,,10 .p2align 3 .L183: movq %r8, %rax leaq (%rdi,%r8), %rdx .p2align 4,,10 .p2align 3 .L144: movdqu (%rax), %xmm0 addq $16, %rax pand %xmm2, %xmm0 por %xmm1, %xmm0 movups %xmm0, -16(%rax) cmpq %rax, %rdx jne .L144 addq %r9, %r8 movl %r14d, %eax testw %r11w, %r11w je .L147 .L142: leal 1(%rax), %edx orl $-16777216, (%r8) cmpl %esi, %edx jge .L147 addl $2, %eax orl $-16777216, 4(%r8) cmpl %esi, %eax jge .L147 orl $-16777216, 8(%r8) .L147: addl $1, %ecx cmpl %ebx, %ecx je .L131 movl 12(%r13), %r8d imull %ecx, %r8d addq %r12, %r8 cmpl $2, %r10d ja .L183 .L149: xorl %eax, %eax jmp .L142 .p2align 4,,10 .p2align 3 .L131: addq $8, %rsp popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L135: .cfi_restore_state movl %r15d, %ecx movl %r15d, %r14d shrl $16, %r14d shrl $8, %ecx orl %r14d, %ecx orb %r15b, %cl sete %r14b addl $1, %edx addq $4, %rax cmpl %esi, %edx jne .L138 addl $1, %r9d addl %r8d, %r10d cmpl %ebx, %r9d jne .L140 jmp .L184 .cfi_endproc .LFE1397: .size _ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE, .-_ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE .align 2 .p2align 4 .globl _ZN3tga7Decoder5read8Ev .type _ZN3tga7Decoder5read8Ev, @function _ZN3tga7Decoder5read8Ev: .LFB1400: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount movq (%rdi), %rdi popq %rbp .cfi_def_cfa 7, 8 movq (%rdi), %rax movq 40(%rax), %rax jmp *%rax .cfi_endproc .LFE1400: .size _ZN3tga7Decoder5read8Ev, .-_ZN3tga7Decoder5read8Ev .align 2 .p2align 4 .globl _ZN3tga7Decoder6read16Ev .type _ZN3tga7Decoder6read16Ev, @function _ZN3tga7Decoder6read16Ev: .LFB1401: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %r13 pushq %r12 pushq %rbx subq $8, %rsp .cfi_offset 13, -24 .cfi_offset 12, -32 .cfi_offset 3, -40 1: call mcount movq %rdi, %rbx movq (%rdi), %rdi movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r13d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r12d movq (%rdi), %rax call *16(%rax) movl %eax, %edx xorl %eax, %eax testb %dl, %dl je .L186 sall $8, %r12d movzbl %r13b, %eax orl %r12d, %eax .L186: addq $8, %rsp popq %rbx popq %r12 popq %r13 popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE1401: .size _ZN3tga7Decoder6read16Ev, .-_ZN3tga7Decoder6read16Ev .align 2 .p2align 4 .globl _ZN3tga7Decoder6read32Ev .type _ZN3tga7Decoder6read32Ev, @function _ZN3tga7Decoder6read32Ev: .LFB1402: .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 $8, %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 %rdi, %rbx movq (%rdi), %rdi movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movzbl %al, %r14d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r15d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movzbl %al, %r13d movq (%rdi), %rax call *40(%rax) movq (%rbx), %rdi movl %eax, %r12d movq (%rdi), %rax call *16(%rax) movl %eax, %edx xorl %eax, %eax testb %dl, %dl je .L190 sall $24, %r12d sall $16, %r13d movzbl %r15b, %eax orl %r13d, %r12d sall $8, %eax orl %r14d, %r12d orl %r12d, %eax .L190: addq $8, %rsp popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE1402: .size _ZN3tga7Decoder6read32Ev, .-_ZN3tga7Decoder6read32Ev .section .text._ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE,"axG",@progbits,_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE,comdat .align 2 .p2align 4 .weak _ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE .type _ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE, @function _ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE: .LFB1625: .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 $40, %rsp .cfi_offset 15, -24 .cfi_offset 14, -32 .cfi_offset 13, -40 .cfi_offset 12, -48 .cfi_offset 3, -56 1: call mcount movl %esi, -76(%rbp) movq %rdi, %rbx movq %rdx, %r13 movq %rcx, -64(%rbp) testl %esi, %esi jle .L195 movq %rdx, %rax movl $0, -56(%rbp) andl $1, %eax movq %rax, -72(%rbp) .L196: movq (%rbx), %rdi movq (%rdi), %rax call *16(%rax) movb %al, -49(%rbp) testb %al, %al je .L195 movq (%rbx), %rdi movq (%rdi), %rax call *40(%rax) testb %al, %al js .L224 movzbl %al, %edx cmpq $0, -72(%rbp) leal 1(%rdx), %eax movl %eax, -80(%rbp) je .L202 movl %eax, %r15d movq -64(%rbp), %rax leaq 16(%rbx), %r12 leaq (%rbx,%rax), %r14 .p2align 4,,10 .p2align 3 .L203: movq (%r14), %rax movq %r14, %rdi subl $1, %r15d call *-1(%rax,%r13) movq 48(%rbx), %rdx movq %r12, %rdi movl %eax, (%rdx) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al jne .L194 testl %r15d, %r15d jne .L203 .L205: movl -80(%rbp), %esi addl %esi, -56(%rbp) .L201: movl -76(%rbp), %ecx cmpl %ecx, -56(%rbp) jl .L196 .L195: movb $0, -49(%rbp) .L194: movzbl -49(%rbp), %eax addq $40, %rsp popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L224: .cfi_restore_state andl $127, %eax cmpq $0, -72(%rbp) leal 1(%rax), %r12d movq -64(%rbp), %rax leaq (%rbx,%rax), %r14 movq %r13, %rax jne .L225 .L197: movq %r14, %rdi call *%rax movl %eax, %r14d movzbl %r12b, %eax leaq 16(%rbx), %r12 movl %eax, -80(%rbp) movl %eax, %r15d .p2align 4,,10 .p2align 3 .L200: movq 48(%rbx), %rax movq %r12, %rdi subl $1, %r15d movl %r14d, (%rax) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al jne .L194 testl %r15d, %r15d jne .L200 movl -80(%rbp), %ecx addl %ecx, -56(%rbp) jmp .L201 .p2align 4,,10 .p2align 3 .L202: movq -64(%rbp), %rax movl %edx, %r15d leaq 16(%rbx), %r12 leaq (%rbx,%rax), %r14 .p2align 4,,10 .p2align 3 .L204: movq %r14, %rdi subl $1, %r15d call *%r13 movq 48(%rbx), %rdx movq %r12, %rdi movl %eax, (%rdx) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al jne .L194 cmpl $-1, %r15d jne .L204 jmp .L205 .p2align 4,,10 .p2align 3 .L225: movq (%r14), %rax movq -1(%rax,%r13), %rax jmp .L197 .cfi_endproc .LFE1625: .size _ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE, .-_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE .section .rodata.str1.8,"aMS",@progbits,1 .align 8 .LC2: .string "bool tga::Decoder::readImage(const tga::Header&, tga::Image&, tga::Delegate*)" .section .rodata.str1.1,"aMS",@progbits,1 .LC3: .string "TEX/decoder.cpp" .LC4: .string "header.bitsPerPixel == 8" .LC5: .string "false" .text .align 2 .p2align 4 .globl _ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE .type _ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE, @function _ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE: .LFB1396: .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 $88, %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 %rdi, %rbx leaq -96(%rbp), %rdi movq %rsi, %r12 movq %rcx, %r15 call _ZN3tga7details13ImageIteratorC1ERKNS_6HeaderERNS_5ImageE movq -64(%rbp), %rax movdqa -96(%rbp), %xmm2 movdqa -80(%rbp), %xmm3 movq %rax, 48(%rbx) movzwl 16(%r12), %eax movups %xmm2, 16(%rbx) movups %xmm3, 32(%rbx) testw %ax, %ax je .L280 leaq 16(%rbx), %rsi xorl %r14d, %r14d movq %rsi, -104(%rbp) .p2align 4,,10 .p2align 3 .L227: cmpb $11, 2(%r12) ja .L228 movzbl 2(%r12), %edx jmp *.L230(,%rdx,8) .section .rodata .align 8 .align 4 .L230: .quad .L228 .quad .L235 .quad .L234 .quad .L233 .quad .L228 .quad .L228 .quad .L228 .quad .L228 .quad .L228 .quad .L232 .quad .L231 .quad .L229 .text .p2align 4,,10 .p2align 3 .L229: cmpb $8, 18(%r12) jne .L310 .L265: movzwl 14(%r12), %esi xorl %ecx, %ecx movl $_ZN3tga7Decoder10read8ColorEv, %edx movq %rbx, %rdi call _ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE.constprop.0 testb %al, %al jne .L280 .L308: movzwl 16(%r12), %eax .L228: testq %r15, %r15 je .L266 pxor %xmm0, %xmm0 pxor %xmm1, %xmm1 movq %r15, %rdi cvtsi2ssl %eax, %xmm1 movq (%r15), %rax cvtsi2ssl %r14d, %xmm0 divss %xmm1, %xmm0 cvtss2sd %xmm0, %xmm0 call *16(%rax) testb %al, %al je .L280 movzwl 16(%r12), %eax .L266: addl $1, %r14d movzwl %ax, %edx cmpl %r14d, %edx jg .L227 .L280: addq $88, %rsp movl $1, %eax popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L231: .cfi_restore_state movzbl 18(%r12), %eax cmpb $24, %al je .L260 ja .L261 subl $15, %eax cmpb $1, %al ja .L262 movzwl 14(%r12), %esi movl $_ZN3tga7Decoder11read16AsRgbEv, %edx .L309: xorl %ecx, %ecx movq %rbx, %rdi call _ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE testb %al, %al je .L308 jmp .L280 .p2align 4,,10 .p2align 3 .L232: cmpb $8, 18(%r12) je .L265 movl $.LC2, %ecx movl $174, %edx movl $.LC3, %esi movl $.LC4, %edi call __assert_fail .p2align 4,,10 .p2align 3 .L233: cmpb $8, 18(%r12) jne .L311 movzwl 14(%r12), %esi xorl %r13d, %r13d movl %esi, -112(%rbp) testl %esi, %esi jne .L256 jmp .L228 .p2align 4,,10 .p2align 3 .L306: addl $1, %r13d cmpl %r13d, -112(%rbp) je .L308 .L256: movq (%rbx), %rdi movq (%rdi), %rax call *16(%rax) testb %al, %al je .L308 movq %rbx, %rdi call _ZN3tga7Decoder10read8ColorEv movq 48(%rbx), %rdx movq -104(%rbp), %rdi movb %al, (%rdx) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al je .L306 jmp .L280 .p2align 4,,10 .p2align 3 .L234: movzbl 18(%r12), %edx cmpb $24, %dl je .L241 ja .L242 subl $15, %edx cmpb $1, %dl ja .L243 movzwl 14(%r12), %ecx leaq 16(%rbx), %rsi xorl %r13d, %r13d movq %rsi, -112(%rbp) movl %ecx, -116(%rbp) testl %ecx, %ecx jne .L246 jmp .L228 .p2align 4,,10 .p2align 3 .L303: addl $1, %r13d cmpl %r13d, -116(%rbp) je .L308 .L246: movq (%rbx), %rdi movq (%rdi), %rax call *16(%rax) testb %al, %al je .L308 movq %rbx, %rdi call _ZN3tga7Decoder11read16AsRgbEv movq 48(%rbx), %rdx movq -112(%rbp), %rdi movl %eax, (%rdx) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al je .L303 jmp .L280 .p2align 4,,10 .p2align 3 .L235: cmpb $8, 18(%r12) jne .L312 movzwl 14(%r12), %ecx xorl %r13d, %r13d movl %ecx, -112(%rbp) testl %ecx, %ecx jne .L237 jmp .L228 .p2align 4,,10 .p2align 3 .L301: addl $1, %r13d cmpl %r13d, -112(%rbp) je .L308 .L237: movq (%rbx), %rdi movq (%rdi), %rax call *16(%rax) testb %al, %al je .L308 movq %rbx, %rdi call _ZN3tga7Decoder10read8ColorEv movq 48(%rbx), %rdx movq -104(%rbp), %rdi movb %al, (%rdx) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al je .L301 jmp .L280 .p2align 4,,10 .p2align 3 .L261: cmpb $32, %al jne .L262 movzwl 14(%r12), %esi movl $_ZN3tga7Decoder11read32AsRgbEv, %edx jmp .L309 .p2align 4,,10 .p2align 3 .L242: cmpb $32, %dl jne .L243 movzwl 14(%r12), %ecx leaq 16(%rbx), %rsi xorl %r13d, %r13d movq %rsi, -112(%rbp) movl %ecx, -116(%rbp) testl %ecx, %ecx jne .L252 jmp .L228 .p2align 4,,10 .p2align 3 .L305: addl $1, %r13d cmpl %r13d, -116(%rbp) je .L308 .L252: movq (%rbx), %rdi movq (%rdi), %rax call *16(%rax) testb %al, %al je .L308 movq %rbx, %rdi call _ZN3tga7Decoder11read32AsRgbEv movq 48(%rbx), %rdx movq -112(%rbp), %rdi movl %eax, (%rdx) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al je .L305 jmp .L280 .p2align 4,,10 .p2align 3 .L260: movzwl 14(%r12), %esi movl $_ZN3tga7Decoder11read24AsRgbEv, %edx jmp .L309 .p2align 4,,10 .p2align 3 .L241: movzwl 14(%r12), %ecx leaq 16(%rbx), %rsi xorl %r13d, %r13d movq %rsi, -112(%rbp) movl %ecx, -116(%rbp) testl %ecx, %ecx jne .L249 jmp .L228 .p2align 4,,10 .p2align 3 .L304: addl $1, %r13d cmpl %r13d, -116(%rbp) je .L308 .L249: movq (%rbx), %rdi movq (%rdi), %rax call *16(%rax) testb %al, %al je .L308 movq %rbx, %rdi call _ZN3tga7Decoder11read24AsRgbEv movq 48(%rbx), %rdx movq -112(%rbp), %rdi movl %eax, (%rdx) call _ZN3tga7details13ImageIterator7advanceEv testb %al, %al je .L304 jmp .L280 .L262: movl $.LC2, %ecx movl $195, %edx movl $.LC3, %esi movl $.LC5, %edi call __assert_fail .L243: movl $.LC2, %ecx movl $162, %edx movl $.LC3, %esi movl $.LC5, %edi call __assert_fail .L312: movl $.LC2, %ecx movl $141, %edx movl $.LC3, %esi movl $.LC4, %edi call __assert_fail .L311: movl $.LC2, %ecx movl $168, %edx movl $.LC3, %esi movl $.LC4, %edi call __assert_fail .L310: movl $.LC2, %ecx movl $201, %edx movl $.LC3, %esi movl $.LC4, %edi call __assert_fail .cfi_endproc .LFE1396: .size _ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE, .-_ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE .section .rodata.cst16,"aM",@progbits,16 .align 16 .LC0: .long 16777215 .long 16777215 .long 16777215 .long 16777215 .align 16 .LC1: .long -16777216 .long -16777216 .long -16777216 .long -16777216 .ident "GCC: (GNU) 12.2.1 20220819 (Red Hat 12.2.1-2)" .section .note.GNU-stack,"",@progbits