#include "PEFile.h"


VOID FiLoadFile(PPE_FILE File, PVOID RawData, ULONG RawDataSize)
{
	File->RawData = RawData;
	File->RawDataSize = RawDataSize;
	File->Flags = NULL;

	File->DosHeader = (PIMAGE_DOS_HEADER)File->RawData;
	if (File->DosHeader->e_magic != IMAGE_DOS_SIGNATURE)
		return;

	File->NtHeaders = (PIMAGE_NT_HEADERS)((PUCHAR)File + File->DosHeader->e_lfanew);
	if (File->NtHeaders->Signature != IMAGE_NT_SIGNATURE)
		return;

	File->FileHeader = &(File->NtHeaders->FileHeader);
	File->SectionHeaders = (PIMAGE_SECTION_HEADER)((PUCHAR)File->FileHeader + sizeof(IMAGE_FILE_HEADER) + File->FileHeader->SizeOfOptionalHeader);

	File->Flags |= PEFI_IS_LOADED;
}
VOID FiWriteFile(PPE_FILE File, STDSTRING CONST& Path)
{
	//xD
}
VOID FILoadSymbols(PPE_FILE File, PVOID PdbFileData)
{
	
}
VOID FiDestroy(PPE_FILE File)
{

}

BOOL FiGood(PPE_FILE File)
{
	return (File->Flags & PEFI_IS_LOADED);
}

