1// TODO These arrays should be generated automatically or have instructions for re-creation.
2static constexpr uint8_t expected_asm_kThumb2[] = {
3    0x2D, 0xE9, 0xE0, 0x4D, 0x2D, 0xED, 0x10, 0x8A, 0x85, 0xB0, 0x00, 0x90,
4    0x1D, 0x91, 0x8D, 0xED, 0x1E, 0x0A, 0x1F, 0x92, 0x20, 0x93, 0x88, 0xB0,
5    0x08, 0xB0, 0x05, 0xB0, 0xBD, 0xEC, 0x10, 0x8A, 0xBD, 0xE8, 0xE0, 0x4D,
6    0xD9, 0xF8, 0x30, 0x80, 0x70, 0x47,
7};
8static constexpr uint8_t expected_cfi_kThumb2[] = {
9    0x44, 0x0E, 0x1C, 0x85, 0x07, 0x86, 0x06, 0x87, 0x05, 0x88, 0x04, 0x8A,
10    0x03, 0x8B, 0x02, 0x8E, 0x01, 0x44, 0x0E, 0x5C, 0x05, 0x50, 0x17, 0x05,
11    0x51, 0x16, 0x05, 0x52, 0x15, 0x05, 0x53, 0x14, 0x05, 0x54, 0x13, 0x05,
12    0x55, 0x12, 0x05, 0x56, 0x11, 0x05, 0x57, 0x10, 0x05, 0x58, 0x0F, 0x05,
13    0x59, 0x0E, 0x05, 0x5A, 0x0D, 0x05, 0x5B, 0x0C, 0x05, 0x5C, 0x0B, 0x05,
14    0x5D, 0x0A, 0x05, 0x5E, 0x09, 0x05, 0x5F, 0x08, 0x42, 0x0E, 0x70, 0x4E,
15    0x0E, 0x90, 0x01, 0x42, 0x0E, 0x70, 0x0A, 0x42, 0x0E, 0x5C, 0x44, 0x0E,
16    0x1C, 0x06, 0x50, 0x06, 0x51, 0x06, 0x52, 0x06, 0x53, 0x06, 0x54, 0x06,
17    0x55, 0x06, 0x56, 0x06, 0x57, 0x06, 0x58, 0x06, 0x59, 0x06, 0x5A, 0x06,
18    0x5B, 0x06, 0x5C, 0x06, 0x5D, 0x06, 0x5E, 0x06, 0x5F, 0x44, 0x0E, 0x00,
19    0xC5, 0xC6, 0xC7, 0xC8, 0xCA, 0xCB, 0xCE, 0x46, 0x0B, 0x0E, 0x70,
20};
21// 0x00000000: push {r5,r6,r7,r8,r10,r11,lr}
22// 0x00000004: .cfi_def_cfa_offset: 28
23// 0x00000004: .cfi_offset: r5 at cfa-28
24// 0x00000004: .cfi_offset: r6 at cfa-24
25// 0x00000004: .cfi_offset: r7 at cfa-20
26// 0x00000004: .cfi_offset: r8 at cfa-16
27// 0x00000004: .cfi_offset: r10 at cfa-12
28// 0x00000004: .cfi_offset: r11 at cfa-8
29// 0x00000004: .cfi_offset: r14 at cfa-4
30// 0x00000004: vpush {s16-s31}
31// 0x00000008: .cfi_def_cfa_offset: 92
32// 0x00000008: .cfi_offset_extended: r80 at cfa-92
33// 0x00000008: .cfi_offset_extended: r81 at cfa-88
34// 0x00000008: .cfi_offset_extended: r82 at cfa-84
35// 0x00000008: .cfi_offset_extended: r83 at cfa-80
36// 0x00000008: .cfi_offset_extended: r84 at cfa-76
37// 0x00000008: .cfi_offset_extended: r85 at cfa-72
38// 0x00000008: .cfi_offset_extended: r86 at cfa-68
39// 0x00000008: .cfi_offset_extended: r87 at cfa-64
40// 0x00000008: .cfi_offset_extended: r88 at cfa-60
41// 0x00000008: .cfi_offset_extended: r89 at cfa-56
42// 0x00000008: .cfi_offset_extended: r90 at cfa-52
43// 0x00000008: .cfi_offset_extended: r91 at cfa-48
44// 0x00000008: .cfi_offset_extended: r92 at cfa-44
45// 0x00000008: .cfi_offset_extended: r93 at cfa-40
46// 0x00000008: .cfi_offset_extended: r94 at cfa-36
47// 0x00000008: .cfi_offset_extended: r95 at cfa-32
48// 0x00000008: sub sp, #20
49// 0x0000000a: .cfi_def_cfa_offset: 112
50// 0x0000000a: str r0, [sp]
51// 0x0000000c: str r1, [sp, #116]
52// 0x0000000e: vstr s0, [sp, #120]
53// 0x00000012: str r2, [sp, #124]
54// 0x00000014: str r3, [sp, #128]
55// 0x00000016: sub sp, #32
56// 0x00000018: .cfi_def_cfa_offset: 144
57// 0x00000018: add sp, #32
58// 0x0000000a: .cfi_def_cfa_offset: 112
59// 0x0000001a: .cfi_remember_state
60// 0x0000001a: add sp, #20
61// 0x0000001c: .cfi_def_cfa_offset: 92
62// 0x0000001c: vpop {s16-s31}
63// 0x00000020: .cfi_def_cfa_offset: 28
64// 0x00000020: .cfi_restore_extended: r80
65// 0x00000020: .cfi_restore_extended: r81
66// 0x00000020: .cfi_restore_extended: r82
67// 0x00000020: .cfi_restore_extended: r83
68// 0x00000020: .cfi_restore_extended: r84
69// 0x00000020: .cfi_restore_extended: r85
70// 0x00000020: .cfi_restore_extended: r86
71// 0x00000020: .cfi_restore_extended: r87
72// 0x00000020: .cfi_restore_extended: r88
73// 0x00000020: .cfi_restore_extended: r89
74// 0x00000020: .cfi_restore_extended: r90
75// 0x00000020: .cfi_restore_extended: r91
76// 0x00000020: .cfi_restore_extended: r92
77// 0x00000020: .cfi_restore_extended: r93
78// 0x00000020: .cfi_restore_extended: r94
79// 0x00000020: .cfi_restore_extended: r95
80// 0x00000020: pop {r5,r6,r7,r8,r10,r11,lr}
81// 0x00000024: .cfi_def_cfa_offset: 0
82// 0x00000024: .cfi_restore: r5
83// 0x00000024: .cfi_restore: r6
84// 0x00000024: .cfi_restore: r7
85// 0x00000024: .cfi_restore: r8
86// 0x00000024: .cfi_restore: r10
87// 0x00000024: .cfi_restore: r11
88// 0x00000024: .cfi_restore: r14
89// 0x00000024: ldr r8, [tr, #48] ; is_gc_marking
90// 0x00000028: bx lr
91// 0x0000002a: .cfi_restore_state
92// 0x0000002a: .cfi_def_cfa_offset: 112
93
94static constexpr uint8_t expected_asm_kArm64[] = {
95    0xFF, 0xC3, 0x02, 0xD1, 0xF3, 0x53, 0x05, 0xA9, 0xF5, 0x5B, 0x06, 0xA9,
96    0xF7, 0x63, 0x07, 0xA9, 0xF9, 0x6B, 0x08, 0xA9, 0xFB, 0x73, 0x09, 0xA9,
97    0xFD, 0x7B, 0x0A, 0xA9, 0xE8, 0x27, 0x01, 0x6D, 0xEA, 0x2F, 0x02, 0x6D,
98    0xEC, 0x37, 0x03, 0x6D, 0xEE, 0x3F, 0x04, 0x6D, 0xE0, 0x03, 0x00, 0xF9,
99    0xE1, 0xBB, 0x00, 0xB9, 0xE0, 0xBF, 0x00, 0xBD, 0xE2, 0xC3, 0x00, 0xB9,
100    0xE3, 0xC7, 0x00, 0xB9, 0xFF, 0x83, 0x00, 0xD1, 0xFF, 0x83, 0x00, 0x91,
101    0xF3, 0x53, 0x45, 0xA9, 0xF5, 0x5B, 0x46, 0xA9, 0xF7, 0x63, 0x47, 0xA9,
102    0xF9, 0x6B, 0x48, 0xA9, 0xFB, 0x73, 0x49, 0xA9, 0xFD, 0x7B, 0x4A, 0xA9,
103    0xE8, 0x27, 0x41, 0x6D, 0xEA, 0x2F, 0x42, 0x6D, 0xEC, 0x37, 0x43, 0x6D,
104    0xEE, 0x3F, 0x44, 0x6D, 0x74, 0x32, 0x40, 0xB9, 0xFF, 0xC3, 0x02, 0x91,
105    0xC0, 0x03, 0x5F, 0xD6,
106};
107static constexpr uint8_t expected_cfi_kArm64[] = {
108    0x44, 0x0E, 0xB0, 0x01, 0x44, 0x93, 0x18, 0x94, 0x16, 0x44, 0x95, 0x14,
109    0x96, 0x12, 0x44, 0x97, 0x10, 0x98, 0x0E, 0x44, 0x99, 0x0C, 0x9A, 0x0A,
110    0x44, 0x9B, 0x08, 0x9C, 0x06, 0x44, 0x9D, 0x04, 0x9E, 0x02, 0x44, 0x05,
111    0x48, 0x28, 0x05, 0x49, 0x26, 0x44, 0x05, 0x4A, 0x24, 0x05, 0x4B, 0x22,
112    0x44, 0x05, 0x4C, 0x20, 0x05, 0x4D, 0x1E, 0x44, 0x05, 0x4E, 0x1C, 0x05,
113    0x4F, 0x1A, 0x58, 0x0E, 0xD0, 0x01, 0x44, 0x0E, 0xB0, 0x01, 0x0A, 0x44,
114    0xD3, 0xD4, 0x44, 0xD5, 0xD6, 0x44, 0xD7, 0xD8, 0x44, 0xD9, 0xDA, 0x44,
115    0xDB, 0xDC, 0x44, 0xDD, 0xDE, 0x44, 0x06, 0x48, 0x06, 0x49, 0x44, 0x06,
116    0x4A, 0x06, 0x4B, 0x44, 0x06, 0x4C, 0x06, 0x4D, 0x44, 0x06, 0x4E, 0x06,
117    0x4F, 0x48, 0x0E, 0x00, 0x44, 0x0B, 0x0E, 0xB0, 0x01,
118};
119// 0x00000000: sub sp, sp, #0xb0 (176)
120// 0x00000004: .cfi_def_cfa_offset: 176
121// 0x00000004: stp tr, x20, [sp, #80]
122// 0x00000008: .cfi_offset: r19 at cfa-96
123// 0x00000008: .cfi_offset: r20 at cfa-88
124// 0x00000008: stp x21, x22, [sp, #96]
125// 0x0000000c: .cfi_offset: r21 at cfa-80
126// 0x0000000c: .cfi_offset: r22 at cfa-72
127// 0x0000000c: stp x23, x24, [sp, #112]
128// 0x00000010: .cfi_offset: r23 at cfa-64
129// 0x00000010: .cfi_offset: r24 at cfa-56
130// 0x00000010: stp x25, x26, [sp, #128]
131// 0x00000014: .cfi_offset: r25 at cfa-48
132// 0x00000014: .cfi_offset: r26 at cfa-40
133// 0x00000014: stp x27, x28, [sp, #144]
134// 0x00000018: .cfi_offset: r27 at cfa-32
135// 0x00000018: .cfi_offset: r28 at cfa-24
136// 0x00000018: stp x29, lr, [sp, #160]
137// 0x0000001c: .cfi_offset: r29 at cfa-16
138// 0x0000001c: .cfi_offset: r30 at cfa-8
139// 0x0000001c: stp d8, d9, [sp, #16]
140// 0x00000020: .cfi_offset_extended: r72 at cfa-160
141// 0x00000020: .cfi_offset_extended: r73 at cfa-152
142// 0x00000020: stp d10, d11, [sp, #32]
143// 0x00000024: .cfi_offset_extended: r74 at cfa-144
144// 0x00000024: .cfi_offset_extended: r75 at cfa-136
145// 0x00000024: stp d12, d13, [sp, #48]
146// 0x00000028: .cfi_offset_extended: r76 at cfa-128
147// 0x00000028: .cfi_offset_extended: r77 at cfa-120
148// 0x00000028: stp d14, d15, [sp, #64]
149// 0x0000002c: .cfi_offset_extended: r78 at cfa-112
150// 0x0000002c: .cfi_offset_extended: r79 at cfa-104
151// 0x0000002c: str x0, [sp]
152// 0x00000030: str w1, [sp, #184]
153// 0x00000034: str s0, [sp, #188]
154// 0x00000038: str w2, [sp, #192]
155// 0x0000003c: str w3, [sp, #196]
156// 0x00000040: sub sp, sp, #0x20 (32)
157// 0x00000044: .cfi_def_cfa_offset: 208
158// 0x00000044: add sp, sp, #0x20 (32)
159// 0x00000048: .cfi_def_cfa_offset: 176
160// 0x00000048: .cfi_remember_state
161// 0x00000048: ldp tr, x20, [sp, #80]
162// 0x0000004c: .cfi_restore: r19
163// 0x0000004c: .cfi_restore: r20
164// 0x0000004c: ldp x21, x22, [sp, #96]
165// 0x00000050: .cfi_restore: r21
166// 0x00000050: .cfi_restore: r22
167// 0x00000050: ldp x23, x24, [sp, #112]
168// 0x00000054: .cfi_restore: r23
169// 0x00000054: .cfi_restore: r24
170// 0x00000054: ldp x25, x26, [sp, #128]
171// 0x00000058: .cfi_restore: r25
172// 0x00000058: .cfi_restore: r26
173// 0x00000058: ldp x27, x28, [sp, #144]
174// 0x0000005c: .cfi_restore: r27
175// 0x0000005c: .cfi_restore: r28
176// 0x0000005c: ldp x29, lr, [sp, #160]
177// 0x00000060: .cfi_restore: r29
178// 0x00000060: .cfi_restore: r30
179// 0x00000060: ldp d8, d9, [sp, #16]
180// 0x00000064: .cfi_restore_extended: r72
181// 0x00000064: .cfi_restore_extended: r73
182// 0x00000064: ldp d10, d11, [sp, #32]
183// 0x00000068: .cfi_restore_extended: r74
184// 0x00000068: .cfi_restore_extended: r75
185// 0x00000068: ldp d12, d13, [sp, #48]
186// 0x0000006c: .cfi_restore_extended: r76
187// 0x0000006c: .cfi_restore_extended: r77
188// 0x0000006c: ldp d14, d15, [sp, #64]
189// 0x00000070: .cfi_restore_extended: r78
190// 0x00000070: .cfi_restore_extended: r79
191// 0x00000070: ldr w20, [tr, #48] ; is_gc_marking
192// 0x00000074: add sp, sp, #0xb0 (176)
193// 0x00000078: .cfi_def_cfa_offset: 0
194// 0x00000078: ret
195// 0x0000007c: .cfi_restore_state
196// 0x0000007c: .cfi_def_cfa_offset: 176
197
198static constexpr uint8_t expected_asm_kX86[] = {
199    0x57, 0x56, 0x55, 0x83, 0xC4, 0xF4, 0x50, 0x89, 0x4C, 0x24, 0x24, 0xF3,
200    0x0F, 0x11, 0x44, 0x24, 0x28, 0x89, 0x54, 0x24, 0x2C, 0x89, 0x5C, 0x24,
201    0x30, 0x83, 0xC4, 0xE0, 0x83, 0xC4, 0x20, 0x83, 0xC4, 0x10, 0x5D, 0x5E,
202    0x5F, 0xC3,
203};
204static constexpr uint8_t expected_cfi_kX86[] = {
205    0x41, 0x0E, 0x08, 0x87, 0x02, 0x41, 0x0E, 0x0C, 0x86, 0x03, 0x41, 0x0E,
206    0x10, 0x85, 0x04, 0x43, 0x0E, 0x1C, 0x41, 0x0E, 0x20, 0x55, 0x0E, 0x40,
207    0x43, 0x0E, 0x20, 0x0A, 0x43, 0x0E, 0x10, 0x41, 0x0E, 0x0C, 0xC5, 0x41,
208    0x0E, 0x08, 0xC6, 0x41, 0x0E, 0x04, 0xC7, 0x41, 0x0B, 0x0E, 0x20,
209};
210// 0x00000000: push edi
211// 0x00000001: .cfi_def_cfa_offset: 8
212// 0x00000001: .cfi_offset: r7 at cfa-8
213// 0x00000001: push esi
214// 0x00000002: .cfi_def_cfa_offset: 12
215// 0x00000002: .cfi_offset: r6 at cfa-12
216// 0x00000002: push ebp
217// 0x00000003: .cfi_def_cfa_offset: 16
218// 0x00000003: .cfi_offset: r5 at cfa-16
219// 0x00000003: add esp, -12
220// 0x00000006: .cfi_def_cfa_offset: 28
221// 0x00000006: push eax
222// 0x00000007: .cfi_def_cfa_offset: 32
223// 0x00000007: mov [esp + 36], ecx
224// 0x0000000b: movss [esp + 40], xmm0
225// 0x00000011: mov [esp + 44], edx
226// 0x00000015: mov [esp + 48], ebx
227// 0x00000019: add esp, -32
228// 0x0000001c: .cfi_def_cfa_offset: 64
229// 0x0000001c: add esp, 32
230// 0x0000001f: .cfi_def_cfa_offset: 32
231// 0x0000001f: .cfi_remember_state
232// 0x0000001f: add esp, 16
233// 0x00000022: .cfi_def_cfa_offset: 16
234// 0x00000022: pop ebp
235// 0x00000023: .cfi_def_cfa_offset: 12
236// 0x00000023: .cfi_restore: r5
237// 0x00000023: pop esi
238// 0x00000024: .cfi_def_cfa_offset: 8
239// 0x00000024: .cfi_restore: r6
240// 0x00000024: pop edi
241// 0x00000025: .cfi_def_cfa_offset: 4
242// 0x00000025: .cfi_restore: r7
243// 0x00000025: ret
244// 0x00000026: .cfi_restore_state
245// 0x00000026: .cfi_def_cfa_offset: 32
246
247static constexpr uint8_t expected_asm_kX86_64[] = {
248    0x41, 0x57, 0x41, 0x56, 0x41, 0x55, 0x41, 0x54, 0x55, 0x53, 0x48, 0x83,
249    0xEC, 0x38, 0xF2, 0x44, 0x0F, 0x11, 0x7C, 0x24, 0x30, 0xF2, 0x44, 0x0F,
250    0x11, 0x74, 0x24, 0x28, 0xF2, 0x44, 0x0F, 0x11, 0x6C, 0x24, 0x20, 0xF2,
251    0x44, 0x0F, 0x11, 0x64, 0x24, 0x18, 0x48, 0x89, 0x3C, 0x24, 0x89, 0x74,
252    0x24, 0x78, 0xF3, 0x0F, 0x11, 0x44, 0x24, 0x7C, 0x89, 0x94, 0x24, 0x80,
253    0x00, 0x00, 0x00, 0x89, 0x8C, 0x24, 0x84, 0x00, 0x00, 0x00, 0x48, 0x83,
254    0xC4, 0xE0, 0x48, 0x83, 0xC4, 0x20, 0xF2, 0x44, 0x0F, 0x10, 0x64, 0x24,
255    0x18, 0xF2, 0x44, 0x0F, 0x10, 0x6C, 0x24, 0x20, 0xF2, 0x44, 0x0F, 0x10,
256    0x74, 0x24, 0x28, 0xF2, 0x44, 0x0F, 0x10, 0x7C, 0x24, 0x30, 0x48, 0x83,
257    0xC4, 0x38, 0x5B, 0x5D, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, 0x5F,
258    0xC3,
259};
260static constexpr uint8_t expected_cfi_kX86_64[] = {
261    0x42, 0x0E, 0x10, 0x8F, 0x04, 0x42, 0x0E, 0x18, 0x8E, 0x06, 0x42, 0x0E,
262    0x20, 0x8D, 0x08, 0x42, 0x0E, 0x28, 0x8C, 0x0A, 0x41, 0x0E, 0x30, 0x86,
263    0x0C, 0x41, 0x0E, 0x38, 0x83, 0x0E, 0x44, 0x0E, 0x70, 0x47, 0xA0, 0x10,
264    0x47, 0x9F, 0x12, 0x47, 0x9E, 0x14, 0x47, 0x9D, 0x16, 0x60, 0x0E, 0x90,
265    0x01, 0x44, 0x0E, 0x70, 0x0A, 0x47, 0xDD, 0x47, 0xDE, 0x47, 0xDF, 0x47,
266    0xE0, 0x44, 0x0E, 0x38, 0x41, 0x0E, 0x30, 0xC3, 0x41, 0x0E, 0x28, 0xC6,
267    0x42, 0x0E, 0x20, 0xCC, 0x42, 0x0E, 0x18, 0xCD, 0x42, 0x0E, 0x10, 0xCE,
268    0x42, 0x0E, 0x08, 0xCF, 0x41, 0x0B, 0x0E, 0x70,
269};
270// 0x00000000: push r15
271// 0x00000002: .cfi_def_cfa_offset: 16
272// 0x00000002: .cfi_offset: r15 at cfa-16
273// 0x00000002: push r14
274// 0x00000004: .cfi_def_cfa_offset: 24
275// 0x00000004: .cfi_offset: r14 at cfa-24
276// 0x00000004: push r13
277// 0x00000006: .cfi_def_cfa_offset: 32
278// 0x00000006: .cfi_offset: r13 at cfa-32
279// 0x00000006: push r12
280// 0x00000008: .cfi_def_cfa_offset: 40
281// 0x00000008: .cfi_offset: r12 at cfa-40
282// 0x00000008: push rbp
283// 0x00000009: .cfi_def_cfa_offset: 48
284// 0x00000009: .cfi_offset: r6 at cfa-48
285// 0x00000009: push rbx
286// 0x0000000a: .cfi_def_cfa_offset: 56
287// 0x0000000a: .cfi_offset: r3 at cfa-56
288// 0x0000000a: subq rsp, 56
289// 0x0000000e: .cfi_def_cfa_offset: 112
290// 0x0000000e: movsd [rsp + 48], xmm15
291// 0x00000015: .cfi_offset: r32 at cfa-64
292// 0x00000015: movsd [rsp + 40], xmm14
293// 0x0000001c: .cfi_offset: r31 at cfa-72
294// 0x0000001c: movsd [rsp + 32], xmm13
295// 0x00000023: .cfi_offset: r30 at cfa-80
296// 0x00000023: movsd [rsp + 24], xmm12
297// 0x0000002a: .cfi_offset: r29 at cfa-88
298// 0x0000002a: movq [rsp], rdi
299// 0x0000002e: mov [rsp + 120], esi
300// 0x00000032: movss [rsp + 124], xmm0
301// 0x00000038: mov [rsp + 128], edx
302// 0x0000003f: mov [rsp + 132], ecx
303// 0x00000046: addq rsp, -32
304// 0x0000004a: .cfi_def_cfa_offset: 144
305// 0x0000004a: addq rsp, 32
306// 0x0000004e: .cfi_def_cfa_offset: 112
307// 0x0000004e: .cfi_remember_state
308// 0x0000004e: movsd xmm12, [rsp + 24]
309// 0x00000055: .cfi_restore: r29
310// 0x00000055: movsd xmm13, [rsp + 32]
311// 0x0000005c: .cfi_restore: r30
312// 0x0000005c: movsd xmm14, [rsp + 40]
313// 0x00000063: .cfi_restore: r31
314// 0x00000063: movsd xmm15, [rsp + 48]
315// 0x0000006a: .cfi_restore: r32
316// 0x0000006a: addq rsp, 56
317// 0x0000006e: .cfi_def_cfa_offset: 56
318// 0x0000006e: pop rbx
319// 0x0000006f: .cfi_def_cfa_offset: 48
320// 0x0000006f: .cfi_restore: r3
321// 0x0000006f: pop rbp
322// 0x00000070: .cfi_def_cfa_offset: 40
323// 0x00000070: .cfi_restore: r6
324// 0x00000070: pop r12
325// 0x00000072: .cfi_def_cfa_offset: 32
326// 0x00000072: .cfi_restore: r12
327// 0x00000072: pop r13
328// 0x00000074: .cfi_def_cfa_offset: 24
329// 0x00000074: .cfi_restore: r13
330// 0x00000074: pop r14
331// 0x00000076: .cfi_def_cfa_offset: 16
332// 0x00000076: .cfi_restore: r14
333// 0x00000076: pop r15
334// 0x00000078: .cfi_def_cfa_offset: 8
335// 0x00000078: .cfi_restore: r15
336// 0x00000078: ret
337// 0x00000079: .cfi_restore_state
338// 0x00000079: .cfi_def_cfa_offset: 112
339
340