📄 fec.s.980621e
字号:
L707: movl 12(%ebp),%eax decl %eax cmpl %eax,-24(%ebp) jl L617 pushl 8(%ebp) pushl -4(%ebp) call _invert_vdm pushl 8(%ebp) pushl 8(%ebp) movl 12(%ebp),%eax subl 8(%ebp),%eax pushl %eax movl 8(%ebp),%ebx imull %ebx,%ebx movl %ebx,%eax movl -8(%ebp),%edi addl 8(%edi),%eax pushl %eax pushl -4(%ebp) movl -4(%ebp),%eax addl %ebx,%eax pushl %eax call _matmul addl $32,%esp pushl %ebx pushl 8(%edi) call _bzero movl 8(%edi),%esi xorl %ebx,%ebx addl $8,%esp cmpl %ebx,8(%ebp) jle L630 movl 8(%ebp),%ecx incl %ecx movl 8(%ebp),%eax andl $3,%eax je L632 cmpl $1,%eax jle L637 cmpl $2,%eax jle L638 movb $1,(%esi) incl %ebx addl %ecx,%esiL638: movb $1,(%esi) incl %ebx addl %ecx,%esiL637: movb $1,(%esi) incl %ebx jmp L708 .align 2,0x90 .align 2,0x90L632: movb $1,(%esi) addl %ecx,%esi movb $1,(%esi) addl %ecx,%esi movb $1,(%esi) addl %ecx,%esi movb $1,(%esi) addl $4,%ebxL708: addl %ecx,%esi cmpl %ebx,8(%ebp) jg L632L630: pushl -4(%ebp) call _free movl -8(%ebp),%eaxL634: leal -36(%ebp),%esp popl %ebx popl %esi popl %edi leave retLfe10: .size _fec_new,Lfe10-_fec_new .align 2.globl _init_fec .type _init_fec,@function_init_fec: pushl %ebp movl %esp,%ebp call _generate_gf call _init_mul_table leave retLfe11: .size _init_fec,Lfe11-_init_fecLC27: .ascii "Invalid index %d (max %d)\12\0" .align 2.globl _fec_encode .type _fec_encode,@function_fec_encode: pushl %ebp movl %esp,%ebp subl $4,%esp pushl %edi pushl %esi pushl %ebx movl 8(%ebp),%ebx movl 20(%ebp),%edx movl (%ebx),%ecx movl %ecx,-4(%ebp) cmpl %ecx,%edx jge L712 pushl 24(%ebp) pushl 16(%ebp) movl 12(%ebp),%ecx pushl (%ecx,%edx,4) call _bcopy jmp L713 .align 2,0x90L712: cmpl %edx,4(%ebx) jle L714 movl -4(%ebp),%eax imull %edx,%eax movl %eax,%esi addl 8(%ebx),%esi pushl 24(%ebp) pushl 16(%ebp) call _bzero xorl %ebx,%ebx addl $8,%esp cmpl %ebx,-4(%ebp) jle L713 movl -4(%ebp),%eax andl $3,%eax je L723 cmpl $1,%eax jle L724 cmpl $2,%eax jle L725 cmpb $0,(%esi) je L727 pushl 24(%ebp) movzbl (%esi),%eax pushl %eax movl 12(%ebp),%ecx pushl (%ecx) pushl 16(%ebp) call _addmul1 addl $16,%espL727: incl %esi incl %ebxL725: cmpb $0,(%esi) je L730 pushl 24(%ebp) movzbl (%esi),%eax pushl %eax movl 12(%ebp),%ecx pushl (%ecx,%ebx,4) pushl 16(%ebp) call _addmul1 addl $16,%espL730: incl %esi incl %ebxL724: cmpb $0,(%esi) je L733 pushl 24(%ebp) movzbl (%esi),%eax pushl %eax movl 12(%ebp),%ecx pushl (%ecx,%ebx,4) pushl 16(%ebp) call _addmul1 addl $16,%espL733: incl %esi incl %ebx cmpl %ebx,-4(%ebp) jle L713L723: movl %esi,%edi .align 2,0x90L718: cmpb $0,(%esi) je L736 pushl 24(%ebp) movzbl (%edi),%eax pushl %eax movl 12(%ebp),%ecx pushl (%ecx,%ebx,4) pushl 16(%ebp) call _addmul1 addl $16,%espL736: leal 1(%ebx),%edx cmpb $0,1(%esi) je L739 pushl 24(%ebp) movzbl 1(%edi),%eax pushl %eax movl 12(%ebp),%ecx pushl (%ecx,%edx,4) pushl 16(%ebp) call _addmul1 addl $16,%espL739: leal 2(%ebx),%edx cmpb $0,2(%esi) je L742 pushl 24(%ebp) movzbl 2(%edi),%eax pushl %eax movl 12(%ebp),%ecx pushl (%ecx,%edx,4) pushl 16(%ebp) call _addmul1 addl $16,%espL742: leal 3(%ebx),%edx cmpb $0,3(%esi) je L745 pushl 24(%ebp) movzbl 3(%edi),%eax pushl %eax movl 12(%ebp),%ecx pushl (%ecx,%edx,4) pushl 16(%ebp) call _addmul1 addl $16,%espL745: addl $4,%edi addl $4,%esi addl $4,%ebx cmpl %ebx,-4(%ebp) jg L718 jmp L713 .align 2,0x90L714: movl 4(%ebx),%eax decl %eax pushl %eax pushl %edx pushl $LC27 pushl $___sF+176 call _fprintfL713: leal -16(%ebp),%esp popl %ebx popl %esi popl %edi leave retLfe12: .size _fec_encode,Lfe12-_fec_encode .align 2 .type _shuffle,@function_shuffle: pushl %ebp movl %esp,%ebp subl $8,%esp pushl %edi pushl %esi pushl %ebx xorl %edi,%edi cmpl %edi,16(%ebp) jle L750 movl 8(%ebp),%edx movl %edx,-8(%ebp) movl 12(%ebp),%ebx .align 2,0x90L752: movl 16(%ebp),%esi cmpl %esi,(%ebx) jge L754 cmpl %edi,(%ebx) jne L753L754: addl $4,-8(%ebp) addl $4,%ebx incl %edi jmp L749 .align 2,0x90L753: movl (%ebx),%ecx movl 12(%ebp),%edx cmpl %ecx,(%edx,%ecx,4) jne L756 movl $1,%eax jmp L758 .align 2,0x90L756: movl (%ebx),%esi movl 12(%ebp),%edx movl (%edx,%ecx,4),%eax movl %eax,(%ebx) movl %esi,(%edx,%ecx,4) movl -8(%ebp),%esi movl (%esi),%esi movl %esi,-4(%ebp) movl 8(%ebp),%edx movl (%edx,%ecx,4),%eax movl -8(%ebp),%esi movl %eax,(%esi) movl -4(%ebp),%esi movl %esi,(%edx,%ecx,4)L749: cmpl %edi,16(%ebp) jg L752L750: xorl %eax,%eaxL758: leal -20(%ebp),%esp popl %ebx popl %esi popl %edi leave retLfe13: .size _shuffle,Lfe13-_shuffleLC28: .ascii "decode: invalid index %d (max %d)\12\0" .align 2.globl _build_decode_matrix .type _build_decode_matrix,@function_build_decode_matrix: pushl %ebp movl %esp,%ebp subl $20,%esp pushl %edi pushl %esi pushl %ebx movl 8(%ebp),%ecx movl (%ecx),%ebx pushl $LC19 movl %ebx,%eax imull %ebx,%eax pushl %eax call _my_malloc movl %eax,-8(%ebp) movl $0,-4(%ebp) movl -8(%ebp),%esi addl $8,%esp cmpl %ebx,-4(%ebp) jge L762 movl 16(%ebp),%edi testb $1,%bl je L773 cmpl %ebx,(%edi) jge L777 pushl %ebx pushl -8(%ebp) call _bzero movl -8(%ebp),%ecx movb $1,(%ecx) addl $8,%esp jmp L775 .align 2,0x90L777: movl (%edi),%edx movl 8(%ebp),%ecx cmpl %edx,4(%ecx) jle L790 pushl %ebx pushl %esi movl %ebx,%eax imull (%edi),%eax movl 8(%ebp),%ecx addl 8(%ecx),%eax pushl %eax call _bcopy addl $12,%espL775: addl $4,%edi incl -4(%ebp) addl %ebx,%esi cmpl %ebx,-4(%ebp) jge L762L773: movl %edi,-12(%ebp) movl %edi,-16(%ebp) movl %edi,-20(%ebp) .align 2,0x90L764: movl -20(%ebp),%ecx cmpl %ebx,(%ecx) jge L782 pushl %ebx pushl %esi call _bzero movl -4(%ebp),%ecx movb $1,(%ecx,%esi) addl $8,%esp jmp L780 .align 2,0x90L782: movl -16(%ebp),%ecx movl (%ecx),%edx movl 8(%ebp),%ecx cmpl %edx,4(%ecx) jle L790 pushl %ebx pushl %esi movl %ebx,%eax movl -12(%ebp),%ecx imull (%ecx),%eax movl 8(%ebp),%ecx addl 8(%ecx),%eax pushl %eax call _bcopy addl $12,%espL780: movl -4(%ebp),%edi incl %edi addl %ebx,%esi movl -20(%ebp),%ecx cmpl %ebx,4(%ecx) jge L787 pushl %ebx pushl %esi call _bzero movb $1,(%edi,%esi) addl $8,%esp jmp L785 .align 2,0x90L787: movl -16(%ebp),%ecx movl 4(%ecx),%edx movl 8(%ebp),%ecx cmpl %edx,4(%ecx) jg L788L790: movl 4(%ecx),%eax decl %eax pushl %eax pushl %edx pushl $LC28 pushl $___sF+176 call _fprintf pushl -8(%ebp) call _free xorl %eax,%eax jmp L771 .align 2,0x90L788: pushl %ebx pushl %esi movl %ebx,%eax movl -12(%ebp),%ecx imull 4(%ecx),%eax movl 8(%ebp),%ecx addl 8(%ecx),%eax pushl %eax call _bcopy addl $12,%espL785: addl $8,-12(%ebp) addl $8,-16(%ebp) addl $8,-20(%ebp) addl $2,-4(%ebp) addl %ebx,%esi cmpl %ebx,-4(%ebp) jl L764L762: pushl %ebx pushl -8(%ebp) call _invert_mat addl $8,%esp testl %eax,%eax je L770 pushl -8(%ebp) call _free movl $0,-8(%ebp)L770: movl -8(%ebp),%eaxL771: leal -32(%ebp),%esp popl %ebx popl %esi popl %edi leave retLfe14: .size _build_decode_matrix,Lfe14-_build_decode_matrixLC29: .ascii "new pkt pointers\0"LC30: .ascii "new pkt buffer\0" .align 2.globl _fec_decode .type _fec_decode,@function_fec_decode: pushl %ebp movl %esp,%ebp subl $24,%esp pushl %edi pushl %esi pushl %ebx movl 8(%ebp),%ebx movl (%ebx),%edx movl %edx,-12(%ebp) pushl %edx pushl 16(%ebp) pushl 12(%ebp) call _shuffle addl $12,%esp testl %eax,%eax jne L866 pushl 16(%ebp) pushl 12(%ebp) pushl %ebx call _build_decode_matrix movl %eax,-4(%ebp) addl $12,%esp testl %eax,%eax jne L794L866: movl $1,%eax jmp L813 .align 2,0x90L794: pushl $LC29 movl -12(%ebp),%ecx leal 0(,%ecx,4),%eax pushl %eax call _my_malloc movl %eax,-8(%ebp) xorl %edi,%edi addl $8,%esp cmpl %edi,-12(%ebp) jle L796 movl -8(%ebp),%esi movl $0,-20(%ebp) .align 2,0x90L798: movl -12(%ebp),%ecx movl 16(%ebp),%edx cmpl %ecx,(%edx,%edi,4) jl L797 pushl $LC30 pushl 20(%ebp) call _my_malloc movl %eax,(%esi) pushl 20(%ebp) pushl %eax call _bzero xorl %ebx,%ebx addl $16,%esp cmpl %ebx,-12(%ebp) jle L797 movl -20(%ebp),%edx movl %edx,-16(%ebp) movl -12(%ebp),%eax andl $3,%eax je L803 cmpl $1,%eax jle L842 cmpl $2,%eax jle L843 movl -4(%ebp),%ecx cmpb $0,(%edx,%ecx) je L845 pushl 20(%ebp) movzbl (%edx,%ecx),%eax pushl %eax movl 12(%ebp),%edx pushl (%edx) pushl (%esi) call _addmul1 addl $16,%espL845: incl %ebxL843: movl -16(%ebp),%eax addl %ebx,%eax movl -4(%ebp),%ecx cmpb $0,(%eax,%ecx) je L848 pushl 20(%ebp) movzbl (%eax,%ecx),%eax pushl %eax movl 12(%ebp),%edx pushl (%edx,%ebx,4) pushl (%esi) call _addmul1 addl $16,%espL848: incl %ebxL842: movl -16(%ebp),%eax addl %ebx,%eax movl -4(%ebp),%ecx cmpb $0,(%eax,%ecx) je L851 pushl 20(%ebp) movzbl (%eax,%ecx),%eax pushl %eax movl 12(%ebp),%edx pushl (%edx,%ebx,4) pushl (%esi) call _addmul1 addl $16,%espL851: incl %ebx cmpl %ebx,-12(%ebp) jle L797 .align 2,0x90L803: movl -16(%ebp),%eax addl %ebx,%eax movl -4(%ebp),%ecx cmpb $0,(%eax,%ecx) je L854 pushl 20(%ebp) movzbl (%eax,%ecx),%eax pushl %eax movl 12(%ebp),%edx pushl (%edx,%ebx,4) pushl (%esi) call _addmul1 addl $16,%espL854: leal 1(%ebx),%ecx movl %ecx,-24(%ebp) movl -16(%ebp),%eax addl %ecx,%eax movl -4(%ebp),%edx cmpb $0,(%eax,%edx) je L857 pushl 20(%ebp) movzbl (%eax,%edx),%eax pushl %eax movl 12(%ebp),%edx pushl (%edx,%ecx,4) pushl (%esi) call _addmul1 addl $16,%espL857: leal 2(%ebx),%ecx movl %ecx,-24(%ebp) movl -16(%ebp),%eax addl %ecx,%eax movl -4(%ebp),%edx cmpb $0,(%eax,%edx) je L860 pushl 20(%ebp) movzbl (%eax,%edx),%eax pushl %eax movl 12(%ebp),%edx pushl (%edx,%ecx,4) pushl (%esi) call _addmul1 addl $16,%espL860: leal 3(%ebx),%ecx movl %ecx,-24(%ebp) movl -16(%ebp),%eax addl %ecx,%eax movl -4(%ebp),%edx cmpb $0,(%eax,%edx) je L863 pushl 20(%ebp) movzbl (%eax,%edx),%eax pushl %eax movl 12(%ebp),%edx pushl (%edx,%ecx,4) pushl (%esi) call _addmul1 addl $16,%espL863: addl $4,%ebx cmpl %ebx,-12(%ebp) jg L803L797: addl $4,%esi movl -12(%ebp),%ecx addl %ecx,-20(%ebp) incl %edi cmpl %ecx,%edi jl L798L796: xorl %edi,%edi cmpl %edi,-12(%ebp) jle L808 movl -8(%ebp),%ebx movl -12(%ebp),%eax andl $3,%eax je L815 cmpl $1,%eax jle L816 cmpl $2,%eax jle L817 movl -12(%ebp),%ecx movl 16(%ebp),%edx cmpl %ecx,(%edx) jl L819 pushl 20(%ebp) movl 12(%ebp),%edx pushl (%edx) movl -8(%ebp),%ecx pushl (%ecx) call _bcopy movl -8(%ebp),%edx pushl (%edx) call _free addl $16,%espL819: addl $4,%ebx incl %ediL817: movl -12(%ebp),%edx movl 16(%ebp),%ecx cmpl %edx,(%ecx,%edi,4) jl L822 pushl 20(%ebp) movl 12(%ebp),%ecx pushl (%ecx,%edi,4) pushl (%ebx) call _bcopy pushl (%ebx) call _free addl $16,%espL822: addl $4,%ebx incl %ediL816: movl -12(%ebp),%ecx movl 16(%ebp),%edx cmpl %ecx,(%edx,%edi,4) jl L825 pushl 20(%ebp) movl 12(%ebp),%edx pushl (%edx,%edi,4) pushl (%ebx) call _bcopy pushl (%ebx) call _free addl $16,%espL825: addl $4,%ebx incl %edi cmpl %edi,-12(%ebp) jle L808L815: movl %ebx,%esi .align 2,0x90L810: movl -12(%ebp),%edx movl 16(%ebp),%ecx cmpl %edx,(%ecx,%edi,4) jl L828 pushl 20(%ebp) movl 12(%ebp),%ecx pushl (%ecx,%edi,4) pushl (%ebx) call _bcopy pushl (%esi) call _free addl $16,%espL828: leal 1(%edi),%eax movl -12(%ebp),%ecx movl 16(%ebp),%edx cmpl %ecx,(%edx,%eax,4) jl L831 pushl 20(%ebp) movl 12(%ebp),%edx pushl (%edx,%eax,4) pushl 4(%ebx) call _bcopy pushl 4(%esi) call _free addl $16,%espL831: leal 2(%edi),%eax movl -12(%ebp),%edx movl 16(%ebp),%ecx cmpl %edx,(%ecx,%eax,4) jl L834 pushl 20(%ebp) movl 12(%ebp),%ecx pushl (%ecx,%eax,4) pushl 8(%ebx) call _bcopy pushl 8(%esi) call _free addl $16,%espL834: leal 3(%edi),%eax movl -12(%ebp),%ecx movl 16(%ebp),%edx cmpl %ecx,(%edx,%eax,4) jl L837 pushl 20(%ebp) movl 12(%ebp),%edx pushl (%edx,%eax,4) pushl 12(%ebx) call _bcopy pushl 12(%esi) call _free addl $16,%espL837: addl $16,%esi addl $16,%ebx addl $4,%edi cmpl %edi,-12(%ebp) jg L810L808: pushl -8(%ebp) call _free pushl -4(%ebp) call _free xorl %eax,%eaxL813: leal -36(%ebp),%esp popl %ebx popl %esi popl %edi leave retLfe15: .size _fec_decode,Lfe15-_fec_decode.lcomm _gf_exp,256.lcomm _gf_log,1024.lcomm _inverse,256.lcomm _gf_mul_table,65536
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -