HdlspPutString
VOID __stdcall HdlspPutString(UINT8 *String){
UINT8 *v1;
UINT8 **v2;
char *v3;
char *v4;
char v5;
__int64 v6;
__int64 v7;
__int16 *p_UTF8Encoding;
__int16 UTF8Encoding;
char v10;
v1 = String;
v2 = (UINT8 **)(*(&stru_140CF2E80 + 920) + 24i64);
v3 = *(char **)(*(&stru_140CF2E80 + 920) + 24i64);
if( *String )
{
while( 1 )
{
v4 = (char *)(*v2 + 79);
if( v3 < v4 )
break;
*v4 = 0;
HdlspSendStringAtBaud(*v2);
v2 = (UINT8 **)(*(&stru_140CF2E80 + 920) + 24i64);
v3 = *(char **)(*(&stru_140CF2E80 + 920) + 24i64);
LABEL_19:
if( !*v1 )
goto LABEL_20;
}
v5 = *v1;
if( (*v1 & 0x80u) == 0 )
goto LABEL_17;
if( (unsigned __int8)v5 > 0xC0u )
{
if( v5 == -60 )
{
v5 = 45;
goto LABEL_34;
}
if( (unsigned __int8)v5 <= 0xC7u )
goto LABEL_34;
if( (unsigned __int8)v5 > 0xC9u )
{
if( v5 == -51 )
{
v5 = 61;
goto LABEL_17;
}
if( (unsigned __int8)v5 <= 0xD8u )
goto LABEL_34;
if( (unsigned __int8)v5 > 0xDAu )
{
if( v5 == -37 )
goto LABEL_31;
if( (unsigned __int8)v5 > 0xDFu )
goto LABEL_34;
goto LABEL_30;
}
}
}
else if( (unsigned __int8)v5 < 0xBFu )
{
if( (unsigned __int8)v5 < 0xA9u )
goto LABEL_34;
if( (unsigned __int8)v5 > 0xAAu )
{
if( v5 == -80 )
goto LABEL_21;
if( v5 != -79 )
{
if( v5 != -78 )
{
if( v5 != -77 && v5 != -70 )
{
if( (unsigned __int8)v5 > 0xBAu && (unsigned __int8)v5 <= 0xBCu )
goto LABEL_16;
LABEL_34:
if( v5 < 0 )
{
UTF8Encoding = 0;
v10 = 0;
HdlspUTF8Encode(*((unsigned __int16 *)HdlpsPcAnsiToUnicode + (v5 & 0x7F)), &UTF8Encoding);
v7 = 3i64;
p_UTF8Encoding = &UTF8Encoding;
do
{
if( *(_BYTE *)p_UTF8Encoding )
*v3++ = *(_BYTE *)p_UTF8Encoding;
p_UTF8Encoding = (__int16 *)((char *)p_UTF8Encoding + 1);
--v7;
}
while( v7 );
goto LABEL_18;
}
LABEL_17:
*v3++ = v5;
LABEL_18:
++v1;
goto LABEL_19;
}
LABEL_21:
v5 = 124;
goto LABEL_17;
}
LABEL_31:
v5 = 35;
goto LABEL_17;
}
LABEL_30:
v5 = 37;
goto LABEL_17;
}
}
LABEL_16:
v5 = 43;
goto LABEL_17;
}
LABEL_20:
v6 = *(&stru_140CF2E80 + 920);
*v3 = 0;
HdlspSendStringAtBaud(*(UINT8 **)(v6 + 24));
}Referenced by:
HdlspDispatch
HdlspProcessDumpCommand
HdlspPutMore