// File: /workspace/github_c_makefile_star2_O3/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 0x14bd0
testq %rsi, %rsi
je 0x14bef
testq %rdx, %rdx
je 0x14c0e
cmpb $0x1, (%rdi)
jne 0x14672
movb $-0x10, (%rsi)
movl $0x1, %eax
jmp 0x14674
xorl %eax, %eax
cmpb $0x1, 0x1(%rdi)
jne 0x1468a
cmpq %rdx, %rax
jae 0x14c8a
movb $-0xe, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x2(%rdi)
jne 0x146a0
cmpq %rdx, %rax
jae 0x14ca9
movb $-0xd, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x3(%rdi)
jne 0x146b6
cmpq %rdx, %rax
jae 0x14cc8
movb $0x2e, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x4(%rdi)
jne 0x146cc
cmpq %rdx, %rax
jae 0x14ce7
movb $0x36, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x5(%rdi)
jne 0x146e2
cmpq %rdx, %rax
jae 0x14d06
movb $0x3e, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x6(%rdi)
jne 0x146f8
cmpq %rdx, %rax
jae 0x14d25
movb $0x26, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x7(%rdi)
jne 0x1470e
cmpq %rdx, %rax
jae 0x14d44
movb $0x64, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x8(%rdi)
jne 0x14724
cmpq %rdx, %rax
jae 0x14d63
movb $0x65, (%rsi,%rax)
incq %rax
cmpb $0x1, 0x9(%rdi)
jne 0x1473a
cmpq %rdx, %rax
jae 0x14d82
movb $0x2e, (%rsi,%rax)
incq %rax
cmpb $0x1, 0xa(%rdi)
jne 0x14750
cmpq %rdx, %rax
jae 0x14da1
movb $0x3e, (%rsi,%rax)
incq %rax
cmpb $0x1, 0xb(%rdi)
jne 0x14766
cmpq %rdx, %rax
jae 0x14dc0
movb $0x66, (%rsi,%rax)
incq %rax
cmpb $0x1, 0xc(%rdi)
jne 0x1477c
cmpq %rdx, %rax
jae 0x14ddf
movb $0x67, (%rsi,%rax)
incq %rax
cmpb $0x1, 0xd(%rdi)
jne 0x147b3
cmpq %rdx, %rax
jae 0x14dfe
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 0x14805
cmpl $0x2, %ecx
je 0x147de
cmpl $0x1, %ecx
jne 0x14e99
cmpq %rdx, %rax
jae 0x14eb8
movb 0x13(%rdi), %cl
movb %cl, (%rsi,%rax)
incq %rax
jmp 0x1483f
cmpq %rdx, %rax
jae 0x14ed7
movb 0x13(%rdi), %cl
movb %cl, (%rsi,%rax)
leaq 0x2(%rax), %rcx
cmpq %rdx, %rcx
ja 0x14f15
movb 0x14(%rdi), %r8b
movb %r8b, 0x1(%rsi,%rax)
jmp 0x14842
cmpq %rdx, %rax
jae 0x14ef6
movb 0x13(%rdi), %cl
movb %cl, (%rsi,%rax)
leaq 0x2(%rax), %rcx
cmpq %rdx, %rcx
ja 0x14f34
movb 0x14(%rdi), %r8b
movb %r8b, 0x1(%rsi,%rax)
addq $0x3, %rax
cmpq %rdx, %rax
ja 0x14f53
movb 0x15(%rdi), %r8b
movb %r8b, (%rsi,%rcx)
movq %rax, %rcx
cmpb $0x1, 0x16(%rdi)
jne 0x14874
cmpq %rdx, %rcx
jae 0x14e1d
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 0x148a6
cmpq %rdx, %rcx
jae 0x14e3c
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 0x14fb0
leaq 0x1bb4d(%rip), %r8      # 0x30408
movslq (%r8,%rax,4), %rax
addq %r8, %rax
jmpq *%rax
cmpq %rdx, %rcx
jae 0x14f72
movb 0x20(%rdi), %al
movb %al, (%rsi,%rcx)
incq %rcx
jmp 0x149ea
cmpq %rdx, %rcx
jae 0x14b92
movb 0x20(%rdi), %al
movb %al, (%rsi,%rcx)
leaq 0x2(%rcx), %rax
cmpq %rdx, %rax
ja 0x14b92
movb 0x21(%rdi), %al
movb %al, 0x1(%rsi,%rcx)
leaq 0x3(%rcx), %rax
cmpq %rdx, %rax
ja 0x14b92
movb 0x22(%rdi), %al
movb %al, 0x2(%rsi,%rcx)
leaq 0x4(%rcx), %rax
cmpq %rdx, %rax
ja 0x14b92
movb 0x23(%rdi), %al
movb %al, 0x3(%rsi,%rcx)
leaq 0x5(%rcx), %rax
cmpq %rdx, %rax
ja 0x14b92
movb 0x24(%rdi), %al
movb %al, 0x4(%rsi,%rcx)
leaq 0x6(%rcx), %rax
cmpq %rdx, %rax
ja 0x14b92
movb 0x25(%rdi), %al
movb %al, 0x5(%rsi,%rcx)
leaq 0x7(%rcx), %rax
cmpq %rdx, %rax
ja 0x14b92
movb 0x26(%rdi), %r8b
movb %r8b, 0x6(%rsi,%rcx)
addq $0x8, %rcx
cmpq %rdx, %rcx
ja 0x14b92
movb 0x27(%rdi), %r8b
jmp 0x149e6
cmpq %rdx, %rcx
jae 0x14e5b
movb 0x20(%rdi), %al
movb %al, (%rsi,%rcx)
leaq 0x2(%rcx), %r8
cmpq %rdx, %r8
ja 0x14e5b
movb 0x21(%rdi), %al
movb %al, 0x1(%rsi,%rcx)
jmp 0x149ed
cmpq %rdx, %rcx
jae 0x14c4c
movb 0x20(%rdi), %al
movb %al, (%rsi,%rcx)
leaq 0x2(%rcx), %rax
cmpq %rdx, %rax
ja 0x14c4c
movb 0x21(%rdi), %al
movb %al, 0x1(%rsi,%rcx)
leaq 0x3(%rcx), %rax
cmpq %rdx, %rax
ja 0x14c4c
movb 0x22(%rdi), %r8b
movb %r8b, 0x2(%rsi,%rcx)
addq $0x4, %rcx
cmpq %rdx, %rcx
ja 0x14c4c
movb 0x23(%rdi), %r8b
movb %r8b, (%rsi,%rax)
movq %rcx, %r8
movzbl 0x28(%rdi), %eax
cmpq $0x8, %rax
ja 0x14fcf
leaq 0x1ba2a(%rip), %rcx     # 0x3042c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpq %rdx, %r8
jae 0x14f91
movb 0x30(%rdi), %al
movb %al, (%rsi,%r8)
incq %r8
jmp 0x14b37
cmpq %rdx, %r8
jae 0x14bb1
movb 0x30(%rdi), %al
movb %al, (%rsi,%r8)
leaq 0x2(%r8), %rax
cmpq %rdx, %rax
ja 0x14bb1
movb 0x31(%rdi), %al
movb %al, 0x1(%rsi,%r8)
leaq 0x3(%r8), %rax
cmpq %rdx, %rax
ja 0x14bb1
movb 0x32(%rdi), %al
movb %al, 0x2(%rsi,%r8)
leaq 0x4(%r8), %rax
cmpq %rdx, %rax
ja 0x14bb1
movb 0x33(%rdi), %al
movb %al, 0x3(%rsi,%r8)
leaq 0x5(%r8), %rax
cmpq %rdx, %rax
ja 0x14bb1
movb 0x34(%rdi), %al
movb %al, 0x4(%rsi,%r8)
leaq 0x6(%r8), %rax
cmpq %rdx, %rax
ja 0x14bb1
movb 0x35(%rdi), %al
movb %al, 0x5(%rsi,%r8)
leaq 0x7(%r8), %rax
cmpq %rdx, %rax
ja 0x14bb1
movb 0x36(%rdi), %cl
movb %cl, 0x6(%rsi,%r8)
addq $0x8, %r8
cmpq %rdx, %r8
ja 0x14bb1
movb 0x37(%rdi), %cl
jmp 0x14b34
cmpq %rdx, %r8
jae 0x14e7a
movb 0x30(%rdi), %al
movb %al, (%rsi,%r8)
leaq 0x2(%r8), %rax
cmpq %rdx, %rax
ja 0x14e7a
movb 0x31(%rdi), %cl
movb %cl, 0x1(%rsi,%r8)
jmp 0x14b3a
cmpq %rdx, %r8
jae 0x14c6b
movb 0x30(%rdi), %al
movb %al, (%rsi,%r8)
leaq 0x2(%r8), %rax
cmpq %rdx, %rax
ja 0x14c6b
movb 0x31(%rdi), %al
movb %al, 0x1(%rsi,%r8)
leaq 0x3(%r8), %rax
cmpq %rdx, %rax
ja 0x14c6b
movb 0x32(%rdi), %cl
movb %cl, 0x2(%rsi,%r8)
addq $0x4, %r8
cmpq %rdx, %r8
ja 0x14c6b
movb 0x33(%rdi), %cl
movb %cl, (%rsi,%rax)
movq %r8, %rax
movb 0x38(%rdi), %cl
cmpb $0x20, %cl
ja 0x14c2d
testb %cl, %cl
je 0x14b71
addq %rax, %rsi
xorl %ecx, %ecx
leaq (%rax,%rcx), %r8
cmpq %rdx, %r8
jae 0x14b73
movb 0x39(%rdi,%rcx), %r8b
movb %r8b, (%rsi,%rcx)
incq %rcx
movzbl 0x38(%rdi), %r8d
cmpq %r8, %rcx
jb 0x14b4f
addq %rcx, %rax
popq %rbp
retq
leaq 0x1b949(%rip), %rdi     # 0x304c3
leaq 0x1b8cf(%rip), %rsi     # 0x30450
leaq 0x1b8e5(%rip), %rcx     # 0x3046d
movl $0x106, %edx            # imm = 0x106
callq 0xa0b0
leaq 0x1b92a(%rip), %rdi     # 0x304c3
leaq 0x1b8b0(%rip), %rsi     # 0x30450
leaq 0x1b8c6(%rip), %rcx     # 0x3046d
movl $0xdd, %edx
callq 0xa0b0
leaq 0x1b90b(%rip), %rdi     # 0x304c3
leaq 0x1b891(%rip), %rsi     # 0x30450
leaq 0x1b8a7(%rip), %rcx     # 0x3046d
movl $0xf8, %edx
callq 0xa0b0
leaq 0x1bb53(%rip), %rdi     # 0x3072a
leaq 0x1b872(%rip), %rsi     # 0x30450
leaq 0x1b888(%rip), %rcx     # 0x3046d
movl $0xf, %edx
callq 0xa0b0
leaq 0x1b8b6(%rip), %rdi     # 0x304ac
leaq 0x1b853(%rip), %rsi     # 0x30450
leaq 0x1b869(%rip), %rcx     # 0x3046d
movl $0x10, %edx
callq 0xa0b0
leaq 0x1b89e(%rip), %rdi     # 0x304b3
leaq 0x1b834(%rip), %rsi     # 0x30450
leaq 0x1b84a(%rip), %rcx     # 0x3046d
movl $0x11, %edx
callq 0xa0b0
leaq 0x1973c(%rip), %rdi     # 0x2e370
leaq 0x1b815(%rip), %rsi     # 0x30450
leaq 0x1b82b(%rip), %rcx     # 0x3046d
movl $0x103, %edx            # imm = 0x103
callq 0xa0b0
leaq 0x1b870(%rip), %rdi     # 0x304c3
leaq 0x1b7f6(%rip), %rsi     # 0x30450
leaq 0x1b80c(%rip), %rcx     # 0x3046d
movl $0xd9, %edx
callq 0xa0b0
leaq 0x1b851(%rip), %rdi     # 0x304c3
leaq 0x1b7d7(%rip), %rsi     # 0x30450
leaq 0x1b7ed(%rip), %rcx     # 0x3046d
movl $0xf4, %edx
callq 0xa0b0
leaq 0x1b832(%rip), %rdi     # 0x304c3
leaq 0x1b7b8(%rip), %rsi     # 0x30450
leaq 0x1b7ce(%rip), %rcx     # 0x3046d
movl $0x3a, %edx
callq 0xa0b0
leaq 0x1b813(%rip), %rdi     # 0x304c3
leaq 0x1b799(%rip), %rsi     # 0x30450
leaq 0x1b7af(%rip), %rcx     # 0x3046d
movl $0x3f, %edx
callq 0xa0b0
leaq 0x1b7f4(%rip), %rdi     # 0x304c3
leaq 0x1b77a(%rip), %rsi     # 0x30450
leaq 0x1b790(%rip), %rcx     # 0x3046d
movl $0x47, %edx
callq 0xa0b0
leaq 0x1b7d5(%rip), %rdi     # 0x304c3
leaq 0x1b75b(%rip), %rsi     # 0x30450
leaq 0x1b771(%rip), %rcx     # 0x3046d
movl $0x4c, %edx
callq 0xa0b0
leaq 0x1b7b6(%rip), %rdi     # 0x304c3
leaq 0x1b73c(%rip), %rsi     # 0x30450
leaq 0x1b752(%rip), %rcx     # 0x3046d
movl $0x51, %edx
callq 0xa0b0
leaq 0x1b797(%rip), %rdi     # 0x304c3
leaq 0x1b71d(%rip), %rsi     # 0x30450
leaq 0x1b733(%rip), %rcx     # 0x3046d
movl $0x56, %edx
callq 0xa0b0
leaq 0x1b778(%rip), %rdi     # 0x304c3
leaq 0x1b6fe(%rip), %rsi     # 0x30450
leaq 0x1b714(%rip), %rcx     # 0x3046d
movl $0x5b, %edx
callq 0xa0b0
leaq 0x1b759(%rip), %rdi     # 0x304c3
leaq 0x1b6df(%rip), %rsi     # 0x30450
leaq 0x1b6f5(%rip), %rcx     # 0x3046d
movl $0x60, %edx
callq 0xa0b0
leaq 0x1b73a(%rip), %rdi     # 0x304c3
leaq 0x1b6c0(%rip), %rsi     # 0x30450
leaq 0x1b6d6(%rip), %rcx     # 0x3046d
movl $0x65, %edx
callq 0xa0b0
leaq 0x1b71b(%rip), %rdi     # 0x304c3
leaq 0x1b6a1(%rip), %rsi     # 0x30450
leaq 0x1b6b7(%rip), %rcx     # 0x3046d
movl $0x6a, %edx
callq 0xa0b0
leaq 0x1b6fc(%rip), %rdi     # 0x304c3
leaq 0x1b682(%rip), %rsi     # 0x30450
leaq 0x1b698(%rip), %rcx     # 0x3046d
movl $0x72, %edx
callq 0xa0b0
leaq 0x1b6dd(%rip), %rdi     # 0x304c3
leaq 0x1b663(%rip), %rsi     # 0x30450
leaq 0x1b679(%rip), %rcx     # 0x3046d
movl $0x7a, %edx
callq 0xa0b0
leaq 0x1b6be(%rip), %rdi     # 0x304c3
leaq 0x1b644(%rip), %rsi     # 0x30450
leaq 0x1b65a(%rip), %rcx     # 0x3046d
movl $0x91, %edx
callq 0xa0b0
leaq 0x1b69f(%rip), %rdi     # 0x304c3
leaq 0x1b625(%rip), %rsi     # 0x30450
leaq 0x1b63b(%rip), %rcx     # 0x3046d
movl $0xb8, %edx
callq 0xa0b0
leaq 0x1b680(%rip), %rdi     # 0x304c3
leaq 0x1b606(%rip), %rsi     # 0x30450
leaq 0x1b61c(%rip), %rcx     # 0x3046d
movl $0xc8, %edx
callq 0xa0b0
leaq 0x1b661(%rip), %rdi     # 0x304c3
leaq 0x1b5e7(%rip), %rsi     # 0x30450
leaq 0x1b5fd(%rip), %rcx     # 0x3046d
movl $0xd5, %edx
callq 0xa0b0
leaq 0x1b642(%rip), %rdi     # 0x304c3
leaq 0x1b5c8(%rip), %rsi     # 0x30450
leaq 0x1b5de(%rip), %rcx     # 0x3046d
movl $0xf0, %edx
callq 0xa0b0
leaq 0x194d0(%rip), %rdi     # 0x2e370
leaq 0x1b5a9(%rip), %rsi     # 0x30450
leaq 0x1b5bf(%rip), %rcx     # 0x3046d
movl $0xa6, %edx
callq 0xa0b0
leaq 0x1b604(%rip), %rdi     # 0x304c3
leaq 0x1b58a(%rip), %rsi     # 0x30450
leaq 0x1b5a0(%rip), %rcx     # 0x3046d
movl $0x97, %edx
callq 0xa0b0
leaq 0x1b5e5(%rip), %rdi     # 0x304c3
leaq 0x1b56b(%rip), %rsi     # 0x30450
leaq 0x1b581(%rip), %rcx     # 0x3046d
movl $0x9b, %edx
callq 0xa0b0
leaq 0x1b5c6(%rip), %rdi     # 0x304c3
leaq 0x1b54c(%rip), %rsi     # 0x30450
leaq 0x1b562(%rip), %rcx     # 0x3046d
movl $0xa0, %edx
callq 0xa0b0
leaq 0x1b5a7(%rip), %rdi     # 0x304c3
leaq 0x1b52d(%rip), %rsi     # 0x30450
leaq 0x1b543(%rip), %rcx     # 0x3046d
movl $0x9c, %edx
callq 0xa0b0
leaq 0x1b588(%rip), %rdi     # 0x304c3
leaq 0x1b50e(%rip), %rsi     # 0x30450
leaq 0x1b524(%rip), %rcx     # 0x3046d
movl $0xa1, %edx
callq 0xa0b0
leaq 0x1b569(%rip), %rdi     # 0x304c3
leaq 0x1b4ef(%rip), %rsi     # 0x30450
leaq 0x1b505(%rip), %rcx     # 0x3046d
movl $0xa2, %edx
callq 0xa0b0
leaq 0x1b54a(%rip), %rdi     # 0x304c3
leaq 0x1b4d0(%rip), %rsi     # 0x30450
leaq 0x1b4e6(%rip), %rcx     # 0x3046d
movl $0xd1, %edx
callq 0xa0b0
leaq 0x1b52b(%rip), %rdi     # 0x304c3
leaq 0x1b4b1(%rip), %rsi     # 0x30450
leaq 0x1b4c7(%rip), %rcx     # 0x3046d
movl $0xec, %edx
callq 0xa0b0
leaq 0x193b9(%rip), %rdi     # 0x2e370
leaq 0x1b492(%rip), %rsi     # 0x30450
leaq 0x1b4a8(%rip), %rcx     # 0x3046d
movl $0xe1, %edx
callq 0xa0b0
leaq 0x1939a(%rip), %rdi     # 0x2e370
leaq 0x1b473(%rip), %rsi     # 0x30450
leaq 0x1b489(%rip), %rcx     # 0x3046d
movl $0xfc, %edx
callq 0xa0b0
nop