Алгоритм проверки ключа ПОМОГИТЕ !!!

Тема в разделе "WASM.BEGINNERS", создана пользователем romoga, 15 июн 2009.

  1. romoga

    romoga New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    20
    Имеется программа написанная на VB 6
    Процедура регистрации происходит путем проверки имени,серийника и пароля..
    Т.е. над всеми этими тремя строками происходят математические действия после чего проверяется валидность введенных данных.. Интересует алгоритм проверки ключа
    Декомпилировал в VB Decompiler 5 ... схема запутана, введенные данные передаются 7 процедурам по очереди...

    _______________главная форма__________
    Код (Text):
    1. Private Sub cmdOK_Click() '474647
    2.   loc_00474676: var_8 = &H402550
    3.                 If 4D474Ch = esi Then
    4.   loc_004746CE:   call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch, edi, esi, ebx)
    5.                 End If
    6.   loc_004746E6: call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch)
    7.   loc_004746F8: var_30 = Text2.Text
    8.                 If var_30 < esi Then
    9.   loc_00474715:   call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h)
    10.   loc_0047471A:   GoTo loc_00474721
    11.                 End If
    12.   loc_00474721: 'Referenced from 0047471A
    13.   loc_0047472A: call MSVBVM50.DLL.__vbaStrMove
    14.   loc_00474732: call MSVBVM50.DLL.__vbaFreeObj
    15.                 If 4D474Ch = esi Then
    16.   loc_0047474A:   call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch)
    17.                 End If
    18.   loc_00474762: call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch)
    19.   loc_00474774: var_30 = Text1.Text
    20.                 If var_30 < esi Then
    21.   loc_00474787:   call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h)
    22.                 End If
    23.   loc_00474795: call MSVBVM50.DLL.__vbaStrMove
    24.   loc_0047479D: call MSVBVM50.DLL.__vbaFreeObj
    25.                 If 4D474Ch = esi Then
    26.   loc_004747B5:   call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch)
    27.                 End If
    28.   loc_004747CD: call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch)
    29.   loc_004747DF: var_30 = Text3.Text
    30.                 If var_30 < esi Then
    31.   loc_004747F2:   call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h)
    32.                 End If
    33.   loc_00474800: call MSVBVM50.DLL.__vbaStrMove
    34.   loc_00474808: call MSVBVM50.DLL.__vbaFreeObj
    35.   loc_0047481E: var_80 = &H413234
    36.   loc_00474821: var_88 = 8
    37.   loc_00474827: call MSVBVM50.DLL.__vbaVarDup
    38.   loc_00474831: var_70 = ""
    39.   loc_0047484A: var_58 = Format(&H4008, "")
    40.   loc_00474853: call MSVBVM50.DLL.__vbaStrVarMove(var_58, 00000001h, 00000001h)
    41.   loc_0047485D: call MSVBVM50.DLL.__vbaStrMove
    42.   loc_0047486C: call MSVBVM50.DLL.__vbaFreeVarList(00000002h, "", var_58)
    43.   loc_0047487D: var_80 = &H413234
    44.   loc_00474880: var_88 = 8
    45.   loc_00474886: call MSVBVM50.DLL.__vbaVarDup
    46.   loc_00474890: var_70 = ""
    47.   loc_004748A4: var_58 = Format(&H4008, "")
    48.   loc_004748AD: call MSVBVM50.DLL.__vbaStrVarMove(var_58, 00000001h, 00000001h)
    49.   loc_004748B7: call MSVBVM50.DLL.__vbaStrMove
    50.   loc_004748C8: call MSVBVM50.DLL.__vbaFreeVarList(00000002h, "", var_58)
    51.   loc_004748EC: var_28 = Stupen1(arg_8, "", "")
    52.                 If var_28 < esi Then
    53.   loc_00474906:   call MSVBVM50.DLL.__vbaHresultCheckObj(var_28, arg_8, 00412504h, 000006FCh, "")
    54.                 End If
    55.   loc_00474920: var_60 = 80020004h
    56.   loc_00474923: var_68 = 10
    57.   loc_00474926: var_58 = 10
    58.   loc_00474929: var_48 = 10
    59.   loc_0047493D: var_50 = 80020004h
    60.   loc_00474940: var_40 = 80020004h
    61.   loc_00474943: var_70 = &H4D43FC
    62.   loc_0047494D: MsgBox(&H4008, esi, var_48, var_58, var_68)
    63.   loc_00474960: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_48, var_58, var_68)
    64.   loc_00474965: fld real4 ptr [004024C8h] ;
    65.   loc_00474975: fstp real4 ptr var_1C
    66.   loc_00474978: fld real4 ptr [004024CCh] ;
    67.   loc_0047497E: fstp real4 ptr ""0
    68.   loc_00474986: fstp real4 ptr var_BC
    69.   loc_0047498E: fstp real4 ptr var_20
    70.   loc_00474991: fld real4 ptr var_20
    71.   loc_00474994: fcomp real4 ptr ""0
    72.   loc_0047499A: fstsw ax
    73.                 If "" <= esi Then
    74.                   If 4D474Ch = 0 Then
    75.   loc_004749B6:     call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch)
    76.                   End If
    77.   loc_004749CE:   call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch)
    78.   loc_004749DC:   var_30 = Text2.Text
    79.                   If var_30 < 0 Then
    80.   loc_004749F2:     call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h)
    81.                   End If
    82.   loc_004749FF:   call MSVBVM50.DLL.__vbaStrCmp("koly022572", var_30)
    83.   loc_00474A07:   call MSVBVM50.DLL.__vbaFreeStr
    84.   loc_00474A0F:   call MSVBVM50.DLL.__vbaFreeObj
    85.   loc_00474A14:   fld real4 ptr var_1C
    86.   loc_00474A17:   fsub real4 ptr [004024D0h] ;
    87.   loc_00474A1D:   fstp real4 ptr var_1C
    88.   loc_00474A20:   fstsw ax
    89.                   If MSVBVM50.DLL.__vbaFreeObj = 0 Then
    90.   loc_00474A2A:     fld real4 ptr var_BC
    91.   loc_00474A30:     fadd real4 ptr var_20
    92.   loc_00474A33:     fstp real4 ptr var_20
    93.   loc_00474A36:     fstsw ax
    94.                     If MSVBVM50.DLL.__vbaFreeObj = 0 Then
    95.   loc_00474A40:       GoTo loc_00474991
    96.                       If 4D474Ch = MSVBVM50.DLL.__vbaObjSet("" Then
    97.   loc_00474A58:         call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch)
    98.                       End If
    99.   loc_00474A70:       call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch)
    100.   loc_00474A7E:       var_30 = Text2.Text
    101.                       If var_30 < 0 Then
    102.   loc_00474A94:         call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h)
    103.                       End If
    104.   loc_00474AA1:       call MSVBVM50.DLL.__vbaStrCmp("fhfr56hh", var_30)
    105.   loc_00474AA9:       call MSVBVM50.DLL.__vbaFreeStr
    106.   loc_00474AB1:       call MSVBVM50.DLL.__vbaFreeObj
    107.   loc_00474ABE:       call MSVBVM50.DLL.__vbaStrCopy
    108.   loc_00474ACD:       call MSVBVM50.DLL.__vbaStrCopy
    109.   loc_00474AE2:       Proc_0047AE1B(var_48, "SinForm", var_30)
    110.   loc_00474AF0:       call MSVBVM50.DLL.__vbaFreeStrList(00000002h, var_30, "", var_48, var_30, "", "")
    111.   loc_00474AFB:       call MSVBVM50.DLL.__vbaFreeVar
    112.   loc_00474B08:       call MSVBVM50.DLL.__vbaStrCopy
    113.   loc_00474B12:       call MSVBVM50.DLL.__vbaStrCopy
    114.   loc_00474B27:       Proc_0047AE1B(var_48, "SinForm", var_30)
    115.   loc_00474B35:       call MSVBVM50.DLL.__vbaFreeStrList(00000002h, var_30, "", var_48, var_30, "", "")
    116.   loc_00474B40:       call MSVBVM50.DLL.__vbaFreeVar
    117.   loc_00474B4D:       call MSVBVM50.DLL.__vbaStrCopy
    118.   loc_00474B57:       call MSVBVM50.DLL.__vbaStrCopy
    119.   loc_00474B6C:       Proc_0047AE1B(var_48, "SinForm", var_30)
    120.   loc_00474B7A:       call MSVBVM50.DLL.__vbaFreeStrList(00000002h, var_30, "", var_48, var_30, "", var_28)
    121.   loc_00474B85:       call MSVBVM50.DLL.__vbaFreeVar
    122.   loc_00474B8A:       004D408Eh = 004D408Eh Or FFFFh
    123.                     End If
    124.                     If var_4D408E = 65535 Then
    125.                       If var_4D5D74 = 0 Then
    126.   loc_00474BAF:         call MSVBVM50.DLL.__vbaNew2(00410A54h, 004D5D74h)
    127.                       End If
    128.   loc_00474BC3:       call MSVBVM50.DLL.__vbaObjSetAddref("", arg_8)
    129.   loc_00474BCA:       call frmRegistracij.GetTypeInfo(MSVBVM50.DLL.__vbaObjSetAddref("", arg_8))
    130.                       If frmRegistracij.GetTypeInfo(MSVBVM50.DLL.__vbaObjSetAddref("", arg_8)) < 0 Then
    131.   loc_00474BDA:         call MSVBVM50.DLL.__vbaHresultCheckObj(frmRegistracij.GetTypeInfo(MSVBVM50.DLL.__vbaObjSetAddref("", arg_8)), 004D5D74h, 00410B64h, 00000010h)
    132.                       End If
    133.   loc_00474BE2:       call MSVBVM50.DLL.__vbaFreeObj
    134.                     End If
    135.   loc_00474BF1:     GoTo loc_00474C24
    136.   loc_00474BFD:     call MSVBVM50.DLL.__vbaFreeStrList(00000002h, var_30, "", 00474C3Dh)
    137.   loc_00474C08:     call MSVBVM50.DLL.__vbaFreeObj
    138.   loc_00474C1B:     call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_4 And 00000000h8, var_58, var_68)
    139.   loc_00474C23:     Exit Sub
    140.   loc_00474C24:     'Referenced from 00474BF1
    141.   loc_00474C27:     call MSVBVM50.DLL.__vbaFreeStr
    142.   loc_00474C2F:     call MSVBVM50.DLL.__vbaFreeStr
    143.   loc_00474C37:     GoTo loc_MSVBVM50.DLL.__vbaFreeStr
    144.   loc_00474C3C:     Exit Sub
    145.   loc_00474C57:     Exit Sub
    146.                   End If
    147.                 End If
    148.   loc_00474C5A: GoTo loc_MSVBVM50.DLL.__vbaFPException
    149. End Sub
    ________________________________процедуры проверки
    Код (Text):
    1. Public Function Proverka(strCod) '4735AB
    2.   loc_004735D7: var_8 = &H4024D8
    3.   loc_0047364C: var_44 = 1
    4.   loc_00473650: var_4C = 2
    5.   loc_00473653: var_C4 = strCod
    6.   loc_00473663: var_5C = Mid$(""C, 00000011h, ""C)
    7.   loc_0047366B: var_64 = 1
    8.   loc_0047367B: var_6C = 2
    9.   loc_0047367F: var_E4 = strCod
    10.   loc_0047368F: var_7C = Mid$(&H4008, 00000011h, var_6C)
    11.   loc_0047369A: var_84 = 1
    12.   loc_004736B0: var_8C = 2
    13.   loc_004736B7: var_104 = strCod
    14.   loc_004736C7: var_9C = Mid$(&H4008, 00000012h, var_8C)
    15.   loc_004736D2: var_A4 = 1
    16.   loc_004736E8: var_AC = 2
    17.   loc_004736EE: var_124 = strCod
    18.   loc_004736FF: var_BC = Mid$(&H4008, 00000012h, var_AC)
    19.   loc_0047370C: call MSVBVM50.DLL.__vbaStrVarVal("", var_5C, strCod, 00000002h, 00000001h)
    20.   loc_00473712: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C, strCod, 00000002h, 00000001h))
    21.   loc_00473727: setnl bl
    22.   loc_0047372B: neg ebx
    23.   loc_0047372D: call MSVBVM50.DLL.__vbaStrVarVal("", var_BC)
    24.   loc_00473733: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_BC))
    25.   loc_00473741: setle cl
    26.   loc_00473748: neg ecx
    27.   loc_0047374B: ebx = ebx And ecx
    28.   loc_0047374D: call MSVBVM50.DLL.__vbaStrVarVal("", var_7C)
    29.   loc_00473753: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_7C))
    30.   loc_00473764: setle cl
    31.   loc_0047376B: neg ecx
    32.   loc_0047376E: ebx = ebx And ecx And ecx
    33.   loc_00473770: call MSVBVM50.DLL.__vbaStrVarVal("", var_9C)
    34.   loc_00473776: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_9C))
    35.   loc_00473790: setnl cl
    36.   loc_00473793: neg ecx
    37.   loc_00473798: ebx = ebx And ecx And ecx And ecx
    38.   loc_0047379A: call MSVBVM50.DLL.__vbaFreeStrList(00000004h, "", "", "", "")
    39.   loc_004737D0: call MSVBVM50.DLL.__vbaFreeVarList(00000008h, ""C, var_5C, var_6C, var_7C, var_8C, var_9C, var_AC, var_BC)
    40.                 If ebx And ecx And ecx And ecx <> 0 Then
    41.   loc_004737FB:   var_44 = 2
    42.   loc_004737FE:   var_4C = 2
    43.   loc_00473801:   var_C4 = strCod
    44.   loc_0047380D:   var_5C = Mid$(""C, 00000011h, ""C)
    45.   loc_0047381A:   call MSVBVM50.DLL.__vbaStrVarVal("", var_5C)
    46.   loc_00473820:   Val(MSVBVM50.DLL.__vbaStrVarVal("", var_5C))
    47.   loc_00473825:   fstp real4 ptr var_18
    48.   loc_0047382B:   call MSVBVM50.DLL.__vbaFreeStr
    49.   loc_00473839:   call MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C)
    50.   loc_0047383E:   fld real4 ptr var_18
    51.   loc_00473841:   fcomp real4 ptr [004024B0h] ;
    52.   loc_0047384A:   fstsw ax
    53.                   If var_24 Or FFFFFFFFh <> 0 Then
    54.   loc_00473853:     fld real4 ptr [004024B4h] ;
    55.   loc_00473859:     fstp real4 ptr var_14C
    56.   loc_00473861:     fstp real4 ptr var_148
    57.   loc_00473869:     fstp real4 ptr var_20
    58.   loc_0047386C:     fld real4 ptr var_20
    59.   loc_0047386F:     fcomp real4 ptr var_14C
    60.   loc_00473875:     fstsw ax
    61.                     If Not Asm.be_flag Then
    62.   loc_0047387E:       fld real4 ptr var_20
    63.   loc_00473884:       var_44 = 1
    64.   loc_0047388C:       var_4C = 2
    65.   loc_0047388F:       var_C4 = strCod
    66.   loc_0047389B:       call MSVBVM50.DLL.__vbaFpI4(""C)
    67.   loc_004738AC:       var_5C = Mid$(""C, MSVBVM50.DLL.__vbaFpI4(""C), %x4)
    68.   loc_004738B1:       fld real4 ptr var_20
    69.   loc_004738B7:       var_64 = 1
    70.   loc_004738BF:       var_6C = 2
    71.   loc_004738C2:       var_E4 = strCod
    72.   loc_004738CE:       call MSVBVM50.DLL.__vbaFpI4(var_6C)
    73.   loc_004738DF:       var_7C = Mid$(&H4008, MSVBVM50.DLL.__vbaFpI4(var_6C), %x4)
    74.   loc_004738E4:       fld real4 ptr var_20
    75.   loc_004738ED:       var_84 = 1
    76.   loc_004738F8:       var_8C = 2
    77.   loc_004738FE:       var_104 = strCod
    78.   loc_0047390A:       call MSVBVM50.DLL.__vbaFpI4(var_8C)
    79.   loc_0047391E:       var_9C = Mid$(&H4008, MSVBVM50.DLL.__vbaFpI4(var_8C), %x4)
    80.   loc_00473923:       fld real4 ptr var_20
    81.   loc_0047392C:       var_A4 = 1
    82.   loc_00473937:       var_AC = 2
    83.   loc_0047393D:       var_124 = strCod
    84.   loc_00473949:       call MSVBVM50.DLL.__vbaFpI4(var_AC)
    85.   loc_0047395D:       var_BC = Mid$(&H4008, MSVBVM50.DLL.__vbaFpI4(var_AC), %x4)
    86.   loc_0047396D:       call MSVBVM50.DLL.__vbaStrVarVal("", var_9C)
    87.   loc_00473973:       Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_9C))
    88.   loc_00473988:       setnl bl
    89.   loc_0047398C:       neg ebx
    90.   loc_0047398E:       call MSVBVM50.DLL.__vbaStrVarVal("", var_BC)
    91.   loc_00473994:       Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_BC))
    92.   loc_0047399F:       setle cl
    93.   loc_004739A2:       neg ecx
    94.   loc_004739A7:       ebx = ebx And ecx
    95.   loc_004739AE:       call MSVBVM50.DLL.__vbaStrVarVal("", var_5C)
    96.   loc_004739B4:       Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C))
    97.   loc_004739CC:       setnl bl
    98.   loc_004739D0:       neg ebx
    99.   loc_004739D2:       call MSVBVM50.DLL.__vbaStrVarVal("", var_7C)
    100.   loc_004739D8:       Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_7C))
    101.   loc_004739E9:       setle cl
    102.   loc_004739EC:       neg ecx
    103.   loc_004739EE:       ebx = ebx And ecx
    104.   loc_004739F0:       eax = "" Or ebx And ecx
    105.   loc_00473A06:       call MSVBVM50.DLL.__vbaFreeStrList(00000004h, "", "", "", "")
    106.   loc_00473A3C:       call MSVBVM50.DLL.__vbaFreeVarList(00000008h, ""C, var_5C, var_6C, var_7C, var_8C, var_9C, var_AC, var_BC)
    107.                       If "" Or ebx And ecx <> 0 Then
    108.   loc_00473A4D:         fld real4 ptr var_148
    109.   loc_00473A53:         fadd real4 ptr var_20
    110.   loc_00473A56:         var_24 = var_24 Or FFFFFFFFh
    111.   loc_00473A62:         fstp real4 ptr var_20
    112.   loc_00473A65:         fstsw ax
    113.                         If MSVBVM50.DLL.__vbaFreeVarList(00000008h, ""C, var_5C, var_6C, var_7C, var_8C, var_9C, var_AC, var_BC) = 0 Then
    114.   loc_00473A6F:           GoTo loc_0047386C
    115.                         End If
    116.   loc_00473A76:         fstp real4 ptr var_28
    117.   loc_00473A79:         fld real4 ptr [004024B8h] ;
    118.   loc_00473A7F:         fstp real4 ptr var_154
    119.   loc_00473A87:         fstp real4 ptr var_150
    120.   loc_00473A8F:         fstp real4 ptr var_20
    121.   loc_00473A92:         fld real4 ptr var_20
    122.   loc_00473A95:         fcomp real4 ptr var_154
    123.   loc_00473A9B:         fstsw ax
    124.                         If Not Asm.be_flag Then
    125.   loc_00473AA4:           fld real4 ptr var_20
    126.   loc_00473AAA:           var_44 = 1
    127.   loc_00473AB2:           var_4C = 2
    128.   loc_00473AB5:           var_C4 = strCod
    129.   loc_00473AC1:           call MSVBVM50.DLL.__vbaFpI4(""C)
    130.   loc_00473AD2:           var_5C = Mid$(""C, MSVBVM50.DLL.__vbaFpI4(""C), %x4)
    131.   loc_00473ADF:           call MSVBVM50.DLL.__vbaStrVarVal("", var_5C)
    132.   loc_00473AE5:           Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C))
    133.   loc_00473AEA:           movsx eax, ax
    134.   loc_00473AF6:           fild dword ptr Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C))
    135.   loc_00473AFC:           fstp real4 ptr var_170
    136.   loc_00473B02:           fld real4 ptr var_170
    137.   loc_00473B08:           fadd real4 ptr var_28
    138.   loc_00473B0B:           fstp real4 ptr var_28
    139.   loc_00473B0E:           fstsw ax
    140.                           If Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) = 0 Then
    141.   loc_00473B18:             call MSVBVM50.DLL.__vbaFreeStr
    142.   loc_00473B26:             call MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C)
    143.   loc_00473B2B:             fld real4 ptr var_150
    144.   loc_00473B31:             fadd real4 ptr var_20
    145.   loc_00473B37:             fstp real4 ptr var_20
    146.   loc_00473B3A:             fstsw ax
    147.                             If MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C) = 0 Then
    148.   loc_00473B44:               GoTo loc_00473A92
    149.                             End If
    150.   loc_00473B49:             fld real4 ptr var_28
    151.                             If ""D4000 = 0 Then
    152.   loc_00473B55:               fdiv real4 ptr [004024BCh] ;
    153.   loc_00473B5B:               GoTo loc_00473B68
    154.                             End If
    155.   loc_00473B63:             call MSVBVM50.DLL._adj_fdiv_m32(""024BC)
    156.   loc_00473B68:             'Referenced from 00473B5B
    157.   loc_00473B68:             fstsw ax
    158.                             If MSVBVM50.DLL._adj_fdiv_m32(""024BC) = 0 Then
    159.   loc_00473B72:               fstp real4 ptr var_174
    160.   loc_00473B78:               fld real4 ptr var_28
    161.                               If ""D4000 = 0 Then
    162.   loc_00473B84:                 fdiv real4 ptr [004024BCh] ;
    163.   loc_00473B8A:                 GoTo loc_00473B97
    164.                               End If
    165.   loc_00473B92:               call MSVBVM50.DLL._adj_fdiv_m32(""024BC)
    166.   loc_00473B97:               'Referenced from 00473B8A
    167.   loc_00473B97:               fstsw ax
    168.                               If MSVBVM50.DLL._adj_fdiv_m32(""024BC) = 0 Then
    169.   loc_00473BA1:                 call MSVBVM50.DLL.__vbaFPFix
    170.   loc_00473BA6:                 fsubr real4 ptr var_174
    171.   loc_00473BAC:                 fstsw ax
    172.                                 If MSVBVM50.DLL.__vbaFPFix = 0 Then
    173.   loc_00473BB6:                   call MSVBVM50.DLL.__vbaFpR4
    174.   loc_00473BBB:                   fcomp real4 ptr [004024B0h] ;
    175.   loc_00473BC1:                   fstsw ax
    176.                                   If Not Asm.z_flag Then
    177.   loc_00473BD0:                     fstp real4 ptr var_28
    178.   loc_00473BD3:                     fld real4 ptr [004024C0h] ;
    179.   loc_00473BD9:                     fstp real4 ptr var_15C
    180.   loc_00473BE1:                     fstp real4 ptr var_158
    181.   loc_00473BE7:                     fld real4 ptr [004024C4h] ;
    182.   loc_00473BED:                     fstp real4 ptr var_20
    183.   loc_00473BF0:                     fld real4 ptr var_20
    184.   loc_00473BF3:                     fcomp real4 ptr var_15C
    185.   loc_00473BF9:                     fstsw ax
    186.                                     If var_24 Or FFFFFFFFh <= 0 Then
    187.   loc_00473C02:                       fld real4 ptr var_20
    188.   loc_00473C08:                       var_44 = 1
    189.   loc_00473C10:                       var_4C = 2
    190.   loc_00473C13:                       var_C4 = strCod
    191.   loc_00473C1F:                       call MSVBVM50.DLL.__vbaFpI4(""C)
    192.   loc_00473C30:                       var_5C = Mid$(""C, MSVBVM50.DLL.__vbaFpI4(""C), %x4)
    193.   loc_00473C3D:                       call MSVBVM50.DLL.__vbaStrVarVal("", var_5C)
    194.   loc_00473C43:                       Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C))
    195.   loc_00473C48:                       movsx eax, ax
    196.   loc_00473C54:                       fild dword ptr Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C))
    197.   loc_00473C5A:                       fstp real4 ptr var_17C
    198.   loc_00473C60:                       fld real4 ptr var_17C
    199.   loc_00473C66:                       fadd real4 ptr var_28
    200.   loc_00473C69:                       fstp real4 ptr var_28
    201.   loc_00473C6C:                       fstsw ax
    202.                                       If Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) = 0 Then
    203.   loc_00473C76:                         call MSVBVM50.DLL.__vbaFreeStr
    204.   loc_00473C84:                         call MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C)
    205.   loc_00473C89:                         fld real4 ptr var_158
    206.   loc_00473C8F:                         fadd real4 ptr var_20
    207.   loc_00473C95:                         fstp real4 ptr var_20
    208.   loc_00473C98:                         fstsw ax
    209.                                         If MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C) = 0 Then
    210.   loc_00473CA2:                           GoTo loc_00473BF0
    211.                                         End If
    212.   loc_00473CA7:                         fld real4 ptr var_28
    213.                                         If ""D4000 = 0 Then
    214.   loc_00473CB3:                           fdiv real4 ptr var_18
    215.   loc_00473CB6:                           GoTo loc_00473CC0
    216.                                         End If
    217.   loc_00473CBB:                         call MSVBVM50.DLL._adj_fdiv_m32(var_18)
    218.   loc_00473CC0:                         'Referenced from 00473CB6
    219.   loc_00473CC0:                         fstsw ax
    220.                                         If MSVBVM50.DLL._adj_fdiv_m32(var_18) = 0 Then
    221.   loc_00473CCA:                           fstp real4 ptr var_180
    222.   loc_00473CD0:                           fld real4 ptr var_28
    223.                                           If ""D4000 = 0 Then
    224.   loc_00473CDC:                             fdiv real4 ptr var_18
    225.   loc_00473CDF:                             GoTo loc_00473CE9
    226.                                           End If
    227.   loc_00473CE4:                           call MSVBVM50.DLL._adj_fdiv_m32(var_18)
    228.   loc_00473CE9:                           'Referenced from 00473CDF
    229.   loc_00473CE9:                           fstsw ax
    230.                                           If MSVBVM50.DLL._adj_fdiv_m32(var_18) = 0 Then
    231.   loc_00473CF3:                             call MSVBVM50.DLL.__vbaFPFix
    232.   loc_00473CF8:                             fsubr real4 ptr var_180
    233.   loc_00473CFE:                             fstsw ax
    234.                                             If MSVBVM50.DLL.__vbaFPFix = 0 Then
    235.   loc_00473D08:                               call MSVBVM50.DLL.__vbaFpR4
    236.   loc_00473D0D:                               fcomp real4 ptr [004024B0h] ;
    237.   loc_00473D13:                               fstsw ax
    238.                                               If Not Asm.z_flag Then
    239.   loc_00473D18:                                 var_24 = var_24 Or FFFFFFFFh
    240.   loc_00473D1C:                                 GoTo loc_00473D22
    241.                                               End If
    242.                                             End If
    243.                                           End If
    244.                                         End If
    245.                                       End If
    246.   loc_00473D1E:                       var_24 = var_24 And 00000000h
    247.   loc_00473D22:                       'Referenced from 00473D1C
    248.   loc_00473D28:                       GoTo loc_00473D7B
    249.   loc_00473D3C:                       call MSVBVM50.DLL.__vbaFreeStrList(00000004h, "", "", "", "", 00473D84h)
    250.   loc_00473D72:                       call MSVBVM50.DLL.__vbaFreeVarList(00000008h, ""C, var_5C, var_6C, var_7C, var_8C, var_9C, var_AC, var_BC)
    251.   loc_00473D7A:                       Exit Sub
    252.   loc_00473D7B:                       'Referenced from 00473D28
    253.   loc_00473D7E:                       GoTo loc_MSVBVM50.DLL.__vbaFreeStr
    254.   loc_00473D83:                       Exit Sub
    255.   loc_00473DA8:                       Exit Sub
    256.                                     End If
    257.                                   End If
    258.                                 End If
    259.                               End If
    260.                             End If
    261.                           End If
    262.                         End If
    263.                       End If
    264.                     End If
    265.                   End If
    266.                 End If
    267.   loc_00473DAB: GoTo loc_MSVBVM50.DLL.__vbaFPException
    268. End Function
    Код (Text):
    1. Public Function Stupen1(strCod, strImay, strParol) '473DB5
    2.   loc_00473DE1: var_8 = &H4024E8
    3.   loc_00473E0E: call MSVBVM50.DLL.__vbaStrCmp("Hello World", [eax], edi, ebx, arg_8)
    4.                 If MSVBVM50.DLL.__vbaStrCmp("Hello World", [eax], edi, ebx, arg_8) = 0 Then
    5.   loc_00473E1F:   var_44 = 80020004h
    6.   loc_00473E22:   var_4C = 10
    7.   loc_00473E25:   var_3C = 10
    8.   loc_00473E28:   var_2C = 10
    9.   loc_00473E3C:   var_34 = 80020004h
    10.   loc_00473E3F:   var_24 = 80020004h
    11.   loc_00473E42:   var_54 = &H4D43FC
    12.   loc_00473E50:   MsgBox(&H4008, edi, var_2C, var_3C, ""C)
    13.   loc_00473E63:   call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    14.   loc_00473E6E:   GoTo loc_00473EA5
    15.                 End If
    16.   loc_00473E81: strParol = Stupen2(arg_8, strCod, strImay)
    17.                 If "" < edi Then
    18.   loc_00473E97:   call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000700h, "")
    19.                 End If
    20.   loc_00473EA2: var_18 = ""
    21.   loc_00473EA5: 'Referenced from 00473E6E
    22.   loc_00473EAA: GoTo loc_00473EC3
    23.   loc_00473EBA: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    24.   loc_00473EC2: Exit Sub
    25.   loc_00473EC3: 'Referenced from 00473EAA
    26.   loc_00473EC3: Exit Sub
    27.   loc_00473EE8: Exit Sub
    28. End Function
    Код (Text):
    1. Public Function Stupen1(strCod, strImay, strParol) '473DB5
    2.   loc_00473DE1: var_8 = &H4024E8
    3.   loc_00473E0E: call MSVBVM50.DLL.__vbaStrCmp("Hello World", [eax], edi, ebx, arg_8)
    4.                 If MSVBVM50.DLL.__vbaStrCmp("Hello World", [eax], edi, ebx, arg_8) = 0 Then
    5.   loc_00473E1F:   var_44 = 80020004h
    6.   loc_00473E22:   var_4C = 10
    7.   loc_00473E25:   var_3C = 10
    8.   loc_00473E28:   var_2C = 10
    9.   loc_00473E3C:   var_34 = 80020004h
    10.   loc_00473E3F:   var_24 = 80020004h
    11.   loc_00473E42:   var_54 = &H4D43FC
    12.   loc_00473E50:   MsgBox(&H4008, edi, var_2C, var_3C, ""C)
    13.   loc_00473E63:   call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    14.   loc_00473E6E:   GoTo loc_00473EA5
    15.                 End If
    16.   loc_00473E81: strParol = Stupen2(arg_8, strCod, strImay)
    17.                 If "" < edi Then
    18.   loc_00473E97:   call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000700h, "")
    19.                 End If
    20.   loc_00473EA2: var_18 = ""
    21.   loc_00473EA5: 'Referenced from 00473E6E
    22.   loc_00473EAA: GoTo loc_00473EC3
    23.   loc_00473EBA: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    24.   loc_00473EC2: Exit Sub
    25.   loc_00473EC3: 'Referenced from 00473EAA
    26.   loc_00473EC3: Exit Sub
    27.   loc_00473EE8: Exit Sub
    28. End Function
    Код (Text):
    1. Public Function Stupen3(strCod, strImay, strParol) '474021
    2.   loc_0047404D: var_8 = &H402508
    3.   loc_0047407A: call MSVBVM50.DLL.__vbaStrCmp("Ne поарсимке54рртирпаименарв2ццсамивпегшлджблоутв со end оатокшлллллллл", [eax], edi, ebx, arg_8)
    4.                 If MSVBVM50.DLL.__vbaStrCmp("Ne поарсимке54рртирпаименарв2ццсамивпегшлджблоутв со end оатокшлллллллл", [eax], edi, ebx, arg_8) = 0 Then
    5.   loc_0047408B:   var_44 = 80020004h
    6.   loc_0047408E:   var_4C = 10
    7.   loc_00474091:   var_3C = 10
    8.   loc_00474094:   var_2C = 10
    9.   loc_004740A8:   var_34 = 80020004h
    10.   loc_004740AB:   var_24 = 80020004h
    11.   loc_004740AE:   var_54 = &H4D43FC
    12.   loc_004740BC:   MsgBox(&H4008, edi, var_2C, var_3C, ""C)
    13.   loc_004740CF:   call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    14.   loc_004740DA:   GoTo loc_00474111
    15.                 End If
    16.   loc_004740ED: strParol = Stupen4(arg_8, strCod, strImay)
    17.                 If "" < edi Then
    18.   loc_00474103:   call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000708h, "")
    19.                 End If
    20.   loc_0047410E: var_1C = ""
    21.   loc_00474111: 'Referenced from 004740DA
    22.   loc_00474116: GoTo loc_0047412F
    23.   loc_00474126: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    24.   loc_0047412E: Exit Sub
    25.   loc_0047412F: 'Referenced from 00474116
    26.   loc_0047412F: Exit Sub
    27.   loc_00474154: Exit Sub
    28. End Function
    Код (Text):
    1. Public Function Stupen4(strCod, strImay, strParol) '474157
    2.   loc_00474183: var_8 = &H402518
    3.   loc_004741B0: call MSVBVM50.DLL.__vbaStrCmp("отутв end ij if then лазкл аовлкш mmmmm ооооооокраоаоаоаоаооаоаоаоа", [eax], edi, ebx, arg_8)
    4.                 If MSVBVM50.DLL.__vbaStrCmp("отутв end ij if then лазкл аовлкш mmmmm ооооооокраоаоаоаоаооаоаоаоа", [eax], edi, ebx, arg_8) = 0 Then
    5.   loc_004741C1:   var_44 = 80020004h
    6.   loc_004741C4:   var_4C = 10
    7.   loc_004741C7:   var_3C = 10
    8.   loc_004741CA:   var_2C = 10
    9.   loc_004741DE:   var_34 = 80020004h
    10.   loc_004741E1:   var_24 = 80020004h
    11.   loc_004741E4:   var_54 = &H4D43FC
    12.   loc_004741F2:   MsgBox(&H4008, edi, var_2C, var_3C, ""C)
    13.   loc_00474205:   call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    14.   loc_00474210:   GoTo loc_00474247
    15.                 End If
    16.   loc_00474223: strParol = Stupen5(arg_8, strCod, strImay)
    17.                 If "" < edi Then
    18.   loc_00474239:   call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 0000070Ch, "")
    19.                 End If
    20.   loc_00474244: var_1C = ""
    21.   loc_00474247: 'Referenced from 00474210
    22.   loc_0047424C: GoTo loc_00474265
    23.   loc_0047425C: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    24.   loc_00474264: Exit Sub
    25.   loc_00474265: 'Referenced from 0047424C
    26.   loc_00474265: Exit Sub
    27.   loc_0047428A: Exit Sub
    28. End Function
    Код (Text):
    1. Public Function Stupen5(strCod, strImay, strParol) '47428D
    2.   loc_004742B9: var_8 = &H402528
    3.   loc_004742E7: call MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax], eax, 0040E868h, ebx)
    4.   loc_004742F1: neg ebx
    5.   loc_004742F5: sbb ebx, ebx
    6.   loc_004742F8: neg ebx
    7.   loc_004742FA: call MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax])
    8.   loc_004742FF: neg eax
    9.   loc_00474301: sbb eax, eax
    10.   loc_00474303: neg eax
    11.   loc_00474305: ebx = MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax], eax, 0040E868h, ebx) And MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax])
    12.   loc_00474307: neg ebx
    13.   loc_00474309: sbb ebx, ebx
    14.   loc_0047430B: neg ebx
    15.   loc_0047430D: var_A0 = MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax], eax, 0040E868h, ebx) And MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax])
    16.   loc_00474319: call MSVBVM50.DLL.__vbaStrCmp(0040E868h, [ebx])
    17.   loc_00474324: neg eax
    18.   loc_00474326: sbb eax, eax
    19.   loc_00474328: neg eax
    20.                 If var_A0 = 0 Then
    21.   loc_00474336:   var_44 = 80020004h
    22.   loc_00474339:   var_4C = 10
    23.   loc_0047433C:   var_3C = 10
    24.   loc_0047433F:   var_2C = 10
    25.   loc_00474354:   var_34 = 80020004h
    26.   loc_00474357:   var_24 = 80020004h
    27.   loc_0047435A:   var_54 = &H4D43FC
    28.   loc_00474368:   MsgBox(&H4008, 00000000h, var_2C, var_3C, ""C)
    29.   loc_0047437B:   call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    30.   loc_00474383:   var_1C = var_1C And 00000000h
    31.   loc_00474387:   GoTo loc_004743C0
    32.                 End If
    33.   loc_0047439A: strParol = Stupen6(arg_8, strCod, strImay)
    34.                 If "" < 0 Then
    35.   loc_004743B2:   call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000710h, "")
    36.                 End If
    37.   loc_004743BD: var_1C = ""
    38.   loc_004743C0: 'Referenced from 00474387
    39.   loc_004743C5: GoTo loc_004743DE
    40.   loc_004743D5: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    41.   loc_004743DD: Exit Sub
    42.   loc_004743DE: 'Referenced from 004743C5
    43.   loc_004743DE: Exit Sub
    44.   loc_00474403: Exit Sub
    45. End Function
    Код (Text):
    1. Public Function Stupen6(strCod, strImay, strParol) '474406
    2.   loc_00474432: var_8 = &H402538
    3.   loc_0047445A: call MSVBVM50.DLL.__vbaLenBstr([edi], strCod, eax, ebx)
    4.   loc_00474466: setnl bl
    5.   loc_00474469: call MSVBVM50.DLL.__vbaLenBstr([edi])
    6.   loc_00474478: setle cl
    7.   loc_0047447B: ebx = ebx And ecx
    8.   loc_0047447D: neg ebx
    9.   loc_0047447F: sbb ebx, ebx
    10.   loc_00474481: neg ebx
    11.   loc_00474483: call MSVBVM50.DLL.__vbaLenBstr([edi])
    12.   loc_00474495: setnl bl
    13.   loc_00474498: call MSVBVM50.DLL.__vbaLenBstr([edi])
    14.   loc_004744A2: setle cl
    15.   loc_004744AB: ebx = ebx And ecx
    16.   loc_004744AD: neg ebx
    17.   loc_004744B2: sbb ebx, ebx
    18.   loc_004744B4: neg ebx
    19.   loc_004744B8: edx = "" And ebx And ecx
    20.   loc_004744BA: neg edx
    21.   loc_004744BC: sbb edx, edx
    22.   loc_004744BE: neg edx
    23.   loc_004744C0: var_A4 = "" And ebx And ecx
    24.   loc_004744C6: call MSVBVM50.DLL.__vbaLenBstr([edi])
    25.   loc_004744D2: setle bl
    26.   loc_004744D5: call MSVBVM50.DLL.__vbaLenBstr([edi])
    27.   loc_004744DF: setnl cl
    28.   loc_004744E8: ebx = ebx And ecx
    29.   loc_004744EA: neg ebx
    30.   loc_004744EC: sbb ebx, ebx
    31.   loc_004744EE: neg ebx
    32.                 If var_A4 = 0 Then
    33.   loc_004744FC:   var_44 = 80020004h
    34.   loc_004744FF:   var_4C = 10
    35.   loc_00474502:   var_3C = 10
    36.   loc_00474505:   var_2C = 10
    37.   loc_0047451A:   var_34 = 80020004h
    38.   loc_0047451D:   var_24 = 80020004h
    39.   loc_00474520:   var_54 = &H4D43FC
    40.   loc_0047452E:   MsgBox(&H4008, 00000000h, var_2C, var_3C, ""C)
    41.   loc_00474541:   call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    42.   loc_00474549:   var_1C = var_1C And 00000000h
    43.   loc_0047454D:   GoTo loc_00474588
    44.                 End If
    45.   loc_00474562: strParol = Stupen7(arg_8, strCod, strImay)
    46.                 If "" < 0 Then
    47.   loc_0047457A:   call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000714h, "")
    48.                 End If
    49.   loc_00474585: var_1C = ""
    50.   loc_00474588: 'Referenced from 0047454D
    51.   loc_0047458D: GoTo loc_004745A6
    52.   loc_0047459D: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C)
    53.   loc_004745A5: Exit Sub
    54.   loc_004745A6: 'Referenced from 0047458D
    55.   loc_004745A6: Exit Sub
    56.   loc_004745CB: Exit Sub
    57. End Function
    Код (Text):
    1. Public Function Stupen7(strCod, strImay, strParol) '4745CE
    2.   loc_004745F5: var_8 = &H402548
    3.   loc_004745FC: var_4 = var_4 And 00000000h
    4.   loc_00474607: var_18 = var_18 And 00000000h
    5.   loc_00474611: Proc_00476E94(arg_8, edx, eax)
    6.                 If Proc_00476E94(arg_8, edx, eax) = 65535 Then
    7.   loc_0047461C:   var_18 = var_18 Or FFFFFFFFh
    8.                 End If
    9.   loc_00474644: Exit Sub
    10. End Function
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    запости на краклаб - он больше для таких целей подходит