diff --git a/cs-hacks/credits-optimzations/ActionStripper.txt b/cs-hacks/credits-optimzations/ActionStripper.txt index 33c34be..f21f08e 100644 --- a/cs-hacks/credits-optimzations/ActionStripper.txt +++ b/cs-hacks/credits-optimzations/ActionStripper.txt @@ -3,60 +3,41 @@ offset 40cf90 #define count=EBP-4 Strip_addr=0049D628 -Credit=49D620 +Credit.mode=49D620 MAX_STRIP=7F size=50 + +Strip.flag=EAX +Strip.x=EAX+4 +Strip.y=EAX+8 +Strip.cast=EAX+0C +Strip.str=EAX+10 #enddefine +push ebp +mov ebp, esp +push ecx -:ActionStripper -PUSH EBP -MOV EBP,ESP -PUSH ECX -MOV [count],0 // s = 0 +mov eax, [Strip_addr] +mov edx, MAX_STRIP -MOV ECX,[Strip_addr] // ECX = *Strip -#define -Strip.flag=ECX -Strip.x=ECX+4 -Strip.y=ECX+8 -Strip.cast=ECX+0C -Strip.str=ECX+10 -#enddefine +:$LL4@ActionStri +test BYTE [Strip.flag], 80 +je :$LN5@ActionStri +cmp [Credit.mode], 0 +je :$LN5@ActionStri -JMP :loop +sub [Strip.y], 100 -:increment -MOV EAX,[count] -ADD EAX,1 -MOV [count],EAX // s++ -:loop -CMP [count],MAX_STRIP // s < MAX_STRIP -JGE :end +:$LN5@ActionStri +cmp [Strip.y], -2000 +jg :$LN2@ActionStri -MOV EBX,[count] -IMUL EBX,EBX,size // EBX = s * sizeof(STRIP) +and [Strip.flag], 0 -:move_up -MOV EAX,[EBX+Strip.flag] -AND EAX,00000080 -JE :remove_offscreen -CMP [Credit],0 -JE :remove_offscreen +:$LN2@ActionStri +add eax, size +sub edx, 1 +jne :$LL4@ActionStri -MOV EAX,[EBX+Strip.y] -SUB EAX,100 -MOV [EBX+Strip.y],EAX - -:remove_offscreen -CMP [EBX+Strip.y],-2000 -JG :endloop - -MOV [EBX+Strip.flag],0 - -:endloop -JMP :increment -:end -MOV ESP,EBP -POP EBP -RETN -INT3 \ No newline at end of file +leave +retn \ No newline at end of file diff --git a/cs-hacks/credits-optimzations/InitCreditScript.txt b/cs-hacks/credits-optimzations/InitCreditScript.txt index 99bd658..04da32d 100644 --- a/cs-hacks/credits-optimzations/InitCreditScript.txt +++ b/cs-hacks/credits-optimzations/InitCreditScript.txt @@ -8,18 +8,28 @@ Strip_addr=0049d628 PUSH EBP MOV EBP,ESP + PUSH 18 PUSH 0 PUSH 0049D610 CALL 00480D30 ADD ESP,0C +/* +PUSH 500 +PUSH 0 +PUSH 0049D628 +CALL 00480D30 +ADD ESP,0C +*/ + PUSH size PUSH MAX_STRIP CALL 00487701 ADD ESP,8 MOV [Strip_addr],EAX + POP EBP RETN INT3 \ No newline at end of file diff --git a/cs-hacks/credits-optimzations/Multi-File-List.txt b/cs-hacks/credits-optimzations/Multi-File-List.txt index 8a250b9..2ba8881 100644 --- a/cs-hacks/credits-optimzations/Multi-File-List.txt +++ b/cs-hacks/credits-optimzations/Multi-File-List.txt @@ -4,4 +4,5 @@ LoadGenericDataMAX_STRIP.txt PutStripper.txt RestoreStripper.txt SetStripper.txt -StartCreditScript.txt \ No newline at end of file +StartCreditScript.txt +ReleaseCreditScript.txt \ No newline at end of file diff --git a/cs-hacks/credits-optimzations/PutStripper.txt b/cs-hacks/credits-optimzations/PutStripper.txt index babd43f..764a8ef 100644 --- a/cs-hacks/credits-optimzations/PutStripper.txt +++ b/cs-hacks/credits-optimzations/PutStripper.txt @@ -1,120 +1,135 @@ offset 40D010 #define -count=EBP-14 -Strip_addr=0049D628 -Credit=49D620 +; Constants MAX_STRIP=7F +MAX_STRIPx10=7f0 size=50 + +; Locals +ArrayPad=EBP-4 +rc_addr=EBP-14 +rc.left=EBP-14 +rc.right=EBP-0C +rc.top=EBP-10 +rc.bottom=EBP-8 + +; References +Strip_addr=0049D628 +Strip.flag=ecx +Strip.x=ecx+4 +Strip.y=ecx+8 +Strip.cast=ecx+0c +Strip.str=ecx+10 grcFull=0048f92c -rc = EBP-10 -rcleft=EBP-10 -rcright=EBP-8 -rctop=EBP-0C -rcbottom=EBP-4 +; Functions +PutBitmap3=0040c3c0 -DIV200=data 99 81 E2 FF 01 00 00 03 C2 C1 F8 09 +; Builtins +___security_cookie=498b20 +__security_check_cookie=00480dc1 #enddefine -PUSH EBP -MOV EBP,ESP -SUB ESP,14 -MOV [count],0 // s = 0 +push ebp +mov ebp,esp +sub esp, 14 ; 00000018H -MOV ECX,[Strip_addr] //ECX = *Strip -#define -Strip.flag=ECX -Strip.x=ECX+4 -Strip.y=ECX+8 -Strip.cast=ECX+0C -Strip.str=ECX+10 -#enddefine -JMP :loop +push ebx +push esi +push edi +; Line 92 +xor esi, esi +xor edi, edi -:increment -MOV EBX,[count] -INC EBX -MOV [count],EBX -:loop -CMP EBX,MAX_STRIP -JGE :end +:$LL4@PutStrippe +; Line 94 +mov ecx, [Strip_addr] +test BYTE [esi+Strip.flag], 80 ; 00000080H +je :$LN2@PutStrippe +; Line 97 +and [rc.left], 0 +mov [rc.right], 140 ; 00000140H +mov [rc.top], edi +lea eax, [edi+10] +mov [rc.bottom], eax -IMUL EBX,EBX,size //EBX = s * sizeof(STRIP) +; Line 102 +push 23 ; 00000023H -MOV EDX,[EBX+Strip.flag] -AND EDX,00000080 -JE :increment +lea eax, [rc_addr] +push eax -//rects -MOV [rcleft],0 -MOV [rcright],140 -MOV EAX,[count] -SHL EAX,4 -MOV [rctop],EAX -ADD EAX,10 -MOV [rcbottom],EAX +mov ebx, 1ff ; 000001ffH +mov eax, [esi+Strip.y] +cdq +and edx, ebx +add eax, edx +sar eax, 9 +push eax -//arg5 = SURFACE_ID_CREDIT_CAST -PUSH 23 -//arg4 = &rc -LEA EDX,[rc] -PUSH EDX -//arg3 = Strip[s].y / 0x200 -MOV EAX,[EBX+Strip.y] -DIV200 -PUSH EAX -//arg2 = Strip[s].x / 0x200 -MOV EAX,[EBX+Strip.x] -DIV200 -PUSH EAX -//arg1 = &grcFull -PUSH grcFull -//PutBitmap3() -CALL 0040C3C0 -ADD ESP,14 +mov eax, [esi+Strip.x] +cdq +and edx, ebx +add eax, edx +sar eax, 9 +push eax -//rects -MOV EAX,[EBX+Strip.cast] -CDQ -PUSH ECX -MOV ECX,0D -IDIV ECX -POP ECX -IMUL EDX,EDX,18 -MOV [rc.left],EDX -ADD EDX,18 -MOV [rc.right],EDX -IMUL EAX,EAX,18 -MOV [rc.top],EAX -ADD EAX,18 -MOV [rc.bottom],EAX +push grcFull -//arg5 = SURFACE_ID_CASTS -PUSH 25 -//arg4 = &rc -LEA EAX,[rc] -PUSH EAX -//arg3 = Strip[s].y / 0x200 - 8 -MOV EAX,[EBX+Strip.y] -DIV200 -SUB EAX,8 -PUSH EAX -//arg2 = Strip[s].x / 0x200 - 24 -MOV EAX,[EBX+Strip.x] -DIV200 -SUB EAX,18 -PUSH EAX -//arg1 = &grcFull -PUSH grcFull -//PutBitmap3() -CALL 0040C3C0 -ADD ESP,14 +call PutBitmap3 -JMP :increment +; Line 110 +push 25 ; 00000025H -:end -MOV ESP,EBP -POP EBP -RETN -INT3 +mov ecx, [Strip_addr] +mov eax, [esi+Strip.cast] +cdq +mov ebx, 0d +idiv ebx +imul edx, edx, 18 +imul eax, eax, 18 +mov [rc.left], edx +add edx, 18 ; 00000018H +mov [rc.right], edx +mov [rc.top], eax +add eax, 18 +mov [rc.bottom], eax +lea eax, [rc_addr] +push eax + +mov ebx, 1ff +mov eax, [esi+Strip.y] +cdq +and edx, ebx +add eax, edx +sar eax, 9 +sub eax, 8 +push eax + +mov eax, [esi+Strip.x] +cdq +and edx, ebx +add eax, edx +sar eax, 9 +sub eax, 18 ; 00000018H +push eax + +push grcFull + +call PutBitmap3 +add esp, 28 ; 00000028H + +:$LN2@PutStrippe +; Line 92 +add edi, 10 ; 00000010H +add esi, size ; 00000050H +cmp edi, MAX_STRIPx10 ; 000007f0H +jl :$LL4@PutStrippe + +; Line 113 +pop edi +pop esi +pop ebx +leave +retn \ No newline at end of file diff --git a/cs-hacks/credits-optimzations/ReleaseCreditScript.txt b/cs-hacks/credits-optimzations/ReleaseCreditScript.txt new file mode 100644 index 0000000..a16bef6 --- /dev/null +++ b/cs-hacks/credits-optimzations/ReleaseCreditScript.txt @@ -0,0 +1,32 @@ +offset 40d410 + +#define +Credit.pData=49d614 +Strip=49d628 +_free=0048128b +#enddefine + +push ebp +mov ebp,esp + +mov eax, [Credit.pData] +test eax, eax +je :$LN2@ReleaseCre + +push eax +call _free +pop ecx + +and [Credit.pData], 0 + +:$LN2@ReleaseCre +mov eax, [Strip] +test eax, eax +je :$LN3@ReleaseCre + +push eax +call _free +pop ecx + +:$LN3@ReleaseCre +retn \ No newline at end of file diff --git a/cs-hacks/credits-optimzations/RestoreStripper.txt b/cs-hacks/credits-optimzations/RestoreStripper.txt index 6083366..8c6d4cc 100644 --- a/cs-hacks/credits-optimzations/RestoreStripper.txt +++ b/cs-hacks/credits-optimzations/RestoreStripper.txt @@ -1,79 +1,83 @@ offset 40d240 #define -count=EBP-14 -Strip_addr=0049D628 +; Constants +MAX_STRIPx10=7F0 + +; Locals +ArrayPad = EBP-4 +rc_addr = EBP-14 +rc.left=EBP-14 +rc.right=EBP-0c +rc.top=EBP-10 +rc.bottom=EBP-8 + +; References Credit=49D620 -MAX_STRIP=7F -size=50 +Strip_addr=0049D628 +Strip.flag=0049D628 +Strip.x=0049D62C +Strip.y=0049D630 +Strip.cast=0049D634 +Strip.str=0049D638 -rc = EBP-10 -rcleft=EBP-10 -rcright=EBP-8 -rctop=EBP-0C -rcbottom=EBP-4 +; Functions +CortBox2=0040ca80 +PutText2=0040ceb0 + +; Builtins +___security_cookie=498b20 +__security_check_cookie=00480dc1 #enddefine -PUSH EBP -MOV EBP,ESP -SUB ESP,14 -MOV [count],0 +push ebp +mov ebp, esp +sub esp, 14 ; 00000014H +push esi +push edi +; Line 151 +xor edi, edi +xor esi, esi +:$LL4@RestoreStr +; Line 153 +mov eax, [Strip_addr] +test [edi+eax], 128 ; 00000080H +je :$LN2@RestoreStr +; Line 155 +and [rc.left], 0 +; Line 156 +mov [rc.right], 140 ; 00000140H +; Line 157 +mov [rc.top], esi +; Line 158 +lea eax, [esi+16] +mov [rc.bottom], eax +; Line 160 +push 23 ; 00000023H +push 0 +lea eax, [rc_addr] +push eax -MOV ECX,[Strip_addr] // ECX = *Strip -#define -Strip.flag=ECX -Strip.x=ECX+4 -Strip.y=ECX+8 -Strip.cast=ECX+0C -Strip.str=ECX+10 -#enddefine - -JMP :loop - -:increment -MOV EAX,[count] -INC EAX -MOV [count],EAX -:loop -CMP [count],MAX_STRIP -JGE :end - -MOV EBX,[count] -IMUL EBX,EBX,size - -MOV EDX,[EBX+Strip.flag] -AND EDX,00000080 -JE :increment - -MOV [rcleft],0 -MOV [rcright],140 -MOV EAX,[count] -SHL EAX,4 -MOV [rctop],EAX -ADD EAX,10 -MOV [rcbottom],EAX - -PUSH 23 -PUSH 0 -LEA EDX,[rc] -PUSH EDX -CALL 0040CA80 -ADD ESP,0C - -PUSH 23 -PUSH 0FEFFFF -LEA EAX,[EBX+Strip.str] -PUSH EAX -MOV EAX,[rctop] -PUSH EAX -PUSH 0 -CALL 0040CEB0 -ADD ESP,14 - -JMP :increment - -:end -MOV ESP,EBP -POP EBP -RETN -INT3 +call CortBox2 +; Line 161 +push 23 ; 00000023H +push 00feffff ; 00feffffH +mov eax, [Strip_addr] +add eax, 10 ; 00000010H +add eax, edi +push eax +push [rc.top] +push 0 +call PutText2 +add esp, 20 ; 00000020H +:$LN2@RestoreStr +; Line 151 +add esi, 10 ; 00000010H +add edi, 50 ; 00000050H +cmp esi, MAX_STRIPx10 ; 000007f0H +jl :$LL4@RestoreStr +; Line 164 +pop edi +pop esi +leave +retn diff --git a/cs-hacks/credits-optimzations/SetStripper.txt b/cs-hacks/credits-optimzations/SetStripper.txt index bda572a..095f81a 100644 --- a/cs-hacks/credits-optimzations/SetStripper.txt +++ b/cs-hacks/credits-optimzations/SetStripper.txt @@ -1,92 +1,116 @@ offset 40d150 #define -count=EBP-14 -Strip_addr=0049D628 -Credit=49D620 +; Constants MAX_STRIP=7F size=50 -rc=EBP-10 -rcleft=EBP-10 -rcright=EBP-8 -rctop=EBP-14 -rcbottom=EBP-0C +; Locals +ArrayPad=EBP-4 +rc_addr=EBP-14 +rc.left=EBP-14 +rc.right=EBP-0C +rc.top=EBP-10 +rc.bottom=EBP-8 + +; Arguments +argx=EBP+8 +argy=EBP+0C +argtext=EBP+10 +argcast=EBP+14 + +; References +Strip_addr=0049D628 +Strip.flag=edx +Strip.x=edx+4 +Strip.y=edx+8 +Strip.cast=edx+0c +Strip.str=edx+10 + +; Functions +CortBox2=0040ca80 +PutText2=0040ceb0 + +; Builtins +___security_cookie=498b20 +__security_check_cookie=00480dc1 +_strcpy=00481100 #enddefine -PUSH EBP -MOV EBP,ESP -SUB ESP,14 -MOV [count],0 -MOV ECX,[Strip_addr] //ECX = *Strip -#define -Strip.flag=ECX -Strip.x=ECX+4 -Strip.y=ECX+8 -Strip.cast=ECX+0C -Strip.str=ECX+10 -#enddefine -JMP :loop +push ebp +mov ebp, esp +sub esp, 14 ; 00000014H +mov eax, [___security_cookie] +mov [ArrayPad], eax +mov edx, [Strip_addr] +mov eax, edx +push esi +push edi +mov edi, [argtext] +; Line 121 +xor esi, esi +:$LL4@SetStrippe +; Line 122 +test [eax], 80 ; 00000080H +je :$LN13@SetStrippe +; Line 121 +inc esi +add eax, size ; 00000050H +mov ecx, esi +cmp esi, MAX_STRIP ; 0000007fH +jl :$LL4@SetStrippe +; Line 125 +cmp ecx, MAX_STRIP ; 0000007fH +je :$LN1@SetStrippe +:$LN13@SetStrippe +; Line 129 +imul ecx, esi, size +mov [ecx+Strip.flag], 80 ; 00000080H +; Line 130 +mov eax, [argx] +mov [ecx+Strip.x], eax +; Line 131 +mov eax, [argy] +mov [ecx+Strip.y], eax +; Line 132 +mov eax, [argcast] +mov [ecx+Strip.cast], eax +; Line 133 +push edi +lea eax, [Strip.str] +add eax, ecx +push eax +call _strcpy +; Line 136 +and [rc.left], 0 +; Line 137 +mov [rc.right], 140 ; 00000140H +; Line 138 +shl esi, 4 +mov [rc.top], esi +; Line 139 +lea eax, [esi+10] +mov [rc.bottom], eax -:increment -MOV EAX,[count] -INC EAX -MOV [count],EAX -:loop -MOV EBX,[count] -IMUL EBX,EBX,size //EBC = s * sizeof(STRIP) -CMP [count],MAX_STRIP -JGE :break -MOV EDX,[EBX+Strip.flag] -AND EDX,00000080 -JNE :increment -JMP :break - -:break -CMP [count],MAX_STRIP -JNE :initcast -JMP :end - -:initcast -MOV [EBX+Strip.flag],80 -MOV [EBX+Strip.x],[EBP+8] -MOV [EBX+Strip.y],[EBP+0C] -MOV [EBX+Strip.cast],[EBP+14] - -MOV EAX,[EBP+10] -PUSH EAX -LEA EAX,[EBX+Strip.str] -PUSH EAX -CALL 00481100 -ADD ESP,8 - -MOV [rcleft],0 -MOV [rcright],140 -MOV EAX,[count] -SHL EAX,4 -MOV [rctop],EAX -ADD EAX,10 -MOV [rcbottom],EAX - -PUSH 23 -PUSH 0 -LEA EDX,[rc] -PUSH EDX -CALL 0040CA80 -ADD ESP,0C - -PUSH 23 -PUSH 0FEFFFF -MOV EAX,[EBP+10] -PUSH EAX -MOV EAX,[rctop] -PUSH EAX -PUSH 0 -CALL 0040CEB0 -ADD ESP,14 - -:end -MOV ESP,EBP -POP EBP -RETN -INT3 \ No newline at end of file +; Line 141 +push 23 ; 00000023H +push 0 +lea eax, [rc_addr] +push eax +call CortBox2 +; Line 142 +push 23 ; 00000023H +push 00feffff ; 00feffffH +push edi +push [rc.top] +push 0 +call PutText2 +add esp, 28 ; 00000028H +:$LN1@SetStrippe +; Line 143 +pop edi +pop esi +mov ecx, [ArrayPad] +call __security_check_cookie +leave +retn \ No newline at end of file diff --git a/cs-hacks/credits-optimzations/StartCreditScript.txt b/cs-hacks/credits-optimzations/StartCreditScript.txt index 12dc7b3..8b4ffba 100644 --- a/cs-hacks/credits-optimzations/StartCreditScript.txt +++ b/cs-hacks/credits-optimzations/StartCreditScript.txt @@ -1,12 +1,16 @@ offset 40d440 #define -Strip_addr=0049D628 +; Constants MAX_STRIP=7F -sizeof=50 +fullsize=27b0 ; 0x50 * 0x7f -fp=EBP-4 -path=EBP-110 +; Locals +path=EBP-108 +ArrayPad=EBP-4 + +; References +Strip_addr=0049D628 Credit.pData=49D614 Credit.size=49d610 Credit.offset=49d618 @@ -15,117 +19,132 @@ Credit.mode=49d620 Illust.x=49d60c Illust.act_no=49d608 grcGame.left=48f91c +gDataPath=0049E220 + +; Functions +GetFileSizeLong=00410d80 +EncryptionBinaryData2=004215c0 +ReloadBitmapFile=0040BFD0 + +; Builtins +___security_cookie=498b20 +__security_check_cookie=00480dc1 +_malloc=004813a3 +_free=0048128B +_memset=00480d30 +_sprintf=00481010 +_fopen=00480FFD +_fread=00480f55 + +; Strings +credit_script=48f918 +format=0048C374 +str_rb=0048C37C +str_casts=0048c380 #enddefine -PUSH EBP -MOV EBP,ESP -SUB ESP,110 -MOV EAX,[498B20] -MOV [EBP-8],EAX +push ebp +mov ebp, esp +sub esp, 108 ; 00000108H +mov eax, [___security_cookie] +mov [ArrayPad], eax +; Line 241 +mov eax, [Credit.pData] +push esi +xor esi, esi +push edi +test eax, eax +je :$LN2@StartCredi +; Line 243 +push eax +call _free +pop ecx +; Line 244 +mov [Credit.pData], esi -CMP [Credit.pData],0 -JE :openfile -MOV EAX,[Credit.pData] -PUSH EAX -CALL 0048128B -ADD ESP,4 -MOV [Credit.pData],0 +:$LN2@StartCredi +; Line 248 +push [credit_script] +lea eax, [path] +push gDataPath +push format +push eax +call _sprintf +; Line 250 +lea eax, [path] +push eax +call GetFileSizeLong +add esp, 14 ; 00000014H +mov [Credit.size], eax +; Line 251 +cmp eax, -1 +je :$LN8@StartCredi +; Line 255 +push eax +call _malloc +mov [Credit.pData], eax +pop ecx +; Line 256 +test eax, eax +je :$LN8@StartCredi +; Line 259 +lea eax, [path] +push str_rb +push eax +call _fopen +pop ecx +pop ecx +; Line 260 +test eax, eax +jne :$LN5@StartCredi +; Line 262 +push [Credit.pData] +call _free +pop ecx +:$LN8@StartCredi +; Line 299 +xor eax, eax +:$LN1@StartCredi +pop edi +pop esi +mov ecx, [ArrayPad] +call __security_check_cookie +leave +retn +:$LN5@StartCredi +; Line 267 +push eax +push [Credit.size] +xor edi, edi +inc edi +push edi +push [Credit.pData] +call _fread +; Line 274 +push [Credit.size] +push [Credit.pData] +call EncryptionBinaryData2 +; Line 293 +push 25 ; 00000025H +push str_casts +mov [Credit.offset], esi +mov [Credit.wait], esi +mov [Credit.mode], edi +mov [Illust.x], fffec000 ; fffec000H +mov [Illust.act_no], esi +mov [grcGame.left], 0a0 ; 000000a0H +call ReloadBitmapFile +add esp, 20 ; 00000020H +test eax, eax +je SHORT :$LN8@StartCredi +; Line 297 +push fullsize +push esi +push [Strip_addr] +call _memset +add esp, 0c ; 0000000cH +; Line 298 +mov eax, edi +jmp :$LN1@StartCredi -:openfile -MOV ECX,[48F918] -PUSH ECX -PUSH 0049E220 -PUSH 0048C374 -LEA EDX,[path] -PUSH EDX -CALL 00481010 -ADD ESP,10 - -LEA EDX,[path] -PUSH EDX -CALL 00410D80 -ADD ESP,4 -MOV [Credit.size],EAX -CMP EAX,-1 -JNE :allocatebuffer -XOR EAX,EAX -JMP :end - -:allocatebuffer -MOV ECX,[Credit.size] -PUSH ECX -CALL 004813A3 -ADD ESP,4 -MOV [Credit.pData],EAX -CMP EAX,0 -JNE :fopen -JMP :end //EAX must be 0, return false - -:fopen -PUSH 0048C37C -LEA EAX,[path] -PUSH EAX -CALL 00480FFD -ADD ESP,8 -MOV [fp],EAX -CMP EAX,0 -JNE :readdata -MOV EDX,[Credit.pData] -PUSH EDX -CALL 0048128B -ADD ESP,4 -JMP :end //EAX must be 0, return false - -:readdata -MOV ECX,[fp] -PUSH ECX -MOV EDX,[Credit.size] -PUSH EDX -PUSH 1 -MOV EAX,[Credit.pData] -PUSH EAX -CALL 00480F55 -ADD ESP,8 - -MOV EDX,[Credit.size] -PUSH EDX -MOV ECX,[Credit.pData] -PUSH ECX -CALL 004215C0 -ADD ESP,8 - -MOV [Credit.offset],0 -MOV [Credit.wait],0 -MOv [Credit.mode],1 -MOV [Illust.x],FFFEC000 -MOV [Illust.act_no],0 - -MOV [grcGame.left],0A0 - -PUSH 25 -PUSH 0048C380 -CALL 0040BFD0 -ADD ESP,8 -TEST EAX,EAX -JNE :clearcasts -JMP :end //EAX is 0, return false - -:clearcasts -MOV EDX,sizeof -IMUL EDX,EDX,MAX_STRIP -PUSH EDX -PUSH 0 -MOV EAX,[Strip_addr] -PUSH EAX -CALL 00480D30 -ADD ESP,0C - -MOV EAX,1 - -:end -MOV ECX,[EBP-8] -CALL 00480DC1 -MOV ESP,EBP -POP EBP -RETN -INT3 \ No newline at end of file +data cc cc cc cc cc cc cc cc \ No newline at end of file diff --git a/pre-edited-cs/Doukutsu.exe b/pre-edited-cs/Doukutsu.exe index ef7f724..7549353 100644 Binary files a/pre-edited-cs/Doukutsu.exe and b/pre-edited-cs/Doukutsu.exe differ diff --git a/pre-edited-cs/Doukutsu_backup.exe b/pre-edited-cs/Doukutsu_backup.exe new file mode 100644 index 0000000..ef7f724 Binary files /dev/null and b/pre-edited-cs/Doukutsu_backup.exe differ