1 package amd64
2
3 import (
4 "fmt"
5 "math"
6 "testing"
7
8 "github.com/tetratelabs/wazero/internal/asm"
9 "github.com/tetratelabs/wazero/internal/testing/require"
10 )
11
12 func TestAssemblerImpl_Assemble_NOPPadding(t *testing.T) {
13 t.Run("non relative jumps", func(t *testing.T) {
14 tests := []struct {
15 name string
16 setupFn func(assembler Assembler)
17 expected []byte
18 }{
19 {
20 name: "RET",
21 setupFn: func(assembler Assembler) {
22 for i := 0; i < 128; i++ {
23 assembler.CompileStandAlone(RET)
24 }
25 },
26 expected: []byte{
27 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
28 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x90,
29 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
30 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x90, 0xc3, 0xc3,
31 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
32 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x90, 0xc3, 0xc3, 0xc3, 0xc3,
33 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
34 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x90, 0xc3, 0xc3, 0xc3, 0xc3,
35 },
36 },
37 {
38 name: "JMP to register",
39 setupFn: func(assembler Assembler) {
40 for i := 0; i < 128; i++ {
41 assembler.CompileJumpToRegister(JMP, RegAX)
42 }
43 },
44 expected: []byte{
45 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff,
46 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
47 0x66, 0x90, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff,
48 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
49 0xff, 0xe0, 0x66, 0x90, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff,
50 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
51 0xff, 0xe0, 0xff, 0xe0, 0x66, 0x90, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff,
52 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
53 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0x66, 0x90, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff,
54 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
55 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0x66, 0x90, 0xff, 0xe0, 0xff, 0xe0, 0xff,
56 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
57 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0x66, 0x90, 0xff, 0xe0, 0xff,
58 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
59 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0x66, 0x90, 0xff,
60 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
61 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0x66,
62 0x90, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0,
63 0xff, 0xe0,
64 },
65 },
66 {
67 name: "JMP to memory",
68 setupFn: func(assembler Assembler) {
69 for i := 0; i < 128; i++ {
70 assembler.CompileJumpToMemory(JMP, RegAX, 10)
71 }
72 },
73 expected: []byte{
74 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
75 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
76 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff,
77 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
78 0xff, 0x60, 0xa, 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff,
79 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff,
80 0x60, 0xa, 0xff, 0x60, 0xa, 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60,
81 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60,
82 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
83 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
84 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0x66, 0x90, 0xff, 0x60, 0xa, 0xff,
85 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff,
86 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0x66, 0x90, 0xff, 0x60,
87 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60,
88 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0x66, 0x90,
89 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
90 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
91 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff,
92 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff,
93 0x60, 0xa, 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60,
94 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60,
95 0xa, 0xff, 0x60, 0xa, 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
96 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa,
97 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff,
98 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff,
99 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0x66, 0x90, 0xff, 0x60, 0xa, 0xff, 0x60,
100 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60, 0xa, 0xff, 0x60,
101 0xa, 0xff, 0x60, 0xa,
102 },
103 },
104 {
105 name: "JMP to memory large offset",
106 setupFn: func(assembler Assembler) {
107 for i := 0; i < 128; i++ {
108 assembler.CompileJumpToMemory(JMP, RegAX, math.MaxInt32)
109 }
110 },
111 expected: []byte{
112 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
113 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
114 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
115 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
116 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
117 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
118 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
119 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
120 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
121 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
122 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
123 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
124 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
125 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
126 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
127 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
128 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
129 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
130 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
131 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
132 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
133 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
134 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
135 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
136 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
137 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
138 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
139 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
140 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
141 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
142 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
143 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
144 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
145 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
146 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
147 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
148 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
149 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
150 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
151 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
152 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
153 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
154 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
155 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
156 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
157 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
158 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
159 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
160 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
161 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0x66, 0x90,
162 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xa0, 0xff, 0xff,
163 0xff, 0x7f,
164 },
165 },
166 }
167
168 for _, tt := range tests {
169 tc := tt
170 t.Run(tc.name, func(t *testing.T) {
171 code := asm.CodeSegment{}
172 defer func() { require.NoError(t, code.Unmap()) }()
173
174 a := NewAssembler()
175 tc.setupFn(a)
176
177 buf := code.NextCodeSection()
178 err := a.Assemble(buf)
179 require.NoError(t, err)
180
181 actual := buf.Bytes()
182 require.Equal(t, tc.expected, actual)
183 })
184 }
185 })
186
187 t.Run("relative jumps", func(t *testing.T) {
188 tests := []struct {
189 jmpInst asm.Instruction
190 backward bool
191 exp []byte
192 }{
193 {
194 backward: false, jmpInst: JMP, exp: []byte{
195 0xc3, 0xe9, 0xe4, 0x1, 0x0, 0x0, 0xe9, 0xdf, 0x1, 0x0, 0x0, 0xe9, 0xda, 0x1, 0x0, 0x0, 0xe9, 0xd5,
196 0x1, 0x0, 0x0, 0xe9, 0xd0, 0x1, 0x0, 0x0, 0xe9, 0xcb, 0x1, 0x0, 0x0, 0x90, 0xe9, 0xc5, 0x1, 0x0,
197 0x0, 0xe9, 0xc0, 0x1, 0x0, 0x0, 0xe9, 0xbb, 0x1, 0x0, 0x0, 0xe9, 0xb6, 0x1, 0x0, 0x0, 0xe9, 0xb1,
198 0x1, 0x0, 0x0, 0xe9, 0xac, 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0xa5, 0x1, 0x0, 0x0, 0xe9, 0xa0, 0x1,
199 0x0, 0x0, 0xe9, 0x9b, 0x1, 0x0, 0x0, 0xe9, 0x96, 0x1, 0x0, 0x0, 0xe9, 0x91, 0x1, 0x0, 0x0, 0xe9,
200 0x8c, 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0x85, 0x1, 0x0, 0x0, 0xe9, 0x80, 0x1, 0x0, 0x0, 0xe9, 0x7b,
201 0x1, 0x0, 0x0, 0xe9, 0x76, 0x1, 0x0, 0x0, 0xe9, 0x71, 0x1, 0x0, 0x0, 0xe9, 0x6c, 0x1, 0x0, 0x0,
202 0x66, 0x90, 0xe9, 0x65, 0x1, 0x0, 0x0, 0xe9, 0x60, 0x1, 0x0, 0x0, 0xe9, 0x5b, 0x1, 0x0, 0x0, 0xe9,
203 0x56, 0x1, 0x0, 0x0, 0xe9, 0x51, 0x1, 0x0, 0x0, 0xe9, 0x4c, 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0x45,
204 0x1, 0x0, 0x0, 0xe9, 0x40, 0x1, 0x0, 0x0, 0xe9, 0x3b, 0x1, 0x0, 0x0, 0xe9, 0x36, 0x1, 0x0, 0x0, 0xe9,
205 0x31, 0x1, 0x0, 0x0, 0xe9, 0x2c, 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0x25, 0x1, 0x0, 0x0, 0xe9, 0x20, 0x1,
206 0x0, 0x0, 0xe9, 0x1b, 0x1, 0x0, 0x0, 0xe9, 0x16, 0x1, 0x0, 0x0, 0xe9, 0x11, 0x1, 0x0, 0x0, 0xe9, 0xc,
207 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0x5, 0x1, 0x0, 0x0, 0xe9, 0x0, 0x1, 0x0, 0x0, 0xe9, 0xfb, 0x0, 0x0,
208 0x0, 0xe9, 0xf6, 0x0, 0x0, 0x0, 0xe9, 0xf1, 0x0, 0x0, 0x0, 0xe9, 0xec, 0x0, 0x0, 0x0, 0x66, 0x90, 0xe9,
209 0xe5, 0x0, 0x0, 0x0, 0xe9, 0xe0, 0x0, 0x0, 0x0, 0xe9, 0xdb, 0x0, 0x0, 0x0, 0xe9, 0xd6, 0x0, 0x0, 0x0,
210 0xe9, 0xd1, 0x0, 0x0, 0x0, 0xe9, 0xcc, 0x0, 0x0, 0x0, 0x66, 0x90, 0xe9, 0xc5, 0x0, 0x0, 0x0, 0xe9, 0xc0,
211 0x0, 0x0, 0x0, 0xe9, 0xbb, 0x0, 0x0, 0x0, 0xe9, 0xb6, 0x0, 0x0, 0x0, 0xe9, 0xb1, 0x0, 0x0, 0x0, 0xe9,
212 0xac, 0x0, 0x0, 0x0, 0x66, 0x90, 0xe9, 0xa5, 0x0, 0x0, 0x0, 0xe9, 0xa0, 0x0, 0x0, 0x0, 0xe9, 0x9b, 0x0,
213 0x0, 0x0, 0xe9, 0x96, 0x0, 0x0, 0x0, 0xe9, 0x91, 0x0, 0x0, 0x0, 0xe9, 0x8c, 0x0, 0x0, 0x0, 0x66, 0x90,
214 0xe9, 0x85, 0x0, 0x0, 0x0, 0xe9, 0x80, 0x0, 0x0, 0x0, 0xeb, 0x7e, 0xeb, 0x7c, 0xeb, 0x7a, 0xeb, 0x78, 0xeb,
215 0x76, 0xeb, 0x74, 0xeb, 0x72, 0xeb, 0x70, 0xeb, 0x6e, 0xeb, 0x6c, 0x66, 0x90, 0xeb, 0x68, 0xeb, 0x66, 0xeb, 0x64,
216 0xeb, 0x62, 0xeb, 0x60, 0xeb, 0x5e, 0xeb, 0x5c, 0xeb, 0x5a, 0xeb, 0x58, 0xeb, 0x56, 0xeb, 0x54, 0xeb, 0x52, 0xeb,
217 0x50, 0xeb, 0x4e, 0xeb, 0x4c, 0x66, 0x90, 0xeb, 0x48, 0xeb, 0x46, 0xeb, 0x44, 0xeb, 0x42, 0xeb, 0x40, 0xeb, 0x3e,
218 0xeb, 0x3c, 0xeb, 0x3a, 0xeb, 0x38, 0xeb, 0x36, 0xeb, 0x34, 0xeb, 0x32, 0xeb, 0x30, 0xeb, 0x2e, 0xeb, 0x2c,
219 0x66, 0x90, 0xeb, 0x28, 0xeb, 0x26, 0xeb, 0x24, 0xeb, 0x22, 0xeb, 0x20, 0xeb, 0x1e, 0xeb, 0x1c, 0xeb,
220 0x1a, 0xeb, 0x18, 0xeb, 0x16, 0xeb, 0x14, 0xeb, 0x12, 0xeb, 0x10, 0xeb, 0xe, 0xeb, 0xc, 0x66, 0x90,
221 0xeb, 0x8, 0xeb, 0x6, 0xeb, 0x4, 0xeb, 0x2, 0xeb, 0x0, 0xc3,
222 },
223 },
224 {
225 backward: false, jmpInst: JCC, exp: []byte{
226 0xc3, 0xf, 0x83, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x83, 0x25, 0x2, 0x0, 0x0, 0xf, 0x83, 0x1f, 0x2, 0x0,
227 0x0, 0xf, 0x83, 0x19, 0x2, 0x0, 0x0, 0xf, 0x83, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x83, 0xc, 0x2,
228 0x0, 0x0, 0xf, 0x83, 0x6, 0x2, 0x0, 0x0, 0xf, 0x83, 0x0, 0x2, 0x0, 0x0, 0xf, 0x83, 0xfa, 0x1,
229 0x0, 0x0, 0xf, 0x83, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xec, 0x1, 0x0, 0x0, 0xf, 0x83,
230 0xe6, 0x1, 0x0, 0x0, 0xf, 0x83, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x83, 0xda, 0x1, 0x0, 0x0, 0xf, 0x83,
231 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x83, 0xc6, 0x1, 0x0, 0x0,
232 0xf, 0x83, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x83, 0xba, 0x1, 0x0, 0x0, 0xf, 0x83, 0xb4, 0x1, 0x0, 0x0,
233 0x66, 0x90, 0xf, 0x83, 0xac, 0x1, 0x0, 0x0, 0xf, 0x83, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x83, 0xa0, 0x1,
234 0x0, 0x0, 0xf, 0x83, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x83, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83,
235 0x8c, 0x1, 0x0, 0x0, 0xf, 0x83, 0x86, 0x1, 0x0, 0x0, 0xf, 0x83, 0x80, 0x1, 0x0, 0x0, 0xf, 0x83, 0x7a,
236 0x1, 0x0, 0x0, 0xf, 0x83, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x83,
237 0x66, 0x1, 0x0, 0x0, 0xf, 0x83, 0x60, 0x1, 0x0, 0x0, 0xf, 0x83, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x83, 0x54,
238 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x83, 0x46, 0x1, 0x0, 0x0, 0xf, 0x83,
239 0x40, 0x1, 0x0, 0x0, 0xf, 0x83, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x83, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
240 0x83, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x83, 0x26, 0x1, 0x0, 0x0, 0xf, 0x83, 0x20, 0x1, 0x0, 0x0, 0xf, 0x83,
241 0x1a, 0x1, 0x0, 0x0, 0xf, 0x83, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xc, 0x1, 0x0, 0x0, 0xf,
242 0x83, 0x6, 0x1, 0x0, 0x0, 0xf, 0x83, 0x0, 0x1, 0x0, 0x0, 0xf, 0x83, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x83,
243 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xec, 0x0, 0x0, 0x0, 0xf, 0x83, 0xe6, 0x0, 0x0, 0x0, 0xf,
244 0x83, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x83, 0xda, 0x0, 0x0, 0x0, 0xf, 0x83, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
245 0xf, 0x83, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x83, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x83, 0xc0, 0x0, 0x0, 0x0, 0xf,
246 0x83, 0xba, 0x0, 0x0, 0x0, 0xf, 0x83, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xac, 0x0, 0x0, 0x0,
247 0xf, 0x83, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x83, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x83, 0x9a, 0x0, 0x0, 0x0, 0xf,
248 0x83, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x83, 0x86, 0x0, 0x0, 0x0,
249 0xf, 0x83, 0x80, 0x0, 0x0, 0x0, 0x73, 0x7e, 0x73, 0x7c, 0x73, 0x7a, 0x73, 0x78, 0x73, 0x76, 0x73, 0x74,
250 0x66, 0x90, 0x73, 0x70, 0x73, 0x6e, 0x73, 0x6c, 0x73, 0x6a, 0x73, 0x68, 0x73, 0x66, 0x73, 0x64, 0x73,
251 0x62, 0x73, 0x60, 0x73, 0x5e, 0x73, 0x5c, 0x73, 0x5a, 0x73, 0x58, 0x73, 0x56, 0x73, 0x54, 0x66, 0x90,
252 0x73, 0x50, 0x73, 0x4e, 0x73, 0x4c, 0x73, 0x4a, 0x73, 0x48, 0x73, 0x46, 0x73, 0x44, 0x73, 0x42, 0x73,
253 0x40, 0x73, 0x3e, 0x73, 0x3c, 0x73, 0x3a, 0x73, 0x38, 0x73, 0x36, 0x73, 0x34, 0x66, 0x90, 0x73, 0x30,
254 0x73, 0x2e, 0x73, 0x2c, 0x73, 0x2a, 0x73, 0x28, 0x73, 0x26, 0x73, 0x24, 0x73, 0x22, 0x73, 0x20, 0x73,
255 0x1e, 0x73, 0x1c, 0x73, 0x1a, 0x73, 0x18, 0x73, 0x16, 0x73, 0x14, 0x66, 0x90, 0x73, 0x10, 0x73, 0xe,
256 0x73, 0xc, 0x73, 0xa, 0x73, 0x8, 0x73, 0x6, 0x73, 0x4, 0x73, 0x2, 0x73, 0x0, 0xc3,
257 },
258 },
259 {
260 backward: false, jmpInst: JCS, exp: []byte{
261 0xc3, 0xf, 0x82, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x82, 0x25, 0x2, 0x0, 0x0, 0xf, 0x82, 0x1f, 0x2, 0x0,
262 0x0, 0xf, 0x82, 0x19, 0x2, 0x0, 0x0, 0xf, 0x82, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x82, 0xc, 0x2,
263 0x0, 0x0, 0xf, 0x82, 0x6, 0x2, 0x0, 0x0, 0xf, 0x82, 0x0, 0x2, 0x0, 0x0, 0xf, 0x82, 0xfa, 0x1,
264 0x0, 0x0, 0xf, 0x82, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xec, 0x1, 0x0, 0x0, 0xf, 0x82,
265 0xe6, 0x1, 0x0, 0x0, 0xf, 0x82, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x82, 0xda, 0x1, 0x0, 0x0, 0xf, 0x82,
266 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x82, 0xc6, 0x1, 0x0, 0x0,
267 0xf, 0x82, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x82, 0xba, 0x1, 0x0, 0x0, 0xf, 0x82, 0xb4, 0x1, 0x0, 0x0,
268 0x66, 0x90, 0xf, 0x82, 0xac, 0x1, 0x0, 0x0, 0xf, 0x82, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x82, 0xa0, 0x1,
269 0x0, 0x0, 0xf, 0x82, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x82, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82,
270 0x8c, 0x1, 0x0, 0x0, 0xf, 0x82, 0x86, 0x1, 0x0, 0x0, 0xf, 0x82, 0x80, 0x1, 0x0, 0x0, 0xf, 0x82, 0x7a,
271 0x1, 0x0, 0x0, 0xf, 0x82, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x82,
272 0x66, 0x1, 0x0, 0x0, 0xf, 0x82, 0x60, 0x1, 0x0, 0x0, 0xf, 0x82, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x82, 0x54,
273 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x82, 0x46, 0x1, 0x0, 0x0, 0xf, 0x82,
274 0x40, 0x1, 0x0, 0x0, 0xf, 0x82, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x82, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
275 0x82, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x82, 0x26, 0x1, 0x0, 0x0, 0xf, 0x82, 0x20, 0x1, 0x0, 0x0, 0xf, 0x82,
276 0x1a, 0x1, 0x0, 0x0, 0xf, 0x82, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xc, 0x1, 0x0, 0x0, 0xf,
277 0x82, 0x6, 0x1, 0x0, 0x0, 0xf, 0x82, 0x0, 0x1, 0x0, 0x0, 0xf, 0x82, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x82,
278 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xec, 0x0, 0x0, 0x0, 0xf, 0x82, 0xe6, 0x0, 0x0, 0x0, 0xf,
279 0x82, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x82, 0xda, 0x0, 0x0, 0x0, 0xf, 0x82, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
280 0xf, 0x82, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x82, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x82, 0xc0, 0x0, 0x0, 0x0, 0xf,
281 0x82, 0xba, 0x0, 0x0, 0x0, 0xf, 0x82, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xac, 0x0, 0x0, 0x0,
282 0xf, 0x82, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x82, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x82, 0x9a, 0x0, 0x0, 0x0, 0xf,
283 0x82, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x82, 0x86, 0x0, 0x0, 0x0,
284 0xf, 0x82, 0x80, 0x0, 0x0, 0x0, 0x72, 0x7e, 0x72, 0x7c, 0x72, 0x7a, 0x72, 0x78, 0x72, 0x76, 0x72, 0x74,
285 0x66, 0x90, 0x72, 0x70, 0x72, 0x6e, 0x72, 0x6c, 0x72, 0x6a, 0x72, 0x68, 0x72, 0x66, 0x72, 0x64, 0x72,
286 0x62, 0x72, 0x60, 0x72, 0x5e, 0x72, 0x5c, 0x72, 0x5a, 0x72, 0x58, 0x72, 0x56, 0x72, 0x54, 0x66, 0x90,
287 0x72, 0x50, 0x72, 0x4e, 0x72, 0x4c, 0x72, 0x4a, 0x72, 0x48, 0x72, 0x46, 0x72, 0x44, 0x72, 0x42, 0x72,
288 0x40, 0x72, 0x3e, 0x72, 0x3c, 0x72, 0x3a, 0x72, 0x38, 0x72, 0x36, 0x72, 0x34, 0x66, 0x90, 0x72, 0x30,
289 0x72, 0x2e, 0x72, 0x2c, 0x72, 0x2a, 0x72, 0x28, 0x72, 0x26, 0x72, 0x24, 0x72, 0x22, 0x72, 0x20, 0x72,
290 0x1e, 0x72, 0x1c, 0x72, 0x1a, 0x72, 0x18, 0x72, 0x16, 0x72, 0x14, 0x66, 0x90, 0x72, 0x10, 0x72, 0xe,
291 0x72, 0xc, 0x72, 0xa, 0x72, 0x8, 0x72, 0x6, 0x72, 0x4, 0x72, 0x2, 0x72, 0x0, 0xc3,
292 },
293 },
294 {
295 backward: false, jmpInst: JEQ, exp: []byte{
296 0xc3, 0xf, 0x84, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x84, 0x25, 0x2, 0x0, 0x0, 0xf, 0x84, 0x1f, 0x2, 0x0,
297 0x0, 0xf, 0x84, 0x19, 0x2, 0x0, 0x0, 0xf, 0x84, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x84, 0xc, 0x2,
298 0x0, 0x0, 0xf, 0x84, 0x6, 0x2, 0x0, 0x0, 0xf, 0x84, 0x0, 0x2, 0x0, 0x0, 0xf, 0x84, 0xfa, 0x1,
299 0x0, 0x0, 0xf, 0x84, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xec, 0x1, 0x0, 0x0, 0xf, 0x84,
300 0xe6, 0x1, 0x0, 0x0, 0xf, 0x84, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x84, 0xda, 0x1, 0x0, 0x0, 0xf, 0x84,
301 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x84, 0xc6, 0x1, 0x0, 0x0,
302 0xf, 0x84, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x84, 0xba, 0x1, 0x0, 0x0, 0xf, 0x84, 0xb4, 0x1, 0x0, 0x0,
303 0x66, 0x90, 0xf, 0x84, 0xac, 0x1, 0x0, 0x0, 0xf, 0x84, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x84, 0xa0, 0x1,
304 0x0, 0x0, 0xf, 0x84, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x84, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84,
305 0x8c, 0x1, 0x0, 0x0, 0xf, 0x84, 0x86, 0x1, 0x0, 0x0, 0xf, 0x84, 0x80, 0x1, 0x0, 0x0, 0xf, 0x84, 0x7a,
306 0x1, 0x0, 0x0, 0xf, 0x84, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x84,
307 0x66, 0x1, 0x0, 0x0, 0xf, 0x84, 0x60, 0x1, 0x0, 0x0, 0xf, 0x84, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x84, 0x54,
308 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x84, 0x46, 0x1, 0x0, 0x0, 0xf, 0x84,
309 0x40, 0x1, 0x0, 0x0, 0xf, 0x84, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x84, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
310 0x84, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x84, 0x26, 0x1, 0x0, 0x0, 0xf, 0x84, 0x20, 0x1, 0x0, 0x0, 0xf, 0x84,
311 0x1a, 0x1, 0x0, 0x0, 0xf, 0x84, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xc, 0x1, 0x0, 0x0, 0xf,
312 0x84, 0x6, 0x1, 0x0, 0x0, 0xf, 0x84, 0x0, 0x1, 0x0, 0x0, 0xf, 0x84, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x84,
313 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xec, 0x0, 0x0, 0x0, 0xf, 0x84, 0xe6, 0x0, 0x0, 0x0, 0xf,
314 0x84, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x84, 0xda, 0x0, 0x0, 0x0, 0xf, 0x84, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
315 0xf, 0x84, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x84, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x84, 0xc0, 0x0, 0x0, 0x0, 0xf,
316 0x84, 0xba, 0x0, 0x0, 0x0, 0xf, 0x84, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xac, 0x0, 0x0, 0x0,
317 0xf, 0x84, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x84, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x84, 0x9a, 0x0, 0x0, 0x0, 0xf,
318 0x84, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x84, 0x86, 0x0, 0x0, 0x0,
319 0xf, 0x84, 0x80, 0x0, 0x0, 0x0, 0x74, 0x7e, 0x74, 0x7c, 0x74, 0x7a, 0x74, 0x78, 0x74, 0x76, 0x74, 0x74,
320 0x66, 0x90, 0x74, 0x70, 0x74, 0x6e, 0x74, 0x6c, 0x74, 0x6a, 0x74, 0x68, 0x74, 0x66, 0x74, 0x64, 0x74,
321 0x62, 0x74, 0x60, 0x74, 0x5e, 0x74, 0x5c, 0x74, 0x5a, 0x74, 0x58, 0x74, 0x56, 0x74, 0x54, 0x66, 0x90,
322 0x74, 0x50, 0x74, 0x4e, 0x74, 0x4c, 0x74, 0x4a, 0x74, 0x48, 0x74, 0x46, 0x74, 0x44, 0x74, 0x42, 0x74,
323 0x40, 0x74, 0x3e, 0x74, 0x3c, 0x74, 0x3a, 0x74, 0x38, 0x74, 0x36, 0x74, 0x34, 0x66, 0x90, 0x74, 0x30,
324 0x74, 0x2e, 0x74, 0x2c, 0x74, 0x2a, 0x74, 0x28, 0x74, 0x26, 0x74, 0x24, 0x74, 0x22, 0x74, 0x20, 0x74,
325 0x1e, 0x74, 0x1c, 0x74, 0x1a, 0x74, 0x18, 0x74, 0x16, 0x74, 0x14, 0x66, 0x90, 0x74, 0x10, 0x74, 0xe,
326 0x74, 0xc, 0x74, 0xa, 0x74, 0x8, 0x74, 0x6, 0x74, 0x4, 0x74, 0x2, 0x74, 0x0, 0xc3,
327 },
328 },
329 {
330 backward: false, jmpInst: JGE, exp: []byte{
331 0xc3, 0xf, 0x8d, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8d, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8d, 0x1f, 0x2, 0x0,
332 0x0, 0xf, 0x8d, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8d, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8d, 0xc, 0x2,
333 0x0, 0x0, 0xf, 0x8d, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8d, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8d, 0xfa, 0x1,
334 0x0, 0x0, 0xf, 0x8d, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8d,
335 0xe6, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8d,
336 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xc6, 0x1, 0x0, 0x0,
337 0xf, 0x8d, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xb4, 0x1, 0x0, 0x0,
338 0x66, 0x90, 0xf, 0x8d, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xa0, 0x1,
339 0x0, 0x0, 0xf, 0x8d, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d,
340 0x8c, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x7a,
341 0x1, 0x0, 0x0, 0xf, 0x8d, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8d,
342 0x66, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x54,
343 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8d,
344 0x40, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
345 0x8d, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8d,
346 0x1a, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xc, 0x1, 0x0, 0x0, 0xf,
347 0x8d, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8d,
348 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xe6, 0x0, 0x0, 0x0, 0xf,
349 0x8d, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
350 0xf, 0x8d, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xc0, 0x0, 0x0, 0x0, 0xf,
351 0x8d, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xac, 0x0, 0x0, 0x0,
352 0xf, 0x8d, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8d, 0x9a, 0x0, 0x0, 0x0, 0xf,
353 0x8d, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8d, 0x86, 0x0, 0x0, 0x0,
354 0xf, 0x8d, 0x80, 0x0, 0x0, 0x0, 0x7d, 0x7e, 0x7d, 0x7c, 0x7d, 0x7a, 0x7d, 0x78, 0x7d, 0x76, 0x7d, 0x74,
355 0x66, 0x90, 0x7d, 0x70, 0x7d, 0x6e, 0x7d, 0x6c, 0x7d, 0x6a, 0x7d, 0x68, 0x7d, 0x66, 0x7d, 0x64, 0x7d,
356 0x62, 0x7d, 0x60, 0x7d, 0x5e, 0x7d, 0x5c, 0x7d, 0x5a, 0x7d, 0x58, 0x7d, 0x56, 0x7d, 0x54, 0x66, 0x90,
357 0x7d, 0x50, 0x7d, 0x4e, 0x7d, 0x4c, 0x7d, 0x4a, 0x7d, 0x48, 0x7d, 0x46, 0x7d, 0x44, 0x7d, 0x42, 0x7d,
358 0x40, 0x7d, 0x3e, 0x7d, 0x3c, 0x7d, 0x3a, 0x7d, 0x38, 0x7d, 0x36, 0x7d, 0x34, 0x66, 0x90, 0x7d, 0x30,
359 0x7d, 0x2e, 0x7d, 0x2c, 0x7d, 0x2a, 0x7d, 0x28, 0x7d, 0x26, 0x7d, 0x24, 0x7d, 0x22, 0x7d, 0x20, 0x7d,
360 0x1e, 0x7d, 0x1c, 0x7d, 0x1a, 0x7d, 0x18, 0x7d, 0x16, 0x7d, 0x14, 0x66, 0x90, 0x7d, 0x10, 0x7d, 0xe,
361 0x7d, 0xc, 0x7d, 0xa, 0x7d, 0x8, 0x7d, 0x6, 0x7d, 0x4, 0x7d, 0x2, 0x7d, 0x0, 0xc3,
362 },
363 },
364 {
365 backward: false, jmpInst: JGT, exp: []byte{
366 0xc3, 0xf, 0x8f, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8f, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8f, 0x1f, 0x2, 0x0,
367 0x0, 0xf, 0x8f, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8f, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8f, 0xc, 0x2,
368 0x0, 0x0, 0xf, 0x8f, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8f, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8f, 0xfa, 0x1,
369 0x0, 0x0, 0xf, 0x8f, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8f,
370 0xe6, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8f,
371 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xc6, 0x1, 0x0, 0x0,
372 0xf, 0x8f, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xb4, 0x1, 0x0, 0x0,
373 0x66, 0x90, 0xf, 0x8f, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xa0, 0x1,
374 0x0, 0x0, 0xf, 0x8f, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f,
375 0x8c, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x7a,
376 0x1, 0x0, 0x0, 0xf, 0x8f, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8f,
377 0x66, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x54,
378 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8f,
379 0x40, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
380 0x8f, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8f,
381 0x1a, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xc, 0x1, 0x0, 0x0, 0xf,
382 0x8f, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8f,
383 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xe6, 0x0, 0x0, 0x0, 0xf,
384 0x8f, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
385 0xf, 0x8f, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xc0, 0x0, 0x0, 0x0, 0xf,
386 0x8f, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xac, 0x0, 0x0, 0x0,
387 0xf, 0x8f, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8f, 0x9a, 0x0, 0x0, 0x0, 0xf,
388 0x8f, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8f, 0x86, 0x0, 0x0, 0x0,
389 0xf, 0x8f, 0x80, 0x0, 0x0, 0x0, 0x7f, 0x7e, 0x7f, 0x7c, 0x7f, 0x7a, 0x7f, 0x78, 0x7f, 0x76, 0x7f, 0x74,
390 0x66, 0x90, 0x7f, 0x70, 0x7f, 0x6e, 0x7f, 0x6c, 0x7f, 0x6a, 0x7f, 0x68, 0x7f, 0x66, 0x7f, 0x64, 0x7f,
391 0x62, 0x7f, 0x60, 0x7f, 0x5e, 0x7f, 0x5c, 0x7f, 0x5a, 0x7f, 0x58, 0x7f, 0x56, 0x7f, 0x54, 0x66, 0x90,
392 0x7f, 0x50, 0x7f, 0x4e, 0x7f, 0x4c, 0x7f, 0x4a, 0x7f, 0x48, 0x7f, 0x46, 0x7f, 0x44, 0x7f, 0x42, 0x7f,
393 0x40, 0x7f, 0x3e, 0x7f, 0x3c, 0x7f, 0x3a, 0x7f, 0x38, 0x7f, 0x36, 0x7f, 0x34, 0x66, 0x90, 0x7f, 0x30,
394 0x7f, 0x2e, 0x7f, 0x2c, 0x7f, 0x2a, 0x7f, 0x28, 0x7f, 0x26, 0x7f, 0x24, 0x7f, 0x22, 0x7f, 0x20, 0x7f,
395 0x1e, 0x7f, 0x1c, 0x7f, 0x1a, 0x7f, 0x18, 0x7f, 0x16, 0x7f, 0x14, 0x66, 0x90, 0x7f, 0x10, 0x7f, 0xe,
396 0x7f, 0xc, 0x7f, 0xa, 0x7f, 0x8, 0x7f, 0x6, 0x7f, 0x4, 0x7f, 0x2, 0x7f, 0x0, 0xc3,
397 },
398 },
399 {
400 backward: false, jmpInst: JHI, exp: []byte{
401 0xc3, 0xf, 0x87, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x87, 0x25, 0x2, 0x0, 0x0, 0xf, 0x87, 0x1f, 0x2, 0x0,
402 0x0, 0xf, 0x87, 0x19, 0x2, 0x0, 0x0, 0xf, 0x87, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x87, 0xc, 0x2,
403 0x0, 0x0, 0xf, 0x87, 0x6, 0x2, 0x0, 0x0, 0xf, 0x87, 0x0, 0x2, 0x0, 0x0, 0xf, 0x87, 0xfa, 0x1,
404 0x0, 0x0, 0xf, 0x87, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xec, 0x1, 0x0, 0x0, 0xf, 0x87,
405 0xe6, 0x1, 0x0, 0x0, 0xf, 0x87, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x87, 0xda, 0x1, 0x0, 0x0, 0xf, 0x87,
406 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x87, 0xc6, 0x1, 0x0, 0x0,
407 0xf, 0x87, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x87, 0xba, 0x1, 0x0, 0x0, 0xf, 0x87, 0xb4, 0x1, 0x0, 0x0,
408 0x66, 0x90, 0xf, 0x87, 0xac, 0x1, 0x0, 0x0, 0xf, 0x87, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x87, 0xa0, 0x1,
409 0x0, 0x0, 0xf, 0x87, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x87, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87,
410 0x8c, 0x1, 0x0, 0x0, 0xf, 0x87, 0x86, 0x1, 0x0, 0x0, 0xf, 0x87, 0x80, 0x1, 0x0, 0x0, 0xf, 0x87, 0x7a,
411 0x1, 0x0, 0x0, 0xf, 0x87, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x87,
412 0x66, 0x1, 0x0, 0x0, 0xf, 0x87, 0x60, 0x1, 0x0, 0x0, 0xf, 0x87, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x87, 0x54,
413 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x87, 0x46, 0x1, 0x0, 0x0, 0xf, 0x87,
414 0x40, 0x1, 0x0, 0x0, 0xf, 0x87, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x87, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
415 0x87, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x87, 0x26, 0x1, 0x0, 0x0, 0xf, 0x87, 0x20, 0x1, 0x0, 0x0, 0xf, 0x87,
416 0x1a, 0x1, 0x0, 0x0, 0xf, 0x87, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xc, 0x1, 0x0, 0x0, 0xf,
417 0x87, 0x6, 0x1, 0x0, 0x0, 0xf, 0x87, 0x0, 0x1, 0x0, 0x0, 0xf, 0x87, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x87,
418 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xec, 0x0, 0x0, 0x0, 0xf, 0x87, 0xe6, 0x0, 0x0, 0x0, 0xf,
419 0x87, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x87, 0xda, 0x0, 0x0, 0x0, 0xf, 0x87, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
420 0xf, 0x87, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x87, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x87, 0xc0, 0x0, 0x0, 0x0, 0xf,
421 0x87, 0xba, 0x0, 0x0, 0x0, 0xf, 0x87, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xac, 0x0, 0x0, 0x0,
422 0xf, 0x87, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x87, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x87, 0x9a, 0x0, 0x0, 0x0, 0xf,
423 0x87, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x87, 0x86, 0x0, 0x0, 0x0,
424 0xf, 0x87, 0x80, 0x0, 0x0, 0x0, 0x77, 0x7e, 0x77, 0x7c, 0x77, 0x7a, 0x77, 0x78, 0x77, 0x76, 0x77, 0x74,
425 0x66, 0x90, 0x77, 0x70, 0x77, 0x6e, 0x77, 0x6c, 0x77, 0x6a, 0x77, 0x68, 0x77, 0x66, 0x77, 0x64, 0x77,
426 0x62, 0x77, 0x60, 0x77, 0x5e, 0x77, 0x5c, 0x77, 0x5a, 0x77, 0x58, 0x77, 0x56, 0x77, 0x54, 0x66, 0x90,
427 0x77, 0x50, 0x77, 0x4e, 0x77, 0x4c, 0x77, 0x4a, 0x77, 0x48, 0x77, 0x46, 0x77, 0x44, 0x77, 0x42, 0x77,
428 0x40, 0x77, 0x3e, 0x77, 0x3c, 0x77, 0x3a, 0x77, 0x38, 0x77, 0x36, 0x77, 0x34, 0x66, 0x90, 0x77, 0x30,
429 0x77, 0x2e, 0x77, 0x2c, 0x77, 0x2a, 0x77, 0x28, 0x77, 0x26, 0x77, 0x24, 0x77, 0x22, 0x77, 0x20, 0x77,
430 0x1e, 0x77, 0x1c, 0x77, 0x1a, 0x77, 0x18, 0x77, 0x16, 0x77, 0x14, 0x66, 0x90, 0x77, 0x10, 0x77, 0xe,
431 0x77, 0xc, 0x77, 0xa, 0x77, 0x8, 0x77, 0x6, 0x77, 0x4, 0x77, 0x2, 0x77, 0x0, 0xc3,
432 },
433 },
434 {
435 backward: false, jmpInst: JLE, exp: []byte{
436 0xc3, 0xf, 0x8e, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8e, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8e, 0x1f, 0x2, 0x0,
437 0x0, 0xf, 0x8e, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8e, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8e, 0xc, 0x2,
438 0x0, 0x0, 0xf, 0x8e, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8e, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8e, 0xfa, 0x1,
439 0x0, 0x0, 0xf, 0x8e, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8e,
440 0xe6, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8e,
441 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xc6, 0x1, 0x0, 0x0,
442 0xf, 0x8e, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xb4, 0x1, 0x0, 0x0,
443 0x66, 0x90, 0xf, 0x8e, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xa0, 0x1,
444 0x0, 0x0, 0xf, 0x8e, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e,
445 0x8c, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x7a,
446 0x1, 0x0, 0x0, 0xf, 0x8e, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8e,
447 0x66, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x54,
448 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8e,
449 0x40, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
450 0x8e, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8e,
451 0x1a, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xc, 0x1, 0x0, 0x0, 0xf,
452 0x8e, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8e,
453 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xe6, 0x0, 0x0, 0x0, 0xf,
454 0x8e, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
455 0xf, 0x8e, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xc0, 0x0, 0x0, 0x0, 0xf,
456 0x8e, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xac, 0x0, 0x0, 0x0,
457 0xf, 0x8e, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8e, 0x9a, 0x0, 0x0, 0x0, 0xf,
458 0x8e, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8e, 0x86, 0x0, 0x0, 0x0,
459 0xf, 0x8e, 0x80, 0x0, 0x0, 0x0, 0x7e, 0x7e, 0x7e, 0x7c, 0x7e, 0x7a, 0x7e, 0x78, 0x7e, 0x76, 0x7e, 0x74,
460 0x66, 0x90, 0x7e, 0x70, 0x7e, 0x6e, 0x7e, 0x6c, 0x7e, 0x6a, 0x7e, 0x68, 0x7e, 0x66, 0x7e, 0x64, 0x7e,
461 0x62, 0x7e, 0x60, 0x7e, 0x5e, 0x7e, 0x5c, 0x7e, 0x5a, 0x7e, 0x58, 0x7e, 0x56, 0x7e, 0x54, 0x66, 0x90,
462 0x7e, 0x50, 0x7e, 0x4e, 0x7e, 0x4c, 0x7e, 0x4a, 0x7e, 0x48, 0x7e, 0x46, 0x7e, 0x44, 0x7e, 0x42, 0x7e,
463 0x40, 0x7e, 0x3e, 0x7e, 0x3c, 0x7e, 0x3a, 0x7e, 0x38, 0x7e, 0x36, 0x7e, 0x34, 0x66, 0x90, 0x7e, 0x30,
464 0x7e, 0x2e, 0x7e, 0x2c, 0x7e, 0x2a, 0x7e, 0x28, 0x7e, 0x26, 0x7e, 0x24, 0x7e, 0x22, 0x7e, 0x20, 0x7e,
465 0x1e, 0x7e, 0x1c, 0x7e, 0x1a, 0x7e, 0x18, 0x7e, 0x16, 0x7e, 0x14, 0x66, 0x90, 0x7e, 0x10, 0x7e, 0xe,
466 0x7e, 0xc, 0x7e, 0xa, 0x7e, 0x8, 0x7e, 0x6, 0x7e, 0x4, 0x7e, 0x2, 0x7e, 0x0, 0xc3,
467 },
468 },
469 {
470 backward: false, jmpInst: JLS, exp: []byte{
471 0xc3, 0xf, 0x86, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x86, 0x25, 0x2, 0x0, 0x0, 0xf, 0x86, 0x1f, 0x2, 0x0,
472 0x0, 0xf, 0x86, 0x19, 0x2, 0x0, 0x0, 0xf, 0x86, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x86, 0xc, 0x2,
473 0x0, 0x0, 0xf, 0x86, 0x6, 0x2, 0x0, 0x0, 0xf, 0x86, 0x0, 0x2, 0x0, 0x0, 0xf, 0x86, 0xfa, 0x1,
474 0x0, 0x0, 0xf, 0x86, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xec, 0x1, 0x0, 0x0, 0xf, 0x86,
475 0xe6, 0x1, 0x0, 0x0, 0xf, 0x86, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x86, 0xda, 0x1, 0x0, 0x0, 0xf, 0x86,
476 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x86, 0xc6, 0x1, 0x0, 0x0,
477 0xf, 0x86, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x86, 0xba, 0x1, 0x0, 0x0, 0xf, 0x86, 0xb4, 0x1, 0x0, 0x0,
478 0x66, 0x90, 0xf, 0x86, 0xac, 0x1, 0x0, 0x0, 0xf, 0x86, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x86, 0xa0, 0x1,
479 0x0, 0x0, 0xf, 0x86, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x86, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86,
480 0x8c, 0x1, 0x0, 0x0, 0xf, 0x86, 0x86, 0x1, 0x0, 0x0, 0xf, 0x86, 0x80, 0x1, 0x0, 0x0, 0xf, 0x86, 0x7a,
481 0x1, 0x0, 0x0, 0xf, 0x86, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x86,
482 0x66, 0x1, 0x0, 0x0, 0xf, 0x86, 0x60, 0x1, 0x0, 0x0, 0xf, 0x86, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x86, 0x54,
483 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x86, 0x46, 0x1, 0x0, 0x0, 0xf, 0x86,
484 0x40, 0x1, 0x0, 0x0, 0xf, 0x86, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x86, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
485 0x86, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x86, 0x26, 0x1, 0x0, 0x0, 0xf, 0x86, 0x20, 0x1, 0x0, 0x0, 0xf, 0x86,
486 0x1a, 0x1, 0x0, 0x0, 0xf, 0x86, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xc, 0x1, 0x0, 0x0, 0xf,
487 0x86, 0x6, 0x1, 0x0, 0x0, 0xf, 0x86, 0x0, 0x1, 0x0, 0x0, 0xf, 0x86, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x86,
488 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xec, 0x0, 0x0, 0x0, 0xf, 0x86, 0xe6, 0x0, 0x0, 0x0, 0xf,
489 0x86, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x86, 0xda, 0x0, 0x0, 0x0, 0xf, 0x86, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
490 0xf, 0x86, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x86, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x86, 0xc0, 0x0, 0x0, 0x0, 0xf,
491 0x86, 0xba, 0x0, 0x0, 0x0, 0xf, 0x86, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xac, 0x0, 0x0, 0x0,
492 0xf, 0x86, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x86, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x86, 0x9a, 0x0, 0x0, 0x0, 0xf,
493 0x86, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x86, 0x86, 0x0, 0x0, 0x0,
494 0xf, 0x86, 0x80, 0x0, 0x0, 0x0, 0x76, 0x7e, 0x76, 0x7c, 0x76, 0x7a, 0x76, 0x78, 0x76, 0x76, 0x76, 0x74,
495 0x66, 0x90, 0x76, 0x70, 0x76, 0x6e, 0x76, 0x6c, 0x76, 0x6a, 0x76, 0x68, 0x76, 0x66, 0x76, 0x64, 0x76,
496 0x62, 0x76, 0x60, 0x76, 0x5e, 0x76, 0x5c, 0x76, 0x5a, 0x76, 0x58, 0x76, 0x56, 0x76, 0x54, 0x66, 0x90,
497 0x76, 0x50, 0x76, 0x4e, 0x76, 0x4c, 0x76, 0x4a, 0x76, 0x48, 0x76, 0x46, 0x76, 0x44, 0x76, 0x42, 0x76,
498 0x40, 0x76, 0x3e, 0x76, 0x3c, 0x76, 0x3a, 0x76, 0x38, 0x76, 0x36, 0x76, 0x34, 0x66, 0x90, 0x76, 0x30,
499 0x76, 0x2e, 0x76, 0x2c, 0x76, 0x2a, 0x76, 0x28, 0x76, 0x26, 0x76, 0x24, 0x76, 0x22, 0x76, 0x20, 0x76,
500 0x1e, 0x76, 0x1c, 0x76, 0x1a, 0x76, 0x18, 0x76, 0x16, 0x76, 0x14, 0x66, 0x90, 0x76, 0x10, 0x76, 0xe,
501 0x76, 0xc, 0x76, 0xa, 0x76, 0x8, 0x76, 0x6, 0x76, 0x4, 0x76, 0x2, 0x76, 0x0, 0xc3,
502 },
503 },
504 {
505 backward: false, jmpInst: JLT, exp: []byte{
506 0xc3, 0xf, 0x8c, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8c, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8c, 0x1f, 0x2, 0x0,
507 0x0, 0xf, 0x8c, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8c, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8c, 0xc, 0x2,
508 0x0, 0x0, 0xf, 0x8c, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8c, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8c, 0xfa, 0x1,
509 0x0, 0x0, 0xf, 0x8c, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8c,
510 0xe6, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8c,
511 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xc6, 0x1, 0x0, 0x0,
512 0xf, 0x8c, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xb4, 0x1, 0x0, 0x0,
513 0x66, 0x90, 0xf, 0x8c, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xa0, 0x1,
514 0x0, 0x0, 0xf, 0x8c, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c,
515 0x8c, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x7a,
516 0x1, 0x0, 0x0, 0xf, 0x8c, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8c,
517 0x66, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x54,
518 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8c,
519 0x40, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
520 0x8c, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8c,
521 0x1a, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xc, 0x1, 0x0, 0x0, 0xf,
522 0x8c, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8c,
523 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xe6, 0x0, 0x0, 0x0, 0xf,
524 0x8c, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
525 0xf, 0x8c, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xc0, 0x0, 0x0, 0x0, 0xf,
526 0x8c, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xac, 0x0, 0x0, 0x0,
527 0xf, 0x8c, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8c, 0x9a, 0x0, 0x0, 0x0, 0xf,
528 0x8c, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8c, 0x86, 0x0, 0x0, 0x0,
529 0xf, 0x8c, 0x80, 0x0, 0x0, 0x0, 0x7c, 0x7e, 0x7c, 0x7c, 0x7c, 0x7a, 0x7c, 0x78, 0x7c, 0x76, 0x7c, 0x74,
530 0x66, 0x90, 0x7c, 0x70, 0x7c, 0x6e, 0x7c, 0x6c, 0x7c, 0x6a, 0x7c, 0x68, 0x7c, 0x66, 0x7c, 0x64, 0x7c,
531 0x62, 0x7c, 0x60, 0x7c, 0x5e, 0x7c, 0x5c, 0x7c, 0x5a, 0x7c, 0x58, 0x7c, 0x56, 0x7c, 0x54, 0x66, 0x90,
532 0x7c, 0x50, 0x7c, 0x4e, 0x7c, 0x4c, 0x7c, 0x4a, 0x7c, 0x48, 0x7c, 0x46, 0x7c, 0x44, 0x7c, 0x42, 0x7c,
533 0x40, 0x7c, 0x3e, 0x7c, 0x3c, 0x7c, 0x3a, 0x7c, 0x38, 0x7c, 0x36, 0x7c, 0x34, 0x66, 0x90, 0x7c, 0x30,
534 0x7c, 0x2e, 0x7c, 0x2c, 0x7c, 0x2a, 0x7c, 0x28, 0x7c, 0x26, 0x7c, 0x24, 0x7c, 0x22, 0x7c, 0x20, 0x7c,
535 0x1e, 0x7c, 0x1c, 0x7c, 0x1a, 0x7c, 0x18, 0x7c, 0x16, 0x7c, 0x14, 0x66, 0x90, 0x7c, 0x10, 0x7c, 0xe,
536 0x7c, 0xc, 0x7c, 0xa, 0x7c, 0x8, 0x7c, 0x6, 0x7c, 0x4, 0x7c, 0x2, 0x7c, 0x0, 0xc3,
537 },
538 },
539 {
540 backward: false, jmpInst: JMI, exp: []byte{
541 0xc3, 0xf, 0x88, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x88, 0x25, 0x2, 0x0, 0x0, 0xf, 0x88, 0x1f, 0x2, 0x0,
542 0x0, 0xf, 0x88, 0x19, 0x2, 0x0, 0x0, 0xf, 0x88, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x88, 0xc, 0x2,
543 0x0, 0x0, 0xf, 0x88, 0x6, 0x2, 0x0, 0x0, 0xf, 0x88, 0x0, 0x2, 0x0, 0x0, 0xf, 0x88, 0xfa, 0x1,
544 0x0, 0x0, 0xf, 0x88, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xec, 0x1, 0x0, 0x0, 0xf, 0x88,
545 0xe6, 0x1, 0x0, 0x0, 0xf, 0x88, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x88, 0xda, 0x1, 0x0, 0x0, 0xf, 0x88,
546 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x88, 0xc6, 0x1, 0x0, 0x0,
547 0xf, 0x88, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x88, 0xba, 0x1, 0x0, 0x0, 0xf, 0x88, 0xb4, 0x1, 0x0, 0x0,
548 0x66, 0x90, 0xf, 0x88, 0xac, 0x1, 0x0, 0x0, 0xf, 0x88, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x88, 0xa0, 0x1,
549 0x0, 0x0, 0xf, 0x88, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x88, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88,
550 0x8c, 0x1, 0x0, 0x0, 0xf, 0x88, 0x86, 0x1, 0x0, 0x0, 0xf, 0x88, 0x80, 0x1, 0x0, 0x0, 0xf, 0x88, 0x7a,
551 0x1, 0x0, 0x0, 0xf, 0x88, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x88,
552 0x66, 0x1, 0x0, 0x0, 0xf, 0x88, 0x60, 0x1, 0x0, 0x0, 0xf, 0x88, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x88, 0x54,
553 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x88, 0x46, 0x1, 0x0, 0x0, 0xf, 0x88,
554 0x40, 0x1, 0x0, 0x0, 0xf, 0x88, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x88, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
555 0x88, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x88, 0x26, 0x1, 0x0, 0x0, 0xf, 0x88, 0x20, 0x1, 0x0, 0x0, 0xf, 0x88,
556 0x1a, 0x1, 0x0, 0x0, 0xf, 0x88, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xc, 0x1, 0x0, 0x0, 0xf,
557 0x88, 0x6, 0x1, 0x0, 0x0, 0xf, 0x88, 0x0, 0x1, 0x0, 0x0, 0xf, 0x88, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x88,
558 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xec, 0x0, 0x0, 0x0, 0xf, 0x88, 0xe6, 0x0, 0x0, 0x0, 0xf,
559 0x88, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x88, 0xda, 0x0, 0x0, 0x0, 0xf, 0x88, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
560 0xf, 0x88, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x88, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x88, 0xc0, 0x0, 0x0, 0x0, 0xf,
561 0x88, 0xba, 0x0, 0x0, 0x0, 0xf, 0x88, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xac, 0x0, 0x0, 0x0,
562 0xf, 0x88, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x88, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x88, 0x9a, 0x0, 0x0, 0x0, 0xf,
563 0x88, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x88, 0x86, 0x0, 0x0, 0x0,
564 0xf, 0x88, 0x80, 0x0, 0x0, 0x0, 0x78, 0x7e, 0x78, 0x7c, 0x78, 0x7a, 0x78, 0x78, 0x78, 0x76, 0x78, 0x74,
565 0x66, 0x90, 0x78, 0x70, 0x78, 0x6e, 0x78, 0x6c, 0x78, 0x6a, 0x78, 0x68, 0x78, 0x66, 0x78, 0x64, 0x78,
566 0x62, 0x78, 0x60, 0x78, 0x5e, 0x78, 0x5c, 0x78, 0x5a, 0x78, 0x58, 0x78, 0x56, 0x78, 0x54, 0x66, 0x90,
567 0x78, 0x50, 0x78, 0x4e, 0x78, 0x4c, 0x78, 0x4a, 0x78, 0x48, 0x78, 0x46, 0x78, 0x44, 0x78, 0x42, 0x78,
568 0x40, 0x78, 0x3e, 0x78, 0x3c, 0x78, 0x3a, 0x78, 0x38, 0x78, 0x36, 0x78, 0x34, 0x66, 0x90, 0x78, 0x30,
569 0x78, 0x2e, 0x78, 0x2c, 0x78, 0x2a, 0x78, 0x28, 0x78, 0x26, 0x78, 0x24, 0x78, 0x22, 0x78, 0x20, 0x78,
570 0x1e, 0x78, 0x1c, 0x78, 0x1a, 0x78, 0x18, 0x78, 0x16, 0x78, 0x14, 0x66, 0x90, 0x78, 0x10, 0x78, 0xe,
571 0x78, 0xc, 0x78, 0xa, 0x78, 0x8, 0x78, 0x6, 0x78, 0x4, 0x78, 0x2, 0x78, 0x0, 0xc3,
572 },
573 },
574 {
575 backward: false, jmpInst: JNE, exp: []byte{
576 0xc3, 0xf, 0x85, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x85, 0x25, 0x2, 0x0, 0x0, 0xf, 0x85, 0x1f, 0x2, 0x0,
577 0x0, 0xf, 0x85, 0x19, 0x2, 0x0, 0x0, 0xf, 0x85, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x85, 0xc, 0x2,
578 0x0, 0x0, 0xf, 0x85, 0x6, 0x2, 0x0, 0x0, 0xf, 0x85, 0x0, 0x2, 0x0, 0x0, 0xf, 0x85, 0xfa, 0x1,
579 0x0, 0x0, 0xf, 0x85, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xec, 0x1, 0x0, 0x0, 0xf, 0x85,
580 0xe6, 0x1, 0x0, 0x0, 0xf, 0x85, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x85, 0xda, 0x1, 0x0, 0x0, 0xf, 0x85,
581 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x85, 0xc6, 0x1, 0x0, 0x0,
582 0xf, 0x85, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x85, 0xba, 0x1, 0x0, 0x0, 0xf, 0x85, 0xb4, 0x1, 0x0, 0x0,
583 0x66, 0x90, 0xf, 0x85, 0xac, 0x1, 0x0, 0x0, 0xf, 0x85, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x85, 0xa0, 0x1,
584 0x0, 0x0, 0xf, 0x85, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x85, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85,
585 0x8c, 0x1, 0x0, 0x0, 0xf, 0x85, 0x86, 0x1, 0x0, 0x0, 0xf, 0x85, 0x80, 0x1, 0x0, 0x0, 0xf, 0x85, 0x7a,
586 0x1, 0x0, 0x0, 0xf, 0x85, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x85,
587 0x66, 0x1, 0x0, 0x0, 0xf, 0x85, 0x60, 0x1, 0x0, 0x0, 0xf, 0x85, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x85, 0x54,
588 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x85, 0x46, 0x1, 0x0, 0x0, 0xf, 0x85,
589 0x40, 0x1, 0x0, 0x0, 0xf, 0x85, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x85, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
590 0x85, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x85, 0x26, 0x1, 0x0, 0x0, 0xf, 0x85, 0x20, 0x1, 0x0, 0x0, 0xf, 0x85,
591 0x1a, 0x1, 0x0, 0x0, 0xf, 0x85, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xc, 0x1, 0x0, 0x0, 0xf,
592 0x85, 0x6, 0x1, 0x0, 0x0, 0xf, 0x85, 0x0, 0x1, 0x0, 0x0, 0xf, 0x85, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x85,
593 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xec, 0x0, 0x0, 0x0, 0xf, 0x85, 0xe6, 0x0, 0x0, 0x0, 0xf,
594 0x85, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x85, 0xda, 0x0, 0x0, 0x0, 0xf, 0x85, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
595 0xf, 0x85, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x85, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x85, 0xc0, 0x0, 0x0, 0x0, 0xf,
596 0x85, 0xba, 0x0, 0x0, 0x0, 0xf, 0x85, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xac, 0x0, 0x0, 0x0,
597 0xf, 0x85, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x85, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x85, 0x9a, 0x0, 0x0, 0x0, 0xf,
598 0x85, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x85, 0x86, 0x0, 0x0, 0x0,
599 0xf, 0x85, 0x80, 0x0, 0x0, 0x0, 0x75, 0x7e, 0x75, 0x7c, 0x75, 0x7a, 0x75, 0x78, 0x75, 0x76, 0x75, 0x74,
600 0x66, 0x90, 0x75, 0x70, 0x75, 0x6e, 0x75, 0x6c, 0x75, 0x6a, 0x75, 0x68, 0x75, 0x66, 0x75, 0x64, 0x75,
601 0x62, 0x75, 0x60, 0x75, 0x5e, 0x75, 0x5c, 0x75, 0x5a, 0x75, 0x58, 0x75, 0x56, 0x75, 0x54, 0x66, 0x90,
602 0x75, 0x50, 0x75, 0x4e, 0x75, 0x4c, 0x75, 0x4a, 0x75, 0x48, 0x75, 0x46, 0x75, 0x44, 0x75, 0x42, 0x75,
603 0x40, 0x75, 0x3e, 0x75, 0x3c, 0x75, 0x3a, 0x75, 0x38, 0x75, 0x36, 0x75, 0x34, 0x66, 0x90, 0x75, 0x30,
604 0x75, 0x2e, 0x75, 0x2c, 0x75, 0x2a, 0x75, 0x28, 0x75, 0x26, 0x75, 0x24, 0x75, 0x22, 0x75, 0x20, 0x75,
605 0x1e, 0x75, 0x1c, 0x75, 0x1a, 0x75, 0x18, 0x75, 0x16, 0x75, 0x14, 0x66, 0x90, 0x75, 0x10, 0x75, 0xe,
606 0x75, 0xc, 0x75, 0xa, 0x75, 0x8, 0x75, 0x6, 0x75, 0x4, 0x75, 0x2, 0x75, 0x0, 0xc3,
607 },
608 },
609 {
610 backward: false, jmpInst: JPC, exp: []byte{
611 0xc3, 0xf, 0x8b, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8b, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8b, 0x1f, 0x2, 0x0,
612 0x0, 0xf, 0x8b, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8b, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8b, 0xc, 0x2,
613 0x0, 0x0, 0xf, 0x8b, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8b, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8b, 0xfa, 0x1,
614 0x0, 0x0, 0xf, 0x8b, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8b,
615 0xe6, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8b,
616 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xc6, 0x1, 0x0, 0x0,
617 0xf, 0x8b, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xb4, 0x1, 0x0, 0x0,
618 0x66, 0x90, 0xf, 0x8b, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xa0, 0x1,
619 0x0, 0x0, 0xf, 0x8b, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b,
620 0x8c, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x7a,
621 0x1, 0x0, 0x0, 0xf, 0x8b, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8b,
622 0x66, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x54,
623 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8b,
624 0x40, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
625 0x8b, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8b,
626 0x1a, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xc, 0x1, 0x0, 0x0, 0xf,
627 0x8b, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8b,
628 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xe6, 0x0, 0x0, 0x0, 0xf,
629 0x8b, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
630 0xf, 0x8b, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xc0, 0x0, 0x0, 0x0, 0xf,
631 0x8b, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xac, 0x0, 0x0, 0x0,
632 0xf, 0x8b, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8b, 0x9a, 0x0, 0x0, 0x0, 0xf,
633 0x8b, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8b, 0x86, 0x0, 0x0, 0x0,
634 0xf, 0x8b, 0x80, 0x0, 0x0, 0x0, 0x7b, 0x7e, 0x7b, 0x7c, 0x7b, 0x7a, 0x7b, 0x78, 0x7b, 0x76, 0x7b, 0x74,
635 0x66, 0x90, 0x7b, 0x70, 0x7b, 0x6e, 0x7b, 0x6c, 0x7b, 0x6a, 0x7b, 0x68, 0x7b, 0x66, 0x7b, 0x64, 0x7b,
636 0x62, 0x7b, 0x60, 0x7b, 0x5e, 0x7b, 0x5c, 0x7b, 0x5a, 0x7b, 0x58, 0x7b, 0x56, 0x7b, 0x54, 0x66, 0x90,
637 0x7b, 0x50, 0x7b, 0x4e, 0x7b, 0x4c, 0x7b, 0x4a, 0x7b, 0x48, 0x7b, 0x46, 0x7b, 0x44, 0x7b, 0x42, 0x7b,
638 0x40, 0x7b, 0x3e, 0x7b, 0x3c, 0x7b, 0x3a, 0x7b, 0x38, 0x7b, 0x36, 0x7b, 0x34, 0x66, 0x90, 0x7b, 0x30,
639 0x7b, 0x2e, 0x7b, 0x2c, 0x7b, 0x2a, 0x7b, 0x28, 0x7b, 0x26, 0x7b, 0x24, 0x7b, 0x22, 0x7b, 0x20, 0x7b,
640 0x1e, 0x7b, 0x1c, 0x7b, 0x1a, 0x7b, 0x18, 0x7b, 0x16, 0x7b, 0x14, 0x66, 0x90, 0x7b, 0x10, 0x7b, 0xe,
641 0x7b, 0xc, 0x7b, 0xa, 0x7b, 0x8, 0x7b, 0x6, 0x7b, 0x4, 0x7b, 0x2, 0x7b, 0x0, 0xc3,
642 },
643 },
644 {
645 backward: false, jmpInst: JPS, exp: []byte{
646 0xc3, 0xf, 0x8a, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8a, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8a, 0x1f, 0x2, 0x0,
647 0x0, 0xf, 0x8a, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8a, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8a, 0xc, 0x2,
648 0x0, 0x0, 0xf, 0x8a, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8a, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8a, 0xfa, 0x1,
649 0x0, 0x0, 0xf, 0x8a, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8a,
650 0xe6, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8a,
651 0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xc6, 0x1, 0x0, 0x0,
652 0xf, 0x8a, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xb4, 0x1, 0x0, 0x0,
653 0x66, 0x90, 0xf, 0x8a, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xa0, 0x1,
654 0x0, 0x0, 0xf, 0x8a, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a,
655 0x8c, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x7a,
656 0x1, 0x0, 0x0, 0xf, 0x8a, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8a,
657 0x66, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x54,
658 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8a,
659 0x40, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
660 0x8a, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8a,
661 0x1a, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xc, 0x1, 0x0, 0x0, 0xf,
662 0x8a, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8a,
663 0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xe6, 0x0, 0x0, 0x0, 0xf,
664 0x8a, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
665 0xf, 0x8a, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xc0, 0x0, 0x0, 0x0, 0xf,
666 0x8a, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xac, 0x0, 0x0, 0x0,
667 0xf, 0x8a, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8a, 0x9a, 0x0, 0x0, 0x0, 0xf,
668 0x8a, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8a, 0x86, 0x0, 0x0, 0x0,
669 0xf, 0x8a, 0x80, 0x0, 0x0, 0x0, 0x7a, 0x7e, 0x7a, 0x7c, 0x7a, 0x7a, 0x7a, 0x78, 0x7a, 0x76, 0x7a, 0x74,
670 0x66, 0x90, 0x7a, 0x70, 0x7a, 0x6e, 0x7a, 0x6c, 0x7a, 0x6a, 0x7a, 0x68, 0x7a, 0x66, 0x7a, 0x64, 0x7a,
671 0x62, 0x7a, 0x60, 0x7a, 0x5e, 0x7a, 0x5c, 0x7a, 0x5a, 0x7a, 0x58, 0x7a, 0x56, 0x7a, 0x54, 0x66, 0x90,
672 0x7a, 0x50, 0x7a, 0x4e, 0x7a, 0x4c, 0x7a, 0x4a, 0x7a, 0x48, 0x7a, 0x46, 0x7a, 0x44, 0x7a, 0x42, 0x7a,
673 0x40, 0x7a, 0x3e, 0x7a, 0x3c, 0x7a, 0x3a, 0x7a, 0x38, 0x7a, 0x36, 0x7a, 0x34, 0x66, 0x90, 0x7a, 0x30,
674 0x7a, 0x2e, 0x7a, 0x2c, 0x7a, 0x2a, 0x7a, 0x28, 0x7a, 0x26, 0x7a, 0x24, 0x7a, 0x22, 0x7a, 0x20, 0x7a,
675 0x1e, 0x7a, 0x1c, 0x7a, 0x1a, 0x7a, 0x18, 0x7a, 0x16, 0x7a, 0x14, 0x66, 0x90, 0x7a, 0x10, 0x7a, 0xe,
676 0x7a, 0xc, 0x7a, 0xa, 0x7a, 0x8, 0x7a, 0x6, 0x7a, 0x4, 0x7a, 0x2, 0x7a, 0x0, 0xc3,
677 },
678 },
679 }
680
681 code := asm.CodeSegment{}
682 defer func() { require.NoError(t, code.Unmap()) }()
683
684 for _, tc := range tests {
685 t.Run(fmt.Sprintf("%s/backward=%v", InstructionName(tc.jmpInst), tc.backward), func(t *testing.T) {
686 a := NewAssembler()
687
688 head := a.CompileStandAlone(RET)
689 var jmps []asm.Node
690 for i := 0; i < 128; i++ {
691 jmps = append(jmps, a.CompileJump(tc.jmpInst))
692 }
693 tail := a.CompileStandAlone(RET)
694
695 for _, jmp := range jmps {
696 if tc.backward {
697 jmp.AssignJumpTarget(head)
698 } else {
699 jmp.AssignJumpTarget(tail)
700 }
701 }
702
703 buf := code.NextCodeSection()
704 err := a.Assemble(buf)
705 require.NoError(t, err)
706
707 actual := buf.Bytes()
708 require.Equal(t, tc.exp, actual)
709 })
710 }
711 })
712 }
713
View as plain text