00401002 40 INC EAX
00401003 000A ADD BYTE PTR DS:[EDX],CL
00401005 06 PUSH ES
00401006 53 PUSH EBX
00401007 74 72 JE SHORT crackme3.0040107B
00401009 696E 67 58104000 IMUL EBP,DWORD PTR DS:[ESI+67],crackme3.>; ASCII 07,"TObject"
00401010 0000 ADD BYTE PTR DS:[EAX],AL
00401012 0000 ADD BYTE PTR DS:[EAX],AL
00401014 0000 ADD BYTE PTR DS:[EAX],AL
00401016 0000 ADD BYTE PTR DS:[EAX],AL
00401018 0000 ADD BYTE PTR DS:[EAX],AL
0040101A 0000 ADD BYTE PTR DS:[EAX],AL
0040101C 0000 ADD BYTE PTR DS:[EAX],AL
0040101E 0000 ADD BYTE PTR DS:[EAX],AL
00401020 0000 ADD BYTE PTR DS:[EAX],AL
00401022 0000 ADD BYTE PTR DS:[EAX],AL
00401024 0000 ADD BYTE PTR DS:[EAX],AL
00401026 0000 ADD BYTE PTR DS:[EAX],AL
00401028 0000 ADD BYTE PTR DS:[EAX],AL
0040102A 0000 ADD BYTE PTR DS:[EAX],AL
0040102C 58 POP EAX
0040102D 1040 00 ADC BYTE PTR DS:[EAX],AL
00401030 04 00 ADD AL,0
00401032 0000 ADD BYTE PTR DS:[EAX],AL
00401034 0000 ADD BYTE PTR DS:[EAX],AL
00401036 0000 ADD BYTE PTR DS:[EAX],AL
00401038 48 DEC EAX
00401039 2F DAS
0040103A 40 INC EAX
0040103B 00542F 40 ADD BYTE PTR DS:[EDI+EBP+40],DL
0040103F 0058 2F ADD BYTE PTR DS:[EAX+2F],BL
00401042 40 INC EAX
00401043 005C2F 40 ADD BYTE PTR DS:[EDI+EBP+40],BL
00401047 0050 2F ADD BYTE PTR DS:[EAX+2F],DL
0040104A 40 INC EAX
0040104B 00142E ADD BYTE PTR DS:[ESI+EBP],DL
0040104E 40 INC EAX
0040104F 0030 ADD BYTE PTR DS:[EAX],DH
00401051 2E:40 INC EAX ; Superfluous prefix
00401053 004C2E 40 ADD BYTE PTR DS:[ESI+EBP+40],CL
00401057 0007 ADD BYTE PTR DS:[EDI],AL
00401059 54 PUSH ESP
0040105A 4F DEC EDI
0040105B 626A 65 BOUND EBP,QWORD PTR DS:[EDX+65]
0040105E 6374FF 25 ARPL WORD PTR DS:[EDI+EDI*8+25],SI
00401062 10D1 ADC CL,DL
00401064 40 INC EAX
00401065 008B C0FF250C ADD BYTE PTR DS:[EBX+C25FFC0],CL
0040106B D140 00 ROL DWORD PTR DS:[EAX],1
0040106E 8BC0 MOV EAX,EAX
00401070 -FF25 08D14000 JMP DWORD PTR DS:[<&kernel32.RtlUnwind>] ; ntdll.RtlUnwind
00401076 8BC0 MOV EAX,EAX
00401078 -FF25 04D14000 JMP DWORD PTR DS:[<&kernel32.UnhandledEx>; kernel32.UnhandledExceptionFilter
0040107E 8BC0 MOV EAX,EAX
00401080 -FF25 00D14000 JMP DWORD PTR DS:[<&kernel32.WriteFile>] ; kernel32.WriteFile
00401086 8BC0 MOV EAX,EAX
00401088 -FF25 24D14000 JMP DWORD PTR DS:[<&user32.CharNextA>] ; user32.CharNextA
0040108E 8BC0 MOV EAX,EAX
00401090 -FF25 FCD04000 JMP DWORD PTR DS:[<&kernel32.ExitProcess>; kernel32.ExitProcess
00401096 8BC0 MOV EAX,EAX
00401098 -FF25 20D14000 JMP DWORD PTR DS:[<&user32.MessageBoxA>] ; user32.MessageBoxA
0040109E 8BC0 MOV EAX,EAX
004010A0 -FF25 F8D04000 JMP DWORD PTR DS:[<&kernel32.FindClose>] ; kernel32.FindClose
004010A6 8BC0 MOV EAX,EAX
004010A8 -FF25 F4D04000 JMP DWORD PTR DS:[<&kernel32.FindFirstFi>; kernel32.FindFirstFileA
004010AE 8BC0 MOV EAX,EAX
004010B0 -FF25 F0D04000 JMP DWORD PTR DS:[<&kernel32.FreeLibrary>; kernel32.FreeLibrary
004010B6 8BC0 MOV EAX,EAX
004010B8 -FF25 ECD04000 JMP DWORD PTR DS:[<&kernel32.GetCommandL>; kernel32.GetCommandLineA
004010BE 8BC0 MOV EAX,EAX
004010C0 -FF25 E8D04000 JMP DWORD PTR DS:[<&kernel32.GetLocaleIn>; kernel32.GetLocaleInfoA
004010C6 8BC0 MOV EAX,EAX
004010C8 -FF25 E4D04000 JMP DWORD PTR DS:[<&kernel32.GetModuleFi>; kernel32.GetModuleFileNameA
004010CE 8BC0 MOV EAX,EAX
004010D0 -FF25 E0D04000 JMP DWORD PTR DS:[<&kernel32.GetModuleHa>; kernel32.GetModuleHandleA
004010D6 8BC0 MOV EAX,EAX
004010D8 -FF25 DCD04000 JMP DWORD PTR DS:[<&kernel32.GetProcAddr>; kernel32.GetProcAddress
004010DE 8BC0 MOV EAX,EAX
004010E0 -FF25 D8D04000 JMP DWORD PTR DS:[<&kernel32.GetStartupI>; kernel32.GetStartupInfoA
004010E6 8BC0 MOV EAX,EAX
004010E8 -FF25 D4D04000 JMP DWORD PTR DS:[<&kernel32.GetThreadLo>; kernel32.GetThreadLocale
004010EE 8BC0 MOV EAX,EAX
004010F0 -FF25 D0D04000 JMP DWORD PTR DS:[<&kernel32.LoadLibrary>; kernel32.LoadLibraryExA
004010F6 8BC0 MOV EAX,EAX
004010F8 -FF25 1CD14000 JMP DWORD PTR DS:[<&user32.LoadStringA>] ; user32.LoadStringA
004010FE 8BC0 MOV EAX,EAX
00401100 -FF25 CCD04000 JMP DWORD PTR DS:[<&kernel32.lstrcpynA>] ; kernel32.lstrcpynA
00401106 8BC0 MOV EAX,EAX
00401108 -FF25 C8D04000 JMP DWORD PTR DS:[<&kernel32.lstrlenA>] ; kernel32.lstrlenA
0040110E 8BC0 MOV EAX,EAX
00401110 -FF25 34D14000 JMP DWORD PTR DS:[<&advapi32.RegCloseKey>; ADVAPI32.RegCloseKey
00401116 8BC0 MOV EAX,EAX
00401118 -FF25 30D14000 JMP DWORD PTR DS:[<&advapi32.RegOpenKeyE>; ADVAPI32.RegOpenKeyExA
0040111E 8BC0 MOV EAX,EAX
00401120 -FF25 2CD14000 JMP DWORD PTR DS:[<&advapi32.RegQueryVal>; ADVAPI32.RegQueryValueExA
00401126 8BC0 MOV EAX,EAX
00401128 -FF25 C4D04000 JMP DWORD PTR DS:[<&kernel32.WideCharToM>; kernel32.WideCharToMultiByte
0040112E 8BC0 MOV EAX,EAX
00401130 -FF25 3CD14000 JMP DWORD PTR DS:[<&oleaut32.SysFreeStri>; oleaut32.SysFreeString
00401136 8BC0 MOV EAX,EAX
00401138 -FF25 C0D04000 JMP DWORD PTR DS:[<&kernel32.GetCurrentT>; kernel32.GetCurrentThreadId
0040113E 8BC0 MOV EAX,EAX
00401140 53 PUSH EBX
00401141 83C4 BC ADD ESP,-44
00401144 BB 0A000000 MOV EBX,0A
00401149 54 PUSH ESP
0040114A E8 91FFFFFF CALL <JMP.&kernel32.GetStartupInfoA>
0040114F F64424 2C 01 TEST BYTE PTR SS:[ESP+2C],1
00401154 74 05 JE SHORT crackme3.0040115B
00401156 0FB75C24 30 MOVZX EBX,WORD PTR SS:[ESP+30]
0040115B 8BC3 MOV EAX,EBX
0040115D 83C4 44 ADD ESP,44
00401160 5B POP EBX
00401161 C3 RETN
00401162 8BC0 MOV EAX,EAX
00401164 -FF25 BCD04000 JMP DWORD PTR DS:[<&kernel32.LocalAlloc>>; kernel32.LocalAlloc
0040116A 8BC0 MOV EAX,EAX
0040116C -FF25 B8D04000 JMP DWORD PTR DS:[<&kernel32.LocalFree>] ; kernel32.LocalFree
00401172 8BC0 MOV EAX,EAX
00401174 -FF25 B4D04000 JMP DWORD PTR DS:[<&kernel32.VirtualAllo>; kernel32.VirtualAlloc
0040117A 8BC0 MOV EAX,EAX
0040117C -FF25 B0D04000 JMP DWORD PTR DS:[<&kernel32.VirtualFree>; kernel32.VirtualFree
00401182 8BC0 MOV EAX,EAX
00401184 -FF25 ACD04000 JMP DWORD PTR DS:[<&kernel32.InitializeC>; kernel32.InitializeCriticalSection
0040118A 8BC0 MOV EAX,EAX
0040118C -FF25 A8D04000 JMP DWORD PTR DS:[<&kernel32.EnterCritic>; ntdll.RtlEnterCriticalSection
00401192 8BC0 MOV EAX,EAX
00401194 -FF25 A4D04000 JMP DWORD PTR DS:[<&kernel32.LeaveCritic>; ntdll.RtlLeaveCriticalSection
0040119A 8BC0 MOV EAX,EAX
0040119C -FF25 A0D04000 JMP DWORD PTR DS:[<&kernel32.DeleteCriti>; ntdll.RtlDeleteCriticalSection
004011A2 8BC0 MOV EAX,EAX
004011A4 53 PUSH EBX
004011A5 56 PUSH ESI
004011A6 BE DCC54000 MOV ESI,crackme3.0040C5DC
004011AB 833E 00 CMP DWORD PTR DS:[ESI],0
004011AE 75 3A JNZ SHORT crackme3.004011EA
004011B0 68 44060000 PUSH 644
004011B5 6A 00 PUSH 0
004011B7 E8 A8FFFFFF CALL <JMP.&kernel32.LocalAlloc>
004011BC 8BC8 MOV ECX,EAX
004011BE 85C9 TEST ECX,ECX
004011C0 75 05 JNZ SHORT crackme3.004011C7
004011C2 33C0 XOR EAX,EAX
004011C4 5E POP ESI
004011C5 5B POP EBX
004011C6 C3 RETN
004011C7 A1 D8C54000 MOV EAX,DWORD PTR DS:[40C5D8]
004011CC 8901 MOV DWORD PTR DS:[ECX],EAX
004011CE 890D D8C54000 MOV DWORD PTR DS:[40C5D8],ECX
004011D4 33D2 XOR EDX,EDX
004011D6 8BC2 /MOV EAX,EDX
004011D8 03C0 |ADD EAX,EAX
004011DA 8D44C1 04 |LEA EAX,DWORD PTR DS:[ECX+EAX*8+4]
004011DE 8B1E |MOV EBX,DWORD PTR DS:[ESI]
004011E0 8918 |MOV DWORD PTR DS:[EAX],EBX
004011E2 8906 |MOV DWORD PTR DS:[ESI],EAX
004011E4 42 |INC EDX
004011E5 83FA 64 |CMP EDX,64
004011E8 ^75 EC \JNZ SHORT crackme3.004011D6
004011EA 8B06 MOV EAX,DWORD PTR DS:[ESI]
004011EC 8B10 MOV EDX,DWORD PTR DS:[EAX]
004011EE 8916 MOV DWORD PTR DS:[ESI],EDX
004011F0 5E POP ESI
004011F1 5B POP EBX
004011F2 C3 RETN
004011F3 90 NOP
004011F4 8900 MOV DWORD PTR DS:[EAX],EAX
004011F6 8940 04 MOV DWORD PTR DS:[EAX+4],EAX
004011F9 C3 RETN
004011FA 8BC0 MOV EAX,EAX
004011FC 53 PUSH EBX
004011FD 56 PUSH ESI
004011FE 8BF2 MOV ESI,EDX
00401200 8BD8 MOV EBX,EAX
00401202 E8 9DFFFFFF CALL crackme3.004011A4
00401207 85C0 TEST EAX,EAX
00401209 75 05 JNZ SHORT crackme3.00401210
0040120B 33C0 XOR EAX,EAX
0040120D 5E POP ESI
0040120E 5B POP EBX
0040120F C3 RETN
00401210 8B16 MOV EDX,DWORD PTR DS:[ESI]
00401212 8950 08 MOV DWORD PTR DS:[EAX+8],EDX
00401215 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4]
00401218 8950 0C MOV DWORD PTR DS:[EAX+C],EDX
0040121B 8B13 MOV EDX,DWORD PTR DS:[EBX]
0040121D 8910 MOV DWORD PTR DS:[EAX],EDX
0040121F 8958 04 MOV DWORD PTR DS:[EAX+4],EBX
00401222 8942 04 MOV DWORD PTR DS:[EDX+4],EAX
00401225 8903 MOV DWORD PTR DS:[EBX],EAX
00401227 B0 01 MOV AL,1
00401229 5E POP ESI
0040122A 5B POP EBX
0040122B C3 RETN
0040122C 8B50 04 MOV EDX,DWORD PTR DS:[EAX+4]
0040122F 8B08 MOV ECX,DWORD PTR DS:[EAX]
00401231 890A MOV DWORD PTR DS:[EDX],ECX
00401233 8951 04 MOV DWORD PTR DS:[ECX+4],EDX
00401236 8B15 DCC54000 MOV EDX,DWORD PTR DS:[40C5DC]
0040123C 8910 MOV DWORD PTR DS:[EAX],EDX
0040123E A3 DCC54000 MOV DWORD PTR DS:[40C5DC],EAX
00401243 C3 RETN
00401244 53 PUSH EBX
00401245 56 PUSH ESI
00401246 57 PUSH EDI
00401247 55 PUSH EBP
00401248 51 PUSH ECX
00401249 8BF1 MOV ESI,ECX
0040124B 891424 MOV DWORD PTR SS:[ESP],EDX
0040124E 8BE8 MOV EBP,EAX
00401250 8B5D 00 MOV EBX,DWORD PTR SS:[EBP]
00401253 8B0424 MOV EAX,DWORD PTR SS:[ESP]
00401256 8B10 MOV EDX,DWORD PTR DS:[EAX]
00401258 8916 MOV DWORD PTR DS:[ESI],EDX
0040125A 8B50 04 MOV EDX,DWORD PTR DS:[EAX+4]
0040125D 8956 04 MOV DWORD PTR DS:[ESI+4],EDX
00401260 8B3B /MOV EDI,DWORD PTR DS:[EBX]
00401262 8B06 |MOV EAX,DWORD PTR DS:[ESI]
00401264 8B53 08 |MOV EDX,DWORD PTR DS:[EBX+8]
00401267 0353 0C |ADD EDX,DWORD PTR DS:[EBX+C]
0040126A 3BC2 |CMP EAX,EDX
0040126C 75 14 |JNZ SHORT crackme3.00401282
0040126E 8BC3 |MOV EAX,EBX
00401270 E8 B7FFFFFF |CALL crackme3.0040122C
00401275 8B43 08 |MOV EAX,DWORD PTR DS:[EBX+8]
00401278 8906 |MOV DWORD PTR DS:[ESI],EAX
0040127A 8B43 0C |MOV EAX,DWORD PTR DS:[EBX+C]
0040127D 0146 04 |ADD DWORD PTR DS:[ESI+4],EAX
00401280 EB 15 |JMP SHORT crackme3.00401297
00401282 0346 04 |ADD EAX,DWORD PTR DS:[ESI+4]
00401285 3B43 08 |CMP EAX,DWORD PTR DS:[EBX+8]
00401288 75 0D |JNZ SHORT crackme3.00401297
0040128A 8BC3 |MOV EAX,EBX
0040128C E8 9BFFFFFF |CALL crackme3.0040122C
00401291 8B43 0C |MOV EAX,DWORD PTR DS:[EBX+C]
00401294 0146 04 |ADD DWORD PTR DS:[ESI+4],EAX
00401297 8BDF |MOV EBX,EDI
00401299 3BEB |CMP EBP,EBX
0040129B ^75 C3 \JNZ SHORT crackme3.00401260
0040129D 8BD6 MOV EDX,ESI
0040129F 8BC5 MOV EAX,EBP
004012A1 E8 56FFFFFF CALL crackme3.004011FC
004012A6 84C0 TEST AL,AL
004012A8 75 04 JNZ SHORT crackme3.004012AE
004012AA 33C0 XOR EAX,EAX
004012AC 8906 MOV DWORD PTR DS:[ESI],EAX
004012AE 5A POP EDX
004012AF 5D POP EBP
004012B0 5F POP EDI
004012B1 5E POP ESI
004012B2 5B POP EBX
004012B3 C3 RETN
004012B4 53 PUSH EBX
004012B5 56 PUSH ESI
004012B6 57 PUSH EDI
004012B7 55 PUSH EBP
004012B8 83C4 F8 ADD ESP,-8
004012BB 8BD8 MOV EBX,EAX
004012BD 8BFB MOV EDI,EBX
004012BF 8B32 /MOV ESI,DWORD PTR DS:[EDX]
004012C1 8B43 08 |MOV EAX,DWORD PTR DS:[EBX+8]
004012C4 3BF0 |CMP ESI,EAX
004012C6 72 70 |JB SHORT crackme3.00401338
004012C8 8BCE |MOV ECX,ESI
004012CA 034A 04 |ADD ECX,DWORD PTR DS:[EDX+4]
004012CD 8BE8 |MOV EBP,EAX
004012CF 036B 0C |ADD EBP,DWORD PTR DS:[EBX+C]
004012D2 3BCD |CMP ECX,EBP
004012D4 77 62 |JA SHORT crackme3.00401338
004012D6 3BF0 |CMP ESI,EAX
004012D8 75 1B |JNZ SHORT crackme3.004012F5
004012DA 8B42 04 |MOV EAX,DWORD PTR DS:[EDX+4]
004012DD 0143 08 |ADD DWORD PTR DS:[EBX+8],EAX
004012E0 8B42 04 |MOV EAX,DWORD PTR DS:[EDX+4]
004012E3 2943 0C |SUB DWORD PTR DS:[EBX+C],EAX
004012E6 837B 0C 00 |CMP DWORD PTR DS:[EBX+C],0
004012EA 75 48 |JNZ SHORT crackme3.00401334
004012EC 8BC3 |MOV EAX,EBX
004012EE E8 39FFFFFF |CALL crackme3.0040122C
004012F3 EB 3F |JMP SHORT crackme3.00401334
004012F5 8BCE |MOV ECX,ESI
004012F7 8B7A 04 |MOV EDI,DWORD PTR DS:[EDX+4]
004012FA 03CF |ADD ECX,EDI
004012FC 8BE8 |MOV EBP,EAX
004012FE 036B 0C |ADD EBP,DWORD PTR DS:[EBX+C]
00401301 3BCD |CMP ECX,EBP
00401303 75 05 |JNZ SHORT crackme3.0040130A
00401305 297B 0C |SUB DWORD PTR DS:[EBX+C],EDI
00401308 EB 2A |JMP SHORT crackme3.00401334
0040130A 8B0A |MOV ECX,DWORD PTR DS:[EDX]
0040130C 034A 04 |ADD ECX,DWORD PTR DS:[EDX+4]
0040130F 890C24 |MOV DWORD PTR SS:[ESP],ECX
00401312 8B7B 08 |MOV EDI,DWORD PTR DS:[EBX+8]
00401315 037B 0C |ADD EDI,DWORD PTR DS:[EBX+C]
00401318 2BF9 |SUB EDI,ECX
0040131A 897C24 04 |MOV DWORD PTR SS:[ESP+4],EDI
0040131E 2BF0 |SUB ESI,EAX
00401320 8973 0C |MOV DWORD PTR DS:[EBX+C],ESI
00401323 8BD4 |MOV EDX,ESP
00401325 8BC3 |MOV EAX,EBX
00401327 E8 D0FEFFFF |CALL crackme3.004011FC
0040132C 84C0 |TEST AL,AL
0040132E 75 04 |JNZ SHORT crackme3.00401334
00401330 33C0 |XOR EAX,EAX
00401332 EB 0C |JMP SHORT crackme3.00401340
00401334 B0 01 |MOV AL,1
00401336 EB 08 |JMP SHORT crackme3.00401340
00401338 8B1B |MOV EBX,DWORD PTR DS:[EBX]
0040133A 3BFB |CMP EDI,EBX
0040133C ^75 81 \JNZ SHORT crackme3.004012BF
0040133E 33C0 XOR EAX,EAX
00401340 59 POP ECX
00401341 5A POP EDX
00401342 5D POP EBP
00401343 5F POP EDI
00401344 5E POP ESI
00401345 5B POP EBX
00401346 C3 RETN
00401347 90 NOP
00401348 53 PUSH EBX
00401349 56 PUSH ESI
0040134A 57 PUSH EDI
0040134B 8BDA MOV EBX,EDX
0040134D 8BF0 MOV ESI,EAX
0040134F 81FE 00001000 CMP ESI,100000
00401355 7D 07 JGE SHORT crackme3.0040135E
00401357 BE 00001000 MOV ESI,100000
0040135C EB 0C JMP SHORT crackme3.0040136A
0040135E 81C6 FFFF0000 ADD ESI,0FFFF
00401364 81E6 0000FFFF AND ESI,FFFF0000
0040136A 8973 04 MOV DWORD PTR DS:[EBX+4],ESI
0040136D 6A 01 PUSH 1
0040136F 68 00200000 PUSH 2000
00401374 56 PUSH ESI
00401375 6A 00 PUSH 0
00401377 E8 F8FDFFFF CALL <JMP.&kernel32.VirtualAlloc>
0040137C 8BF8 MOV EDI,EAX
0040137E 893B MOV DWORD PTR DS:[EBX],EDI
00401380 85FF TEST EDI,EDI
00401382 74 23 JE SHORT crackme3.004013A7
00401384 8BD3 MOV EDX,EBX
00401386 B8 E0C54000 MOV EAX,crackme3.0040C5E0
0040138B E8 6CFEFFFF CALL crackme3.004011FC
00401390 84C0 TEST AL,AL
00401392 75 13 JNZ SHORT crackme3.004013A7
00401394 68 00800000 PUSH 8000
00401399 6A 00 PUSH 0
0040139B 8B03 MOV EAX,DWORD PTR DS:[EBX]
0040139D 50 PUSH EAX
0040139E E8 D9FDFFFF CALL <JMP.&kernel32.VirtualFree>
004013A3 33C0 XOR EAX,EAX
004013A5 8903 MOV DWORD PTR DS:[EBX],EAX
004013A7 5F POP EDI
004013A8 5E POP ESI
004013A9 5B POP EBX
004013AA C3 RETN
004013AB 90 NOP
004013AC 53 PUSH EBX
004013AD 56 PUSH ESI
004013AE 57 PUSH EDI
004013AF 55 PUSH EBP
004013B0 8BD9 MOV EBX,ECX
004013B2 8BF2 MOV ESI,EDX
004013B4 8BE8 MOV EBP,EAX
004013B6 C743 04 00001000 MOV DWORD PTR DS:[EBX+4],100000
004013BD 6A 04 PUSH 4
004013BF 68 00200000 PUSH 2000
004013C4 68 00001000 PUSH 100000
004013C9 55 PUSH EBP
004013CA E8 A5FDFFFF CALL <JMP.&kernel32.VirtualAlloc>
004013CF 8BF8 MOV EDI,EAX
004013D1 893B MOV DWORD PTR DS:[EBX],EDI
004013D3 85FF TEST EDI,EDI
004013D5 75 1F JNZ SHORT crackme3.004013F6
004013D7 81C6 FFFF0000 ADD ESI,0FFFF
004013DD 81E6 0000FFFF AND ESI,FFFF0000
004013E3 8973 04 MOV DWORD PTR DS:[EBX+4],ESI
004013E6 6A 04 PUSH 4
004013E8 68 00200000 PUSH 2000
004013ED 56 PUSH ESI
004013EE 55 PUSH EBP
004013EF E8 80FDFFFF CALL <JMP.&kernel32.VirtualAlloc>
004013F4 8903 MOV DWORD PTR DS:[EBX],EAX
004013F6 833B 00 CMP DWORD PTR DS:[EBX],0
004013F9 74 23 JE SHORT crackme3.0040141E
004013FB 8BD3 MOV EDX,EBX
004013FD B8 E0C54000 MOV EAX,crackme3.0040C5E0
00401402 E8 F5FDFFFF CALL crackme3.004011FC
00401407 84C0 TEST AL,AL
00401409 75 13 JNZ SHORT crackme3.0040141E
0040140B 68 00800000 PUSH 8000
00401410 6A 00 PUSH 0
00401412 8B03 MOV EAX,DWORD PTR DS:[EBX]
00401414 50 PUSH EAX
00401415 E8 62FDFFFF CALL <JMP.&kernel32.VirtualFree>
0040141A 33C0 XOR EAX,EAX
0040141C 8903 MOV DWORD PTR DS:[EBX],EAX
0040141E 5D POP EBP
0040141F 5F POP EDI
00401420 5E POP ESI
00401421 5B POP EBX
00401422 C3 RETN
00401423 90 NOP
00401424 53 PUSH EBX
00401425 56 PUSH ESI
00401426 57 PUSH EDI
00401427 55 PUSH EBP
00401428 83C4 EC ADD ESP,-14
0040142B 894C24 04 MOV DWORD PTR SS:[ESP+4],ECX
0040142F 891424 MOV DWORD PTR SS:[ESP],EDX
00401432 C74424 08 FFFFFF>MOV DWORD PTR SS:[ESP+8],-1
0040143A 33D2 XOR EDX,EDX
0040143C 895424 0C MOV DWORD PTR SS:[ESP+C],EDX
00401440 8BE8 MOV EBP,EAX
00401442 8B0424 MOV EAX,DWORD PTR SS:[ESP]
00401445 03C5 ADD EAX,EBP
00401447 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
0040144B 8B1D E0C54000 MOV EBX,DWORD PTR DS:[40C5E0]
00401451 EB 51 JMP SHORT crackme3.004014A4
00401453 8B3B /MOV EDI,DWORD PTR DS:[EBX]
00401455 8B73 08 |MOV ESI,DWORD PTR DS:[EBX+8]
00401458 3BEE |CMP EBP,ESI
0040145A 77 46 |JA SHORT crackme3.004014A2
0040145C 8BC6 |MOV EAX,ESI
0040145E 0343 0C |ADD EAX,DWORD PTR DS:[EBX+C]
00401461 3B4424 10 |CMP EAX,DWORD PTR SS:[ESP+10]
00401465 77 3B |JA SHORT crackme3.004014A2
00401467 3B7424 08 |CMP ESI,DWORD PTR SS:[ESP+8]
0040146B 73 04 |JNB SHORT crackme3.00401471
0040146D 897424 08 |MOV DWORD PTR SS:[ESP+8],ESI
00401471 8BC6 |MOV EAX,ESI
00401473 0343 0C |ADD EAX,DWORD PTR DS:[EBX+C]
00401476 3B4424 0C |CMP EAX,DWORD PTR SS:[ESP+C]
0040147A 76 04 |JBE SHORT crackme3.00401480
0040147C 894424 0C |MOV DWORD PTR SS:[ESP+C],EAX
00401480 68 00800000 |PUSH 8000
00401485 6A 00 |PUSH 0
00401487 56 |PUSH ESI
00401488 E8 EFFCFFFF |CALL <JMP.&kernel32.VirtualFree>
0040148D 85C0 |TEST EAX,EAX
0040148F 75 0A |JNZ SHORT crackme3.0040149B
00401491 C705 BCC54000 01>|MOV DWORD PTR DS:[40C5BC],1
0040149B 8BC3 |MOV EAX,EBX
0040149D E8 8AFDFFFF |CALL crackme3.0040122C
004014A2 8BDF |MOV EBX,EDI
004014A4 81FB E0C54000 CMP EBX,crackme3.0040C5E0
004014AA ^75 A7 \JNZ SHORT crackme3.00401453
004014AC 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
004014B0 33D2 XOR EDX,EDX
004014B2 8910 MOV DWORD PTR DS:[EAX],EDX
004014B4 837C24 0C 00 CMP DWORD PTR SS:[ESP+C],0
004014B9 74 19 JE SHORT crackme3.004014D4
004014BB 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
004014BF 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
004014C3 8910 MOV DWORD PTR DS:[EAX],EDX
004014C5 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
004014C9 2B4424 08 SUB EAX,DWORD PTR SS:[ESP+8]
004014CD 8B5424 04 MOV EDX,DWORD PTR SS:[ESP+4]
004014D1 8942 04 MOV DWORD PTR DS:[EDX+4],EAX
004014D4 83C4 14 ADD ESP,14
004014D7 5D POP EBP
004014D8 5F POP EDI
004014D9 5E POP ESI
004014DA 5B POP EBX
004014DB C3 RETN
004014DC 53 PUSH EBX
004014DD 56 PUSH ESI
004014DE 57 PUSH EDI
004014DF 55 PUSH EBP
004014E0 83C4 F4 ADD ESP,-0C
004014E3 894C24 04 MOV DWORD PTR SS:[ESP+4],ECX
004014E7 891424 MOV DWORD PTR SS:[ESP],EDX
004014EA 8BD0 MOV EDX,EAX
004014EC 8BEA MOV EBP,EDX
004014EE 81E5 00F0FFFF AND EBP,FFFFF000
004014F4 031424 ADD EDX,DWORD PTR SS:[ESP]
004014F7 81C2 FF0F0000 ADD EDX,0FFF
004014FD 81E2 00F0FFFF AND EDX,FFFFF000
00401503 895424 08 MOV DWORD PTR SS:[ESP+8],EDX
00401507 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
0040150B 8928 MOV DWORD PTR DS:[EAX],EBP
0040150D 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
00401511 2BC5 SUB EAX,EBP
00401513 8B5424 04 MOV EDX,DWORD PTR SS:[ESP+4]
00401517 8942 04 MOV DWORD PTR DS:[EDX+4],EAX
0040151A 8B35 E0C54000 MOV ESI,DWORD PTR DS:[40C5E0]
00401520 EB 3C JMP SHORT crackme3.0040155E
00401522 8B5E 08 /MOV EBX,DWORD PTR DS:[ESI+8]
00401525 8B7E 0C |MOV EDI,DWORD PTR DS:[ESI+C]
00401528 03FB |ADD EDI,EBX
0040152A 3BEB |CMP EBP,EBX
0040152C 76 02 |JBE SHORT crackme3.00401530
0040152E 8BDD |MOV EBX,EBP
00401530 3B7C24 08 |CMP EDI,DWORD PTR SS:[ESP+8]
00401534 76 04 |JBE SHORT crackme3.0040153A
00401536 8B7C24 08 |MOV EDI,DWORD PTR SS:[ESP+8]
0040153A 3BFB |CMP EDI,EBX
0040153C 76 1E |JBE SHORT crackme3.0040155C
0040153E 6A 04 |PUSH 4
00401540 68 00100000 |PUSH 1000
00401545 2BFB |SUB EDI,EBX
00401547 57 |PUSH EDI
00401548 53 |PUSH EBX
00401549 E8 26FCFFFF |CALL <JMP.&kernel32.VirtualAlloc>
0040154E 85C0 |TEST EAX,EAX
00401550 75 0A |JNZ SHORT crackme3.0040155C
00401552 8B4424 04 |MOV EAX,DWORD PTR SS:[ESP+4]
00401556 33D2 |XOR EDX,EDX
00401558 8910 |MOV DWORD PTR DS:[EAX],EDX
0040155A EB 0A |JMP SHORT crackme3.00401566
0040155C 8B36 |MOV ESI,DWORD PTR DS:[ESI]
0040155E 81FE E0C54000 CMP ESI,crackme3.0040C5E0
00401564 ^75 BC \JNZ SHORT crackme3.00401522
00401566 83C4 0C ADD ESP,0C
00401569 5D POP EBP
0040156A 5F POP EDI
0040156B 5E POP ESI
0040156C 5B POP EBX
0040156D C3 RETN
0040156E 8BC0 MOV EAX,EAX
00401570 53 PUSH EBX
00401571 56 PUSH ESI
00401572 57 PUSH EDI
00401573 55 PUSH EBP
00401574 51 PUSH ECX
00401575 8BD8 MOV EBX,EAX
00401577 8BF3 MOV ESI,EBX
00401579 81C6 FF0F0000 ADD ESI,0FFF
0040157F 81E6 00F0FFFF AND ESI,FFFFF000
00401585 893424 MOV DWORD PTR SS:[ESP],ESI
00401588 8BEB MOV EBP,EBX
0040158A 03EA ADD EBP,EDX
0040158C 81E5 00F0FFFF AND EBP,FFFFF000
00401592 8B0424 MOV EAX,DWORD PTR SS:[ESP]
00401595 8901 MOV DWORD PTR DS:[ECX],EAX
00401597 8BC5 MOV EAX,EBP
00401599 2B0424 SUB EAX,DWORD PTR SS:[ESP]
0040159C 8941 04 MOV DWORD PTR DS:[ECX+4],EAX
0040159F 8B35 E0C54000 MOV ESI,DWORD PTR DS:[40C5E0]
004015A5 EB 38 JMP SHORT crackme3.004015DF
004015A7 8B5E 08 /MOV EBX,DWORD PTR DS:[ESI+8]
004015AA 8B7E 0C |MOV EDI,DWORD PTR DS:[ESI+C]
004015AD 03FB |ADD EDI,EBX
004015AF 3B1C24 |CMP EBX,DWORD PTR SS:[ESP]
004015B2 73 03 |JNB SHORT crackme3.004015B7
004015B4 8B1C24 |MOV EBX,DWORD PTR SS:[ESP]
004015B7 3BEF |CMP EBP,EDI
004015B9 73 02 |JNB SHORT crackme3.004015BD
004015BB 8BFD |MOV EDI,EBP
004015BD 3BFB |CMP EDI,EBX
004015BF 76 1C |JBE SHORT crackme3.004015DD
004015C1 68 00400000 |PUSH 4000
004015C6 2BFB |SUB EDI,EBX
004015C8 57 |PUSH EDI
004015C9 53 |PUSH EBX
004015CA E8 ADFBFFFF |CALL <JMP.&kernel32.VirtualFree>
004015CF 85C0 |TEST EAX,EAX
004015D1 75 0A |JNZ SHORT crackme3.004015DD
004015D3 C705 BCC54000 02>|MOV DWORD PTR DS:[40C5BC],2
004015DD 8B36 |MOV ESI,DWORD PTR DS:[ESI]
004015DF 81FE E0C54000 CMP ESI,crackme3.0040C5E0
004015E5 ^75 C0 \JNZ SHORT crackme3.004015A7
004015E7 5A POP EDX
004015E8 5D POP EBP
004015E9 5F POP EDI
004015EA 5E POP ESI
004015EB 5B POP EBX
004015EC C3 RETN
004015ED 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
004015F0 53 PUSH EBX
004015F1 56 PUSH ESI
004015F2 57 PUSH EDI
004015F3 55 PUSH EBP
004015F4 83C4 F8 ADD ESP,-8
004015F7 8BF2 MOV ESI,EDX
004015F9 8BF8 MOV EDI,EAX
004015FB BD F0C54000 MOV EBP,crackme3.0040C5F0
00401600 81C7 FF3F0000 ADD EDI,3FFF
00401606 81E7 00C0FFFF AND EDI,FFFFC000
0040160C 8B5D 00 /MOV EBX,DWORD PTR SS:[EBP]
0040160F EB 33 |JMP SHORT crackme3.00401644
00401611 3B7B 0C |/CMP EDI,DWORD PTR DS:[EBX+C]
00401614 7F 2C ||JG SHORT crackme3.00401642
00401616 8BCE ||MOV ECX,ESI
00401618 8BD7 ||MOV EDX,EDI
0040161A 8B43 08 ||MOV EAX,DWORD PTR DS:[EBX+8]
0040161D E8 BAFEFFFF ||CALL crackme3.004014DC
00401622 833E 00 ||CMP DWORD PTR DS:[ESI],0
00401625 74 50 ||JE SHORT crackme3.00401677
00401627 8B46 04 ||MOV EAX,DWORD PTR DS:[ESI+4]
0040162A 0143 08 ||ADD DWORD PTR DS:[EBX+8],EAX
0040162D 8B46 04 ||MOV EAX,DWORD PTR DS:[ESI+4]
00401630 2943 0C ||SUB DWORD PTR DS:[EBX+C],EAX
00401633 837B 0C 00 ||CMP DWORD PTR DS:[EBX+C],0
00401637 75 3E ||JNZ SHORT crackme3.00401677
00401639 8BC3 ||MOV EAX,EBX
0040163B E8 ECFBFFFF ||CALL crackme3.0040122C
00401640 EB 35 ||JMP SHORT crackme3.00401677
00401642 8B1B ||MOV EBX,DWORD PTR DS:[EBX]
00401644 3BDD | CMP EBX,EBP
00401646 ^75 C9 |\JNZ SHORT crackme3.00401611
00401648 8BD6 |MOV EDX,ESI
0040164A 8BC7 |MOV EAX,EDI
0040164C E8 F7FCFFFF |CALL crackme3.00401348
00401651 833E 00 |CMP DWORD PTR DS:[ESI],0
00401654 74 21 |JE SHORT crackme3.00401677
00401656 8BCC |MOV ECX,ESP
00401658 8BD6 |MOV EDX,ESI
0040165A 8BC5 |MOV EAX,EBP
0040165C E8 E3FBFFFF |CALL crackme3.00401244
00401661 833C24 00 |CMP DWORD PTR SS:[ESP],0
00401665 ^75 A5 \JNZ SHORT crackme3.0040160C
00401667 8BCC MOV ECX,ESP
00401669 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4]
0040166C 8B06 MOV EAX,DWORD PTR DS:[ESI]
0040166E E8 B1FDFFFF CALL crackme3.00401424
00401673 33C0 XOR EAX,EAX
00401675 8906 MOV DWORD PTR DS:[ESI],EAX
00401677 59 POP ECX
00401678 5A POP EDX
00401679 5D POP EBP
0040167A 5F POP EDI
0040167B 5E POP ESI
0040167C 5B POP EBX
0040167D C3 RETN
0040167E 8BC0 MOV EAX,EAX
00401680 53 PUSH EBX
00401681 56 PUSH ESI
00401682 57 PUSH EDI
00401683 55 PUSH EBP
00401684 83C4 EC ADD ESP,-14
00401687 890C24 MOV DWORD PTR SS:[ESP],ECX
0040168A 8BFA MOV EDI,EDX
0040168C 8BF0 MOV ESI,EAX
0040168E BD F0C54000 MOV EBP,crackme3.0040C5F0
00401693 81C7 FF3F0000 ADD EDI,3FFF
00401699 81E7 00C0FFFF AND EDI,FFFFC000
0040169F 8B5D 00 /MOV EBX,DWORD PTR SS:[EBP]
004016A2 EB 02 |JMP SHORT crackme3.004016A6
004016A4 8B1B |/MOV EBX,DWORD PTR DS:[EBX]
004016A6 3BDD | CMP EBX,EBP
004016A8 74 05 ||JE SHORT crackme3.004016AF
004016AA 3B73 08 ||CMP ESI,DWORD PTR DS:[EBX+8]
004016AD ^75 F5 |\JNZ SHORT crackme3.004016A4
004016AF 3B73 08 |CMP ESI,DWORD PTR DS:[EBX+8]
004016B2 75 57 |JNZ SHORT crackme3.0040170B
004016B4 3B7B 0C |CMP EDI,DWORD PTR DS:[EBX+C]
004016B7 0F8E 96000000 |JLE crackme3.00401753
004016BD 8D4C24 04 |LEA ECX,DWORD PTR SS:[ESP+4]
004016C1 8BD7 |MOV EDX,EDI
004016C3 2B53 0C |SUB EDX,DWORD PTR DS:[EBX+C]
004016C6 8B43 08 |MOV EAX,DWORD PTR DS:[EBX+8]
004016C9 0343 0C |ADD EAX,DWORD PTR DS:[EBX+C]
004016CC E8 DBFCFFFF |CALL crackme3.004013AC
004016D1 837C24 04 00 |CMP DWORD PTR SS:[ESP+4],0
004016D6 74 33 |JE SHORT crackme3.0040170B
004016D8 8D4C24 0C |LEA ECX,DWORD PTR SS:[ESP+C]
004016DC 8D5424 04 |LEA EDX,DWORD PTR SS:[ESP+4]
004016E0 8BC5 |MOV EAX,EBP
004016E2 E8 5DFBFFFF |CALL crackme3.00401244
004016E7 837C24 0C 00 |CMP DWORD PTR SS:[ESP+C],0
004016EC ^75 B1 |JNZ SHORT crackme3.0040169F
004016EE 8D4C24 0C |LEA ECX,DWORD PTR SS:[ESP+C]
004016F2 8B5424 08 |MOV EDX,DWORD PTR SS:[ESP+8]
004016F6 8B4424 04 |MOV EAX,DWORD PTR SS:[ESP+4]
004016FA E8 25FDFFFF |CALL crackme3.00401424
004016FF 8B0424 |MOV EAX,DWORD PTR SS:[ESP]
00401702 33D2 |XOR EDX,EDX
00401704 8910 |MOV DWORD PTR DS:[EAX],EDX
00401706 E9 90000000 |JMP crackme3.0040179B
0040170B 8D4C24 04 |LEA ECX,DWORD PTR SS:[ESP+4]
0040170F 8BD7 |MOV EDX,EDI
00401711 8BC6 |MOV EAX,ESI
00401713 E8 94FCFFFF |CALL crackme3.004013AC
00401718 837C24 04 00 |CMP DWORD PTR SS:[ESP+4],0
0040171D 74 34 |JE SHORT crackme3.00401753
0040171F 8D4C24 0C |LEA ECX,DWORD PTR SS:[ESP+C]
00401723 8D5424 04 |LEA EDX,DWORD PTR SS:[ESP+4]
00401727 8BC5 |MOV EAX,EBP
00401729 E8 16FBFFFF |CALL crackme3.00401244
0040172E 837C24 0C 00 |CMP DWORD PTR SS:[ESP+C],0
00401733 ^0F85 66FFFFFF \JNZ crackme3.0040169F
00401739 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
0040173D 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
00401741 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
00401745 E8 DAFCFFFF CALL crackme3.00401424
0040174A 8B0424 MOV EAX,DWORD PTR SS:[ESP]
0040174D 33D2 XOR EDX,EDX
0040174F 8910 MOV DWORD PTR DS:[EAX],EDX
00401751 EB 48 JMP SHORT crackme3.0040179B
00401753 8B6B 08 MOV EBP,DWORD PTR DS:[EBX+8]
00401756 3BF5 CMP ESI,EBP
00401758 75 3A JNZ SHORT crackme3.00401794
0040175A 3B7B 0C CMP EDI,DWORD PTR DS:[EBX+C]
0040175D 7F 35 JG SHORT crackme3.00401794
0040175F 8B0C24 MOV ECX,DWORD PTR SS:[ESP]
00401762 8BD7 MOV EDX,EDI
00401764 8BC5 MOV EAX,EBP
00401766 E8 71FDFFFF CALL crackme3.004014DC
0040176B 8B0424 MOV EAX,DWORD PTR SS:[ESP]
0040176E 8338 00 CMP DWORD PTR DS:[EAX],0
00401771 74 28 JE SHORT crackme3.0040179B
00401773 8B0424 MOV EAX,DWORD PTR SS:[ESP]
00401776 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
00401779 0143 08 ADD DWORD PTR DS:[EBX+8],EAX
0040177C 8B0424 MOV EAX,DWORD PTR SS:[ESP]
0040177F 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
00401782 2943 0C SUB DWORD PTR DS:[EBX+C],EAX
00401785 837B 0C 00 CMP DWORD PTR DS:[EBX+C],0
00401789 75 10 JNZ SHORT crackme3.0040179B
0040178B 8BC3 MOV EAX,EBX
0040178D E8 9AFAFFFF CALL crackme3.0040122C
00401792 EB 07 JMP SHORT crackme3.0040179B
00401794 8B0424 MOV EAX,DWORD PTR SS:[ESP]
00401797 33D2 XOR EDX,EDX
00401799 8910 MOV DWORD PTR DS:[EAX],EDX
0040179B 83C4 14 ADD ESP,14
0040179E 5D POP EBP
0040179F 5F POP EDI
004017A0 5E POP ESI
004017A1 5B POP EBX
004017A2 C3 RETN
004017A3 90 NOP
004017A4 53 PUSH EBX
004017A5 56 PUSH ESI
004017A6 57 PUSH EDI
004017A7 83C4 EC ADD ESP,-14
004017AA 8BF9 MOV EDI,ECX
004017AC 891424 MOV DWORD PTR SS:[ESP],EDX
004017AF 8D98 FF3F0000 LEA EBX,DWORD PTR DS:[EAX+3FFF]
004017B5 81E3 00C0FFFF AND EBX,FFFFC000
004017BB 8B3424 MOV ESI,DWORD PTR SS:[ESP]
004017BE 03F0 ADD ESI,EAX
004017C0 81E6 00C0FFFF AND ESI,FFFFC000
004017C6 3BDE CMP EBX,ESI
004017C8 73 5B JNB SHORT crackme3.00401825
004017CA 8BCF MOV ECX,EDI
004017CC 8BD6 MOV EDX,ESI
004017CE 2BD3 SUB EDX,EBX
004017D0 8BC3 MOV EAX,EBX
004017D2 E8 99FDFFFF CALL crackme3.00401570
004017D7 8D4C24 04 LEA ECX,DWORD PTR SS:[ESP+4]
004017DB 8BD7 MOV EDX,EDI
004017DD B8 F0C54000 MOV EAX,crackme3.0040C5F0
004017E2 E8 5DFAFFFF CALL crackme3.00401244
004017E7 8B5C24 04 MOV EBX,DWORD PTR SS:[ESP+4]
004017EB 85DB TEST EBX,EBX
004017ED 74 1F JE SHORT crackme3.0040180E
004017EF 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
004017F3 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
004017F7 8BC3 MOV EAX,EBX
004017F9 E8 26FCFFFF CALL crackme3.00401424
004017FE 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
00401802 894424 04 MOV DWORD PTR SS:[ESP+4],EAX
00401806 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
0040180A 894424 08 MOV DWORD PTR SS:[ESP+8],EAX
0040180E 837C24 04 00 CMP DWORD PTR SS:[ESP+4],0
00401813 74 14 JE SHORT crackme3.00401829
00401815 8D5424 04 LEA EDX,DWORD PTR SS:[ESP+4]
00401819 B8 F0C54000 MOV EAX,crackme3.0040C5F0
0040181E E8 91FAFFFF CALL crackme3.004012B4
00401823 EB 04 JMP SHORT crackme3.00401829
00401825 33C0 XOR EAX,EAX
00401827 8907 MOV DWORD PTR DS:[EDI],EAX
00401829 83C4 14 ADD ESP,14
0040182C 5F POP EDI
0040182D 5E POP ESI
0040182E 5B POP EBX
0040182F C3 RETN
00401830 55 PUSH EBP
00401831 8BEC MOV EBP,ESP
00401833 33D2 XOR EDX,EDX
00401835 55 PUSH EBP
00401836 68 E6184000 PUSH crackme3.004018E6
0040183B 64:FF32 PUSH DWORD PTR FS:[EDX]
0040183E 64:8922 MOV DWORD PTR FS:[EDX],ESP
00401841 68 C0C54000 PUSH crackme3.0040C5C0
00401846 E8 39F9FFFF CALL <JMP.&kernel32.InitializeCriticalSe>
0040184B 803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
00401852 74 0A JE SHORT crackme3.0040185E
00401854 68 C0C54000 PUSH crackme3.0040C5C0
00401859 E8 2EF9FFFF CALL <JMP.&kernel32.EnterCriticalSection>
0040185E B8 E0C54000 MOV EAX,crackme3.0040C5E0
00401863 E8 8CF9FFFF CALL crackme3.004011F4
00401868 B8 F0C54000 MOV EAX,crackme3.0040C5F0
0040186D E8 82F9FFFF CALL crackme3.004011F4
00401872 B8 1CC64000 MOV EAX,crackme3.0040C61C
00401877 E8 78F9FFFF CALL crackme3.004011F4
0040187C 68 F80F0000 PUSH 0FF8
00401881 6A 00 PUSH 0
00401883 E8 DCF8FFFF CALL <JMP.&kernel32.LocalAlloc>
00401888 A3 18C64000 MOV DWORD PTR DS:[40C618],EAX
0040188D 833D 18C64000 00 CMP DWORD PTR DS:[40C618],0
00401894 74 2F JE SHORT crackme3.004018C5
00401896 B8 03000000 MOV EAX,3
0040189B 8B15 18C64000 MOV EDX,DWORD PTR DS:[40C618]
004018A1 33C9 XOR ECX,ECX
004018A3 894C82 F4 MOV DWORD PTR DS:[EDX+EAX*4-C],ECX
004018A7 40 INC EAX
004018A8 3D 01040000 CMP EAX,401
004018AD ^75 EC JNZ SHORT crackme3.0040189B
004018AF B8 00C64000 MOV EAX,crackme3.0040C600
004018B4 8940 04 MOV DWORD PTR DS:[EAX+4],EAX
004018B7 8900 MOV DWORD PTR DS:[EAX],EAX
004018B9 A3 0CC64000 MOV DWORD PTR DS:[40C60C],EAX
004018BE C605 B8C54000 01 MOV BYTE PTR DS:[40C5B8],1
004018C5 33C0 XOR EAX,EAX
004018C7 5A POP EDX
004018C8 59 POP ECX
004018C9 59 POP ECX
004018CA 64:8910 MOV DWORD PTR FS:[EAX],EDX
004018CD 68 ED184000 PUSH crackme3.004018ED
004018D2 803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
004018D9 74 0A JE SHORT crackme3.004018E5
004018DB 68 C0C54000 PUSH crackme3.0040C5C0
004018E0 E8 AFF8FFFF CALL <JMP.&kernel32.LeaveCriticalSection>
004018E5 C3 RETN ; RET used as a jump to 004018ED
004018E6 E9 2D190000 JMP crackme3.00403218
004018EB ^EB E5 JMP SHORT crackme3.004018D2
004018ED A0 B8C54000 MOV AL,BYTE PTR DS:[40C5B8]
004018F2 5D POP EBP
004018F3 C3 RETN
004018F4 55 PUSH EBP
004018F5 8BEC MOV EBP,ESP
004018F7 53 PUSH EBX
004018F8 803D B8C54000 00 CMP BYTE PTR DS:[40C5B8],0
004018FF 0F84 CC000000 JE crackme3.004019D1
00401905 33D2 XOR EDX,EDX
00401907 55 PUSH EBP
00401908 68 CA194000 PUSH crackme3.004019CA
0040190D 64:FF32 PUSH DWORD PTR FS:[EDX]
00401910 64:8922 MOV DWORD PTR FS:[EDX],ESP
00401913 803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
0040191A 74 0A JE SHORT crackme3.00401926
0040191C 68 C0C54000 PUSH crackme3.0040C5C0
00401921 E8 66F8FFFF CALL <JMP.&kernel32.EnterCriticalSection>
00401926 C605 B8C54000 00 MOV BYTE PTR DS:[40C5B8],0
0040192D A1 18C64000 MOV EAX,DWORD PTR DS:[40C618]
00401932 50 PUSH EAX
00401933 E8 34F8FFFF CALL <JMP.&kernel32.LocalFree>
00401938 33C0 XOR EAX,EAX
0040193A A3 18C64000 MOV DWORD PTR DS:[40C618],EAX
0040193F 8B1D E0C54000 MOV EBX,DWORD PTR DS:[40C5E0]
00401945 EB 12 JMP SHORT crackme3.00401959
00401947 68 00800000 PUSH 8000
0040194C 6A 00 PUSH 0
0040194E 8B43 08 MOV EAX,DWORD PTR DS:[EBX+8]
00401951 50 PUSH EAX
00401952 E8 25F8FFFF CALL <JMP.&kernel32.VirtualFree>
00401957 8B1B MOV EBX,DWORD PTR DS:[EBX]
00401959 81FB E0C54000 CMP EBX,crackme3.0040C5E0
0040195F ^75 E6 JNZ SHORT crackme3.00401947
00401961 B8 E0C54000 MOV EAX,crackme3.0040C5E0
00401966 E8 89F8FFFF CALL crackme3.004011F4
0040196B B8 F0C54000 MOV EAX,crackme3.0040C5F0
00401970 E8 7FF8FFFF CALL crackme3.004011F4
00401975 B8 1CC64000 MOV EAX,crackme3.0040C61C
0040197A E8 75F8FFFF CALL crackme3.004011F4
0040197F A1 D8C54000 MOV EAX,DWORD PTR DS:[40C5D8]
00401984 85C0 TEST EAX,EAX
00401986 74 17 JE SHORT crackme3.0040199F
00401988 8B10 MOV EDX,DWORD PTR DS:[EAX]
0040198A 8915 D8C54000 MOV DWORD PTR DS:[40C5D8],EDX
00401990 50 PUSH EAX
00401991 E8 D6F7FFFF CALL <JMP.&kernel32.LocalFree>
00401996 A1 D8C54000 MOV EAX,DWORD PTR DS:[40C5D8]
0040199B 85C0 TEST EAX,EAX
0040199D ^75 E9 JNZ SHORT crackme3.00401988
0040199F 33C0 XOR EAX,EAX
004019A1 5A POP EDX
004019A2 59 POP ECX
004019A3 59 POP ECX
004019A4 64:8910 MOV DWORD PTR FS:[EAX],EDX
004019A7 68 D1194000 PUSH crackme3.004019D1
004019AC 803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
004019B3 74 0A JE SHORT crackme3.004019BF
004019B5 68 C0C54000 PUSH crackme3.0040C5C0
004019BA E8 D5F7FFFF CALL <JMP.&kernel32.LeaveCriticalSection>
004019BF 68 C0C54000 PUSH crackme3.0040C5C0
004019C4 E8 D3F7FFFF CALL <JMP.&kernel32.DeleteCriticalSectio>
004019C9 C3 RETN
004019CA E9 49180000 JMP crackme3.00403218
004019CF ^EB DB JMP SHORT crackme3.004019AC
004019D1 5B POP EBX
004019D2 5D POP EBP
004019D3 C3 RETN
004019D4 53 PUSH EBX
004019D5 3B05 0CC64000 CMP EAX,DWORD PTR DS:[40C60C]
004019DB 75 09 JNZ SHORT crackme3.004019E6
004019DD 8B50 04 MOV EDX,DWORD PTR DS:[EAX+4]
004019E0 8915 0CC64000 MOV DWORD PTR DS:[40C60C],EDX
004019E6 8B50 04 MOV EDX,DWORD PTR DS:[EAX+4]
004019E9 8B48 08 MOV ECX,DWORD PTR DS:[EAX+8]
004019EC 81F9 00100000 CMP ECX,1000
004019F2 7F 38 JG SHORT crackme3.00401A2C
004019F4 3BC2 CMP EAX,EDX
004019F6 75 17 JNZ SHORT crackme3.00401A0F
004019F8 85C9 TEST ECX,ECX
004019FA 79 03 JNS SHORT crackme3.004019FF
004019FC 83C1 03 ADD ECX,3
004019FF C1F9 02 SAR ECX,2
00401A02 A1 18C64000 MOV EAX,DWORD PTR DS:[40C618]
00401A07 33D2 XOR EDX,EDX
00401A09 895488 F4 MOV DWORD PTR DS:[EAX+ECX*4-C],EDX
00401A0D EB 24 JMP SHORT crackme3.00401A33
00401A0F 85C9 TEST ECX,ECX
00401A11 79 03 JNS SHORT crackme3.00401A16
00401A13 83C1 03 ADD ECX,3
00401A16 C1F9 02 SAR ECX,2
00401A19 8B1D 18C64000 MOV EBX,DWORD PTR DS:[40C618]
00401A1F 89548B F4 MOV DWORD PTR DS:[EBX+ECX*4-C],EDX
00401A23 8B00 MOV EAX,DWORD PTR DS:[EAX]
00401A25 8902 MOV DWORD PTR DS:[EDX],EAX
00401A27 8950 04 MOV DWORD PTR DS:[EAX+4],EDX
00401A2A 5B POP EBX
00401A2B C3 RETN
00401A2C 8B00 MOV EAX,DWORD PTR DS:[EAX]
00401A2E 8902 MOV DWORD PTR DS:[EDX],EAX
00401A30 8950 04 MOV DWORD PTR DS:[EAX+4],EDX
00401A33 5B POP EBX
00401A34 C3 RETN
00401A35 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00401A38 8B15 1CC64000 MOV EDX,DWORD PTR DS:[40C61C]
00401A3E EB 10 JMP SHORT crackme3.00401A50
00401A40 8B4A 08 /MOV ECX,DWORD PTR DS:[EDX+8]
00401A43 3BC1 |CMP EAX,ECX
00401A45 72 07 |JB SHORT crackme3.00401A4E
00401A47 034A 0C |ADD ECX,DWORD PTR DS:[EDX+C]
00401A4A 3BC1 |CMP EAX,ECX
00401A4C 72 16 |JB SHORT crackme3.00401A64
00401A4E 8B12 |MOV EDX,DWORD PTR DS:[EDX]
00401A50 81FA 1CC64000 CMP EDX,crackme3.0040C61C
00401A56 ^75 E8 \JNZ SHORT crackme3.00401A40
00401A58 C705 BCC54000 03>MOV DWORD PTR DS:[40C5BC],3
00401A62 33D2 XOR EDX,EDX
00401A64 8BC2 MOV EAX,EDX
00401A66 C3 RETN
00401A67 90 NOP
00401A68 53 PUSH EBX
00401A69 8BCA MOV ECX,EDX
00401A6B 83E9 04 SUB ECX,4
00401A6E 8D1C01 LEA EBX,DWORD PTR DS:[ECX+EAX]
00401A71 83FA 10 CMP EDX,10
00401A74 7C 0F JL SHORT crackme3.00401A85
00401A76 C703 07000080 MOV DWORD PTR DS:[EBX],80000007
00401A7C 8BD1 MOV EDX,ECX
00401A7E E8 B9010000 CALL crackme3.00401C3C
00401A83 5B POP EBX
00401A84 C3 RETN
00401A85 83FA 04 CMP EDX,4
00401A88 7C 0C JL SHORT crackme3.00401A96
00401A8A 8BCA MOV ECX,EDX
00401A8C 81C9 02000080 OR ECX,80000002
00401A92 8908 MOV DWORD PTR DS:[EAX],ECX
00401A94 890B MOV DWORD PTR DS:[EBX],ECX
00401A96 5B POP EBX
00401A97 C3 RETN
00401A98 FF05 ACC54000 INC DWORD PTR DS:[40C5AC]
00401A9E 8BD0 MOV EDX,EAX
00401AA0 83EA 04 SUB EDX,4
00401AA3 8B12 MOV EDX,DWORD PTR DS:[EDX]
00401AA5 81E2 FCFFFF7F AND EDX,7FFFFFFC
00401AAB 83EA 04 SUB EDX,4
00401AAE 0115 B0C54000 ADD DWORD PTR DS:[40C5B0],EDX
00401AB4 E8 F3050000 CALL crackme3.004020AC
00401AB9 C3 RETN
00401ABA 8BC0 MOV EAX,EAX
00401ABC 83FA 0C CMP EDX,0C
00401ABF 7C 0E JL SHORT crackme3.00401ACF
00401AC1 83CA 02 OR EDX,2
00401AC4 8910 MOV DWORD PTR DS:[EAX],EDX
00401AC6 83C0 04 ADD EAX,4
00401AC9 E8 CAFFFFFF CALL crackme3.00401A98
00401ACE C3 RETN
00401ACF 83FA 04 CMP EDX,4
00401AD2 7C 0A JL SHORT crackme3.00401ADE
00401AD4 8BCA MOV ECX,EDX
00401AD6 81C9 02000080 OR ECX,80000002
00401ADC 8908 MOV DWORD PTR DS:[EAX],ECX
00401ADE 03C2 ADD EAX,EDX
00401AE0 8320 FE AND DWORD PTR DS:[EAX],FFFFFFFE
00401AE3 C3 RETN
00401AE4 53 PUSH EBX
00401AE5 56 PUSH ESI
00401AE6 8BD0 MOV EDX,EAX
00401AE8 83EA 04 SUB EDX,4
00401AEB 8B12 MOV EDX,DWORD PTR DS:[EDX]
00401AED 8BCA MOV ECX,EDX
00401AEF 81E1 02000080 AND ECX,80000002
00401AF5 81F9 02000080 CMP ECX,80000002
00401AFB 74 0A JE SHORT crackme3.00401B07
00401AFD C705 BCC54000 04>MOV DWORD PTR DS:[40C5BC],4
00401B07 8BDA MOV EBX,EDX
00401B09 81E3 FCFFFF7F AND EBX,7FFFFFFC
00401B0F 2BC3 SUB EAX,EBX
00401B11 8BC8 MOV ECX,EAX
00401B13 3311 XOR EDX,DWORD PTR DS:[ECX]
00401B15 F7C2 FEFFFFFF TEST EDX,FFFFFFFE
00401B1B 74 0A JE SHORT crackme3.00401B27
00401B1D C705 BCC54000 05>MOV DWORD PTR DS:[40C5BC],5
00401B27 F601 01 TEST BYTE PTR DS:[ECX],1
00401B2A 74 20 JE SHORT crackme3.00401B4C
00401B2C 8BD0 MOV EDX,EAX
00401B2E 83EA 0C SUB EDX,0C
00401B31 8B72 08 MOV ESI,DWORD PTR DS:[EDX+8]
00401B34 2BC6 SUB EAX,ESI
00401B36 3B70 08 CMP ESI,DWORD PTR DS:[EAX+8]
00401B39 74 0A JE SHORT crackme3.00401B45
00401B3B C705 BCC54000 06>MOV DWORD PTR DS:[40C5BC],6
00401B45 E8 8AFEFFFF CALL crackme3.004019D4
00401B4A 03DE ADD EBX,ESI
00401B4C 8BC3 MOV EAX,EBX
00401B4E 5E POP ESI
00401B4F 5B POP EBX
00401B50 C3 RETN
00401B51 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00401B54 53 PUSH EBX
00401B55 56 PUSH ESI
00401B56 57 PUSH EDI
00401B57 8BD8 MOV EBX,EAX
00401B59 33FF XOR EDI,EDI
00401B5B 8B03 MOV EAX,DWORD PTR DS:[EBX]
00401B5D A9 00000080 TEST EAX,80000000
00401B62 74 0B JE SHORT crackme3.00401B6F
00401B64 25 FCFFFF7F AND EAX,7FFFFFFC
00401B69 03F8 ADD EDI,EAX
00401B6B 03D8 ADD EBX,EAX
00401B6D 8B03 MOV EAX,DWORD PTR DS:[EBX]
00401B6F A8 02 TEST AL,2
00401B71 75 13 JNZ SHORT crackme3.00401B86
00401B73 8BF3 MOV ESI,EBX
00401B75 8BC6 MOV EAX,ESI
00401B77 E8 58FEFFFF CALL crackme3.004019D4
00401B7C 8B46 08 MOV EAX,DWORD PTR DS:[ESI+8]
00401B7F 03F8 ADD EDI,EAX
00401B81 03D8 ADD EBX,EAX
00401B83 8323 FE AND DWORD PTR DS:[EBX],FFFFFFFE
00401B86 8BC7 MOV EAX,EDI
00401B88 5F POP EDI
00401B89 5E POP ESI
00401B8A 5B POP EBX
00401B8B C3 RETN
00401B8C 53 PUSH EBX
00401B8D 56 PUSH ESI
00401B8E 57 PUSH EDI
00401B8F 55 PUSH EBP
00401B90 83C4 F4 ADD ESP,-0C
00401B93 8BFA MOV EDI,EDX
00401B95 8BF0 MOV ESI,EAX
00401B97 C60424 00 MOV BYTE PTR SS:[ESP],0
00401B9B 8BC6 MOV EAX,ESI
00401B9D E8 96FEFFFF CALL crackme3.00401A38
00401BA2 8BD8 MOV EBX,EAX
00401BA4 85DB TEST EBX,EBX
00401BA6 0F84 82000000 JE crackme3.00401C2E
00401BAC 8B6B 08 MOV EBP,DWORD PTR DS:[EBX+8]
00401BAF 8BC5 MOV EAX,EBP
00401BB1 0343 0C ADD EAX,DWORD PTR DS:[EBX+C]
00401BB4 8BD0 MOV EDX,EAX
00401BB6 8D0C37 LEA ECX,DWORD PTR DS:[EDI+ESI]
00401BB9 2BD1 SUB EDX,ECX
00401BBB 83FA 0C CMP EDX,0C
00401BBE 7F 04 JG SHORT crackme3.00401BC4
00401BC0 8BF8 MOV EDI,EAX
00401BC2 2BFE SUB EDI,ESI
00401BC4 8BC6 MOV EAX,ESI
00401BC6 2BC5 SUB EAX,EBP
00401BC8 83F8 0C CMP EAX,0C
00401BCB 7D 14 JGE SHORT crackme3.00401BE1
00401BCD 8D4C24 01 LEA ECX,DWORD PTR SS:[ESP+1]
00401BD1 8BD6 MOV EDX,ESI
00401BD3 2B53 08 SUB EDX,DWORD PTR DS:[EBX+8]
00401BD6 03D7 ADD EDX,EDI
00401BD8 8BC5 MOV EAX,EBP
00401BDA E8 C5FBFFFF CALL crackme3.004017A4
00401BDF EB 11 JMP SHORT crackme3.00401BF2
00401BE1 8D4C24 01 LEA ECX,DWORD PTR SS:[ESP+1]
00401BE5 8BD7 MOV EDX,EDI
00401BE7 83EA 04 SUB EDX,4
00401BEA 8D46 04 LEA EAX,DWORD PTR DS:[ESI+4]
00401BED E8 B2FBFFFF CALL crackme3.004017A4
00401BF2 8B6C24 01 MOV EBP,DWORD PTR SS:[ESP+1]
00401BF6 85ED TEST EBP,EBP
00401BF8 74 34 JE SHORT crackme3.00401C2E
00401BFA 8BD5 MOV EDX,EBP
00401BFC 2BD6 SUB EDX,ESI
00401BFE 8BC6 MOV EAX,ESI
00401C00 E8 63FEFFFF CALL crackme3.00401A68
00401C05 8BC5 MOV EAX,EBP
00401C07 034424 05 ADD EAX,DWORD PTR SS:[ESP+5]
00401C0B 8B53 08 MOV EDX,DWORD PTR DS:[EBX+8]
00401C0E 0353 0C ADD EDX,DWORD PTR DS:[EBX+C]
00401C11 3BC2 CMP EAX,EDX
00401C13 73 0A JNB SHORT crackme3.00401C1F
00401C15 8D1437 LEA EDX,DWORD PTR DS:[EDI+ESI]
00401C18 2BD0 SUB EDX,EAX
00401C1A E8 9DFEFFFF CALL crackme3.00401ABC
00401C1F 8D5424 01 LEA EDX,DWORD PTR SS:[ESP+1]
00401C23 8BC3 MOV EAX,EBX
00401C25 E8 8AF6FFFF CALL crackme3.004012B4
00401C2A C60424 01 MOV BYTE PTR SS:[ESP],1
00401C2E 8A0424 MOV AL,BYTE PTR SS:[ESP]
00401C31 83C4 0C ADD ESP,0C
00401C34 5D POP EBP
00401C35 5F POP EDI
00401C36 5E POP ESI
00401C37 5B POP EBX
00401C38 C3 RETN
00401C39 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00401C3C 53 PUSH EBX
00401C3D 56 PUSH ESI
00401C3E 57 PUSH EDI
00401C3F 8BF2 MOV ESI,EDX
00401C41 8BF8 MOV EDI,EAX
00401C43 8BDF MOV EBX,EDI
00401C45 8973 08 MOV DWORD PTR DS:[EBX+8],ESI
00401C48 8BC3 MOV EAX,EBX
00401C4A 03C6 ADD EAX,ESI
00401C4C 83E8 0C SUB EAX,0C
00401C4F 8970 08 MOV DWORD PTR DS:[EAX+8],ESI
00401C52 81FE 00100000 CMP ESI,1000
00401C58 7F 37 JG SHORT crackme3.00401C91
00401C5A 8BD6 MOV EDX,ESI
00401C5C 85D2 TEST EDX,EDX
00401C5E 79 03 JNS SHORT crackme3.00401C63
00401C60 83C2 03 ADD EDX,3
00401C63 C1FA 02 SAR EDX,2
00401C66 A1 18C64000 MOV EAX,DWORD PTR DS:[40C618]
00401C6B 8B4490 F4 MOV EAX,DWORD PTR DS:[EAX+EDX*4-C]
00401C6F 85C0 TEST EAX,EAX
00401C71 75 10 JNZ SHORT crackme3.00401C83
00401C73 A1 18C64000 MOV EAX,DWORD PTR DS:[40C618]
00401C78 895C90 F4 MOV DWORD PTR DS:[EAX+EDX*4-C],EBX
00401C7C 895B 04 MOV DWORD PTR DS:[EBX+4],EBX
00401C7F 891B MOV DWORD PTR DS:[EBX],EBX
00401C81 EB 3A JMP SHORT crackme3.00401CBD
00401C83 8B10 MOV EDX,DWORD PTR DS:[EAX]
00401C85 8943 04 MOV DWORD PTR DS:[EBX+4],EAX
00401C88 8913 MOV DWORD PTR DS:[EBX],EDX
00401C8A 8918 MOV DWORD PTR DS:[EAX],EBX
00401C8C 895A 04 MOV DWORD PTR DS:[EDX+4],EBX
00401C8F EB 2C JMP SHORT crackme3.00401CBD
00401C91 81FE 003C0000 CMP ESI,3C00
00401C97 7C 0D JL SHORT crackme3.00401CA6
00401C99 8BD6 MOV EDX,ESI
00401C9B 8BC7 MOV EAX,EDI
00401C9D E8 EAFEFFFF CALL crackme3.00401B8C
00401CA2 84C0 TEST AL,AL
00401CA4 75 17 JNZ SHORT crackme3.00401CBD
00401CA6 A1 0CC64000 MOV EAX,DWORD PTR DS:[40C60C]
00401CAB 891D 0CC64000 MOV DWORD PTR DS:[40C60C],EBX
00401CB1 8B10 MOV EDX,DWORD PTR DS:[EAX]
00401CB3 8943 04 MOV DWORD PTR DS:[EBX+4],EAX
00401CB6 8913 MOV DWORD PTR DS:[EBX],EDX
00401CB8 8918 MOV DWORD PTR DS:[EAX],EBX
00401CBA 895A 04 MOV DWORD PTR DS:[EDX+4],EBX
00401CBD 5F POP EDI
00401CBE 5E POP ESI
00401CBF 5B POP EBX
00401CC0 C3 RETN
00401CC1 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00401CC4 833D 10C64000 00 CMP DWORD PTR DS:[40C610],0
00401CCB 7E 40 JLE SHORT crackme3.00401D0D
00401CCD 833D 10C64000 0C CMP DWORD PTR DS:[40C610],0C
00401CD4 7D 0C JGE SHORT crackme3.00401CE2
00401CD6 C705 BCC54000 07>MOV DWORD PTR DS:[40C5BC],7
00401CE0 EB 2B JMP SHORT crackme3.00401D0D
00401CE2 A1 10C64000 MOV EAX,DWORD PTR DS:[40C610]
00401CE7 83C8 02 OR EAX,2
00401CEA 8B15 14C64000 MOV EDX,DWORD PTR DS:[40C614]
00401CF0 8902 MOV DWORD PTR DS:[EDX],EAX
00401CF2 A1 14C64000 MOV EAX,DWORD PTR DS:[40C614]
00401CF7 83C0 04 ADD EAX,4
00401CFA E8 99FDFFFF CALL crackme3.00401A98
00401CFF 33C0 XOR EAX,EAX
00401D01 A3 14C64000 MOV DWORD PTR DS:[40C614],EAX
00401D06 33C0 XOR EAX,EAX
00401D08 A3 10C64000 MOV DWORD PTR DS:[40C610],EAX
00401D0D C3 RETN
00401D0E 8BC0 MOV EAX,EAX
00401D10 53 PUSH EBX
00401D11 56 PUSH ESI
00401D12 57 PUSH EDI
00401D13 83C4 F0 ADD ESP,-10
00401D16 8BF0 MOV ESI,EAX
00401D18 8D3C24 LEA EDI,DWORD PTR SS:[ESP]
00401D1B A5 MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
00401D1C A5 MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
00401D1D 8BFC MOV EDI,ESP
00401D1F E8 A0FFFFFF CALL crackme3.00401CC4
00401D24 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8]
00401D28 8BD7 MOV EDX,EDI
00401D2A B8 1CC64000 MOV EAX,crackme3.0040C61C
00401D2F E8 10F5FFFF CALL crackme3.00401244
00401D34 8B5C24 08 MOV EBX,DWORD PTR SS:[ESP+8]
00401D38 85DB TEST EBX,EBX
00401D3A 75 04 JNZ SHORT crackme3.00401D40
00401D3C 33C0 XOR EAX,EAX
00401D3E EB 52 JMP SHORT crackme3.00401D92
00401D40 8B07 MOV EAX,DWORD PTR DS:[EDI]
00401D42 3BD8 CMP EBX,EAX
00401D44 73 0A JNB SHORT crackme3.00401D50
00401D46 E8 99FDFFFF CALL crackme3.00401AE4
00401D4B 2907 SUB DWORD PTR DS:[EDI],EAX
00401D4D 0147 04 ADD DWORD PTR DS:[EDI+4],EAX
00401D50 8B07 MOV EAX,DWORD PTR DS:[EDI]
00401D52 0347 04 ADD EAX,DWORD PTR DS:[EDI+4]
00401D55 8BF3 MOV ESI,EBX
00401D57 037424 0C ADD ESI,DWORD PTR SS:[ESP+C]
00401D5B 3BC6 CMP EAX,ESI
00401D5D 73 08 JNB SHORT crackme3.00401D67
00401D5F E8 F0FDFFFF CALL crackme3.00401B54
00401D64 0147 04 ADD DWORD PTR DS:[EDI+4],EAX
00401D67 8B07 MOV EAX,DWORD PTR DS:[EDI]
00401D69 0347 04 ADD EAX,DWORD PTR DS:[EDI+4]
00401D6C 3BF0 CMP ESI,EAX
00401D6E 75 11 JNZ SHORT crackme3.00401D81
00401D70 83E8 04 SUB EAX,4
00401D73 BA 04000000 MOV EDX,4
00401D78 E8 EBFCFFFF CALL crackme3.00401A68
00401D7D 836F 04 04 SUB DWORD PTR DS:[EDI+4],4
00401D81 8B07 MOV EAX,DWORD PTR DS:[EDI]
00401D83 A3 14C64000 MOV DWORD PTR DS:[40C614],EAX
00401D88 8B47 04 MOV EAX,DWORD PTR DS:[EDI+4]
00401D8B A3 10C64000 MOV DWORD PTR DS:[40C610],EAX
00401D90 B0 01 MOV AL,1
00401D92 83C4 10 ADD ESP,10
00401D95 5F POP EDI
00401D96 5E POP ESI
00401D97 5B POP EBX
00401D98 C3 RETN
00401D99 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00401D9C 53 PUSH EBX
00401D9D 83C4 F8 ADD ESP,-8
00401DA0 8BD8 MOV EBX,EAX
00401DA2 8BD4 MOV EDX,ESP
00401DA4 8D43 04 LEA EAX,DWORD PTR DS:[EBX+4]
00401DA7 E8 44F8FFFF CALL crackme3.004015F0
00401DAC 833C24 00 CMP DWORD PTR SS:[ESP],0
00401DB0 74 0B JE SHORT crackme3.00401DBD
00401DB2 8BC4 MOV EAX,ESP
00401DB4 E8 57FFFFFF CALL crackme3.00401D10
00401DB9 84C0 TEST AL,AL
00401DBB 75 04 JNZ SHORT crackme3.00401DC1
00401DBD 33C0 XOR EAX,EAX
00401DBF EB 02 JMP SHORT crackme3.00401DC3
00401DC1 B0 01 MOV AL,1
00401DC3 59 POP ECX
00401DC4 5A POP EDX
00401DC5 5B POP EBX
00401DC6 C3 RETN
00401DC7 90 NOP
00401DC8 53 PUSH EBX
00401DC9 56 PUSH ESI
00401DCA 83C4 F8 ADD ESP,-8
00401DCD 8BF2 MOV ESI,EDX
00401DCF 8BD8 MOV EBX,EAX
00401DD1 8BCC MOV ECX,ESP
00401DD3 8D56 04 LEA EDX,DWORD PTR DS:[ESI+4]
00401DD6 8BC3 MOV EAX,EBX
00401DD8 E8 A3F8FFFF CALL crackme3.00401680
00401DDD 833C24 00 CMP DWORD PTR SS:[ESP],0
00401DE1 74 0B JE SHORT crackme3.00401DEE
00401DE3 8BC4 MOV EAX,ESP
00401DE5 E8 26FFFFFF CALL crackme3.00401D10
00401DEA 84C0 TEST AL,AL
00401DEC 75 04 JNZ SHORT crackme3.00401DF2
00401DEE 33C0 XOR EAX,EAX
00401DF0 EB 02 JMP SHORT crackme3.00401DF4
00401DF2 B0 01 MOV AL,1
00401DF4 59 POP ECX
00401DF5 5A POP EDX
00401DF6 5E POP ESI
00401DF7 5B POP EBX
00401DF8 C3 RETN
00401DF9 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00401DFC 33D2 XOR EDX,EDX
00401DFE 85C0 TEST EAX,EAX
00401E00 79 03 JNS SHORT crackme3.00401E05
00401E02 83C0 03 ADD EAX,3
00401E05 C1F8 02 SAR EAX,2
00401E08 3D 00040000 CMP EAX,400
00401E0D 7F 16 JG SHORT crackme3.00401E25
00401E0F 8B15 18C64000 /MOV EDX,DWORD PTR DS:[40C618]
00401E15 8B5482 F4 |MOV EDX,DWORD PTR DS:[EDX+EAX*4-C]
00401E19 85D2 |TEST EDX,EDX
00401E1B 75 08 |JNZ SHORT crackme3.00401E25
00401E1D 40 |INC EAX
00401E1E 3D 01040000 |CMP EAX,401
00401E23 ^75 EA \JNZ SHORT crackme3.00401E0F
00401E25 8BC2 MOV EAX,EDX
00401E27 C3 RETN
00401E28 53 PUSH EBX
00401E29 56 PUSH ESI
00401E2A 57 PUSH EDI
00401E2B 55 PUSH EBP
00401E2C 8BF0 MOV ESI,EAX
00401E2E BF 0CC64000 MOV EDI,crackme3.0040C60C
00401E33 BD 10C64000 MOV EBP,crackme3.0040C610
00401E38 8B1D 04C64000 /MOV EBX,DWORD PTR DS:[40C604]
00401E3E 3B73 08 |CMP ESI,DWORD PTR DS:[EBX+8]
00401E41 0F8E 84000000 |JLE crackme3.00401ECB
00401E47 8B1F |MOV EBX,DWORD PTR DS:[EDI]
00401E49 8B43 08 |MOV EAX,DWORD PTR DS:[EBX+8]
00401E4C 3BF0 |CMP ESI,EAX
00401E4E 7E 7B |JLE SHORT crackme3.00401ECB
00401E50 8973 08 |MOV DWORD PTR DS:[EBX+8],ESI
00401E53 8B5B 04 |/MOV EBX,DWORD PTR DS:[EBX+4]
00401E56 3B73 08 ||CMP ESI,DWORD PTR DS:[EBX+8]
00401E59 ^7F F8 |\JG SHORT crackme3.00401E53
00401E5B 8B17 |MOV EDX,DWORD PTR DS:[EDI]
00401E5D 8942 08 |MOV DWORD PTR DS:[EDX+8],EAX
00401E60 3B1F |CMP EBX,DWORD PTR DS:[EDI]
00401E62 74 04 |JE SHORT crackme3.00401E68
00401E64 891F |MOV DWORD PTR DS:[EDI],EBX
00401E66 EB 63 |JMP SHORT crackme3.00401ECB
00401E68 81FE 00100000 |CMP ESI,1000
00401E6E 7F 0D |JG SHORT crackme3.00401E7D
00401E70 8BC6 |MOV EAX,ESI
00401E72 E8 85FFFFFF |CALL crackme3.00401DFC
00401E77 8BD8 |MOV EBX,EAX
00401E79 85DB |TEST EBX,EBX
00401E7B 75 4E |JNZ SHORT crackme3.00401ECB
00401E7D 8BC6 |MOV EAX,ESI
00401E7F E8 18FFFFFF |CALL crackme3.00401D9C
00401E84 84C0 |TEST AL,AL
00401E86 75 07 |JNZ SHORT crackme3.00401E8F
00401E88 33C0 |XOR EAX,EAX
00401E8A E9 88000000 |JMP crackme3.00401F17
00401E8F 3B75 00 |CMP ESI,DWORD PTR SS:[EBP]
00401E92 ^7F A4 \JG SHORT crackme3.00401E38
00401E94 2975 00 SUB DWORD PTR SS:[EBP],ESI
00401E97 837D 00 0C CMP DWORD PTR SS:[EBP],0C
00401E9B 7D 08 JGE SHORT crackme3.00401EA5
00401E9D 0375 00 ADD ESI,DWORD PTR SS:[EBP]
00401EA0 33C0 XOR EAX,EAX
00401EA2 8945 00 MOV DWORD PTR SS:[EBP],EAX
00401EA5 A1 14C64000 MOV EAX,DWORD PTR DS:[40C614]
00401EAA 0135 14C64000 ADD DWORD PTR DS:[40C614],ESI
00401EB0 8BD6 MOV EDX,ESI
00401EB2 83CA 02 OR EDX,2
00401EB5 8910 MOV DWORD PTR DS:[EAX],EDX
00401EB7 83C0 04 ADD EAX,4
00401EBA FF05 ACC54000 INC DWORD PTR DS:[40C5AC]
00401EC0 83EE 04 SUB ESI,4
00401EC3 0135 B0C54000 ADD DWORD PTR DS:[40C5B0],ESI
00401EC9 EB 4C JMP SHORT crackme3.00401F17
00401ECB 8BC3 MOV EAX,EBX
00401ECD E8 02FBFFFF CALL crackme3.004019D4
00401ED2 8B53 08 MOV EDX,DWORD PTR DS:[EBX+8]
00401ED5 8BC2 MOV EAX,EDX
00401ED7 2BC6 SUB EAX,ESI
00401ED9 83F8 0C CMP EAX,0C
00401EDC 7C 0C JL SHORT crackme3.00401EEA
00401EDE 8BD3 MOV EDX,EBX
00401EE0 03D6 ADD EDX,ESI
00401EE2 92 XCHG EAX,EDX
00401EE3 E8 54FDFFFF CALL crackme3.00401C3C
00401EE8 EB 12 JMP SHORT crackme3.00401EFC
00401EEA 8BF2 MOV ESI,EDX
00401EEC 3B1F CMP EBX,DWORD PTR DS:[EDI]
00401EEE 75 05 JNZ SHORT crackme3.00401EF5
00401EF0 8B43 04 MOV EAX,DWORD PTR DS:[EBX+4]
00401EF3 8907 MOV DWORD PTR DS:[EDI],EAX
00401EF5 8BC3 MOV EAX,EBX
00401EF7 03C6 ADD EAX,ESI
00401EF9 8320 FE AND DWORD PTR DS:[EAX],FFFFFFFE
00401EFC 8BC3 MOV EAX,EBX
00401EFE 8BD6 MOV EDX,ESI
00401F00 83CA 02 OR EDX,2
00401F03 8910 MOV DWORD PTR DS:[EAX],EDX
00401F05 83C0 04 ADD EAX,4
00401F08 FF05 ACC54000 INC DWORD PTR DS:[40C5AC]
00401F0E 83EE 04 SUB ESI,4
00401F11 0135 B0C54000 ADD DWORD PTR DS:[40C5B0],ESI
00401F17 5D POP EBP
00401F18 5F POP EDI
00401F19 5E POP ESI
00401F1A 5B POP EBX
00401F1B C3 RETN
00401F1C 55 PUSH EBP
00401F1D 8BEC MOV EBP,ESP
00401F1F 83C4 F8 ADD ESP,-8
00401F22 53 PUSH EBX
00401F23 56 PUSH ESI
00401F24 57 PUSH EDI
00401F25 8BD8 MOV EBX,EAX
00401F27 803D B8C54000 00 CMP BYTE PTR DS:[40C5B8],0
00401F2E 75 09 JNZ SHORT crackme3.00401F39
00401F30 E8 FBF8FFFF CALL crackme3.00401830
00401F35 84C0 TEST AL,AL
00401F37 74 08 JE SHORT crackme3.00401F41
00401F39 81FB F8FFFF7F CMP EBX,7FFFFFF8
00401F3F 7E 0A JLE SHORT crackme3.00401F4B
00401F41 33C0 XOR EAX,EAX
00401F43 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00401F46 E9 54010000 JMP crackme3.0040209F
00401F4B 33C9 XOR ECX,ECX
00401F4D 55 PUSH EBP
00401F4E 68 98204000 PUSH crackme3.00402098
00401F53 64:FF31 PUSH DWORD PTR FS:[ECX]
00401F56 64:8921 MOV DWORD PTR FS:[ECX],ESP
00401F59 803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
00401F60 74 0A JE SHORT crackme3.00401F6C
00401F62 68 C0C54000 PUSH crackme3.0040C5C0
00401F67 E8 20F2FFFF CALL <JMP.&kernel32.EnterCriticalSection>
00401F6C 83C3 07 ADD EBX,7
00401F6F 83E3 FC AND EBX,FFFFFFFC
00401F72 83FB 0C CMP EBX,0C
00401F75 7D 05 JGE SHORT crackme3.00401F7C
00401F77 BB 0C000000 MOV EBX,0C
00401F7C 81FB 00100000 CMP EBX,1000
00401F82 0F8F 93000000 JG crackme3.0040201B
00401F88 8BC3 MOV EAX,EBX
00401F8A 85C0 TEST EAX,EAX
00401F8C 79 03 JNS SHORT crackme3.00401F91
00401F8E 83C0 03 ADD EAX,3
00401F91 C1F8 02 SAR EAX,2
00401F94 8B15 18C64000 MOV EDX,DWORD PTR DS:[40C618]