// File: /workspace/github_c_makefile_star2_O2/Ihsoh[P]ilang/compiler/assembler/enc_ins.c
// Function: enc_ins_encode
size_t enc_ins_encode(
	EncoderInstruction *ins,
	uint8_t *buffer,
	size_t buffer_size
) {
	assert(ins);
	assert(buffer);
	assert(buffer_size > 0);

	size_t buffer_index = 0;

	#define	_BYTE(v, i)	((uint8_t)((v) >> (i * 8)))
	#define	_OUT_BYTE(v) {	\
		assert(buffer_index + 1 <= buffer_size);	\
		buffer[buffer_index++] = v;	\
	}
	#define	_OUT_2BYTE(v) {	\
		_OUT_BYTE(_BYTE(v, 0))	\
		_OUT_BYTE(_BYTE(v, 1))	\
	}
	#define	_OUT_4BYTE(v) {	\
		_OUT_BYTE(_BYTE(v, 0))	\
		_OUT_BYTE(_BYTE(v, 1))	\
		_OUT_BYTE(_BYTE(v, 2))	\
		_OUT_BYTE(_BYTE(v, 3))	\
	}
	#define	_OUT_8BYTE(v) {	\
		_OUT_BYTE(_BYTE(v, 0))	\
		_OUT_BYTE(_BYTE(v, 1))	\
		_OUT_BYTE(_BYTE(v, 2))	\
		_OUT_BYTE(_BYTE(v, 3))	\
		_OUT_BYTE(_BYTE(v, 4))	\
		_OUT_BYTE(_BYTE(v, 5))	\
		_OUT_BYTE(_BYTE(v, 6))	\
		_OUT_BYTE(_BYTE(v, 7))	\
	}
	
	// Legacy Prefix
	// ==================================================
	// Group 1
	// ==================================================
	// LOCK, 0xF0
	if (ins->legacy_prefix.lock) {
		_OUT_BYTE(0xF0)
	}

	// REPNE/REPNZ, 0xF2
	if (ins->legacy_prefix.repne) {
		_OUT_BYTE(0xF2)
	}

	// REP/REPE/REPZ, 0xF3
	if (ins->legacy_prefix.rep) {
		_OUT_BYTE(0xF3)
	}

	// ==================================================
	// Group 2
	// ==================================================
	// CS, 0x2E
	if (ins->legacy_prefix.cs) {
		_OUT_BYTE(0x2E)
	}

	// SS, 0x36
	if (ins->legacy_prefix.ss) {
		_OUT_BYTE(0x36)
	}

	// DS, 0x3E
	if (ins->legacy_prefix.ds) {
		_OUT_BYTE(0x3E)
	}

	// ES, 0x26
	if (ins->legacy_prefix.es) {
		_OUT_BYTE(0x26)
	}

	// FS, 0x64
	if (ins->legacy_prefix.fs) {
		_OUT_BYTE(0x64)
	}

	// GS, 0x65
	if (ins->legacy_prefix.gs) {
		_OUT_BYTE(0x65)
	}

	// Branch not taken, 0x2E
	if (ins->legacy_prefix.branch_not_taken) {
		_OUT_BYTE(0x2E)
	}

	// Branch taken, 0x3E
	if (ins->legacy_prefix.branch_taken) {
		_OUT_BYTE(0x3E)
	}

	// ==================================================
	// Group 3
	// ==================================================
	// Operand-size override, 0x66
	if (ins->legacy_prefix.operand_size_override) {
		_OUT_BYTE(0x66)
	}

	// ==================================================
	// Group 4
	// ==================================================
	// Address-size override, 0x67
	if (ins->legacy_prefix.address_size_override) {
		_OUT_BYTE(0x67)
	}

	// REX Prefix
	if (ins->rex_prefix_used) {
		uint8_t rex_prefix = 0x40;

		if (ins->rex_prefix.b) {
			rex_prefix |= 0x01;
		}

		if (ins->rex_prefix.x) {
			rex_prefix |= 0x02;
		}

		if (ins->rex_prefix.r) {
			rex_prefix |= 0x04;
		}

		if (ins->rex_prefix.w) {
			rex_prefix |= 0x08;
		}

		_OUT_BYTE(rex_prefix)
	}

	// Opcode
	switch (ins->opcode_len) {
		case 1: {
			_OUT_BYTE(ins->opcode[0])
			break;
		}
		case 2: {
			_OUT_BYTE(ins->opcode[0])
			_OUT_BYTE(ins->opcode[1])
			break;
		}
		case 3: {
			_OUT_BYTE(ins->opcode[0])
			_OUT_BYTE(ins->opcode[1])
			_OUT_BYTE(ins->opcode[2])
			break;
		}
		default: {
			assert(0);
			break;
		}
	}

	// ModR/M
	if (ins->mod_rm_used) {
		uint8_t mod_rm = 0x00;

		// Mod
		mod_rm |= ((ins->mod_rm.mod & 0x03) << 6);

		// Reg
		mod_rm |= ((ins->mod_rm.reg & 0x07) << 3);

		// R/M
		mod_rm |= ins->mod_rm.rm & 0x07;

		_OUT_BYTE(mod_rm)
	}

	// SIB
	if (ins->sib_used) {
		uint8_t sib = 0x00;

		// Scale
		sib |= ((ins->sib.scale & 0x03) << 6);

		// Index
		sib |= ((ins->sib.index & 0x07) << 3);
		
		// Base
		sib |= ins->sib.base & 0x07;

		_OUT_BYTE(sib)
	}

	// Displacement
	switch (ins->disp_len) {
		case 0: {
			break;
		}
		case 1: {
			_OUT_BYTE(ins->disp);
			break;
		}
		case 2: {
			_OUT_2BYTE(ins->disp);
			break;
		}
		case 4: {
			_OUT_4BYTE(ins->disp);
			break;
		}
		case 8: {
			_OUT_8BYTE(ins->disp);
			break;
		}
		default: {
			assert(0);
			break;
		}
	}

	// Immediate
	switch (ins->imm_len) {
		case 0: {
			break;
		}
		case 1: {
			_OUT_BYTE(ins->imm);
			break;
		}
		case 2: {
			_OUT_2BYTE(ins->imm);
			break;
		}
		case 4: {
			_OUT_4BYTE(ins->imm);
			break;
		}
		case 8: {
			_OUT_8BYTE(ins->imm);
			break;
		}
		default: {
			assert(0);
			break;
		}
	}

	// 扩展字段
	if (ins->ext_len > ENCODER_INSTRUCTION_EXT_MAX_LEN) {
		assert(0);
	}
	for (int i = 0; i < ins->ext_len; i++) {
		_OUT_BYTE(ins->ext[i]);
	}

	#undef	_BYTE
	#undef	_OUT_BYTE
	#undef	_OUT_2BYTE
	#undef	_OUT_4BYTE
	#undef	_OUT_8BYTE

	return buffer_index;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
testq %rdi, %rdi
je 0x14065
testq %rsi, %rsi
je 0x14081
testq %rdx, %rdx
je 0x1409d
cmpb $0x1, (%rdi)
jne 0x13b08
movb $-0x10, (%rsi)
pushq $0x1
popq %rax
jmp 0x13b0a
xorl %eax, %eax
cmpb $0x1, 0x1(%rdi)
jne 0x13b20
cmpq %rdx, %rax
jae 0x14116
movb $-0xe, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x2(%rdi)
jne 0x13b36
cmpq %rdx, %rax
jae 0x14132
movb $-0xd, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x3(%rdi)
jne 0x13b4c
cmpq %rdx, %rax
jae 0x1414e
movb $0x2e, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x4(%rdi)
jne 0x13b62
cmpq %rdx, %rax
jae 0x1416a
movb $0x36, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x5(%rdi)
jne 0x13b78
cmpq %rdx, %rax
jae 0x14186
movb $0x3e, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x6(%rdi)
jne 0x13b8e
cmpq %rdx, %rax
jae 0x141a2
movb $0x26, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x7(%rdi)
jne 0x13ba4
cmpq %rdx, %rax
jae 0x141be
movb $0x64, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x8(%rdi)
jne 0x13bba
cmpq %rdx, %rax
jae 0x141d7
movb $0x65, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x9(%rdi)
jne 0x13bd0
cmpq %rdx, %rax
jae 0x141f0
movb $0x2e, (%rsi,%rax)
incq %rax
cmpb $0x1, 0xa(%rdi)
jne 0x13be6
cmpq %rdx, %rax
jae 0x14209
movb $0x3e, (%rsi,%rax)
incq %rax
cmpb $0x1, 0xb(%rdi)
jne 0x13bfc
cmpq %rdx, %rax
jae 0x14222
movb $0x66, (%rsi,%rax)
incq %rax
cmpb $0x1, 0xc(%rdi)
jne 0x13c12
cmpq %rdx, %rax
jae 0x1423b
movb $0x67, (%rsi,%rax)
incq %rax
cmpb $0x1, 0xd(%rdi)
jne 0x13c49
cmpq %rdx, %rax
jae 0x14258
movb 0xe(%rdi), %cl
movb 0x10(%rdi), %r8b
addb %r8b, %r8b
orb 0x11(%rdi), %r8b
movb 0xf(%rdi), %r9b
shlb $0x2, %r9b
orb %r8b, %r9b
shlb $0x3, %cl
orb %r9b, %cl
orb $0x40, %cl
movb %cl, (%rsi,%rax)
incq %rax
movzbl 0x12(%rdi), %ecx
cmpl $0x3, %ecx
je 0x13c9b
cmpl $0x2, %ecx
je 0x13c74
cmpl $0x1, %ecx
jne 0x142f3
cmpq %rdx, %rax
jae 0x14312
movb 0x13(%rdi), %cl
movb %cl, (%rsi,%rax)
incq %rax
jmp 0x13cd5
cmpq %rdx, %rax
jae 0x14331
movb 0x13(%rdi), %cl
movb %cl, (%rsi,%rax)
leaq 0x2(%rax), %rcx
cmpq %rdx, %rcx
ja 0x1436f
movb 0x14(%rdi), %r8b
movb %r8b, 0x1(%rsi,%rax)
jmp 0x13cd8
cmpq %rdx, %rax
jae 0x14350
movb 0x13(%rdi), %cl
movb %cl, (%rsi,%rax)
leaq 0x2(%rax), %rcx
cmpq %rdx, %rcx
ja 0x1438e
movb 0x14(%rdi), %r8b
movb %r8b, 0x1(%rsi,%rax)
addq $0x3, %rax
cmpq %rdx, %rax
ja 0x143ad
movb 0x15(%rdi), %r8b
movb %r8b, (%rsi,%rcx)
movq %rax, %rcx
cmpb $0x1, 0x16(%rdi)
jne 0x13d0a
cmpq %rdx, %rcx
jae 0x14277
movb 0x17(%rdi), %al
movb 0x18(%rdi), %r8b
shlb $0x6, %al
shlb $0x3, %r8b
andb $0x38, %r8b
orb %al, %r8b
movb 0x19(%rdi), %al
andb $0x7, %al
orb %r8b, %al
movb %al, (%rsi,%rcx)
incq %rcx
cmpb $0x1, 0x1a(%rdi)
jne 0x13d3c
cmpq %rdx, %rcx
jae 0x14296
movb 0x1b(%rdi), %al
movb 0x1c(%rdi), %r8b
shlb $0x6, %al
shlb $0x3, %r8b
andb $0x38, %r8b
orb %al, %r8b
movb 0x1d(%rdi), %al
andb $0x7, %al
orb %r8b, %al
movb %al, (%rsi,%rcx)
incq %rcx
movzbl 0x1e(%rdi), %eax
cmpq $0x8, %rax
ja 0x1440a
leaq 0x1b6c7(%rip), %r8      # 0x2f418
movslq (%r8,%rax,4), %rax
addq %r8, %rax
jmpq *%rax
cmpq %rdx, %rcx
jae 0x143cc
movb 0x20(%rdi), %al
movb %al, (%rsi,%rcx)
incq %rcx
jmp 0x13e82
cmpq %rdx, %rcx
jae 0x14027
movb 0x20(%rdi), %al
movb %al, (%rsi,%rcx)
leaq 0x2(%rcx), %rax
cmpq %rdx, %rax
ja 0x14027
movb 0x21(%rdi), %al
movb %al, 0x1(%rsi,%rcx)
leaq 0x3(%rcx), %rax
cmpq %rdx, %rax
ja 0x14027
movb 0x22(%rdi), %al
movb %al, 0x2(%rsi,%rcx)
leaq 0x4(%rcx), %rax
cmpq %rdx, %rax
ja 0x14027
movb 0x23(%rdi), %al
movb %al, 0x3(%rsi,%rcx)
leaq 0x5(%rcx), %rax
cmpq %rdx, %rax
ja 0x14027
movb 0x24(%rdi), %al
movb %al, 0x4(%rsi,%rcx)
leaq 0x6(%rcx), %rax
cmpq %rdx, %rax
ja 0x14027
movb 0x25(%rdi), %al
movb %al, 0x5(%rsi,%rcx)
leaq 0x7(%rcx), %rax
cmpq %rdx, %rax
ja 0x14027
movb 0x26(%rdi), %r8b
movb %r8b, 0x6(%rsi,%rcx)
addq $0x8, %rcx
cmpq %rdx, %rcx
ja 0x14027
movb 0x27(%rdi), %r8b
jmp 0x13e7e
cmpq %rdx, %rcx
jae 0x142b5
movb 0x20(%rdi), %al
movb %al, (%rsi,%rcx)
leaq 0x2(%rcx), %rax
cmpq %rdx, %rax
ja 0x142b5
movb 0x21(%rdi), %r8b
movb %r8b, 0x1(%rsi,%rcx)
jmp 0x13e85
cmpq %rdx, %rcx
jae 0x140d8
movb 0x20(%rdi), %al
movb %al, (%rsi,%rcx)
leaq 0x2(%rcx), %rax
cmpq %rdx, %rax
ja 0x140d8
movb 0x21(%rdi), %al
movb %al, 0x1(%rsi,%rcx)
leaq 0x3(%rcx), %rax
cmpq %rdx, %rax
ja 0x140d8
movb 0x22(%rdi), %r8b
movb %r8b, 0x2(%rsi,%rcx)
addq $0x4, %rcx
cmpq %rdx, %rcx
ja 0x140d8
movb 0x23(%rdi), %r8b
movb %r8b, (%rsi,%rax)
movq %rcx, %rax
movzbl 0x28(%rdi), %ecx
cmpq $0x8, %rcx
ja 0x14429
leaq 0x1b5a2(%rip), %r8      # 0x2f43c
movslq (%r8,%rcx,4), %rcx
addq %r8, %rcx
jmpq *%rcx
cmpq %rdx, %rax
jae 0x143eb
movb 0x30(%rdi), %cl
movb %cl, (%rsi,%rax)
incq %rax
jmp 0x13fcb
cmpq %rdx, %rax
jae 0x14046
movb 0x30(%rdi), %cl
movb %cl, (%rsi,%rax)
leaq 0x2(%rax), %rcx
cmpq %rdx, %rcx
ja 0x14046
movb 0x31(%rdi), %cl
movb %cl, 0x1(%rsi,%rax)
leaq 0x3(%rax), %rcx
cmpq %rdx, %rcx
ja 0x14046
movb 0x32(%rdi), %cl
movb %cl, 0x2(%rsi,%rax)
leaq 0x4(%rax), %rcx
cmpq %rdx, %rcx
ja 0x14046
movb 0x33(%rdi), %cl
movb %cl, 0x3(%rsi,%rax)
leaq 0x5(%rax), %rcx
cmpq %rdx, %rcx
ja 0x14046
movb 0x34(%rdi), %cl
movb %cl, 0x4(%rsi,%rax)
leaq 0x6(%rax), %rcx
cmpq %rdx, %rcx
ja 0x14046
movb 0x35(%rdi), %cl
movb %cl, 0x5(%rsi,%rax)
leaq 0x7(%rax), %rcx
cmpq %rdx, %rcx
ja 0x14046
movb 0x36(%rdi), %r8b
movb %r8b, 0x6(%rsi,%rax)
addq $0x8, %rax
cmpq %rdx, %rax
ja 0x14046
movb 0x37(%rdi), %r8b
jmp 0x13fc7
cmpq %rdx, %rax
jae 0x142d4
movb 0x30(%rdi), %cl
movb %cl, (%rsi,%rax)
leaq 0x2(%rax), %rcx
cmpq %rdx, %rcx
ja 0x142d4
movb 0x31(%rdi), %r8b
movb %r8b, 0x1(%rsi,%rax)
jmp 0x13fce
cmpq %rdx, %rax
jae 0x140f7
movb 0x30(%rdi), %cl
movb %cl, (%rsi,%rax)
leaq 0x2(%rax), %rcx
cmpq %rdx, %rcx
ja 0x140f7
movb 0x31(%rdi), %cl
movb %cl, 0x1(%rsi,%rax)
leaq 0x3(%rax), %rcx
cmpq %rdx, %rcx
ja 0x140f7
movb 0x32(%rdi), %r8b
movb %r8b, 0x2(%rsi,%rax)
addq $0x4, %rax
cmpq %rdx, %rax
ja 0x140f7
movb 0x33(%rdi), %r8b
movb %r8b, (%rsi,%rcx)
movq %rax, %rcx
movb 0x38(%rdi), %r9b
cmpb $0x20, %r9b
ja 0x140b9
addq %rcx, %rsi
xorl %r8d, %r8d
leaq (%rcx,%r8), %rax
movzbl %r9b, %r9d
cmpq %r9, %r8
jae 0x14006
cmpq %rdx, %rax
jae 0x14008
movb 0x39(%rdi,%r8), %al
movb %al, (%rsi,%r8)
incq %r8
movb 0x38(%rdi), %r9b
jmp 0x13fe2
popq %rbp
retq
leaq 0x1b4c4(%rip), %rdi     # 0x2f4d3
leaq 0x1b44a(%rip), %rsi     # 0x2f460
leaq 0x1b460(%rip), %rcx     # 0x2f47d
movl $0x106, %edx            # imm = 0x106
callq 0xa0b0
leaq 0x1b4a5(%rip), %rdi     # 0x2f4d3
leaq 0x1b42b(%rip), %rsi     # 0x2f460
leaq 0x1b441(%rip), %rcx     # 0x2f47d
movl $0xdd, %edx
callq 0xa0b0
leaq 0x1b486(%rip), %rdi     # 0x2f4d3
leaq 0x1b40c(%rip), %rsi     # 0x2f460
leaq 0x1b422(%rip), %rcx     # 0x2f47d
movl $0xf8, %edx
callq 0xa0b0
leaq 0x1b6ce(%rip), %rdi     # 0x2f73a
leaq 0x1b3ed(%rip), %rsi     # 0x2f460
leaq 0x1b403(%rip), %rcx     # 0x2f47d
pushq $0xf
jmp 0x14252
leaq 0x1b434(%rip), %rdi     # 0x2f4bc
leaq 0x1b3d1(%rip), %rsi     # 0x2f460
leaq 0x1b3e7(%rip), %rcx     # 0x2f47d
pushq $0x10
jmp 0x14252
leaq 0x1b41f(%rip), %rdi     # 0x2f4c3
leaq 0x1b3b5(%rip), %rsi     # 0x2f460
leaq 0x1b3cb(%rip), %rcx     # 0x2f47d
pushq $0x11
jmp 0x14252
leaq 0x192b0(%rip), %rdi     # 0x2d370
leaq 0x1b399(%rip), %rsi     # 0x2f460
leaq 0x1b3af(%rip), %rcx     # 0x2f47d
movl $0x103, %edx            # imm = 0x103
callq 0xa0b0
leaq 0x1b3f4(%rip), %rdi     # 0x2f4d3
leaq 0x1b37a(%rip), %rsi     # 0x2f460
leaq 0x1b390(%rip), %rcx     # 0x2f47d
movl $0xd9, %edx
callq 0xa0b0
leaq 0x1b3d5(%rip), %rdi     # 0x2f4d3
leaq 0x1b35b(%rip), %rsi     # 0x2f460
leaq 0x1b371(%rip), %rcx     # 0x2f47d
movl $0xf4, %edx
callq 0xa0b0
leaq 0x1b3b6(%rip), %rdi     # 0x2f4d3
leaq 0x1b33c(%rip), %rsi     # 0x2f460
leaq 0x1b352(%rip), %rcx     # 0x2f47d
pushq $0x3a
jmp 0x14252
leaq 0x1b39a(%rip), %rdi     # 0x2f4d3
leaq 0x1b320(%rip), %rsi     # 0x2f460
leaq 0x1b336(%rip), %rcx     # 0x2f47d
pushq $0x3f
jmp 0x14252
leaq 0x1b37e(%rip), %rdi     # 0x2f4d3
leaq 0x1b304(%rip), %rsi     # 0x2f460
leaq 0x1b31a(%rip), %rcx     # 0x2f47d
pushq $0x47
jmp 0x14252
leaq 0x1b362(%rip), %rdi     # 0x2f4d3
leaq 0x1b2e8(%rip), %rsi     # 0x2f460
leaq 0x1b2fe(%rip), %rcx     # 0x2f47d
pushq $0x4c
jmp 0x14252
leaq 0x1b346(%rip), %rdi     # 0x2f4d3
leaq 0x1b2cc(%rip), %rsi     # 0x2f460
leaq 0x1b2e2(%rip), %rcx     # 0x2f47d
pushq $0x51
jmp 0x14252
leaq 0x1b32a(%rip), %rdi     # 0x2f4d3
leaq 0x1b2b0(%rip), %rsi     # 0x2f460
leaq 0x1b2c6(%rip), %rcx     # 0x2f47d
pushq $0x56
jmp 0x14252
leaq 0x1b30e(%rip), %rdi     # 0x2f4d3
leaq 0x1b294(%rip), %rsi     # 0x2f460
leaq 0x1b2aa(%rip), %rcx     # 0x2f47d
pushq $0x5b
jmp 0x14252
leaq 0x1b2f5(%rip), %rdi     # 0x2f4d3
leaq 0x1b27b(%rip), %rsi     # 0x2f460
leaq 0x1b291(%rip), %rcx     # 0x2f47d
pushq $0x60
jmp 0x14252
leaq 0x1b2dc(%rip), %rdi     # 0x2f4d3
leaq 0x1b262(%rip), %rsi     # 0x2f460
leaq 0x1b278(%rip), %rcx     # 0x2f47d
pushq $0x65
jmp 0x14252
leaq 0x1b2c3(%rip), %rdi     # 0x2f4d3
leaq 0x1b249(%rip), %rsi     # 0x2f460
leaq 0x1b25f(%rip), %rcx     # 0x2f47d
pushq $0x6a
jmp 0x14252
leaq 0x1b2aa(%rip), %rdi     # 0x2f4d3
leaq 0x1b230(%rip), %rsi     # 0x2f460
leaq 0x1b246(%rip), %rcx     # 0x2f47d
pushq $0x72
jmp 0x14252
leaq 0x1b291(%rip), %rdi     # 0x2f4d3
leaq 0x1b217(%rip), %rsi     # 0x2f460
leaq 0x1b22d(%rip), %rcx     # 0x2f47d
pushq $0x7a
popq %rdx
callq 0xa0b0
leaq 0x1b274(%rip), %rdi     # 0x2f4d3
leaq 0x1b1fa(%rip), %rsi     # 0x2f460
leaq 0x1b210(%rip), %rcx     # 0x2f47d
movl $0x91, %edx
callq 0xa0b0
leaq 0x1b255(%rip), %rdi     # 0x2f4d3
leaq 0x1b1db(%rip), %rsi     # 0x2f460
leaq 0x1b1f1(%rip), %rcx     # 0x2f47d
movl $0xb8, %edx
callq 0xa0b0
leaq 0x1b236(%rip), %rdi     # 0x2f4d3
leaq 0x1b1bc(%rip), %rsi     # 0x2f460
leaq 0x1b1d2(%rip), %rcx     # 0x2f47d
movl $0xc8, %edx
callq 0xa0b0
leaq 0x1b217(%rip), %rdi     # 0x2f4d3
leaq 0x1b19d(%rip), %rsi     # 0x2f460
leaq 0x1b1b3(%rip), %rcx     # 0x2f47d
movl $0xd5, %edx
callq 0xa0b0
leaq 0x1b1f8(%rip), %rdi     # 0x2f4d3
leaq 0x1b17e(%rip), %rsi     # 0x2f460
leaq 0x1b194(%rip), %rcx     # 0x2f47d
movl $0xf0, %edx
callq 0xa0b0
leaq 0x19076(%rip), %rdi     # 0x2d370
leaq 0x1b15f(%rip), %rsi     # 0x2f460
leaq 0x1b175(%rip), %rcx     # 0x2f47d
movl $0xa6, %edx
callq 0xa0b0
leaq 0x1b1ba(%rip), %rdi     # 0x2f4d3
leaq 0x1b140(%rip), %rsi     # 0x2f460
leaq 0x1b156(%rip), %rcx     # 0x2f47d
movl $0x97, %edx
callq 0xa0b0
leaq 0x1b19b(%rip), %rdi     # 0x2f4d3
leaq 0x1b121(%rip), %rsi     # 0x2f460
leaq 0x1b137(%rip), %rcx     # 0x2f47d
movl $0x9b, %edx
callq 0xa0b0
leaq 0x1b17c(%rip), %rdi     # 0x2f4d3
leaq 0x1b102(%rip), %rsi     # 0x2f460
leaq 0x1b118(%rip), %rcx     # 0x2f47d
movl $0xa0, %edx
callq 0xa0b0
leaq 0x1b15d(%rip), %rdi     # 0x2f4d3
leaq 0x1b0e3(%rip), %rsi     # 0x2f460
leaq 0x1b0f9(%rip), %rcx     # 0x2f47d
movl $0x9c, %edx
callq 0xa0b0
leaq 0x1b13e(%rip), %rdi     # 0x2f4d3
leaq 0x1b0c4(%rip), %rsi     # 0x2f460
leaq 0x1b0da(%rip), %rcx     # 0x2f47d
movl $0xa1, %edx
callq 0xa0b0
leaq 0x1b11f(%rip), %rdi     # 0x2f4d3
leaq 0x1b0a5(%rip), %rsi     # 0x2f460
leaq 0x1b0bb(%rip), %rcx     # 0x2f47d
movl $0xa2, %edx
callq 0xa0b0
leaq 0x1b100(%rip), %rdi     # 0x2f4d3
leaq 0x1b086(%rip), %rsi     # 0x2f460
leaq 0x1b09c(%rip), %rcx     # 0x2f47d
movl $0xd1, %edx
callq 0xa0b0
leaq 0x1b0e1(%rip), %rdi     # 0x2f4d3
leaq 0x1b067(%rip), %rsi     # 0x2f460
leaq 0x1b07d(%rip), %rcx     # 0x2f47d
movl $0xec, %edx
callq 0xa0b0
leaq 0x18f5f(%rip), %rdi     # 0x2d370
leaq 0x1b048(%rip), %rsi     # 0x2f460
leaq 0x1b05e(%rip), %rcx     # 0x2f47d
movl $0xe1, %edx
callq 0xa0b0
leaq 0x18f40(%rip), %rdi     # 0x2d370
leaq 0x1b029(%rip), %rsi     # 0x2f460
leaq 0x1b03f(%rip), %rcx     # 0x2f47d
movl $0xfc, %edx
callq 0xa0b0