.file "sha512-586.s" .text .globl sha256_block_data_order .type sha256_block_data_order,@function .align 16 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 16 .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 16 .L00300_15: movl 92(%esp),%ebx movl %edx,%ecx rorl $14,%ecx movl 20(%esp),%esi xorl %edx,%ecx rorl $5,%ecx xorl %edx,%ecx rorl $6,%ecx movl 24(%esp),%edi addl %ecx,%ebx xorl %edi,%esi movl %edx,16(%esp) movl %eax,%ecx andl %edx,%esi movl 12(%esp),%edx xorl %edi,%esi movl %eax,%edi addl %esi,%ebx rorl $9,%ecx addl 28(%esp),%ebx xorl %eax,%ecx rorl $11,%ecx movl 4(%esp),%esi xorl %eax,%ecx rorl $2,%ecx addl %ebx,%edx 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 16 .L00416_63: movl %ebx,%esi movl 100(%esp),%ecx rorl $11,%esi movl %ecx,%edi xorl %ebx,%esi rorl $7,%esi shrl $3,%ebx rorl $2,%edi xorl %esi,%ebx xorl %ecx,%edi rorl $17,%edi shrl $10,%ecx addl 156(%esp),%ebx xorl %ecx,%edi addl 120(%esp),%ebx movl %edx,%ecx addl %edi,%ebx rorl $14,%ecx movl 20(%esp),%esi xorl %edx,%ecx rorl $5,%ecx movl %ebx,92(%esp) xorl %edx,%ecx rorl $6,%ecx movl 24(%esp),%edi addl %ecx,%ebx xorl %edi,%esi movl %edx,16(%esp) movl %eax,%ecx andl %edx,%esi movl 12(%esp),%edx xorl %edi,%esi movl %eax,%edi addl %esi,%ebx rorl $9,%ecx addl 28(%esp),%ebx xorl %eax,%ecx rorl $11,%ecx movl 4(%esp),%esi xorl %eax,%ecx rorl $2,%ecx addl %ebx,%edx 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 64 .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 .size sha256_block_data_order,.-.L_sha256_block_data_order_begin .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