以下就是具体的算法代码,大虾帮忙看看,帮我搞清楚具体的算法
具体的注册信息如下:
SerialNumber:XJ524-11164245
usename:随意
companyname:随意
regcode:这个才是最后要算出来的!!






009B66FC  /$  53            PUSH EBX
009B66FD  |.  83C4 F0       ADD ESP,-10
009B6700  |.  8BD8          MOV EBX,EAX
009B6702  |.  8BC3          MOV EAX,EBX
009B6704  |.  E8 8BE3A4FF   CALL Unpacked.00404A94
009B6709  |.  E8 7EB2F3FF   CALL Unpacked.008F198C
009B670E  |.  8B40 24       MOV EAX,DWORD PTR DS:[EAX+24]
009B6711  |.  8B40 44       MOV EAX,DWORD PTR DS:[EAX+44]
009B6714  |.  8D4C24 08     LEA ECX,DWORD PTR SS:[ESP+8]
009B6718  |.  BA 50679B00   MOV EDX,Unpacked.009B6750                ;  getserialnumber
009B671D  |.  E8 46ACC4FF   CALL Unpacked.00601368
009B6722  |.  8B4424 08     MOV EAX,DWORD PTR SS:[ESP+8]
009B6726  |.  890424        MOV DWORD PTR SS:[ESP],EAX
009B6729  |.  8B4424 0C     MOV EAX,DWORD PTR SS:[ESP+C]
009B672D  |.  894424 04     MOV DWORD PTR SS:[ESP+4],EAX
009B6731  |.  66:837C24 02 >CMP WORD PTR SS:[ESP+2],0
009B6737  |.  74 09         JE SHORT Unpacked.009B6742
009B6739  |.  8BD3          MOV EDX,EBX
009B673B  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
009B673F  |.  FF1424        CALL DWORD PTR SS:[ESP]
009B6742  |>  83C4 10       ADD ESP,10
009B6745  |.  5B            POP EBX
009B6746  \.  C3            RETN
009B6747      00            DB 00
009B6748   .  FFFFFFFF      DD FFFFFFFF
009B674C   .  0F000000      DD 0000000F
009B6750   .  47 65 74 53 6>ASCII "GetSerialNumber",0
009B6760  /$  53            PUSH EBX
009B6761  |.  83C4 F0       ADD ESP,-10
009B6764  |.  8BD8          MOV EBX,EAX
009B6766  |.  8BC3          MOV EAX,EBX
009B6768  |.  E8 27E3A4FF   CALL Unpacked.00404A94
009B676D  |.  E8 1AB2F3FF   CALL Unpacked.008F198C
009B6772  |.  8B40 24       MOV EAX,DWORD PTR DS:[EAX+24]
009B6775  |.  8B40 44       MOV EAX,DWORD PTR DS:[EAX+44]
009B6778  |.  8D4C24 08     LEA ECX,DWORD PTR SS:[ESP+8]
009B677C  |.  BA B4679B00   MOV EDX,Unpacked.009B67B4                ;  getusename
009B6781  |.  E8 E2ABC4FF   CALL Unpacked.00601368
009B6786  |.  8B4424 08     MOV EAX,DWORD PTR SS:[ESP+8]
009B678A  |.  890424        MOV DWORD PTR SS:[ESP],EAX
009B678D  |.  8B4424 0C     MOV EAX,DWORD PTR SS:[ESP+C]
009B6791  |.  894424 04     MOV DWORD PTR SS:[ESP+4],EAX
009B6795  |.  66:837C24 02 >CMP WORD PTR SS:[ESP+2],0
009B679B  |.  74 09         JE SHORT Unpacked.009B67A6
009B679D  |.  8BD3          MOV EDX,EBX
009B679F  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
009B67A3  |.  FF1424        CALL DWORD PTR SS:[ESP]
009B67A6  |>  83C4 10       ADD ESP,10
009B67A9  |.  5B            POP EBX
009B67AA  \.  C3            RETN
009B67AB      00            DB 00
009B67AC   .  FFFFFFFF      DD FFFFFFFF
009B67B0   .  0A000000      DD 0000000A
009B67B4   .  47 65 74 55 7>ASCII "GetUseName",0
009B67BF      00            DB 00
009B67C0  /$  53            PUSH EBX
009B67C1  |.  83C4 F0       ADD ESP,-10
009B67C4  |.  8BD8          MOV EBX,EAX
009B67C6  |.  8BC3          MOV EAX,EBX
009B67C8  |.  E8 C7E2A4FF   CALL Unpacked.00404A94
009B67CD  |.  E8 BAB1F3FF   CALL Unpacked.008F198C
009B67D2  |.  8B40 24       MOV EAX,DWORD PTR DS:[EAX+24]
009B67D5  |.  8B40 44       MOV EAX,DWORD PTR DS:[EAX+44]
009B67D8  |.  8D4C24 08     LEA ECX,DWORD PTR SS:[ESP+8]
009B67DC  |.  BA 14689B00   MOV EDX,Unpacked.009B6814                ;  getcompanyname
009B67E1  |.  E8 82ABC4FF   CALL Unpacked.00601368
009B67E6  |.  8B4424 08     MOV EAX,DWORD PTR SS:[ESP+8]
009B67EA  |.  890424        MOV DWORD PTR SS:[ESP],EAX
009B67ED  |.  8B4424 0C     MOV EAX,DWORD PTR SS:[ESP+C]
009B67F1  |.  894424 04     MOV DWORD PTR SS:[ESP+4],EAX
009B67F5  |.  66:837C24 02 >CMP WORD PTR SS:[ESP+2],0
009B67FB  |.  74 09         JE SHORT Unpacked.009B6806
009B67FD  |.  8BD3          MOV EDX,EBX
009B67FF  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
009B6803  |.  FF1424        CALL DWORD PTR SS:[ESP]
009B6806  |>  83C4 10       ADD ESP,10
009B6809  |.  5B            POP EBX
009B680A  \.  C3            RETN
009B680B      00            DB 00
009B680C   .  FFFFFFFF      DD FFFFFFFF
009B6810   .  0E000000      DD 0000000E
009B6814   .  47 65 74 43 6>ASCII "GetCompanyName",0
009B6823      00            DB 00
009B6824  /$  53            PUSH EBX
009B6825  |.  83C4 F0       ADD ESP,-10
009B6828  |.  8BD8          MOV EBX,EAX
009B682A  |.  8BC3          MOV EAX,EBX
009B682C  |.  E8 63E2A4FF   CALL Unpacked.00404A94
009B6831  |.  E8 56B1F3FF   CALL Unpacked.008F198C
009B6836  |.  8B40 24       MOV EAX,DWORD PTR DS:[EAX+24]
009B6839  |.  8B40 44       MOV EAX,DWORD PTR DS:[EAX+44]
009B683C  |.  8D4C24 08     LEA ECX,DWORD PTR SS:[ESP+8]
009B6840  |.  BA 78689B00   MOV EDX,Unpacked.009B6878                ;  getregcode
009B6845  |.  E8 1EABC4FF   CALL Unpacked.00601368
009B684A  |.  8B4424 08     MOV EAX,DWORD PTR SS:[ESP+8]
009B684E  |.  890424        MOV DWORD PTR SS:[ESP],EAX
009B6851  |.  8B4424 0C     MOV EAX,DWORD PTR SS:[ESP+C]
009B6855  |.  894424 04     MOV DWORD PTR SS:[ESP+4],EAX
009B6859  |.  66:837C24 02 >CMP WORD PTR SS:[ESP+2],0
009B685F  |.  74 09         JE SHORT Unpacked.009B686A
009B6861  |.  8BD3          MOV EDX,EBX
009B6863  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
009B6867  |.  FF1424        CALL DWORD PTR SS:[ESP]
009B686A  |>  83C4 10       ADD ESP,10
009B686D  |.  5B            POP EBX
009B686E  \.  C3            RETN
009B686F      00            DB 00
009B6870   .  FFFFFFFF      DD FFFFFFFF
009B6874   .  0A000000      DD 0000000A
009B6878   .  47 65 74 52 6>ASCII "GetRegCode",0
009B6883      00            DB 00
009B6884  /.  55            PUSH EBP
009B6885  |.  8BEC          MOV EBP,ESP
009B6887  |.  33C9          XOR ECX,ECX
009B6889  |.  51            PUSH ECX
009B688A  |.  51            PUSH ECX
009B688B  |.  51            PUSH ECX
009B688C  |.  51            PUSH ECX
009B688D  |.  51            PUSH ECX
009B688E  |.  51            PUSH ECX
009B688F  |.  53            PUSH EBX
009B6890  |.  8BD8          MOV EBX,EAX
009B6892  |.  33C0          XOR EAX,EAX
009B6894  |.  55            PUSH EBP
009B6895  |.  68 7E699B00   PUSH Unpacked.009B697E
009B689A  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
009B689D  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
009B68A0  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
009B68A3  |.  E8 54FEFFFF   CALL Unpacked.009B66FC
009B68A8  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
009B68AB  |.  8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC]
009B68B1  |.  E8 C29E1200   CALL Unpacked.00AE0778
009B68B6  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
009B68B9  |.  E8 A2FEFFFF   CALL Unpacked.009B6760
009B68BE  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
009B68C1  |.  8B83 E0020000 MOV EAX,DWORD PTR DS:[EBX+2E0]
009B68C7  |.  E8 AC9E1200   CALL Unpacked.00AE0778
009B68CC  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
009B68CF  |.  E8 ECFEFFFF   CALL Unpacked.009B67C0
009B68D4  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
009B68D7  |.  8B83 E4020000 MOV EAX,DWORD PTR DS:[EBX+2E4]
009B68DD  |.  E8 969E1200   CALL Unpacked.00AE0778
009B68E2  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
009B68E5  |.  E8 3AFFFFFF   CALL Unpacked.009B6824
009B68EA  |.  8B55 F0       MOV EDX,DWORD PTR SS:[EBP-10]
009B68ED  |.  8B83 EC020000 MOV EAX,DWORD PTR DS:[EBX+2EC]
009B68F3  |.  E8 809E1200   CALL Unpacked.00AE0778
009B68F8  |.  A1 D4C4B100   MOV EAX,DWORD PTR DS:[B1C4D4]
009B68FD  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
009B68FF  |.  8378 04 07    CMP DWORD PTR DS:[EAX+4],7
009B6903      75 30         JNZ SHORT Unpacked.009B6935
009B6905  |.  8B93 F8020000 MOV EDX,DWORD PTR DS:[EBX+2F8]
009B690B  |.  8BC3          MOV EAX,EBX
009B690D  |.  E8 92EB1100   CALL Unpacked.00AD54A4
009B6912  |.  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
009B6915  |.  8BC3          MOV EAX,EBX
009B6917  |.  E8 2C9E1200   CALL Unpacked.00AE0748
009B691C  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
009B691F  |.  BA 94699B00   MOV EDX,Unpacked.009B6994                ;  (已注册)
009B6924  |.  E8 2BE4A4FF   CALL Unpacked.00404D54
009B6929  |.  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]
009B692C  |.  8BC3          MOV EAX,EBX
009B692E  |.  E8 459E1200   CALL Unpacked.00AE0778
009B6933  |.  EB 21         JMP SHORT Unpacked.009B6956
009B6935  |>  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
009B6938  |.  8BC3          MOV EAX,EBX
009B693A  |.  E8 099E1200   CALL Unpacked.00AE0748
009B693F  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
009B6942  |.  BA A8699B00   MOV EDX,Unpacked.009B69A8                ;  (未注册)
009B6947  |.  E8 08E4A4FF   CALL Unpacked.00404D54
009B694C  |.  8B55 E8       MOV EDX,DWORD PTR SS:[EBP-18]
009B694F  |.  8BC3          MOV EAX,EBX
009B6951  |.  E8 229E1200   CALL Unpacked.00AE0778
009B6956  |>  33C0          XOR EAX,EAX
009B6958  |.  5A            POP EDX
009B6959  |.  59            POP ECX
009B695A  |.  59            POP ECX
009B695B  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
009B695E  |.  68 85699B00   PUSH Unpacked.009B6985
009B6963  |>  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
009B6966  |.  BA 02000000   MOV EDX,2
009B696B  |.  E8 48E1A4FF   CALL Unpacked.00404AB8
009B6970  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
009B6973  |.  BA 04000000   MOV EDX,4
009B6978  |.  E8 3BE1A4FF   CALL Unpacked.00404AB8
009B697D  \.  C3            RETN
009B697E   .^ E9 49D9A4FF   JMP Unpacked.004042CC
009B6983   .^ EB DE         JMP SHORT Unpacked.009B6963
009B6985   .  5B            POP EBX
009B6986   .  8BE5          MOV ESP,EBP
009B6988   .  5D            POP EBP
009B6989   .  C3            RETN