KdpCloseRemoteFile
NTSTATUS __stdcall KdpCloseRemoteFile(VOID *Handle){
__int64 v1;
UINT8 v3;
__int64 v4;
int v5;
int v6;
int v7[2];
__int64 *v8;
__int128 v9;
__int64 v10[8];
v1 = (unsigned int)((_DWORD)Handle - 1);
memset(v10, 0i64, sizeof(v10));
if( (unsigned int)v1 >= 0x10 )
return -1073741811;
v3 = KdEnterDebugger(0i64, 0i64);
if( KdpRemoteFiles[v1] )
{
for( v10[1] = KdpRemoteFiles[v1]; ; v10[1] = v4 )
{
v7[1] = 0;
v6 = 0;
LODWORD(v10[0]) = 13363;
v7[0] = 4194368;
v8 = v10;
v9 = 0i64;
KdSendPacket(11i64, v7, 0i64, &KdpContext);
if( (_BYTE)KdDebuggerNotPresent )
{
v5 = -1073740972;
HIDWORD(v10[0]) = -1073740972;
goto LABEL_10;
}
WORD1(v9) = 4096;
*((_QWORD *)&v9 + 1) = &KdpMessageBuffer;
if( !(unsigned int)KdReceivePacket(11i64, v7, &v9, &v6, &KdpContext) )
break;
v4 = KdpRemoteFiles[v1];
HIDWORD(v10[0]) = 0;
}
v5 = HIDWORD(v10[0]);
LABEL_10:
if( v5 >= 0 )
KdpRemoteFiles[v1] = 0i64;
}
else
{
HIDWORD(v10[0]) = -1073741811;
}
KdExitDebugger(v3);
return HIDWORD(v10[0]);
}Referenced by:
KdPullRemoteFileEx