能力值:
( LV2,RANK:10 )
|
-
-
4 楼
.text:10002850 public CheckLicenseKey
.text:10002850 CheckLicenseKey proc near ; CODE XREF: CheckLicense+9p
.text:10002850
.text:10002850 var_744 = dword ptr -744h
.text:10002850 var_740 = dword ptr -740h
.text:10002850 var_73C = dword ptr -73Ch
.text:10002850 var_738 = dword ptr -738h
.text:10002850 var_734 = byte ptr -734h
.text:10002850 var_28 = dword ptr -28h
.text:10002850 var_24 = dword ptr -24h
.text:10002850 var_20 = dword ptr -20h
.text:10002850 var_1C = dword ptr -1Ch
.text:10002850 var_18 = dword ptr -18h
.text:10002850 var_14 = dword ptr -14h
.text:10002850 var_10 = dword ptr -10h
.text:10002850 var_C = dword ptr -0Ch
.text:10002850 var_4 = dword ptr -4
.text:10002850 arg_0 = dword ptr 8
.text:10002850 arg_4 = dword ptr 0Ch
.text:10002850
.text:10002850 push ebp
.text:10002851 mov ebp, esp
.text:10002853 push 0FFFFFFFFh
.text:10002855 push offset loc_10006002
.text:1000285A mov eax, large fs:0
.text:10002860 push eax
.text:10002861 mov large fs:0, esp
.text:10002868 sub esp, 738h
.text:1000286E push edi
.text:1000286F call sub_10005503
.text:10002874 push eax
.text:10002875 lea ecx, [ebp+var_1C]
.text:10002878 call MFC71_314
.text:1000287D mov [ebp+var_4], 0
.text:10002884 mov [ebp+var_28], 1
.text:1000288B mov al, ds:Default
.text:10002890 mov [ebp+var_734], al
.text:10002896 mov ecx, 1C0h
.text:1000289B xor eax, eax
.text:1000289D lea edi, [ebp-733h]
.text:100028A3 rep stosd
.text:100028A5 mov ecx, 1C0h
.text:100028AA xor eax, eax
.text:100028AC lea edi, [ebp+var_734]
.text:100028B2 rep stosd
.text:100028B4 stosb
.text:100028B5 push 0
.text:100028B7 lea ecx, [ebp+var_734]
.text:100028BD push ecx
.text:100028BE mov edx, [ebp+arg_0]
.text:100028C1 push edx
.text:100028C2 call CipherLicense
.text:100028C7 mov [ebp+var_14], 0
.text:100028CE lea eax, [ebp+var_734]
.text:100028D4 push eax
.text:100028D5 lea ecx, [ebp+var_10]
.text:100028D8 call ds:MFC71_304
.text:100028DE mov byte ptr [ebp+var_4], 1
.text:100028E2 push 0
.text:100028E4 push offset aC ; "C="
.text:100028E9 lea ecx, [ebp+var_10]
.text:100028EC call ds:MFC71_2272
.text:100028F2 mov [ebp+var_20], eax
.text:100028F5 cmp [ebp+var_20], 0FFFFFFFFh
.text:100028F9 jz short loc_10002960
.text:100028FB mov ecx, [ebp+var_20]
.text:100028FE add ecx, 2
.text:10002901 push ecx
.text:10002902 lea edx, [ebp+var_73C]
.text:10002908 push edx
.text:10002909 lea ecx, [ebp+var_10]
.text:1000290C call ds:MFC71_4108
.text:10002912 mov byte ptr [ebp+var_4], 2
.text:10002916 lea ecx, [ebp+var_73C]
.text:1000291C call ds:MFC71_876
.text:10002922 push eax ; char *
.text:10002923 call ds:atoi
.text:10002929 add esp, 4
.text:1000292C mov [ebp+var_738], eax
.text:10002932 lea eax, [ebp+var_734]
.text:10002938 push eax
.text:10002939 call sub_100016F0
.text:1000293E add esp, 4
.text:10002941 cmp [ebp+var_738], eax
.text:10002947 jz short loc_10002950
.text:10002949 mov [ebp+var_28], 0
.text:10002950
.text:10002950 loc_10002950: ; CODE XREF: CheckLicenseKey+F7j
.text:10002950 mov byte ptr [ebp+var_4], 1
.text:10002954 lea ecx, [ebp+var_73C]
.text:1000295A call ds:MFC71_578
.text:10002960
.text:10002960 loc_10002960: ; CODE XREF: CheckLicenseKey+A9j
.text:10002960 lea ecx, [ebp+var_734]
.text:10002966 push ecx
.text:10002967 lea ecx, [ebp+var_10]
.text:1000296A call ds:MFC71_784
.text:10002970 cmp [ebp+arg_4], 0
.text:10002974 jnz short loc_10002992
.text:10002976 push 0
.text:10002978 push offset aPJvue ; "P=jVue&"
.text:1000297D lea ecx, [ebp+var_10]
.text:10002980 call ds:MFC71_2272
.text:10002986 cmp eax, 0FFFFFFFFh
.text:10002989 jnz short loc_10002992
.text:1000298B mov [ebp+var_28], 0
.text:10002992
.text:10002992 loc_10002992: ; CODE XREF: CheckLicenseKey+124j
.text:10002992 ; CheckLicenseKey+139j
.text:10002992 push 0
.text:10002994 push offset aT ; "&T="
.text:10002999 lea ecx, [ebp+var_10]
.text:1000299C call ds:MFC71_2272
.text:100029A2 cmp eax, 0FFFFFFFFh
.text:100029A5 jnz short loc_100029AE
.text:100029A7 mov [ebp+var_28], 0
.text:100029AE
.text:100029AE loc_100029AE: ; CODE XREF: CheckLicenseKey+155j
.text:100029AE push 0
.text:100029B0 push offset aN ; "&N="
.text:100029B5 lea ecx, [ebp+var_10]
.text:100029B8 call ds:MFC71_2272
.text:100029BE cmp eax, 0FFFFFFFFh
.text:100029C1 jnz short loc_100029CA
.text:100029C3 mov [ebp+var_28], 0
.text:100029CA
.text:100029CA loc_100029CA: ; CODE XREF: CheckLicenseKey+171j
.text:100029CA push 0
.text:100029CC push offset aTo ; "&TO="
.text:100029D1 lea ecx, [ebp+var_10]
.text:100029D4 call ds:MFC71_2272
.text:100029DA cmp eax, 0FFFFFFFFh
.text:100029DD jnz short loc_100029E6
.text:100029DF mov [ebp+var_28], 0
.text:100029E6
.text:100029E6 loc_100029E6: ; CODE XREF: CheckLicenseKey+18Dj
.text:100029E6 push 0
.text:100029E8 push offset aIp ; "&IP="
.text:100029ED lea ecx, [ebp+var_10]
.text:100029F0 call ds:MFC71_2272
.text:100029F6 cmp eax, 0FFFFFFFFh
.text:100029F9 jnz short loc_10002A02
.text:100029FB mov [ebp+var_28], 0
.text:10002A02
.text:10002A02 loc_10002A02: ; CODE XREF: CheckLicenseKey+1A9j
.text:10002A02 cmp [ebp+arg_4], 0
.text:10002A06 jnz short loc_10002A24
.text:10002A08 push 0
.text:10002A0A push offset aV ; "&V="
.text:10002A0F lea ecx, [ebp+var_10]
.text:10002A12 call ds:MFC71_2272
.text:10002A18 cmp eax, 0FFFFFFFFh
.text:10002A1B jnz short loc_10002A24
.text:10002A1D mov [ebp+var_28], 0
.text:10002A24
.text:10002A24 loc_10002A24: ; CODE XREF: CheckLicenseKey+1B6j
.text:10002A24 ; CheckLicenseKey+1CBj
.text:10002A24 lea edx, [ebp+var_734]
.text:10002A2A push edx
.text:10002A2B push offset unk_1000714C
.text:10002A30 mov eax, [ebp+arg_0]
.text:10002A33 push eax
.text:10002A34 call GetLicenseKey
.text:10002A39 lea ecx, [ebp+var_734]
.text:10002A3F push ecx
.text:10002A40 lea ecx, [ebp+var_24]
.text:10002A43 call ds:MFC71_304
.text:10002A49 mov byte ptr [ebp+var_4], 3
.text:10002A4D push offset aConc ; "CONC"
.text:10002A52 lea ecx, [ebp+var_24]
.text:10002A55 call ds:MFC71_1482
.text:10002A5B neg eax
.text:10002A5D sbb eax, eax
.text:10002A5F neg eax
.text:10002A61 movzx edx, al
.text:10002A64 test edx, edx
.text:10002A66 jz short loc_10002ADB
.text:10002A68 push offset aToken ; "TOKEN"
.text:10002A6D lea ecx, [ebp+var_24]
.text:10002A70 call ds:MFC71_1482
.text:10002A76 neg eax
.text:10002A78 sbb eax, eax
.text:10002A7A neg eax
.text:10002A7C movzx eax, al
.text:10002A7F test eax, eax
.text:10002A81 jz short loc_10002ADB
.text:10002A83 push offset aDemo ; "DEMO"
.text:10002A88 lea ecx, [ebp+var_24]
.text:10002A8B call ds:MFC71_1482
.text:10002A91 neg eax
.text:10002A93 sbb eax, eax
.text:10002A95 neg eax
.text:10002A97 movzx ecx, al
.text:10002A9A test ecx, ecx
.text:10002A9C jz short loc_10002ADB
.text:10002A9E push offset aNone ; "NONE"
.text:10002AA3 lea ecx, [ebp+var_24]
.text:10002AA6 call ds:MFC71_1482
.text:10002AAC neg eax
.text:10002AAE sbb eax, eax
.text:10002AB0 neg eax
.text:10002AB2 movzx edx, al
.text:10002AB5 test edx, edx
.text:10002AB7 jz short loc_10002ADB
.text:10002AB9 push offset aCpu ; "CPU"
.text:10002ABE lea ecx, [ebp+var_24]
.text:10002AC1 call ds:MFC71_1482
.text:10002AC7 neg eax
.text:10002AC9 sbb eax, eax
.text:10002ACB neg eax
.text:10002ACD movzx eax, al
.text:10002AD0 test eax, eax
.text:10002AD2 jz short loc_10002ADB
.text:10002AD4 mov [ebp+var_28], 0
.text:10002ADB
.text:10002ADB loc_10002ADB: ; CODE XREF: CheckLicenseKey+216j
.text:10002ADB ; CheckLicenseKey+231j ...
.text:10002ADB lea ecx, [ebp+var_734]
.text:10002AE1 push ecx
.text:10002AE2 push offset unk_10007148
.text:10002AE7 mov edx, [ebp+arg_0]
.text:10002AEA push edx
.text:10002AEB call GetLicenseKey
.text:10002AF0 lea eax, [ebp+var_734]
.text:10002AF6 push eax ; char *
.text:10002AF7 call ds:atoi
.text:10002AFD add esp, 4
.text:10002B00 test eax, eax
.text:10002B02 jg short loc_10002B0B
.text:10002B04 mov [ebp+var_28], 0
.text:10002B0B
.text:10002B0B loc_10002B0B: ; CODE XREF: CheckLicenseKey+2B2j
.text:10002B0B cmp [ebp+arg_4], 0
.text:10002B0F jnz loc_10002B9C
.text:10002B15 lea ecx, [ebp+var_734]
.text:10002B1B push ecx
.text:10002B1C push offset unk_1000713C
.text:10002B21 mov edx, [ebp+arg_0]
.text:10002B24 push edx
.text:10002B25 call GetLicenseKey
.text:10002B2A lea eax, [ebp+var_734]
.text:10002B30 push eax
.text:10002B31 lea ecx, [ebp+var_740]
.text:10002B37 call ds:MFC71_304
.text:10002B3D mov byte ptr [ebp+var_4], 4
.text:10002B41 push 0
.text:10002B43 push offset asc_100071A0 ; "/"
.text:10002B48 lea ecx, [ebp+var_740]
.text:10002B4E call ds:MFC71_2272
.text:10002B54 mov [ebp+var_14], eax
.text:10002B57 cmp [ebp+var_14], 4
.text:10002B5B jz short loc_10002B64
.text:10002B5D mov [ebp+var_28], 0
.text:10002B64
.text:10002B64 loc_10002B64: ; CODE XREF: CheckLicenseKey+30Bj
.text:10002B64 mov ecx, [ebp+var_14]
.text:10002B67 add ecx, 1
.text:10002B6A push ecx
.text:10002B6B push offset asc_100071A0 ; "/"
.text:10002B70 lea ecx, [ebp+var_740]
.text:10002B76 call ds:MFC71_2272
.text:10002B7C mov [ebp+var_14], eax
.text:10002B7F cmp [ebp+var_14], 7
.text:10002B83 jz short loc_10002B8C
.text:10002B85 mov [ebp+var_28], 0
.text:10002B8C
.text:10002B8C loc_10002B8C: ; CODE XREF: CheckLicenseKey+333j
.text:10002B8C mov byte ptr [ebp+var_4], 3
.text:10002B90 lea ecx, [ebp+var_740]
.text:10002B96 call ds:MFC71_578
.text:10002B9C
.text:10002B9C loc_10002B9C: ; CODE XREF: CheckLicenseKey+2BFj
.text:10002B9C mov edx, [ebp+var_28]
.text:10002B9F mov [ebp+var_744], edx
.text:10002BA5 mov byte ptr [ebp+var_4], 1
.text:10002BA9 lea ecx, [ebp+var_24]
.text:10002BAC call ds:MFC71_578
.text:10002BB2 mov byte ptr [ebp+var_4], 0
.text:10002BB6 lea ecx, [ebp+var_10]
.text:10002BB9 call ds:MFC71_578
.text:10002BBF mov [ebp+var_4], 0FFFFFFFFh
.text:10002BC6 mov eax, [ebp+var_18]
.text:10002BC9 mov ecx, [ebp+var_1C]
.text:10002BCC mov [eax+4], ecx
.text:10002BCF mov eax, [ebp+var_744]
.text:10002BD5 mov ecx, [ebp+var_C]
.text:10002BD8 mov large fs:0, ecx
.text:10002BDF pop edi
.text:10002BE0 mov esp, ebp
.text:10002BE2 pop ebp
.text:10002BE3 retn 8
.text:10002BE3 CheckLicenseKey endp
|