Added autoselect range increase to max, finally managed to automate it and read the pointer correctly :o
Code:
BYTE select_sig[] = {0x00, 0x8B, 0x88, 0x8C, 0x00, 0x00, 0x00, 0xD9, 0x1C, 0x24, 0x8B};
DWORD select_address = dwFindPattern(Base, dwLen, select_sig, "xxxxxxxxxxx") - 3;
DWORD select_pointer;
ReadProcessMemory(GetCurrentProcess(), (void*)select_address, &select_pointer, 4, 0);
htonl(select_pointer); //fix reverse order
DWORD oldProtect;
VirtualProtect((void*)select_pointer, 4, PAGE_EXECUTE_READWRITE, &oldProtect);
float range = 5000;
WriteProcessMemory(GetCurrentProcess(), (void*)select_pointer, &range, 4, 0);