Get own module base address without GetModuleHandle
_PEB* peb = (_PEB*)__readgsqword(0x60); // 0x30 for x86
LPVOID ImageBase2 = (LPVOID)peb->lpImageBaseAddress;
LPVOID ImageBase = (LPVOID)GetModuleHandleA(NULL);
std::cout << "Image base 1 vs 2 : " << std::hex << ImageBase << " " << ImageBase2 << std::endl;