async def dump_varint(writer, val):
if val <= <NUM_LIT>:<EOL><INDENT>return await dump_varint_t(writer, PortableRawSizeMark.BYTE, val)<EOL><DEDENT>elif val <= <NUM_LIT>:<EOL><INDENT>return await dump_varint_t(writer, PortableRawSizeMark.WORD, val)<EOL><DEDENT>elif val <= <NUM_LIT>:<EOL><INDENT>return await dump_varint_t(writer, PortableRawSizeMark.DWORD, val)<EOL><DEDENT>else:<EOL><INDENT>if val > <NUM_LIT>:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>return await dump_varint_t(writer, PortableRawSizeMark.INT64, val)<EOL><DEDENT>
Binary dump of the variable size integer

:param writer:
:param val:
:return: