Created
December 7, 2016 03:07
-
-
Save willkill07/84306c25d3b89502de631ab6e101c9d2 to your computer and use it in GitHub Desktop.
Day 6 x86-64 Assembly generated
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| .file "Day06.c" | |
| .text | |
| .p2align 4,,15 | |
| .globl file_size | |
| .type file_size, @function | |
| file_size: | |
| .LFB4874: | |
| .cfi_startproc | |
| subq $152, %rsp | |
| .cfi_def_cfa_offset 160 | |
| movl %edi, %esi | |
| movl $1, %edi | |
| movq %rsp, %rdx | |
| call __fxstat | |
| movl 48(%rsp), %eax | |
| addq $152, %rsp | |
| .cfi_def_cfa_offset 8 | |
| ret | |
| .cfi_endproc | |
| .LFE4874: | |
| .size file_size, .-file_size | |
| .section .rodata.str1.1,"aMS",@progbits,1 | |
| .LC2: | |
| .string "Part %d: %.8s\n" | |
| .section .text.startup,"ax",@progbits | |
| .p2align 4,,15 | |
| .globl main | |
| .type main, @function | |
| main: | |
| .LFB4875: | |
| .cfi_startproc | |
| leaq 8(%rsp), %r10 | |
| .cfi_def_cfa 10, 0 | |
| andq $-32, %rsp | |
| xorl %eax, %eax | |
| pushq -8(%r10) | |
| pushq %rbp | |
| .cfi_escape 0x10,0x6,0x2,0x76,0 | |
| movq %rsp, %rbp | |
| pushq %r12 | |
| pushq %r10 | |
| .cfi_escape 0xf,0x3,0x76,0x70,0x6 | |
| .cfi_escape 0x10,0xc,0x2,0x76,0x78 | |
| pushq %rbx | |
| subq $280, %rsp | |
| .cfi_escape 0x10,0x3,0x2,0x76,0x68 | |
| movq 8(%rsi), %rdi | |
| xorl %esi, %esi | |
| call open | |
| leaq -208(%rbp), %rdx | |
| movl $1, %edi | |
| movl %eax, %esi | |
| movl %eax, %r12d | |
| call __fxstat | |
| xorl %r9d, %r9d | |
| xorl %edi, %edi | |
| movl %r12d, %r8d | |
| movq -160(%rbp), %rbx | |
| movl $2, %ecx | |
| movl $1, %edx | |
| movslq %ebx, %rsi | |
| call mmap | |
| testl %ebx, %ebx | |
| je .L14 | |
| imull $954437177, %ebx, %ebx | |
| vpxor %xmm1, %xmm1, %xmm1 | |
| vmovdqa .LC0(%rip), %ymm3 | |
| vmovdqa .LC1(%rip), %ymm2 | |
| leal -1(%rbx), %edx | |
| leaq 9(%rdx,%rdx,8), %rdx | |
| addq %rax, %rdx | |
| .p2align 4,,10 | |
| .p2align 3 | |
| .L5: | |
| vpmovsxbd (%rax), %ymm0 | |
| addq $9, %rax | |
| vpsubd %ymm3, %ymm0, %ymm0 | |
| vpsllvd %ymm0, %ymm2, %ymm0 | |
| vpaddd %ymm0, %ymm1, %ymm1 | |
| cmpq %rdx, %rax | |
| jne .L5 | |
| .L4: | |
| vmovd %xmm1, %edx | |
| movb $0, -296(%rbp) | |
| addl $33554431, %edx | |
| movb $0, -287(%rbp) | |
| movslq %edx, %rax | |
| imulq $-2147483615, %rax, %rax | |
| shrq $32, %rax | |
| addl %edx, %eax | |
| sarl $31, %edx | |
| sarl $25, %eax | |
| subl %edx, %eax | |
| movl %eax, %edx | |
| sall $26, %edx | |
| subl %eax, %edx | |
| vmovd %edx, %xmm0 | |
| movabsq $6872316419617283935, %rdx | |
| vpbroadcastd %xmm0, %ymm0 | |
| movq %rdx, -304(%rbp) | |
| vpsubd %ymm0, %ymm1, %ymm1 | |
| movq %rdx, -295(%rbp) | |
| vpsrld $31, %ymm1, %ymm0 | |
| vpabsd %ymm1, %ymm1 | |
| vpsubd %ymm0, %ymm2, %ymm2 | |
| vmovd %xmm1, %eax | |
| vmovdqa %ymm0, -240(%rbp) | |
| vmovdqa %ymm2, -208(%rbp) | |
| vmovdqa %ymm1, -272(%rbp) | |
| testl %eax, %eax | |
| je .L6 | |
| xorl %edx, %edx | |
| movl $-128, %ecx | |
| lzcntl %eax, %edx | |
| leal -1(%rdx), %esi | |
| movslq -240(%rbp), %rdx | |
| movl %ecx, %edi | |
| subl %esi, %edi | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %dil, -304(%rbp,%rdx) | |
| movl $-2147483648, %edx | |
| shrx %esi, %edx, %edx | |
| subl %eax, %edx | |
| movl %edx, %eax | |
| lzcntl %edx, %eax | |
| movslq -208(%rbp), %rdx | |
| subl %eax, %ecx | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %cl, -304(%rbp,%rdx) | |
| .L6: | |
| movl -268(%rbp), %edx | |
| testl %edx, %edx | |
| je .L7 | |
| xorl %eax, %eax | |
| movl $-128, %ecx | |
| lzcntl %edx, %eax | |
| leal -1(%rax), %esi | |
| movslq -236(%rbp), %rax | |
| movl %ecx, %edi | |
| subl %esi, %edi | |
| leaq (%rax,%rax,8), %rax | |
| movb %dil, -303(%rbp,%rax) | |
| movl $-2147483648, %eax | |
| shrx %esi, %eax, %eax | |
| subl %edx, %eax | |
| movslq -204(%rbp), %rdx | |
| lzcntl %eax, %eax | |
| subl %eax, %ecx | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %cl, -303(%rbp,%rdx) | |
| .L7: | |
| movl -264(%rbp), %edx | |
| testl %edx, %edx | |
| je .L8 | |
| xorl %eax, %eax | |
| movl $-128, %ecx | |
| lzcntl %edx, %eax | |
| leal -1(%rax), %esi | |
| movslq -232(%rbp), %rax | |
| movl %ecx, %edi | |
| subl %esi, %edi | |
| leaq (%rax,%rax,8), %rax | |
| movb %dil, -302(%rbp,%rax) | |
| movl $-2147483648, %eax | |
| shrx %esi, %eax, %eax | |
| subl %edx, %eax | |
| movslq -200(%rbp), %rdx | |
| lzcntl %eax, %eax | |
| subl %eax, %ecx | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %cl, -302(%rbp,%rdx) | |
| .L8: | |
| movl -260(%rbp), %edx | |
| testl %edx, %edx | |
| je .L9 | |
| xorl %eax, %eax | |
| movl $-128, %ecx | |
| lzcntl %edx, %eax | |
| leal -1(%rax), %esi | |
| movslq -228(%rbp), %rax | |
| movl %ecx, %edi | |
| subl %esi, %edi | |
| leaq (%rax,%rax,8), %rax | |
| movb %dil, -301(%rbp,%rax) | |
| movl $-2147483648, %eax | |
| shrx %esi, %eax, %eax | |
| subl %edx, %eax | |
| movslq -196(%rbp), %rdx | |
| lzcntl %eax, %eax | |
| subl %eax, %ecx | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %cl, -301(%rbp,%rdx) | |
| .L9: | |
| movl -256(%rbp), %edx | |
| testl %edx, %edx | |
| je .L10 | |
| xorl %eax, %eax | |
| movl $-128, %ecx | |
| lzcntl %edx, %eax | |
| leal -1(%rax), %esi | |
| movslq -224(%rbp), %rax | |
| movl %ecx, %edi | |
| subl %esi, %edi | |
| leaq (%rax,%rax,8), %rax | |
| movb %dil, -300(%rbp,%rax) | |
| movl $-2147483648, %eax | |
| shrx %esi, %eax, %eax | |
| subl %edx, %eax | |
| movslq -192(%rbp), %rdx | |
| lzcntl %eax, %eax | |
| subl %eax, %ecx | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %cl, -300(%rbp,%rdx) | |
| .L10: | |
| movl -252(%rbp), %edx | |
| testl %edx, %edx | |
| je .L11 | |
| xorl %eax, %eax | |
| movl $-128, %ecx | |
| lzcntl %edx, %eax | |
| leal -1(%rax), %esi | |
| movslq -220(%rbp), %rax | |
| movl %ecx, %edi | |
| subl %esi, %edi | |
| leaq (%rax,%rax,8), %rax | |
| movb %dil, -299(%rbp,%rax) | |
| movl $-2147483648, %eax | |
| shrx %esi, %eax, %eax | |
| subl %edx, %eax | |
| movslq -188(%rbp), %rdx | |
| lzcntl %eax, %eax | |
| subl %eax, %ecx | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %cl, -299(%rbp,%rdx) | |
| .L11: | |
| movl -248(%rbp), %edx | |
| testl %edx, %edx | |
| je .L12 | |
| xorl %eax, %eax | |
| movl $-128, %ecx | |
| lzcntl %edx, %eax | |
| leal -1(%rax), %esi | |
| movslq -216(%rbp), %rax | |
| movl %ecx, %edi | |
| subl %esi, %edi | |
| leaq (%rax,%rax,8), %rax | |
| movb %dil, -298(%rbp,%rax) | |
| movl $-2147483648, %eax | |
| shrx %esi, %eax, %eax | |
| subl %edx, %eax | |
| movslq -184(%rbp), %rdx | |
| lzcntl %eax, %eax | |
| subl %eax, %ecx | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %cl, -298(%rbp,%rdx) | |
| .L12: | |
| movl -244(%rbp), %edx | |
| testl %edx, %edx | |
| je .L13 | |
| xorl %eax, %eax | |
| movl $-128, %ecx | |
| lzcntl %edx, %eax | |
| leal -1(%rax), %esi | |
| movslq -212(%rbp), %rax | |
| movl %ecx, %edi | |
| subl %esi, %edi | |
| leaq (%rax,%rax,8), %rax | |
| movb %dil, -297(%rbp,%rax) | |
| movl $-2147483648, %eax | |
| shrx %esi, %eax, %eax | |
| subl %edx, %eax | |
| movslq -180(%rbp), %rdx | |
| lzcntl %eax, %eax | |
| subl %eax, %ecx | |
| leaq (%rdx,%rdx,8), %rdx | |
| movb %cl, -297(%rbp,%rdx) | |
| .L13: | |
| leaq -304(%rbp), %rdx | |
| movl $1, %esi | |
| movl $.LC2, %edi | |
| xorl %eax, %eax | |
| vzeroupper | |
| call printf | |
| leaq -304(%rbp), %rax | |
| movl $2, %esi | |
| leaq 9(%rax), %rdx | |
| movl $.LC2, %edi | |
| xorl %eax, %eax | |
| call printf | |
| addq $280, %rsp | |
| xorl %eax, %eax | |
| popq %rbx | |
| popq %r10 | |
| .cfi_remember_state | |
| .cfi_def_cfa 10, 0 | |
| popq %r12 | |
| popq %rbp | |
| leaq -8(%r10), %rsp | |
| .cfi_def_cfa 7, 8 | |
| ret | |
| .L14: | |
| .cfi_restore_state | |
| vmovdqa .LC1(%rip), %ymm2 | |
| vpxor %xmm1, %xmm1, %xmm1 | |
| jmp .L4 | |
| .cfi_endproc | |
| .LFE4875: | |
| .size main, .-main | |
| .section .rodata.cst32,"aM",@progbits,32 | |
| .align 32 | |
| .LC0: | |
| .long 97 | |
| .long 97 | |
| .long 97 | |
| .long 97 | |
| .long 97 | |
| .long 97 | |
| .long 97 | |
| .long 97 | |
| .align 32 | |
| .LC1: | |
| .long 1 | |
| .long 1 | |
| .long 1 | |
| .long 1 | |
| .long 1 | |
| .long 1 | |
| .long 1 | |
| .long 1 | |
| .ident "GCC: (GNU) 6.2.1 20160830" | |
| .section .note.GNU-stack,"",@progbits |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment