Выводится какой-то мусор, потому что cinvoke в rcx записывает адрес форматной строки
и судя по параметрам, форматная строка сначала забивает rcx, а второй параметр попадает в rdx (в твоем случае ты так и пишешь что rcx это второй параметр - значит это надо в rdx положить)
и судя по параметрам, форматная строка сначала забивает rcx, а второй параметр попадает в rdx (в твоем случае ты так и пишешь что rcx это второй параметр - значит это надо в rdx положить)