// File: rossy[P]crossc/SPIRV-Cross/spirv_msl.cpp
// Function: spirv_cross::CompilerMSL::builtin_qualifier[abi:cxx11](spv::BuiltIn)
string CompilerMSL::builtin_qualifier(BuiltIn builtin)
{
	auto &execution = get_entry_point();

	switch (builtin)
	{
	// Vertex function in
	case BuiltInVertexId:
		return "vertex_id";
	case BuiltInVertexIndex:
		return "vertex_id";
	case BuiltInBaseVertex:
		return "base_vertex";
	case BuiltInInstanceId:
		return "instance_id";
	case BuiltInInstanceIndex:
		return "instance_id";
	case BuiltInBaseInstance:
		return "base_instance";
	case BuiltInDrawIndex:
		SPIRV_CROSS_THROW("DrawIndex is not supported in MSL.");

	// Vertex function out
	case BuiltInClipDistance:
		return "clip_distance";
	case BuiltInPointSize:
		return "point_size";
	case BuiltInPosition:
		return "position";
	case BuiltInLayer:
		return "render_target_array_index";
	case BuiltInViewportIndex:
		if (!msl_options.supports_msl_version(2, 0))
			SPIRV_CROSS_THROW("ViewportIndex requires Metal 2.0.");
		return "viewport_array_index";

	// Fragment function in
	case BuiltInFrontFacing:
		return "front_facing";
	case BuiltInPointCoord:
		return "point_coord";
	case BuiltInFragCoord:
		return "position";
	case BuiltInSampleId:
		return "sample_id";
	case BuiltInSampleMask:
		return "sample_mask";
	case BuiltInSamplePosition:
		// Shouldn't be reached.
		SPIRV_CROSS_THROW("Sample position is retrieved by a function in MSL.");

	// Fragment function out
	case BuiltInFragDepth:
		if (execution.flags.get(ExecutionModeDepthGreater))
			return "depth(greater)";
		else if (execution.flags.get(ExecutionModeDepthLess))
			return "depth(less)";
		else
			return "depth(any)";

	// Compute function in
	case BuiltInGlobalInvocationId:
		return "thread_position_in_grid";

	case BuiltInWorkgroupId:
		return "threadgroup_position_in_grid";

	case BuiltInNumWorkgroups:
		return "threadgroups_per_grid";

	case BuiltInLocalInvocationId:
		return "thread_position_in_threadgroup";

	case BuiltInLocalInvocationIndex:
		return "thread_index_in_threadgroup";

	default:
		return "unsupported-built-in";
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rdi, -0xd8(%rbp)
movq %rdi, %rax
movq %rax, -0xd0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x25150
movq %rax, -0x20(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0xc0(%rbp)
testl %eax, %eax
je 0x109866
jmp 0x10937e
movl -0xc0(%rbp), %eax
subl $0x1, %eax
je 0x109812
jmp 0x10938f
movl -0xc0(%rbp), %eax
subl $0x3, %eax
je 0x1097be
jmp 0x1093a0
movl -0xc0(%rbp), %eax
subl $0x5, %eax
je 0x10950e
jmp 0x1093b1
movl -0xc0(%rbp), %eax
subl $0x6, %eax
je 0x10960a
jmp 0x1093c2
movl -0xc0(%rbp), %eax
subl $0x9, %eax
je 0x1098ba
jmp 0x1093d3
movl -0xc0(%rbp), %eax
subl $0xa, %eax
je 0x10990e
jmp 0x1093e4
movl -0xc0(%rbp), %eax
subl $0xf, %eax
je 0x109b19
jmp 0x1093f5
movl -0xc0(%rbp), %eax
subl $0x10, %eax
je 0x109abc
jmp 0x109406
movl -0xc0(%rbp), %eax
subl $0x11, %eax
je 0x109a5f
jmp 0x109417
movl -0xc0(%rbp), %eax
subl $0x12, %eax
je 0x109b76
jmp 0x109428
movl -0xc0(%rbp), %eax
subl $0x13, %eax
je 0x109c30
jmp 0x109439
movl -0xc0(%rbp), %eax
subl $0x14, %eax
je 0x109bd3
jmp 0x10944a
movl -0xc0(%rbp), %eax
subl $0x16, %eax
je 0x109d00
jmp 0x10945b
movl -0xc0(%rbp), %eax
subl $0x18, %eax
je 0x109f01
jmp 0x10946c
movl -0xc0(%rbp), %eax
subl $0x1a, %eax
je 0x109ea4
jmp 0x10947d
movl -0xc0(%rbp), %eax
subl $0x1b, %eax
je 0x109f5e
jmp 0x10948e
movl -0xc0(%rbp), %eax
subl $0x1c, %eax
je 0x109e47
jmp 0x10949f
movl -0xc0(%rbp), %eax
subl $0x1d, %eax
je 0x109fbb
jmp 0x1094b0
movl -0xc0(%rbp), %eax
subl $0x2a, %eax
je 0x109562
jmp 0x1094c1
movl -0xc0(%rbp), %eax
subl $0x2b, %eax
je 0x10965e
jmp 0x1094d2
movl -0xc0(%rbp), %eax
subl $0x1148, %eax           # imm = 0x1148
je 0x1095b6
jmp 0x1094e5
movl -0xc0(%rbp), %eax
subl $0x1149, %eax           # imm = 0x1149
je 0x1096b2
jmp 0x1094f8
movl -0xc0(%rbp), %eax
subl $0x114a, %eax           # imm = 0x114A
je 0x109706
jmp 0x10a012
leaq -0x21(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0xe0(%rbp), %rdx
leaq 0x443d2(%rip), %rsi     # 0x14d905
callq 0x7520
jmp 0x10953a
leaq -0x21(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x21(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x35(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0xe8(%rbp), %rdx
leaq 0x4437e(%rip), %rsi     # 0x14d905
callq 0x7520
jmp 0x10958e
leaq -0x35(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x35(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x36(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0xf0(%rbp), %rdx
leaq 0x44334(%rip), %rsi     # 0x14d90f
callq 0x7520
jmp 0x1095e2
leaq -0x36(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x36(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x37(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0xf8(%rbp), %rdx
leaq 0x442ec(%rip), %rsi     # 0x14d91b
callq 0x7520
jmp 0x109636
leaq -0x37(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x37(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x38(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x100(%rbp), %rdx
leaq 0x44298(%rip), %rsi     # 0x14d91b
callq 0x7520
jmp 0x10968a
leaq -0x38(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x39(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x108(%rbp), %rdx
leaq 0x44250(%rip), %rsi     # 0x14d927
callq 0x7520
jmp 0x1096de
leaq -0x39(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x39(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
movb $0x1, -0x62(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0x118(%rbp)
leaq -0x61(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x7650
movq -0x110(%rbp), %rdx
leaq 0x43c71(%rip), %rsi     # 0x14d3aa
leaq -0x60(%rbp), %rdi
callq 0x7520
jmp 0x109744
movq -0x118(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x9c50
jmp 0x109756
movq -0x118(%rbp), %rdi
movb $0x0, -0x62(%rbp)
leaq 0xa4670(%rip), %rsi     # 0x1addd8
leaq -0xffadf(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0x10a082
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x10979c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x7708
leaq -0x61(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x62(%rbp)
jne 0x1097ad
jmp 0x1097b9
movq -0x118(%rbp), %rdi
callq 0x72c0
jmp 0x10a079
leaq -0x63(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x120(%rbp), %rdx
leaq 0x44152(%rip), %rsi     # 0x14d935
callq 0x7520
jmp 0x1097ea
leaq -0x63(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x63(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x64(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x128(%rbp), %rdx
leaq 0x4410c(%rip), %rsi     # 0x14d943
callq 0x7520
jmp 0x10983e
leaq -0x64(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x64(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x65(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x130(%rbp), %rdx
leaq 0x440c3(%rip), %rsi     # 0x14d94e
callq 0x7520
jmp 0x109892
leaq -0x65(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x65(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x66(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x138(%rbp), %rdx
leaq 0x44078(%rip), %rsi     # 0x14d957
callq 0x7520
jmp 0x1098e6
leaq -0x66(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x66(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
movq -0xc8(%rbp), %rdi
addq $0x7cc, %rdi            # imm = 0x7CC
movl $0x2, %esi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x1160d0
testb $0x1, %al
jne 0x109a02
movb $0x1, -0x8a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0x148(%rbp)
leaq -0x89(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x7650
movq -0x140(%rbp), %rdx
leaq 0x43a74(%rip), %rsi     # 0x14d3df
leaq -0x88(%rbp), %rdi
callq 0x7520
jmp 0x109979
movq -0x148(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x9c50
jmp 0x10998e
movq -0x148(%rbp), %rdi
movb $0x0, -0x8a(%rbp)
leaq 0xa4435(%rip), %rsi     # 0x1addd8
leaq -0xffd1a(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0x10a082
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1099da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x7708
leaq -0x89(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x8a(%rbp)
jne 0x1099f1
jmp 0x1099fd
movq -0x148(%rbp), %rdi
callq 0x72c0
jmp 0x10a079
leaq -0x8b(%rbp), %rdi
movq %rdi, -0x150(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x150(%rbp), %rdx
leaq 0x43f47(%rip), %rsi     # 0x14d971
callq 0x7520
jmp 0x109a31
leaq -0x8b(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x8b(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x8c(%rbp), %rdi
movq %rdi, -0x158(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x158(%rbp), %rdx
leaq 0x43eff(%rip), %rsi     # 0x14d986
callq 0x7520
jmp 0x109a8e
leaq -0x8c(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x8c(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x8d(%rbp), %rdi
movq %rdi, -0x160(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x160(%rbp), %rdx
leaq 0x43eaf(%rip), %rsi     # 0x14d993
callq 0x7520
jmp 0x109aeb
leaq -0x8d(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x8d(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x8e(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x168(%rbp), %rdx
leaq 0x43e0d(%rip), %rsi     # 0x14d94e
callq 0x7520
jmp 0x109b48
leaq -0x8e(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x8e(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x8f(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x170(%rbp), %rdx
leaq 0x43e01(%rip), %rsi     # 0x14d99f
callq 0x7520
jmp 0x109ba5
leaq -0x8f(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x8f(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0x90(%rbp), %rdi
movq %rdi, -0x178(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x178(%rbp), %rdx
leaq 0x43dae(%rip), %rsi     # 0x14d9a9
callq 0x7520
jmp 0x109c02
leaq -0x90(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
movb $0x1, -0xb2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0x188(%rbp)
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x7650
movq -0x180(%rbp), %rdx
leaq 0x43d4c(%rip), %rsi     # 0x14d9b5
leaq -0xb0(%rbp), %rdi
callq 0x7520
jmp 0x109c77
movq -0x188(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x9c50
jmp 0x109c8c
movq -0x188(%rbp), %rdi
movb $0x0, -0xb2(%rbp)
leaq 0xa4137(%rip), %rsi     # 0x1addd8
leaq -0x100018(%rip), %rdx   # 0x9c90
callq 0x7610
jmp 0x10a082
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x109cd8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x7708
leaq -0xb1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0xb2(%rbp)
jne 0x109cef
jmp 0x109cfb
movq -0x188(%rbp), %rdi
callq 0x72c0
jmp 0x10a079
movq -0x20(%rbp), %rdi
addq $0x60, %rdi
movl $0xe, %esi
callq 0xef50
testb $0x1, %al
jne 0x109d18
jmp 0x109d75
leaq -0xb3(%rbp), %rdi
movq %rdi, -0x190(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x190(%rbp), %rdx
leaq 0x43ca8(%rip), %rsi     # 0x14d9e8
callq 0x7520
jmp 0x109d47
leaq -0xb3(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb3(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
movq -0x20(%rbp), %rdi
addq $0x60, %rdi
movl $0xf, %esi
callq 0xef50
testb $0x1, %al
jne 0x109d8d
jmp 0x109dea
leaq -0xb4(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x198(%rbp), %rdx
leaq 0x43c42(%rip), %rsi     # 0x14d9f7
callq 0x7520
jmp 0x109dbc
leaq -0xb4(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb4(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0xb5(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x1a0(%rbp), %rdx
leaq 0x43bf1(%rip), %rsi     # 0x14da03
callq 0x7520
jmp 0x109e19
leaq -0xb5(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb5(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0xb6(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x1a8(%rbp), %rdx
leaq 0x43b9f(%rip), %rsi     # 0x14da0e
callq 0x7520
jmp 0x109e76
leaq -0xb6(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb6(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0xb7(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x1b0(%rbp), %rdx
leaq 0x43b5a(%rip), %rsi     # 0x14da26
callq 0x7520
jmp 0x109ed3
leaq -0xb7(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb7(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0xb8(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x1b8(%rbp), %rdx
leaq 0x43b1a(%rip), %rsi     # 0x14da43
callq 0x7520
jmp 0x109f30
leaq -0xb8(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x1c0(%rbp), %rdx
leaq 0x43ad3(%rip), %rsi     # 0x14da59
callq 0x7520
jmp 0x109f8d
leaq -0xb9(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb9(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0xba(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x1c8(%rbp), %rdx
leaq 0x43a95(%rip), %rsi     # 0x14da78
callq 0x7520
jmp 0x109fea
leaq -0xba(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xba(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
leaq -0xbb(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x7650
movq -0xd8(%rbp), %rdi
movq -0x1d0(%rbp), %rdx
leaq 0x43a5a(%rip), %rsi     # 0x14da94
callq 0x7520
jmp 0x10a041
leaq -0xbb(%rbp), %rdi
callq 0x73d0
jmp 0x10a069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xbb(%rbp), %rdi
callq 0x73d0
jmp 0x10a079
movq -0xd0(%rbp), %rax
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x7640
nopw %cs:(%rax,%rax)