Имеется программа написанная на VB 6 Процедура регистрации происходит путем проверки имени,серийника и пароля.. Т.е. над всеми этими тремя строками происходят математические действия после чего проверяется валидность введенных данных.. Интересует алгоритм проверки ключа Декомпилировал в VB Decompiler 5 ... схема запутана, введенные данные передаются 7 процедурам по очереди... _______________главная форма__________ Код (Text): Private Sub cmdOK_Click() '474647 loc_00474676: var_8 = &H402550 If 4D474Ch = esi Then loc_004746CE: call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch, edi, esi, ebx) End If loc_004746E6: call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch) loc_004746F8: var_30 = Text2.Text If var_30 < esi Then loc_00474715: call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h) loc_0047471A: GoTo loc_00474721 End If loc_00474721: 'Referenced from 0047471A loc_0047472A: call MSVBVM50.DLL.__vbaStrMove loc_00474732: call MSVBVM50.DLL.__vbaFreeObj If 4D474Ch = esi Then loc_0047474A: call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch) End If loc_00474762: call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch) loc_00474774: var_30 = Text1.Text If var_30 < esi Then loc_00474787: call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h) End If loc_00474795: call MSVBVM50.DLL.__vbaStrMove loc_0047479D: call MSVBVM50.DLL.__vbaFreeObj If 4D474Ch = esi Then loc_004747B5: call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch) End If loc_004747CD: call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch) loc_004747DF: var_30 = Text3.Text If var_30 < esi Then loc_004747F2: call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h) End If loc_00474800: call MSVBVM50.DLL.__vbaStrMove loc_00474808: call MSVBVM50.DLL.__vbaFreeObj loc_0047481E: var_80 = &H413234 loc_00474821: var_88 = 8 loc_00474827: call MSVBVM50.DLL.__vbaVarDup loc_00474831: var_70 = "" loc_0047484A: var_58 = Format(&H4008, "") loc_00474853: call MSVBVM50.DLL.__vbaStrVarMove(var_58, 00000001h, 00000001h) loc_0047485D: call MSVBVM50.DLL.__vbaStrMove loc_0047486C: call MSVBVM50.DLL.__vbaFreeVarList(00000002h, "", var_58) loc_0047487D: var_80 = &H413234 loc_00474880: var_88 = 8 loc_00474886: call MSVBVM50.DLL.__vbaVarDup loc_00474890: var_70 = "" loc_004748A4: var_58 = Format(&H4008, "") loc_004748AD: call MSVBVM50.DLL.__vbaStrVarMove(var_58, 00000001h, 00000001h) loc_004748B7: call MSVBVM50.DLL.__vbaStrMove loc_004748C8: call MSVBVM50.DLL.__vbaFreeVarList(00000002h, "", var_58) loc_004748EC: var_28 = Stupen1(arg_8, "", "") If var_28 < esi Then loc_00474906: call MSVBVM50.DLL.__vbaHresultCheckObj(var_28, arg_8, 00412504h, 000006FCh, "") End If loc_00474920: var_60 = 80020004h loc_00474923: var_68 = 10 loc_00474926: var_58 = 10 loc_00474929: var_48 = 10 loc_0047493D: var_50 = 80020004h loc_00474940: var_40 = 80020004h loc_00474943: var_70 = &H4D43FC loc_0047494D: MsgBox(&H4008, esi, var_48, var_58, var_68) loc_00474960: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_48, var_58, var_68) loc_00474965: fld real4 ptr [004024C8h] ; loc_00474975: fstp real4 ptr var_1C loc_00474978: fld real4 ptr [004024CCh] ; loc_0047497E: fstp real4 ptr ""0 loc_00474986: fstp real4 ptr var_BC loc_0047498E: fstp real4 ptr var_20 loc_00474991: fld real4 ptr var_20 loc_00474994: fcomp real4 ptr ""0 loc_0047499A: fstsw ax If "" <= esi Then If 4D474Ch = 0 Then loc_004749B6: call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch) End If loc_004749CE: call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch) loc_004749DC: var_30 = Text2.Text If var_30 < 0 Then loc_004749F2: call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h) End If loc_004749FF: call MSVBVM50.DLL.__vbaStrCmp("koly022572", var_30) loc_00474A07: call MSVBVM50.DLL.__vbaFreeStr loc_00474A0F: call MSVBVM50.DLL.__vbaFreeObj loc_00474A14: fld real4 ptr var_1C loc_00474A17: fsub real4 ptr [004024D0h] ; loc_00474A1D: fstp real4 ptr var_1C loc_00474A20: fstsw ax If MSVBVM50.DLL.__vbaFreeObj = 0 Then loc_00474A2A: fld real4 ptr var_BC loc_00474A30: fadd real4 ptr var_20 loc_00474A33: fstp real4 ptr var_20 loc_00474A36: fstsw ax If MSVBVM50.DLL.__vbaFreeObj = 0 Then loc_00474A40: GoTo loc_00474991 If 4D474Ch = MSVBVM50.DLL.__vbaObjSet("" Then loc_00474A58: call MSVBVM50.DLL.__vbaNew2(00408000h, 004D474Ch) End If loc_00474A70: call MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch) loc_00474A7E: var_30 = Text2.Text If var_30 < 0 Then loc_00474A94: call MSVBVM50.DLL.__vbaHresultCheckObj(var_30, MSVBVM50.DLL.__vbaObjSet("", 4D474Ch, 4D474Ch), 0041124Ch, 000000A0h) End If loc_00474AA1: call MSVBVM50.DLL.__vbaStrCmp("fhfr56hh", var_30) loc_00474AA9: call MSVBVM50.DLL.__vbaFreeStr loc_00474AB1: call MSVBVM50.DLL.__vbaFreeObj loc_00474ABE: call MSVBVM50.DLL.__vbaStrCopy loc_00474ACD: call MSVBVM50.DLL.__vbaStrCopy loc_00474AE2: Proc_0047AE1B(var_48, "SinForm", var_30) loc_00474AF0: call MSVBVM50.DLL.__vbaFreeStrList(00000002h, var_30, "", var_48, var_30, "", "") loc_00474AFB: call MSVBVM50.DLL.__vbaFreeVar loc_00474B08: call MSVBVM50.DLL.__vbaStrCopy loc_00474B12: call MSVBVM50.DLL.__vbaStrCopy loc_00474B27: Proc_0047AE1B(var_48, "SinForm", var_30) loc_00474B35: call MSVBVM50.DLL.__vbaFreeStrList(00000002h, var_30, "", var_48, var_30, "", "") loc_00474B40: call MSVBVM50.DLL.__vbaFreeVar loc_00474B4D: call MSVBVM50.DLL.__vbaStrCopy loc_00474B57: call MSVBVM50.DLL.__vbaStrCopy loc_00474B6C: Proc_0047AE1B(var_48, "SinForm", var_30) loc_00474B7A: call MSVBVM50.DLL.__vbaFreeStrList(00000002h, var_30, "", var_48, var_30, "", var_28) loc_00474B85: call MSVBVM50.DLL.__vbaFreeVar loc_00474B8A: 004D408Eh = 004D408Eh Or FFFFh End If If var_4D408E = 65535 Then If var_4D5D74 = 0 Then loc_00474BAF: call MSVBVM50.DLL.__vbaNew2(00410A54h, 004D5D74h) End If loc_00474BC3: call MSVBVM50.DLL.__vbaObjSetAddref("", arg_8) loc_00474BCA: call frmRegistracij.GetTypeInfo(MSVBVM50.DLL.__vbaObjSetAddref("", arg_8)) If frmRegistracij.GetTypeInfo(MSVBVM50.DLL.__vbaObjSetAddref("", arg_8)) < 0 Then loc_00474BDA: call MSVBVM50.DLL.__vbaHresultCheckObj(frmRegistracij.GetTypeInfo(MSVBVM50.DLL.__vbaObjSetAddref("", arg_8)), 004D5D74h, 00410B64h, 00000010h) End If loc_00474BE2: call MSVBVM50.DLL.__vbaFreeObj End If loc_00474BF1: GoTo loc_00474C24 loc_00474BFD: call MSVBVM50.DLL.__vbaFreeStrList(00000002h, var_30, "", 00474C3Dh) loc_00474C08: call MSVBVM50.DLL.__vbaFreeObj loc_00474C1B: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_4 And 00000000h8, var_58, var_68) loc_00474C23: Exit Sub loc_00474C24: 'Referenced from 00474BF1 loc_00474C27: call MSVBVM50.DLL.__vbaFreeStr loc_00474C2F: call MSVBVM50.DLL.__vbaFreeStr loc_00474C37: GoTo loc_MSVBVM50.DLL.__vbaFreeStr loc_00474C3C: Exit Sub loc_00474C57: Exit Sub End If End If loc_00474C5A: GoTo loc_MSVBVM50.DLL.__vbaFPException End Sub ________________________________процедуры проверки Код (Text): Public Function Proverka(strCod) '4735AB loc_004735D7: var_8 = &H4024D8 loc_0047364C: var_44 = 1 loc_00473650: var_4C = 2 loc_00473653: var_C4 = strCod loc_00473663: var_5C = Mid$(""C, 00000011h, ""C) loc_0047366B: var_64 = 1 loc_0047367B: var_6C = 2 loc_0047367F: var_E4 = strCod loc_0047368F: var_7C = Mid$(&H4008, 00000011h, var_6C) loc_0047369A: var_84 = 1 loc_004736B0: var_8C = 2 loc_004736B7: var_104 = strCod loc_004736C7: var_9C = Mid$(&H4008, 00000012h, var_8C) loc_004736D2: var_A4 = 1 loc_004736E8: var_AC = 2 loc_004736EE: var_124 = strCod loc_004736FF: var_BC = Mid$(&H4008, 00000012h, var_AC) loc_0047370C: call MSVBVM50.DLL.__vbaStrVarVal("", var_5C, strCod, 00000002h, 00000001h) loc_00473712: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C, strCod, 00000002h, 00000001h)) loc_00473727: setnl bl loc_0047372B: neg ebx loc_0047372D: call MSVBVM50.DLL.__vbaStrVarVal("", var_BC) loc_00473733: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_BC)) loc_00473741: setle cl loc_00473748: neg ecx loc_0047374B: ebx = ebx And ecx loc_0047374D: call MSVBVM50.DLL.__vbaStrVarVal("", var_7C) loc_00473753: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_7C)) loc_00473764: setle cl loc_0047376B: neg ecx loc_0047376E: ebx = ebx And ecx And ecx loc_00473770: call MSVBVM50.DLL.__vbaStrVarVal("", var_9C) loc_00473776: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_9C)) loc_00473790: setnl cl loc_00473793: neg ecx loc_00473798: ebx = ebx And ecx And ecx And ecx loc_0047379A: call MSVBVM50.DLL.__vbaFreeStrList(00000004h, "", "", "", "") loc_004737D0: call MSVBVM50.DLL.__vbaFreeVarList(00000008h, ""C, var_5C, var_6C, var_7C, var_8C, var_9C, var_AC, var_BC) If ebx And ecx And ecx And ecx <> 0 Then loc_004737FB: var_44 = 2 loc_004737FE: var_4C = 2 loc_00473801: var_C4 = strCod loc_0047380D: var_5C = Mid$(""C, 00000011h, ""C) loc_0047381A: call MSVBVM50.DLL.__vbaStrVarVal("", var_5C) loc_00473820: Val(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) loc_00473825: fstp real4 ptr var_18 loc_0047382B: call MSVBVM50.DLL.__vbaFreeStr loc_00473839: call MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C) loc_0047383E: fld real4 ptr var_18 loc_00473841: fcomp real4 ptr [004024B0h] ; loc_0047384A: fstsw ax If var_24 Or FFFFFFFFh <> 0 Then loc_00473853: fld real4 ptr [004024B4h] ; loc_00473859: fstp real4 ptr var_14C loc_00473861: fstp real4 ptr var_148 loc_00473869: fstp real4 ptr var_20 loc_0047386C: fld real4 ptr var_20 loc_0047386F: fcomp real4 ptr var_14C loc_00473875: fstsw ax If Not Asm.be_flag Then loc_0047387E: fld real4 ptr var_20 loc_00473884: var_44 = 1 loc_0047388C: var_4C = 2 loc_0047388F: var_C4 = strCod loc_0047389B: call MSVBVM50.DLL.__vbaFpI4(""C) loc_004738AC: var_5C = Mid$(""C, MSVBVM50.DLL.__vbaFpI4(""C), %x4) loc_004738B1: fld real4 ptr var_20 loc_004738B7: var_64 = 1 loc_004738BF: var_6C = 2 loc_004738C2: var_E4 = strCod loc_004738CE: call MSVBVM50.DLL.__vbaFpI4(var_6C) loc_004738DF: var_7C = Mid$(&H4008, MSVBVM50.DLL.__vbaFpI4(var_6C), %x4) loc_004738E4: fld real4 ptr var_20 loc_004738ED: var_84 = 1 loc_004738F8: var_8C = 2 loc_004738FE: var_104 = strCod loc_0047390A: call MSVBVM50.DLL.__vbaFpI4(var_8C) loc_0047391E: var_9C = Mid$(&H4008, MSVBVM50.DLL.__vbaFpI4(var_8C), %x4) loc_00473923: fld real4 ptr var_20 loc_0047392C: var_A4 = 1 loc_00473937: var_AC = 2 loc_0047393D: var_124 = strCod loc_00473949: call MSVBVM50.DLL.__vbaFpI4(var_AC) loc_0047395D: var_BC = Mid$(&H4008, MSVBVM50.DLL.__vbaFpI4(var_AC), %x4) loc_0047396D: call MSVBVM50.DLL.__vbaStrVarVal("", var_9C) loc_00473973: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_9C)) loc_00473988: setnl bl loc_0047398C: neg ebx loc_0047398E: call MSVBVM50.DLL.__vbaStrVarVal("", var_BC) loc_00473994: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_BC)) loc_0047399F: setle cl loc_004739A2: neg ecx loc_004739A7: ebx = ebx And ecx loc_004739AE: call MSVBVM50.DLL.__vbaStrVarVal("", var_5C) loc_004739B4: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) loc_004739CC: setnl bl loc_004739D0: neg ebx loc_004739D2: call MSVBVM50.DLL.__vbaStrVarVal("", var_7C) loc_004739D8: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_7C)) loc_004739E9: setle cl loc_004739EC: neg ecx loc_004739EE: ebx = ebx And ecx loc_004739F0: eax = "" Or ebx And ecx loc_00473A06: call MSVBVM50.DLL.__vbaFreeStrList(00000004h, "", "", "", "") loc_00473A3C: call MSVBVM50.DLL.__vbaFreeVarList(00000008h, ""C, var_5C, var_6C, var_7C, var_8C, var_9C, var_AC, var_BC) If "" Or ebx And ecx <> 0 Then loc_00473A4D: fld real4 ptr var_148 loc_00473A53: fadd real4 ptr var_20 loc_00473A56: var_24 = var_24 Or FFFFFFFFh loc_00473A62: fstp real4 ptr var_20 loc_00473A65: fstsw ax If MSVBVM50.DLL.__vbaFreeVarList(00000008h, ""C, var_5C, var_6C, var_7C, var_8C, var_9C, var_AC, var_BC) = 0 Then loc_00473A6F: GoTo loc_0047386C End If loc_00473A76: fstp real4 ptr var_28 loc_00473A79: fld real4 ptr [004024B8h] ; loc_00473A7F: fstp real4 ptr var_154 loc_00473A87: fstp real4 ptr var_150 loc_00473A8F: fstp real4 ptr var_20 loc_00473A92: fld real4 ptr var_20 loc_00473A95: fcomp real4 ptr var_154 loc_00473A9B: fstsw ax If Not Asm.be_flag Then loc_00473AA4: fld real4 ptr var_20 loc_00473AAA: var_44 = 1 loc_00473AB2: var_4C = 2 loc_00473AB5: var_C4 = strCod loc_00473AC1: call MSVBVM50.DLL.__vbaFpI4(""C) loc_00473AD2: var_5C = Mid$(""C, MSVBVM50.DLL.__vbaFpI4(""C), %x4) loc_00473ADF: call MSVBVM50.DLL.__vbaStrVarVal("", var_5C) loc_00473AE5: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) loc_00473AEA: movsx eax, ax loc_00473AF6: fild dword ptr Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) loc_00473AFC: fstp real4 ptr var_170 loc_00473B02: fld real4 ptr var_170 loc_00473B08: fadd real4 ptr var_28 loc_00473B0B: fstp real4 ptr var_28 loc_00473B0E: fstsw ax If Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) = 0 Then loc_00473B18: call MSVBVM50.DLL.__vbaFreeStr loc_00473B26: call MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C) loc_00473B2B: fld real4 ptr var_150 loc_00473B31: fadd real4 ptr var_20 loc_00473B37: fstp real4 ptr var_20 loc_00473B3A: fstsw ax If MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C) = 0 Then loc_00473B44: GoTo loc_00473A92 End If loc_00473B49: fld real4 ptr var_28 If ""D4000 = 0 Then loc_00473B55: fdiv real4 ptr [004024BCh] ; loc_00473B5B: GoTo loc_00473B68 End If loc_00473B63: call MSVBVM50.DLL._adj_fdiv_m32(""024BC) loc_00473B68: 'Referenced from 00473B5B loc_00473B68: fstsw ax If MSVBVM50.DLL._adj_fdiv_m32(""024BC) = 0 Then loc_00473B72: fstp real4 ptr var_174 loc_00473B78: fld real4 ptr var_28 If ""D4000 = 0 Then loc_00473B84: fdiv real4 ptr [004024BCh] ; loc_00473B8A: GoTo loc_00473B97 End If loc_00473B92: call MSVBVM50.DLL._adj_fdiv_m32(""024BC) loc_00473B97: 'Referenced from 00473B8A loc_00473B97: fstsw ax If MSVBVM50.DLL._adj_fdiv_m32(""024BC) = 0 Then loc_00473BA1: call MSVBVM50.DLL.__vbaFPFix loc_00473BA6: fsubr real4 ptr var_174 loc_00473BAC: fstsw ax If MSVBVM50.DLL.__vbaFPFix = 0 Then loc_00473BB6: call MSVBVM50.DLL.__vbaFpR4 loc_00473BBB: fcomp real4 ptr [004024B0h] ; loc_00473BC1: fstsw ax If Not Asm.z_flag Then loc_00473BD0: fstp real4 ptr var_28 loc_00473BD3: fld real4 ptr [004024C0h] ; loc_00473BD9: fstp real4 ptr var_15C loc_00473BE1: fstp real4 ptr var_158 loc_00473BE7: fld real4 ptr [004024C4h] ; loc_00473BED: fstp real4 ptr var_20 loc_00473BF0: fld real4 ptr var_20 loc_00473BF3: fcomp real4 ptr var_15C loc_00473BF9: fstsw ax If var_24 Or FFFFFFFFh <= 0 Then loc_00473C02: fld real4 ptr var_20 loc_00473C08: var_44 = 1 loc_00473C10: var_4C = 2 loc_00473C13: var_C4 = strCod loc_00473C1F: call MSVBVM50.DLL.__vbaFpI4(""C) loc_00473C30: var_5C = Mid$(""C, MSVBVM50.DLL.__vbaFpI4(""C), %x4) loc_00473C3D: call MSVBVM50.DLL.__vbaStrVarVal("", var_5C) loc_00473C43: Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) loc_00473C48: movsx eax, ax loc_00473C54: fild dword ptr Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) loc_00473C5A: fstp real4 ptr var_17C loc_00473C60: fld real4 ptr var_17C loc_00473C66: fadd real4 ptr var_28 loc_00473C69: fstp real4 ptr var_28 loc_00473C6C: fstsw ax If Asc(MSVBVM50.DLL.__vbaStrVarVal("", var_5C)) = 0 Then loc_00473C76: call MSVBVM50.DLL.__vbaFreeStr loc_00473C84: call MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C) loc_00473C89: fld real4 ptr var_158 loc_00473C8F: fadd real4 ptr var_20 loc_00473C95: fstp real4 ptr var_20 loc_00473C98: fstsw ax If MSVBVM50.DLL.__vbaFreeVarList(00000002h, ""C, var_5C) = 0 Then loc_00473CA2: GoTo loc_00473BF0 End If loc_00473CA7: fld real4 ptr var_28 If ""D4000 = 0 Then loc_00473CB3: fdiv real4 ptr var_18 loc_00473CB6: GoTo loc_00473CC0 End If loc_00473CBB: call MSVBVM50.DLL._adj_fdiv_m32(var_18) loc_00473CC0: 'Referenced from 00473CB6 loc_00473CC0: fstsw ax If MSVBVM50.DLL._adj_fdiv_m32(var_18) = 0 Then loc_00473CCA: fstp real4 ptr var_180 loc_00473CD0: fld real4 ptr var_28 If ""D4000 = 0 Then loc_00473CDC: fdiv real4 ptr var_18 loc_00473CDF: GoTo loc_00473CE9 End If loc_00473CE4: call MSVBVM50.DLL._adj_fdiv_m32(var_18) loc_00473CE9: 'Referenced from 00473CDF loc_00473CE9: fstsw ax If MSVBVM50.DLL._adj_fdiv_m32(var_18) = 0 Then loc_00473CF3: call MSVBVM50.DLL.__vbaFPFix loc_00473CF8: fsubr real4 ptr var_180 loc_00473CFE: fstsw ax If MSVBVM50.DLL.__vbaFPFix = 0 Then loc_00473D08: call MSVBVM50.DLL.__vbaFpR4 loc_00473D0D: fcomp real4 ptr [004024B0h] ; loc_00473D13: fstsw ax If Not Asm.z_flag Then loc_00473D18: var_24 = var_24 Or FFFFFFFFh loc_00473D1C: GoTo loc_00473D22 End If End If End If End If End If loc_00473D1E: var_24 = var_24 And 00000000h loc_00473D22: 'Referenced from 00473D1C loc_00473D28: GoTo loc_00473D7B loc_00473D3C: call MSVBVM50.DLL.__vbaFreeStrList(00000004h, "", "", "", "", 00473D84h) loc_00473D72: call MSVBVM50.DLL.__vbaFreeVarList(00000008h, ""C, var_5C, var_6C, var_7C, var_8C, var_9C, var_AC, var_BC) loc_00473D7A: Exit Sub loc_00473D7B: 'Referenced from 00473D28 loc_00473D7E: GoTo loc_MSVBVM50.DLL.__vbaFreeStr loc_00473D83: Exit Sub loc_00473DA8: Exit Sub End If End If End If End If End If End If End If End If End If End If End If loc_00473DAB: GoTo loc_MSVBVM50.DLL.__vbaFPException End Function Код (Text): Public Function Stupen1(strCod, strImay, strParol) '473DB5 loc_00473DE1: var_8 = &H4024E8 loc_00473E0E: call MSVBVM50.DLL.__vbaStrCmp("Hello World", [eax], edi, ebx, arg_8) If MSVBVM50.DLL.__vbaStrCmp("Hello World", [eax], edi, ebx, arg_8) = 0 Then loc_00473E1F: var_44 = 80020004h loc_00473E22: var_4C = 10 loc_00473E25: var_3C = 10 loc_00473E28: var_2C = 10 loc_00473E3C: var_34 = 80020004h loc_00473E3F: var_24 = 80020004h loc_00473E42: var_54 = &H4D43FC loc_00473E50: MsgBox(&H4008, edi, var_2C, var_3C, ""C) loc_00473E63: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_00473E6E: GoTo loc_00473EA5 End If loc_00473E81: strParol = Stupen2(arg_8, strCod, strImay) If "" < edi Then loc_00473E97: call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000700h, "") End If loc_00473EA2: var_18 = "" loc_00473EA5: 'Referenced from 00473E6E loc_00473EAA: GoTo loc_00473EC3 loc_00473EBA: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_00473EC2: Exit Sub loc_00473EC3: 'Referenced from 00473EAA loc_00473EC3: Exit Sub loc_00473EE8: Exit Sub End Function Код (Text): Public Function Stupen1(strCod, strImay, strParol) '473DB5 loc_00473DE1: var_8 = &H4024E8 loc_00473E0E: call MSVBVM50.DLL.__vbaStrCmp("Hello World", [eax], edi, ebx, arg_8) If MSVBVM50.DLL.__vbaStrCmp("Hello World", [eax], edi, ebx, arg_8) = 0 Then loc_00473E1F: var_44 = 80020004h loc_00473E22: var_4C = 10 loc_00473E25: var_3C = 10 loc_00473E28: var_2C = 10 loc_00473E3C: var_34 = 80020004h loc_00473E3F: var_24 = 80020004h loc_00473E42: var_54 = &H4D43FC loc_00473E50: MsgBox(&H4008, edi, var_2C, var_3C, ""C) loc_00473E63: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_00473E6E: GoTo loc_00473EA5 End If loc_00473E81: strParol = Stupen2(arg_8, strCod, strImay) If "" < edi Then loc_00473E97: call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000700h, "") End If loc_00473EA2: var_18 = "" loc_00473EA5: 'Referenced from 00473E6E loc_00473EAA: GoTo loc_00473EC3 loc_00473EBA: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_00473EC2: Exit Sub loc_00473EC3: 'Referenced from 00473EAA loc_00473EC3: Exit Sub loc_00473EE8: Exit Sub End Function Код (Text): Public Function Stupen3(strCod, strImay, strParol) '474021 loc_0047404D: var_8 = &H402508 loc_0047407A: call MSVBVM50.DLL.__vbaStrCmp("Ne поарсимке54рртирпаименарв2ццсамивпегшлджблоутв со end оатокшлллллллл", [eax], edi, ebx, arg_8) If MSVBVM50.DLL.__vbaStrCmp("Ne поарсимке54рртирпаименарв2ццсамивпегшлджблоутв со end оатокшлллллллл", [eax], edi, ebx, arg_8) = 0 Then loc_0047408B: var_44 = 80020004h loc_0047408E: var_4C = 10 loc_00474091: var_3C = 10 loc_00474094: var_2C = 10 loc_004740A8: var_34 = 80020004h loc_004740AB: var_24 = 80020004h loc_004740AE: var_54 = &H4D43FC loc_004740BC: MsgBox(&H4008, edi, var_2C, var_3C, ""C) loc_004740CF: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_004740DA: GoTo loc_00474111 End If loc_004740ED: strParol = Stupen4(arg_8, strCod, strImay) If "" < edi Then loc_00474103: call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000708h, "") End If loc_0047410E: var_1C = "" loc_00474111: 'Referenced from 004740DA loc_00474116: GoTo loc_0047412F loc_00474126: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_0047412E: Exit Sub loc_0047412F: 'Referenced from 00474116 loc_0047412F: Exit Sub loc_00474154: Exit Sub End Function Код (Text): Public Function Stupen4(strCod, strImay, strParol) '474157 loc_00474183: var_8 = &H402518 loc_004741B0: call MSVBVM50.DLL.__vbaStrCmp("отутв end ij if then лазкл аовлкш mmmmm ооооооокраоаоаоаоаооаоаоаоа", [eax], edi, ebx, arg_8) If MSVBVM50.DLL.__vbaStrCmp("отутв end ij if then лазкл аовлкш mmmmm ооооооокраоаоаоаоаооаоаоаоа", [eax], edi, ebx, arg_8) = 0 Then loc_004741C1: var_44 = 80020004h loc_004741C4: var_4C = 10 loc_004741C7: var_3C = 10 loc_004741CA: var_2C = 10 loc_004741DE: var_34 = 80020004h loc_004741E1: var_24 = 80020004h loc_004741E4: var_54 = &H4D43FC loc_004741F2: MsgBox(&H4008, edi, var_2C, var_3C, ""C) loc_00474205: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_00474210: GoTo loc_00474247 End If loc_00474223: strParol = Stupen5(arg_8, strCod, strImay) If "" < edi Then loc_00474239: call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 0000070Ch, "") End If loc_00474244: var_1C = "" loc_00474247: 'Referenced from 00474210 loc_0047424C: GoTo loc_00474265 loc_0047425C: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_00474264: Exit Sub loc_00474265: 'Referenced from 0047424C loc_00474265: Exit Sub loc_0047428A: Exit Sub End Function Код (Text): Public Function Stupen5(strCod, strImay, strParol) '47428D loc_004742B9: var_8 = &H402528 loc_004742E7: call MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax], eax, 0040E868h, ebx) loc_004742F1: neg ebx loc_004742F5: sbb ebx, ebx loc_004742F8: neg ebx loc_004742FA: call MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax]) loc_004742FF: neg eax loc_00474301: sbb eax, eax loc_00474303: neg eax loc_00474305: ebx = MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax], eax, 0040E868h, ebx) And MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax]) loc_00474307: neg ebx loc_00474309: sbb ebx, ebx loc_0047430B: neg ebx loc_0047430D: var_A0 = MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax], eax, 0040E868h, ebx) And MSVBVM50.DLL.__vbaStrCmp(0040E868h, [eax]) loc_00474319: call MSVBVM50.DLL.__vbaStrCmp(0040E868h, [ebx]) loc_00474324: neg eax loc_00474326: sbb eax, eax loc_00474328: neg eax If var_A0 = 0 Then loc_00474336: var_44 = 80020004h loc_00474339: var_4C = 10 loc_0047433C: var_3C = 10 loc_0047433F: var_2C = 10 loc_00474354: var_34 = 80020004h loc_00474357: var_24 = 80020004h loc_0047435A: var_54 = &H4D43FC loc_00474368: MsgBox(&H4008, 00000000h, var_2C, var_3C, ""C) loc_0047437B: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_00474383: var_1C = var_1C And 00000000h loc_00474387: GoTo loc_004743C0 End If loc_0047439A: strParol = Stupen6(arg_8, strCod, strImay) If "" < 0 Then loc_004743B2: call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000710h, "") End If loc_004743BD: var_1C = "" loc_004743C0: 'Referenced from 00474387 loc_004743C5: GoTo loc_004743DE loc_004743D5: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_004743DD: Exit Sub loc_004743DE: 'Referenced from 004743C5 loc_004743DE: Exit Sub loc_00474403: Exit Sub End Function Код (Text): Public Function Stupen6(strCod, strImay, strParol) '474406 loc_00474432: var_8 = &H402538 loc_0047445A: call MSVBVM50.DLL.__vbaLenBstr([edi], strCod, eax, ebx) loc_00474466: setnl bl loc_00474469: call MSVBVM50.DLL.__vbaLenBstr([edi]) loc_00474478: setle cl loc_0047447B: ebx = ebx And ecx loc_0047447D: neg ebx loc_0047447F: sbb ebx, ebx loc_00474481: neg ebx loc_00474483: call MSVBVM50.DLL.__vbaLenBstr([edi]) loc_00474495: setnl bl loc_00474498: call MSVBVM50.DLL.__vbaLenBstr([edi]) loc_004744A2: setle cl loc_004744AB: ebx = ebx And ecx loc_004744AD: neg ebx loc_004744B2: sbb ebx, ebx loc_004744B4: neg ebx loc_004744B8: edx = "" And ebx And ecx loc_004744BA: neg edx loc_004744BC: sbb edx, edx loc_004744BE: neg edx loc_004744C0: var_A4 = "" And ebx And ecx loc_004744C6: call MSVBVM50.DLL.__vbaLenBstr([edi]) loc_004744D2: setle bl loc_004744D5: call MSVBVM50.DLL.__vbaLenBstr([edi]) loc_004744DF: setnl cl loc_004744E8: ebx = ebx And ecx loc_004744EA: neg ebx loc_004744EC: sbb ebx, ebx loc_004744EE: neg ebx If var_A4 = 0 Then loc_004744FC: var_44 = 80020004h loc_004744FF: var_4C = 10 loc_00474502: var_3C = 10 loc_00474505: var_2C = 10 loc_0047451A: var_34 = 80020004h loc_0047451D: var_24 = 80020004h loc_00474520: var_54 = &H4D43FC loc_0047452E: MsgBox(&H4008, 00000000h, var_2C, var_3C, ""C) loc_00474541: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_00474549: var_1C = var_1C And 00000000h loc_0047454D: GoTo loc_00474588 End If loc_00474562: strParol = Stupen7(arg_8, strCod, strImay) If "" < 0 Then loc_0047457A: call MSVBVM50.DLL.__vbaHresultCheckObj("", arg_8, 00412504h, 00000714h, "") End If loc_00474585: var_1C = "" loc_00474588: 'Referenced from 0047454D loc_0047458D: GoTo loc_004745A6 loc_0047459D: call MSVBVM50.DLL.__vbaFreeVarList(00000003h, var_2C, var_3C, ""C) loc_004745A5: Exit Sub loc_004745A6: 'Referenced from 0047458D loc_004745A6: Exit Sub loc_004745CB: Exit Sub End Function Код (Text): Public Function Stupen7(strCod, strImay, strParol) '4745CE loc_004745F5: var_8 = &H402548 loc_004745FC: var_4 = var_4 And 00000000h loc_00474607: var_18 = var_18 And 00000000h loc_00474611: Proc_00476E94(arg_8, edx, eax) If Proc_00476E94(arg_8, edx, eax) = 65535 Then loc_0047461C: var_18 = var_18 Or FFFFFFFFh End If loc_00474644: Exit Sub End Function