.file "sha512-586.s" .text .globl _sha256_block_data_order .align 4 _sha256_block_data_order: L_sha256_block_data_order_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%esi movl 24(%esp),%edi movl 28(%esp),%eax movl %esp,%ebx call L000pic_point L000pic_point: popl %ebp leal L001K256-L000pic_point(%ebp),%ebp subl $16,%esp andl $-64,%esp shll $6,%eax addl %edi,%eax movl %esi,(%esp) movl %edi,4(%esp) movl %eax,8(%esp) movl %ebx,12(%esp) .align 4,0x90 L002loop: movl (%edi),%eax movl 4(%edi),%ebx movl 8(%edi),%ecx movl 12(%edi),%edx bswap %eax bswap %ebx bswap %ecx bswap %edx pushl %eax pushl %ebx pushl %ecx pushl %edx movl 16(%edi),%eax movl 20(%edi),%ebx movl 24(%edi),%ecx movl 28(%edi),%edx bswap %eax bswap %ebx bswap %ecx bswap %edx pushl %eax pushl %ebx pushl %ecx pushl %edx movl 32(%edi),%eax movl 36(%edi),%ebx movl 40(%edi),%ecx movl 44(%edi),%edx bswap %eax bswap %ebx bswap %ecx bswap %edx pushl %eax pushl %ebx pushl %ecx pushl %edx movl 48(%edi),%eax movl 52(%edi),%ebx movl 56(%edi),%ecx movl 60(%edi),%edx bswap %eax bswap %ebx bswap %ecx bswap %edx pushl %eax pushl %ebx pushl %ecx pushl %edx addl $64,%edi subl $32,%esp movl %edi,100(%esp) movl (%esi),%eax movl 4(%esi),%ebx movl 8(%esi),%ecx movl 12(%esi),%edi movl %ebx,4(%esp) movl %ecx,8(%esp) movl %edi,12(%esp) movl 16(%esi),%edx movl 20(%esi),%ebx movl 24(%esi),%ecx movl 28(%esi),%edi movl %ebx,20(%esp) movl %ecx,24(%esp) movl %edi,28(%esp) .align 4,0x90 L00300_15: movl 92(%esp),%ebx movl %edx,%ecx rorl $6,%ecx movl %edx,%edi rorl $11,%edi movl 20(%esp),%esi xorl %edi,%ecx rorl $14,%edi xorl %edi,%ecx movl 24(%esp),%edi addl %ecx,%ebx movl %edx,16(%esp) xorl %edi,%esi movl %eax,%ecx andl %edx,%esi movl 12(%esp),%edx xorl %edi,%esi movl %eax,%edi addl %esi,%ebx rorl $2,%ecx addl 28(%esp),%ebx rorl $13,%edi movl 4(%esp),%esi xorl %edi,%ecx rorl $9,%edi addl %ebx,%edx xorl %edi,%ecx movl 8(%esp),%edi addl %ecx,%ebx movl %eax,(%esp) movl %eax,%ecx subl $4,%esp orl %esi,%eax andl %esi,%ecx andl %edi,%eax movl (%ebp),%esi orl %ecx,%eax addl $4,%ebp addl %ebx,%eax addl %esi,%edx addl %esi,%eax cmpl $3248222580,%esi jne L00300_15 movl 152(%esp),%ebx .align 4,0x90 L00416_63: movl %ebx,%esi movl 100(%esp),%ecx shrl $3,%ebx rorl $7,%esi xorl %esi,%ebx rorl $11,%esi movl %ecx,%edi xorl %esi,%ebx shrl $10,%ecx movl 156(%esp),%esi rorl $17,%edi xorl %edi,%ecx rorl $2,%edi addl %esi,%ebx xorl %ecx,%edi addl %edi,%ebx movl %edx,%ecx addl 120(%esp),%ebx rorl $6,%ecx movl %edx,%edi rorl $11,%edi movl 20(%esp),%esi xorl %edi,%ecx rorl $14,%edi movl %ebx,92(%esp) xorl %edi,%ecx movl 24(%esp),%edi addl %ecx,%ebx movl %edx,16(%esp) xorl %edi,%esi movl %eax,%ecx andl %edx,%esi movl 12(%esp),%edx xorl %edi,%esi movl %eax,%edi addl %esi,%ebx rorl $2,%ecx addl 28(%esp),%ebx rorl $13,%edi movl 4(%esp),%esi xorl %edi,%ecx rorl $9,%edi addl %ebx,%edx xorl %edi,%ecx movl 8(%esp),%edi addl %ecx,%ebx movl %eax,(%esp) movl %eax,%ecx subl $4,%esp orl %esi,%eax andl %esi,%ecx andl %edi,%eax movl (%ebp),%esi orl %ecx,%eax addl $4,%ebp addl %ebx,%eax movl 152(%esp),%ebx addl %esi,%edx addl %esi,%eax cmpl $3329325298,%esi jne L00416_63 movl 352(%esp),%esi movl 4(%esp),%ebx movl 8(%esp),%ecx movl 12(%esp),%edi addl (%esi),%eax addl 4(%esi),%ebx addl 8(%esi),%ecx addl 12(%esi),%edi movl %eax,(%esi) movl %ebx,4(%esi) movl %ecx,8(%esi) movl %edi,12(%esi) movl 20(%esp),%eax movl 24(%esp),%ebx movl 28(%esp),%ecx movl 356(%esp),%edi addl 16(%esi),%edx addl 20(%esi),%eax addl 24(%esi),%ebx addl 28(%esi),%ecx movl %edx,16(%esi) movl %eax,20(%esi) movl %ebx,24(%esi) movl %ecx,28(%esi) addl $352,%esp subl $256,%ebp cmpl 8(%esp),%edi jb L002loop movl 12(%esp),%esp popl %edi popl %esi popl %ebx popl %ebp ret .align 6,0x90 L001K256: .long 1116352408,1899447441,3049323471,3921009573 .long 961987163,1508970993,2453635748,2870763221 .long 3624381080,310598401,607225278,1426881987 .long 1925078388,2162078206,2614888103,3248222580 .long 3835390401,4022224774,264347078,604807628 .long 770255983,1249150122,1555081692,1996064986 .long 2554220882,2821834349,2952996808,3210313671 .long 3336571891,3584528711,113926993,338241895 .long 666307205,773529912,1294757372,1396182291 .long 1695183700,1986661051,2177026350,2456956037 .long 2730485921,2820302411,3259730800,3345764771 .long 3516065817,3600352804,4094571909,275423344 .long 430227734,506948616,659060556,883997877 .long 958139571,1322822218,1537002063,1747873779 .long 1955562222,2024104815,2227730452,2361852424 .long 2428436474,2756734187,3204031479,3329325298 .byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97 .byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 .byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 .byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 .byte 62,0