Created
November 8, 2017 09:21
-
-
Save gmbeard/48ce5280ecb63f8e475722228ee2e296 to your computer and use it in GitHub Desktop.
This file contains 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
.text | |
.def _ZN50_$LT$asm_bug..Rot13$u20$as$u20$asm_bug..Crypto$GT$7encrypt17hbaabafb2f8efe03fE; | |
.scl 2; | |
.type 32; | |
.endef | |
.globl __xmm@bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbf | |
.section .rdata,"dr",discard,__xmm@bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbf | |
.p2align 4 | |
__xmm@bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbf: | |
.zero 16,191 | |
.globl __xmm@19191919191919191919191919191919 | |
.section .rdata,"dr",discard,__xmm@19191919191919191919191919191919 | |
.p2align 4 | |
__xmm@19191919191919191919191919191919: | |
.zero 16,25 | |
.globl __xmm@1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a | |
.section .rdata,"dr",discard,__xmm@1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a | |
.p2align 4 | |
__xmm@1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a: | |
.zero 16,26 | |
.globl __xmm@9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f | |
.section .rdata,"dr",discard,__xmm@9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f | |
.p2align 4 | |
__xmm@9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f: | |
.zero 16,159 | |
.globl __xmm@acacacacacacacacacacacacacacacac | |
.section .rdata,"dr",discard,__xmm@acacacacacacacacacacacacacacacac | |
.p2align 4 | |
__xmm@acacacacacacacacacacacacacacacac: | |
.zero 16,172 | |
.globl __xmm@004f004f004f004f004f004f004f004f | |
.section .rdata,"dr",discard,__xmm@004f004f004f004f004f004f004f004f | |
.p2align 4 | |
__xmm@004f004f004f004f004f004f004f004f: | |
.byte 79 | |
.byte 0 | |
.byte 79 | |
.byte 0 | |
.byte 79 | |
.byte 0 | |
.byte 79 | |
.byte 0 | |
.byte 79 | |
.byte 0 | |
.byte 79 | |
.byte 0 | |
.byte 79 | |
.byte 0 | |
.byte 79 | |
.byte 0 | |
.globl __xmm@1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f | |
.section .rdata,"dr",discard,__xmm@1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f | |
.p2align 4 | |
__xmm@1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f: | |
.zero 16,31 | |
.globl __xmm@00ff00ff00ff00ff00ff00ff00ff00ff | |
.section .rdata,"dr",discard,__xmm@00ff00ff00ff00ff00ff00ff00ff00ff | |
.p2align 4 | |
__xmm@00ff00ff00ff00ff00ff00ff00ff00ff: | |
.short 255 | |
.short 255 | |
.short 255 | |
.short 255 | |
.short 255 | |
.short 255 | |
.short 255 | |
.short 255 | |
.globl __xmm@61616161616161616161616161616161 | |
.section .rdata,"dr",discard,__xmm@61616161616161616161616161616161 | |
.p2align 4 | |
__xmm@61616161616161616161616161616161: | |
.zero 16,97 | |
.globl __xmm@cccccccccccccccccccccccccccccccc | |
.section .rdata,"dr",discard,__xmm@cccccccccccccccccccccccccccccccc | |
.p2align 4 | |
__xmm@cccccccccccccccccccccccccccccccc: | |
.zero 16,204 | |
.globl __xmm@41414141414141414141414141414141 | |
.section .rdata,"dr",discard,__xmm@41414141414141414141414141414141 | |
.p2align 4 | |
__xmm@41414141414141414141414141414141: | |
.zero 16,65 | |
.globl __xmm@80808080808080808080808080808080 | |
.section .rdata,"dr",discard,__xmm@80808080808080808080808080808080 | |
.p2align 4 | |
__xmm@80808080808080808080808080808080: | |
.zero 16,128 | |
.globl __xmm@99999999999999999999999999999999 | |
.section .rdata,"dr",discard,__xmm@99999999999999999999999999999999 | |
.p2align 4 | |
__xmm@99999999999999999999999999999999: | |
.zero 16,153 | |
.globl __xmm@00000000000000000000000000000000 | |
.section .rdata,"dr",discard,__xmm@00000000000000000000000000000000 | |
.p2align 4 | |
__xmm@00000000000000000000000000000000: | |
.zero 16 | |
.section .text,"xr",one_only,_ZN50_$LT$asm_bug..Rot13$u20$as$u20$asm_bug..Crypto$GT$7encrypt17hbaabafb2f8efe03fE | |
.globl _ZN50_$LT$asm_bug..Rot13$u20$as$u20$asm_bug..Crypto$GT$7encrypt17hbaabafb2f8efe03fE | |
.p2align 4, 0x90 | |
_ZN50_$LT$asm_bug..Rot13$u20$as$u20$asm_bug..Crypto$GT$7encrypt17hbaabafb2f8efe03fE: | |
.Lcfi0: | |
.seh_proc _ZN50_$LT$asm_bug..Rot13$u20$as$u20$asm_bug..Crypto$GT$7encrypt17hbaabafb2f8efe03fE | |
subq $168, %rsp | |
.Lcfi1: | |
.seh_stackalloc 168 | |
movdqa %xmm15, 144(%rsp) | |
.Lcfi2: | |
.seh_savexmm 15, 144 | |
movdqa %xmm14, 128(%rsp) | |
.Lcfi3: | |
.seh_savexmm 14, 128 | |
movdqa %xmm13, 112(%rsp) | |
.Lcfi4: | |
.seh_savexmm 13, 112 | |
movdqa %xmm12, 96(%rsp) | |
.Lcfi5: | |
.seh_savexmm 12, 96 | |
movdqa %xmm11, 80(%rsp) | |
.Lcfi6: | |
.seh_savexmm 11, 80 | |
movdqa %xmm10, 64(%rsp) | |
.Lcfi7: | |
.seh_savexmm 10, 64 | |
movdqa %xmm9, 48(%rsp) | |
.Lcfi8: | |
.seh_savexmm 9, 48 | |
movdqa %xmm8, 32(%rsp) | |
.Lcfi9: | |
.seh_savexmm 8, 32 | |
movdqa %xmm7, 16(%rsp) | |
.Lcfi10: | |
.seh_savexmm 7, 16 | |
movdqa %xmm6, (%rsp) | |
.Lcfi11: | |
.seh_savexmm 6, 0 | |
.Lcfi12: | |
.seh_endprologue | |
movq 16(%rcx), %r9 | |
testq %r9, %r9 | |
je .LBB0_9 | |
movq (%rcx), %r10 | |
cmpq $15, %r9 | |
movq %r10, %r11 | |
jbe .LBB0_2 | |
movq %r9, %rax | |
andq $-16, %rax | |
movq %r9, %r8 | |
andq $-16, %r8 | |
movq %r10, %r11 | |
je .LBB0_2 | |
movq %rax, %r11 | |
addq %r10, %r11 | |
movdqa __xmm@1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a(%rip), %xmm13 | |
movdqa __xmm@acacacacacacacacacacacacacacacac(%rip), %xmm12 | |
movdqa __xmm@004f004f004f004f004f004f004f004f(%rip), %xmm6 | |
movdqa __xmm@1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f(%rip), %xmm7 | |
movdqa %xmm13, %xmm3 | |
psraw $8, %xmm3 | |
movdqa __xmm@00ff00ff00ff00ff00ff00ff00ff00ff(%rip), %xmm1 | |
movdqa __xmm@61616161616161616161616161616161(%rip), %xmm14 | |
movdqa __xmm@cccccccccccccccccccccccccccccccc(%rip), %xmm15 | |
movdqa __xmm@41414141414141414141414141414141(%rip), %xmm10 | |
movdqa __xmm@80808080808080808080808080808080(%rip), %xmm11 | |
movdqa __xmm@99999999999999999999999999999999(%rip), %xmm2 | |
movq %r8, %rax | |
movq %r10, %rcx | |
.p2align 4, 0x90 | |
.LBB0_7: | |
movdqu (%rcx), %xmm9 | |
movdqa %xmm9, %xmm4 | |
paddb %xmm12, %xmm4 | |
movdqa %xmm4, %xmm0 | |
punpckhbw %xmm0, %xmm0 | |
psrlw $8, %xmm0 | |
pmullw %xmm6, %xmm0 | |
psrlw $8, %xmm0 | |
movdqa %xmm4, %xmm5 | |
punpcklbw %xmm5, %xmm5 | |
psrlw $8, %xmm5 | |
pmullw %xmm6, %xmm5 | |
psrlw $8, %xmm5 | |
packuswb %xmm0, %xmm5 | |
psrlw $3, %xmm5 | |
pand %xmm7, %xmm5 | |
movdqa %xmm5, %xmm0 | |
punpckhbw %xmm0, %xmm0 | |
psraw $8, %xmm0 | |
pmullw %xmm3, %xmm0 | |
pand %xmm1, %xmm0 | |
punpcklbw %xmm5, %xmm5 | |
psraw $8, %xmm5 | |
pmullw %xmm3, %xmm5 | |
pand %xmm1, %xmm5 | |
packuswb %xmm0, %xmm5 | |
psubb %xmm5, %xmm4 | |
movdqa %xmm9, %xmm8 | |
paddb %xmm15, %xmm8 | |
movdqa %xmm8, %xmm0 | |
punpckhbw %xmm0, %xmm0 | |
psrlw $8, %xmm0 | |
pmullw %xmm6, %xmm0 | |
psrlw $8, %xmm0 | |
movdqa %xmm8, %xmm5 | |
punpcklbw %xmm5, %xmm5 | |
psrlw $8, %xmm5 | |
pmullw %xmm6, %xmm5 | |
psrlw $8, %xmm5 | |
packuswb %xmm0, %xmm5 | |
psrlw $3, %xmm5 | |
pand %xmm7, %xmm5 | |
movdqa %xmm5, %xmm0 | |
punpckhbw %xmm0, %xmm0 | |
psraw $8, %xmm0 | |
pmullw %xmm3, %xmm0 | |
pand %xmm1, %xmm0 | |
punpcklbw %xmm5, %xmm5 | |
psraw $8, %xmm5 | |
pmullw %xmm3, %xmm5 | |
pand %xmm1, %xmm5 | |
packuswb %xmm0, %xmm5 | |
movdqa %xmm9, %xmm0 | |
paddb __xmm@bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbf(%rip), %xmm0 | |
psubb %xmm5, %xmm8 | |
movdqa %xmm0, %xmm5 | |
pmaxub %xmm13, %xmm5 | |
pcmpeqb %xmm0, %xmm5 | |
psubusb __xmm@19191919191919191919191919191919(%rip), %xmm0 | |
pcmpeqb __xmm@00000000000000000000000000000000(%rip), %xmm0 | |
paddb %xmm14, %xmm4 | |
paddb %xmm10, %xmm8 | |
pand %xmm0, %xmm8 | |
pandn %xmm4, %xmm0 | |
por %xmm8, %xmm0 | |
movdqa %xmm9, %xmm4 | |
paddb __xmm@9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f(%rip), %xmm4 | |
pxor %xmm11, %xmm4 | |
pcmpgtb %xmm2, %xmm4 | |
pand %xmm5, %xmm4 | |
pand %xmm4, %xmm9 | |
pandn %xmm0, %xmm4 | |
por %xmm9, %xmm4 | |
movdqu %xmm4, (%rcx) | |
addq $16, %rcx | |
addq $-16, %rax | |
jne .LBB0_7 | |
cmpq %r8, %r9 | |
je .LBB0_9 | |
.LBB0_2: | |
addq %r9, %r10 | |
movb $26, %r8b | |
.p2align 4, 0x90 | |
.LBB0_3: | |
movq %r11, %rdx | |
leaq 1(%rdx), %r11 | |
movb (%rdx), %cl | |
movl %ecx, %eax | |
addb $-65, %al | |
cmpb $25, %al | |
ja .LBB0_11 | |
addb $-52, %cl | |
movzbl %cl, %ecx | |
imull $79, %ecx, %eax | |
andl $30720, %eax | |
shrl $11, %eax | |
mulb %r8b | |
subb %al, %cl | |
addb $65, %cl | |
jmp .LBB0_12 | |
.p2align 4, 0x90 | |
.LBB0_11: | |
movl %ecx, %eax | |
addb $-97, %al | |
cmpb $26, %al | |
jae .LBB0_12 | |
addb $-84, %cl | |
movzbl %cl, %ecx | |
imull $79, %ecx, %eax | |
andl $30720, %eax | |
shrl $11, %eax | |
mulb %r8b | |
subb %al, %cl | |
addb $97, %cl | |
.LBB0_12: | |
movb %cl, (%rdx) | |
cmpq %r11, %r10 | |
jne .LBB0_3 | |
.LBB0_9: | |
xorl %eax, %eax | |
movaps (%rsp), %xmm6 | |
movaps 16(%rsp), %xmm7 | |
movaps 32(%rsp), %xmm8 | |
movaps 48(%rsp), %xmm9 | |
movaps 64(%rsp), %xmm10 | |
movaps 80(%rsp), %xmm11 | |
movaps 96(%rsp), %xmm12 | |
movaps 112(%rsp), %xmm13 | |
movaps 128(%rsp), %xmm14 | |
movaps 144(%rsp), %xmm15 | |
addq $168, %rsp | |
retq | |
.seh_handlerdata | |
.section .text,"xr",one_only,_ZN50_$LT$asm_bug..Rot13$u20$as$u20$asm_bug..Crypto$GT$7encrypt17hbaabafb2f8efe03fE | |
.Lcfi13: | |
.seh_endproc | |
.def _ZN58_$LT$asm_bug..Rot13$u20$as$u20$core..ops..deref..Deref$GT$5deref17h1695a17e29e80338E; | |
.scl 2; | |
.type 32; | |
.endef | |
.section .text,"xr",one_only,_ZN58_$LT$asm_bug..Rot13$u20$as$u20$core..ops..deref..Deref$GT$5deref17h1695a17e29e80338E | |
.globl _ZN58_$LT$asm_bug..Rot13$u20$as$u20$core..ops..deref..Deref$GT$5deref17h1695a17e29e80338E | |
.p2align 4, 0x90 | |
_ZN58_$LT$asm_bug..Rot13$u20$as$u20$core..ops..deref..Deref$GT$5deref17h1695a17e29e80338E: | |
movq (%rcx), %rax | |
movq 16(%rcx), %rdx | |
retq | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment