Yes, OSLauncher overwrites the original OS in RAM. The core functionality of OSLauncher boils down to five C statements, one of which may be superfluous:
*((uint32_t *)0xDC00000C) = 0xFFFFFFFF;
__builtin_memcpy((void *)0x10000000, dest, ziphdr.usize);
__builtin_memcpy((void *)0x00000000, (void *)0x10000000, 0x40);
*((uint32_t *)0xC000001C) &= ~((1 << 0) | (1 << 11));
asm volatile(
".arm \n"
"mov lr, pc\n"
"ldr pc, =0x10000000\n"
);