--- system.inc.orig +++ system.inc @@ -172,8 +172,25 @@ neg ecx sub ecx,2 write_string_to_stdout: + cmp ecx, 51200 + jg write_long_string_to_stdout invoke WriteFile,[stdout],esi,ecx,bytes_count,0 retn + write_long_string_to_stdout: + push esi + push ebx + mov edi, ecx + mov ebx, 51200 + next_write_to_stdout: + invoke WriteFile,[stdout],esi,ebx,bytes_count,0 + add esi, ebx + sub edi, ebx + cmp edi, ebx + jg next_write_to_stdout + invoke WriteFile,[stdout],esi,edi,bytes_count,0 + pop ebx + pop esi + retn display_error_string: ; in: