006670E8 55 push ebp
006670E9 8BEC mov ebp,esp
006670EB 83C4 F8 add esp,-8
006670EE 53 push ebx
006670EF 56 push esi
006670F0 57 push edi
006670F1 8B75 08 mov esi,dword ptr ss:[ebp+8] ; 104 密钥
006670F4 8B5D 08 mov ebx,dword ptr ss:[ebp+8]
006670F7 81C3 D0000000 add ebx,0D0 ; 十进制D0=208 指向密钥208 Byte
006670FD 66:8B06 mov ax,word ptr ds:[esi] ; 取密钥Word1
00667100 83C6 02 add esi,2 ; 指向下2的地址
00667103 50 push eax
00667104 8B55 08 mov edx,dword ptr ss:[ebp+8] ; 104 密钥
00667107 52 push edx
00667108 E8 C3FEFFFF call FTaxBase.00666FD0 ;密钥的首地址
0066710D 8BF8 mov edi,eax ;eax=@00666FD0(dekey,word1)
0066710F 83C4 08 add esp,8
00667112 66:8B06 mov ax,word ptr ds:[esi] ;取密钥Word2
00667115 83C6 02 add esi,2 ;指向Word3
00667118 66:F7D8 neg ax ; 密钥Word2求补码
0066711B 66:8945 FE mov word ptr Var_Word1,ax ;保存
0066711F 83EB 02 sub ebx,2 ;ebx-2
00667122 66:8B16 mov dx,word ptr ds:[esi] ;取密钥Word3
00667125 83C6 02 add esi,2 ;指向word4
00667128 66:F7DA neg dx ;word3求补
0066712B 66:8955 FC mov word ptr Var_Word2,dx ;保存
0066712F 66:8B0E mov cx,word ptr ds:[esi] ;取密钥word4
00667132 83C6 02 add esi,2 ;指向word5
00667135 51 push ecx
00667136 8B45 08 mov eax,dword ptr ss:[ebp+8] ; 104 密钥
00667139 50 push eax
0066713A E8 91FEFFFF call FTaxBase.00666FD0 eax=00666FD0(dekey,word4)
0066713F 66:8903 mov word ptr ds:[ebx],ax 保存计算结果
00667142 83EB 02 sub ebx,2 ebx-2
00667145 66:8B55 FC mov dx,word ptr Var_Word2
00667149 83C4 08 add esp,8
0066714C 66:8913 mov word ptr ds:[ebx],dx 保存计算结果
0066714F 83EB 02 sub ebx,2 ebx-2
00667152 66:8B4D FE mov cx,word ptr Var_Word1
00667156 66:890B mov word ptr ds:[ebx],cx 保存计算结果
00667159 83EB 02 sub ebx,2 ebx-2
0066715C 66:893B mov word ptr ds:[ebx],di 保存计算结果(第一次调用函数)
0066715F C745 F8 01000000 mov dword ptr ss:[ebp-8],1 Var_Dword1=1
00667166 66:8B3E mov di,word ptr ds:[esi] ;取word5
00667169 83C6 02 add esi,2 ;指向word6
0066716C 83EB 02 sub ebx,2 ;ebx-2
0066716F 66:8B06 mov ax,word ptr ds:[esi] ;取密钥word6
00667172 83C6 02 add esi,2 ;指向密钥word7
00667175 66:8903 mov word ptr ds:[ebx],ax ;保存计算结果
00667178 83EB 02 sub ebx,2 ;ebx-2
0066717B 66:893B mov word ptr ds:[ebx],di ;保存计算结果
0066717E 66:8B16 mov dx,word ptr ds:[esi] ;取密钥word7
00667181 83C6 02 add esi,2 ;指向密钥word8
00667184 52 push edx
00667185 8B4D 08 mov ecx,dword ptr ss:[ebp+8] ;104 密钥
00667188 51 push ecx
00667189 E8 42FEFFFF call FTaxBase.00666FD0 eax=000666FD0(dekey,word7)
0066718E 8BF8 mov edi,eax
00667190 83C4 08 add esp,8
00667193 66:8B06 mov ax,word ptr ds:[esi] ;函数计算结果(地址)
00667196 83C6 02 add esi,2 ;指向密钥word9
00667199 66:F7D8 neg ax
0066719C 66:8945 FE mov word ptr Var_Word1,ax
006671A0 83EB 02 sub ebx,2 ebx-2
006671A3 66:8B16 mov dx,word ptr ds:[esi] ;取密钥word9
006671A6 83C6 02 add esi,2 ;指向密钥word10
006671A9 66:F7DA neg dx
006671AC 66:8955 FC mov word ptr Var_Word2,dx
006671B0 66:8B0E mov cx,word ptr ds:[esi] ;取密钥word10
006671B3 83C6 02 add esi,2 ;指向word11
006671B6 51 push ecx
006671B7 8B45 08 mov eax,dword ptr ss:[ebp+8]
006671BA 50 push eax
006671BB E8 10FEFFFF call FTaxBase.00666FD0
006671C0 66:8903 mov word ptr ds:[ebx],ax
006671C3 83EB 02 sub ebx,2 ;
006671C6 66:8B55 FE mov dx,word ptr Var_Word1
006671CA 83C4 08 add esp,8
006671CD 66:8913 mov word ptr ds:[ebx],dx
006671D0 83EB 02 sub ebx,2 ;
006671D3 66:8B4D FC mov cx,word ptr Var_Word2
006671D7 66:890B mov word ptr ds:[ebx],cx
006671DA 83EB 02 sub ebx,2 ;
006671DD 66:893B mov word ptr ds:[ebx],di
006671E0 FF45 F8 inc dword ptr ss:[ebp-8]
006671E3 837D F8 08 cmp dword ptr ss:[ebp-8],8
006671E7 ^ 0F8C 79FFFFFF jl FTaxBase.00667166
1 to 8 的循环
006671ED 66:8B3E mov di,word ptr ds:[esi]
006671F0 83C6 02 add esi,2 ;11
006671F3 83EB 02 sub ebx,2
006671F6 66:8B06 mov ax,word ptr ds:[esi]
006671F9 83C6 02 add esi,2 ;12
006671FC 66:8903 mov word ptr ds:[ebx],ax
006671FF 83EB 02 sub ebx,2
00667202 66:893B mov word ptr ds:[ebx],di
00667205 66:8B16 mov dx,word ptr ds:[esi]
00667208 83C6 02 add esi,2 ;13
0066720B 52 push edx
0066720C 8B4D 08 mov ecx,dword ptr ss:[ebp+8]
0066720F 51 push ecx
00667210 E8 BBFDFFFF call FTaxBase.00666FD0
00667215 8BF8 mov edi,eax
00667217 83C4 08 add esp,8
0066721A 66:8B06 mov ax,word ptr ds:[esi]
0066721D 83C6 02 add esi,2 ;14
00667220 66:F7D8 neg ax
00667223 66:8945 FE mov word ptr Var_Word1,ax
00667227 83EB 02 sub ebx,2
0066722A 66:8B16 mov dx,word ptr ds:[esi]
0066722D 83C6 02 add esi,2 ;15
00667230 66:F7DA neg dx
00667233 66:8955 FC mov word ptr Var_Word2,dx
00667237 66:8B0E mov cx,word ptr ds:[esi]
0066723A 83C6 02 add esi,2 ;16
0066723D 51 push ecx
0066723E 8B45 08 mov eax,dword ptr ss:[ebp+8]
00667241 50 push eax
00667242 E8 89FDFFFF call FTaxBase.00666FD0
00667247 66:8903 mov word ptr ds:[ebx],ax
0066724A 83EB 02 sub ebx,2
0066724D 66:8B55 FC mov dx,word ptr Var_Word2
00667251 83C4 08 add esp,8
00667254 66:8913 mov word ptr ds:[ebx],dx
00667257 83EB 02 sub ebx,2
0066725A 66:8B4D FE mov cx,word ptr Var_Word1
0066725E 66:890B mov word ptr ds:[ebx],cx
00667261 83EB 02 sub ebx,2
00667264 66:893B mov word ptr ds:[ebx],di
00667267 5F pop edi
00667268 5E pop esi
00667269 5B pop ebx
0066726A 59 pop ecx
0066726B 59 pop ecx
0066726C 5D pop ebp
0066726D C3 retn
call FTaxBase.00666FD0
00666FD0 55 push ebp
00666FD1 8BEC mov ebp,esp
00666FD3 51 push ecx
00666FD4 53 push ebx
00666FD5 56 push esi
00666FD6 57 push edi
00666FD7 8B4D 0C mov ecx,dword ptr ss:[ebp+C] ;第二个参数
00666FDA 66:83F9 01 cmp cx,1
00666FDE 77 07 ja short FTaxBase.00666FE7 if keyword<=1
00666FE0 8BC1 mov eax,ecx 否则直接返回
00666FE2 E9 91000000 jmp FTaxBase.00667078 exit
else
00666FE7 0FB7D9 movzx ebx,cx ;keyword
00666FEA B8 01000100 mov eax,10001 ;$10001
00666FEF 99 cdq
00666FF0 F7FB idiv ebx
00666FF2 8BF0 mov esi,eax ;esi =10001/keyword 整数
00666FF4 B8 01000100 mov eax,10001
00666FF9 99 cdq
00666FFA F7FB idiv ebx
00666FFC 8BDA mov ebx,edx ;ebx=10001/keyword 余数
00666FFE 66:83FB 01 cmp bx,1
00667002 75 09 jnz short FTaxBase.0066700D if 余数=1
00667004 66:B8 0100 mov ax,1 ax:=1
00667008 66:2BC6 sub ax,si ax:=ax-si (整数)
0066700B EB 6B jmp short FTaxBase.00667078 exit
else
0066700D 66:C745 FE 0100 mov word ptr Var_Word1,1 变量=1
00667013 0FB7C1 movzx eax,cx ; keyword
00667016 0FB7D3 movzx edx,bx ; 余数
00667019 8BFA mov edi,edx ;余数?
0066701B 99 cdq
0066701C F7FF idiv edi
0066701E 8BF8 mov edi,eax edi:=keyword/edx
00667020 0FB7C1 movzx eax,cx ;keyword
00667023 0FB7D3 movzx edx,bx ;余数
00667026 8BCA mov ecx,edx ecx=余数
00667028 99 cdq
00667029 F7F9 idiv ecx
0066702B 8BCA mov ecx,edx ecx=keyword/余数
0066702D 0FB7C7 movzx eax,di 余数
00667030 0FB7D6 movzx edx,si 整数
00667033 F7EA imul edx
00667035 66:0145 FE add word ptr Var_Word1,ax
00667039 66:83F9 01 cmp cx,1
0066703D 75 06 jnz short FTaxBase.00667045
0066703F 66:8B45 FE mov ax,word ptr Var_Word1
00667043 EB 33 jmp short FTaxBase.00667078 exit
00667045 0FB7C3 movzx eax,bx
00667048 0FB7D1 movzx edx,cx
0066704B 8BFA mov edi,edx
0066704D 99 cdq
0066704E F7FF idiv edi
00667050 8BF8 mov edi,eax
00667052 0FB7C3 movzx eax,bx
00667055 0FB7D1 movzx edx,cx
00667058 8BDA mov ebx,edx
0066705A 99 cdq
0066705B F7FB idiv ebx
0066705D 8BDA mov ebx,edx
0066705F 0FB7C7 movzx eax,di
00667062 0FB755 FE movzx edx,word ptr Var_Word1
00667066 F7EA imul edx
00667068 66:03F0 add si,ax
0066706B 66:83FB 01 cmp bx,1
0066706F ^ 75 A2 jnz short FTaxBase.00667013
00667071 66:B8 0100 mov ax,1
00667075 66:2BC6 sub ax,si
00667078 5F pop edi
00667079 5E pop esi
0066707A 5B pop ebx
0066707B 59 pop ecx
0066707C 5D pop ebp
0066707D C3 retn
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!