All pastes #42259 Raw Edit

Untitled

public text v1 · immutable
#42259 ·published 2006-02-20 19:08 UTC
rendered paste body
00404D38   . E8 E1050000    CALL CrocChem.0040531E              ;  //dans ce call, on recup le nb jour restant en base 16 (4-bytes)
00404D3D   . B9 80510100    MOV ECX,15180                       ;  //15180 (base16)s -> 86400(base10)s -> 24(base10)jours
00404D42     8B00           MOV EAX,DWORD PTR DS:[EAX]          ;  //charge nb jours en base 16 (4-bytes) restant à partir pointeur EAX (fixer ce pointeur en hard si possible pour bloquer la trial)
00404D44     99             CDQ                                 ;  //Convert Double to Quad
00404D45     F7F9           IDIV ECX                            ;  //Signed Integer Division
00404D47     8BF8           MOV EDI,EAX                         
00404D49   . 85FF           TEST EDI,EDI                        ;  //reste-il des jours? 
00404D4B   . 7F 52          JG SHORT CrocChem.00404D9F        ;  //le plus simple est de patcher jmp ici, mais c'est pas propre ;p
00404D4D   . 6A FF          PUSH -1
00404D4F   . 56             PUSH ESI
00404D50   . 68 79F00000    PUSH 0F079
00404D55   . E8 10C10900    CALL <JMP.&MFC40.#1060>                  ;  //demo out message box
00404D5A   . C645 FC 05     MOV BYTE PTR SS:[EBP-4],5
00404D5E   . E8 5A050000    CALL CrocChem.004052BD
00404D63   . C645 FC 04     MOV BYTE PTR SS:[EBP-4],4
00404D67   . E8 59050000    CALL CrocChem.004052C5
00404D6C   . C645 FC 03     MOV BYTE PTR SS:[EBP-4],3
00404D70   . E8 58050000    CALL CrocChem.004052CD
00404D75   . C645 FC 02     MOV BYTE PTR SS:[EBP-4],2
00404D79   . E8 57050000    CALL CrocChem.004052D5
00404D7E   . C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
00404D85   . E8 53050000    CALL CrocChem.004052DD
00404D8A   .^E9 52FCFFFF    JMP CrocChem.004049E1
00404D8F   $ 8D4D F0        LEA ECX,DWORD PTR SS:[EBP-10]
00404D92   . E9 95BF0900    JMP <JMP.&MFC40.#706>
00404D97   $ 8D4D F0        LEA ECX,DWORD PTR SS:[EBP-10]
00404D9A   . E9 8DBF0900    JMP <JMP.&MFC40.#706>
00404D9F   > 83EC 04        SUB ESP,4
00404DA2   . 8D45 A8        LEA EAX,DWORD PTR SS:[EBP-58]
00404DA5   . 8965 F0        MOV DWORD PTR SS:[EBP-10],ESP
00404DA8   . 50             PUSH EAX
00404DA9   . 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00404DAC   . E8 60050000    CALL CrocChem.00405311
00404DB1   . 8D4D B8        LEA ECX,DWORD PTR SS:[EBP-48]
00404DB4   . E8 95050000    CALL CrocChem.0040534E
00404DB9   . 85C0           TEST EAX,EAX
00404DBB   . 74 43          JE SHORT CrocChem.00404E00
00404DBD   . 6A FF          PUSH -1
00404DBF   . 6A 00          PUSH 0
00404DC1   . 68 79F00000    PUSH 0F079
00404DC6   . E8 9FC00900    CALL <JMP.&MFC40.#1060>
00404DCB   . C645 FC 05     MOV BYTE PTR SS:[EBP-4],5
00404DCF   . E8 E9040000    CALL CrocChem.004052BD
00404DD4   . C645 FC 04     MOV BYTE PTR SS:[EBP-4],4
00404DD8   . E8 E8040000    CALL CrocChem.004052C5
00404DDD   . C645 FC 03     MOV BYTE PTR SS:[EBP-4],3
00404DE1   . E8 E7040000    CALL CrocChem.004052CD
00404DE6   . C645 FC 02     MOV BYTE PTR SS:[EBP-4],2
00404DEA   . E8 E6040000    CALL CrocChem.004052D5
00404DEF   . C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
00404DF6   . E8 E2040000    CALL CrocChem.004052DD
00404DFB   .^E9 E1FBFFFF    JMP CrocChem.004049E1
00404E00   > 83EC 04        SUB ESP,4
00404E03   . 8D45 AC        LEA EAX,DWORD PTR SS:[EBP-54]
00404E06   . 8965 F0        MOV DWORD PTR SS:[EBP-10],ESP
00404E09   . 50             PUSH EAX
00404E0A   . 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00404E0D   . E8 FF040000    CALL CrocChem.00405311
00404E12   . 8D4D B8        LEA ECX,DWORD PTR SS:[EBP-48]
00404E15   . E8 22050000    CALL CrocChem.0040533C
00404E1A   . 85C0           TEST EAX,EAX
00404E1C   . 74 43          JE SHORT CrocChem.00404E61
00404E1E   . 6A FF          PUSH -1
00404E20   . 6A 00          PUSH 0
00404E22   . 68 79F00000    PUSH 0F079
00404E27   . E8 3EC00900    CALL <JMP.&MFC40.#1060>
00404E2C   . C645 FC 05     MOV BYTE PTR SS:[EBP-4],5
00404E30   . E8 88040000    CALL CrocChem.004052BD
00404E35   . C645 FC 04     MOV BYTE PTR SS:[EBP-4],4
00404E39   . E8 87040000    CALL CrocChem.004052C5
00404E3E   . C645 FC 03     MOV BYTE PTR SS:[EBP-4],3
00404E42   . E8 86040000    CALL CrocChem.004052CD
00404E47   . C645 FC 02     MOV BYTE PTR SS:[EBP-4],2
00404E4B   . E8 85040000    CALL CrocChem.004052D5
00404E50   . C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
00404E57   . E8 81040000    CALL CrocChem.004052DD
00404E5C   .^E9 80FBFFFF    JMP CrocChem.004049E1
00404E61   > 68 28CC4B00    PUSH CrocChem.004BCC28                   ; /s2 = "0"
00404E66   . 893D DCCA4B00  MOV DWORD PTR DS:[4BCADC],EDI            ; |
00404E6C   . FF75 D4        PUSH DWORD PTR SS:[EBP-2C]               ; |s1
00404E6F   . FF15 A8954C00  CALL DWORD PTR DS:[<&MSVCRT40._mbscmp>]  ; \_mbscmp
00404E75   . 83C4 08        ADD ESP,8
00404E78   . 85C0           TEST EAX,EAX
00404E7A   . 74 15          JE SHORT CrocChem.00404E91
00404E7C   . 68 C4CA4B00    PUSH CrocChem.004BCAC4                   ; /s2 = ""
00404E81   . FF75 D4        PUSH DWORD PTR SS:[EBP-2C]               ; |s1
00404E84   . FF15 A8954C00  CALL DWORD PTR DS:[<&MSVCRT40._mbscmp>]  ; \_mbscmp
00404E8A   . 83C4 08        ADD ESP,8
00404E8D   . 85C0           TEST EAX,EAX
00404E8F     75 0A          JNZ SHORT CrocChem.00404E9B
00404E91   > C705 D8CA4B00 >MOV DWORD PTR DS:[4BCAD8],1              ;  //student version
00404E9B   > 68 24CC4B00    PUSH CrocChem.004BCC24
00404EA0   . 8D45 D0        LEA EAX,DWORD PTR SS:[EBP-30]
00404EA3   . 68 D8214A00    PUSH CrocChem.004A21D8                   ;  ASCII "Drive:"
00404EA8   . 8B4D EC        MOV ECX,DWORD PTR SS:[EBP-14]
00404EAB   . 68 D0214A00    PUSH CrocChem.004A21D0                   ;  ASCII "CD-ROM"

//call ou le nombre de jours est récupéré
0040531E  /$ 8B09           MOV ECX,DWORD PTR DS:[ECX]
00405320  |. 8B4424 04      MOV EAX,DWORD PTR SS:[ESP+4]             ;  //recupere l'adresse du pointeur utilisé ci dessous
00405324  |. 2B4C24 08      SUB ECX,DWORD PTR SS:[ESP+8]             ;  
00405328  |. 8908           MOV DWORD PTR DS:[EAX],ECX               ;  //ecrit nb de jour en base16 dans le pointeur adresse EAX
0040532A  \. C2 0800        RETN 8

00404E61   > 68 28CC4B00    PUSH CrocChem.004BCC28                   ; /s2 = "0"
00404E66   . 893D DCCA4B00  MOV DWORD PTR DS:[4BCADC],EDI            ; |
00404E6C   . FF75 D4        PUSH DWORD PTR SS:[EBP-2C]               ; |s1
00404E6F   . FF15 A8954C00  CALL DWORD PTR DS:[<&MSVCRT40._mbscmp>]  ; \_mbscmp
00404E75   . 83C4 08        ADD ESP,8
00404E78   . 85C0           TEST EAX,EAX
00404E7A   . 74 15          JE SHORT CrocChem.00404E91
00404E7C   . 68 C4CA4B00    PUSH CrocChem.004BCAC4                   ; /s2 = ""
00404E81   . FF75 D4        PUSH DWORD PTR SS:[EBP-2C]               ; |s1
00404E84   . FF15 A8954C00  CALL DWORD PTR DS:[<&MSVCRT40._mbscmp>]  ; \_mbscmp
00404E8A   . 83C4 08        ADD ESP,8
00404E8D   . 85C0           TEST EAX,EAX
00404E8F   . 75 0A          JNZ SHORT CrocChem.00404E9B              ;  //patch si besoin, ca change pas bcp les choses :p
00404E91   > C705 D8CA4B00 >MOV DWORD PTR DS:[4BCAD8],1              ;  //student version pointer
00404E9B   > 68 24CC4B00    PUSH CrocChem.004BCC24
00404EA0   . 8D45 D0        LEA EAX,DWORD PTR SS:[EBP-30]
00404EA3   . 68 D8214A00    PUSH CrocChem.004A21D8                   ;  ASCII "Drive:"
00404EA8   . 8B4D EC        MOV ECX,DWORD PTR SS:[EBP-14]
00404EAB   . 68 D0214A00    PUSH CrocChem.004A21D0                   ;  ASCII "CD-ROM"