wa-lang.org/wazero@v1.0.2/internal/asm/amd64/impl_6_test.go (about)

     1  package amd64
     2  
     3  import (
     4  	"fmt"
     5  	"math"
     6  	"testing"
     7  
     8  	"wa-lang.org/wazero/internal/asm"
     9  	"wa-lang.org/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  				a := NewAssembler()
   172  				tc.setupFn(a)
   173  
   174  				actual, err := a.Assemble()
   175  				require.NoError(t, err)
   176  
   177  				require.Equal(t, tc.expected, actual)
   178  			})
   179  		}
   180  	})
   181  
   182  	t.Run("relative jumps", func(t *testing.T) {
   183  		tests := []struct {
   184  			jmpInst  asm.Instruction
   185  			backward bool
   186  			exp      []byte
   187  		}{
   188  			{
   189  				backward: false, jmpInst: JMP, exp: []byte{
   190  					0xc3, 0xe9, 0xe4, 0x1, 0x0, 0x0, 0xe9, 0xdf, 0x1, 0x0, 0x0, 0xe9, 0xda, 0x1, 0x0, 0x0, 0xe9, 0xd5,
   191  					0x1, 0x0, 0x0, 0xe9, 0xd0, 0x1, 0x0, 0x0, 0xe9, 0xcb, 0x1, 0x0, 0x0, 0x90, 0xe9, 0xc5, 0x1, 0x0,
   192  					0x0, 0xe9, 0xc0, 0x1, 0x0, 0x0, 0xe9, 0xbb, 0x1, 0x0, 0x0, 0xe9, 0xb6, 0x1, 0x0, 0x0, 0xe9, 0xb1,
   193  					0x1, 0x0, 0x0, 0xe9, 0xac, 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0xa5, 0x1, 0x0, 0x0, 0xe9, 0xa0, 0x1,
   194  					0x0, 0x0, 0xe9, 0x9b, 0x1, 0x0, 0x0, 0xe9, 0x96, 0x1, 0x0, 0x0, 0xe9, 0x91, 0x1, 0x0, 0x0, 0xe9,
   195  					0x8c, 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0x85, 0x1, 0x0, 0x0, 0xe9, 0x80, 0x1, 0x0, 0x0, 0xe9, 0x7b,
   196  					0x1, 0x0, 0x0, 0xe9, 0x76, 0x1, 0x0, 0x0, 0xe9, 0x71, 0x1, 0x0, 0x0, 0xe9, 0x6c, 0x1, 0x0, 0x0,
   197  					0x66, 0x90, 0xe9, 0x65, 0x1, 0x0, 0x0, 0xe9, 0x60, 0x1, 0x0, 0x0, 0xe9, 0x5b, 0x1, 0x0, 0x0, 0xe9,
   198  					0x56, 0x1, 0x0, 0x0, 0xe9, 0x51, 0x1, 0x0, 0x0, 0xe9, 0x4c, 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0x45,
   199  					0x1, 0x0, 0x0, 0xe9, 0x40, 0x1, 0x0, 0x0, 0xe9, 0x3b, 0x1, 0x0, 0x0, 0xe9, 0x36, 0x1, 0x0, 0x0, 0xe9,
   200  					0x31, 0x1, 0x0, 0x0, 0xe9, 0x2c, 0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0x25, 0x1, 0x0, 0x0, 0xe9, 0x20, 0x1,
   201  					0x0, 0x0, 0xe9, 0x1b, 0x1, 0x0, 0x0, 0xe9, 0x16, 0x1, 0x0, 0x0, 0xe9, 0x11, 0x1, 0x0, 0x0, 0xe9, 0xc,
   202  					0x1, 0x0, 0x0, 0x66, 0x90, 0xe9, 0x5, 0x1, 0x0, 0x0, 0xe9, 0x0, 0x1, 0x0, 0x0, 0xe9, 0xfb, 0x0, 0x0,
   203  					0x0, 0xe9, 0xf6, 0x0, 0x0, 0x0, 0xe9, 0xf1, 0x0, 0x0, 0x0, 0xe9, 0xec, 0x0, 0x0, 0x0, 0x66, 0x90, 0xe9,
   204  					0xe5, 0x0, 0x0, 0x0, 0xe9, 0xe0, 0x0, 0x0, 0x0, 0xe9, 0xdb, 0x0, 0x0, 0x0, 0xe9, 0xd6, 0x0, 0x0, 0x0,
   205  					0xe9, 0xd1, 0x0, 0x0, 0x0, 0xe9, 0xcc, 0x0, 0x0, 0x0, 0x66, 0x90, 0xe9, 0xc5, 0x0, 0x0, 0x0, 0xe9, 0xc0,
   206  					0x0, 0x0, 0x0, 0xe9, 0xbb, 0x0, 0x0, 0x0, 0xe9, 0xb6, 0x0, 0x0, 0x0, 0xe9, 0xb1, 0x0, 0x0, 0x0, 0xe9,
   207  					0xac, 0x0, 0x0, 0x0, 0x66, 0x90, 0xe9, 0xa5, 0x0, 0x0, 0x0, 0xe9, 0xa0, 0x0, 0x0, 0x0, 0xe9, 0x9b, 0x0,
   208  					0x0, 0x0, 0xe9, 0x96, 0x0, 0x0, 0x0, 0xe9, 0x91, 0x0, 0x0, 0x0, 0xe9, 0x8c, 0x0, 0x0, 0x0, 0x66, 0x90,
   209  					0xe9, 0x85, 0x0, 0x0, 0x0, 0xe9, 0x80, 0x0, 0x0, 0x0, 0xeb, 0x7e, 0xeb, 0x7c, 0xeb, 0x7a, 0xeb, 0x78, 0xeb,
   210  					0x76, 0xeb, 0x74, 0xeb, 0x72, 0xeb, 0x70, 0xeb, 0x6e, 0xeb, 0x6c, 0x66, 0x90, 0xeb, 0x68, 0xeb, 0x66, 0xeb, 0x64,
   211  					0xeb, 0x62, 0xeb, 0x60, 0xeb, 0x5e, 0xeb, 0x5c, 0xeb, 0x5a, 0xeb, 0x58, 0xeb, 0x56, 0xeb, 0x54, 0xeb, 0x52, 0xeb,
   212  					0x50, 0xeb, 0x4e, 0xeb, 0x4c, 0x66, 0x90, 0xeb, 0x48, 0xeb, 0x46, 0xeb, 0x44, 0xeb, 0x42, 0xeb, 0x40, 0xeb, 0x3e,
   213  					0xeb, 0x3c, 0xeb, 0x3a, 0xeb, 0x38, 0xeb, 0x36, 0xeb, 0x34, 0xeb, 0x32, 0xeb, 0x30, 0xeb, 0x2e, 0xeb, 0x2c,
   214  					0x66, 0x90, 0xeb, 0x28, 0xeb, 0x26, 0xeb, 0x24, 0xeb, 0x22, 0xeb, 0x20, 0xeb, 0x1e, 0xeb, 0x1c, 0xeb,
   215  					0x1a, 0xeb, 0x18, 0xeb, 0x16, 0xeb, 0x14, 0xeb, 0x12, 0xeb, 0x10, 0xeb, 0xe, 0xeb, 0xc, 0x66, 0x90,
   216  					0xeb, 0x8, 0xeb, 0x6, 0xeb, 0x4, 0xeb, 0x2, 0xeb, 0x0, 0xc3,
   217  				},
   218  			},
   219  			{
   220  				backward: false, jmpInst: JCC, exp: []byte{
   221  					0xc3, 0xf, 0x83, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x83, 0x25, 0x2, 0x0, 0x0, 0xf, 0x83, 0x1f, 0x2, 0x0,
   222  					0x0, 0xf, 0x83, 0x19, 0x2, 0x0, 0x0, 0xf, 0x83, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x83, 0xc, 0x2,
   223  					0x0, 0x0, 0xf, 0x83, 0x6, 0x2, 0x0, 0x0, 0xf, 0x83, 0x0, 0x2, 0x0, 0x0, 0xf, 0x83, 0xfa, 0x1,
   224  					0x0, 0x0, 0xf, 0x83, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xec, 0x1, 0x0, 0x0, 0xf, 0x83,
   225  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x83, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x83, 0xda, 0x1, 0x0, 0x0, 0xf, 0x83,
   226  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x83, 0xc6, 0x1, 0x0, 0x0,
   227  					0xf, 0x83, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x83, 0xba, 0x1, 0x0, 0x0, 0xf, 0x83, 0xb4, 0x1, 0x0, 0x0,
   228  					0x66, 0x90, 0xf, 0x83, 0xac, 0x1, 0x0, 0x0, 0xf, 0x83, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x83, 0xa0, 0x1,
   229  					0x0, 0x0, 0xf, 0x83, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x83, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83,
   230  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x83, 0x86, 0x1, 0x0, 0x0, 0xf, 0x83, 0x80, 0x1, 0x0, 0x0, 0xf, 0x83, 0x7a,
   231  					0x1, 0x0, 0x0, 0xf, 0x83, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x83,
   232  					0x66, 0x1, 0x0, 0x0, 0xf, 0x83, 0x60, 0x1, 0x0, 0x0, 0xf, 0x83, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x83, 0x54,
   233  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x83, 0x46, 0x1, 0x0, 0x0, 0xf, 0x83,
   234  					0x40, 0x1, 0x0, 0x0, 0xf, 0x83, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x83, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   235  					0x83, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x83, 0x26, 0x1, 0x0, 0x0, 0xf, 0x83, 0x20, 0x1, 0x0, 0x0, 0xf, 0x83,
   236  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x83, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xc, 0x1, 0x0, 0x0, 0xf,
   237  					0x83, 0x6, 0x1, 0x0, 0x0, 0xf, 0x83, 0x0, 0x1, 0x0, 0x0, 0xf, 0x83, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x83,
   238  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xec, 0x0, 0x0, 0x0, 0xf, 0x83, 0xe6, 0x0, 0x0, 0x0, 0xf,
   239  					0x83, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x83, 0xda, 0x0, 0x0, 0x0, 0xf, 0x83, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   240  					0xf, 0x83, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x83, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x83, 0xc0, 0x0, 0x0, 0x0, 0xf,
   241  					0x83, 0xba, 0x0, 0x0, 0x0, 0xf, 0x83, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0xac, 0x0, 0x0, 0x0,
   242  					0xf, 0x83, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x83, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x83, 0x9a, 0x0, 0x0, 0x0, 0xf,
   243  					0x83, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x83, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x83, 0x86, 0x0, 0x0, 0x0,
   244  					0xf, 0x83, 0x80, 0x0, 0x0, 0x0, 0x73, 0x7e, 0x73, 0x7c, 0x73, 0x7a, 0x73, 0x78, 0x73, 0x76, 0x73, 0x74,
   245  					0x66, 0x90, 0x73, 0x70, 0x73, 0x6e, 0x73, 0x6c, 0x73, 0x6a, 0x73, 0x68, 0x73, 0x66, 0x73, 0x64, 0x73,
   246  					0x62, 0x73, 0x60, 0x73, 0x5e, 0x73, 0x5c, 0x73, 0x5a, 0x73, 0x58, 0x73, 0x56, 0x73, 0x54, 0x66, 0x90,
   247  					0x73, 0x50, 0x73, 0x4e, 0x73, 0x4c, 0x73, 0x4a, 0x73, 0x48, 0x73, 0x46, 0x73, 0x44, 0x73, 0x42, 0x73,
   248  					0x40, 0x73, 0x3e, 0x73, 0x3c, 0x73, 0x3a, 0x73, 0x38, 0x73, 0x36, 0x73, 0x34, 0x66, 0x90, 0x73, 0x30,
   249  					0x73, 0x2e, 0x73, 0x2c, 0x73, 0x2a, 0x73, 0x28, 0x73, 0x26, 0x73, 0x24, 0x73, 0x22, 0x73, 0x20, 0x73,
   250  					0x1e, 0x73, 0x1c, 0x73, 0x1a, 0x73, 0x18, 0x73, 0x16, 0x73, 0x14, 0x66, 0x90, 0x73, 0x10, 0x73, 0xe,
   251  					0x73, 0xc, 0x73, 0xa, 0x73, 0x8, 0x73, 0x6, 0x73, 0x4, 0x73, 0x2, 0x73, 0x0, 0xc3,
   252  				},
   253  			},
   254  			{
   255  				backward: false, jmpInst: JCS, exp: []byte{
   256  					0xc3, 0xf, 0x82, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x82, 0x25, 0x2, 0x0, 0x0, 0xf, 0x82, 0x1f, 0x2, 0x0,
   257  					0x0, 0xf, 0x82, 0x19, 0x2, 0x0, 0x0, 0xf, 0x82, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x82, 0xc, 0x2,
   258  					0x0, 0x0, 0xf, 0x82, 0x6, 0x2, 0x0, 0x0, 0xf, 0x82, 0x0, 0x2, 0x0, 0x0, 0xf, 0x82, 0xfa, 0x1,
   259  					0x0, 0x0, 0xf, 0x82, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xec, 0x1, 0x0, 0x0, 0xf, 0x82,
   260  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x82, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x82, 0xda, 0x1, 0x0, 0x0, 0xf, 0x82,
   261  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x82, 0xc6, 0x1, 0x0, 0x0,
   262  					0xf, 0x82, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x82, 0xba, 0x1, 0x0, 0x0, 0xf, 0x82, 0xb4, 0x1, 0x0, 0x0,
   263  					0x66, 0x90, 0xf, 0x82, 0xac, 0x1, 0x0, 0x0, 0xf, 0x82, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x82, 0xa0, 0x1,
   264  					0x0, 0x0, 0xf, 0x82, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x82, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82,
   265  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x82, 0x86, 0x1, 0x0, 0x0, 0xf, 0x82, 0x80, 0x1, 0x0, 0x0, 0xf, 0x82, 0x7a,
   266  					0x1, 0x0, 0x0, 0xf, 0x82, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x82,
   267  					0x66, 0x1, 0x0, 0x0, 0xf, 0x82, 0x60, 0x1, 0x0, 0x0, 0xf, 0x82, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x82, 0x54,
   268  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x82, 0x46, 0x1, 0x0, 0x0, 0xf, 0x82,
   269  					0x40, 0x1, 0x0, 0x0, 0xf, 0x82, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x82, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   270  					0x82, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x82, 0x26, 0x1, 0x0, 0x0, 0xf, 0x82, 0x20, 0x1, 0x0, 0x0, 0xf, 0x82,
   271  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x82, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xc, 0x1, 0x0, 0x0, 0xf,
   272  					0x82, 0x6, 0x1, 0x0, 0x0, 0xf, 0x82, 0x0, 0x1, 0x0, 0x0, 0xf, 0x82, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x82,
   273  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xec, 0x0, 0x0, 0x0, 0xf, 0x82, 0xe6, 0x0, 0x0, 0x0, 0xf,
   274  					0x82, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x82, 0xda, 0x0, 0x0, 0x0, 0xf, 0x82, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   275  					0xf, 0x82, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x82, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x82, 0xc0, 0x0, 0x0, 0x0, 0xf,
   276  					0x82, 0xba, 0x0, 0x0, 0x0, 0xf, 0x82, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0xac, 0x0, 0x0, 0x0,
   277  					0xf, 0x82, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x82, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x82, 0x9a, 0x0, 0x0, 0x0, 0xf,
   278  					0x82, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x82, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x82, 0x86, 0x0, 0x0, 0x0,
   279  					0xf, 0x82, 0x80, 0x0, 0x0, 0x0, 0x72, 0x7e, 0x72, 0x7c, 0x72, 0x7a, 0x72, 0x78, 0x72, 0x76, 0x72, 0x74,
   280  					0x66, 0x90, 0x72, 0x70, 0x72, 0x6e, 0x72, 0x6c, 0x72, 0x6a, 0x72, 0x68, 0x72, 0x66, 0x72, 0x64, 0x72,
   281  					0x62, 0x72, 0x60, 0x72, 0x5e, 0x72, 0x5c, 0x72, 0x5a, 0x72, 0x58, 0x72, 0x56, 0x72, 0x54, 0x66, 0x90,
   282  					0x72, 0x50, 0x72, 0x4e, 0x72, 0x4c, 0x72, 0x4a, 0x72, 0x48, 0x72, 0x46, 0x72, 0x44, 0x72, 0x42, 0x72,
   283  					0x40, 0x72, 0x3e, 0x72, 0x3c, 0x72, 0x3a, 0x72, 0x38, 0x72, 0x36, 0x72, 0x34, 0x66, 0x90, 0x72, 0x30,
   284  					0x72, 0x2e, 0x72, 0x2c, 0x72, 0x2a, 0x72, 0x28, 0x72, 0x26, 0x72, 0x24, 0x72, 0x22, 0x72, 0x20, 0x72,
   285  					0x1e, 0x72, 0x1c, 0x72, 0x1a, 0x72, 0x18, 0x72, 0x16, 0x72, 0x14, 0x66, 0x90, 0x72, 0x10, 0x72, 0xe,
   286  					0x72, 0xc, 0x72, 0xa, 0x72, 0x8, 0x72, 0x6, 0x72, 0x4, 0x72, 0x2, 0x72, 0x0, 0xc3,
   287  				},
   288  			},
   289  			{
   290  				backward: false, jmpInst: JEQ, exp: []byte{
   291  					0xc3, 0xf, 0x84, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x84, 0x25, 0x2, 0x0, 0x0, 0xf, 0x84, 0x1f, 0x2, 0x0,
   292  					0x0, 0xf, 0x84, 0x19, 0x2, 0x0, 0x0, 0xf, 0x84, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x84, 0xc, 0x2,
   293  					0x0, 0x0, 0xf, 0x84, 0x6, 0x2, 0x0, 0x0, 0xf, 0x84, 0x0, 0x2, 0x0, 0x0, 0xf, 0x84, 0xfa, 0x1,
   294  					0x0, 0x0, 0xf, 0x84, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xec, 0x1, 0x0, 0x0, 0xf, 0x84,
   295  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x84, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x84, 0xda, 0x1, 0x0, 0x0, 0xf, 0x84,
   296  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x84, 0xc6, 0x1, 0x0, 0x0,
   297  					0xf, 0x84, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x84, 0xba, 0x1, 0x0, 0x0, 0xf, 0x84, 0xb4, 0x1, 0x0, 0x0,
   298  					0x66, 0x90, 0xf, 0x84, 0xac, 0x1, 0x0, 0x0, 0xf, 0x84, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x84, 0xa0, 0x1,
   299  					0x0, 0x0, 0xf, 0x84, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x84, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84,
   300  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x84, 0x86, 0x1, 0x0, 0x0, 0xf, 0x84, 0x80, 0x1, 0x0, 0x0, 0xf, 0x84, 0x7a,
   301  					0x1, 0x0, 0x0, 0xf, 0x84, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x84,
   302  					0x66, 0x1, 0x0, 0x0, 0xf, 0x84, 0x60, 0x1, 0x0, 0x0, 0xf, 0x84, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x84, 0x54,
   303  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x84, 0x46, 0x1, 0x0, 0x0, 0xf, 0x84,
   304  					0x40, 0x1, 0x0, 0x0, 0xf, 0x84, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x84, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   305  					0x84, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x84, 0x26, 0x1, 0x0, 0x0, 0xf, 0x84, 0x20, 0x1, 0x0, 0x0, 0xf, 0x84,
   306  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x84, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xc, 0x1, 0x0, 0x0, 0xf,
   307  					0x84, 0x6, 0x1, 0x0, 0x0, 0xf, 0x84, 0x0, 0x1, 0x0, 0x0, 0xf, 0x84, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x84,
   308  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xec, 0x0, 0x0, 0x0, 0xf, 0x84, 0xe6, 0x0, 0x0, 0x0, 0xf,
   309  					0x84, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x84, 0xda, 0x0, 0x0, 0x0, 0xf, 0x84, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   310  					0xf, 0x84, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x84, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x84, 0xc0, 0x0, 0x0, 0x0, 0xf,
   311  					0x84, 0xba, 0x0, 0x0, 0x0, 0xf, 0x84, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0xac, 0x0, 0x0, 0x0,
   312  					0xf, 0x84, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x84, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x84, 0x9a, 0x0, 0x0, 0x0, 0xf,
   313  					0x84, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x84, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x84, 0x86, 0x0, 0x0, 0x0,
   314  					0xf, 0x84, 0x80, 0x0, 0x0, 0x0, 0x74, 0x7e, 0x74, 0x7c, 0x74, 0x7a, 0x74, 0x78, 0x74, 0x76, 0x74, 0x74,
   315  					0x66, 0x90, 0x74, 0x70, 0x74, 0x6e, 0x74, 0x6c, 0x74, 0x6a, 0x74, 0x68, 0x74, 0x66, 0x74, 0x64, 0x74,
   316  					0x62, 0x74, 0x60, 0x74, 0x5e, 0x74, 0x5c, 0x74, 0x5a, 0x74, 0x58, 0x74, 0x56, 0x74, 0x54, 0x66, 0x90,
   317  					0x74, 0x50, 0x74, 0x4e, 0x74, 0x4c, 0x74, 0x4a, 0x74, 0x48, 0x74, 0x46, 0x74, 0x44, 0x74, 0x42, 0x74,
   318  					0x40, 0x74, 0x3e, 0x74, 0x3c, 0x74, 0x3a, 0x74, 0x38, 0x74, 0x36, 0x74, 0x34, 0x66, 0x90, 0x74, 0x30,
   319  					0x74, 0x2e, 0x74, 0x2c, 0x74, 0x2a, 0x74, 0x28, 0x74, 0x26, 0x74, 0x24, 0x74, 0x22, 0x74, 0x20, 0x74,
   320  					0x1e, 0x74, 0x1c, 0x74, 0x1a, 0x74, 0x18, 0x74, 0x16, 0x74, 0x14, 0x66, 0x90, 0x74, 0x10, 0x74, 0xe,
   321  					0x74, 0xc, 0x74, 0xa, 0x74, 0x8, 0x74, 0x6, 0x74, 0x4, 0x74, 0x2, 0x74, 0x0, 0xc3,
   322  				},
   323  			},
   324  			{
   325  				backward: false, jmpInst: JGE, exp: []byte{
   326  					0xc3, 0xf, 0x8d, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8d, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8d, 0x1f, 0x2, 0x0,
   327  					0x0, 0xf, 0x8d, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8d, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8d, 0xc, 0x2,
   328  					0x0, 0x0, 0xf, 0x8d, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8d, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8d, 0xfa, 0x1,
   329  					0x0, 0x0, 0xf, 0x8d, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8d,
   330  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8d,
   331  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xc6, 0x1, 0x0, 0x0,
   332  					0xf, 0x8d, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xb4, 0x1, 0x0, 0x0,
   333  					0x66, 0x90, 0xf, 0x8d, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xa0, 0x1,
   334  					0x0, 0x0, 0xf, 0x8d, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d,
   335  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x7a,
   336  					0x1, 0x0, 0x0, 0xf, 0x8d, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8d,
   337  					0x66, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x54,
   338  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8d,
   339  					0x40, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   340  					0x8d, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8d,
   341  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xc, 0x1, 0x0, 0x0, 0xf,
   342  					0x8d, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8d, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8d, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8d,
   343  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xe6, 0x0, 0x0, 0x0, 0xf,
   344  					0x8d, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   345  					0xf, 0x8d, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xc0, 0x0, 0x0, 0x0, 0xf,
   346  					0x8d, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0xac, 0x0, 0x0, 0x0,
   347  					0xf, 0x8d, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8d, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8d, 0x9a, 0x0, 0x0, 0x0, 0xf,
   348  					0x8d, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8d, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8d, 0x86, 0x0, 0x0, 0x0,
   349  					0xf, 0x8d, 0x80, 0x0, 0x0, 0x0, 0x7d, 0x7e, 0x7d, 0x7c, 0x7d, 0x7a, 0x7d, 0x78, 0x7d, 0x76, 0x7d, 0x74,
   350  					0x66, 0x90, 0x7d, 0x70, 0x7d, 0x6e, 0x7d, 0x6c, 0x7d, 0x6a, 0x7d, 0x68, 0x7d, 0x66, 0x7d, 0x64, 0x7d,
   351  					0x62, 0x7d, 0x60, 0x7d, 0x5e, 0x7d, 0x5c, 0x7d, 0x5a, 0x7d, 0x58, 0x7d, 0x56, 0x7d, 0x54, 0x66, 0x90,
   352  					0x7d, 0x50, 0x7d, 0x4e, 0x7d, 0x4c, 0x7d, 0x4a, 0x7d, 0x48, 0x7d, 0x46, 0x7d, 0x44, 0x7d, 0x42, 0x7d,
   353  					0x40, 0x7d, 0x3e, 0x7d, 0x3c, 0x7d, 0x3a, 0x7d, 0x38, 0x7d, 0x36, 0x7d, 0x34, 0x66, 0x90, 0x7d, 0x30,
   354  					0x7d, 0x2e, 0x7d, 0x2c, 0x7d, 0x2a, 0x7d, 0x28, 0x7d, 0x26, 0x7d, 0x24, 0x7d, 0x22, 0x7d, 0x20, 0x7d,
   355  					0x1e, 0x7d, 0x1c, 0x7d, 0x1a, 0x7d, 0x18, 0x7d, 0x16, 0x7d, 0x14, 0x66, 0x90, 0x7d, 0x10, 0x7d, 0xe,
   356  					0x7d, 0xc, 0x7d, 0xa, 0x7d, 0x8, 0x7d, 0x6, 0x7d, 0x4, 0x7d, 0x2, 0x7d, 0x0, 0xc3,
   357  				},
   358  			},
   359  			{
   360  				backward: false, jmpInst: JGT, exp: []byte{
   361  					0xc3, 0xf, 0x8f, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8f, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8f, 0x1f, 0x2, 0x0,
   362  					0x0, 0xf, 0x8f, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8f, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8f, 0xc, 0x2,
   363  					0x0, 0x0, 0xf, 0x8f, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8f, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8f, 0xfa, 0x1,
   364  					0x0, 0x0, 0xf, 0x8f, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8f,
   365  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8f,
   366  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xc6, 0x1, 0x0, 0x0,
   367  					0xf, 0x8f, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xb4, 0x1, 0x0, 0x0,
   368  					0x66, 0x90, 0xf, 0x8f, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xa0, 0x1,
   369  					0x0, 0x0, 0xf, 0x8f, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f,
   370  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x7a,
   371  					0x1, 0x0, 0x0, 0xf, 0x8f, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8f,
   372  					0x66, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x54,
   373  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8f,
   374  					0x40, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   375  					0x8f, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8f,
   376  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xc, 0x1, 0x0, 0x0, 0xf,
   377  					0x8f, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8f, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8f, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8f,
   378  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xe6, 0x0, 0x0, 0x0, 0xf,
   379  					0x8f, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   380  					0xf, 0x8f, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xc0, 0x0, 0x0, 0x0, 0xf,
   381  					0x8f, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0xac, 0x0, 0x0, 0x0,
   382  					0xf, 0x8f, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8f, 0x9a, 0x0, 0x0, 0x0, 0xf,
   383  					0x8f, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8f, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8f, 0x86, 0x0, 0x0, 0x0,
   384  					0xf, 0x8f, 0x80, 0x0, 0x0, 0x0, 0x7f, 0x7e, 0x7f, 0x7c, 0x7f, 0x7a, 0x7f, 0x78, 0x7f, 0x76, 0x7f, 0x74,
   385  					0x66, 0x90, 0x7f, 0x70, 0x7f, 0x6e, 0x7f, 0x6c, 0x7f, 0x6a, 0x7f, 0x68, 0x7f, 0x66, 0x7f, 0x64, 0x7f,
   386  					0x62, 0x7f, 0x60, 0x7f, 0x5e, 0x7f, 0x5c, 0x7f, 0x5a, 0x7f, 0x58, 0x7f, 0x56, 0x7f, 0x54, 0x66, 0x90,
   387  					0x7f, 0x50, 0x7f, 0x4e, 0x7f, 0x4c, 0x7f, 0x4a, 0x7f, 0x48, 0x7f, 0x46, 0x7f, 0x44, 0x7f, 0x42, 0x7f,
   388  					0x40, 0x7f, 0x3e, 0x7f, 0x3c, 0x7f, 0x3a, 0x7f, 0x38, 0x7f, 0x36, 0x7f, 0x34, 0x66, 0x90, 0x7f, 0x30,
   389  					0x7f, 0x2e, 0x7f, 0x2c, 0x7f, 0x2a, 0x7f, 0x28, 0x7f, 0x26, 0x7f, 0x24, 0x7f, 0x22, 0x7f, 0x20, 0x7f,
   390  					0x1e, 0x7f, 0x1c, 0x7f, 0x1a, 0x7f, 0x18, 0x7f, 0x16, 0x7f, 0x14, 0x66, 0x90, 0x7f, 0x10, 0x7f, 0xe,
   391  					0x7f, 0xc, 0x7f, 0xa, 0x7f, 0x8, 0x7f, 0x6, 0x7f, 0x4, 0x7f, 0x2, 0x7f, 0x0, 0xc3,
   392  				},
   393  			},
   394  			{
   395  				backward: false, jmpInst: JHI, exp: []byte{
   396  					0xc3, 0xf, 0x87, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x87, 0x25, 0x2, 0x0, 0x0, 0xf, 0x87, 0x1f, 0x2, 0x0,
   397  					0x0, 0xf, 0x87, 0x19, 0x2, 0x0, 0x0, 0xf, 0x87, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x87, 0xc, 0x2,
   398  					0x0, 0x0, 0xf, 0x87, 0x6, 0x2, 0x0, 0x0, 0xf, 0x87, 0x0, 0x2, 0x0, 0x0, 0xf, 0x87, 0xfa, 0x1,
   399  					0x0, 0x0, 0xf, 0x87, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xec, 0x1, 0x0, 0x0, 0xf, 0x87,
   400  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x87, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x87, 0xda, 0x1, 0x0, 0x0, 0xf, 0x87,
   401  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x87, 0xc6, 0x1, 0x0, 0x0,
   402  					0xf, 0x87, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x87, 0xba, 0x1, 0x0, 0x0, 0xf, 0x87, 0xb4, 0x1, 0x0, 0x0,
   403  					0x66, 0x90, 0xf, 0x87, 0xac, 0x1, 0x0, 0x0, 0xf, 0x87, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x87, 0xa0, 0x1,
   404  					0x0, 0x0, 0xf, 0x87, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x87, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87,
   405  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x87, 0x86, 0x1, 0x0, 0x0, 0xf, 0x87, 0x80, 0x1, 0x0, 0x0, 0xf, 0x87, 0x7a,
   406  					0x1, 0x0, 0x0, 0xf, 0x87, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x87,
   407  					0x66, 0x1, 0x0, 0x0, 0xf, 0x87, 0x60, 0x1, 0x0, 0x0, 0xf, 0x87, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x87, 0x54,
   408  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x87, 0x46, 0x1, 0x0, 0x0, 0xf, 0x87,
   409  					0x40, 0x1, 0x0, 0x0, 0xf, 0x87, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x87, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   410  					0x87, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x87, 0x26, 0x1, 0x0, 0x0, 0xf, 0x87, 0x20, 0x1, 0x0, 0x0, 0xf, 0x87,
   411  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x87, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xc, 0x1, 0x0, 0x0, 0xf,
   412  					0x87, 0x6, 0x1, 0x0, 0x0, 0xf, 0x87, 0x0, 0x1, 0x0, 0x0, 0xf, 0x87, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x87,
   413  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xec, 0x0, 0x0, 0x0, 0xf, 0x87, 0xe6, 0x0, 0x0, 0x0, 0xf,
   414  					0x87, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x87, 0xda, 0x0, 0x0, 0x0, 0xf, 0x87, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   415  					0xf, 0x87, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x87, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x87, 0xc0, 0x0, 0x0, 0x0, 0xf,
   416  					0x87, 0xba, 0x0, 0x0, 0x0, 0xf, 0x87, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0xac, 0x0, 0x0, 0x0,
   417  					0xf, 0x87, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x87, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x87, 0x9a, 0x0, 0x0, 0x0, 0xf,
   418  					0x87, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x87, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x87, 0x86, 0x0, 0x0, 0x0,
   419  					0xf, 0x87, 0x80, 0x0, 0x0, 0x0, 0x77, 0x7e, 0x77, 0x7c, 0x77, 0x7a, 0x77, 0x78, 0x77, 0x76, 0x77, 0x74,
   420  					0x66, 0x90, 0x77, 0x70, 0x77, 0x6e, 0x77, 0x6c, 0x77, 0x6a, 0x77, 0x68, 0x77, 0x66, 0x77, 0x64, 0x77,
   421  					0x62, 0x77, 0x60, 0x77, 0x5e, 0x77, 0x5c, 0x77, 0x5a, 0x77, 0x58, 0x77, 0x56, 0x77, 0x54, 0x66, 0x90,
   422  					0x77, 0x50, 0x77, 0x4e, 0x77, 0x4c, 0x77, 0x4a, 0x77, 0x48, 0x77, 0x46, 0x77, 0x44, 0x77, 0x42, 0x77,
   423  					0x40, 0x77, 0x3e, 0x77, 0x3c, 0x77, 0x3a, 0x77, 0x38, 0x77, 0x36, 0x77, 0x34, 0x66, 0x90, 0x77, 0x30,
   424  					0x77, 0x2e, 0x77, 0x2c, 0x77, 0x2a, 0x77, 0x28, 0x77, 0x26, 0x77, 0x24, 0x77, 0x22, 0x77, 0x20, 0x77,
   425  					0x1e, 0x77, 0x1c, 0x77, 0x1a, 0x77, 0x18, 0x77, 0x16, 0x77, 0x14, 0x66, 0x90, 0x77, 0x10, 0x77, 0xe,
   426  					0x77, 0xc, 0x77, 0xa, 0x77, 0x8, 0x77, 0x6, 0x77, 0x4, 0x77, 0x2, 0x77, 0x0, 0xc3,
   427  				},
   428  			},
   429  			{
   430  				backward: false, jmpInst: JLE, exp: []byte{
   431  					0xc3, 0xf, 0x8e, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8e, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8e, 0x1f, 0x2, 0x0,
   432  					0x0, 0xf, 0x8e, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8e, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8e, 0xc, 0x2,
   433  					0x0, 0x0, 0xf, 0x8e, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8e, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8e, 0xfa, 0x1,
   434  					0x0, 0x0, 0xf, 0x8e, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8e,
   435  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8e,
   436  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xc6, 0x1, 0x0, 0x0,
   437  					0xf, 0x8e, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xb4, 0x1, 0x0, 0x0,
   438  					0x66, 0x90, 0xf, 0x8e, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xa0, 0x1,
   439  					0x0, 0x0, 0xf, 0x8e, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e,
   440  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x7a,
   441  					0x1, 0x0, 0x0, 0xf, 0x8e, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8e,
   442  					0x66, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x54,
   443  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8e,
   444  					0x40, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   445  					0x8e, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8e,
   446  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xc, 0x1, 0x0, 0x0, 0xf,
   447  					0x8e, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8e, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8e, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8e,
   448  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xe6, 0x0, 0x0, 0x0, 0xf,
   449  					0x8e, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   450  					0xf, 0x8e, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xc0, 0x0, 0x0, 0x0, 0xf,
   451  					0x8e, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0xac, 0x0, 0x0, 0x0,
   452  					0xf, 0x8e, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8e, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8e, 0x9a, 0x0, 0x0, 0x0, 0xf,
   453  					0x8e, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8e, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8e, 0x86, 0x0, 0x0, 0x0,
   454  					0xf, 0x8e, 0x80, 0x0, 0x0, 0x0, 0x7e, 0x7e, 0x7e, 0x7c, 0x7e, 0x7a, 0x7e, 0x78, 0x7e, 0x76, 0x7e, 0x74,
   455  					0x66, 0x90, 0x7e, 0x70, 0x7e, 0x6e, 0x7e, 0x6c, 0x7e, 0x6a, 0x7e, 0x68, 0x7e, 0x66, 0x7e, 0x64, 0x7e,
   456  					0x62, 0x7e, 0x60, 0x7e, 0x5e, 0x7e, 0x5c, 0x7e, 0x5a, 0x7e, 0x58, 0x7e, 0x56, 0x7e, 0x54, 0x66, 0x90,
   457  					0x7e, 0x50, 0x7e, 0x4e, 0x7e, 0x4c, 0x7e, 0x4a, 0x7e, 0x48, 0x7e, 0x46, 0x7e, 0x44, 0x7e, 0x42, 0x7e,
   458  					0x40, 0x7e, 0x3e, 0x7e, 0x3c, 0x7e, 0x3a, 0x7e, 0x38, 0x7e, 0x36, 0x7e, 0x34, 0x66, 0x90, 0x7e, 0x30,
   459  					0x7e, 0x2e, 0x7e, 0x2c, 0x7e, 0x2a, 0x7e, 0x28, 0x7e, 0x26, 0x7e, 0x24, 0x7e, 0x22, 0x7e, 0x20, 0x7e,
   460  					0x1e, 0x7e, 0x1c, 0x7e, 0x1a, 0x7e, 0x18, 0x7e, 0x16, 0x7e, 0x14, 0x66, 0x90, 0x7e, 0x10, 0x7e, 0xe,
   461  					0x7e, 0xc, 0x7e, 0xa, 0x7e, 0x8, 0x7e, 0x6, 0x7e, 0x4, 0x7e, 0x2, 0x7e, 0x0, 0xc3,
   462  				},
   463  			},
   464  			{
   465  				backward: false, jmpInst: JLS, exp: []byte{
   466  					0xc3, 0xf, 0x86, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x86, 0x25, 0x2, 0x0, 0x0, 0xf, 0x86, 0x1f, 0x2, 0x0,
   467  					0x0, 0xf, 0x86, 0x19, 0x2, 0x0, 0x0, 0xf, 0x86, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x86, 0xc, 0x2,
   468  					0x0, 0x0, 0xf, 0x86, 0x6, 0x2, 0x0, 0x0, 0xf, 0x86, 0x0, 0x2, 0x0, 0x0, 0xf, 0x86, 0xfa, 0x1,
   469  					0x0, 0x0, 0xf, 0x86, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xec, 0x1, 0x0, 0x0, 0xf, 0x86,
   470  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x86, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x86, 0xda, 0x1, 0x0, 0x0, 0xf, 0x86,
   471  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x86, 0xc6, 0x1, 0x0, 0x0,
   472  					0xf, 0x86, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x86, 0xba, 0x1, 0x0, 0x0, 0xf, 0x86, 0xb4, 0x1, 0x0, 0x0,
   473  					0x66, 0x90, 0xf, 0x86, 0xac, 0x1, 0x0, 0x0, 0xf, 0x86, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x86, 0xa0, 0x1,
   474  					0x0, 0x0, 0xf, 0x86, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x86, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86,
   475  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x86, 0x86, 0x1, 0x0, 0x0, 0xf, 0x86, 0x80, 0x1, 0x0, 0x0, 0xf, 0x86, 0x7a,
   476  					0x1, 0x0, 0x0, 0xf, 0x86, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x86,
   477  					0x66, 0x1, 0x0, 0x0, 0xf, 0x86, 0x60, 0x1, 0x0, 0x0, 0xf, 0x86, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x86, 0x54,
   478  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x86, 0x46, 0x1, 0x0, 0x0, 0xf, 0x86,
   479  					0x40, 0x1, 0x0, 0x0, 0xf, 0x86, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x86, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   480  					0x86, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x86, 0x26, 0x1, 0x0, 0x0, 0xf, 0x86, 0x20, 0x1, 0x0, 0x0, 0xf, 0x86,
   481  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x86, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xc, 0x1, 0x0, 0x0, 0xf,
   482  					0x86, 0x6, 0x1, 0x0, 0x0, 0xf, 0x86, 0x0, 0x1, 0x0, 0x0, 0xf, 0x86, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x86,
   483  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xec, 0x0, 0x0, 0x0, 0xf, 0x86, 0xe6, 0x0, 0x0, 0x0, 0xf,
   484  					0x86, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x86, 0xda, 0x0, 0x0, 0x0, 0xf, 0x86, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   485  					0xf, 0x86, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x86, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x86, 0xc0, 0x0, 0x0, 0x0, 0xf,
   486  					0x86, 0xba, 0x0, 0x0, 0x0, 0xf, 0x86, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0xac, 0x0, 0x0, 0x0,
   487  					0xf, 0x86, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x86, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x86, 0x9a, 0x0, 0x0, 0x0, 0xf,
   488  					0x86, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x86, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x86, 0x86, 0x0, 0x0, 0x0,
   489  					0xf, 0x86, 0x80, 0x0, 0x0, 0x0, 0x76, 0x7e, 0x76, 0x7c, 0x76, 0x7a, 0x76, 0x78, 0x76, 0x76, 0x76, 0x74,
   490  					0x66, 0x90, 0x76, 0x70, 0x76, 0x6e, 0x76, 0x6c, 0x76, 0x6a, 0x76, 0x68, 0x76, 0x66, 0x76, 0x64, 0x76,
   491  					0x62, 0x76, 0x60, 0x76, 0x5e, 0x76, 0x5c, 0x76, 0x5a, 0x76, 0x58, 0x76, 0x56, 0x76, 0x54, 0x66, 0x90,
   492  					0x76, 0x50, 0x76, 0x4e, 0x76, 0x4c, 0x76, 0x4a, 0x76, 0x48, 0x76, 0x46, 0x76, 0x44, 0x76, 0x42, 0x76,
   493  					0x40, 0x76, 0x3e, 0x76, 0x3c, 0x76, 0x3a, 0x76, 0x38, 0x76, 0x36, 0x76, 0x34, 0x66, 0x90, 0x76, 0x30,
   494  					0x76, 0x2e, 0x76, 0x2c, 0x76, 0x2a, 0x76, 0x28, 0x76, 0x26, 0x76, 0x24, 0x76, 0x22, 0x76, 0x20, 0x76,
   495  					0x1e, 0x76, 0x1c, 0x76, 0x1a, 0x76, 0x18, 0x76, 0x16, 0x76, 0x14, 0x66, 0x90, 0x76, 0x10, 0x76, 0xe,
   496  					0x76, 0xc, 0x76, 0xa, 0x76, 0x8, 0x76, 0x6, 0x76, 0x4, 0x76, 0x2, 0x76, 0x0, 0xc3,
   497  				},
   498  			},
   499  			{
   500  				backward: false, jmpInst: JLT, exp: []byte{
   501  					0xc3, 0xf, 0x8c, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8c, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8c, 0x1f, 0x2, 0x0,
   502  					0x0, 0xf, 0x8c, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8c, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8c, 0xc, 0x2,
   503  					0x0, 0x0, 0xf, 0x8c, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8c, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8c, 0xfa, 0x1,
   504  					0x0, 0x0, 0xf, 0x8c, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8c,
   505  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8c,
   506  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xc6, 0x1, 0x0, 0x0,
   507  					0xf, 0x8c, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xb4, 0x1, 0x0, 0x0,
   508  					0x66, 0x90, 0xf, 0x8c, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xa0, 0x1,
   509  					0x0, 0x0, 0xf, 0x8c, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c,
   510  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x7a,
   511  					0x1, 0x0, 0x0, 0xf, 0x8c, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8c,
   512  					0x66, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x54,
   513  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8c,
   514  					0x40, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   515  					0x8c, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8c,
   516  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xc, 0x1, 0x0, 0x0, 0xf,
   517  					0x8c, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8c, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8c, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8c,
   518  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xe6, 0x0, 0x0, 0x0, 0xf,
   519  					0x8c, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   520  					0xf, 0x8c, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xc0, 0x0, 0x0, 0x0, 0xf,
   521  					0x8c, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0xac, 0x0, 0x0, 0x0,
   522  					0xf, 0x8c, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8c, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8c, 0x9a, 0x0, 0x0, 0x0, 0xf,
   523  					0x8c, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8c, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8c, 0x86, 0x0, 0x0, 0x0,
   524  					0xf, 0x8c, 0x80, 0x0, 0x0, 0x0, 0x7c, 0x7e, 0x7c, 0x7c, 0x7c, 0x7a, 0x7c, 0x78, 0x7c, 0x76, 0x7c, 0x74,
   525  					0x66, 0x90, 0x7c, 0x70, 0x7c, 0x6e, 0x7c, 0x6c, 0x7c, 0x6a, 0x7c, 0x68, 0x7c, 0x66, 0x7c, 0x64, 0x7c,
   526  					0x62, 0x7c, 0x60, 0x7c, 0x5e, 0x7c, 0x5c, 0x7c, 0x5a, 0x7c, 0x58, 0x7c, 0x56, 0x7c, 0x54, 0x66, 0x90,
   527  					0x7c, 0x50, 0x7c, 0x4e, 0x7c, 0x4c, 0x7c, 0x4a, 0x7c, 0x48, 0x7c, 0x46, 0x7c, 0x44, 0x7c, 0x42, 0x7c,
   528  					0x40, 0x7c, 0x3e, 0x7c, 0x3c, 0x7c, 0x3a, 0x7c, 0x38, 0x7c, 0x36, 0x7c, 0x34, 0x66, 0x90, 0x7c, 0x30,
   529  					0x7c, 0x2e, 0x7c, 0x2c, 0x7c, 0x2a, 0x7c, 0x28, 0x7c, 0x26, 0x7c, 0x24, 0x7c, 0x22, 0x7c, 0x20, 0x7c,
   530  					0x1e, 0x7c, 0x1c, 0x7c, 0x1a, 0x7c, 0x18, 0x7c, 0x16, 0x7c, 0x14, 0x66, 0x90, 0x7c, 0x10, 0x7c, 0xe,
   531  					0x7c, 0xc, 0x7c, 0xa, 0x7c, 0x8, 0x7c, 0x6, 0x7c, 0x4, 0x7c, 0x2, 0x7c, 0x0, 0xc3,
   532  				},
   533  			},
   534  			{
   535  				backward: false, jmpInst: JMI, exp: []byte{
   536  					0xc3, 0xf, 0x88, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x88, 0x25, 0x2, 0x0, 0x0, 0xf, 0x88, 0x1f, 0x2, 0x0,
   537  					0x0, 0xf, 0x88, 0x19, 0x2, 0x0, 0x0, 0xf, 0x88, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x88, 0xc, 0x2,
   538  					0x0, 0x0, 0xf, 0x88, 0x6, 0x2, 0x0, 0x0, 0xf, 0x88, 0x0, 0x2, 0x0, 0x0, 0xf, 0x88, 0xfa, 0x1,
   539  					0x0, 0x0, 0xf, 0x88, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xec, 0x1, 0x0, 0x0, 0xf, 0x88,
   540  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x88, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x88, 0xda, 0x1, 0x0, 0x0, 0xf, 0x88,
   541  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x88, 0xc6, 0x1, 0x0, 0x0,
   542  					0xf, 0x88, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x88, 0xba, 0x1, 0x0, 0x0, 0xf, 0x88, 0xb4, 0x1, 0x0, 0x0,
   543  					0x66, 0x90, 0xf, 0x88, 0xac, 0x1, 0x0, 0x0, 0xf, 0x88, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x88, 0xa0, 0x1,
   544  					0x0, 0x0, 0xf, 0x88, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x88, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88,
   545  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x88, 0x86, 0x1, 0x0, 0x0, 0xf, 0x88, 0x80, 0x1, 0x0, 0x0, 0xf, 0x88, 0x7a,
   546  					0x1, 0x0, 0x0, 0xf, 0x88, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x88,
   547  					0x66, 0x1, 0x0, 0x0, 0xf, 0x88, 0x60, 0x1, 0x0, 0x0, 0xf, 0x88, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x88, 0x54,
   548  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x88, 0x46, 0x1, 0x0, 0x0, 0xf, 0x88,
   549  					0x40, 0x1, 0x0, 0x0, 0xf, 0x88, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x88, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   550  					0x88, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x88, 0x26, 0x1, 0x0, 0x0, 0xf, 0x88, 0x20, 0x1, 0x0, 0x0, 0xf, 0x88,
   551  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x88, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xc, 0x1, 0x0, 0x0, 0xf,
   552  					0x88, 0x6, 0x1, 0x0, 0x0, 0xf, 0x88, 0x0, 0x1, 0x0, 0x0, 0xf, 0x88, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x88,
   553  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xec, 0x0, 0x0, 0x0, 0xf, 0x88, 0xe6, 0x0, 0x0, 0x0, 0xf,
   554  					0x88, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x88, 0xda, 0x0, 0x0, 0x0, 0xf, 0x88, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   555  					0xf, 0x88, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x88, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x88, 0xc0, 0x0, 0x0, 0x0, 0xf,
   556  					0x88, 0xba, 0x0, 0x0, 0x0, 0xf, 0x88, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0xac, 0x0, 0x0, 0x0,
   557  					0xf, 0x88, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x88, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x88, 0x9a, 0x0, 0x0, 0x0, 0xf,
   558  					0x88, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x88, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x88, 0x86, 0x0, 0x0, 0x0,
   559  					0xf, 0x88, 0x80, 0x0, 0x0, 0x0, 0x78, 0x7e, 0x78, 0x7c, 0x78, 0x7a, 0x78, 0x78, 0x78, 0x76, 0x78, 0x74,
   560  					0x66, 0x90, 0x78, 0x70, 0x78, 0x6e, 0x78, 0x6c, 0x78, 0x6a, 0x78, 0x68, 0x78, 0x66, 0x78, 0x64, 0x78,
   561  					0x62, 0x78, 0x60, 0x78, 0x5e, 0x78, 0x5c, 0x78, 0x5a, 0x78, 0x58, 0x78, 0x56, 0x78, 0x54, 0x66, 0x90,
   562  					0x78, 0x50, 0x78, 0x4e, 0x78, 0x4c, 0x78, 0x4a, 0x78, 0x48, 0x78, 0x46, 0x78, 0x44, 0x78, 0x42, 0x78,
   563  					0x40, 0x78, 0x3e, 0x78, 0x3c, 0x78, 0x3a, 0x78, 0x38, 0x78, 0x36, 0x78, 0x34, 0x66, 0x90, 0x78, 0x30,
   564  					0x78, 0x2e, 0x78, 0x2c, 0x78, 0x2a, 0x78, 0x28, 0x78, 0x26, 0x78, 0x24, 0x78, 0x22, 0x78, 0x20, 0x78,
   565  					0x1e, 0x78, 0x1c, 0x78, 0x1a, 0x78, 0x18, 0x78, 0x16, 0x78, 0x14, 0x66, 0x90, 0x78, 0x10, 0x78, 0xe,
   566  					0x78, 0xc, 0x78, 0xa, 0x78, 0x8, 0x78, 0x6, 0x78, 0x4, 0x78, 0x2, 0x78, 0x0, 0xc3,
   567  				},
   568  			},
   569  			{
   570  				backward: false, jmpInst: JNE, exp: []byte{
   571  					0xc3, 0xf, 0x85, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x85, 0x25, 0x2, 0x0, 0x0, 0xf, 0x85, 0x1f, 0x2, 0x0,
   572  					0x0, 0xf, 0x85, 0x19, 0x2, 0x0, 0x0, 0xf, 0x85, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x85, 0xc, 0x2,
   573  					0x0, 0x0, 0xf, 0x85, 0x6, 0x2, 0x0, 0x0, 0xf, 0x85, 0x0, 0x2, 0x0, 0x0, 0xf, 0x85, 0xfa, 0x1,
   574  					0x0, 0x0, 0xf, 0x85, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xec, 0x1, 0x0, 0x0, 0xf, 0x85,
   575  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x85, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x85, 0xda, 0x1, 0x0, 0x0, 0xf, 0x85,
   576  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x85, 0xc6, 0x1, 0x0, 0x0,
   577  					0xf, 0x85, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x85, 0xba, 0x1, 0x0, 0x0, 0xf, 0x85, 0xb4, 0x1, 0x0, 0x0,
   578  					0x66, 0x90, 0xf, 0x85, 0xac, 0x1, 0x0, 0x0, 0xf, 0x85, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x85, 0xa0, 0x1,
   579  					0x0, 0x0, 0xf, 0x85, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x85, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85,
   580  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x85, 0x86, 0x1, 0x0, 0x0, 0xf, 0x85, 0x80, 0x1, 0x0, 0x0, 0xf, 0x85, 0x7a,
   581  					0x1, 0x0, 0x0, 0xf, 0x85, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x85,
   582  					0x66, 0x1, 0x0, 0x0, 0xf, 0x85, 0x60, 0x1, 0x0, 0x0, 0xf, 0x85, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x85, 0x54,
   583  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x85, 0x46, 0x1, 0x0, 0x0, 0xf, 0x85,
   584  					0x40, 0x1, 0x0, 0x0, 0xf, 0x85, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x85, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   585  					0x85, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x85, 0x26, 0x1, 0x0, 0x0, 0xf, 0x85, 0x20, 0x1, 0x0, 0x0, 0xf, 0x85,
   586  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x85, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xc, 0x1, 0x0, 0x0, 0xf,
   587  					0x85, 0x6, 0x1, 0x0, 0x0, 0xf, 0x85, 0x0, 0x1, 0x0, 0x0, 0xf, 0x85, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x85,
   588  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xec, 0x0, 0x0, 0x0, 0xf, 0x85, 0xe6, 0x0, 0x0, 0x0, 0xf,
   589  					0x85, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x85, 0xda, 0x0, 0x0, 0x0, 0xf, 0x85, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   590  					0xf, 0x85, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x85, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x85, 0xc0, 0x0, 0x0, 0x0, 0xf,
   591  					0x85, 0xba, 0x0, 0x0, 0x0, 0xf, 0x85, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0xac, 0x0, 0x0, 0x0,
   592  					0xf, 0x85, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x85, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x85, 0x9a, 0x0, 0x0, 0x0, 0xf,
   593  					0x85, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x85, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x85, 0x86, 0x0, 0x0, 0x0,
   594  					0xf, 0x85, 0x80, 0x0, 0x0, 0x0, 0x75, 0x7e, 0x75, 0x7c, 0x75, 0x7a, 0x75, 0x78, 0x75, 0x76, 0x75, 0x74,
   595  					0x66, 0x90, 0x75, 0x70, 0x75, 0x6e, 0x75, 0x6c, 0x75, 0x6a, 0x75, 0x68, 0x75, 0x66, 0x75, 0x64, 0x75,
   596  					0x62, 0x75, 0x60, 0x75, 0x5e, 0x75, 0x5c, 0x75, 0x5a, 0x75, 0x58, 0x75, 0x56, 0x75, 0x54, 0x66, 0x90,
   597  					0x75, 0x50, 0x75, 0x4e, 0x75, 0x4c, 0x75, 0x4a, 0x75, 0x48, 0x75, 0x46, 0x75, 0x44, 0x75, 0x42, 0x75,
   598  					0x40, 0x75, 0x3e, 0x75, 0x3c, 0x75, 0x3a, 0x75, 0x38, 0x75, 0x36, 0x75, 0x34, 0x66, 0x90, 0x75, 0x30,
   599  					0x75, 0x2e, 0x75, 0x2c, 0x75, 0x2a, 0x75, 0x28, 0x75, 0x26, 0x75, 0x24, 0x75, 0x22, 0x75, 0x20, 0x75,
   600  					0x1e, 0x75, 0x1c, 0x75, 0x1a, 0x75, 0x18, 0x75, 0x16, 0x75, 0x14, 0x66, 0x90, 0x75, 0x10, 0x75, 0xe,
   601  					0x75, 0xc, 0x75, 0xa, 0x75, 0x8, 0x75, 0x6, 0x75, 0x4, 0x75, 0x2, 0x75, 0x0, 0xc3,
   602  				},
   603  			},
   604  			{
   605  				backward: false, jmpInst: JPC, exp: []byte{
   606  					0xc3, 0xf, 0x8b, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8b, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8b, 0x1f, 0x2, 0x0,
   607  					0x0, 0xf, 0x8b, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8b, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8b, 0xc, 0x2,
   608  					0x0, 0x0, 0xf, 0x8b, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8b, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8b, 0xfa, 0x1,
   609  					0x0, 0x0, 0xf, 0x8b, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8b,
   610  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8b,
   611  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xc6, 0x1, 0x0, 0x0,
   612  					0xf, 0x8b, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xb4, 0x1, 0x0, 0x0,
   613  					0x66, 0x90, 0xf, 0x8b, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xa0, 0x1,
   614  					0x0, 0x0, 0xf, 0x8b, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b,
   615  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x7a,
   616  					0x1, 0x0, 0x0, 0xf, 0x8b, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8b,
   617  					0x66, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x54,
   618  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8b,
   619  					0x40, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   620  					0x8b, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8b,
   621  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xc, 0x1, 0x0, 0x0, 0xf,
   622  					0x8b, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8b, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8b, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8b,
   623  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xe6, 0x0, 0x0, 0x0, 0xf,
   624  					0x8b, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   625  					0xf, 0x8b, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xc0, 0x0, 0x0, 0x0, 0xf,
   626  					0x8b, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0xac, 0x0, 0x0, 0x0,
   627  					0xf, 0x8b, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8b, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8b, 0x9a, 0x0, 0x0, 0x0, 0xf,
   628  					0x8b, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8b, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8b, 0x86, 0x0, 0x0, 0x0,
   629  					0xf, 0x8b, 0x80, 0x0, 0x0, 0x0, 0x7b, 0x7e, 0x7b, 0x7c, 0x7b, 0x7a, 0x7b, 0x78, 0x7b, 0x76, 0x7b, 0x74,
   630  					0x66, 0x90, 0x7b, 0x70, 0x7b, 0x6e, 0x7b, 0x6c, 0x7b, 0x6a, 0x7b, 0x68, 0x7b, 0x66, 0x7b, 0x64, 0x7b,
   631  					0x62, 0x7b, 0x60, 0x7b, 0x5e, 0x7b, 0x5c, 0x7b, 0x5a, 0x7b, 0x58, 0x7b, 0x56, 0x7b, 0x54, 0x66, 0x90,
   632  					0x7b, 0x50, 0x7b, 0x4e, 0x7b, 0x4c, 0x7b, 0x4a, 0x7b, 0x48, 0x7b, 0x46, 0x7b, 0x44, 0x7b, 0x42, 0x7b,
   633  					0x40, 0x7b, 0x3e, 0x7b, 0x3c, 0x7b, 0x3a, 0x7b, 0x38, 0x7b, 0x36, 0x7b, 0x34, 0x66, 0x90, 0x7b, 0x30,
   634  					0x7b, 0x2e, 0x7b, 0x2c, 0x7b, 0x2a, 0x7b, 0x28, 0x7b, 0x26, 0x7b, 0x24, 0x7b, 0x22, 0x7b, 0x20, 0x7b,
   635  					0x1e, 0x7b, 0x1c, 0x7b, 0x1a, 0x7b, 0x18, 0x7b, 0x16, 0x7b, 0x14, 0x66, 0x90, 0x7b, 0x10, 0x7b, 0xe,
   636  					0x7b, 0xc, 0x7b, 0xa, 0x7b, 0x8, 0x7b, 0x6, 0x7b, 0x4, 0x7b, 0x2, 0x7b, 0x0, 0xc3,
   637  				},
   638  			},
   639  			{
   640  				backward: false, jmpInst: JPS, exp: []byte{
   641  					0xc3, 0xf, 0x8a, 0x2b, 0x2, 0x0, 0x0, 0xf, 0x8a, 0x25, 0x2, 0x0, 0x0, 0xf, 0x8a, 0x1f, 0x2, 0x0,
   642  					0x0, 0xf, 0x8a, 0x19, 0x2, 0x0, 0x0, 0xf, 0x8a, 0x13, 0x2, 0x0, 0x0, 0x90, 0xf, 0x8a, 0xc, 0x2,
   643  					0x0, 0x0, 0xf, 0x8a, 0x6, 0x2, 0x0, 0x0, 0xf, 0x8a, 0x0, 0x2, 0x0, 0x0, 0xf, 0x8a, 0xfa, 0x1,
   644  					0x0, 0x0, 0xf, 0x8a, 0xf4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xec, 0x1, 0x0, 0x0, 0xf, 0x8a,
   645  					0xe6, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xe0, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xda, 0x1, 0x0, 0x0, 0xf, 0x8a,
   646  					0xd4, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xcc, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xc6, 0x1, 0x0, 0x0,
   647  					0xf, 0x8a, 0xc0, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xba, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xb4, 0x1, 0x0, 0x0,
   648  					0x66, 0x90, 0xf, 0x8a, 0xac, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xa6, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xa0, 0x1,
   649  					0x0, 0x0, 0xf, 0x8a, 0x9a, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x94, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a,
   650  					0x8c, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x86, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x80, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x7a,
   651  					0x1, 0x0, 0x0, 0xf, 0x8a, 0x74, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0x6c, 0x1, 0x0, 0x0, 0xf, 0x8a,
   652  					0x66, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x60, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x5a, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x54,
   653  					0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0x4c, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x46, 0x1, 0x0, 0x0, 0xf, 0x8a,
   654  					0x40, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x3a, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x34, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf,
   655  					0x8a, 0x2c, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x26, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x20, 0x1, 0x0, 0x0, 0xf, 0x8a,
   656  					0x1a, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x14, 0x1, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xc, 0x1, 0x0, 0x0, 0xf,
   657  					0x8a, 0x6, 0x1, 0x0, 0x0, 0xf, 0x8a, 0x0, 0x1, 0x0, 0x0, 0xf, 0x8a, 0xfa, 0x0, 0x0, 0x0, 0xf, 0x8a,
   658  					0xf4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xec, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xe6, 0x0, 0x0, 0x0, 0xf,
   659  					0x8a, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xda, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xd4, 0x0, 0x0, 0x0, 0x66, 0x90,
   660  					0xf, 0x8a, 0xcc, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xc6, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xc0, 0x0, 0x0, 0x0, 0xf,
   661  					0x8a, 0xba, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xb4, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0xac, 0x0, 0x0, 0x0,
   662  					0xf, 0x8a, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x8a, 0xa0, 0x0, 0x0, 0x0, 0xf, 0x8a, 0x9a, 0x0, 0x0, 0x0, 0xf,
   663  					0x8a, 0x94, 0x0, 0x0, 0x0, 0x66, 0x90, 0xf, 0x8a, 0x8c, 0x0, 0x0, 0x0, 0xf, 0x8a, 0x86, 0x0, 0x0, 0x0,
   664  					0xf, 0x8a, 0x80, 0x0, 0x0, 0x0, 0x7a, 0x7e, 0x7a, 0x7c, 0x7a, 0x7a, 0x7a, 0x78, 0x7a, 0x76, 0x7a, 0x74,
   665  					0x66, 0x90, 0x7a, 0x70, 0x7a, 0x6e, 0x7a, 0x6c, 0x7a, 0x6a, 0x7a, 0x68, 0x7a, 0x66, 0x7a, 0x64, 0x7a,
   666  					0x62, 0x7a, 0x60, 0x7a, 0x5e, 0x7a, 0x5c, 0x7a, 0x5a, 0x7a, 0x58, 0x7a, 0x56, 0x7a, 0x54, 0x66, 0x90,
   667  					0x7a, 0x50, 0x7a, 0x4e, 0x7a, 0x4c, 0x7a, 0x4a, 0x7a, 0x48, 0x7a, 0x46, 0x7a, 0x44, 0x7a, 0x42, 0x7a,
   668  					0x40, 0x7a, 0x3e, 0x7a, 0x3c, 0x7a, 0x3a, 0x7a, 0x38, 0x7a, 0x36, 0x7a, 0x34, 0x66, 0x90, 0x7a, 0x30,
   669  					0x7a, 0x2e, 0x7a, 0x2c, 0x7a, 0x2a, 0x7a, 0x28, 0x7a, 0x26, 0x7a, 0x24, 0x7a, 0x22, 0x7a, 0x20, 0x7a,
   670  					0x1e, 0x7a, 0x1c, 0x7a, 0x1a, 0x7a, 0x18, 0x7a, 0x16, 0x7a, 0x14, 0x66, 0x90, 0x7a, 0x10, 0x7a, 0xe,
   671  					0x7a, 0xc, 0x7a, 0xa, 0x7a, 0x8, 0x7a, 0x6, 0x7a, 0x4, 0x7a, 0x2, 0x7a, 0x0, 0xc3,
   672  				},
   673  			},
   674  		}
   675  
   676  		for _, tc := range tests {
   677  			t.Run(fmt.Sprintf("%s/backward=%v", InstructionName(tc.jmpInst), tc.backward), func(t *testing.T) {
   678  				a := NewAssembler()
   679  
   680  				head := a.CompileStandAlone(RET)
   681  				var jmps []asm.Node
   682  				for i := 0; i < 128; i++ { // Large enough so that this includes long jump.
   683  					jmps = append(jmps, a.CompileJump(tc.jmpInst))
   684  				}
   685  				tail := a.CompileStandAlone(RET)
   686  
   687  				for _, jmp := range jmps {
   688  					if tc.backward {
   689  						jmp.AssignJumpTarget(head)
   690  					} else {
   691  						jmp.AssignJumpTarget(tail)
   692  					}
   693  				}
   694  
   695  				actual, err := a.Assemble()
   696  				require.NoError(t, err)
   697  				require.Equal(t, tc.exp, actual)
   698  			})
   699  		}
   700  	})
   701  }