From 232cff02d27e1e99f9d195084557972fb90f4104 Mon Sep 17 00:00:00 2001 From: enkomio Date: Sat, 2 Jan 2016 14:09:56 +0100 Subject: [PATCH 1/6] Implemented IDisposable in order to disposed allocated unmanaged memory --- bindings/dotnet/Unicorn/Unicorn.fs | 52 ++++++++++++++----- bindings/dotnet/Unicorn/Unicorn.fsproj | 11 ++-- bindings/dotnet/UnicornTests/App.config | 6 +-- bindings/dotnet/UnicornTests/Program.cs | 3 ++ bindings/dotnet/UnicornTests/ShellcodeTest.cs | 38 +++++++------- .../dotnet/UnicornTests/UnicornTests.csproj | 4 +- 6 files changed, 75 insertions(+), 39 deletions(-) diff --git a/bindings/dotnet/Unicorn/Unicorn.fs b/bindings/dotnet/Unicorn/Unicorn.fs index 79108c1d..5c881e57 100644 --- a/bindings/dotnet/Unicorn/Unicorn.fs +++ b/bindings/dotnet/Unicorn/Unicorn.fs @@ -51,6 +51,7 @@ and Unicorn(arch: Int32, mode: Int32) = let _inHooks = new Dictionary() let _outHooks = new Dictionary() let _syscallHooks = new Dictionary() + let _disposablePointers = new List() let mutable _eng = [|UIntPtr.Zero|] @@ -66,10 +67,14 @@ and Unicorn(arch: Int32, mode: Int32) = callbacks.Keys |> Seq.tryFind(fun k -> match callbacks.[k] with | (c, _) -> c = callback) |> (fun k -> if k.IsSome then callbacks.Remove(k.Value) |> ignore) + + let allocate(size: Int32) = + let mem = Marshal.AllocHGlobal(size) + _disposablePointers.Add(mem) + mem.ToPointer() - do - let mem = Marshal.AllocHGlobal(IntPtr.Size) - _eng <- [|new UIntPtr(mem.ToPointer())|] + do + _eng <- [|new UIntPtr(allocate(IntPtr.Size))|] let err = NativeUnicornEngine.uc_open(uint32 arch, uint32 mode, _eng) checkResult(err, "Unable to open the Unicorn Engine") @@ -130,8 +135,8 @@ and Unicorn(arch: Int32, mode: Int32) = let id = getId() _codeHooks.Add(id, (callback, userData)) - let funcPointer = Marshal.GetFunctionPointerForDelegate(new CodeHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let funcPointer = Marshal.GetFunctionPointerForDelegate(new CodeHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_arg0_arg1(_eng.[0], hh, Common.UC_HOOK_CODE, new UIntPtr(funcPointer.ToPointer()), id, beginAdd, endAddr) |> this.CheckResult with | Some e -> raise e | None -> () @@ -147,7 +152,7 @@ and Unicorn(arch: Int32, mode: Int32) = _blockHooks.Add(id, (callback, userData)) let funcPointer = Marshal.GetFunctionPointerForDelegate(new BlockHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_arg0_arg1(_eng.[0], hh, Common.UC_HOOK_BLOCK, new UIntPtr(funcPointer.ToPointer()), id, beginAdd, endAddr) |> this.CheckResult with | Some e -> raise e | None -> () @@ -163,7 +168,7 @@ and Unicorn(arch: Int32, mode: Int32) = _interruptHooks.Add(id, (callback, userData)) let funcPointer = Marshal.GetFunctionPointerForDelegate(new InterruptHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_noarg(_eng.[0], hh, Common.UC_HOOK_INTR, new UIntPtr(funcPointer.ToPointer()), id) |> this.CheckResult with | Some e -> raise e | None -> () @@ -179,7 +184,7 @@ and Unicorn(arch: Int32, mode: Int32) = _memReadHooks.Add(id, (callback, userData)) let funcPointer = Marshal.GetFunctionPointerForDelegate(new MemReadHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_arg0_arg1(_eng.[0], hh, Common.UC_HOOK_MEM_READ, new UIntPtr(funcPointer.ToPointer()), id, beginAdd, endAddr) |> this.CheckResult with | Some e -> raise e | None -> () @@ -195,7 +200,7 @@ and Unicorn(arch: Int32, mode: Int32) = _memWriteHooks.Add(id, (callback, userData)) let funcPointer = Marshal.GetFunctionPointerForDelegate(new MemWriteHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_arg0_arg1(_eng.[0], hh, Common.UC_HOOK_MEM_WRITE, new UIntPtr(funcPointer.ToPointer()), id, beginAdd, endAddr) |> this.CheckResult with | Some e -> raise e | None -> () @@ -212,7 +217,7 @@ and Unicorn(arch: Int32, mode: Int32) = _memEventHooks.Add(id, (callback, userData)) let funcPointer = Marshal.GetFunctionPointerForDelegate(new EventMemHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_noarg(_eng.[0], hh, check, new UIntPtr(funcPointer.ToPointer()), id) |> this.CheckResult with | Some e -> raise e | None -> () @@ -241,7 +246,7 @@ and Unicorn(arch: Int32, mode: Int32) = _inHooks.Add(id, (callback, userData)) let funcPointer = Marshal.GetFunctionPointerForDelegate(new InHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_arg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_IN)) |> this.CheckResult with | Some e -> raise e | None -> () @@ -254,7 +259,7 @@ and Unicorn(arch: Int32, mode: Int32) = _outHooks.Add(id, (callback, userData)) let funcPointer = Marshal.GetFunctionPointerForDelegate(new OutHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_arg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_OUT)) |> this.CheckResult with | Some e -> raise e | None -> () @@ -267,7 +272,7 @@ and Unicorn(arch: Int32, mode: Int32) = _syscallHooks.Add(id, (callback, userData)) let funcPointer = Marshal.GetFunctionPointerForDelegate(new SyscallHookInternal(trampoline)) - let hh = new UIntPtr(Marshal.AllocHGlobal(IntPtr.Size).ToPointer()) + let hh = new UIntPtr(allocate(IntPtr.Size)) match NativeUnicornEngine.hook_add_arg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_SYSCALL)) |> this.CheckResult with | Some e -> raise e | None -> () @@ -275,3 +280,24 @@ and Unicorn(arch: Int32, mode: Int32) = let (major, minor) = (new UIntPtr(), new UIntPtr()) let combined = NativeUnicornEngine.version(major, minor) (major.ToUInt32(), minor.ToUInt32(), combined) + + abstract Dispose : Boolean -> unit + default this.Dispose(disposing: Boolean) = + if (disposing) then + // free managed resources, this is the default dispose implementation pattern + () + + _disposablePointers + |> Seq.filter(fun pointer -> pointer <> IntPtr.Zero) + |> Seq.iter Marshal.FreeHGlobal + + member this.Dispose() = + this.Dispose(true) + GC.SuppressFinalize(this) + + override this.Finalize() = + this.Dispose(false) + + interface IDisposable with + member this.Dispose() = + this.Dispose() diff --git a/bindings/dotnet/Unicorn/Unicorn.fsproj b/bindings/dotnet/Unicorn/Unicorn.fsproj index 8f6ee136..1bb52e8c 100644 --- a/bindings/dotnet/Unicorn/Unicorn.fsproj +++ b/bindings/dotnet/Unicorn/Unicorn.fsproj @@ -8,9 +8,9 @@ 6f0e55fa-a056-45ff-bb24-641457b430a8 Library UnicornSln - UnicornSln - v4.5 - 4.3.0.0 + UnicornManaged + v4.6 + 4.4.0.0 Unicorn @@ -22,8 +22,11 @@ bin\Debug\ DEBUG;TRACE 3 - bin\Debug\UnicornSln.XML + bin\Debug\UnicornManaged.XML x86 + true + + true pdbonly diff --git a/bindings/dotnet/UnicornTests/App.config b/bindings/dotnet/UnicornTests/App.config index 9c05822f..2d2a12d8 100644 --- a/bindings/dotnet/UnicornTests/App.config +++ b/bindings/dotnet/UnicornTests/App.config @@ -1,6 +1,6 @@ - + - + - \ No newline at end of file + diff --git a/bindings/dotnet/UnicornTests/Program.cs b/bindings/dotnet/UnicornTests/Program.cs index dde8d1e8..9cdd5cd2 100644 --- a/bindings/dotnet/UnicornTests/Program.cs +++ b/bindings/dotnet/UnicornTests/Program.cs @@ -34,6 +34,9 @@ namespace UnicornTests // Run all shellcode tests ShellcodeTest.TestX86Code32Self(); ShellcodeTest.TestX86Code32(); + + Console.Write("Tests completed"); + Console.ReadLine(); } } } diff --git a/bindings/dotnet/UnicornTests/ShellcodeTest.cs b/bindings/dotnet/UnicornTests/ShellcodeTest.cs index e254fb4a..af1481f3 100644 --- a/bindings/dotnet/UnicornTests/ShellcodeTest.cs +++ b/bindings/dotnet/UnicornTests/ShellcodeTest.cs @@ -72,33 +72,35 @@ namespace UnicornTests { try { - var u = new Unicorn(Common.UC_ARCH_X86, Common.UC_MODE_32); - Console.WriteLine("Unicorn version: {0}", u.Version()); + using (var u = new Unicorn(Common.UC_ARCH_X86, Common.UC_MODE_32)) + { + Console.WriteLine("Unicorn version: {0}", u.Version()); - // map 2MB of memory for this emulation - u.MemMap(address, new UIntPtr(2 * 1024 * 1024), Common.UC_PROT_ALL); + // map 2MB of memory for this emulation + u.MemMap(address, new UIntPtr(2 * 1024 * 1024), Common.UC_PROT_ALL); - // write machine code to be emulated to memory - u.MemWrite(address, code); + // write machine code to be emulated to memory + u.MemWrite(address, code); - // initialize machine registers - u.RegWrite(X86.UC_X86_REG_ESP, Utils.Int64ToBytes(address + 0x200000)); + // initialize machine registers + u.RegWrite(X86.UC_X86_REG_ESP, Utils.Int64ToBytes(address + 0x200000)); - // tracing all instructions by having @begin > @end - u.AddCodeHook(CodeHookCallback, null, 1, 0); + // tracing all instructions by having @begin > @end + u.AddCodeHook(CodeHookCallback, null, 1, 0); - // handle interrupt ourself - u.AddInterruptHook(InterruptHookCallback, null); + // handle interrupt ourself + u.AddInterruptHook(InterruptHookCallback, null); - // handle SYSCALL - u.AddSyscallHook(SyscallHookCallback, null); + // handle SYSCALL + u.AddSyscallHook(SyscallHookCallback, null); - Console.WriteLine(">>> Start tracing linux code"); + Console.WriteLine(">>> Start tracing linux code"); - // emulate machine code in infinite time - u.EmuStart(address, address + (UInt64)code.Length, 0u, new UIntPtr(0)); + // emulate machine code in infinite time + u.EmuStart(address, address + (UInt64)code.Length, 0u, new UIntPtr(0)); - Console.WriteLine(">>> Emulation Done!"); + Console.WriteLine(">>> Emulation Done!"); + } } catch (UnicornEngineException ex) { diff --git a/bindings/dotnet/UnicornTests/UnicornTests.csproj b/bindings/dotnet/UnicornTests/UnicornTests.csproj index dfb6bdf1..1c8a9278 100644 --- a/bindings/dotnet/UnicornTests/UnicornTests.csproj +++ b/bindings/dotnet/UnicornTests/UnicornTests.csproj @@ -9,9 +9,10 @@ Properties UnicornTests UnicornTests - v4.5.1 + v4.6 512 true + x86 @@ -22,6 +23,7 @@ DEBUG;TRACE prompt 4 + true AnyCPU From 5d3aac30e651392a1b41ef036e67a798300e7025 Mon Sep 17 00:00:00 2001 From: enkomio Date: Mon, 4 Jan 2016 11:30:11 +0100 Subject: [PATCH 2/6] refactored code and minor bug fixing --- bindings/dotnet/Unicorn/Const/Arm.fs | 133 -- bindings/dotnet/Unicorn/Const/Arm64.fs | 282 --- bindings/dotnet/Unicorn/Const/Common.fs | 96 - bindings/dotnet/Unicorn/Const/M68k.fs | 32 - bindings/dotnet/Unicorn/Const/Mips.fs | 203 --- bindings/dotnet/Unicorn/Const/Sparc.fs | 104 -- bindings/dotnet/Unicorn/Const/X86.fs | 1597 ----------------- bindings/dotnet/Unicorn/Hooks.fs | 53 - .../dotnet/Unicorn/UnicornEngineException.fs | 30 - bindings/dotnet/UnicornDotNet.sln | 28 + .../dotnet/UnicornManaged/AssemblyInfo.fs | 41 + .../UnicornManaged/Binding/BindingFactory.fs | 13 + .../dotnet/UnicornManaged/Binding/IBinding.fs | 28 + .../UnicornManaged/Binding/MockBinding.fs | 51 + .../Binding/NativeBinding.fs} | 80 +- bindings/dotnet/UnicornManaged/Const/Arm.fs | 133 ++ bindings/dotnet/UnicornManaged/Const/Arm64.fs | 282 +++ .../dotnet/UnicornManaged/Const/Common.fs | 96 + bindings/dotnet/UnicornManaged/Const/M68k.fs | 32 + bindings/dotnet/UnicornManaged/Const/Mips.fs | 203 +++ bindings/dotnet/UnicornManaged/Const/Sparc.fs | 104 ++ bindings/dotnet/UnicornManaged/Const/X86.fs | 1597 +++++++++++++++++ bindings/dotnet/UnicornManaged/Hooks.fs | 32 + .../{Unicorn => UnicornManaged}/Unicorn.fs | 150 +- .../UnicornManaged/UnicornEngineException.fs | 9 + .../UnicornManaged.fsproj} | 27 +- .../App.config | 2 +- .../Gee.External.Capstone.Proxy.dll | Bin 0 -> 6656 bytes bindings/dotnet/UnicornSamples/Program.cs | 23 + .../Properties/AssemblyInfo.cs | 8 +- .../ShellcodeSample.cs} | 103 +- .../UnicornSamples.csproj} | 62 +- bindings/dotnet/UnicornSamples/Utils.cs | 47 + bindings/dotnet/UnicornSamples/X86Sample.cs | 213 +++ bindings/dotnet/UnicornSamples/capstone.dll | Bin 0 -> 2484736 bytes .../dotnet/UnicornSamples/packages.config | 4 + bindings/dotnet/UnicornSln.sln | 28 - bindings/dotnet/UnicornTests/Program.cs | 42 - bindings/dotnet/UnicornTests/Utils.cs | 55 - 39 files changed, 3176 insertions(+), 2847 deletions(-) delete mode 100644 bindings/dotnet/Unicorn/Const/Arm.fs delete mode 100644 bindings/dotnet/Unicorn/Const/Arm64.fs delete mode 100644 bindings/dotnet/Unicorn/Const/Common.fs delete mode 100644 bindings/dotnet/Unicorn/Const/M68k.fs delete mode 100644 bindings/dotnet/Unicorn/Const/Mips.fs delete mode 100644 bindings/dotnet/Unicorn/Const/Sparc.fs delete mode 100644 bindings/dotnet/Unicorn/Const/X86.fs delete mode 100644 bindings/dotnet/Unicorn/Hooks.fs delete mode 100644 bindings/dotnet/Unicorn/UnicornEngineException.fs create mode 100644 bindings/dotnet/UnicornDotNet.sln create mode 100644 bindings/dotnet/UnicornManaged/AssemblyInfo.fs create mode 100644 bindings/dotnet/UnicornManaged/Binding/BindingFactory.fs create mode 100644 bindings/dotnet/UnicornManaged/Binding/IBinding.fs create mode 100644 bindings/dotnet/UnicornManaged/Binding/MockBinding.fs rename bindings/dotnet/{Unicorn/NativeUnicorn.fs => UnicornManaged/Binding/NativeBinding.fs} (50%) create mode 100644 bindings/dotnet/UnicornManaged/Const/Arm.fs create mode 100644 bindings/dotnet/UnicornManaged/Const/Arm64.fs create mode 100644 bindings/dotnet/UnicornManaged/Const/Common.fs create mode 100644 bindings/dotnet/UnicornManaged/Const/M68k.fs create mode 100644 bindings/dotnet/UnicornManaged/Const/Mips.fs create mode 100644 bindings/dotnet/UnicornManaged/Const/Sparc.fs create mode 100644 bindings/dotnet/UnicornManaged/Const/X86.fs create mode 100644 bindings/dotnet/UnicornManaged/Hooks.fs rename bindings/dotnet/{Unicorn => UnicornManaged}/Unicorn.fs (64%) create mode 100644 bindings/dotnet/UnicornManaged/UnicornEngineException.fs rename bindings/dotnet/{Unicorn/Unicorn.fsproj => UnicornManaged/UnicornManaged.fsproj} (82%) rename bindings/dotnet/{UnicornTests => UnicornSamples}/App.config (93%) create mode 100644 bindings/dotnet/UnicornSamples/Gee.External.Capstone.Proxy.dll create mode 100644 bindings/dotnet/UnicornSamples/Program.cs rename bindings/dotnet/{UnicornTests => UnicornSamples}/Properties/AssemblyInfo.cs (85%) rename bindings/dotnet/{UnicornTests/ShellcodeTest.cs => UnicornSamples/ShellcodeSample.cs} (68%) rename bindings/dotnet/{UnicornTests/UnicornTests.csproj => UnicornSamples/UnicornSamples.csproj} (50%) create mode 100644 bindings/dotnet/UnicornSamples/Utils.cs create mode 100644 bindings/dotnet/UnicornSamples/X86Sample.cs create mode 100644 bindings/dotnet/UnicornSamples/capstone.dll create mode 100644 bindings/dotnet/UnicornSamples/packages.config delete mode 100644 bindings/dotnet/UnicornSln.sln delete mode 100644 bindings/dotnet/UnicornTests/Program.cs delete mode 100644 bindings/dotnet/UnicornTests/Utils.cs diff --git a/bindings/dotnet/Unicorn/Const/Arm.fs b/bindings/dotnet/Unicorn/Const/Arm.fs deleted file mode 100644 index 390078a7..00000000 --- a/bindings/dotnet/Unicorn/Const/Arm.fs +++ /dev/null @@ -1,133 +0,0 @@ -// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT - -namespace UnicornEngine.Const - -open System - -[] -module Arm = - -// ARM registers - - let UC_ARM_REG_INVALID = 0 - let UC_ARM_REG_APSR = 1 - let UC_ARM_REG_APSR_NZCV = 2 - let UC_ARM_REG_CPSR = 3 - let UC_ARM_REG_FPEXC = 4 - let UC_ARM_REG_FPINST = 5 - let UC_ARM_REG_FPSCR = 6 - let UC_ARM_REG_FPSCR_NZCV = 7 - let UC_ARM_REG_FPSID = 8 - let UC_ARM_REG_ITSTATE = 9 - let UC_ARM_REG_LR = 10 - let UC_ARM_REG_PC = 11 - let UC_ARM_REG_SP = 12 - let UC_ARM_REG_SPSR = 13 - let UC_ARM_REG_D0 = 14 - let UC_ARM_REG_D1 = 15 - let UC_ARM_REG_D2 = 16 - let UC_ARM_REG_D3 = 17 - let UC_ARM_REG_D4 = 18 - let UC_ARM_REG_D5 = 19 - let UC_ARM_REG_D6 = 20 - let UC_ARM_REG_D7 = 21 - let UC_ARM_REG_D8 = 22 - let UC_ARM_REG_D9 = 23 - let UC_ARM_REG_D10 = 24 - let UC_ARM_REG_D11 = 25 - let UC_ARM_REG_D12 = 26 - let UC_ARM_REG_D13 = 27 - let UC_ARM_REG_D14 = 28 - let UC_ARM_REG_D15 = 29 - let UC_ARM_REG_D16 = 30 - let UC_ARM_REG_D17 = 31 - let UC_ARM_REG_D18 = 32 - let UC_ARM_REG_D19 = 33 - let UC_ARM_REG_D20 = 34 - let UC_ARM_REG_D21 = 35 - let UC_ARM_REG_D22 = 36 - let UC_ARM_REG_D23 = 37 - let UC_ARM_REG_D24 = 38 - let UC_ARM_REG_D25 = 39 - let UC_ARM_REG_D26 = 40 - let UC_ARM_REG_D27 = 41 - let UC_ARM_REG_D28 = 42 - let UC_ARM_REG_D29 = 43 - let UC_ARM_REG_D30 = 44 - let UC_ARM_REG_D31 = 45 - let UC_ARM_REG_FPINST2 = 46 - let UC_ARM_REG_MVFR0 = 47 - let UC_ARM_REG_MVFR1 = 48 - let UC_ARM_REG_MVFR2 = 49 - let UC_ARM_REG_Q0 = 50 - let UC_ARM_REG_Q1 = 51 - let UC_ARM_REG_Q2 = 52 - let UC_ARM_REG_Q3 = 53 - let UC_ARM_REG_Q4 = 54 - let UC_ARM_REG_Q5 = 55 - let UC_ARM_REG_Q6 = 56 - let UC_ARM_REG_Q7 = 57 - let UC_ARM_REG_Q8 = 58 - let UC_ARM_REG_Q9 = 59 - let UC_ARM_REG_Q10 = 60 - let UC_ARM_REG_Q11 = 61 - let UC_ARM_REG_Q12 = 62 - let UC_ARM_REG_Q13 = 63 - let UC_ARM_REG_Q14 = 64 - let UC_ARM_REG_Q15 = 65 - let UC_ARM_REG_R0 = 66 - let UC_ARM_REG_R1 = 67 - let UC_ARM_REG_R2 = 68 - let UC_ARM_REG_R3 = 69 - let UC_ARM_REG_R4 = 70 - let UC_ARM_REG_R5 = 71 - let UC_ARM_REG_R6 = 72 - let UC_ARM_REG_R7 = 73 - let UC_ARM_REG_R8 = 74 - let UC_ARM_REG_R9 = 75 - let UC_ARM_REG_R10 = 76 - let UC_ARM_REG_R11 = 77 - let UC_ARM_REG_R12 = 78 - let UC_ARM_REG_S0 = 79 - let UC_ARM_REG_S1 = 80 - let UC_ARM_REG_S2 = 81 - let UC_ARM_REG_S3 = 82 - let UC_ARM_REG_S4 = 83 - let UC_ARM_REG_S5 = 84 - let UC_ARM_REG_S6 = 85 - let UC_ARM_REG_S7 = 86 - let UC_ARM_REG_S8 = 87 - let UC_ARM_REG_S9 = 88 - let UC_ARM_REG_S10 = 89 - let UC_ARM_REG_S11 = 90 - let UC_ARM_REG_S12 = 91 - let UC_ARM_REG_S13 = 92 - let UC_ARM_REG_S14 = 93 - let UC_ARM_REG_S15 = 94 - let UC_ARM_REG_S16 = 95 - let UC_ARM_REG_S17 = 96 - let UC_ARM_REG_S18 = 97 - let UC_ARM_REG_S19 = 98 - let UC_ARM_REG_S20 = 99 - let UC_ARM_REG_S21 = 100 - let UC_ARM_REG_S22 = 101 - let UC_ARM_REG_S23 = 102 - let UC_ARM_REG_S24 = 103 - let UC_ARM_REG_S25 = 104 - let UC_ARM_REG_S26 = 105 - let UC_ARM_REG_S27 = 106 - let UC_ARM_REG_S28 = 107 - let UC_ARM_REG_S29 = 108 - let UC_ARM_REG_S30 = 109 - let UC_ARM_REG_S31 = 110 - let UC_ARM_REG_ENDING = 111 - -// alias registers - let UC_ARM_REG_R13 = 12 - let UC_ARM_REG_R14 = 10 - let UC_ARM_REG_R15 = 11 - let UC_ARM_REG_SB = 75 - let UC_ARM_REG_SL = 76 - let UC_ARM_REG_FP = 77 - let UC_ARM_REG_IP = 78 - diff --git a/bindings/dotnet/Unicorn/Const/Arm64.fs b/bindings/dotnet/Unicorn/Const/Arm64.fs deleted file mode 100644 index df757f70..00000000 --- a/bindings/dotnet/Unicorn/Const/Arm64.fs +++ /dev/null @@ -1,282 +0,0 @@ -// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT - -namespace UnicornEngine.Const - -open System - -[] -module Arm64 = - -// ARM64 registers - - let UC_ARM64_REG_INVALID = 0 - let UC_ARM64_REG_X29 = 1 - let UC_ARM64_REG_X30 = 2 - let UC_ARM64_REG_NZCV = 3 - let UC_ARM64_REG_SP = 4 - let UC_ARM64_REG_WSP = 5 - let UC_ARM64_REG_WZR = 6 - let UC_ARM64_REG_XZR = 7 - let UC_ARM64_REG_B0 = 8 - let UC_ARM64_REG_B1 = 9 - let UC_ARM64_REG_B2 = 10 - let UC_ARM64_REG_B3 = 11 - let UC_ARM64_REG_B4 = 12 - let UC_ARM64_REG_B5 = 13 - let UC_ARM64_REG_B6 = 14 - let UC_ARM64_REG_B7 = 15 - let UC_ARM64_REG_B8 = 16 - let UC_ARM64_REG_B9 = 17 - let UC_ARM64_REG_B10 = 18 - let UC_ARM64_REG_B11 = 19 - let UC_ARM64_REG_B12 = 20 - let UC_ARM64_REG_B13 = 21 - let UC_ARM64_REG_B14 = 22 - let UC_ARM64_REG_B15 = 23 - let UC_ARM64_REG_B16 = 24 - let UC_ARM64_REG_B17 = 25 - let UC_ARM64_REG_B18 = 26 - let UC_ARM64_REG_B19 = 27 - let UC_ARM64_REG_B20 = 28 - let UC_ARM64_REG_B21 = 29 - let UC_ARM64_REG_B22 = 30 - let UC_ARM64_REG_B23 = 31 - let UC_ARM64_REG_B24 = 32 - let UC_ARM64_REG_B25 = 33 - let UC_ARM64_REG_B26 = 34 - let UC_ARM64_REG_B27 = 35 - let UC_ARM64_REG_B28 = 36 - let UC_ARM64_REG_B29 = 37 - let UC_ARM64_REG_B30 = 38 - let UC_ARM64_REG_B31 = 39 - let UC_ARM64_REG_D0 = 40 - let UC_ARM64_REG_D1 = 41 - let UC_ARM64_REG_D2 = 42 - let UC_ARM64_REG_D3 = 43 - let UC_ARM64_REG_D4 = 44 - let UC_ARM64_REG_D5 = 45 - let UC_ARM64_REG_D6 = 46 - let UC_ARM64_REG_D7 = 47 - let UC_ARM64_REG_D8 = 48 - let UC_ARM64_REG_D9 = 49 - let UC_ARM64_REG_D10 = 50 - let UC_ARM64_REG_D11 = 51 - let UC_ARM64_REG_D12 = 52 - let UC_ARM64_REG_D13 = 53 - let UC_ARM64_REG_D14 = 54 - let UC_ARM64_REG_D15 = 55 - let UC_ARM64_REG_D16 = 56 - let UC_ARM64_REG_D17 = 57 - let UC_ARM64_REG_D18 = 58 - let UC_ARM64_REG_D19 = 59 - let UC_ARM64_REG_D20 = 60 - let UC_ARM64_REG_D21 = 61 - let UC_ARM64_REG_D22 = 62 - let UC_ARM64_REG_D23 = 63 - let UC_ARM64_REG_D24 = 64 - let UC_ARM64_REG_D25 = 65 - let UC_ARM64_REG_D26 = 66 - let UC_ARM64_REG_D27 = 67 - let UC_ARM64_REG_D28 = 68 - let UC_ARM64_REG_D29 = 69 - let UC_ARM64_REG_D30 = 70 - let UC_ARM64_REG_D31 = 71 - let UC_ARM64_REG_H0 = 72 - let UC_ARM64_REG_H1 = 73 - let UC_ARM64_REG_H2 = 74 - let UC_ARM64_REG_H3 = 75 - let UC_ARM64_REG_H4 = 76 - let UC_ARM64_REG_H5 = 77 - let UC_ARM64_REG_H6 = 78 - let UC_ARM64_REG_H7 = 79 - let UC_ARM64_REG_H8 = 80 - let UC_ARM64_REG_H9 = 81 - let UC_ARM64_REG_H10 = 82 - let UC_ARM64_REG_H11 = 83 - let UC_ARM64_REG_H12 = 84 - let UC_ARM64_REG_H13 = 85 - let UC_ARM64_REG_H14 = 86 - let UC_ARM64_REG_H15 = 87 - let UC_ARM64_REG_H16 = 88 - let UC_ARM64_REG_H17 = 89 - let UC_ARM64_REG_H18 = 90 - let UC_ARM64_REG_H19 = 91 - let UC_ARM64_REG_H20 = 92 - let UC_ARM64_REG_H21 = 93 - let UC_ARM64_REG_H22 = 94 - let UC_ARM64_REG_H23 = 95 - let UC_ARM64_REG_H24 = 96 - let UC_ARM64_REG_H25 = 97 - let UC_ARM64_REG_H26 = 98 - let UC_ARM64_REG_H27 = 99 - let UC_ARM64_REG_H28 = 100 - let UC_ARM64_REG_H29 = 101 - let UC_ARM64_REG_H30 = 102 - let UC_ARM64_REG_H31 = 103 - let UC_ARM64_REG_Q0 = 104 - let UC_ARM64_REG_Q1 = 105 - let UC_ARM64_REG_Q2 = 106 - let UC_ARM64_REG_Q3 = 107 - let UC_ARM64_REG_Q4 = 108 - let UC_ARM64_REG_Q5 = 109 - let UC_ARM64_REG_Q6 = 110 - let UC_ARM64_REG_Q7 = 111 - let UC_ARM64_REG_Q8 = 112 - let UC_ARM64_REG_Q9 = 113 - let UC_ARM64_REG_Q10 = 114 - let UC_ARM64_REG_Q11 = 115 - let UC_ARM64_REG_Q12 = 116 - let UC_ARM64_REG_Q13 = 117 - let UC_ARM64_REG_Q14 = 118 - let UC_ARM64_REG_Q15 = 119 - let UC_ARM64_REG_Q16 = 120 - let UC_ARM64_REG_Q17 = 121 - let UC_ARM64_REG_Q18 = 122 - let UC_ARM64_REG_Q19 = 123 - let UC_ARM64_REG_Q20 = 124 - let UC_ARM64_REG_Q21 = 125 - let UC_ARM64_REG_Q22 = 126 - let UC_ARM64_REG_Q23 = 127 - let UC_ARM64_REG_Q24 = 128 - let UC_ARM64_REG_Q25 = 129 - let UC_ARM64_REG_Q26 = 130 - let UC_ARM64_REG_Q27 = 131 - let UC_ARM64_REG_Q28 = 132 - let UC_ARM64_REG_Q29 = 133 - let UC_ARM64_REG_Q30 = 134 - let UC_ARM64_REG_Q31 = 135 - let UC_ARM64_REG_S0 = 136 - let UC_ARM64_REG_S1 = 137 - let UC_ARM64_REG_S2 = 138 - let UC_ARM64_REG_S3 = 139 - let UC_ARM64_REG_S4 = 140 - let UC_ARM64_REG_S5 = 141 - let UC_ARM64_REG_S6 = 142 - let UC_ARM64_REG_S7 = 143 - let UC_ARM64_REG_S8 = 144 - let UC_ARM64_REG_S9 = 145 - let UC_ARM64_REG_S10 = 146 - let UC_ARM64_REG_S11 = 147 - let UC_ARM64_REG_S12 = 148 - let UC_ARM64_REG_S13 = 149 - let UC_ARM64_REG_S14 = 150 - let UC_ARM64_REG_S15 = 151 - let UC_ARM64_REG_S16 = 152 - let UC_ARM64_REG_S17 = 153 - let UC_ARM64_REG_S18 = 154 - let UC_ARM64_REG_S19 = 155 - let UC_ARM64_REG_S20 = 156 - let UC_ARM64_REG_S21 = 157 - let UC_ARM64_REG_S22 = 158 - let UC_ARM64_REG_S23 = 159 - let UC_ARM64_REG_S24 = 160 - let UC_ARM64_REG_S25 = 161 - let UC_ARM64_REG_S26 = 162 - let UC_ARM64_REG_S27 = 163 - let UC_ARM64_REG_S28 = 164 - let UC_ARM64_REG_S29 = 165 - let UC_ARM64_REG_S30 = 166 - let UC_ARM64_REG_S31 = 167 - let UC_ARM64_REG_W0 = 168 - let UC_ARM64_REG_W1 = 169 - let UC_ARM64_REG_W2 = 170 - let UC_ARM64_REG_W3 = 171 - let UC_ARM64_REG_W4 = 172 - let UC_ARM64_REG_W5 = 173 - let UC_ARM64_REG_W6 = 174 - let UC_ARM64_REG_W7 = 175 - let UC_ARM64_REG_W8 = 176 - let UC_ARM64_REG_W9 = 177 - let UC_ARM64_REG_W10 = 178 - let UC_ARM64_REG_W11 = 179 - let UC_ARM64_REG_W12 = 180 - let UC_ARM64_REG_W13 = 181 - let UC_ARM64_REG_W14 = 182 - let UC_ARM64_REG_W15 = 183 - let UC_ARM64_REG_W16 = 184 - let UC_ARM64_REG_W17 = 185 - let UC_ARM64_REG_W18 = 186 - let UC_ARM64_REG_W19 = 187 - let UC_ARM64_REG_W20 = 188 - let UC_ARM64_REG_W21 = 189 - let UC_ARM64_REG_W22 = 190 - let UC_ARM64_REG_W23 = 191 - let UC_ARM64_REG_W24 = 192 - let UC_ARM64_REG_W25 = 193 - let UC_ARM64_REG_W26 = 194 - let UC_ARM64_REG_W27 = 195 - let UC_ARM64_REG_W28 = 196 - let UC_ARM64_REG_W29 = 197 - let UC_ARM64_REG_W30 = 198 - let UC_ARM64_REG_X0 = 199 - let UC_ARM64_REG_X1 = 200 - let UC_ARM64_REG_X2 = 201 - let UC_ARM64_REG_X3 = 202 - let UC_ARM64_REG_X4 = 203 - let UC_ARM64_REG_X5 = 204 - let UC_ARM64_REG_X6 = 205 - let UC_ARM64_REG_X7 = 206 - let UC_ARM64_REG_X8 = 207 - let UC_ARM64_REG_X9 = 208 - let UC_ARM64_REG_X10 = 209 - let UC_ARM64_REG_X11 = 210 - let UC_ARM64_REG_X12 = 211 - let UC_ARM64_REG_X13 = 212 - let UC_ARM64_REG_X14 = 213 - let UC_ARM64_REG_X15 = 214 - let UC_ARM64_REG_X16 = 215 - let UC_ARM64_REG_X17 = 216 - let UC_ARM64_REG_X18 = 217 - let UC_ARM64_REG_X19 = 218 - let UC_ARM64_REG_X20 = 219 - let UC_ARM64_REG_X21 = 220 - let UC_ARM64_REG_X22 = 221 - let UC_ARM64_REG_X23 = 222 - let UC_ARM64_REG_X24 = 223 - let UC_ARM64_REG_X25 = 224 - let UC_ARM64_REG_X26 = 225 - let UC_ARM64_REG_X27 = 226 - let UC_ARM64_REG_X28 = 227 - let UC_ARM64_REG_V0 = 228 - let UC_ARM64_REG_V1 = 229 - let UC_ARM64_REG_V2 = 230 - let UC_ARM64_REG_V3 = 231 - let UC_ARM64_REG_V4 = 232 - let UC_ARM64_REG_V5 = 233 - let UC_ARM64_REG_V6 = 234 - let UC_ARM64_REG_V7 = 235 - let UC_ARM64_REG_V8 = 236 - let UC_ARM64_REG_V9 = 237 - let UC_ARM64_REG_V10 = 238 - let UC_ARM64_REG_V11 = 239 - let UC_ARM64_REG_V12 = 240 - let UC_ARM64_REG_V13 = 241 - let UC_ARM64_REG_V14 = 242 - let UC_ARM64_REG_V15 = 243 - let UC_ARM64_REG_V16 = 244 - let UC_ARM64_REG_V17 = 245 - let UC_ARM64_REG_V18 = 246 - let UC_ARM64_REG_V19 = 247 - let UC_ARM64_REG_V20 = 248 - let UC_ARM64_REG_V21 = 249 - let UC_ARM64_REG_V22 = 250 - let UC_ARM64_REG_V23 = 251 - let UC_ARM64_REG_V24 = 252 - let UC_ARM64_REG_V25 = 253 - let UC_ARM64_REG_V26 = 254 - let UC_ARM64_REG_V27 = 255 - let UC_ARM64_REG_V28 = 256 - let UC_ARM64_REG_V29 = 257 - let UC_ARM64_REG_V30 = 258 - let UC_ARM64_REG_V31 = 259 - -// pseudo registers - let UC_ARM64_REG_PC = 260 - let UC_ARM64_REG_ENDING = 261 - -// alias registers - let UC_ARM64_REG_IP1 = 215 - let UC_ARM64_REG_IP0 = 216 - let UC_ARM64_REG_FP = 1 - let UC_ARM64_REG_LR = 2 - diff --git a/bindings/dotnet/Unicorn/Const/Common.fs b/bindings/dotnet/Unicorn/Const/Common.fs deleted file mode 100644 index c3c4655e..00000000 --- a/bindings/dotnet/Unicorn/Const/Common.fs +++ /dev/null @@ -1,96 +0,0 @@ -// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT - -namespace UnicornEngine.Const - -open System - -[] -module Common = - - let UC_API_MAJOR = 0 - let UC_API_MINOR = 9 - let UC_SECOND_SCALE = 1000000 - let UC_MILISECOND_SCALE = 1000 - let UC_ARCH_ARM = 1 - let UC_ARCH_ARM64 = 2 - let UC_ARCH_MIPS = 3 - let UC_ARCH_X86 = 4 - let UC_ARCH_PPC = 5 - let UC_ARCH_SPARC = 6 - let UC_ARCH_M68K = 7 - let UC_ARCH_MAX = 8 - - let UC_MODE_LITTLE_ENDIAN = 0 - - let UC_MODE_ARM = 0 - let UC_MODE_16 = 2 - let UC_MODE_32 = 4 - let UC_MODE_64 = 8 - let UC_MODE_THUMB = 16 - let UC_MODE_MCLASS = 32 - let UC_MODE_V8 = 64 - let UC_MODE_MICRO = 16 - let UC_MODE_MIPS3 = 32 - let UC_MODE_MIPS32R6 = 64 - let UC_MODE_V9 = 16 - let UC_MODE_QPX = 16 - let UC_MODE_BIG_ENDIAN = 1073741824 - let UC_MODE_MIPS32 = 4 - let UC_MODE_MIPS64 = 8 - - let UC_ERR_OK = 0 - let UC_ERR_NOMEM = 1 - let UC_ERR_ARCH = 2 - let UC_ERR_HANDLE = 3 - let UC_ERR_MODE = 4 - let UC_ERR_VERSION = 5 - let UC_ERR_READ_UNMAPPED = 6 - let UC_ERR_WRITE_UNMAPPED = 7 - let UC_ERR_FETCH_UNMAPPED = 8 - let UC_ERR_HOOK = 9 - let UC_ERR_INSN_INVALID = 10 - let UC_ERR_MAP = 11 - let UC_ERR_WRITE_PROT = 12 - let UC_ERR_READ_PROT = 13 - let UC_ERR_FETCH_PROT = 14 - let UC_ERR_ARG = 15 - let UC_ERR_READ_UNALIGNED = 16 - let UC_ERR_WRITE_UNALIGNED = 17 - let UC_ERR_FETCH_UNALIGNED = 18 - let UC_ERR_HOOK_EXIST = 19 - let UC_ERR_RESOURCE = 20 - let UC_MEM_READ = 16 - let UC_MEM_WRITE = 17 - let UC_MEM_FETCH = 18 - let UC_MEM_READ_UNMAPPED = 19 - let UC_MEM_WRITE_UNMAPPED = 20 - let UC_MEM_FETCH_UNMAPPED = 21 - let UC_MEM_WRITE_PROT = 22 - let UC_MEM_READ_PROT = 23 - let UC_MEM_FETCH_PROT = 24 - let UC_HOOK_INTR = 1 - let UC_HOOK_INSN = 2 - let UC_HOOK_CODE = 4 - let UC_HOOK_BLOCK = 8 - let UC_HOOK_MEM_READ_UNMAPPED = 16 - let UC_HOOK_MEM_WRITE_UNMAPPED = 32 - let UC_HOOK_MEM_FETCH_UNMAPPED = 64 - let UC_HOOK_MEM_READ_PROT = 128 - let UC_HOOK_MEM_WRITE_PROT = 256 - let UC_HOOK_MEM_FETCH_PROT = 512 - let UC_HOOK_MEM_READ = 1024 - let UC_HOOK_MEM_WRITE = 2048 - let UC_HOOK_MEM_FETCH = 4096 - let UC_HOOK_MEM_UNMAPPED = 112 - let UC_HOOK_MEM_PROT = 896 - let UC_HOOK_MEM_READ_INVALID = 144 - let UC_HOOK_MEM_WRITE_INVALID = 288 - let UC_HOOK_MEM_FETCH_INVALID = 576 - let UC_HOOK_MEM_INVALID = 1008 - - let UC_PROT_NONE = 0 - let UC_PROT_READ = 1 - let UC_PROT_WRITE = 2 - let UC_PROT_EXEC = 4 - let UC_PROT_ALL = 7 - diff --git a/bindings/dotnet/Unicorn/Const/M68k.fs b/bindings/dotnet/Unicorn/Const/M68k.fs deleted file mode 100644 index 9715f0af..00000000 --- a/bindings/dotnet/Unicorn/Const/M68k.fs +++ /dev/null @@ -1,32 +0,0 @@ -// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT - -namespace UnicornEngine.Const - -open System - -[] -module M68k = - -// M68K registers - - let UC_M68K_REG_INVALID = 0 - let UC_M68K_REG_A0 = 1 - let UC_M68K_REG_A1 = 2 - let UC_M68K_REG_A2 = 3 - let UC_M68K_REG_A3 = 4 - let UC_M68K_REG_A4 = 5 - let UC_M68K_REG_A5 = 6 - let UC_M68K_REG_A6 = 7 - let UC_M68K_REG_A7 = 8 - let UC_M68K_REG_D0 = 9 - let UC_M68K_REG_D1 = 10 - let UC_M68K_REG_D2 = 11 - let UC_M68K_REG_D3 = 12 - let UC_M68K_REG_D4 = 13 - let UC_M68K_REG_D5 = 14 - let UC_M68K_REG_D6 = 15 - let UC_M68K_REG_D7 = 16 - let UC_M68K_REG_SR = 17 - let UC_M68K_REG_PC = 18 - let UC_M68K_REG_ENDING = 19 - diff --git a/bindings/dotnet/Unicorn/Const/Mips.fs b/bindings/dotnet/Unicorn/Const/Mips.fs deleted file mode 100644 index 04e3e3fc..00000000 --- a/bindings/dotnet/Unicorn/Const/Mips.fs +++ /dev/null @@ -1,203 +0,0 @@ -// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT - -namespace UnicornEngine.Const - -open System - -[] -module Mips = - -// MIPS registers - - let UC_MIPS_REG_INVALID = 0 - -// General purpose registers - let UC_MIPS_REG_PC = 1 - let UC_MIPS_REG_0 = 2 - let UC_MIPS_REG_1 = 3 - let UC_MIPS_REG_2 = 4 - let UC_MIPS_REG_3 = 5 - let UC_MIPS_REG_4 = 6 - let UC_MIPS_REG_5 = 7 - let UC_MIPS_REG_6 = 8 - let UC_MIPS_REG_7 = 9 - let UC_MIPS_REG_8 = 10 - let UC_MIPS_REG_9 = 11 - let UC_MIPS_REG_10 = 12 - let UC_MIPS_REG_11 = 13 - let UC_MIPS_REG_12 = 14 - let UC_MIPS_REG_13 = 15 - let UC_MIPS_REG_14 = 16 - let UC_MIPS_REG_15 = 17 - let UC_MIPS_REG_16 = 18 - let UC_MIPS_REG_17 = 19 - let UC_MIPS_REG_18 = 20 - let UC_MIPS_REG_19 = 21 - let UC_MIPS_REG_20 = 22 - let UC_MIPS_REG_21 = 23 - let UC_MIPS_REG_22 = 24 - let UC_MIPS_REG_23 = 25 - let UC_MIPS_REG_24 = 26 - let UC_MIPS_REG_25 = 27 - let UC_MIPS_REG_26 = 28 - let UC_MIPS_REG_27 = 29 - let UC_MIPS_REG_28 = 30 - let UC_MIPS_REG_29 = 31 - let UC_MIPS_REG_30 = 32 - let UC_MIPS_REG_31 = 33 - -// DSP registers - let UC_MIPS_REG_DSPCCOND = 34 - let UC_MIPS_REG_DSPCARRY = 35 - let UC_MIPS_REG_DSPEFI = 36 - let UC_MIPS_REG_DSPOUTFLAG = 37 - let UC_MIPS_REG_DSPOUTFLAG16_19 = 38 - let UC_MIPS_REG_DSPOUTFLAG20 = 39 - let UC_MIPS_REG_DSPOUTFLAG21 = 40 - let UC_MIPS_REG_DSPOUTFLAG22 = 41 - let UC_MIPS_REG_DSPOUTFLAG23 = 42 - let UC_MIPS_REG_DSPPOS = 43 - let UC_MIPS_REG_DSPSCOUNT = 44 - -// ACC registers - let UC_MIPS_REG_AC0 = 45 - let UC_MIPS_REG_AC1 = 46 - let UC_MIPS_REG_AC2 = 47 - let UC_MIPS_REG_AC3 = 48 - -// COP registers - let UC_MIPS_REG_CC0 = 49 - let UC_MIPS_REG_CC1 = 50 - let UC_MIPS_REG_CC2 = 51 - let UC_MIPS_REG_CC3 = 52 - let UC_MIPS_REG_CC4 = 53 - let UC_MIPS_REG_CC5 = 54 - let UC_MIPS_REG_CC6 = 55 - let UC_MIPS_REG_CC7 = 56 - -// FPU registers - let UC_MIPS_REG_F0 = 57 - let UC_MIPS_REG_F1 = 58 - let UC_MIPS_REG_F2 = 59 - let UC_MIPS_REG_F3 = 60 - let UC_MIPS_REG_F4 = 61 - let UC_MIPS_REG_F5 = 62 - let UC_MIPS_REG_F6 = 63 - let UC_MIPS_REG_F7 = 64 - let UC_MIPS_REG_F8 = 65 - let UC_MIPS_REG_F9 = 66 - let UC_MIPS_REG_F10 = 67 - let UC_MIPS_REG_F11 = 68 - let UC_MIPS_REG_F12 = 69 - let UC_MIPS_REG_F13 = 70 - let UC_MIPS_REG_F14 = 71 - let UC_MIPS_REG_F15 = 72 - let UC_MIPS_REG_F16 = 73 - let UC_MIPS_REG_F17 = 74 - let UC_MIPS_REG_F18 = 75 - let UC_MIPS_REG_F19 = 76 - let UC_MIPS_REG_F20 = 77 - let UC_MIPS_REG_F21 = 78 - let UC_MIPS_REG_F22 = 79 - let UC_MIPS_REG_F23 = 80 - let UC_MIPS_REG_F24 = 81 - let UC_MIPS_REG_F25 = 82 - let UC_MIPS_REG_F26 = 83 - let UC_MIPS_REG_F27 = 84 - let UC_MIPS_REG_F28 = 85 - let UC_MIPS_REG_F29 = 86 - let UC_MIPS_REG_F30 = 87 - let UC_MIPS_REG_F31 = 88 - let UC_MIPS_REG_FCC0 = 89 - let UC_MIPS_REG_FCC1 = 90 - let UC_MIPS_REG_FCC2 = 91 - let UC_MIPS_REG_FCC3 = 92 - let UC_MIPS_REG_FCC4 = 93 - let UC_MIPS_REG_FCC5 = 94 - let UC_MIPS_REG_FCC6 = 95 - let UC_MIPS_REG_FCC7 = 96 - -// AFPR128 - let UC_MIPS_REG_W0 = 97 - let UC_MIPS_REG_W1 = 98 - let UC_MIPS_REG_W2 = 99 - let UC_MIPS_REG_W3 = 100 - let UC_MIPS_REG_W4 = 101 - let UC_MIPS_REG_W5 = 102 - let UC_MIPS_REG_W6 = 103 - let UC_MIPS_REG_W7 = 104 - let UC_MIPS_REG_W8 = 105 - let UC_MIPS_REG_W9 = 106 - let UC_MIPS_REG_W10 = 107 - let UC_MIPS_REG_W11 = 108 - let UC_MIPS_REG_W12 = 109 - let UC_MIPS_REG_W13 = 110 - let UC_MIPS_REG_W14 = 111 - let UC_MIPS_REG_W15 = 112 - let UC_MIPS_REG_W16 = 113 - let UC_MIPS_REG_W17 = 114 - let UC_MIPS_REG_W18 = 115 - let UC_MIPS_REG_W19 = 116 - let UC_MIPS_REG_W20 = 117 - let UC_MIPS_REG_W21 = 118 - let UC_MIPS_REG_W22 = 119 - let UC_MIPS_REG_W23 = 120 - let UC_MIPS_REG_W24 = 121 - let UC_MIPS_REG_W25 = 122 - let UC_MIPS_REG_W26 = 123 - let UC_MIPS_REG_W27 = 124 - let UC_MIPS_REG_W28 = 125 - let UC_MIPS_REG_W29 = 126 - let UC_MIPS_REG_W30 = 127 - let UC_MIPS_REG_W31 = 128 - let UC_MIPS_REG_HI = 129 - let UC_MIPS_REG_LO = 130 - let UC_MIPS_REG_P0 = 131 - let UC_MIPS_REG_P1 = 132 - let UC_MIPS_REG_P2 = 133 - let UC_MIPS_REG_MPL0 = 134 - let UC_MIPS_REG_MPL1 = 135 - let UC_MIPS_REG_MPL2 = 136 - let UC_MIPS_REG_ENDING = 137 - let UC_MIPS_REG_ZERO = 2 - let UC_MIPS_REG_AT = 3 - let UC_MIPS_REG_V0 = 4 - let UC_MIPS_REG_V1 = 5 - let UC_MIPS_REG_A0 = 6 - let UC_MIPS_REG_A1 = 7 - let UC_MIPS_REG_A2 = 8 - let UC_MIPS_REG_A3 = 9 - let UC_MIPS_REG_T0 = 10 - let UC_MIPS_REG_T1 = 11 - let UC_MIPS_REG_T2 = 12 - let UC_MIPS_REG_T3 = 13 - let UC_MIPS_REG_T4 = 14 - let UC_MIPS_REG_T5 = 15 - let UC_MIPS_REG_T6 = 16 - let UC_MIPS_REG_T7 = 17 - let UC_MIPS_REG_S0 = 18 - let UC_MIPS_REG_S1 = 19 - let UC_MIPS_REG_S2 = 20 - let UC_MIPS_REG_S3 = 21 - let UC_MIPS_REG_S4 = 22 - let UC_MIPS_REG_S5 = 23 - let UC_MIPS_REG_S6 = 24 - let UC_MIPS_REG_S7 = 25 - let UC_MIPS_REG_T8 = 26 - let UC_MIPS_REG_T9 = 27 - let UC_MIPS_REG_K0 = 28 - let UC_MIPS_REG_K1 = 29 - let UC_MIPS_REG_GP = 30 - let UC_MIPS_REG_SP = 31 - let UC_MIPS_REG_FP = 32 - let UC_MIPS_REG_S8 = 32 - let UC_MIPS_REG_RA = 33 - let UC_MIPS_REG_HI0 = 45 - let UC_MIPS_REG_HI1 = 46 - let UC_MIPS_REG_HI2 = 47 - let UC_MIPS_REG_HI3 = 48 - let UC_MIPS_REG_LO0 = 45 - let UC_MIPS_REG_LO1 = 46 - let UC_MIPS_REG_LO2 = 47 - let UC_MIPS_REG_LO3 = 48 - diff --git a/bindings/dotnet/Unicorn/Const/Sparc.fs b/bindings/dotnet/Unicorn/Const/Sparc.fs deleted file mode 100644 index 9d7d7e96..00000000 --- a/bindings/dotnet/Unicorn/Const/Sparc.fs +++ /dev/null @@ -1,104 +0,0 @@ -// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT - -namespace UnicornEngine.Const - -open System - -[] -module Sparc = - -// SPARC registers - - let UC_SPARC_REG_INVALID = 0 - let UC_SPARC_REG_F0 = 1 - let UC_SPARC_REG_F1 = 2 - let UC_SPARC_REG_F2 = 3 - let UC_SPARC_REG_F3 = 4 - let UC_SPARC_REG_F4 = 5 - let UC_SPARC_REG_F5 = 6 - let UC_SPARC_REG_F6 = 7 - let UC_SPARC_REG_F7 = 8 - let UC_SPARC_REG_F8 = 9 - let UC_SPARC_REG_F9 = 10 - let UC_SPARC_REG_F10 = 11 - let UC_SPARC_REG_F11 = 12 - let UC_SPARC_REG_F12 = 13 - let UC_SPARC_REG_F13 = 14 - let UC_SPARC_REG_F14 = 15 - let UC_SPARC_REG_F15 = 16 - let UC_SPARC_REG_F16 = 17 - let UC_SPARC_REG_F17 = 18 - let UC_SPARC_REG_F18 = 19 - let UC_SPARC_REG_F19 = 20 - let UC_SPARC_REG_F20 = 21 - let UC_SPARC_REG_F21 = 22 - let UC_SPARC_REG_F22 = 23 - let UC_SPARC_REG_F23 = 24 - let UC_SPARC_REG_F24 = 25 - let UC_SPARC_REG_F25 = 26 - let UC_SPARC_REG_F26 = 27 - let UC_SPARC_REG_F27 = 28 - let UC_SPARC_REG_F28 = 29 - let UC_SPARC_REG_F29 = 30 - let UC_SPARC_REG_F30 = 31 - let UC_SPARC_REG_F31 = 32 - let UC_SPARC_REG_F32 = 33 - let UC_SPARC_REG_F34 = 34 - let UC_SPARC_REG_F36 = 35 - let UC_SPARC_REG_F38 = 36 - let UC_SPARC_REG_F40 = 37 - let UC_SPARC_REG_F42 = 38 - let UC_SPARC_REG_F44 = 39 - let UC_SPARC_REG_F46 = 40 - let UC_SPARC_REG_F48 = 41 - let UC_SPARC_REG_F50 = 42 - let UC_SPARC_REG_F52 = 43 - let UC_SPARC_REG_F54 = 44 - let UC_SPARC_REG_F56 = 45 - let UC_SPARC_REG_F58 = 46 - let UC_SPARC_REG_F60 = 47 - let UC_SPARC_REG_F62 = 48 - let UC_SPARC_REG_FCC0 = 49 - let UC_SPARC_REG_FCC1 = 50 - let UC_SPARC_REG_FCC2 = 51 - let UC_SPARC_REG_FCC3 = 52 - let UC_SPARC_REG_G0 = 53 - let UC_SPARC_REG_G1 = 54 - let UC_SPARC_REG_G2 = 55 - let UC_SPARC_REG_G3 = 56 - let UC_SPARC_REG_G4 = 57 - let UC_SPARC_REG_G5 = 58 - let UC_SPARC_REG_G6 = 59 - let UC_SPARC_REG_G7 = 60 - let UC_SPARC_REG_I0 = 61 - let UC_SPARC_REG_I1 = 62 - let UC_SPARC_REG_I2 = 63 - let UC_SPARC_REG_I3 = 64 - let UC_SPARC_REG_I4 = 65 - let UC_SPARC_REG_I5 = 66 - let UC_SPARC_REG_FP = 67 - let UC_SPARC_REG_I7 = 68 - let UC_SPARC_REG_ICC = 69 - let UC_SPARC_REG_L0 = 70 - let UC_SPARC_REG_L1 = 71 - let UC_SPARC_REG_L2 = 72 - let UC_SPARC_REG_L3 = 73 - let UC_SPARC_REG_L4 = 74 - let UC_SPARC_REG_L5 = 75 - let UC_SPARC_REG_L6 = 76 - let UC_SPARC_REG_L7 = 77 - let UC_SPARC_REG_O0 = 78 - let UC_SPARC_REG_O1 = 79 - let UC_SPARC_REG_O2 = 80 - let UC_SPARC_REG_O3 = 81 - let UC_SPARC_REG_O4 = 82 - let UC_SPARC_REG_O5 = 83 - let UC_SPARC_REG_SP = 84 - let UC_SPARC_REG_O7 = 85 - let UC_SPARC_REG_Y = 86 - let UC_SPARC_REG_XCC = 87 - let UC_SPARC_REG_PC = 88 - let UC_SPARC_REG_ENDING = 89 - let UC_SPARC_REG_O6 = 84 - let UC_SPARC_REG_I6 = 67 - diff --git a/bindings/dotnet/Unicorn/Const/X86.fs b/bindings/dotnet/Unicorn/Const/X86.fs deleted file mode 100644 index e1123792..00000000 --- a/bindings/dotnet/Unicorn/Const/X86.fs +++ /dev/null @@ -1,1597 +0,0 @@ -// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT - -namespace UnicornEngine.Const - -open System - -[] -module X86 = - -// X86 registers - - let UC_X86_REG_INVALID = 0 - let UC_X86_REG_AH = 1 - let UC_X86_REG_AL = 2 - let UC_X86_REG_AX = 3 - let UC_X86_REG_BH = 4 - let UC_X86_REG_BL = 5 - let UC_X86_REG_BP = 6 - let UC_X86_REG_BPL = 7 - let UC_X86_REG_BX = 8 - let UC_X86_REG_CH = 9 - let UC_X86_REG_CL = 10 - let UC_X86_REG_CS = 11 - let UC_X86_REG_CX = 12 - let UC_X86_REG_DH = 13 - let UC_X86_REG_DI = 14 - let UC_X86_REG_DIL = 15 - let UC_X86_REG_DL = 16 - let UC_X86_REG_DS = 17 - let UC_X86_REG_DX = 18 - let UC_X86_REG_EAX = 19 - let UC_X86_REG_EBP = 20 - let UC_X86_REG_EBX = 21 - let UC_X86_REG_ECX = 22 - let UC_X86_REG_EDI = 23 - let UC_X86_REG_EDX = 24 - let UC_X86_REG_EFLAGS = 25 - let UC_X86_REG_EIP = 26 - let UC_X86_REG_EIZ = 27 - let UC_X86_REG_ES = 28 - let UC_X86_REG_ESI = 29 - let UC_X86_REG_ESP = 30 - let UC_X86_REG_FPSW = 31 - let UC_X86_REG_FS = 32 - let UC_X86_REG_GS = 33 - let UC_X86_REG_IP = 34 - let UC_X86_REG_RAX = 35 - let UC_X86_REG_RBP = 36 - let UC_X86_REG_RBX = 37 - let UC_X86_REG_RCX = 38 - let UC_X86_REG_RDI = 39 - let UC_X86_REG_RDX = 40 - let UC_X86_REG_RIP = 41 - let UC_X86_REG_RIZ = 42 - let UC_X86_REG_RSI = 43 - let UC_X86_REG_RSP = 44 - let UC_X86_REG_SI = 45 - let UC_X86_REG_SIL = 46 - let UC_X86_REG_SP = 47 - let UC_X86_REG_SPL = 48 - let UC_X86_REG_SS = 49 - let UC_X86_REG_CR0 = 50 - let UC_X86_REG_CR1 = 51 - let UC_X86_REG_CR2 = 52 - let UC_X86_REG_CR3 = 53 - let UC_X86_REG_CR4 = 54 - let UC_X86_REG_CR5 = 55 - let UC_X86_REG_CR6 = 56 - let UC_X86_REG_CR7 = 57 - let UC_X86_REG_CR8 = 58 - let UC_X86_REG_CR9 = 59 - let UC_X86_REG_CR10 = 60 - let UC_X86_REG_CR11 = 61 - let UC_X86_REG_CR12 = 62 - let UC_X86_REG_CR13 = 63 - let UC_X86_REG_CR14 = 64 - let UC_X86_REG_CR15 = 65 - let UC_X86_REG_DR0 = 66 - let UC_X86_REG_DR1 = 67 - let UC_X86_REG_DR2 = 68 - let UC_X86_REG_DR3 = 69 - let UC_X86_REG_DR4 = 70 - let UC_X86_REG_DR5 = 71 - let UC_X86_REG_DR6 = 72 - let UC_X86_REG_DR7 = 73 - let UC_X86_REG_DR8 = 74 - let UC_X86_REG_DR9 = 75 - let UC_X86_REG_DR10 = 76 - let UC_X86_REG_DR11 = 77 - let UC_X86_REG_DR12 = 78 - let UC_X86_REG_DR13 = 79 - let UC_X86_REG_DR14 = 80 - let UC_X86_REG_DR15 = 81 - let UC_X86_REG_FP0 = 82 - let UC_X86_REG_FP1 = 83 - let UC_X86_REG_FP2 = 84 - let UC_X86_REG_FP3 = 85 - let UC_X86_REG_FP4 = 86 - let UC_X86_REG_FP5 = 87 - let UC_X86_REG_FP6 = 88 - let UC_X86_REG_FP7 = 89 - let UC_X86_REG_K0 = 90 - let UC_X86_REG_K1 = 91 - let UC_X86_REG_K2 = 92 - let UC_X86_REG_K3 = 93 - let UC_X86_REG_K4 = 94 - let UC_X86_REG_K5 = 95 - let UC_X86_REG_K6 = 96 - let UC_X86_REG_K7 = 97 - let UC_X86_REG_MM0 = 98 - let UC_X86_REG_MM1 = 99 - let UC_X86_REG_MM2 = 100 - let UC_X86_REG_MM3 = 101 - let UC_X86_REG_MM4 = 102 - let UC_X86_REG_MM5 = 103 - let UC_X86_REG_MM6 = 104 - let UC_X86_REG_MM7 = 105 - let UC_X86_REG_R8 = 106 - let UC_X86_REG_R9 = 107 - let UC_X86_REG_R10 = 108 - let UC_X86_REG_R11 = 109 - let UC_X86_REG_R12 = 110 - let UC_X86_REG_R13 = 111 - let UC_X86_REG_R14 = 112 - let UC_X86_REG_R15 = 113 - let UC_X86_REG_ST0 = 114 - let UC_X86_REG_ST1 = 115 - let UC_X86_REG_ST2 = 116 - let UC_X86_REG_ST3 = 117 - let UC_X86_REG_ST4 = 118 - let UC_X86_REG_ST5 = 119 - let UC_X86_REG_ST6 = 120 - let UC_X86_REG_ST7 = 121 - let UC_X86_REG_XMM0 = 122 - let UC_X86_REG_XMM1 = 123 - let UC_X86_REG_XMM2 = 124 - let UC_X86_REG_XMM3 = 125 - let UC_X86_REG_XMM4 = 126 - let UC_X86_REG_XMM5 = 127 - let UC_X86_REG_XMM6 = 128 - let UC_X86_REG_XMM7 = 129 - let UC_X86_REG_XMM8 = 130 - let UC_X86_REG_XMM9 = 131 - let UC_X86_REG_XMM10 = 132 - let UC_X86_REG_XMM11 = 133 - let UC_X86_REG_XMM12 = 134 - let UC_X86_REG_XMM13 = 135 - let UC_X86_REG_XMM14 = 136 - let UC_X86_REG_XMM15 = 137 - let UC_X86_REG_XMM16 = 138 - let UC_X86_REG_XMM17 = 139 - let UC_X86_REG_XMM18 = 140 - let UC_X86_REG_XMM19 = 141 - let UC_X86_REG_XMM20 = 142 - let UC_X86_REG_XMM21 = 143 - let UC_X86_REG_XMM22 = 144 - let UC_X86_REG_XMM23 = 145 - let UC_X86_REG_XMM24 = 146 - let UC_X86_REG_XMM25 = 147 - let UC_X86_REG_XMM26 = 148 - let UC_X86_REG_XMM27 = 149 - let UC_X86_REG_XMM28 = 150 - let UC_X86_REG_XMM29 = 151 - let UC_X86_REG_XMM30 = 152 - let UC_X86_REG_XMM31 = 153 - let UC_X86_REG_YMM0 = 154 - let UC_X86_REG_YMM1 = 155 - let UC_X86_REG_YMM2 = 156 - let UC_X86_REG_YMM3 = 157 - let UC_X86_REG_YMM4 = 158 - let UC_X86_REG_YMM5 = 159 - let UC_X86_REG_YMM6 = 160 - let UC_X86_REG_YMM7 = 161 - let UC_X86_REG_YMM8 = 162 - let UC_X86_REG_YMM9 = 163 - let UC_X86_REG_YMM10 = 164 - let UC_X86_REG_YMM11 = 165 - let UC_X86_REG_YMM12 = 166 - let UC_X86_REG_YMM13 = 167 - let UC_X86_REG_YMM14 = 168 - let UC_X86_REG_YMM15 = 169 - let UC_X86_REG_YMM16 = 170 - let UC_X86_REG_YMM17 = 171 - let UC_X86_REG_YMM18 = 172 - let UC_X86_REG_YMM19 = 173 - let UC_X86_REG_YMM20 = 174 - let UC_X86_REG_YMM21 = 175 - let UC_X86_REG_YMM22 = 176 - let UC_X86_REG_YMM23 = 177 - let UC_X86_REG_YMM24 = 178 - let UC_X86_REG_YMM25 = 179 - let UC_X86_REG_YMM26 = 180 - let UC_X86_REG_YMM27 = 181 - let UC_X86_REG_YMM28 = 182 - let UC_X86_REG_YMM29 = 183 - let UC_X86_REG_YMM30 = 184 - let UC_X86_REG_YMM31 = 185 - let UC_X86_REG_ZMM0 = 186 - let UC_X86_REG_ZMM1 = 187 - let UC_X86_REG_ZMM2 = 188 - let UC_X86_REG_ZMM3 = 189 - let UC_X86_REG_ZMM4 = 190 - let UC_X86_REG_ZMM5 = 191 - let UC_X86_REG_ZMM6 = 192 - let UC_X86_REG_ZMM7 = 193 - let UC_X86_REG_ZMM8 = 194 - let UC_X86_REG_ZMM9 = 195 - let UC_X86_REG_ZMM10 = 196 - let UC_X86_REG_ZMM11 = 197 - let UC_X86_REG_ZMM12 = 198 - let UC_X86_REG_ZMM13 = 199 - let UC_X86_REG_ZMM14 = 200 - let UC_X86_REG_ZMM15 = 201 - let UC_X86_REG_ZMM16 = 202 - let UC_X86_REG_ZMM17 = 203 - let UC_X86_REG_ZMM18 = 204 - let UC_X86_REG_ZMM19 = 205 - let UC_X86_REG_ZMM20 = 206 - let UC_X86_REG_ZMM21 = 207 - let UC_X86_REG_ZMM22 = 208 - let UC_X86_REG_ZMM23 = 209 - let UC_X86_REG_ZMM24 = 210 - let UC_X86_REG_ZMM25 = 211 - let UC_X86_REG_ZMM26 = 212 - let UC_X86_REG_ZMM27 = 213 - let UC_X86_REG_ZMM28 = 214 - let UC_X86_REG_ZMM29 = 215 - let UC_X86_REG_ZMM30 = 216 - let UC_X86_REG_ZMM31 = 217 - let UC_X86_REG_R8B = 218 - let UC_X86_REG_R9B = 219 - let UC_X86_REG_R10B = 220 - let UC_X86_REG_R11B = 221 - let UC_X86_REG_R12B = 222 - let UC_X86_REG_R13B = 223 - let UC_X86_REG_R14B = 224 - let UC_X86_REG_R15B = 225 - let UC_X86_REG_R8D = 226 - let UC_X86_REG_R9D = 227 - let UC_X86_REG_R10D = 228 - let UC_X86_REG_R11D = 229 - let UC_X86_REG_R12D = 230 - let UC_X86_REG_R13D = 231 - let UC_X86_REG_R14D = 232 - let UC_X86_REG_R15D = 233 - let UC_X86_REG_R8W = 234 - let UC_X86_REG_R9W = 235 - let UC_X86_REG_R10W = 236 - let UC_X86_REG_R11W = 237 - let UC_X86_REG_R12W = 238 - let UC_X86_REG_R13W = 239 - let UC_X86_REG_R14W = 240 - let UC_X86_REG_R15W = 241 - let UC_X86_REG_ENDING = 242 - -// X86 instructions - - let UC_X86_INS_INVALID = 0 - let UC_X86_INS_AAA = 1 - let UC_X86_INS_AAD = 2 - let UC_X86_INS_AAM = 3 - let UC_X86_INS_AAS = 4 - let UC_X86_INS_FABS = 5 - let UC_X86_INS_ADC = 6 - let UC_X86_INS_ADCX = 7 - let UC_X86_INS_ADD = 8 - let UC_X86_INS_ADDPD = 9 - let UC_X86_INS_ADDPS = 10 - let UC_X86_INS_ADDSD = 11 - let UC_X86_INS_ADDSS = 12 - let UC_X86_INS_ADDSUBPD = 13 - let UC_X86_INS_ADDSUBPS = 14 - let UC_X86_INS_FADD = 15 - let UC_X86_INS_FIADD = 16 - let UC_X86_INS_FADDP = 17 - let UC_X86_INS_ADOX = 18 - let UC_X86_INS_AESDECLAST = 19 - let UC_X86_INS_AESDEC = 20 - let UC_X86_INS_AESENCLAST = 21 - let UC_X86_INS_AESENC = 22 - let UC_X86_INS_AESIMC = 23 - let UC_X86_INS_AESKEYGENASSIST = 24 - let UC_X86_INS_AND = 25 - let UC_X86_INS_ANDN = 26 - let UC_X86_INS_ANDNPD = 27 - let UC_X86_INS_ANDNPS = 28 - let UC_X86_INS_ANDPD = 29 - let UC_X86_INS_ANDPS = 30 - let UC_X86_INS_ARPL = 31 - let UC_X86_INS_BEXTR = 32 - let UC_X86_INS_BLCFILL = 33 - let UC_X86_INS_BLCI = 34 - let UC_X86_INS_BLCIC = 35 - let UC_X86_INS_BLCMSK = 36 - let UC_X86_INS_BLCS = 37 - let UC_X86_INS_BLENDPD = 38 - let UC_X86_INS_BLENDPS = 39 - let UC_X86_INS_BLENDVPD = 40 - let UC_X86_INS_BLENDVPS = 41 - let UC_X86_INS_BLSFILL = 42 - let UC_X86_INS_BLSI = 43 - let UC_X86_INS_BLSIC = 44 - let UC_X86_INS_BLSMSK = 45 - let UC_X86_INS_BLSR = 46 - let UC_X86_INS_BOUND = 47 - let UC_X86_INS_BSF = 48 - let UC_X86_INS_BSR = 49 - let UC_X86_INS_BSWAP = 50 - let UC_X86_INS_BT = 51 - let UC_X86_INS_BTC = 52 - let UC_X86_INS_BTR = 53 - let UC_X86_INS_BTS = 54 - let UC_X86_INS_BZHI = 55 - let UC_X86_INS_CALL = 56 - let UC_X86_INS_CBW = 57 - let UC_X86_INS_CDQ = 58 - let UC_X86_INS_CDQE = 59 - let UC_X86_INS_FCHS = 60 - let UC_X86_INS_CLAC = 61 - let UC_X86_INS_CLC = 62 - let UC_X86_INS_CLD = 63 - let UC_X86_INS_CLFLUSH = 64 - let UC_X86_INS_CLFLUSHOPT = 65 - let UC_X86_INS_CLGI = 66 - let UC_X86_INS_CLI = 67 - let UC_X86_INS_CLTS = 68 - let UC_X86_INS_CLWB = 69 - let UC_X86_INS_CMC = 70 - let UC_X86_INS_CMOVA = 71 - let UC_X86_INS_CMOVAE = 72 - let UC_X86_INS_CMOVB = 73 - let UC_X86_INS_CMOVBE = 74 - let UC_X86_INS_FCMOVBE = 75 - let UC_X86_INS_FCMOVB = 76 - let UC_X86_INS_CMOVE = 77 - let UC_X86_INS_FCMOVE = 78 - let UC_X86_INS_CMOVG = 79 - let UC_X86_INS_CMOVGE = 80 - let UC_X86_INS_CMOVL = 81 - let UC_X86_INS_CMOVLE = 82 - let UC_X86_INS_FCMOVNBE = 83 - let UC_X86_INS_FCMOVNB = 84 - let UC_X86_INS_CMOVNE = 85 - let UC_X86_INS_FCMOVNE = 86 - let UC_X86_INS_CMOVNO = 87 - let UC_X86_INS_CMOVNP = 88 - let UC_X86_INS_FCMOVNU = 89 - let UC_X86_INS_CMOVNS = 90 - let UC_X86_INS_CMOVO = 91 - let UC_X86_INS_CMOVP = 92 - let UC_X86_INS_FCMOVU = 93 - let UC_X86_INS_CMOVS = 94 - let UC_X86_INS_CMP = 95 - let UC_X86_INS_CMPPD = 96 - let UC_X86_INS_CMPPS = 97 - let UC_X86_INS_CMPSB = 98 - let UC_X86_INS_CMPSD = 99 - let UC_X86_INS_CMPSQ = 100 - let UC_X86_INS_CMPSS = 101 - let UC_X86_INS_CMPSW = 102 - let UC_X86_INS_CMPXCHG16B = 103 - let UC_X86_INS_CMPXCHG = 104 - let UC_X86_INS_CMPXCHG8B = 105 - let UC_X86_INS_COMISD = 106 - let UC_X86_INS_COMISS = 107 - let UC_X86_INS_FCOMP = 108 - let UC_X86_INS_FCOMPI = 109 - let UC_X86_INS_FCOMI = 110 - let UC_X86_INS_FCOM = 111 - let UC_X86_INS_FCOS = 112 - let UC_X86_INS_CPUID = 113 - let UC_X86_INS_CQO = 114 - let UC_X86_INS_CRC32 = 115 - let UC_X86_INS_CVTDQ2PD = 116 - let UC_X86_INS_CVTDQ2PS = 117 - let UC_X86_INS_CVTPD2DQ = 118 - let UC_X86_INS_CVTPD2PS = 119 - let UC_X86_INS_CVTPS2DQ = 120 - let UC_X86_INS_CVTPS2PD = 121 - let UC_X86_INS_CVTSD2SI = 122 - let UC_X86_INS_CVTSD2SS = 123 - let UC_X86_INS_CVTSI2SD = 124 - let UC_X86_INS_CVTSI2SS = 125 - let UC_X86_INS_CVTSS2SD = 126 - let UC_X86_INS_CVTSS2SI = 127 - let UC_X86_INS_CVTTPD2DQ = 128 - let UC_X86_INS_CVTTPS2DQ = 129 - let UC_X86_INS_CVTTSD2SI = 130 - let UC_X86_INS_CVTTSS2SI = 131 - let UC_X86_INS_CWD = 132 - let UC_X86_INS_CWDE = 133 - let UC_X86_INS_DAA = 134 - let UC_X86_INS_DAS = 135 - let UC_X86_INS_DATA16 = 136 - let UC_X86_INS_DEC = 137 - let UC_X86_INS_DIV = 138 - let UC_X86_INS_DIVPD = 139 - let UC_X86_INS_DIVPS = 140 - let UC_X86_INS_FDIVR = 141 - let UC_X86_INS_FIDIVR = 142 - let UC_X86_INS_FDIVRP = 143 - let UC_X86_INS_DIVSD = 144 - let UC_X86_INS_DIVSS = 145 - let UC_X86_INS_FDIV = 146 - let UC_X86_INS_FIDIV = 147 - let UC_X86_INS_FDIVP = 148 - let UC_X86_INS_DPPD = 149 - let UC_X86_INS_DPPS = 150 - let UC_X86_INS_RET = 151 - let UC_X86_INS_ENCLS = 152 - let UC_X86_INS_ENCLU = 153 - let UC_X86_INS_ENTER = 154 - let UC_X86_INS_EXTRACTPS = 155 - let UC_X86_INS_EXTRQ = 156 - let UC_X86_INS_F2XM1 = 157 - let UC_X86_INS_LCALL = 158 - let UC_X86_INS_LJMP = 159 - let UC_X86_INS_FBLD = 160 - let UC_X86_INS_FBSTP = 161 - let UC_X86_INS_FCOMPP = 162 - let UC_X86_INS_FDECSTP = 163 - let UC_X86_INS_FEMMS = 164 - let UC_X86_INS_FFREE = 165 - let UC_X86_INS_FICOM = 166 - let UC_X86_INS_FICOMP = 167 - let UC_X86_INS_FINCSTP = 168 - let UC_X86_INS_FLDCW = 169 - let UC_X86_INS_FLDENV = 170 - let UC_X86_INS_FLDL2E = 171 - let UC_X86_INS_FLDL2T = 172 - let UC_X86_INS_FLDLG2 = 173 - let UC_X86_INS_FLDLN2 = 174 - let UC_X86_INS_FLDPI = 175 - let UC_X86_INS_FNCLEX = 176 - let UC_X86_INS_FNINIT = 177 - let UC_X86_INS_FNOP = 178 - let UC_X86_INS_FNSTCW = 179 - let UC_X86_INS_FNSTSW = 180 - let UC_X86_INS_FPATAN = 181 - let UC_X86_INS_FPREM = 182 - let UC_X86_INS_FPREM1 = 183 - let UC_X86_INS_FPTAN = 184 - let UC_X86_INS_FFREEP = 185 - let UC_X86_INS_FRNDINT = 186 - let UC_X86_INS_FRSTOR = 187 - let UC_X86_INS_FNSAVE = 188 - let UC_X86_INS_FSCALE = 189 - let UC_X86_INS_FSETPM = 190 - let UC_X86_INS_FSINCOS = 191 - let UC_X86_INS_FNSTENV = 192 - let UC_X86_INS_FXAM = 193 - let UC_X86_INS_FXRSTOR = 194 - let UC_X86_INS_FXRSTOR64 = 195 - let UC_X86_INS_FXSAVE = 196 - let UC_X86_INS_FXSAVE64 = 197 - let UC_X86_INS_FXTRACT = 198 - let UC_X86_INS_FYL2X = 199 - let UC_X86_INS_FYL2XP1 = 200 - let UC_X86_INS_MOVAPD = 201 - let UC_X86_INS_MOVAPS = 202 - let UC_X86_INS_ORPD = 203 - let UC_X86_INS_ORPS = 204 - let UC_X86_INS_VMOVAPD = 205 - let UC_X86_INS_VMOVAPS = 206 - let UC_X86_INS_XORPD = 207 - let UC_X86_INS_XORPS = 208 - let UC_X86_INS_GETSEC = 209 - let UC_X86_INS_HADDPD = 210 - let UC_X86_INS_HADDPS = 211 - let UC_X86_INS_HLT = 212 - let UC_X86_INS_HSUBPD = 213 - let UC_X86_INS_HSUBPS = 214 - let UC_X86_INS_IDIV = 215 - let UC_X86_INS_FILD = 216 - let UC_X86_INS_IMUL = 217 - let UC_X86_INS_IN = 218 - let UC_X86_INS_INC = 219 - let UC_X86_INS_INSB = 220 - let UC_X86_INS_INSERTPS = 221 - let UC_X86_INS_INSERTQ = 222 - let UC_X86_INS_INSD = 223 - let UC_X86_INS_INSW = 224 - let UC_X86_INS_INT = 225 - let UC_X86_INS_INT1 = 226 - let UC_X86_INS_INT3 = 227 - let UC_X86_INS_INTO = 228 - let UC_X86_INS_INVD = 229 - let UC_X86_INS_INVEPT = 230 - let UC_X86_INS_INVLPG = 231 - let UC_X86_INS_INVLPGA = 232 - let UC_X86_INS_INVPCID = 233 - let UC_X86_INS_INVVPID = 234 - let UC_X86_INS_IRET = 235 - let UC_X86_INS_IRETD = 236 - let UC_X86_INS_IRETQ = 237 - let UC_X86_INS_FISTTP = 238 - let UC_X86_INS_FIST = 239 - let UC_X86_INS_FISTP = 240 - let UC_X86_INS_UCOMISD = 241 - let UC_X86_INS_UCOMISS = 242 - let UC_X86_INS_VCOMISD = 243 - let UC_X86_INS_VCOMISS = 244 - let UC_X86_INS_VCVTSD2SS = 245 - let UC_X86_INS_VCVTSI2SD = 246 - let UC_X86_INS_VCVTSI2SS = 247 - let UC_X86_INS_VCVTSS2SD = 248 - let UC_X86_INS_VCVTTSD2SI = 249 - let UC_X86_INS_VCVTTSD2USI = 250 - let UC_X86_INS_VCVTTSS2SI = 251 - let UC_X86_INS_VCVTTSS2USI = 252 - let UC_X86_INS_VCVTUSI2SD = 253 - let UC_X86_INS_VCVTUSI2SS = 254 - let UC_X86_INS_VUCOMISD = 255 - let UC_X86_INS_VUCOMISS = 256 - let UC_X86_INS_JAE = 257 - let UC_X86_INS_JA = 258 - let UC_X86_INS_JBE = 259 - let UC_X86_INS_JB = 260 - let UC_X86_INS_JCXZ = 261 - let UC_X86_INS_JECXZ = 262 - let UC_X86_INS_JE = 263 - let UC_X86_INS_JGE = 264 - let UC_X86_INS_JG = 265 - let UC_X86_INS_JLE = 266 - let UC_X86_INS_JL = 267 - let UC_X86_INS_JMP = 268 - let UC_X86_INS_JNE = 269 - let UC_X86_INS_JNO = 270 - let UC_X86_INS_JNP = 271 - let UC_X86_INS_JNS = 272 - let UC_X86_INS_JO = 273 - let UC_X86_INS_JP = 274 - let UC_X86_INS_JRCXZ = 275 - let UC_X86_INS_JS = 276 - let UC_X86_INS_KANDB = 277 - let UC_X86_INS_KANDD = 278 - let UC_X86_INS_KANDNB = 279 - let UC_X86_INS_KANDND = 280 - let UC_X86_INS_KANDNQ = 281 - let UC_X86_INS_KANDNW = 282 - let UC_X86_INS_KANDQ = 283 - let UC_X86_INS_KANDW = 284 - let UC_X86_INS_KMOVB = 285 - let UC_X86_INS_KMOVD = 286 - let UC_X86_INS_KMOVQ = 287 - let UC_X86_INS_KMOVW = 288 - let UC_X86_INS_KNOTB = 289 - let UC_X86_INS_KNOTD = 290 - let UC_X86_INS_KNOTQ = 291 - let UC_X86_INS_KNOTW = 292 - let UC_X86_INS_KORB = 293 - let UC_X86_INS_KORD = 294 - let UC_X86_INS_KORQ = 295 - let UC_X86_INS_KORTESTB = 296 - let UC_X86_INS_KORTESTD = 297 - let UC_X86_INS_KORTESTQ = 298 - let UC_X86_INS_KORTESTW = 299 - let UC_X86_INS_KORW = 300 - let UC_X86_INS_KSHIFTLB = 301 - let UC_X86_INS_KSHIFTLD = 302 - let UC_X86_INS_KSHIFTLQ = 303 - let UC_X86_INS_KSHIFTLW = 304 - let UC_X86_INS_KSHIFTRB = 305 - let UC_X86_INS_KSHIFTRD = 306 - let UC_X86_INS_KSHIFTRQ = 307 - let UC_X86_INS_KSHIFTRW = 308 - let UC_X86_INS_KUNPCKBW = 309 - let UC_X86_INS_KXNORB = 310 - let UC_X86_INS_KXNORD = 311 - let UC_X86_INS_KXNORQ = 312 - let UC_X86_INS_KXNORW = 313 - let UC_X86_INS_KXORB = 314 - let UC_X86_INS_KXORD = 315 - let UC_X86_INS_KXORQ = 316 - let UC_X86_INS_KXORW = 317 - let UC_X86_INS_LAHF = 318 - let UC_X86_INS_LAR = 319 - let UC_X86_INS_LDDQU = 320 - let UC_X86_INS_LDMXCSR = 321 - let UC_X86_INS_LDS = 322 - let UC_X86_INS_FLDZ = 323 - let UC_X86_INS_FLD1 = 324 - let UC_X86_INS_FLD = 325 - let UC_X86_INS_LEA = 326 - let UC_X86_INS_LEAVE = 327 - let UC_X86_INS_LES = 328 - let UC_X86_INS_LFENCE = 329 - let UC_X86_INS_LFS = 330 - let UC_X86_INS_LGDT = 331 - let UC_X86_INS_LGS = 332 - let UC_X86_INS_LIDT = 333 - let UC_X86_INS_LLDT = 334 - let UC_X86_INS_LMSW = 335 - let UC_X86_INS_OR = 336 - let UC_X86_INS_SUB = 337 - let UC_X86_INS_XOR = 338 - let UC_X86_INS_LODSB = 339 - let UC_X86_INS_LODSD = 340 - let UC_X86_INS_LODSQ = 341 - let UC_X86_INS_LODSW = 342 - let UC_X86_INS_LOOP = 343 - let UC_X86_INS_LOOPE = 344 - let UC_X86_INS_LOOPNE = 345 - let UC_X86_INS_RETF = 346 - let UC_X86_INS_RETFQ = 347 - let UC_X86_INS_LSL = 348 - let UC_X86_INS_LSS = 349 - let UC_X86_INS_LTR = 350 - let UC_X86_INS_XADD = 351 - let UC_X86_INS_LZCNT = 352 - let UC_X86_INS_MASKMOVDQU = 353 - let UC_X86_INS_MAXPD = 354 - let UC_X86_INS_MAXPS = 355 - let UC_X86_INS_MAXSD = 356 - let UC_X86_INS_MAXSS = 357 - let UC_X86_INS_MFENCE = 358 - let UC_X86_INS_MINPD = 359 - let UC_X86_INS_MINPS = 360 - let UC_X86_INS_MINSD = 361 - let UC_X86_INS_MINSS = 362 - let UC_X86_INS_CVTPD2PI = 363 - let UC_X86_INS_CVTPI2PD = 364 - let UC_X86_INS_CVTPI2PS = 365 - let UC_X86_INS_CVTPS2PI = 366 - let UC_X86_INS_CVTTPD2PI = 367 - let UC_X86_INS_CVTTPS2PI = 368 - let UC_X86_INS_EMMS = 369 - let UC_X86_INS_MASKMOVQ = 370 - let UC_X86_INS_MOVD = 371 - let UC_X86_INS_MOVDQ2Q = 372 - let UC_X86_INS_MOVNTQ = 373 - let UC_X86_INS_MOVQ2DQ = 374 - let UC_X86_INS_MOVQ = 375 - let UC_X86_INS_PABSB = 376 - let UC_X86_INS_PABSD = 377 - let UC_X86_INS_PABSW = 378 - let UC_X86_INS_PACKSSDW = 379 - let UC_X86_INS_PACKSSWB = 380 - let UC_X86_INS_PACKUSWB = 381 - let UC_X86_INS_PADDB = 382 - let UC_X86_INS_PADDD = 383 - let UC_X86_INS_PADDQ = 384 - let UC_X86_INS_PADDSB = 385 - let UC_X86_INS_PADDSW = 386 - let UC_X86_INS_PADDUSB = 387 - let UC_X86_INS_PADDUSW = 388 - let UC_X86_INS_PADDW = 389 - let UC_X86_INS_PALIGNR = 390 - let UC_X86_INS_PANDN = 391 - let UC_X86_INS_PAND = 392 - let UC_X86_INS_PAVGB = 393 - let UC_X86_INS_PAVGW = 394 - let UC_X86_INS_PCMPEQB = 395 - let UC_X86_INS_PCMPEQD = 396 - let UC_X86_INS_PCMPEQW = 397 - let UC_X86_INS_PCMPGTB = 398 - let UC_X86_INS_PCMPGTD = 399 - let UC_X86_INS_PCMPGTW = 400 - let UC_X86_INS_PEXTRW = 401 - let UC_X86_INS_PHADDSW = 402 - let UC_X86_INS_PHADDW = 403 - let UC_X86_INS_PHADDD = 404 - let UC_X86_INS_PHSUBD = 405 - let UC_X86_INS_PHSUBSW = 406 - let UC_X86_INS_PHSUBW = 407 - let UC_X86_INS_PINSRW = 408 - let UC_X86_INS_PMADDUBSW = 409 - let UC_X86_INS_PMADDWD = 410 - let UC_X86_INS_PMAXSW = 411 - let UC_X86_INS_PMAXUB = 412 - let UC_X86_INS_PMINSW = 413 - let UC_X86_INS_PMINUB = 414 - let UC_X86_INS_PMOVMSKB = 415 - let UC_X86_INS_PMULHRSW = 416 - let UC_X86_INS_PMULHUW = 417 - let UC_X86_INS_PMULHW = 418 - let UC_X86_INS_PMULLW = 419 - let UC_X86_INS_PMULUDQ = 420 - let UC_X86_INS_POR = 421 - let UC_X86_INS_PSADBW = 422 - let UC_X86_INS_PSHUFB = 423 - let UC_X86_INS_PSHUFW = 424 - let UC_X86_INS_PSIGNB = 425 - let UC_X86_INS_PSIGND = 426 - let UC_X86_INS_PSIGNW = 427 - let UC_X86_INS_PSLLD = 428 - let UC_X86_INS_PSLLQ = 429 - let UC_X86_INS_PSLLW = 430 - let UC_X86_INS_PSRAD = 431 - let UC_X86_INS_PSRAW = 432 - let UC_X86_INS_PSRLD = 433 - let UC_X86_INS_PSRLQ = 434 - let UC_X86_INS_PSRLW = 435 - let UC_X86_INS_PSUBB = 436 - let UC_X86_INS_PSUBD = 437 - let UC_X86_INS_PSUBQ = 438 - let UC_X86_INS_PSUBSB = 439 - let UC_X86_INS_PSUBSW = 440 - let UC_X86_INS_PSUBUSB = 441 - let UC_X86_INS_PSUBUSW = 442 - let UC_X86_INS_PSUBW = 443 - let UC_X86_INS_PUNPCKHBW = 444 - let UC_X86_INS_PUNPCKHDQ = 445 - let UC_X86_INS_PUNPCKHWD = 446 - let UC_X86_INS_PUNPCKLBW = 447 - let UC_X86_INS_PUNPCKLDQ = 448 - let UC_X86_INS_PUNPCKLWD = 449 - let UC_X86_INS_PXOR = 450 - let UC_X86_INS_MONITOR = 451 - let UC_X86_INS_MONTMUL = 452 - let UC_X86_INS_MOV = 453 - let UC_X86_INS_MOVABS = 454 - let UC_X86_INS_MOVBE = 455 - let UC_X86_INS_MOVDDUP = 456 - let UC_X86_INS_MOVDQA = 457 - let UC_X86_INS_MOVDQU = 458 - let UC_X86_INS_MOVHLPS = 459 - let UC_X86_INS_MOVHPD = 460 - let UC_X86_INS_MOVHPS = 461 - let UC_X86_INS_MOVLHPS = 462 - let UC_X86_INS_MOVLPD = 463 - let UC_X86_INS_MOVLPS = 464 - let UC_X86_INS_MOVMSKPD = 465 - let UC_X86_INS_MOVMSKPS = 466 - let UC_X86_INS_MOVNTDQA = 467 - let UC_X86_INS_MOVNTDQ = 468 - let UC_X86_INS_MOVNTI = 469 - let UC_X86_INS_MOVNTPD = 470 - let UC_X86_INS_MOVNTPS = 471 - let UC_X86_INS_MOVNTSD = 472 - let UC_X86_INS_MOVNTSS = 473 - let UC_X86_INS_MOVSB = 474 - let UC_X86_INS_MOVSD = 475 - let UC_X86_INS_MOVSHDUP = 476 - let UC_X86_INS_MOVSLDUP = 477 - let UC_X86_INS_MOVSQ = 478 - let UC_X86_INS_MOVSS = 479 - let UC_X86_INS_MOVSW = 480 - let UC_X86_INS_MOVSX = 481 - let UC_X86_INS_MOVSXD = 482 - let UC_X86_INS_MOVUPD = 483 - let UC_X86_INS_MOVUPS = 484 - let UC_X86_INS_MOVZX = 485 - let UC_X86_INS_MPSADBW = 486 - let UC_X86_INS_MUL = 487 - let UC_X86_INS_MULPD = 488 - let UC_X86_INS_MULPS = 489 - let UC_X86_INS_MULSD = 490 - let UC_X86_INS_MULSS = 491 - let UC_X86_INS_MULX = 492 - let UC_X86_INS_FMUL = 493 - let UC_X86_INS_FIMUL = 494 - let UC_X86_INS_FMULP = 495 - let UC_X86_INS_MWAIT = 496 - let UC_X86_INS_NEG = 497 - let UC_X86_INS_NOP = 498 - let UC_X86_INS_NOT = 499 - let UC_X86_INS_OUT = 500 - let UC_X86_INS_OUTSB = 501 - let UC_X86_INS_OUTSD = 502 - let UC_X86_INS_OUTSW = 503 - let UC_X86_INS_PACKUSDW = 504 - let UC_X86_INS_PAUSE = 505 - let UC_X86_INS_PAVGUSB = 506 - let UC_X86_INS_PBLENDVB = 507 - let UC_X86_INS_PBLENDW = 508 - let UC_X86_INS_PCLMULQDQ = 509 - let UC_X86_INS_PCMPEQQ = 510 - let UC_X86_INS_PCMPESTRI = 511 - let UC_X86_INS_PCMPESTRM = 512 - let UC_X86_INS_PCMPGTQ = 513 - let UC_X86_INS_PCMPISTRI = 514 - let UC_X86_INS_PCMPISTRM = 515 - let UC_X86_INS_PCOMMIT = 516 - let UC_X86_INS_PDEP = 517 - let UC_X86_INS_PEXT = 518 - let UC_X86_INS_PEXTRB = 519 - let UC_X86_INS_PEXTRD = 520 - let UC_X86_INS_PEXTRQ = 521 - let UC_X86_INS_PF2ID = 522 - let UC_X86_INS_PF2IW = 523 - let UC_X86_INS_PFACC = 524 - let UC_X86_INS_PFADD = 525 - let UC_X86_INS_PFCMPEQ = 526 - let UC_X86_INS_PFCMPGE = 527 - let UC_X86_INS_PFCMPGT = 528 - let UC_X86_INS_PFMAX = 529 - let UC_X86_INS_PFMIN = 530 - let UC_X86_INS_PFMUL = 531 - let UC_X86_INS_PFNACC = 532 - let UC_X86_INS_PFPNACC = 533 - let UC_X86_INS_PFRCPIT1 = 534 - let UC_X86_INS_PFRCPIT2 = 535 - let UC_X86_INS_PFRCP = 536 - let UC_X86_INS_PFRSQIT1 = 537 - let UC_X86_INS_PFRSQRT = 538 - let UC_X86_INS_PFSUBR = 539 - let UC_X86_INS_PFSUB = 540 - let UC_X86_INS_PHMINPOSUW = 541 - let UC_X86_INS_PI2FD = 542 - let UC_X86_INS_PI2FW = 543 - let UC_X86_INS_PINSRB = 544 - let UC_X86_INS_PINSRD = 545 - let UC_X86_INS_PINSRQ = 546 - let UC_X86_INS_PMAXSB = 547 - let UC_X86_INS_PMAXSD = 548 - let UC_X86_INS_PMAXUD = 549 - let UC_X86_INS_PMAXUW = 550 - let UC_X86_INS_PMINSB = 551 - let UC_X86_INS_PMINSD = 552 - let UC_X86_INS_PMINUD = 553 - let UC_X86_INS_PMINUW = 554 - let UC_X86_INS_PMOVSXBD = 555 - let UC_X86_INS_PMOVSXBQ = 556 - let UC_X86_INS_PMOVSXBW = 557 - let UC_X86_INS_PMOVSXDQ = 558 - let UC_X86_INS_PMOVSXWD = 559 - let UC_X86_INS_PMOVSXWQ = 560 - let UC_X86_INS_PMOVZXBD = 561 - let UC_X86_INS_PMOVZXBQ = 562 - let UC_X86_INS_PMOVZXBW = 563 - let UC_X86_INS_PMOVZXDQ = 564 - let UC_X86_INS_PMOVZXWD = 565 - let UC_X86_INS_PMOVZXWQ = 566 - let UC_X86_INS_PMULDQ = 567 - let UC_X86_INS_PMULHRW = 568 - let UC_X86_INS_PMULLD = 569 - let UC_X86_INS_POP = 570 - let UC_X86_INS_POPAW = 571 - let UC_X86_INS_POPAL = 572 - let UC_X86_INS_POPCNT = 573 - let UC_X86_INS_POPF = 574 - let UC_X86_INS_POPFD = 575 - let UC_X86_INS_POPFQ = 576 - let UC_X86_INS_PREFETCH = 577 - let UC_X86_INS_PREFETCHNTA = 578 - let UC_X86_INS_PREFETCHT0 = 579 - let UC_X86_INS_PREFETCHT1 = 580 - let UC_X86_INS_PREFETCHT2 = 581 - let UC_X86_INS_PREFETCHW = 582 - let UC_X86_INS_PSHUFD = 583 - let UC_X86_INS_PSHUFHW = 584 - let UC_X86_INS_PSHUFLW = 585 - let UC_X86_INS_PSLLDQ = 586 - let UC_X86_INS_PSRLDQ = 587 - let UC_X86_INS_PSWAPD = 588 - let UC_X86_INS_PTEST = 589 - let UC_X86_INS_PUNPCKHQDQ = 590 - let UC_X86_INS_PUNPCKLQDQ = 591 - let UC_X86_INS_PUSH = 592 - let UC_X86_INS_PUSHAW = 593 - let UC_X86_INS_PUSHAL = 594 - let UC_X86_INS_PUSHF = 595 - let UC_X86_INS_PUSHFD = 596 - let UC_X86_INS_PUSHFQ = 597 - let UC_X86_INS_RCL = 598 - let UC_X86_INS_RCPPS = 599 - let UC_X86_INS_RCPSS = 600 - let UC_X86_INS_RCR = 601 - let UC_X86_INS_RDFSBASE = 602 - let UC_X86_INS_RDGSBASE = 603 - let UC_X86_INS_RDMSR = 604 - let UC_X86_INS_RDPMC = 605 - let UC_X86_INS_RDRAND = 606 - let UC_X86_INS_RDSEED = 607 - let UC_X86_INS_RDTSC = 608 - let UC_X86_INS_RDTSCP = 609 - let UC_X86_INS_ROL = 610 - let UC_X86_INS_ROR = 611 - let UC_X86_INS_RORX = 612 - let UC_X86_INS_ROUNDPD = 613 - let UC_X86_INS_ROUNDPS = 614 - let UC_X86_INS_ROUNDSD = 615 - let UC_X86_INS_ROUNDSS = 616 - let UC_X86_INS_RSM = 617 - let UC_X86_INS_RSQRTPS = 618 - let UC_X86_INS_RSQRTSS = 619 - let UC_X86_INS_SAHF = 620 - let UC_X86_INS_SAL = 621 - let UC_X86_INS_SALC = 622 - let UC_X86_INS_SAR = 623 - let UC_X86_INS_SARX = 624 - let UC_X86_INS_SBB = 625 - let UC_X86_INS_SCASB = 626 - let UC_X86_INS_SCASD = 627 - let UC_X86_INS_SCASQ = 628 - let UC_X86_INS_SCASW = 629 - let UC_X86_INS_SETAE = 630 - let UC_X86_INS_SETA = 631 - let UC_X86_INS_SETBE = 632 - let UC_X86_INS_SETB = 633 - let UC_X86_INS_SETE = 634 - let UC_X86_INS_SETGE = 635 - let UC_X86_INS_SETG = 636 - let UC_X86_INS_SETLE = 637 - let UC_X86_INS_SETL = 638 - let UC_X86_INS_SETNE = 639 - let UC_X86_INS_SETNO = 640 - let UC_X86_INS_SETNP = 641 - let UC_X86_INS_SETNS = 642 - let UC_X86_INS_SETO = 643 - let UC_X86_INS_SETP = 644 - let UC_X86_INS_SETS = 645 - let UC_X86_INS_SFENCE = 646 - let UC_X86_INS_SGDT = 647 - let UC_X86_INS_SHA1MSG1 = 648 - let UC_X86_INS_SHA1MSG2 = 649 - let UC_X86_INS_SHA1NEXTE = 650 - let UC_X86_INS_SHA1RNDS4 = 651 - let UC_X86_INS_SHA256MSG1 = 652 - let UC_X86_INS_SHA256MSG2 = 653 - let UC_X86_INS_SHA256RNDS2 = 654 - let UC_X86_INS_SHL = 655 - let UC_X86_INS_SHLD = 656 - let UC_X86_INS_SHLX = 657 - let UC_X86_INS_SHR = 658 - let UC_X86_INS_SHRD = 659 - let UC_X86_INS_SHRX = 660 - let UC_X86_INS_SHUFPD = 661 - let UC_X86_INS_SHUFPS = 662 - let UC_X86_INS_SIDT = 663 - let UC_X86_INS_FSIN = 664 - let UC_X86_INS_SKINIT = 665 - let UC_X86_INS_SLDT = 666 - let UC_X86_INS_SMSW = 667 - let UC_X86_INS_SQRTPD = 668 - let UC_X86_INS_SQRTPS = 669 - let UC_X86_INS_SQRTSD = 670 - let UC_X86_INS_SQRTSS = 671 - let UC_X86_INS_FSQRT = 672 - let UC_X86_INS_STAC = 673 - let UC_X86_INS_STC = 674 - let UC_X86_INS_STD = 675 - let UC_X86_INS_STGI = 676 - let UC_X86_INS_STI = 677 - let UC_X86_INS_STMXCSR = 678 - let UC_X86_INS_STOSB = 679 - let UC_X86_INS_STOSD = 680 - let UC_X86_INS_STOSQ = 681 - let UC_X86_INS_STOSW = 682 - let UC_X86_INS_STR = 683 - let UC_X86_INS_FST = 684 - let UC_X86_INS_FSTP = 685 - let UC_X86_INS_FSTPNCE = 686 - let UC_X86_INS_FXCH = 687 - let UC_X86_INS_SUBPD = 688 - let UC_X86_INS_SUBPS = 689 - let UC_X86_INS_FSUBR = 690 - let UC_X86_INS_FISUBR = 691 - let UC_X86_INS_FSUBRP = 692 - let UC_X86_INS_SUBSD = 693 - let UC_X86_INS_SUBSS = 694 - let UC_X86_INS_FSUB = 695 - let UC_X86_INS_FISUB = 696 - let UC_X86_INS_FSUBP = 697 - let UC_X86_INS_SWAPGS = 698 - let UC_X86_INS_SYSCALL = 699 - let UC_X86_INS_SYSENTER = 700 - let UC_X86_INS_SYSEXIT = 701 - let UC_X86_INS_SYSRET = 702 - let UC_X86_INS_T1MSKC = 703 - let UC_X86_INS_TEST = 704 - let UC_X86_INS_UD2 = 705 - let UC_X86_INS_FTST = 706 - let UC_X86_INS_TZCNT = 707 - let UC_X86_INS_TZMSK = 708 - let UC_X86_INS_FUCOMPI = 709 - let UC_X86_INS_FUCOMI = 710 - let UC_X86_INS_FUCOMPP = 711 - let UC_X86_INS_FUCOMP = 712 - let UC_X86_INS_FUCOM = 713 - let UC_X86_INS_UD2B = 714 - let UC_X86_INS_UNPCKHPD = 715 - let UC_X86_INS_UNPCKHPS = 716 - let UC_X86_INS_UNPCKLPD = 717 - let UC_X86_INS_UNPCKLPS = 718 - let UC_X86_INS_VADDPD = 719 - let UC_X86_INS_VADDPS = 720 - let UC_X86_INS_VADDSD = 721 - let UC_X86_INS_VADDSS = 722 - let UC_X86_INS_VADDSUBPD = 723 - let UC_X86_INS_VADDSUBPS = 724 - let UC_X86_INS_VAESDECLAST = 725 - let UC_X86_INS_VAESDEC = 726 - let UC_X86_INS_VAESENCLAST = 727 - let UC_X86_INS_VAESENC = 728 - let UC_X86_INS_VAESIMC = 729 - let UC_X86_INS_VAESKEYGENASSIST = 730 - let UC_X86_INS_VALIGND = 731 - let UC_X86_INS_VALIGNQ = 732 - let UC_X86_INS_VANDNPD = 733 - let UC_X86_INS_VANDNPS = 734 - let UC_X86_INS_VANDPD = 735 - let UC_X86_INS_VANDPS = 736 - let UC_X86_INS_VBLENDMPD = 737 - let UC_X86_INS_VBLENDMPS = 738 - let UC_X86_INS_VBLENDPD = 739 - let UC_X86_INS_VBLENDPS = 740 - let UC_X86_INS_VBLENDVPD = 741 - let UC_X86_INS_VBLENDVPS = 742 - let UC_X86_INS_VBROADCASTF128 = 743 - let UC_X86_INS_VBROADCASTI32X4 = 744 - let UC_X86_INS_VBROADCASTI64X4 = 745 - let UC_X86_INS_VBROADCASTSD = 746 - let UC_X86_INS_VBROADCASTSS = 747 - let UC_X86_INS_VCMPPD = 748 - let UC_X86_INS_VCMPPS = 749 - let UC_X86_INS_VCMPSD = 750 - let UC_X86_INS_VCMPSS = 751 - let UC_X86_INS_VCOMPRESSPD = 752 - let UC_X86_INS_VCOMPRESSPS = 753 - let UC_X86_INS_VCVTDQ2PD = 754 - let UC_X86_INS_VCVTDQ2PS = 755 - let UC_X86_INS_VCVTPD2DQX = 756 - let UC_X86_INS_VCVTPD2DQ = 757 - let UC_X86_INS_VCVTPD2PSX = 758 - let UC_X86_INS_VCVTPD2PS = 759 - let UC_X86_INS_VCVTPD2UDQ = 760 - let UC_X86_INS_VCVTPH2PS = 761 - let UC_X86_INS_VCVTPS2DQ = 762 - let UC_X86_INS_VCVTPS2PD = 763 - let UC_X86_INS_VCVTPS2PH = 764 - let UC_X86_INS_VCVTPS2UDQ = 765 - let UC_X86_INS_VCVTSD2SI = 766 - let UC_X86_INS_VCVTSD2USI = 767 - let UC_X86_INS_VCVTSS2SI = 768 - let UC_X86_INS_VCVTSS2USI = 769 - let UC_X86_INS_VCVTTPD2DQX = 770 - let UC_X86_INS_VCVTTPD2DQ = 771 - let UC_X86_INS_VCVTTPD2UDQ = 772 - let UC_X86_INS_VCVTTPS2DQ = 773 - let UC_X86_INS_VCVTTPS2UDQ = 774 - let UC_X86_INS_VCVTUDQ2PD = 775 - let UC_X86_INS_VCVTUDQ2PS = 776 - let UC_X86_INS_VDIVPD = 777 - let UC_X86_INS_VDIVPS = 778 - let UC_X86_INS_VDIVSD = 779 - let UC_X86_INS_VDIVSS = 780 - let UC_X86_INS_VDPPD = 781 - let UC_X86_INS_VDPPS = 782 - let UC_X86_INS_VERR = 783 - let UC_X86_INS_VERW = 784 - let UC_X86_INS_VEXP2PD = 785 - let UC_X86_INS_VEXP2PS = 786 - let UC_X86_INS_VEXPANDPD = 787 - let UC_X86_INS_VEXPANDPS = 788 - let UC_X86_INS_VEXTRACTF128 = 789 - let UC_X86_INS_VEXTRACTF32X4 = 790 - let UC_X86_INS_VEXTRACTF64X4 = 791 - let UC_X86_INS_VEXTRACTI128 = 792 - let UC_X86_INS_VEXTRACTI32X4 = 793 - let UC_X86_INS_VEXTRACTI64X4 = 794 - let UC_X86_INS_VEXTRACTPS = 795 - let UC_X86_INS_VFMADD132PD = 796 - let UC_X86_INS_VFMADD132PS = 797 - let UC_X86_INS_VFMADDPD = 798 - let UC_X86_INS_VFMADD213PD = 799 - let UC_X86_INS_VFMADD231PD = 800 - let UC_X86_INS_VFMADDPS = 801 - let UC_X86_INS_VFMADD213PS = 802 - let UC_X86_INS_VFMADD231PS = 803 - let UC_X86_INS_VFMADDSD = 804 - let UC_X86_INS_VFMADD213SD = 805 - let UC_X86_INS_VFMADD132SD = 806 - let UC_X86_INS_VFMADD231SD = 807 - let UC_X86_INS_VFMADDSS = 808 - let UC_X86_INS_VFMADD213SS = 809 - let UC_X86_INS_VFMADD132SS = 810 - let UC_X86_INS_VFMADD231SS = 811 - let UC_X86_INS_VFMADDSUB132PD = 812 - let UC_X86_INS_VFMADDSUB132PS = 813 - let UC_X86_INS_VFMADDSUBPD = 814 - let UC_X86_INS_VFMADDSUB213PD = 815 - let UC_X86_INS_VFMADDSUB231PD = 816 - let UC_X86_INS_VFMADDSUBPS = 817 - let UC_X86_INS_VFMADDSUB213PS = 818 - let UC_X86_INS_VFMADDSUB231PS = 819 - let UC_X86_INS_VFMSUB132PD = 820 - let UC_X86_INS_VFMSUB132PS = 821 - let UC_X86_INS_VFMSUBADD132PD = 822 - let UC_X86_INS_VFMSUBADD132PS = 823 - let UC_X86_INS_VFMSUBADDPD = 824 - let UC_X86_INS_VFMSUBADD213PD = 825 - let UC_X86_INS_VFMSUBADD231PD = 826 - let UC_X86_INS_VFMSUBADDPS = 827 - let UC_X86_INS_VFMSUBADD213PS = 828 - let UC_X86_INS_VFMSUBADD231PS = 829 - let UC_X86_INS_VFMSUBPD = 830 - let UC_X86_INS_VFMSUB213PD = 831 - let UC_X86_INS_VFMSUB231PD = 832 - let UC_X86_INS_VFMSUBPS = 833 - let UC_X86_INS_VFMSUB213PS = 834 - let UC_X86_INS_VFMSUB231PS = 835 - let UC_X86_INS_VFMSUBSD = 836 - let UC_X86_INS_VFMSUB213SD = 837 - let UC_X86_INS_VFMSUB132SD = 838 - let UC_X86_INS_VFMSUB231SD = 839 - let UC_X86_INS_VFMSUBSS = 840 - let UC_X86_INS_VFMSUB213SS = 841 - let UC_X86_INS_VFMSUB132SS = 842 - let UC_X86_INS_VFMSUB231SS = 843 - let UC_X86_INS_VFNMADD132PD = 844 - let UC_X86_INS_VFNMADD132PS = 845 - let UC_X86_INS_VFNMADDPD = 846 - let UC_X86_INS_VFNMADD213PD = 847 - let UC_X86_INS_VFNMADD231PD = 848 - let UC_X86_INS_VFNMADDPS = 849 - let UC_X86_INS_VFNMADD213PS = 850 - let UC_X86_INS_VFNMADD231PS = 851 - let UC_X86_INS_VFNMADDSD = 852 - let UC_X86_INS_VFNMADD213SD = 853 - let UC_X86_INS_VFNMADD132SD = 854 - let UC_X86_INS_VFNMADD231SD = 855 - let UC_X86_INS_VFNMADDSS = 856 - let UC_X86_INS_VFNMADD213SS = 857 - let UC_X86_INS_VFNMADD132SS = 858 - let UC_X86_INS_VFNMADD231SS = 859 - let UC_X86_INS_VFNMSUB132PD = 860 - let UC_X86_INS_VFNMSUB132PS = 861 - let UC_X86_INS_VFNMSUBPD = 862 - let UC_X86_INS_VFNMSUB213PD = 863 - let UC_X86_INS_VFNMSUB231PD = 864 - let UC_X86_INS_VFNMSUBPS = 865 - let UC_X86_INS_VFNMSUB213PS = 866 - let UC_X86_INS_VFNMSUB231PS = 867 - let UC_X86_INS_VFNMSUBSD = 868 - let UC_X86_INS_VFNMSUB213SD = 869 - let UC_X86_INS_VFNMSUB132SD = 870 - let UC_X86_INS_VFNMSUB231SD = 871 - let UC_X86_INS_VFNMSUBSS = 872 - let UC_X86_INS_VFNMSUB213SS = 873 - let UC_X86_INS_VFNMSUB132SS = 874 - let UC_X86_INS_VFNMSUB231SS = 875 - let UC_X86_INS_VFRCZPD = 876 - let UC_X86_INS_VFRCZPS = 877 - let UC_X86_INS_VFRCZSD = 878 - let UC_X86_INS_VFRCZSS = 879 - let UC_X86_INS_VORPD = 880 - let UC_X86_INS_VORPS = 881 - let UC_X86_INS_VXORPD = 882 - let UC_X86_INS_VXORPS = 883 - let UC_X86_INS_VGATHERDPD = 884 - let UC_X86_INS_VGATHERDPS = 885 - let UC_X86_INS_VGATHERPF0DPD = 886 - let UC_X86_INS_VGATHERPF0DPS = 887 - let UC_X86_INS_VGATHERPF0QPD = 888 - let UC_X86_INS_VGATHERPF0QPS = 889 - let UC_X86_INS_VGATHERPF1DPD = 890 - let UC_X86_INS_VGATHERPF1DPS = 891 - let UC_X86_INS_VGATHERPF1QPD = 892 - let UC_X86_INS_VGATHERPF1QPS = 893 - let UC_X86_INS_VGATHERQPD = 894 - let UC_X86_INS_VGATHERQPS = 895 - let UC_X86_INS_VHADDPD = 896 - let UC_X86_INS_VHADDPS = 897 - let UC_X86_INS_VHSUBPD = 898 - let UC_X86_INS_VHSUBPS = 899 - let UC_X86_INS_VINSERTF128 = 900 - let UC_X86_INS_VINSERTF32X4 = 901 - let UC_X86_INS_VINSERTF32X8 = 902 - let UC_X86_INS_VINSERTF64X2 = 903 - let UC_X86_INS_VINSERTF64X4 = 904 - let UC_X86_INS_VINSERTI128 = 905 - let UC_X86_INS_VINSERTI32X4 = 906 - let UC_X86_INS_VINSERTI32X8 = 907 - let UC_X86_INS_VINSERTI64X2 = 908 - let UC_X86_INS_VINSERTI64X4 = 909 - let UC_X86_INS_VINSERTPS = 910 - let UC_X86_INS_VLDDQU = 911 - let UC_X86_INS_VLDMXCSR = 912 - let UC_X86_INS_VMASKMOVDQU = 913 - let UC_X86_INS_VMASKMOVPD = 914 - let UC_X86_INS_VMASKMOVPS = 915 - let UC_X86_INS_VMAXPD = 916 - let UC_X86_INS_VMAXPS = 917 - let UC_X86_INS_VMAXSD = 918 - let UC_X86_INS_VMAXSS = 919 - let UC_X86_INS_VMCALL = 920 - let UC_X86_INS_VMCLEAR = 921 - let UC_X86_INS_VMFUNC = 922 - let UC_X86_INS_VMINPD = 923 - let UC_X86_INS_VMINPS = 924 - let UC_X86_INS_VMINSD = 925 - let UC_X86_INS_VMINSS = 926 - let UC_X86_INS_VMLAUNCH = 927 - let UC_X86_INS_VMLOAD = 928 - let UC_X86_INS_VMMCALL = 929 - let UC_X86_INS_VMOVQ = 930 - let UC_X86_INS_VMOVDDUP = 931 - let UC_X86_INS_VMOVD = 932 - let UC_X86_INS_VMOVDQA32 = 933 - let UC_X86_INS_VMOVDQA64 = 934 - let UC_X86_INS_VMOVDQA = 935 - let UC_X86_INS_VMOVDQU16 = 936 - let UC_X86_INS_VMOVDQU32 = 937 - let UC_X86_INS_VMOVDQU64 = 938 - let UC_X86_INS_VMOVDQU8 = 939 - let UC_X86_INS_VMOVDQU = 940 - let UC_X86_INS_VMOVHLPS = 941 - let UC_X86_INS_VMOVHPD = 942 - let UC_X86_INS_VMOVHPS = 943 - let UC_X86_INS_VMOVLHPS = 944 - let UC_X86_INS_VMOVLPD = 945 - let UC_X86_INS_VMOVLPS = 946 - let UC_X86_INS_VMOVMSKPD = 947 - let UC_X86_INS_VMOVMSKPS = 948 - let UC_X86_INS_VMOVNTDQA = 949 - let UC_X86_INS_VMOVNTDQ = 950 - let UC_X86_INS_VMOVNTPD = 951 - let UC_X86_INS_VMOVNTPS = 952 - let UC_X86_INS_VMOVSD = 953 - let UC_X86_INS_VMOVSHDUP = 954 - let UC_X86_INS_VMOVSLDUP = 955 - let UC_X86_INS_VMOVSS = 956 - let UC_X86_INS_VMOVUPD = 957 - let UC_X86_INS_VMOVUPS = 958 - let UC_X86_INS_VMPSADBW = 959 - let UC_X86_INS_VMPTRLD = 960 - let UC_X86_INS_VMPTRST = 961 - let UC_X86_INS_VMREAD = 962 - let UC_X86_INS_VMRESUME = 963 - let UC_X86_INS_VMRUN = 964 - let UC_X86_INS_VMSAVE = 965 - let UC_X86_INS_VMULPD = 966 - let UC_X86_INS_VMULPS = 967 - let UC_X86_INS_VMULSD = 968 - let UC_X86_INS_VMULSS = 969 - let UC_X86_INS_VMWRITE = 970 - let UC_X86_INS_VMXOFF = 971 - let UC_X86_INS_VMXON = 972 - let UC_X86_INS_VPABSB = 973 - let UC_X86_INS_VPABSD = 974 - let UC_X86_INS_VPABSQ = 975 - let UC_X86_INS_VPABSW = 976 - let UC_X86_INS_VPACKSSDW = 977 - let UC_X86_INS_VPACKSSWB = 978 - let UC_X86_INS_VPACKUSDW = 979 - let UC_X86_INS_VPACKUSWB = 980 - let UC_X86_INS_VPADDB = 981 - let UC_X86_INS_VPADDD = 982 - let UC_X86_INS_VPADDQ = 983 - let UC_X86_INS_VPADDSB = 984 - let UC_X86_INS_VPADDSW = 985 - let UC_X86_INS_VPADDUSB = 986 - let UC_X86_INS_VPADDUSW = 987 - let UC_X86_INS_VPADDW = 988 - let UC_X86_INS_VPALIGNR = 989 - let UC_X86_INS_VPANDD = 990 - let UC_X86_INS_VPANDND = 991 - let UC_X86_INS_VPANDNQ = 992 - let UC_X86_INS_VPANDN = 993 - let UC_X86_INS_VPANDQ = 994 - let UC_X86_INS_VPAND = 995 - let UC_X86_INS_VPAVGB = 996 - let UC_X86_INS_VPAVGW = 997 - let UC_X86_INS_VPBLENDD = 998 - let UC_X86_INS_VPBLENDMB = 999 - let UC_X86_INS_VPBLENDMD = 1000 - let UC_X86_INS_VPBLENDMQ = 1001 - let UC_X86_INS_VPBLENDMW = 1002 - let UC_X86_INS_VPBLENDVB = 1003 - let UC_X86_INS_VPBLENDW = 1004 - let UC_X86_INS_VPBROADCASTB = 1005 - let UC_X86_INS_VPBROADCASTD = 1006 - let UC_X86_INS_VPBROADCASTMB2Q = 1007 - let UC_X86_INS_VPBROADCASTMW2D = 1008 - let UC_X86_INS_VPBROADCASTQ = 1009 - let UC_X86_INS_VPBROADCASTW = 1010 - let UC_X86_INS_VPCLMULQDQ = 1011 - let UC_X86_INS_VPCMOV = 1012 - let UC_X86_INS_VPCMPB = 1013 - let UC_X86_INS_VPCMPD = 1014 - let UC_X86_INS_VPCMPEQB = 1015 - let UC_X86_INS_VPCMPEQD = 1016 - let UC_X86_INS_VPCMPEQQ = 1017 - let UC_X86_INS_VPCMPEQW = 1018 - let UC_X86_INS_VPCMPESTRI = 1019 - let UC_X86_INS_VPCMPESTRM = 1020 - let UC_X86_INS_VPCMPGTB = 1021 - let UC_X86_INS_VPCMPGTD = 1022 - let UC_X86_INS_VPCMPGTQ = 1023 - let UC_X86_INS_VPCMPGTW = 1024 - let UC_X86_INS_VPCMPISTRI = 1025 - let UC_X86_INS_VPCMPISTRM = 1026 - let UC_X86_INS_VPCMPQ = 1027 - let UC_X86_INS_VPCMPUB = 1028 - let UC_X86_INS_VPCMPUD = 1029 - let UC_X86_INS_VPCMPUQ = 1030 - let UC_X86_INS_VPCMPUW = 1031 - let UC_X86_INS_VPCMPW = 1032 - let UC_X86_INS_VPCOMB = 1033 - let UC_X86_INS_VPCOMD = 1034 - let UC_X86_INS_VPCOMPRESSD = 1035 - let UC_X86_INS_VPCOMPRESSQ = 1036 - let UC_X86_INS_VPCOMQ = 1037 - let UC_X86_INS_VPCOMUB = 1038 - let UC_X86_INS_VPCOMUD = 1039 - let UC_X86_INS_VPCOMUQ = 1040 - let UC_X86_INS_VPCOMUW = 1041 - let UC_X86_INS_VPCOMW = 1042 - let UC_X86_INS_VPCONFLICTD = 1043 - let UC_X86_INS_VPCONFLICTQ = 1044 - let UC_X86_INS_VPERM2F128 = 1045 - let UC_X86_INS_VPERM2I128 = 1046 - let UC_X86_INS_VPERMD = 1047 - let UC_X86_INS_VPERMI2D = 1048 - let UC_X86_INS_VPERMI2PD = 1049 - let UC_X86_INS_VPERMI2PS = 1050 - let UC_X86_INS_VPERMI2Q = 1051 - let UC_X86_INS_VPERMIL2PD = 1052 - let UC_X86_INS_VPERMIL2PS = 1053 - let UC_X86_INS_VPERMILPD = 1054 - let UC_X86_INS_VPERMILPS = 1055 - let UC_X86_INS_VPERMPD = 1056 - let UC_X86_INS_VPERMPS = 1057 - let UC_X86_INS_VPERMQ = 1058 - let UC_X86_INS_VPERMT2D = 1059 - let UC_X86_INS_VPERMT2PD = 1060 - let UC_X86_INS_VPERMT2PS = 1061 - let UC_X86_INS_VPERMT2Q = 1062 - let UC_X86_INS_VPEXPANDD = 1063 - let UC_X86_INS_VPEXPANDQ = 1064 - let UC_X86_INS_VPEXTRB = 1065 - let UC_X86_INS_VPEXTRD = 1066 - let UC_X86_INS_VPEXTRQ = 1067 - let UC_X86_INS_VPEXTRW = 1068 - let UC_X86_INS_VPGATHERDD = 1069 - let UC_X86_INS_VPGATHERDQ = 1070 - let UC_X86_INS_VPGATHERQD = 1071 - let UC_X86_INS_VPGATHERQQ = 1072 - let UC_X86_INS_VPHADDBD = 1073 - let UC_X86_INS_VPHADDBQ = 1074 - let UC_X86_INS_VPHADDBW = 1075 - let UC_X86_INS_VPHADDDQ = 1076 - let UC_X86_INS_VPHADDD = 1077 - let UC_X86_INS_VPHADDSW = 1078 - let UC_X86_INS_VPHADDUBD = 1079 - let UC_X86_INS_VPHADDUBQ = 1080 - let UC_X86_INS_VPHADDUBW = 1081 - let UC_X86_INS_VPHADDUDQ = 1082 - let UC_X86_INS_VPHADDUWD = 1083 - let UC_X86_INS_VPHADDUWQ = 1084 - let UC_X86_INS_VPHADDWD = 1085 - let UC_X86_INS_VPHADDWQ = 1086 - let UC_X86_INS_VPHADDW = 1087 - let UC_X86_INS_VPHMINPOSUW = 1088 - let UC_X86_INS_VPHSUBBW = 1089 - let UC_X86_INS_VPHSUBDQ = 1090 - let UC_X86_INS_VPHSUBD = 1091 - let UC_X86_INS_VPHSUBSW = 1092 - let UC_X86_INS_VPHSUBWD = 1093 - let UC_X86_INS_VPHSUBW = 1094 - let UC_X86_INS_VPINSRB = 1095 - let UC_X86_INS_VPINSRD = 1096 - let UC_X86_INS_VPINSRQ = 1097 - let UC_X86_INS_VPINSRW = 1098 - let UC_X86_INS_VPLZCNTD = 1099 - let UC_X86_INS_VPLZCNTQ = 1100 - let UC_X86_INS_VPMACSDD = 1101 - let UC_X86_INS_VPMACSDQH = 1102 - let UC_X86_INS_VPMACSDQL = 1103 - let UC_X86_INS_VPMACSSDD = 1104 - let UC_X86_INS_VPMACSSDQH = 1105 - let UC_X86_INS_VPMACSSDQL = 1106 - let UC_X86_INS_VPMACSSWD = 1107 - let UC_X86_INS_VPMACSSWW = 1108 - let UC_X86_INS_VPMACSWD = 1109 - let UC_X86_INS_VPMACSWW = 1110 - let UC_X86_INS_VPMADCSSWD = 1111 - let UC_X86_INS_VPMADCSWD = 1112 - let UC_X86_INS_VPMADDUBSW = 1113 - let UC_X86_INS_VPMADDWD = 1114 - let UC_X86_INS_VPMASKMOVD = 1115 - let UC_X86_INS_VPMASKMOVQ = 1116 - let UC_X86_INS_VPMAXSB = 1117 - let UC_X86_INS_VPMAXSD = 1118 - let UC_X86_INS_VPMAXSQ = 1119 - let UC_X86_INS_VPMAXSW = 1120 - let UC_X86_INS_VPMAXUB = 1121 - let UC_X86_INS_VPMAXUD = 1122 - let UC_X86_INS_VPMAXUQ = 1123 - let UC_X86_INS_VPMAXUW = 1124 - let UC_X86_INS_VPMINSB = 1125 - let UC_X86_INS_VPMINSD = 1126 - let UC_X86_INS_VPMINSQ = 1127 - let UC_X86_INS_VPMINSW = 1128 - let UC_X86_INS_VPMINUB = 1129 - let UC_X86_INS_VPMINUD = 1130 - let UC_X86_INS_VPMINUQ = 1131 - let UC_X86_INS_VPMINUW = 1132 - let UC_X86_INS_VPMOVDB = 1133 - let UC_X86_INS_VPMOVDW = 1134 - let UC_X86_INS_VPMOVM2B = 1135 - let UC_X86_INS_VPMOVM2D = 1136 - let UC_X86_INS_VPMOVM2Q = 1137 - let UC_X86_INS_VPMOVM2W = 1138 - let UC_X86_INS_VPMOVMSKB = 1139 - let UC_X86_INS_VPMOVQB = 1140 - let UC_X86_INS_VPMOVQD = 1141 - let UC_X86_INS_VPMOVQW = 1142 - let UC_X86_INS_VPMOVSDB = 1143 - let UC_X86_INS_VPMOVSDW = 1144 - let UC_X86_INS_VPMOVSQB = 1145 - let UC_X86_INS_VPMOVSQD = 1146 - let UC_X86_INS_VPMOVSQW = 1147 - let UC_X86_INS_VPMOVSXBD = 1148 - let UC_X86_INS_VPMOVSXBQ = 1149 - let UC_X86_INS_VPMOVSXBW = 1150 - let UC_X86_INS_VPMOVSXDQ = 1151 - let UC_X86_INS_VPMOVSXWD = 1152 - let UC_X86_INS_VPMOVSXWQ = 1153 - let UC_X86_INS_VPMOVUSDB = 1154 - let UC_X86_INS_VPMOVUSDW = 1155 - let UC_X86_INS_VPMOVUSQB = 1156 - let UC_X86_INS_VPMOVUSQD = 1157 - let UC_X86_INS_VPMOVUSQW = 1158 - let UC_X86_INS_VPMOVZXBD = 1159 - let UC_X86_INS_VPMOVZXBQ = 1160 - let UC_X86_INS_VPMOVZXBW = 1161 - let UC_X86_INS_VPMOVZXDQ = 1162 - let UC_X86_INS_VPMOVZXWD = 1163 - let UC_X86_INS_VPMOVZXWQ = 1164 - let UC_X86_INS_VPMULDQ = 1165 - let UC_X86_INS_VPMULHRSW = 1166 - let UC_X86_INS_VPMULHUW = 1167 - let UC_X86_INS_VPMULHW = 1168 - let UC_X86_INS_VPMULLD = 1169 - let UC_X86_INS_VPMULLQ = 1170 - let UC_X86_INS_VPMULLW = 1171 - let UC_X86_INS_VPMULUDQ = 1172 - let UC_X86_INS_VPORD = 1173 - let UC_X86_INS_VPORQ = 1174 - let UC_X86_INS_VPOR = 1175 - let UC_X86_INS_VPPERM = 1176 - let UC_X86_INS_VPROTB = 1177 - let UC_X86_INS_VPROTD = 1178 - let UC_X86_INS_VPROTQ = 1179 - let UC_X86_INS_VPROTW = 1180 - let UC_X86_INS_VPSADBW = 1181 - let UC_X86_INS_VPSCATTERDD = 1182 - let UC_X86_INS_VPSCATTERDQ = 1183 - let UC_X86_INS_VPSCATTERQD = 1184 - let UC_X86_INS_VPSCATTERQQ = 1185 - let UC_X86_INS_VPSHAB = 1186 - let UC_X86_INS_VPSHAD = 1187 - let UC_X86_INS_VPSHAQ = 1188 - let UC_X86_INS_VPSHAW = 1189 - let UC_X86_INS_VPSHLB = 1190 - let UC_X86_INS_VPSHLD = 1191 - let UC_X86_INS_VPSHLQ = 1192 - let UC_X86_INS_VPSHLW = 1193 - let UC_X86_INS_VPSHUFB = 1194 - let UC_X86_INS_VPSHUFD = 1195 - let UC_X86_INS_VPSHUFHW = 1196 - let UC_X86_INS_VPSHUFLW = 1197 - let UC_X86_INS_VPSIGNB = 1198 - let UC_X86_INS_VPSIGND = 1199 - let UC_X86_INS_VPSIGNW = 1200 - let UC_X86_INS_VPSLLDQ = 1201 - let UC_X86_INS_VPSLLD = 1202 - let UC_X86_INS_VPSLLQ = 1203 - let UC_X86_INS_VPSLLVD = 1204 - let UC_X86_INS_VPSLLVQ = 1205 - let UC_X86_INS_VPSLLW = 1206 - let UC_X86_INS_VPSRAD = 1207 - let UC_X86_INS_VPSRAQ = 1208 - let UC_X86_INS_VPSRAVD = 1209 - let UC_X86_INS_VPSRAVQ = 1210 - let UC_X86_INS_VPSRAW = 1211 - let UC_X86_INS_VPSRLDQ = 1212 - let UC_X86_INS_VPSRLD = 1213 - let UC_X86_INS_VPSRLQ = 1214 - let UC_X86_INS_VPSRLVD = 1215 - let UC_X86_INS_VPSRLVQ = 1216 - let UC_X86_INS_VPSRLW = 1217 - let UC_X86_INS_VPSUBB = 1218 - let UC_X86_INS_VPSUBD = 1219 - let UC_X86_INS_VPSUBQ = 1220 - let UC_X86_INS_VPSUBSB = 1221 - let UC_X86_INS_VPSUBSW = 1222 - let UC_X86_INS_VPSUBUSB = 1223 - let UC_X86_INS_VPSUBUSW = 1224 - let UC_X86_INS_VPSUBW = 1225 - let UC_X86_INS_VPTESTMD = 1226 - let UC_X86_INS_VPTESTMQ = 1227 - let UC_X86_INS_VPTESTNMD = 1228 - let UC_X86_INS_VPTESTNMQ = 1229 - let UC_X86_INS_VPTEST = 1230 - let UC_X86_INS_VPUNPCKHBW = 1231 - let UC_X86_INS_VPUNPCKHDQ = 1232 - let UC_X86_INS_VPUNPCKHQDQ = 1233 - let UC_X86_INS_VPUNPCKHWD = 1234 - let UC_X86_INS_VPUNPCKLBW = 1235 - let UC_X86_INS_VPUNPCKLDQ = 1236 - let UC_X86_INS_VPUNPCKLQDQ = 1237 - let UC_X86_INS_VPUNPCKLWD = 1238 - let UC_X86_INS_VPXORD = 1239 - let UC_X86_INS_VPXORQ = 1240 - let UC_X86_INS_VPXOR = 1241 - let UC_X86_INS_VRCP14PD = 1242 - let UC_X86_INS_VRCP14PS = 1243 - let UC_X86_INS_VRCP14SD = 1244 - let UC_X86_INS_VRCP14SS = 1245 - let UC_X86_INS_VRCP28PD = 1246 - let UC_X86_INS_VRCP28PS = 1247 - let UC_X86_INS_VRCP28SD = 1248 - let UC_X86_INS_VRCP28SS = 1249 - let UC_X86_INS_VRCPPS = 1250 - let UC_X86_INS_VRCPSS = 1251 - let UC_X86_INS_VRNDSCALEPD = 1252 - let UC_X86_INS_VRNDSCALEPS = 1253 - let UC_X86_INS_VRNDSCALESD = 1254 - let UC_X86_INS_VRNDSCALESS = 1255 - let UC_X86_INS_VROUNDPD = 1256 - let UC_X86_INS_VROUNDPS = 1257 - let UC_X86_INS_VROUNDSD = 1258 - let UC_X86_INS_VROUNDSS = 1259 - let UC_X86_INS_VRSQRT14PD = 1260 - let UC_X86_INS_VRSQRT14PS = 1261 - let UC_X86_INS_VRSQRT14SD = 1262 - let UC_X86_INS_VRSQRT14SS = 1263 - let UC_X86_INS_VRSQRT28PD = 1264 - let UC_X86_INS_VRSQRT28PS = 1265 - let UC_X86_INS_VRSQRT28SD = 1266 - let UC_X86_INS_VRSQRT28SS = 1267 - let UC_X86_INS_VRSQRTPS = 1268 - let UC_X86_INS_VRSQRTSS = 1269 - let UC_X86_INS_VSCATTERDPD = 1270 - let UC_X86_INS_VSCATTERDPS = 1271 - let UC_X86_INS_VSCATTERPF0DPD = 1272 - let UC_X86_INS_VSCATTERPF0DPS = 1273 - let UC_X86_INS_VSCATTERPF0QPD = 1274 - let UC_X86_INS_VSCATTERPF0QPS = 1275 - let UC_X86_INS_VSCATTERPF1DPD = 1276 - let UC_X86_INS_VSCATTERPF1DPS = 1277 - let UC_X86_INS_VSCATTERPF1QPD = 1278 - let UC_X86_INS_VSCATTERPF1QPS = 1279 - let UC_X86_INS_VSCATTERQPD = 1280 - let UC_X86_INS_VSCATTERQPS = 1281 - let UC_X86_INS_VSHUFPD = 1282 - let UC_X86_INS_VSHUFPS = 1283 - let UC_X86_INS_VSQRTPD = 1284 - let UC_X86_INS_VSQRTPS = 1285 - let UC_X86_INS_VSQRTSD = 1286 - let UC_X86_INS_VSQRTSS = 1287 - let UC_X86_INS_VSTMXCSR = 1288 - let UC_X86_INS_VSUBPD = 1289 - let UC_X86_INS_VSUBPS = 1290 - let UC_X86_INS_VSUBSD = 1291 - let UC_X86_INS_VSUBSS = 1292 - let UC_X86_INS_VTESTPD = 1293 - let UC_X86_INS_VTESTPS = 1294 - let UC_X86_INS_VUNPCKHPD = 1295 - let UC_X86_INS_VUNPCKHPS = 1296 - let UC_X86_INS_VUNPCKLPD = 1297 - let UC_X86_INS_VUNPCKLPS = 1298 - let UC_X86_INS_VZEROALL = 1299 - let UC_X86_INS_VZEROUPPER = 1300 - let UC_X86_INS_WAIT = 1301 - let UC_X86_INS_WBINVD = 1302 - let UC_X86_INS_WRFSBASE = 1303 - let UC_X86_INS_WRGSBASE = 1304 - let UC_X86_INS_WRMSR = 1305 - let UC_X86_INS_XABORT = 1306 - let UC_X86_INS_XACQUIRE = 1307 - let UC_X86_INS_XBEGIN = 1308 - let UC_X86_INS_XCHG = 1309 - let UC_X86_INS_XCRYPTCBC = 1310 - let UC_X86_INS_XCRYPTCFB = 1311 - let UC_X86_INS_XCRYPTCTR = 1312 - let UC_X86_INS_XCRYPTECB = 1313 - let UC_X86_INS_XCRYPTOFB = 1314 - let UC_X86_INS_XEND = 1315 - let UC_X86_INS_XGETBV = 1316 - let UC_X86_INS_XLATB = 1317 - let UC_X86_INS_XRELEASE = 1318 - let UC_X86_INS_XRSTOR = 1319 - let UC_X86_INS_XRSTOR64 = 1320 - let UC_X86_INS_XRSTORS = 1321 - let UC_X86_INS_XRSTORS64 = 1322 - let UC_X86_INS_XSAVE = 1323 - let UC_X86_INS_XSAVE64 = 1324 - let UC_X86_INS_XSAVEC = 1325 - let UC_X86_INS_XSAVEC64 = 1326 - let UC_X86_INS_XSAVEOPT = 1327 - let UC_X86_INS_XSAVEOPT64 = 1328 - let UC_X86_INS_XSAVES = 1329 - let UC_X86_INS_XSAVES64 = 1330 - let UC_X86_INS_XSETBV = 1331 - let UC_X86_INS_XSHA1 = 1332 - let UC_X86_INS_XSHA256 = 1333 - let UC_X86_INS_XSTORE = 1334 - let UC_X86_INS_XTEST = 1335 - let UC_X86_INS_FDISI8087_NOP = 1336 - let UC_X86_INS_FENI8087_NOP = 1337 - let UC_X86_INS_ENDING = 1338 - diff --git a/bindings/dotnet/Unicorn/Hooks.fs b/bindings/dotnet/Unicorn/Hooks.fs deleted file mode 100644 index a57ec759..00000000 --- a/bindings/dotnet/Unicorn/Hooks.fs +++ /dev/null @@ -1,53 +0,0 @@ -(* - -.NET bindings for the UnicornEngine Emulator Engine - -Copyright(c) 2015 Antonio Parata - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -*) - -namespace UnicornEngine - -open System -open System.Runtime.InteropServices - -// internal hooks to be passed to native Unicorn library -[] -type internal CodeHookInternal = delegate of IntPtr * UInt64 * Int32 * IntPtr -> unit - -[] -type internal BlockHookInternal = delegate of IntPtr * UInt64 * Int32 * IntPtr -> unit - -[] -type internal InterruptHookInternal = delegate of IntPtr * Int32 * IntPtr -> unit - -[] -type internal MemReadHookInternal = delegate of IntPtr * UInt64 * Int32 * IntPtr -> unit - -[] -type internal MemWriteHookInternal = delegate of IntPtr * UInt64 * Int32 * UInt64 * IntPtr -> unit - -[] -type internal EventMemHookInternal = delegate of IntPtr * UInt64 * Int32 * UInt64 * IntPtr -> unit - -[] -type internal InHookInternal = delegate of IntPtr * Int32 * Int32 * IntPtr -> unit - -[] -type internal OutHookInternal = delegate of IntPtr * Int32 * Int32 * Int32 * IntPtr -> unit - -[] -type internal SyscallHookInternal = delegate of IntPtr * IntPtr -> unit \ No newline at end of file diff --git a/bindings/dotnet/Unicorn/UnicornEngineException.fs b/bindings/dotnet/Unicorn/UnicornEngineException.fs deleted file mode 100644 index 7b1cd845..00000000 --- a/bindings/dotnet/Unicorn/UnicornEngineException.fs +++ /dev/null @@ -1,30 +0,0 @@ -(* - -.NET bindings for the UnicornEngine Emulator Engine - -Copyright(c) 2015 Antonio Parata - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -*) - -namespace UnicornEngine - -open System - -type UnicornEngineException(errNo: Int32, msg: String) = - inherit ApplicationException(msg) - - member this.ErrorNo = errNo - diff --git a/bindings/dotnet/UnicornDotNet.sln b/bindings/dotnet/UnicornDotNet.sln new file mode 100644 index 00000000..90aa5b60 --- /dev/null +++ b/bindings/dotnet/UnicornDotNet.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnicornSamples", "UnicornSamples\UnicornSamples.csproj", "{B80B5987-1E24-4309-8BF9-C4F91270F21C}" +EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "UnicornManaged", "UnicornManaged\UnicornManaged.fsproj", "{0C21F1C1-2725-4A46-9022-1905F85822A5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B80B5987-1E24-4309-8BF9-C4F91270F21C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B80B5987-1E24-4309-8BF9-C4F91270F21C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B80B5987-1E24-4309-8BF9-C4F91270F21C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B80B5987-1E24-4309-8BF9-C4F91270F21C}.Release|Any CPU.Build.0 = Release|Any CPU + {0C21F1C1-2725-4A46-9022-1905F85822A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0C21F1C1-2725-4A46-9022-1905F85822A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0C21F1C1-2725-4A46-9022-1905F85822A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0C21F1C1-2725-4A46-9022-1905F85822A5}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/bindings/dotnet/UnicornManaged/AssemblyInfo.fs b/bindings/dotnet/UnicornManaged/AssemblyInfo.fs new file mode 100644 index 00000000..16d8c919 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/AssemblyInfo.fs @@ -0,0 +1,41 @@ +namespace UnicornManaged.AssemblyInfo + +open System.Reflection +open System.Runtime.CompilerServices +open System.Runtime.InteropServices + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[] +[] +[] +[] +[] +[] +[] +[] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [] +[] +[] + +do + () \ No newline at end of file diff --git a/bindings/dotnet/UnicornManaged/Binding/BindingFactory.fs b/bindings/dotnet/UnicornManaged/Binding/BindingFactory.fs new file mode 100644 index 00000000..f55f72ec --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Binding/BindingFactory.fs @@ -0,0 +1,13 @@ +namespace UnicornManaged.Binding + +open System + +module BindingFactory = + let mutable _instance = NativeBinding.instance + + let setDefaultBinding(binding: IBinding) = + _instance <- binding + + let getDefault() = + _instance + diff --git a/bindings/dotnet/UnicornManaged/Binding/IBinding.fs b/bindings/dotnet/UnicornManaged/Binding/IBinding.fs new file mode 100644 index 00000000..df3eb381 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Binding/IBinding.fs @@ -0,0 +1,28 @@ +namespace UnicornManaged.Binding + +open System + +type IBinding = + interface + abstract Version : UIntPtr * UIntPtr -> Int32 + abstract ArchSupported : Int32 -> Boolean + abstract UcOpen : UInt32 * UInt32 * UIntPtr array -> Int32 + abstract Close : UIntPtr -> Int32 + abstract Strerror : Int32 -> IntPtr + abstract Errono : UIntPtr -> Int32 + abstract RegRead : UIntPtr * Int32 * Byte array -> Int32 + abstract RegWrite : UIntPtr * Int32 * Byte array -> Int32 + abstract MemRead : UIntPtr * UInt64 * Byte array * UIntPtr -> Int32 + abstract MemWrite : UIntPtr * UInt64 * Byte array * UIntPtr -> Int32 + abstract EmuStart : UIntPtr * UInt64 * UInt64 * UInt64 * UInt64 -> Int32 + abstract EmuStop : UIntPtr -> Int32 + abstract HookDel : UIntPtr * UIntPtr -> Int32 + abstract MemMap : UIntPtr * UInt64 * UIntPtr * UInt32 -> Int32 + abstract MemMapPtr : UIntPtr * UInt64 * UIntPtr * UInt32 * UIntPtr -> Int32 + abstract MemUnmap : UIntPtr * UInt64 * UIntPtr -> Int32 + abstract MemProtect : UIntPtr * UInt64 * UIntPtr * UInt32 -> Int32 + abstract HookAddNoarg : UIntPtr * UIntPtr * Int32 * UIntPtr * IntPtr -> Int32 + abstract HookAddArg0 : UIntPtr * UIntPtr * Int32 * UIntPtr * IntPtr * IntPtr -> Int32 + abstract HookAddArg0Arg1 : UIntPtr * UIntPtr * Int32 * UIntPtr * IntPtr * UInt64 * UInt64 -> Int32 + end + diff --git a/bindings/dotnet/UnicornManaged/Binding/MockBinding.fs b/bindings/dotnet/UnicornManaged/Binding/MockBinding.fs new file mode 100644 index 00000000..fd651812 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Binding/MockBinding.fs @@ -0,0 +1,51 @@ +namespace UnicornManaged.Binding + +open System + +module internal MockBinding = + // by using a mutables variables it is easier to create testing code + let mutable version = fun(major, minor) -> 0 + let mutable uc_open = fun(arch, mode, uc) -> 0 + let mutable close = fun(eng) -> 0 + let mutable mem_map = fun(eng, adress, size, perm) -> 0 + let mutable mem_map_ptr = fun(eng, address, size, perms, ptr) -> 0 + let mutable mem_unmap = fun(eng, address, size) -> 0 + let mutable mem_protect = fun(eng, address, size, perms) -> 0 + let mutable mem_write = fun(eng, adress, value, size) -> 0 + let mutable mem_read = fun(eng, adress, value, size) -> 0 + let mutable reg_write = fun(eng, regId, value) -> 0 + let mutable reg_read = fun(eng, regId, value) -> 0 + let mutable emu_start = fun(eng, beginAddr, untilAddr, timeout, count) -> 0 + let mutable emu_stop = fun(eng) -> 0 + let mutable hook_del = fun(eng, hook) -> 0 + let mutable arch_supported = fun(arch) -> true + let mutable errno = fun(eng) -> 0 + let mutable strerror = fun(err) -> new nativeint(0) + let mutable hook_add_noarg = fun(eng, hh, callbackType, callback, userData) -> 0 + let mutable hook_add_arg0 = fun(eng, hh, callbackType, callback, userData, arg0) -> 0 + let mutable hook_add_arg0_arg1 = fun(eng, hh, callbackType, callback, userData, arg0, arg1) -> 0 + + let instance = + {new IBinding with + member thi.Version(major, minor) = version(major, minor) + member thi.UcOpen(arch, mode, uc) = uc_open(arch, mode, uc) + member thi.Close(eng) = close(eng) + member thi.MemMap(eng, adress, size, perm) = mem_map(eng, adress, size, perm) + member thi.MemWrite(eng, adress, value, size) = mem_write(eng, adress, value, size) + member thi.MemRead(eng, adress, value, size) = mem_read(eng, adress, value, size) + member thi.RegWrite(eng, regId, value) = reg_write(eng, regId, value) + member thi.RegRead(eng, regId, value) = reg_read(eng, regId, value) + member thi.EmuStart(eng, beginAddr, untilAddr, timeout, count) = emu_start(eng, beginAddr, untilAddr, timeout, count) + member thi.EmuStop(eng) = emu_stop(eng) + member this.HookDel(eng, hook) = hook_del(eng, hook) + member thi.ArchSupported(arch) = arch_supported(arch) + member thi.Errono(eng) = errno(eng) + member thi.Strerror(err) = strerror(err) + member this.MemMapPtr(eng, address, size, perms, ptr) = mem_map_ptr(eng, address, size, perms, ptr) + member this.MemUnmap(eng, address, size) = mem_unmap(eng, address, size) + member this.MemProtect(eng, address, size, perms) = mem_protect(eng, address, size, perms) + member thi.HookAddNoarg(eng, hh, callbackType, callback, userData) = hook_add_noarg(eng, hh, callbackType, callback, userData) + member thi.HookAddArg0(eng, hh, callbackType, callback, userData, arg0) = hook_add_arg0(eng, hh, callbackType, callback, userData, arg0) + member thi.HookAddArg0Arg1(eng, hh, callbackType, callback, userData, arg0, arg1) = hook_add_arg0_arg1(eng, hh, callbackType, callback, userData, arg0, arg1) + } + diff --git a/bindings/dotnet/Unicorn/NativeUnicorn.fs b/bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs similarity index 50% rename from bindings/dotnet/Unicorn/NativeUnicorn.fs rename to bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs index 930309ea..9f83ce21 100644 --- a/bindings/dotnet/Unicorn/NativeUnicorn.fs +++ b/bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs @@ -1,31 +1,11 @@ -(* - -.NET bindings for the UnicornEngine Emulator Engine - -Copyright(c) 2015 Antonio Parata - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -*) - -namespace UnicornEngine +namespace UnicornManaged.Binding open System open System.Runtime.InteropServices -module NativeUnicornEngine = +module NativeBinding = + [] module private Imported = [] @@ -40,6 +20,15 @@ module NativeUnicornEngine = [] extern Int32 uc_mem_map(UIntPtr eng, UInt64 address, UIntPtr size, UInt32 perm) + [] + extern Int32 uc_mem_map_ptr(UIntPtr eng, UInt64 address, UIntPtr size, UInt32 perm, UIntPtr ptr) + + [] + extern Int32 uc_mem_unmap(UIntPtr eng, UInt64 address, UIntPtr size) + + [] + extern Int32 uc_mem_protect(UIntPtr eng, UInt64 address, UIntPtr size, UInt32 perms) + [] extern Int32 uc_mem_write(UIntPtr eng, UInt64 address, Byte[] value, UIntPtr size) @@ -53,11 +42,14 @@ module NativeUnicornEngine = extern Int32 uc_reg_read(UIntPtr eng, Int32 regId, Byte[] value) [] - extern Int32 uc_emu_start(UIntPtr eng, UInt64 beginAddr, UInt64 untilAddr, UInt64 timeout, UIntPtr count) + extern Int32 uc_emu_start(UIntPtr eng, UInt64 beginAddr, UInt64 untilAddr, UInt64 timeout, UInt64 count) [] extern Int32 uc_emu_stop(UIntPtr eng) + [] + extern Int32 uc_hook_del(UIntPtr eng, UIntPtr hook) + [] extern Boolean uc_arch_supported(Int32 arch) @@ -76,20 +68,26 @@ module NativeUnicornEngine = [] extern Int32 uc_hook_add_arg0_arg1(UIntPtr eng, UIntPtr hh, Int32 callbackType, UIntPtr callback, IntPtr userData, UInt64 arg0, UInt64 arg1) - // by using a mutables variables it is easier to create testing code - let mutable version = fun(major, minor) -> Imported.uc_version(major, minor) - let mutable uc_open = fun(arch, mode, uc) -> Imported.uc_open(arch, mode, uc) - let mutable close = fun(eng) -> Imported.uc_close(eng) - let mutable mem_map = fun(eng, adress, size, perm) -> Imported.uc_mem_map(eng, adress, size, perm) - let mutable mem_write = fun(eng, adress, value, size) -> Imported.uc_mem_write(eng, adress, value, size) - let mutable mem_read = fun(eng, adress, value, size) -> Imported.uc_mem_read(eng, adress, value, size) - let mutable reg_write = fun(eng, regId, value) -> Imported.uc_reg_write(eng, regId, value) - let mutable reg_read = fun(eng, regId, value) -> Imported.uc_reg_read(eng, regId, value) - let mutable emu_start = fun(eng, beginAddr, untilAddr, timeout, count) -> Imported.uc_emu_start(eng, beginAddr, untilAddr, timeout, count) - let mutable emu_stop = fun(eng) -> Imported.uc_emu_stop(eng) - let mutable arch_supported = fun(arch) -> Imported.uc_arch_supported(arch) - let mutable errno = fun(eng) -> Imported.uc_errno(eng) - let mutable strerror = fun(err) -> Imported.uc_strerror(err) - let mutable hook_add_noarg = fun(eng, hh, callbackType, callback, userData) -> Imported.uc_hook_add_noarg(eng, hh, callbackType, callback, userData) - let mutable hook_add_arg0 = fun(eng, hh, callbackType, callback, userData, arg0) -> Imported.uc_hook_add_arg0(eng, hh, callbackType, callback, userData, arg0) - let mutable hook_add_arg0_arg1 = fun(eng, hh, callbackType, callback, userData, arg0, arg1) -> Imported.uc_hook_add_arg0_arg1(eng, hh, callbackType, callback, userData, arg0, arg1) \ No newline at end of file + let instance = + {new IBinding with + member thi.Version(major, minor) = uc_version(major, minor) + member thi.UcOpen(arch, mode, uc) = uc_open(arch, mode, uc) + member thi.Close(eng) = uc_close(eng) + member thi.MemMap(eng, adress, size, perm) = uc_mem_map(eng, adress, size, perm) + member thi.MemWrite(eng, adress, value, size) = uc_mem_write(eng, adress, value, size) + member thi.MemRead(eng, adress, value, size) = uc_mem_read(eng, adress, value, size) + member thi.RegWrite(eng, regId, value) = uc_reg_write(eng, regId, value) + member thi.RegRead(eng, regId, value) = uc_reg_read(eng, regId, value) + member thi.EmuStart(eng, beginAddr, untilAddr, timeout, count) = uc_emu_start(eng, beginAddr, untilAddr, timeout, count) + member thi.EmuStop(eng) = uc_emu_stop(eng) + member this.HookDel(eng, hook) = uc_hook_del(eng, hook) + member thi.ArchSupported(arch) = uc_arch_supported(arch) + member thi.Errono(eng) = uc_errno(eng) + member thi.Strerror(err) = uc_strerror(err) + member this.MemMapPtr(eng, address, size, perms, ptr) = uc_mem_map_ptr(eng, address, size, perms, ptr) + member this.MemUnmap(eng, address, size) = uc_mem_unmap(eng, address, size) + member this.MemProtect(eng, address, size, perms) = uc_mem_protect(eng, address, size, perms) + member thi.HookAddNoarg(eng, hh, callbackType, callback, userData) = uc_hook_add_noarg(eng, hh, callbackType, callback, userData) + member thi.HookAddArg0(eng, hh, callbackType, callback, userData, arg0) = uc_hook_add_arg0(eng, hh, callbackType, callback, userData, arg0) + member thi.HookAddArg0Arg1(eng, hh, callbackType, callback, userData, arg0, arg1) = uc_hook_add_arg0_arg1(eng, hh, callbackType, callback, userData, arg0, arg1) + } \ No newline at end of file diff --git a/bindings/dotnet/UnicornManaged/Const/Arm.fs b/bindings/dotnet/UnicornManaged/Const/Arm.fs new file mode 100644 index 00000000..2132cee7 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Const/Arm.fs @@ -0,0 +1,133 @@ +// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT + +namespace UnicornManaged.Const + +open System + +[] +module Arm = + +// ARM registers + + let UC_ARM_REG_INVALID = 0 + let UC_ARM_REG_APSR = 1 + let UC_ARM_REG_APSR_NZCV = 2 + let UC_ARM_REG_CPSR = 3 + let UC_ARM_REG_FPEXC = 4 + let UC_ARM_REG_FPINST = 5 + let UC_ARM_REG_FPSCR = 6 + let UC_ARM_REG_FPSCR_NZCV = 7 + let UC_ARM_REG_FPSID = 8 + let UC_ARM_REG_ITSTATE = 9 + let UC_ARM_REG_LR = 10 + let UC_ARM_REG_PC = 11 + let UC_ARM_REG_SP = 12 + let UC_ARM_REG_SPSR = 13 + let UC_ARM_REG_D0 = 14 + let UC_ARM_REG_D1 = 15 + let UC_ARM_REG_D2 = 16 + let UC_ARM_REG_D3 = 17 + let UC_ARM_REG_D4 = 18 + let UC_ARM_REG_D5 = 19 + let UC_ARM_REG_D6 = 20 + let UC_ARM_REG_D7 = 21 + let UC_ARM_REG_D8 = 22 + let UC_ARM_REG_D9 = 23 + let UC_ARM_REG_D10 = 24 + let UC_ARM_REG_D11 = 25 + let UC_ARM_REG_D12 = 26 + let UC_ARM_REG_D13 = 27 + let UC_ARM_REG_D14 = 28 + let UC_ARM_REG_D15 = 29 + let UC_ARM_REG_D16 = 30 + let UC_ARM_REG_D17 = 31 + let UC_ARM_REG_D18 = 32 + let UC_ARM_REG_D19 = 33 + let UC_ARM_REG_D20 = 34 + let UC_ARM_REG_D21 = 35 + let UC_ARM_REG_D22 = 36 + let UC_ARM_REG_D23 = 37 + let UC_ARM_REG_D24 = 38 + let UC_ARM_REG_D25 = 39 + let UC_ARM_REG_D26 = 40 + let UC_ARM_REG_D27 = 41 + let UC_ARM_REG_D28 = 42 + let UC_ARM_REG_D29 = 43 + let UC_ARM_REG_D30 = 44 + let UC_ARM_REG_D31 = 45 + let UC_ARM_REG_FPINST2 = 46 + let UC_ARM_REG_MVFR0 = 47 + let UC_ARM_REG_MVFR1 = 48 + let UC_ARM_REG_MVFR2 = 49 + let UC_ARM_REG_Q0 = 50 + let UC_ARM_REG_Q1 = 51 + let UC_ARM_REG_Q2 = 52 + let UC_ARM_REG_Q3 = 53 + let UC_ARM_REG_Q4 = 54 + let UC_ARM_REG_Q5 = 55 + let UC_ARM_REG_Q6 = 56 + let UC_ARM_REG_Q7 = 57 + let UC_ARM_REG_Q8 = 58 + let UC_ARM_REG_Q9 = 59 + let UC_ARM_REG_Q10 = 60 + let UC_ARM_REG_Q11 = 61 + let UC_ARM_REG_Q12 = 62 + let UC_ARM_REG_Q13 = 63 + let UC_ARM_REG_Q14 = 64 + let UC_ARM_REG_Q15 = 65 + let UC_ARM_REG_R0 = 66 + let UC_ARM_REG_R1 = 67 + let UC_ARM_REG_R2 = 68 + let UC_ARM_REG_R3 = 69 + let UC_ARM_REG_R4 = 70 + let UC_ARM_REG_R5 = 71 + let UC_ARM_REG_R6 = 72 + let UC_ARM_REG_R7 = 73 + let UC_ARM_REG_R8 = 74 + let UC_ARM_REG_R9 = 75 + let UC_ARM_REG_R10 = 76 + let UC_ARM_REG_R11 = 77 + let UC_ARM_REG_R12 = 78 + let UC_ARM_REG_S0 = 79 + let UC_ARM_REG_S1 = 80 + let UC_ARM_REG_S2 = 81 + let UC_ARM_REG_S3 = 82 + let UC_ARM_REG_S4 = 83 + let UC_ARM_REG_S5 = 84 + let UC_ARM_REG_S6 = 85 + let UC_ARM_REG_S7 = 86 + let UC_ARM_REG_S8 = 87 + let UC_ARM_REG_S9 = 88 + let UC_ARM_REG_S10 = 89 + let UC_ARM_REG_S11 = 90 + let UC_ARM_REG_S12 = 91 + let UC_ARM_REG_S13 = 92 + let UC_ARM_REG_S14 = 93 + let UC_ARM_REG_S15 = 94 + let UC_ARM_REG_S16 = 95 + let UC_ARM_REG_S17 = 96 + let UC_ARM_REG_S18 = 97 + let UC_ARM_REG_S19 = 98 + let UC_ARM_REG_S20 = 99 + let UC_ARM_REG_S21 = 100 + let UC_ARM_REG_S22 = 101 + let UC_ARM_REG_S23 = 102 + let UC_ARM_REG_S24 = 103 + let UC_ARM_REG_S25 = 104 + let UC_ARM_REG_S26 = 105 + let UC_ARM_REG_S27 = 106 + let UC_ARM_REG_S28 = 107 + let UC_ARM_REG_S29 = 108 + let UC_ARM_REG_S30 = 109 + let UC_ARM_REG_S31 = 110 + let UC_ARM_REG_ENDING = 111 + +// alias registers + let UC_ARM_REG_R13 = 12 + let UC_ARM_REG_R14 = 10 + let UC_ARM_REG_R15 = 11 + let UC_ARM_REG_SB = 75 + let UC_ARM_REG_SL = 76 + let UC_ARM_REG_FP = 77 + let UC_ARM_REG_IP = 78 + diff --git a/bindings/dotnet/UnicornManaged/Const/Arm64.fs b/bindings/dotnet/UnicornManaged/Const/Arm64.fs new file mode 100644 index 00000000..553747ae --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Const/Arm64.fs @@ -0,0 +1,282 @@ +// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT + +namespace UnicornManaged.Const + +open System + +[] +module Arm64 = + +// ARM64 registers + + let UC_ARM64_REG_INVALID = 0 + let UC_ARM64_REG_X29 = 1 + let UC_ARM64_REG_X30 = 2 + let UC_ARM64_REG_NZCV = 3 + let UC_ARM64_REG_SP = 4 + let UC_ARM64_REG_WSP = 5 + let UC_ARM64_REG_WZR = 6 + let UC_ARM64_REG_XZR = 7 + let UC_ARM64_REG_B0 = 8 + let UC_ARM64_REG_B1 = 9 + let UC_ARM64_REG_B2 = 10 + let UC_ARM64_REG_B3 = 11 + let UC_ARM64_REG_B4 = 12 + let UC_ARM64_REG_B5 = 13 + let UC_ARM64_REG_B6 = 14 + let UC_ARM64_REG_B7 = 15 + let UC_ARM64_REG_B8 = 16 + let UC_ARM64_REG_B9 = 17 + let UC_ARM64_REG_B10 = 18 + let UC_ARM64_REG_B11 = 19 + let UC_ARM64_REG_B12 = 20 + let UC_ARM64_REG_B13 = 21 + let UC_ARM64_REG_B14 = 22 + let UC_ARM64_REG_B15 = 23 + let UC_ARM64_REG_B16 = 24 + let UC_ARM64_REG_B17 = 25 + let UC_ARM64_REG_B18 = 26 + let UC_ARM64_REG_B19 = 27 + let UC_ARM64_REG_B20 = 28 + let UC_ARM64_REG_B21 = 29 + let UC_ARM64_REG_B22 = 30 + let UC_ARM64_REG_B23 = 31 + let UC_ARM64_REG_B24 = 32 + let UC_ARM64_REG_B25 = 33 + let UC_ARM64_REG_B26 = 34 + let UC_ARM64_REG_B27 = 35 + let UC_ARM64_REG_B28 = 36 + let UC_ARM64_REG_B29 = 37 + let UC_ARM64_REG_B30 = 38 + let UC_ARM64_REG_B31 = 39 + let UC_ARM64_REG_D0 = 40 + let UC_ARM64_REG_D1 = 41 + let UC_ARM64_REG_D2 = 42 + let UC_ARM64_REG_D3 = 43 + let UC_ARM64_REG_D4 = 44 + let UC_ARM64_REG_D5 = 45 + let UC_ARM64_REG_D6 = 46 + let UC_ARM64_REG_D7 = 47 + let UC_ARM64_REG_D8 = 48 + let UC_ARM64_REG_D9 = 49 + let UC_ARM64_REG_D10 = 50 + let UC_ARM64_REG_D11 = 51 + let UC_ARM64_REG_D12 = 52 + let UC_ARM64_REG_D13 = 53 + let UC_ARM64_REG_D14 = 54 + let UC_ARM64_REG_D15 = 55 + let UC_ARM64_REG_D16 = 56 + let UC_ARM64_REG_D17 = 57 + let UC_ARM64_REG_D18 = 58 + let UC_ARM64_REG_D19 = 59 + let UC_ARM64_REG_D20 = 60 + let UC_ARM64_REG_D21 = 61 + let UC_ARM64_REG_D22 = 62 + let UC_ARM64_REG_D23 = 63 + let UC_ARM64_REG_D24 = 64 + let UC_ARM64_REG_D25 = 65 + let UC_ARM64_REG_D26 = 66 + let UC_ARM64_REG_D27 = 67 + let UC_ARM64_REG_D28 = 68 + let UC_ARM64_REG_D29 = 69 + let UC_ARM64_REG_D30 = 70 + let UC_ARM64_REG_D31 = 71 + let UC_ARM64_REG_H0 = 72 + let UC_ARM64_REG_H1 = 73 + let UC_ARM64_REG_H2 = 74 + let UC_ARM64_REG_H3 = 75 + let UC_ARM64_REG_H4 = 76 + let UC_ARM64_REG_H5 = 77 + let UC_ARM64_REG_H6 = 78 + let UC_ARM64_REG_H7 = 79 + let UC_ARM64_REG_H8 = 80 + let UC_ARM64_REG_H9 = 81 + let UC_ARM64_REG_H10 = 82 + let UC_ARM64_REG_H11 = 83 + let UC_ARM64_REG_H12 = 84 + let UC_ARM64_REG_H13 = 85 + let UC_ARM64_REG_H14 = 86 + let UC_ARM64_REG_H15 = 87 + let UC_ARM64_REG_H16 = 88 + let UC_ARM64_REG_H17 = 89 + let UC_ARM64_REG_H18 = 90 + let UC_ARM64_REG_H19 = 91 + let UC_ARM64_REG_H20 = 92 + let UC_ARM64_REG_H21 = 93 + let UC_ARM64_REG_H22 = 94 + let UC_ARM64_REG_H23 = 95 + let UC_ARM64_REG_H24 = 96 + let UC_ARM64_REG_H25 = 97 + let UC_ARM64_REG_H26 = 98 + let UC_ARM64_REG_H27 = 99 + let UC_ARM64_REG_H28 = 100 + let UC_ARM64_REG_H29 = 101 + let UC_ARM64_REG_H30 = 102 + let UC_ARM64_REG_H31 = 103 + let UC_ARM64_REG_Q0 = 104 + let UC_ARM64_REG_Q1 = 105 + let UC_ARM64_REG_Q2 = 106 + let UC_ARM64_REG_Q3 = 107 + let UC_ARM64_REG_Q4 = 108 + let UC_ARM64_REG_Q5 = 109 + let UC_ARM64_REG_Q6 = 110 + let UC_ARM64_REG_Q7 = 111 + let UC_ARM64_REG_Q8 = 112 + let UC_ARM64_REG_Q9 = 113 + let UC_ARM64_REG_Q10 = 114 + let UC_ARM64_REG_Q11 = 115 + let UC_ARM64_REG_Q12 = 116 + let UC_ARM64_REG_Q13 = 117 + let UC_ARM64_REG_Q14 = 118 + let UC_ARM64_REG_Q15 = 119 + let UC_ARM64_REG_Q16 = 120 + let UC_ARM64_REG_Q17 = 121 + let UC_ARM64_REG_Q18 = 122 + let UC_ARM64_REG_Q19 = 123 + let UC_ARM64_REG_Q20 = 124 + let UC_ARM64_REG_Q21 = 125 + let UC_ARM64_REG_Q22 = 126 + let UC_ARM64_REG_Q23 = 127 + let UC_ARM64_REG_Q24 = 128 + let UC_ARM64_REG_Q25 = 129 + let UC_ARM64_REG_Q26 = 130 + let UC_ARM64_REG_Q27 = 131 + let UC_ARM64_REG_Q28 = 132 + let UC_ARM64_REG_Q29 = 133 + let UC_ARM64_REG_Q30 = 134 + let UC_ARM64_REG_Q31 = 135 + let UC_ARM64_REG_S0 = 136 + let UC_ARM64_REG_S1 = 137 + let UC_ARM64_REG_S2 = 138 + let UC_ARM64_REG_S3 = 139 + let UC_ARM64_REG_S4 = 140 + let UC_ARM64_REG_S5 = 141 + let UC_ARM64_REG_S6 = 142 + let UC_ARM64_REG_S7 = 143 + let UC_ARM64_REG_S8 = 144 + let UC_ARM64_REG_S9 = 145 + let UC_ARM64_REG_S10 = 146 + let UC_ARM64_REG_S11 = 147 + let UC_ARM64_REG_S12 = 148 + let UC_ARM64_REG_S13 = 149 + let UC_ARM64_REG_S14 = 150 + let UC_ARM64_REG_S15 = 151 + let UC_ARM64_REG_S16 = 152 + let UC_ARM64_REG_S17 = 153 + let UC_ARM64_REG_S18 = 154 + let UC_ARM64_REG_S19 = 155 + let UC_ARM64_REG_S20 = 156 + let UC_ARM64_REG_S21 = 157 + let UC_ARM64_REG_S22 = 158 + let UC_ARM64_REG_S23 = 159 + let UC_ARM64_REG_S24 = 160 + let UC_ARM64_REG_S25 = 161 + let UC_ARM64_REG_S26 = 162 + let UC_ARM64_REG_S27 = 163 + let UC_ARM64_REG_S28 = 164 + let UC_ARM64_REG_S29 = 165 + let UC_ARM64_REG_S30 = 166 + let UC_ARM64_REG_S31 = 167 + let UC_ARM64_REG_W0 = 168 + let UC_ARM64_REG_W1 = 169 + let UC_ARM64_REG_W2 = 170 + let UC_ARM64_REG_W3 = 171 + let UC_ARM64_REG_W4 = 172 + let UC_ARM64_REG_W5 = 173 + let UC_ARM64_REG_W6 = 174 + let UC_ARM64_REG_W7 = 175 + let UC_ARM64_REG_W8 = 176 + let UC_ARM64_REG_W9 = 177 + let UC_ARM64_REG_W10 = 178 + let UC_ARM64_REG_W11 = 179 + let UC_ARM64_REG_W12 = 180 + let UC_ARM64_REG_W13 = 181 + let UC_ARM64_REG_W14 = 182 + let UC_ARM64_REG_W15 = 183 + let UC_ARM64_REG_W16 = 184 + let UC_ARM64_REG_W17 = 185 + let UC_ARM64_REG_W18 = 186 + let UC_ARM64_REG_W19 = 187 + let UC_ARM64_REG_W20 = 188 + let UC_ARM64_REG_W21 = 189 + let UC_ARM64_REG_W22 = 190 + let UC_ARM64_REG_W23 = 191 + let UC_ARM64_REG_W24 = 192 + let UC_ARM64_REG_W25 = 193 + let UC_ARM64_REG_W26 = 194 + let UC_ARM64_REG_W27 = 195 + let UC_ARM64_REG_W28 = 196 + let UC_ARM64_REG_W29 = 197 + let UC_ARM64_REG_W30 = 198 + let UC_ARM64_REG_X0 = 199 + let UC_ARM64_REG_X1 = 200 + let UC_ARM64_REG_X2 = 201 + let UC_ARM64_REG_X3 = 202 + let UC_ARM64_REG_X4 = 203 + let UC_ARM64_REG_X5 = 204 + let UC_ARM64_REG_X6 = 205 + let UC_ARM64_REG_X7 = 206 + let UC_ARM64_REG_X8 = 207 + let UC_ARM64_REG_X9 = 208 + let UC_ARM64_REG_X10 = 209 + let UC_ARM64_REG_X11 = 210 + let UC_ARM64_REG_X12 = 211 + let UC_ARM64_REG_X13 = 212 + let UC_ARM64_REG_X14 = 213 + let UC_ARM64_REG_X15 = 214 + let UC_ARM64_REG_X16 = 215 + let UC_ARM64_REG_X17 = 216 + let UC_ARM64_REG_X18 = 217 + let UC_ARM64_REG_X19 = 218 + let UC_ARM64_REG_X20 = 219 + let UC_ARM64_REG_X21 = 220 + let UC_ARM64_REG_X22 = 221 + let UC_ARM64_REG_X23 = 222 + let UC_ARM64_REG_X24 = 223 + let UC_ARM64_REG_X25 = 224 + let UC_ARM64_REG_X26 = 225 + let UC_ARM64_REG_X27 = 226 + let UC_ARM64_REG_X28 = 227 + let UC_ARM64_REG_V0 = 228 + let UC_ARM64_REG_V1 = 229 + let UC_ARM64_REG_V2 = 230 + let UC_ARM64_REG_V3 = 231 + let UC_ARM64_REG_V4 = 232 + let UC_ARM64_REG_V5 = 233 + let UC_ARM64_REG_V6 = 234 + let UC_ARM64_REG_V7 = 235 + let UC_ARM64_REG_V8 = 236 + let UC_ARM64_REG_V9 = 237 + let UC_ARM64_REG_V10 = 238 + let UC_ARM64_REG_V11 = 239 + let UC_ARM64_REG_V12 = 240 + let UC_ARM64_REG_V13 = 241 + let UC_ARM64_REG_V14 = 242 + let UC_ARM64_REG_V15 = 243 + let UC_ARM64_REG_V16 = 244 + let UC_ARM64_REG_V17 = 245 + let UC_ARM64_REG_V18 = 246 + let UC_ARM64_REG_V19 = 247 + let UC_ARM64_REG_V20 = 248 + let UC_ARM64_REG_V21 = 249 + let UC_ARM64_REG_V22 = 250 + let UC_ARM64_REG_V23 = 251 + let UC_ARM64_REG_V24 = 252 + let UC_ARM64_REG_V25 = 253 + let UC_ARM64_REG_V26 = 254 + let UC_ARM64_REG_V27 = 255 + let UC_ARM64_REG_V28 = 256 + let UC_ARM64_REG_V29 = 257 + let UC_ARM64_REG_V30 = 258 + let UC_ARM64_REG_V31 = 259 + +// pseudo registers + let UC_ARM64_REG_PC = 260 + let UC_ARM64_REG_ENDING = 261 + +// alias registers + let UC_ARM64_REG_IP1 = 215 + let UC_ARM64_REG_IP0 = 216 + let UC_ARM64_REG_FP = 1 + let UC_ARM64_REG_LR = 2 + diff --git a/bindings/dotnet/UnicornManaged/Const/Common.fs b/bindings/dotnet/UnicornManaged/Const/Common.fs new file mode 100644 index 00000000..936b6d90 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Const/Common.fs @@ -0,0 +1,96 @@ +// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT + +namespace UnicornManaged.Const + +open System + +[] +module Common = + + let UC_API_MAJOR = 0 + let UC_API_MINOR = 9 + let UC_SECOND_SCALE = 1000000 + let UC_MILISECOND_SCALE = 1000 + let UC_ARCH_ARM = 1 + let UC_ARCH_ARM64 = 2 + let UC_ARCH_MIPS = 3 + let UC_ARCH_X86 = 4 + let UC_ARCH_PPC = 5 + let UC_ARCH_SPARC = 6 + let UC_ARCH_M68K = 7 + let UC_ARCH_MAX = 8 + + let UC_MODE_LITTLE_ENDIAN = 0 + + let UC_MODE_ARM = 0 + let UC_MODE_16 = 2 + let UC_MODE_32 = 4 + let UC_MODE_64 = 8 + let UC_MODE_THUMB = 16 + let UC_MODE_MCLASS = 32 + let UC_MODE_V8 = 64 + let UC_MODE_MICRO = 16 + let UC_MODE_MIPS3 = 32 + let UC_MODE_MIPS32R6 = 64 + let UC_MODE_V9 = 16 + let UC_MODE_QPX = 16 + let UC_MODE_BIG_ENDIAN = 1073741824 + let UC_MODE_MIPS32 = 4 + let UC_MODE_MIPS64 = 8 + + let UC_ERR_OK = 0 + let UC_ERR_NOMEM = 1 + let UC_ERR_ARCH = 2 + let UC_ERR_HANDLE = 3 + let UC_ERR_MODE = 4 + let UC_ERR_VERSION = 5 + let UC_ERR_READ_UNMAPPED = 6 + let UC_ERR_WRITE_UNMAPPED = 7 + let UC_ERR_FETCH_UNMAPPED = 8 + let UC_ERR_HOOK = 9 + let UC_ERR_INSN_INVALID = 10 + let UC_ERR_MAP = 11 + let UC_ERR_WRITE_PROT = 12 + let UC_ERR_READ_PROT = 13 + let UC_ERR_FETCH_PROT = 14 + let UC_ERR_ARG = 15 + let UC_ERR_READ_UNALIGNED = 16 + let UC_ERR_WRITE_UNALIGNED = 17 + let UC_ERR_FETCH_UNALIGNED = 18 + let UC_ERR_HOOK_EXIST = 19 + let UC_ERR_RESOURCE = 20 + let UC_MEM_READ = 16 + let UC_MEM_WRITE = 17 + let UC_MEM_FETCH = 18 + let UC_MEM_READ_UNMAPPED = 19 + let UC_MEM_WRITE_UNMAPPED = 20 + let UC_MEM_FETCH_UNMAPPED = 21 + let UC_MEM_WRITE_PROT = 22 + let UC_MEM_READ_PROT = 23 + let UC_MEM_FETCH_PROT = 24 + let UC_HOOK_INTR = 1 + let UC_HOOK_INSN = 2 + let UC_HOOK_CODE = 4 + let UC_HOOK_BLOCK = 8 + let UC_HOOK_MEM_READ_UNMAPPED = 16 + let UC_HOOK_MEM_WRITE_UNMAPPED = 32 + let UC_HOOK_MEM_FETCH_UNMAPPED = 64 + let UC_HOOK_MEM_READ_PROT = 128 + let UC_HOOK_MEM_WRITE_PROT = 256 + let UC_HOOK_MEM_FETCH_PROT = 512 + let UC_HOOK_MEM_READ = 1024 + let UC_HOOK_MEM_WRITE = 2048 + let UC_HOOK_MEM_FETCH = 4096 + let UC_HOOK_MEM_UNMAPPED = 112 + let UC_HOOK_MEM_PROT = 896 + let UC_HOOK_MEM_READ_INVALID = 144 + let UC_HOOK_MEM_WRITE_INVALID = 288 + let UC_HOOK_MEM_FETCH_INVALID = 576 + let UC_HOOK_MEM_INVALID = 1008 + + let UC_PROT_NONE = 0 + let UC_PROT_READ = 1 + let UC_PROT_WRITE = 2 + let UC_PROT_EXEC = 4 + let UC_PROT_ALL = 7 + diff --git a/bindings/dotnet/UnicornManaged/Const/M68k.fs b/bindings/dotnet/UnicornManaged/Const/M68k.fs new file mode 100644 index 00000000..e4495f45 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Const/M68k.fs @@ -0,0 +1,32 @@ +// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT + +namespace UnicornManaged.Const + +open System + +[] +module M68k = + +// M68K registers + + let UC_M68K_REG_INVALID = 0 + let UC_M68K_REG_A0 = 1 + let UC_M68K_REG_A1 = 2 + let UC_M68K_REG_A2 = 3 + let UC_M68K_REG_A3 = 4 + let UC_M68K_REG_A4 = 5 + let UC_M68K_REG_A5 = 6 + let UC_M68K_REG_A6 = 7 + let UC_M68K_REG_A7 = 8 + let UC_M68K_REG_D0 = 9 + let UC_M68K_REG_D1 = 10 + let UC_M68K_REG_D2 = 11 + let UC_M68K_REG_D3 = 12 + let UC_M68K_REG_D4 = 13 + let UC_M68K_REG_D5 = 14 + let UC_M68K_REG_D6 = 15 + let UC_M68K_REG_D7 = 16 + let UC_M68K_REG_SR = 17 + let UC_M68K_REG_PC = 18 + let UC_M68K_REG_ENDING = 19 + diff --git a/bindings/dotnet/UnicornManaged/Const/Mips.fs b/bindings/dotnet/UnicornManaged/Const/Mips.fs new file mode 100644 index 00000000..d0fa03a9 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Const/Mips.fs @@ -0,0 +1,203 @@ +// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT + +namespace UnicornManaged.Const + +open System + +[] +module Mips = + +// MIPS registers + + let UC_MIPS_REG_INVALID = 0 + +// General purpose registers + let UC_MIPS_REG_PC = 1 + let UC_MIPS_REG_0 = 2 + let UC_MIPS_REG_1 = 3 + let UC_MIPS_REG_2 = 4 + let UC_MIPS_REG_3 = 5 + let UC_MIPS_REG_4 = 6 + let UC_MIPS_REG_5 = 7 + let UC_MIPS_REG_6 = 8 + let UC_MIPS_REG_7 = 9 + let UC_MIPS_REG_8 = 10 + let UC_MIPS_REG_9 = 11 + let UC_MIPS_REG_10 = 12 + let UC_MIPS_REG_11 = 13 + let UC_MIPS_REG_12 = 14 + let UC_MIPS_REG_13 = 15 + let UC_MIPS_REG_14 = 16 + let UC_MIPS_REG_15 = 17 + let UC_MIPS_REG_16 = 18 + let UC_MIPS_REG_17 = 19 + let UC_MIPS_REG_18 = 20 + let UC_MIPS_REG_19 = 21 + let UC_MIPS_REG_20 = 22 + let UC_MIPS_REG_21 = 23 + let UC_MIPS_REG_22 = 24 + let UC_MIPS_REG_23 = 25 + let UC_MIPS_REG_24 = 26 + let UC_MIPS_REG_25 = 27 + let UC_MIPS_REG_26 = 28 + let UC_MIPS_REG_27 = 29 + let UC_MIPS_REG_28 = 30 + let UC_MIPS_REG_29 = 31 + let UC_MIPS_REG_30 = 32 + let UC_MIPS_REG_31 = 33 + +// DSP registers + let UC_MIPS_REG_DSPCCOND = 34 + let UC_MIPS_REG_DSPCARRY = 35 + let UC_MIPS_REG_DSPEFI = 36 + let UC_MIPS_REG_DSPOUTFLAG = 37 + let UC_MIPS_REG_DSPOUTFLAG16_19 = 38 + let UC_MIPS_REG_DSPOUTFLAG20 = 39 + let UC_MIPS_REG_DSPOUTFLAG21 = 40 + let UC_MIPS_REG_DSPOUTFLAG22 = 41 + let UC_MIPS_REG_DSPOUTFLAG23 = 42 + let UC_MIPS_REG_DSPPOS = 43 + let UC_MIPS_REG_DSPSCOUNT = 44 + +// ACC registers + let UC_MIPS_REG_AC0 = 45 + let UC_MIPS_REG_AC1 = 46 + let UC_MIPS_REG_AC2 = 47 + let UC_MIPS_REG_AC3 = 48 + +// COP registers + let UC_MIPS_REG_CC0 = 49 + let UC_MIPS_REG_CC1 = 50 + let UC_MIPS_REG_CC2 = 51 + let UC_MIPS_REG_CC3 = 52 + let UC_MIPS_REG_CC4 = 53 + let UC_MIPS_REG_CC5 = 54 + let UC_MIPS_REG_CC6 = 55 + let UC_MIPS_REG_CC7 = 56 + +// FPU registers + let UC_MIPS_REG_F0 = 57 + let UC_MIPS_REG_F1 = 58 + let UC_MIPS_REG_F2 = 59 + let UC_MIPS_REG_F3 = 60 + let UC_MIPS_REG_F4 = 61 + let UC_MIPS_REG_F5 = 62 + let UC_MIPS_REG_F6 = 63 + let UC_MIPS_REG_F7 = 64 + let UC_MIPS_REG_F8 = 65 + let UC_MIPS_REG_F9 = 66 + let UC_MIPS_REG_F10 = 67 + let UC_MIPS_REG_F11 = 68 + let UC_MIPS_REG_F12 = 69 + let UC_MIPS_REG_F13 = 70 + let UC_MIPS_REG_F14 = 71 + let UC_MIPS_REG_F15 = 72 + let UC_MIPS_REG_F16 = 73 + let UC_MIPS_REG_F17 = 74 + let UC_MIPS_REG_F18 = 75 + let UC_MIPS_REG_F19 = 76 + let UC_MIPS_REG_F20 = 77 + let UC_MIPS_REG_F21 = 78 + let UC_MIPS_REG_F22 = 79 + let UC_MIPS_REG_F23 = 80 + let UC_MIPS_REG_F24 = 81 + let UC_MIPS_REG_F25 = 82 + let UC_MIPS_REG_F26 = 83 + let UC_MIPS_REG_F27 = 84 + let UC_MIPS_REG_F28 = 85 + let UC_MIPS_REG_F29 = 86 + let UC_MIPS_REG_F30 = 87 + let UC_MIPS_REG_F31 = 88 + let UC_MIPS_REG_FCC0 = 89 + let UC_MIPS_REG_FCC1 = 90 + let UC_MIPS_REG_FCC2 = 91 + let UC_MIPS_REG_FCC3 = 92 + let UC_MIPS_REG_FCC4 = 93 + let UC_MIPS_REG_FCC5 = 94 + let UC_MIPS_REG_FCC6 = 95 + let UC_MIPS_REG_FCC7 = 96 + +// AFPR128 + let UC_MIPS_REG_W0 = 97 + let UC_MIPS_REG_W1 = 98 + let UC_MIPS_REG_W2 = 99 + let UC_MIPS_REG_W3 = 100 + let UC_MIPS_REG_W4 = 101 + let UC_MIPS_REG_W5 = 102 + let UC_MIPS_REG_W6 = 103 + let UC_MIPS_REG_W7 = 104 + let UC_MIPS_REG_W8 = 105 + let UC_MIPS_REG_W9 = 106 + let UC_MIPS_REG_W10 = 107 + let UC_MIPS_REG_W11 = 108 + let UC_MIPS_REG_W12 = 109 + let UC_MIPS_REG_W13 = 110 + let UC_MIPS_REG_W14 = 111 + let UC_MIPS_REG_W15 = 112 + let UC_MIPS_REG_W16 = 113 + let UC_MIPS_REG_W17 = 114 + let UC_MIPS_REG_W18 = 115 + let UC_MIPS_REG_W19 = 116 + let UC_MIPS_REG_W20 = 117 + let UC_MIPS_REG_W21 = 118 + let UC_MIPS_REG_W22 = 119 + let UC_MIPS_REG_W23 = 120 + let UC_MIPS_REG_W24 = 121 + let UC_MIPS_REG_W25 = 122 + let UC_MIPS_REG_W26 = 123 + let UC_MIPS_REG_W27 = 124 + let UC_MIPS_REG_W28 = 125 + let UC_MIPS_REG_W29 = 126 + let UC_MIPS_REG_W30 = 127 + let UC_MIPS_REG_W31 = 128 + let UC_MIPS_REG_HI = 129 + let UC_MIPS_REG_LO = 130 + let UC_MIPS_REG_P0 = 131 + let UC_MIPS_REG_P1 = 132 + let UC_MIPS_REG_P2 = 133 + let UC_MIPS_REG_MPL0 = 134 + let UC_MIPS_REG_MPL1 = 135 + let UC_MIPS_REG_MPL2 = 136 + let UC_MIPS_REG_ENDING = 137 + let UC_MIPS_REG_ZERO = 2 + let UC_MIPS_REG_AT = 3 + let UC_MIPS_REG_V0 = 4 + let UC_MIPS_REG_V1 = 5 + let UC_MIPS_REG_A0 = 6 + let UC_MIPS_REG_A1 = 7 + let UC_MIPS_REG_A2 = 8 + let UC_MIPS_REG_A3 = 9 + let UC_MIPS_REG_T0 = 10 + let UC_MIPS_REG_T1 = 11 + let UC_MIPS_REG_T2 = 12 + let UC_MIPS_REG_T3 = 13 + let UC_MIPS_REG_T4 = 14 + let UC_MIPS_REG_T5 = 15 + let UC_MIPS_REG_T6 = 16 + let UC_MIPS_REG_T7 = 17 + let UC_MIPS_REG_S0 = 18 + let UC_MIPS_REG_S1 = 19 + let UC_MIPS_REG_S2 = 20 + let UC_MIPS_REG_S3 = 21 + let UC_MIPS_REG_S4 = 22 + let UC_MIPS_REG_S5 = 23 + let UC_MIPS_REG_S6 = 24 + let UC_MIPS_REG_S7 = 25 + let UC_MIPS_REG_T8 = 26 + let UC_MIPS_REG_T9 = 27 + let UC_MIPS_REG_K0 = 28 + let UC_MIPS_REG_K1 = 29 + let UC_MIPS_REG_GP = 30 + let UC_MIPS_REG_SP = 31 + let UC_MIPS_REG_FP = 32 + let UC_MIPS_REG_S8 = 32 + let UC_MIPS_REG_RA = 33 + let UC_MIPS_REG_HI0 = 45 + let UC_MIPS_REG_HI1 = 46 + let UC_MIPS_REG_HI2 = 47 + let UC_MIPS_REG_HI3 = 48 + let UC_MIPS_REG_LO0 = 45 + let UC_MIPS_REG_LO1 = 46 + let UC_MIPS_REG_LO2 = 47 + let UC_MIPS_REG_LO3 = 48 + diff --git a/bindings/dotnet/UnicornManaged/Const/Sparc.fs b/bindings/dotnet/UnicornManaged/Const/Sparc.fs new file mode 100644 index 00000000..84ebff7f --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Const/Sparc.fs @@ -0,0 +1,104 @@ +// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT + +namespace UnicornManaged.Const + +open System + +[] +module Sparc = + +// SPARC registers + + let UC_SPARC_REG_INVALID = 0 + let UC_SPARC_REG_F0 = 1 + let UC_SPARC_REG_F1 = 2 + let UC_SPARC_REG_F2 = 3 + let UC_SPARC_REG_F3 = 4 + let UC_SPARC_REG_F4 = 5 + let UC_SPARC_REG_F5 = 6 + let UC_SPARC_REG_F6 = 7 + let UC_SPARC_REG_F7 = 8 + let UC_SPARC_REG_F8 = 9 + let UC_SPARC_REG_F9 = 10 + let UC_SPARC_REG_F10 = 11 + let UC_SPARC_REG_F11 = 12 + let UC_SPARC_REG_F12 = 13 + let UC_SPARC_REG_F13 = 14 + let UC_SPARC_REG_F14 = 15 + let UC_SPARC_REG_F15 = 16 + let UC_SPARC_REG_F16 = 17 + let UC_SPARC_REG_F17 = 18 + let UC_SPARC_REG_F18 = 19 + let UC_SPARC_REG_F19 = 20 + let UC_SPARC_REG_F20 = 21 + let UC_SPARC_REG_F21 = 22 + let UC_SPARC_REG_F22 = 23 + let UC_SPARC_REG_F23 = 24 + let UC_SPARC_REG_F24 = 25 + let UC_SPARC_REG_F25 = 26 + let UC_SPARC_REG_F26 = 27 + let UC_SPARC_REG_F27 = 28 + let UC_SPARC_REG_F28 = 29 + let UC_SPARC_REG_F29 = 30 + let UC_SPARC_REG_F30 = 31 + let UC_SPARC_REG_F31 = 32 + let UC_SPARC_REG_F32 = 33 + let UC_SPARC_REG_F34 = 34 + let UC_SPARC_REG_F36 = 35 + let UC_SPARC_REG_F38 = 36 + let UC_SPARC_REG_F40 = 37 + let UC_SPARC_REG_F42 = 38 + let UC_SPARC_REG_F44 = 39 + let UC_SPARC_REG_F46 = 40 + let UC_SPARC_REG_F48 = 41 + let UC_SPARC_REG_F50 = 42 + let UC_SPARC_REG_F52 = 43 + let UC_SPARC_REG_F54 = 44 + let UC_SPARC_REG_F56 = 45 + let UC_SPARC_REG_F58 = 46 + let UC_SPARC_REG_F60 = 47 + let UC_SPARC_REG_F62 = 48 + let UC_SPARC_REG_FCC0 = 49 + let UC_SPARC_REG_FCC1 = 50 + let UC_SPARC_REG_FCC2 = 51 + let UC_SPARC_REG_FCC3 = 52 + let UC_SPARC_REG_G0 = 53 + let UC_SPARC_REG_G1 = 54 + let UC_SPARC_REG_G2 = 55 + let UC_SPARC_REG_G3 = 56 + let UC_SPARC_REG_G4 = 57 + let UC_SPARC_REG_G5 = 58 + let UC_SPARC_REG_G6 = 59 + let UC_SPARC_REG_G7 = 60 + let UC_SPARC_REG_I0 = 61 + let UC_SPARC_REG_I1 = 62 + let UC_SPARC_REG_I2 = 63 + let UC_SPARC_REG_I3 = 64 + let UC_SPARC_REG_I4 = 65 + let UC_SPARC_REG_I5 = 66 + let UC_SPARC_REG_FP = 67 + let UC_SPARC_REG_I7 = 68 + let UC_SPARC_REG_ICC = 69 + let UC_SPARC_REG_L0 = 70 + let UC_SPARC_REG_L1 = 71 + let UC_SPARC_REG_L2 = 72 + let UC_SPARC_REG_L3 = 73 + let UC_SPARC_REG_L4 = 74 + let UC_SPARC_REG_L5 = 75 + let UC_SPARC_REG_L6 = 76 + let UC_SPARC_REG_L7 = 77 + let UC_SPARC_REG_O0 = 78 + let UC_SPARC_REG_O1 = 79 + let UC_SPARC_REG_O2 = 80 + let UC_SPARC_REG_O3 = 81 + let UC_SPARC_REG_O4 = 82 + let UC_SPARC_REG_O5 = 83 + let UC_SPARC_REG_SP = 84 + let UC_SPARC_REG_O7 = 85 + let UC_SPARC_REG_Y = 86 + let UC_SPARC_REG_XCC = 87 + let UC_SPARC_REG_PC = 88 + let UC_SPARC_REG_ENDING = 89 + let UC_SPARC_REG_O6 = 84 + let UC_SPARC_REG_I6 = 67 + diff --git a/bindings/dotnet/UnicornManaged/Const/X86.fs b/bindings/dotnet/UnicornManaged/Const/X86.fs new file mode 100644 index 00000000..53687a7d --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Const/X86.fs @@ -0,0 +1,1597 @@ +// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT + +namespace UnicornManaged.Const + +open System + +[] +module X86 = + +// X86 registers + + let UC_X86_REG_INVALID = 0 + let UC_X86_REG_AH = 1 + let UC_X86_REG_AL = 2 + let UC_X86_REG_AX = 3 + let UC_X86_REG_BH = 4 + let UC_X86_REG_BL = 5 + let UC_X86_REG_BP = 6 + let UC_X86_REG_BPL = 7 + let UC_X86_REG_BX = 8 + let UC_X86_REG_CH = 9 + let UC_X86_REG_CL = 10 + let UC_X86_REG_CS = 11 + let UC_X86_REG_CX = 12 + let UC_X86_REG_DH = 13 + let UC_X86_REG_DI = 14 + let UC_X86_REG_DIL = 15 + let UC_X86_REG_DL = 16 + let UC_X86_REG_DS = 17 + let UC_X86_REG_DX = 18 + let UC_X86_REG_EAX = 19 + let UC_X86_REG_EBP = 20 + let UC_X86_REG_EBX = 21 + let UC_X86_REG_ECX = 22 + let UC_X86_REG_EDI = 23 + let UC_X86_REG_EDX = 24 + let UC_X86_REG_EFLAGS = 25 + let UC_X86_REG_EIP = 26 + let UC_X86_REG_EIZ = 27 + let UC_X86_REG_ES = 28 + let UC_X86_REG_ESI = 29 + let UC_X86_REG_ESP = 30 + let UC_X86_REG_FPSW = 31 + let UC_X86_REG_FS = 32 + let UC_X86_REG_GS = 33 + let UC_X86_REG_IP = 34 + let UC_X86_REG_RAX = 35 + let UC_X86_REG_RBP = 36 + let UC_X86_REG_RBX = 37 + let UC_X86_REG_RCX = 38 + let UC_X86_REG_RDI = 39 + let UC_X86_REG_RDX = 40 + let UC_X86_REG_RIP = 41 + let UC_X86_REG_RIZ = 42 + let UC_X86_REG_RSI = 43 + let UC_X86_REG_RSP = 44 + let UC_X86_REG_SI = 45 + let UC_X86_REG_SIL = 46 + let UC_X86_REG_SP = 47 + let UC_X86_REG_SPL = 48 + let UC_X86_REG_SS = 49 + let UC_X86_REG_CR0 = 50 + let UC_X86_REG_CR1 = 51 + let UC_X86_REG_CR2 = 52 + let UC_X86_REG_CR3 = 53 + let UC_X86_REG_CR4 = 54 + let UC_X86_REG_CR5 = 55 + let UC_X86_REG_CR6 = 56 + let UC_X86_REG_CR7 = 57 + let UC_X86_REG_CR8 = 58 + let UC_X86_REG_CR9 = 59 + let UC_X86_REG_CR10 = 60 + let UC_X86_REG_CR11 = 61 + let UC_X86_REG_CR12 = 62 + let UC_X86_REG_CR13 = 63 + let UC_X86_REG_CR14 = 64 + let UC_X86_REG_CR15 = 65 + let UC_X86_REG_DR0 = 66 + let UC_X86_REG_DR1 = 67 + let UC_X86_REG_DR2 = 68 + let UC_X86_REG_DR3 = 69 + let UC_X86_REG_DR4 = 70 + let UC_X86_REG_DR5 = 71 + let UC_X86_REG_DR6 = 72 + let UC_X86_REG_DR7 = 73 + let UC_X86_REG_DR8 = 74 + let UC_X86_REG_DR9 = 75 + let UC_X86_REG_DR10 = 76 + let UC_X86_REG_DR11 = 77 + let UC_X86_REG_DR12 = 78 + let UC_X86_REG_DR13 = 79 + let UC_X86_REG_DR14 = 80 + let UC_X86_REG_DR15 = 81 + let UC_X86_REG_FP0 = 82 + let UC_X86_REG_FP1 = 83 + let UC_X86_REG_FP2 = 84 + let UC_X86_REG_FP3 = 85 + let UC_X86_REG_FP4 = 86 + let UC_X86_REG_FP5 = 87 + let UC_X86_REG_FP6 = 88 + let UC_X86_REG_FP7 = 89 + let UC_X86_REG_K0 = 90 + let UC_X86_REG_K1 = 91 + let UC_X86_REG_K2 = 92 + let UC_X86_REG_K3 = 93 + let UC_X86_REG_K4 = 94 + let UC_X86_REG_K5 = 95 + let UC_X86_REG_K6 = 96 + let UC_X86_REG_K7 = 97 + let UC_X86_REG_MM0 = 98 + let UC_X86_REG_MM1 = 99 + let UC_X86_REG_MM2 = 100 + let UC_X86_REG_MM3 = 101 + let UC_X86_REG_MM4 = 102 + let UC_X86_REG_MM5 = 103 + let UC_X86_REG_MM6 = 104 + let UC_X86_REG_MM7 = 105 + let UC_X86_REG_R8 = 106 + let UC_X86_REG_R9 = 107 + let UC_X86_REG_R10 = 108 + let UC_X86_REG_R11 = 109 + let UC_X86_REG_R12 = 110 + let UC_X86_REG_R13 = 111 + let UC_X86_REG_R14 = 112 + let UC_X86_REG_R15 = 113 + let UC_X86_REG_ST0 = 114 + let UC_X86_REG_ST1 = 115 + let UC_X86_REG_ST2 = 116 + let UC_X86_REG_ST3 = 117 + let UC_X86_REG_ST4 = 118 + let UC_X86_REG_ST5 = 119 + let UC_X86_REG_ST6 = 120 + let UC_X86_REG_ST7 = 121 + let UC_X86_REG_XMM0 = 122 + let UC_X86_REG_XMM1 = 123 + let UC_X86_REG_XMM2 = 124 + let UC_X86_REG_XMM3 = 125 + let UC_X86_REG_XMM4 = 126 + let UC_X86_REG_XMM5 = 127 + let UC_X86_REG_XMM6 = 128 + let UC_X86_REG_XMM7 = 129 + let UC_X86_REG_XMM8 = 130 + let UC_X86_REG_XMM9 = 131 + let UC_X86_REG_XMM10 = 132 + let UC_X86_REG_XMM11 = 133 + let UC_X86_REG_XMM12 = 134 + let UC_X86_REG_XMM13 = 135 + let UC_X86_REG_XMM14 = 136 + let UC_X86_REG_XMM15 = 137 + let UC_X86_REG_XMM16 = 138 + let UC_X86_REG_XMM17 = 139 + let UC_X86_REG_XMM18 = 140 + let UC_X86_REG_XMM19 = 141 + let UC_X86_REG_XMM20 = 142 + let UC_X86_REG_XMM21 = 143 + let UC_X86_REG_XMM22 = 144 + let UC_X86_REG_XMM23 = 145 + let UC_X86_REG_XMM24 = 146 + let UC_X86_REG_XMM25 = 147 + let UC_X86_REG_XMM26 = 148 + let UC_X86_REG_XMM27 = 149 + let UC_X86_REG_XMM28 = 150 + let UC_X86_REG_XMM29 = 151 + let UC_X86_REG_XMM30 = 152 + let UC_X86_REG_XMM31 = 153 + let UC_X86_REG_YMM0 = 154 + let UC_X86_REG_YMM1 = 155 + let UC_X86_REG_YMM2 = 156 + let UC_X86_REG_YMM3 = 157 + let UC_X86_REG_YMM4 = 158 + let UC_X86_REG_YMM5 = 159 + let UC_X86_REG_YMM6 = 160 + let UC_X86_REG_YMM7 = 161 + let UC_X86_REG_YMM8 = 162 + let UC_X86_REG_YMM9 = 163 + let UC_X86_REG_YMM10 = 164 + let UC_X86_REG_YMM11 = 165 + let UC_X86_REG_YMM12 = 166 + let UC_X86_REG_YMM13 = 167 + let UC_X86_REG_YMM14 = 168 + let UC_X86_REG_YMM15 = 169 + let UC_X86_REG_YMM16 = 170 + let UC_X86_REG_YMM17 = 171 + let UC_X86_REG_YMM18 = 172 + let UC_X86_REG_YMM19 = 173 + let UC_X86_REG_YMM20 = 174 + let UC_X86_REG_YMM21 = 175 + let UC_X86_REG_YMM22 = 176 + let UC_X86_REG_YMM23 = 177 + let UC_X86_REG_YMM24 = 178 + let UC_X86_REG_YMM25 = 179 + let UC_X86_REG_YMM26 = 180 + let UC_X86_REG_YMM27 = 181 + let UC_X86_REG_YMM28 = 182 + let UC_X86_REG_YMM29 = 183 + let UC_X86_REG_YMM30 = 184 + let UC_X86_REG_YMM31 = 185 + let UC_X86_REG_ZMM0 = 186 + let UC_X86_REG_ZMM1 = 187 + let UC_X86_REG_ZMM2 = 188 + let UC_X86_REG_ZMM3 = 189 + let UC_X86_REG_ZMM4 = 190 + let UC_X86_REG_ZMM5 = 191 + let UC_X86_REG_ZMM6 = 192 + let UC_X86_REG_ZMM7 = 193 + let UC_X86_REG_ZMM8 = 194 + let UC_X86_REG_ZMM9 = 195 + let UC_X86_REG_ZMM10 = 196 + let UC_X86_REG_ZMM11 = 197 + let UC_X86_REG_ZMM12 = 198 + let UC_X86_REG_ZMM13 = 199 + let UC_X86_REG_ZMM14 = 200 + let UC_X86_REG_ZMM15 = 201 + let UC_X86_REG_ZMM16 = 202 + let UC_X86_REG_ZMM17 = 203 + let UC_X86_REG_ZMM18 = 204 + let UC_X86_REG_ZMM19 = 205 + let UC_X86_REG_ZMM20 = 206 + let UC_X86_REG_ZMM21 = 207 + let UC_X86_REG_ZMM22 = 208 + let UC_X86_REG_ZMM23 = 209 + let UC_X86_REG_ZMM24 = 210 + let UC_X86_REG_ZMM25 = 211 + let UC_X86_REG_ZMM26 = 212 + let UC_X86_REG_ZMM27 = 213 + let UC_X86_REG_ZMM28 = 214 + let UC_X86_REG_ZMM29 = 215 + let UC_X86_REG_ZMM30 = 216 + let UC_X86_REG_ZMM31 = 217 + let UC_X86_REG_R8B = 218 + let UC_X86_REG_R9B = 219 + let UC_X86_REG_R10B = 220 + let UC_X86_REG_R11B = 221 + let UC_X86_REG_R12B = 222 + let UC_X86_REG_R13B = 223 + let UC_X86_REG_R14B = 224 + let UC_X86_REG_R15B = 225 + let UC_X86_REG_R8D = 226 + let UC_X86_REG_R9D = 227 + let UC_X86_REG_R10D = 228 + let UC_X86_REG_R11D = 229 + let UC_X86_REG_R12D = 230 + let UC_X86_REG_R13D = 231 + let UC_X86_REG_R14D = 232 + let UC_X86_REG_R15D = 233 + let UC_X86_REG_R8W = 234 + let UC_X86_REG_R9W = 235 + let UC_X86_REG_R10W = 236 + let UC_X86_REG_R11W = 237 + let UC_X86_REG_R12W = 238 + let UC_X86_REG_R13W = 239 + let UC_X86_REG_R14W = 240 + let UC_X86_REG_R15W = 241 + let UC_X86_REG_ENDING = 242 + +// X86 instructions + + let UC_X86_INS_INVALID = 0 + let UC_X86_INS_AAA = 1 + let UC_X86_INS_AAD = 2 + let UC_X86_INS_AAM = 3 + let UC_X86_INS_AAS = 4 + let UC_X86_INS_FABS = 5 + let UC_X86_INS_ADC = 6 + let UC_X86_INS_ADCX = 7 + let UC_X86_INS_ADD = 8 + let UC_X86_INS_ADDPD = 9 + let UC_X86_INS_ADDPS = 10 + let UC_X86_INS_ADDSD = 11 + let UC_X86_INS_ADDSS = 12 + let UC_X86_INS_ADDSUBPD = 13 + let UC_X86_INS_ADDSUBPS = 14 + let UC_X86_INS_FADD = 15 + let UC_X86_INS_FIADD = 16 + let UC_X86_INS_FADDP = 17 + let UC_X86_INS_ADOX = 18 + let UC_X86_INS_AESDECLAST = 19 + let UC_X86_INS_AESDEC = 20 + let UC_X86_INS_AESENCLAST = 21 + let UC_X86_INS_AESENC = 22 + let UC_X86_INS_AESIMC = 23 + let UC_X86_INS_AESKEYGENASSIST = 24 + let UC_X86_INS_AND = 25 + let UC_X86_INS_ANDN = 26 + let UC_X86_INS_ANDNPD = 27 + let UC_X86_INS_ANDNPS = 28 + let UC_X86_INS_ANDPD = 29 + let UC_X86_INS_ANDPS = 30 + let UC_X86_INS_ARPL = 31 + let UC_X86_INS_BEXTR = 32 + let UC_X86_INS_BLCFILL = 33 + let UC_X86_INS_BLCI = 34 + let UC_X86_INS_BLCIC = 35 + let UC_X86_INS_BLCMSK = 36 + let UC_X86_INS_BLCS = 37 + let UC_X86_INS_BLENDPD = 38 + let UC_X86_INS_BLENDPS = 39 + let UC_X86_INS_BLENDVPD = 40 + let UC_X86_INS_BLENDVPS = 41 + let UC_X86_INS_BLSFILL = 42 + let UC_X86_INS_BLSI = 43 + let UC_X86_INS_BLSIC = 44 + let UC_X86_INS_BLSMSK = 45 + let UC_X86_INS_BLSR = 46 + let UC_X86_INS_BOUND = 47 + let UC_X86_INS_BSF = 48 + let UC_X86_INS_BSR = 49 + let UC_X86_INS_BSWAP = 50 + let UC_X86_INS_BT = 51 + let UC_X86_INS_BTC = 52 + let UC_X86_INS_BTR = 53 + let UC_X86_INS_BTS = 54 + let UC_X86_INS_BZHI = 55 + let UC_X86_INS_CALL = 56 + let UC_X86_INS_CBW = 57 + let UC_X86_INS_CDQ = 58 + let UC_X86_INS_CDQE = 59 + let UC_X86_INS_FCHS = 60 + let UC_X86_INS_CLAC = 61 + let UC_X86_INS_CLC = 62 + let UC_X86_INS_CLD = 63 + let UC_X86_INS_CLFLUSH = 64 + let UC_X86_INS_CLFLUSHOPT = 65 + let UC_X86_INS_CLGI = 66 + let UC_X86_INS_CLI = 67 + let UC_X86_INS_CLTS = 68 + let UC_X86_INS_CLWB = 69 + let UC_X86_INS_CMC = 70 + let UC_X86_INS_CMOVA = 71 + let UC_X86_INS_CMOVAE = 72 + let UC_X86_INS_CMOVB = 73 + let UC_X86_INS_CMOVBE = 74 + let UC_X86_INS_FCMOVBE = 75 + let UC_X86_INS_FCMOVB = 76 + let UC_X86_INS_CMOVE = 77 + let UC_X86_INS_FCMOVE = 78 + let UC_X86_INS_CMOVG = 79 + let UC_X86_INS_CMOVGE = 80 + let UC_X86_INS_CMOVL = 81 + let UC_X86_INS_CMOVLE = 82 + let UC_X86_INS_FCMOVNBE = 83 + let UC_X86_INS_FCMOVNB = 84 + let UC_X86_INS_CMOVNE = 85 + let UC_X86_INS_FCMOVNE = 86 + let UC_X86_INS_CMOVNO = 87 + let UC_X86_INS_CMOVNP = 88 + let UC_X86_INS_FCMOVNU = 89 + let UC_X86_INS_CMOVNS = 90 + let UC_X86_INS_CMOVO = 91 + let UC_X86_INS_CMOVP = 92 + let UC_X86_INS_FCMOVU = 93 + let UC_X86_INS_CMOVS = 94 + let UC_X86_INS_CMP = 95 + let UC_X86_INS_CMPPD = 96 + let UC_X86_INS_CMPPS = 97 + let UC_X86_INS_CMPSB = 98 + let UC_X86_INS_CMPSD = 99 + let UC_X86_INS_CMPSQ = 100 + let UC_X86_INS_CMPSS = 101 + let UC_X86_INS_CMPSW = 102 + let UC_X86_INS_CMPXCHG16B = 103 + let UC_X86_INS_CMPXCHG = 104 + let UC_X86_INS_CMPXCHG8B = 105 + let UC_X86_INS_COMISD = 106 + let UC_X86_INS_COMISS = 107 + let UC_X86_INS_FCOMP = 108 + let UC_X86_INS_FCOMPI = 109 + let UC_X86_INS_FCOMI = 110 + let UC_X86_INS_FCOM = 111 + let UC_X86_INS_FCOS = 112 + let UC_X86_INS_CPUID = 113 + let UC_X86_INS_CQO = 114 + let UC_X86_INS_CRC32 = 115 + let UC_X86_INS_CVTDQ2PD = 116 + let UC_X86_INS_CVTDQ2PS = 117 + let UC_X86_INS_CVTPD2DQ = 118 + let UC_X86_INS_CVTPD2PS = 119 + let UC_X86_INS_CVTPS2DQ = 120 + let UC_X86_INS_CVTPS2PD = 121 + let UC_X86_INS_CVTSD2SI = 122 + (*let UC_X86_INS_CVTSD2SS = 123 + let UC_X86_INS_CVTSI2SD = 124 + let UC_X86_INS_CVTSI2SS = 125 + let UC_X86_INS_CVTSS2SD = 126 + let UC_X86_INS_CVTSS2SI = 127 + let UC_X86_INS_CVTTPD2DQ = 128 + let UC_X86_INS_CVTTPS2DQ = 129 + let UC_X86_INS_CVTTSD2SI = 130 + let UC_X86_INS_CVTTSS2SI = 131 + let UC_X86_INS_CWD = 132 + let UC_X86_INS_CWDE = 133 + let UC_X86_INS_DAA = 134 + let UC_X86_INS_DAS = 135 + let UC_X86_INS_DATA16 = 136 + let UC_X86_INS_DEC = 137 + let UC_X86_INS_DIV = 138 + let UC_X86_INS_DIVPD = 139 + let UC_X86_INS_DIVPS = 140 + let UC_X86_INS_FDIVR = 141 + let UC_X86_INS_FIDIVR = 142 + let UC_X86_INS_FDIVRP = 143 + let UC_X86_INS_DIVSD = 144 + let UC_X86_INS_DIVSS = 145 + let UC_X86_INS_FDIV = 146 + let UC_X86_INS_FIDIV = 147 + let UC_X86_INS_FDIVP = 148 + let UC_X86_INS_DPPD = 149 + let UC_X86_INS_DPPS = 150 + let UC_X86_INS_RET = 151 + let UC_X86_INS_ENCLS = 152 + let UC_X86_INS_ENCLU = 153 + let UC_X86_INS_ENTER = 154 + let UC_X86_INS_EXTRACTPS = 155 + let UC_X86_INS_EXTRQ = 156 + let UC_X86_INS_F2XM1 = 157 + let UC_X86_INS_LCALL = 158 + let UC_X86_INS_LJMP = 159 + let UC_X86_INS_FBLD = 160 + let UC_X86_INS_FBSTP = 161 + let UC_X86_INS_FCOMPP = 162 + let UC_X86_INS_FDECSTP = 163 + let UC_X86_INS_FEMMS = 164 + let UC_X86_INS_FFREE = 165 + let UC_X86_INS_FICOM = 166 + let UC_X86_INS_FICOMP = 167 + let UC_X86_INS_FINCSTP = 168 + let UC_X86_INS_FLDCW = 169 + let UC_X86_INS_FLDENV = 170 + let UC_X86_INS_FLDL2E = 171 + let UC_X86_INS_FLDL2T = 172 + let UC_X86_INS_FLDLG2 = 173 + let UC_X86_INS_FLDLN2 = 174 + let UC_X86_INS_FLDPI = 175 + let UC_X86_INS_FNCLEX = 176 + let UC_X86_INS_FNINIT = 177 + let UC_X86_INS_FNOP = 178 + let UC_X86_INS_FNSTCW = 179 + let UC_X86_INS_FNSTSW = 180 + let UC_X86_INS_FPATAN = 181 + let UC_X86_INS_FPREM = 182 + let UC_X86_INS_FPREM1 = 183 + let UC_X86_INS_FPTAN = 184 + let UC_X86_INS_FFREEP = 185 + let UC_X86_INS_FRNDINT = 186 + let UC_X86_INS_FRSTOR = 187 + let UC_X86_INS_FNSAVE = 188 + let UC_X86_INS_FSCALE = 189 + let UC_X86_INS_FSETPM = 190 + let UC_X86_INS_FSINCOS = 191 + let UC_X86_INS_FNSTENV = 192 + let UC_X86_INS_FXAM = 193 + let UC_X86_INS_FXRSTOR = 194 + let UC_X86_INS_FXRSTOR64 = 195 + let UC_X86_INS_FXSAVE = 196 + let UC_X86_INS_FXSAVE64 = 197 + let UC_X86_INS_FXTRACT = 198 + let UC_X86_INS_FYL2X = 199 + let UC_X86_INS_FYL2XP1 = 200 + let UC_X86_INS_MOVAPD = 201 + let UC_X86_INS_MOVAPS = 202 + let UC_X86_INS_ORPD = 203 + let UC_X86_INS_ORPS = 204 + let UC_X86_INS_VMOVAPD = 205 + let UC_X86_INS_VMOVAPS = 206 + let UC_X86_INS_XORPD = 207 + let UC_X86_INS_XORPS = 208 + let UC_X86_INS_GETSEC = 209 + let UC_X86_INS_HADDPD = 210 + let UC_X86_INS_HADDPS = 211 + let UC_X86_INS_HLT = 212 + let UC_X86_INS_HSUBPD = 213 + let UC_X86_INS_HSUBPS = 214 + let UC_X86_INS_IDIV = 215 + let UC_X86_INS_FILD = 216 + let UC_X86_INS_IMUL = 217*) + let UC_X86_INS_IN = 218 + (*let UC_X86_INS_INC = 219 + let UC_X86_INS_INSB = 220 + let UC_X86_INS_INSERTPS = 221 + let UC_X86_INS_INSERTQ = 222 + let UC_X86_INS_INSD = 223 + let UC_X86_INS_INSW = 224 + let UC_X86_INS_INT = 225 + let UC_X86_INS_INT1 = 226 + let UC_X86_INS_INT3 = 227 + let UC_X86_INS_INTO = 228 + let UC_X86_INS_INVD = 229 + let UC_X86_INS_INVEPT = 230 + let UC_X86_INS_INVLPG = 231 + let UC_X86_INS_INVLPGA = 232 + let UC_X86_INS_INVPCID = 233 + let UC_X86_INS_INVVPID = 234 + let UC_X86_INS_IRET = 235 + let UC_X86_INS_IRETD = 236 + let UC_X86_INS_IRETQ = 237 + let UC_X86_INS_FISTTP = 238 + let UC_X86_INS_FIST = 239 + let UC_X86_INS_FISTP = 240 + let UC_X86_INS_UCOMISD = 241 + let UC_X86_INS_UCOMISS = 242 + let UC_X86_INS_VCOMISD = 243 + let UC_X86_INS_VCOMISS = 244 + let UC_X86_INS_VCVTSD2SS = 245 + let UC_X86_INS_VCVTSI2SD = 246 + let UC_X86_INS_VCVTSI2SS = 247 + let UC_X86_INS_VCVTSS2SD = 248 + let UC_X86_INS_VCVTTSD2SI = 249 + let UC_X86_INS_VCVTTSD2USI = 250 + let UC_X86_INS_VCVTTSS2SI = 251 + let UC_X86_INS_VCVTTSS2USI = 252 + let UC_X86_INS_VCVTUSI2SD = 253 + let UC_X86_INS_VCVTUSI2SS = 254 + let UC_X86_INS_VUCOMISD = 255 + let UC_X86_INS_VUCOMISS = 256 + let UC_X86_INS_JAE = 257 + let UC_X86_INS_JA = 258 + let UC_X86_INS_JBE = 259 + let UC_X86_INS_JB = 260 + let UC_X86_INS_JCXZ = 261 + let UC_X86_INS_JECXZ = 262 + let UC_X86_INS_JE = 263 + let UC_X86_INS_JGE = 264 + let UC_X86_INS_JG = 265 + let UC_X86_INS_JLE = 266 + let UC_X86_INS_JL = 267 + let UC_X86_INS_JMP = 268 + let UC_X86_INS_JNE = 269 + let UC_X86_INS_JNO = 270 + let UC_X86_INS_JNP = 271 + let UC_X86_INS_JNS = 272 + let UC_X86_INS_JO = 273 + let UC_X86_INS_JP = 274 + let UC_X86_INS_JRCXZ = 275 + let UC_X86_INS_JS = 276 + let UC_X86_INS_KANDB = 277 + let UC_X86_INS_KANDD = 278 + let UC_X86_INS_KANDNB = 279 + let UC_X86_INS_KANDND = 280 + let UC_X86_INS_KANDNQ = 281 + let UC_X86_INS_KANDNW = 282 + let UC_X86_INS_KANDQ = 283 + let UC_X86_INS_KANDW = 284 + let UC_X86_INS_KMOVB = 285 + let UC_X86_INS_KMOVD = 286 + let UC_X86_INS_KMOVQ = 287 + let UC_X86_INS_KMOVW = 288 + let UC_X86_INS_KNOTB = 289 + let UC_X86_INS_KNOTD = 290 + let UC_X86_INS_KNOTQ = 291 + let UC_X86_INS_KNOTW = 292 + let UC_X86_INS_KORB = 293 + let UC_X86_INS_KORD = 294 + let UC_X86_INS_KORQ = 295 + let UC_X86_INS_KORTESTB = 296 + let UC_X86_INS_KORTESTD = 297 + let UC_X86_INS_KORTESTQ = 298 + let UC_X86_INS_KORTESTW = 299 + let UC_X86_INS_KORW = 300 + let UC_X86_INS_KSHIFTLB = 301 + let UC_X86_INS_KSHIFTLD = 302 + let UC_X86_INS_KSHIFTLQ = 303 + let UC_X86_INS_KSHIFTLW = 304 + let UC_X86_INS_KSHIFTRB = 305 + let UC_X86_INS_KSHIFTRD = 306 + let UC_X86_INS_KSHIFTRQ = 307 + let UC_X86_INS_KSHIFTRW = 308 + let UC_X86_INS_KUNPCKBW = 309 + let UC_X86_INS_KXNORB = 310 + let UC_X86_INS_KXNORD = 311 + let UC_X86_INS_KXNORQ = 312 + let UC_X86_INS_KXNORW = 313 + let UC_X86_INS_KXORB = 314 + let UC_X86_INS_KXORD = 315 + let UC_X86_INS_KXORQ = 316 + let UC_X86_INS_KXORW = 317 + let UC_X86_INS_LAHF = 318 + let UC_X86_INS_LAR = 319 + let UC_X86_INS_LDDQU = 320 + let UC_X86_INS_LDMXCSR = 321 + let UC_X86_INS_LDS = 322 + let UC_X86_INS_FLDZ = 323 + let UC_X86_INS_FLD1 = 324 + let UC_X86_INS_FLD = 325 + let UC_X86_INS_LEA = 326 + let UC_X86_INS_LEAVE = 327 + let UC_X86_INS_LES = 328 + let UC_X86_INS_LFENCE = 329 + let UC_X86_INS_LFS = 330 + let UC_X86_INS_LGDT = 331 + let UC_X86_INS_LGS = 332 + let UC_X86_INS_LIDT = 333 + let UC_X86_INS_LLDT = 334 + let UC_X86_INS_LMSW = 335 + let UC_X86_INS_OR = 336 + let UC_X86_INS_SUB = 337 + let UC_X86_INS_XOR = 338 + let UC_X86_INS_LODSB = 339 + let UC_X86_INS_LODSD = 340 + let UC_X86_INS_LODSQ = 341 + let UC_X86_INS_LODSW = 342 + let UC_X86_INS_LOOP = 343 + let UC_X86_INS_LOOPE = 344 + let UC_X86_INS_LOOPNE = 345 + let UC_X86_INS_RETF = 346 + let UC_X86_INS_RETFQ = 347 + let UC_X86_INS_LSL = 348 + let UC_X86_INS_LSS = 349 + let UC_X86_INS_LTR = 350 + let UC_X86_INS_XADD = 351 + let UC_X86_INS_LZCNT = 352 + let UC_X86_INS_MASKMOVDQU = 353 + let UC_X86_INS_MAXPD = 354 + let UC_X86_INS_MAXPS = 355 + let UC_X86_INS_MAXSD = 356 + let UC_X86_INS_MAXSS = 357 + let UC_X86_INS_MFENCE = 358 + let UC_X86_INS_MINPD = 359 + let UC_X86_INS_MINPS = 360 + let UC_X86_INS_MINSD = 361 + let UC_X86_INS_MINSS = 362 + let UC_X86_INS_CVTPD2PI = 363 + let UC_X86_INS_CVTPI2PD = 364 + let UC_X86_INS_CVTPI2PS = 365 + let UC_X86_INS_CVTPS2PI = 366 + let UC_X86_INS_CVTTPD2PI = 367 + let UC_X86_INS_CVTTPS2PI = 368 + let UC_X86_INS_EMMS = 369 + let UC_X86_INS_MASKMOVQ = 370 + let UC_X86_INS_MOVD = 371 + let UC_X86_INS_MOVDQ2Q = 372 + let UC_X86_INS_MOVNTQ = 373 + let UC_X86_INS_MOVQ2DQ = 374 + let UC_X86_INS_MOVQ = 375 + let UC_X86_INS_PABSB = 376 + let UC_X86_INS_PABSD = 377 + let UC_X86_INS_PABSW = 378 + let UC_X86_INS_PACKSSDW = 379 + let UC_X86_INS_PACKSSWB = 380 + let UC_X86_INS_PACKUSWB = 381 + let UC_X86_INS_PADDB = 382 + let UC_X86_INS_PADDD = 383 + let UC_X86_INS_PADDQ = 384 + let UC_X86_INS_PADDSB = 385 + let UC_X86_INS_PADDSW = 386 + let UC_X86_INS_PADDUSB = 387 + let UC_X86_INS_PADDUSW = 388 + let UC_X86_INS_PADDW = 389 + let UC_X86_INS_PALIGNR = 390 + let UC_X86_INS_PANDN = 391 + let UC_X86_INS_PAND = 392 + let UC_X86_INS_PAVGB = 393 + let UC_X86_INS_PAVGW = 394 + let UC_X86_INS_PCMPEQB = 395 + let UC_X86_INS_PCMPEQD = 396 + let UC_X86_INS_PCMPEQW = 397 + let UC_X86_INS_PCMPGTB = 398 + let UC_X86_INS_PCMPGTD = 399 + let UC_X86_INS_PCMPGTW = 400 + let UC_X86_INS_PEXTRW = 401 + let UC_X86_INS_PHADDSW = 402 + let UC_X86_INS_PHADDW = 403 + let UC_X86_INS_PHADDD = 404 + let UC_X86_INS_PHSUBD = 405 + let UC_X86_INS_PHSUBSW = 406 + let UC_X86_INS_PHSUBW = 407 + let UC_X86_INS_PINSRW = 408 + let UC_X86_INS_PMADDUBSW = 409 + let UC_X86_INS_PMADDWD = 410 + let UC_X86_INS_PMAXSW = 411 + let UC_X86_INS_PMAXUB = 412 + let UC_X86_INS_PMINSW = 413 + let UC_X86_INS_PMINUB = 414 + let UC_X86_INS_PMOVMSKB = 415 + let UC_X86_INS_PMULHRSW = 416 + let UC_X86_INS_PMULHUW = 417 + let UC_X86_INS_PMULHW = 418 + let UC_X86_INS_PMULLW = 419 + let UC_X86_INS_PMULUDQ = 420 + let UC_X86_INS_POR = 421 + let UC_X86_INS_PSADBW = 422 + let UC_X86_INS_PSHUFB = 423 + let UC_X86_INS_PSHUFW = 424 + let UC_X86_INS_PSIGNB = 425 + let UC_X86_INS_PSIGND = 426 + let UC_X86_INS_PSIGNW = 427 + let UC_X86_INS_PSLLD = 428 + let UC_X86_INS_PSLLQ = 429 + let UC_X86_INS_PSLLW = 430 + let UC_X86_INS_PSRAD = 431 + let UC_X86_INS_PSRAW = 432 + let UC_X86_INS_PSRLD = 433 + let UC_X86_INS_PSRLQ = 434 + let UC_X86_INS_PSRLW = 435 + let UC_X86_INS_PSUBB = 436 + let UC_X86_INS_PSUBD = 437 + let UC_X86_INS_PSUBQ = 438 + let UC_X86_INS_PSUBSB = 439 + let UC_X86_INS_PSUBSW = 440 + let UC_X86_INS_PSUBUSB = 441 + let UC_X86_INS_PSUBUSW = 442 + let UC_X86_INS_PSUBW = 443 + let UC_X86_INS_PUNPCKHBW = 444 + let UC_X86_INS_PUNPCKHDQ = 445 + let UC_X86_INS_PUNPCKHWD = 446 + let UC_X86_INS_PUNPCKLBW = 447 + let UC_X86_INS_PUNPCKLDQ = 448 + let UC_X86_INS_PUNPCKLWD = 449 + let UC_X86_INS_PXOR = 450 + let UC_X86_INS_MONITOR = 451 + let UC_X86_INS_MONTMUL = 452 + let UC_X86_INS_MOV = 453 + let UC_X86_INS_MOVABS = 454 + let UC_X86_INS_MOVBE = 455 + let UC_X86_INS_MOVDDUP = 456 + let UC_X86_INS_MOVDQA = 457 + let UC_X86_INS_MOVDQU = 458 + let UC_X86_INS_MOVHLPS = 459 + let UC_X86_INS_MOVHPD = 460 + let UC_X86_INS_MOVHPS = 461 + let UC_X86_INS_MOVLHPS = 462 + let UC_X86_INS_MOVLPD = 463 + let UC_X86_INS_MOVLPS = 464 + let UC_X86_INS_MOVMSKPD = 465 + let UC_X86_INS_MOVMSKPS = 466 + let UC_X86_INS_MOVNTDQA = 467 + let UC_X86_INS_MOVNTDQ = 468 + let UC_X86_INS_MOVNTI = 469 + let UC_X86_INS_MOVNTPD = 470 + let UC_X86_INS_MOVNTPS = 471 + let UC_X86_INS_MOVNTSD = 472 + let UC_X86_INS_MOVNTSS = 473 + let UC_X86_INS_MOVSB = 474 + let UC_X86_INS_MOVSD = 475 + let UC_X86_INS_MOVSHDUP = 476 + let UC_X86_INS_MOVSLDUP = 477 + let UC_X86_INS_MOVSQ = 478 + let UC_X86_INS_MOVSS = 479 + let UC_X86_INS_MOVSW = 480 + let UC_X86_INS_MOVSX = 481 + let UC_X86_INS_MOVSXD = 482 + let UC_X86_INS_MOVUPD = 483 + let UC_X86_INS_MOVUPS = 484 + let UC_X86_INS_MOVZX = 485 + let UC_X86_INS_MPSADBW = 486 + let UC_X86_INS_MUL = 487 + let UC_X86_INS_MULPD = 488 + let UC_X86_INS_MULPS = 489 + let UC_X86_INS_MULSD = 490 + let UC_X86_INS_MULSS = 491 + let UC_X86_INS_MULX = 492 + let UC_X86_INS_FMUL = 493 + let UC_X86_INS_FIMUL = 494 + let UC_X86_INS_FMULP = 495 + let UC_X86_INS_MWAIT = 496 + let UC_X86_INS_NEG = 497 + let UC_X86_INS_NOP = 498 + let UC_X86_INS_NOT = 499*) + let UC_X86_INS_OUT = 500 + (*let UC_X86_INS_OUTSB = 501 + let UC_X86_INS_OUTSD = 502 + let UC_X86_INS_OUTSW = 503 + let UC_X86_INS_PACKUSDW = 504 + let UC_X86_INS_PAUSE = 505 + let UC_X86_INS_PAVGUSB = 506 + let UC_X86_INS_PBLENDVB = 507 + let UC_X86_INS_PBLENDW = 508 + let UC_X86_INS_PCLMULQDQ = 509 + let UC_X86_INS_PCMPEQQ = 510 + let UC_X86_INS_PCMPESTRI = 511 + let UC_X86_INS_PCMPESTRM = 512 + let UC_X86_INS_PCMPGTQ = 513 + let UC_X86_INS_PCMPISTRI = 514 + let UC_X86_INS_PCMPISTRM = 515 + let UC_X86_INS_PCOMMIT = 516 + let UC_X86_INS_PDEP = 517 + let UC_X86_INS_PEXT = 518 + let UC_X86_INS_PEXTRB = 519 + let UC_X86_INS_PEXTRD = 520 + let UC_X86_INS_PEXTRQ = 521 + let UC_X86_INS_PF2ID = 522 + let UC_X86_INS_PF2IW = 523 + let UC_X86_INS_PFACC = 524 + let UC_X86_INS_PFADD = 525 + let UC_X86_INS_PFCMPEQ = 526 + let UC_X86_INS_PFCMPGE = 527 + let UC_X86_INS_PFCMPGT = 528 + let UC_X86_INS_PFMAX = 529 + let UC_X86_INS_PFMIN = 530 + let UC_X86_INS_PFMUL = 531 + let UC_X86_INS_PFNACC = 532 + let UC_X86_INS_PFPNACC = 533 + let UC_X86_INS_PFRCPIT1 = 534 + let UC_X86_INS_PFRCPIT2 = 535 + let UC_X86_INS_PFRCP = 536 + let UC_X86_INS_PFRSQIT1 = 537 + let UC_X86_INS_PFRSQRT = 538 + let UC_X86_INS_PFSUBR = 539 + let UC_X86_INS_PFSUB = 540 + let UC_X86_INS_PHMINPOSUW = 541 + let UC_X86_INS_PI2FD = 542 + let UC_X86_INS_PI2FW = 543 + let UC_X86_INS_PINSRB = 544 + let UC_X86_INS_PINSRD = 545 + let UC_X86_INS_PINSRQ = 546 + let UC_X86_INS_PMAXSB = 547 + let UC_X86_INS_PMAXSD = 548 + let UC_X86_INS_PMAXUD = 549 + let UC_X86_INS_PMAXUW = 550 + let UC_X86_INS_PMINSB = 551 + let UC_X86_INS_PMINSD = 552 + let UC_X86_INS_PMINUD = 553 + let UC_X86_INS_PMINUW = 554 + let UC_X86_INS_PMOVSXBD = 555 + let UC_X86_INS_PMOVSXBQ = 556 + let UC_X86_INS_PMOVSXBW = 557 + let UC_X86_INS_PMOVSXDQ = 558 + let UC_X86_INS_PMOVSXWD = 559 + let UC_X86_INS_PMOVSXWQ = 560 + let UC_X86_INS_PMOVZXBD = 561 + let UC_X86_INS_PMOVZXBQ = 562 + let UC_X86_INS_PMOVZXBW = 563 + let UC_X86_INS_PMOVZXDQ = 564 + let UC_X86_INS_PMOVZXWD = 565 + let UC_X86_INS_PMOVZXWQ = 566 + let UC_X86_INS_PMULDQ = 567 + let UC_X86_INS_PMULHRW = 568 + let UC_X86_INS_PMULLD = 569 + let UC_X86_INS_POP = 570 + let UC_X86_INS_POPAW = 571 + let UC_X86_INS_POPAL = 572 + let UC_X86_INS_POPCNT = 573 + let UC_X86_INS_POPF = 574 + let UC_X86_INS_POPFD = 575 + let UC_X86_INS_POPFQ = 576 + let UC_X86_INS_PREFETCH = 577 + let UC_X86_INS_PREFETCHNTA = 578 + let UC_X86_INS_PREFETCHT0 = 579 + let UC_X86_INS_PREFETCHT1 = 580 + let UC_X86_INS_PREFETCHT2 = 581 + let UC_X86_INS_PREFETCHW = 582 + let UC_X86_INS_PSHUFD = 583 + let UC_X86_INS_PSHUFHW = 584 + let UC_X86_INS_PSHUFLW = 585 + let UC_X86_INS_PSLLDQ = 586 + let UC_X86_INS_PSRLDQ = 587 + let UC_X86_INS_PSWAPD = 588 + let UC_X86_INS_PTEST = 589 + let UC_X86_INS_PUNPCKHQDQ = 590 + let UC_X86_INS_PUNPCKLQDQ = 591 + let UC_X86_INS_PUSH = 592 + let UC_X86_INS_PUSHAW = 593 + let UC_X86_INS_PUSHAL = 594 + let UC_X86_INS_PUSHF = 595 + let UC_X86_INS_PUSHFD = 596 + let UC_X86_INS_PUSHFQ = 597 + let UC_X86_INS_RCL = 598 + let UC_X86_INS_RCPPS = 599 + let UC_X86_INS_RCPSS = 600 + let UC_X86_INS_RCR = 601 + let UC_X86_INS_RDFSBASE = 602 + let UC_X86_INS_RDGSBASE = 603 + let UC_X86_INS_RDMSR = 604 + let UC_X86_INS_RDPMC = 605 + let UC_X86_INS_RDRAND = 606 + let UC_X86_INS_RDSEED = 607 + let UC_X86_INS_RDTSC = 608 + let UC_X86_INS_RDTSCP = 609 + let UC_X86_INS_ROL = 610 + let UC_X86_INS_ROR = 611 + let UC_X86_INS_RORX = 612 + let UC_X86_INS_ROUNDPD = 613 + let UC_X86_INS_ROUNDPS = 614 + let UC_X86_INS_ROUNDSD = 615 + let UC_X86_INS_ROUNDSS = 616 + let UC_X86_INS_RSM = 617 + let UC_X86_INS_RSQRTPS = 618 + let UC_X86_INS_RSQRTSS = 619 + let UC_X86_INS_SAHF = 620 + let UC_X86_INS_SAL = 621 + let UC_X86_INS_SALC = 622 + let UC_X86_INS_SAR = 623 + let UC_X86_INS_SARX = 624 + let UC_X86_INS_SBB = 625 + let UC_X86_INS_SCASB = 626 + let UC_X86_INS_SCASD = 627 + let UC_X86_INS_SCASQ = 628 + let UC_X86_INS_SCASW = 629 + let UC_X86_INS_SETAE = 630 + let UC_X86_INS_SETA = 631 + let UC_X86_INS_SETBE = 632 + let UC_X86_INS_SETB = 633 + let UC_X86_INS_SETE = 634 + let UC_X86_INS_SETGE = 635 + let UC_X86_INS_SETG = 636 + let UC_X86_INS_SETLE = 637 + let UC_X86_INS_SETL = 638 + let UC_X86_INS_SETNE = 639 + let UC_X86_INS_SETNO = 640 + let UC_X86_INS_SETNP = 641 + let UC_X86_INS_SETNS = 642 + let UC_X86_INS_SETO = 643 + let UC_X86_INS_SETP = 644 + let UC_X86_INS_SETS = 645 + let UC_X86_INS_SFENCE = 646 + let UC_X86_INS_SGDT = 647 + let UC_X86_INS_SHA1MSG1 = 648 + let UC_X86_INS_SHA1MSG2 = 649 + let UC_X86_INS_SHA1NEXTE = 650 + let UC_X86_INS_SHA1RNDS4 = 651 + let UC_X86_INS_SHA256MSG1 = 652 + let UC_X86_INS_SHA256MSG2 = 653 + let UC_X86_INS_SHA256RNDS2 = 654 + let UC_X86_INS_SHL = 655 + let UC_X86_INS_SHLD = 656 + let UC_X86_INS_SHLX = 657 + let UC_X86_INS_SHR = 658 + let UC_X86_INS_SHRD = 659 + let UC_X86_INS_SHRX = 660 + let UC_X86_INS_SHUFPD = 661 + let UC_X86_INS_SHUFPS = 662 + let UC_X86_INS_SIDT = 663 + let UC_X86_INS_FSIN = 664 + let UC_X86_INS_SKINIT = 665 + let UC_X86_INS_SLDT = 666 + let UC_X86_INS_SMSW = 667 + let UC_X86_INS_SQRTPD = 668 + let UC_X86_INS_SQRTPS = 669 + let UC_X86_INS_SQRTSD = 670 + let UC_X86_INS_SQRTSS = 671 + let UC_X86_INS_FSQRT = 672 + let UC_X86_INS_STAC = 673 + let UC_X86_INS_STC = 674 + let UC_X86_INS_STD = 675 + let UC_X86_INS_STGI = 676 + let UC_X86_INS_STI = 677 + let UC_X86_INS_STMXCSR = 678 + let UC_X86_INS_STOSB = 679 + let UC_X86_INS_STOSD = 680 + let UC_X86_INS_STOSQ = 681 + let UC_X86_INS_STOSW = 682 + let UC_X86_INS_STR = 683 + let UC_X86_INS_FST = 684 + let UC_X86_INS_FSTP = 685 + let UC_X86_INS_FSTPNCE = 686 + let UC_X86_INS_FXCH = 687 + let UC_X86_INS_SUBPD = 688 + let UC_X86_INS_SUBPS = 689 + let UC_X86_INS_FSUBR = 690 + let UC_X86_INS_FISUBR = 691 + let UC_X86_INS_FSUBRP = 692 + let UC_X86_INS_SUBSD = 693 + let UC_X86_INS_SUBSS = 694 + let UC_X86_INS_FSUB = 695 + let UC_X86_INS_FISUB = 696 + let UC_X86_INS_FSUBP = 697 + let UC_X86_INS_SWAPGS = 698*) + let UC_X86_INS_SYSCALL = 699 + (*let UC_X86_INS_SYSENTER = 700 + let UC_X86_INS_SYSEXIT = 701 + let UC_X86_INS_SYSRET = 702 + let UC_X86_INS_T1MSKC = 703 + let UC_X86_INS_TEST = 704 + let UC_X86_INS_UD2 = 705 + let UC_X86_INS_FTST = 706 + let UC_X86_INS_TZCNT = 707 + let UC_X86_INS_TZMSK = 708 + let UC_X86_INS_FUCOMPI = 709 + let UC_X86_INS_FUCOMI = 710 + let UC_X86_INS_FUCOMPP = 711 + let UC_X86_INS_FUCOMP = 712 + let UC_X86_INS_FUCOM = 713 + let UC_X86_INS_UD2B = 714 + let UC_X86_INS_UNPCKHPD = 715 + let UC_X86_INS_UNPCKHPS = 716 + let UC_X86_INS_UNPCKLPD = 717 + let UC_X86_INS_UNPCKLPS = 718 + let UC_X86_INS_VADDPD = 719 + let UC_X86_INS_VADDPS = 720 + let UC_X86_INS_VADDSD = 721 + let UC_X86_INS_VADDSS = 722 + let UC_X86_INS_VADDSUBPD = 723 + let UC_X86_INS_VADDSUBPS = 724 + let UC_X86_INS_VAESDECLAST = 725 + let UC_X86_INS_VAESDEC = 726 + let UC_X86_INS_VAESENCLAST = 727 + let UC_X86_INS_VAESENC = 728 + let UC_X86_INS_VAESIMC = 729 + let UC_X86_INS_VAESKEYGENASSIST = 730 + let UC_X86_INS_VALIGND = 731 + let UC_X86_INS_VALIGNQ = 732 + let UC_X86_INS_VANDNPD = 733 + let UC_X86_INS_VANDNPS = 734 + let UC_X86_INS_VANDPD = 735 + let UC_X86_INS_VANDPS = 736 + let UC_X86_INS_VBLENDMPD = 737 + let UC_X86_INS_VBLENDMPS = 738 + let UC_X86_INS_VBLENDPD = 739 + let UC_X86_INS_VBLENDPS = 740 + let UC_X86_INS_VBLENDVPD = 741 + let UC_X86_INS_VBLENDVPS = 742 + let UC_X86_INS_VBROADCASTF128 = 743 + let UC_X86_INS_VBROADCASTI32X4 = 744 + let UC_X86_INS_VBROADCASTI64X4 = 745 + let UC_X86_INS_VBROADCASTSD = 746 + let UC_X86_INS_VBROADCASTSS = 747 + let UC_X86_INS_VCMPPD = 748 + let UC_X86_INS_VCMPPS = 749 + let UC_X86_INS_VCMPSD = 750 + let UC_X86_INS_VCMPSS = 751 + let UC_X86_INS_VCOMPRESSPD = 752 + let UC_X86_INS_VCOMPRESSPS = 753 + let UC_X86_INS_VCVTDQ2PD = 754 + let UC_X86_INS_VCVTDQ2PS = 755 + let UC_X86_INS_VCVTPD2DQX = 756 + let UC_X86_INS_VCVTPD2DQ = 757 + let UC_X86_INS_VCVTPD2PSX = 758 + let UC_X86_INS_VCVTPD2PS = 759 + let UC_X86_INS_VCVTPD2UDQ = 760 + let UC_X86_INS_VCVTPH2PS = 761 + let UC_X86_INS_VCVTPS2DQ = 762 + let UC_X86_INS_VCVTPS2PD = 763 + let UC_X86_INS_VCVTPS2PH = 764 + let UC_X86_INS_VCVTPS2UDQ = 765 + let UC_X86_INS_VCVTSD2SI = 766 + let UC_X86_INS_VCVTSD2USI = 767 + let UC_X86_INS_VCVTSS2SI = 768 + let UC_X86_INS_VCVTSS2USI = 769 + let UC_X86_INS_VCVTTPD2DQX = 770 + let UC_X86_INS_VCVTTPD2DQ = 771 + let UC_X86_INS_VCVTTPD2UDQ = 772 + let UC_X86_INS_VCVTTPS2DQ = 773 + let UC_X86_INS_VCVTTPS2UDQ = 774 + let UC_X86_INS_VCVTUDQ2PD = 775 + let UC_X86_INS_VCVTUDQ2PS = 776 + let UC_X86_INS_VDIVPD = 777 + let UC_X86_INS_VDIVPS = 778 + let UC_X86_INS_VDIVSD = 779 + let UC_X86_INS_VDIVSS = 780 + let UC_X86_INS_VDPPD = 781 + let UC_X86_INS_VDPPS = 782 + let UC_X86_INS_VERR = 783 + let UC_X86_INS_VERW = 784 + let UC_X86_INS_VEXP2PD = 785 + let UC_X86_INS_VEXP2PS = 786 + let UC_X86_INS_VEXPANDPD = 787 + let UC_X86_INS_VEXPANDPS = 788 + let UC_X86_INS_VEXTRACTF128 = 789 + let UC_X86_INS_VEXTRACTF32X4 = 790 + let UC_X86_INS_VEXTRACTF64X4 = 791 + let UC_X86_INS_VEXTRACTI128 = 792 + let UC_X86_INS_VEXTRACTI32X4 = 793 + let UC_X86_INS_VEXTRACTI64X4 = 794 + let UC_X86_INS_VEXTRACTPS = 795 + let UC_X86_INS_VFMADD132PD = 796 + let UC_X86_INS_VFMADD132PS = 797 + let UC_X86_INS_VFMADDPD = 798 + let UC_X86_INS_VFMADD213PD = 799 + let UC_X86_INS_VFMADD231PD = 800 + let UC_X86_INS_VFMADDPS = 801 + let UC_X86_INS_VFMADD213PS = 802 + let UC_X86_INS_VFMADD231PS = 803 + let UC_X86_INS_VFMADDSD = 804 + let UC_X86_INS_VFMADD213SD = 805 + let UC_X86_INS_VFMADD132SD = 806 + let UC_X86_INS_VFMADD231SD = 807 + let UC_X86_INS_VFMADDSS = 808 + let UC_X86_INS_VFMADD213SS = 809 + let UC_X86_INS_VFMADD132SS = 810 + let UC_X86_INS_VFMADD231SS = 811 + let UC_X86_INS_VFMADDSUB132PD = 812 + let UC_X86_INS_VFMADDSUB132PS = 813 + let UC_X86_INS_VFMADDSUBPD = 814 + let UC_X86_INS_VFMADDSUB213PD = 815 + let UC_X86_INS_VFMADDSUB231PD = 816 + let UC_X86_INS_VFMADDSUBPS = 817 + let UC_X86_INS_VFMADDSUB213PS = 818 + let UC_X86_INS_VFMADDSUB231PS = 819 + let UC_X86_INS_VFMSUB132PD = 820 + let UC_X86_INS_VFMSUB132PS = 821 + let UC_X86_INS_VFMSUBADD132PD = 822 + let UC_X86_INS_VFMSUBADD132PS = 823 + let UC_X86_INS_VFMSUBADDPD = 824 + let UC_X86_INS_VFMSUBADD213PD = 825 + let UC_X86_INS_VFMSUBADD231PD = 826 + let UC_X86_INS_VFMSUBADDPS = 827 + let UC_X86_INS_VFMSUBADD213PS = 828 + let UC_X86_INS_VFMSUBADD231PS = 829 + let UC_X86_INS_VFMSUBPD = 830 + let UC_X86_INS_VFMSUB213PD = 831 + let UC_X86_INS_VFMSUB231PD = 832 + let UC_X86_INS_VFMSUBPS = 833 + let UC_X86_INS_VFMSUB213PS = 834 + let UC_X86_INS_VFMSUB231PS = 835 + let UC_X86_INS_VFMSUBSD = 836 + let UC_X86_INS_VFMSUB213SD = 837 + let UC_X86_INS_VFMSUB132SD = 838 + let UC_X86_INS_VFMSUB231SD = 839 + let UC_X86_INS_VFMSUBSS = 840 + let UC_X86_INS_VFMSUB213SS = 841 + let UC_X86_INS_VFMSUB132SS = 842 + let UC_X86_INS_VFMSUB231SS = 843 + let UC_X86_INS_VFNMADD132PD = 844 + let UC_X86_INS_VFNMADD132PS = 845 + let UC_X86_INS_VFNMADDPD = 846 + let UC_X86_INS_VFNMADD213PD = 847 + let UC_X86_INS_VFNMADD231PD = 848 + let UC_X86_INS_VFNMADDPS = 849 + let UC_X86_INS_VFNMADD213PS = 850 + let UC_X86_INS_VFNMADD231PS = 851 + let UC_X86_INS_VFNMADDSD = 852 + let UC_X86_INS_VFNMADD213SD = 853 + let UC_X86_INS_VFNMADD132SD = 854 + let UC_X86_INS_VFNMADD231SD = 855 + let UC_X86_INS_VFNMADDSS = 856 + let UC_X86_INS_VFNMADD213SS = 857 + let UC_X86_INS_VFNMADD132SS = 858 + let UC_X86_INS_VFNMADD231SS = 859 + let UC_X86_INS_VFNMSUB132PD = 860 + let UC_X86_INS_VFNMSUB132PS = 861 + let UC_X86_INS_VFNMSUBPD = 862 + let UC_X86_INS_VFNMSUB213PD = 863 + let UC_X86_INS_VFNMSUB231PD = 864 + let UC_X86_INS_VFNMSUBPS = 865 + let UC_X86_INS_VFNMSUB213PS = 866 + let UC_X86_INS_VFNMSUB231PS = 867 + let UC_X86_INS_VFNMSUBSD = 868 + let UC_X86_INS_VFNMSUB213SD = 869 + let UC_X86_INS_VFNMSUB132SD = 870 + let UC_X86_INS_VFNMSUB231SD = 871 + let UC_X86_INS_VFNMSUBSS = 872 + let UC_X86_INS_VFNMSUB213SS = 873 + let UC_X86_INS_VFNMSUB132SS = 874 + let UC_X86_INS_VFNMSUB231SS = 875 + let UC_X86_INS_VFRCZPD = 876 + let UC_X86_INS_VFRCZPS = 877 + let UC_X86_INS_VFRCZSD = 878 + let UC_X86_INS_VFRCZSS = 879 + let UC_X86_INS_VORPD = 880 + let UC_X86_INS_VORPS = 881 + let UC_X86_INS_VXORPD = 882 + let UC_X86_INS_VXORPS = 883 + let UC_X86_INS_VGATHERDPD = 884 + let UC_X86_INS_VGATHERDPS = 885 + let UC_X86_INS_VGATHERPF0DPD = 886 + let UC_X86_INS_VGATHERPF0DPS = 887 + let UC_X86_INS_VGATHERPF0QPD = 888 + let UC_X86_INS_VGATHERPF0QPS = 889 + let UC_X86_INS_VGATHERPF1DPD = 890 + let UC_X86_INS_VGATHERPF1DPS = 891 + let UC_X86_INS_VGATHERPF1QPD = 892 + let UC_X86_INS_VGATHERPF1QPS = 893 + let UC_X86_INS_VGATHERQPD = 894 + let UC_X86_INS_VGATHERQPS = 895 + let UC_X86_INS_VHADDPD = 896 + let UC_X86_INS_VHADDPS = 897 + let UC_X86_INS_VHSUBPD = 898 + let UC_X86_INS_VHSUBPS = 899 + let UC_X86_INS_VINSERTF128 = 900 + let UC_X86_INS_VINSERTF32X4 = 901 + let UC_X86_INS_VINSERTF32X8 = 902 + let UC_X86_INS_VINSERTF64X2 = 903 + let UC_X86_INS_VINSERTF64X4 = 904 + let UC_X86_INS_VINSERTI128 = 905 + let UC_X86_INS_VINSERTI32X4 = 906 + let UC_X86_INS_VINSERTI32X8 = 907 + let UC_X86_INS_VINSERTI64X2 = 908 + let UC_X86_INS_VINSERTI64X4 = 909 + let UC_X86_INS_VINSERTPS = 910 + let UC_X86_INS_VLDDQU = 911 + let UC_X86_INS_VLDMXCSR = 912 + let UC_X86_INS_VMASKMOVDQU = 913 + let UC_X86_INS_VMASKMOVPD = 914 + let UC_X86_INS_VMASKMOVPS = 915 + let UC_X86_INS_VMAXPD = 916 + let UC_X86_INS_VMAXPS = 917 + let UC_X86_INS_VMAXSD = 918 + let UC_X86_INS_VMAXSS = 919 + let UC_X86_INS_VMCALL = 920 + let UC_X86_INS_VMCLEAR = 921 + let UC_X86_INS_VMFUNC = 922 + let UC_X86_INS_VMINPD = 923 + let UC_X86_INS_VMINPS = 924 + let UC_X86_INS_VMINSD = 925 + let UC_X86_INS_VMINSS = 926 + let UC_X86_INS_VMLAUNCH = 927 + let UC_X86_INS_VMLOAD = 928 + let UC_X86_INS_VMMCALL = 929 + let UC_X86_INS_VMOVQ = 930 + let UC_X86_INS_VMOVDDUP = 931 + let UC_X86_INS_VMOVD = 932 + let UC_X86_INS_VMOVDQA32 = 933 + let UC_X86_INS_VMOVDQA64 = 934 + let UC_X86_INS_VMOVDQA = 935 + let UC_X86_INS_VMOVDQU16 = 936 + let UC_X86_INS_VMOVDQU32 = 937 + let UC_X86_INS_VMOVDQU64 = 938 + let UC_X86_INS_VMOVDQU8 = 939 + let UC_X86_INS_VMOVDQU = 940 + let UC_X86_INS_VMOVHLPS = 941 + let UC_X86_INS_VMOVHPD = 942 + let UC_X86_INS_VMOVHPS = 943 + let UC_X86_INS_VMOVLHPS = 944 + let UC_X86_INS_VMOVLPD = 945 + let UC_X86_INS_VMOVLPS = 946 + let UC_X86_INS_VMOVMSKPD = 947 + let UC_X86_INS_VMOVMSKPS = 948 + let UC_X86_INS_VMOVNTDQA = 949 + let UC_X86_INS_VMOVNTDQ = 950 + let UC_X86_INS_VMOVNTPD = 951 + let UC_X86_INS_VMOVNTPS = 952 + let UC_X86_INS_VMOVSD = 953 + let UC_X86_INS_VMOVSHDUP = 954 + let UC_X86_INS_VMOVSLDUP = 955 + let UC_X86_INS_VMOVSS = 956 + let UC_X86_INS_VMOVUPD = 957 + let UC_X86_INS_VMOVUPS = 958 + let UC_X86_INS_VMPSADBW = 959 + let UC_X86_INS_VMPTRLD = 960 + let UC_X86_INS_VMPTRST = 961 + let UC_X86_INS_VMREAD = 962 + let UC_X86_INS_VMRESUME = 963 + let UC_X86_INS_VMRUN = 964 + let UC_X86_INS_VMSAVE = 965 + let UC_X86_INS_VMULPD = 966 + let UC_X86_INS_VMULPS = 967 + let UC_X86_INS_VMULSD = 968 + let UC_X86_INS_VMULSS = 969 + let UC_X86_INS_VMWRITE = 970 + let UC_X86_INS_VMXOFF = 971 + let UC_X86_INS_VMXON = 972 + let UC_X86_INS_VPABSB = 973 + let UC_X86_INS_VPABSD = 974 + let UC_X86_INS_VPABSQ = 975 + let UC_X86_INS_VPABSW = 976 + let UC_X86_INS_VPACKSSDW = 977 + let UC_X86_INS_VPACKSSWB = 978 + let UC_X86_INS_VPACKUSDW = 979 + let UC_X86_INS_VPACKUSWB = 980 + let UC_X86_INS_VPADDB = 981 + let UC_X86_INS_VPADDD = 982 + let UC_X86_INS_VPADDQ = 983 + let UC_X86_INS_VPADDSB = 984 + let UC_X86_INS_VPADDSW = 985 + let UC_X86_INS_VPADDUSB = 986 + let UC_X86_INS_VPADDUSW = 987 + let UC_X86_INS_VPADDW = 988 + let UC_X86_INS_VPALIGNR = 989 + let UC_X86_INS_VPANDD = 990 + let UC_X86_INS_VPANDND = 991 + let UC_X86_INS_VPANDNQ = 992 + let UC_X86_INS_VPANDN = 993 + let UC_X86_INS_VPANDQ = 994 + let UC_X86_INS_VPAND = 995 + let UC_X86_INS_VPAVGB = 996 + let UC_X86_INS_VPAVGW = 997 + let UC_X86_INS_VPBLENDD = 998 + let UC_X86_INS_VPBLENDMB = 999 + let UC_X86_INS_VPBLENDMD = 1000 + let UC_X86_INS_VPBLENDMQ = 1001 + let UC_X86_INS_VPBLENDMW = 1002 + let UC_X86_INS_VPBLENDVB = 1003 + let UC_X86_INS_VPBLENDW = 1004 + let UC_X86_INS_VPBROADCASTB = 1005 + let UC_X86_INS_VPBROADCASTD = 1006 + let UC_X86_INS_VPBROADCASTMB2Q = 1007 + let UC_X86_INS_VPBROADCASTMW2D = 1008 + let UC_X86_INS_VPBROADCASTQ = 1009 + let UC_X86_INS_VPBROADCASTW = 1010 + let UC_X86_INS_VPCLMULQDQ = 1011 + let UC_X86_INS_VPCMOV = 1012 + let UC_X86_INS_VPCMPB = 1013 + let UC_X86_INS_VPCMPD = 1014 + let UC_X86_INS_VPCMPEQB = 1015 + let UC_X86_INS_VPCMPEQD = 1016 + let UC_X86_INS_VPCMPEQQ = 1017 + let UC_X86_INS_VPCMPEQW = 1018 + let UC_X86_INS_VPCMPESTRI = 1019 + let UC_X86_INS_VPCMPESTRM = 1020 + let UC_X86_INS_VPCMPGTB = 1021 + let UC_X86_INS_VPCMPGTD = 1022 + let UC_X86_INS_VPCMPGTQ = 1023 + let UC_X86_INS_VPCMPGTW = 1024 + let UC_X86_INS_VPCMPISTRI = 1025 + let UC_X86_INS_VPCMPISTRM = 1026 + let UC_X86_INS_VPCMPQ = 1027 + let UC_X86_INS_VPCMPUB = 1028 + let UC_X86_INS_VPCMPUD = 1029 + let UC_X86_INS_VPCMPUQ = 1030 + let UC_X86_INS_VPCMPUW = 1031 + let UC_X86_INS_VPCMPW = 1032 + let UC_X86_INS_VPCOMB = 1033 + let UC_X86_INS_VPCOMD = 1034 + let UC_X86_INS_VPCOMPRESSD = 1035 + let UC_X86_INS_VPCOMPRESSQ = 1036 + let UC_X86_INS_VPCOMQ = 1037 + let UC_X86_INS_VPCOMUB = 1038 + let UC_X86_INS_VPCOMUD = 1039 + let UC_X86_INS_VPCOMUQ = 1040 + let UC_X86_INS_VPCOMUW = 1041 + let UC_X86_INS_VPCOMW = 1042 + let UC_X86_INS_VPCONFLICTD = 1043 + let UC_X86_INS_VPCONFLICTQ = 1044 + let UC_X86_INS_VPERM2F128 = 1045 + let UC_X86_INS_VPERM2I128 = 1046 + let UC_X86_INS_VPERMD = 1047 + let UC_X86_INS_VPERMI2D = 1048 + let UC_X86_INS_VPERMI2PD = 1049 + let UC_X86_INS_VPERMI2PS = 1050 + let UC_X86_INS_VPERMI2Q = 1051 + let UC_X86_INS_VPERMIL2PD = 1052 + let UC_X86_INS_VPERMIL2PS = 1053 + let UC_X86_INS_VPERMILPD = 1054 + let UC_X86_INS_VPERMILPS = 1055 + let UC_X86_INS_VPERMPD = 1056 + let UC_X86_INS_VPERMPS = 1057 + let UC_X86_INS_VPERMQ = 1058 + let UC_X86_INS_VPERMT2D = 1059 + let UC_X86_INS_VPERMT2PD = 1060 + let UC_X86_INS_VPERMT2PS = 1061 + let UC_X86_INS_VPERMT2Q = 1062 + let UC_X86_INS_VPEXPANDD = 1063 + let UC_X86_INS_VPEXPANDQ = 1064 + let UC_X86_INS_VPEXTRB = 1065 + let UC_X86_INS_VPEXTRD = 1066 + let UC_X86_INS_VPEXTRQ = 1067 + let UC_X86_INS_VPEXTRW = 1068 + let UC_X86_INS_VPGATHERDD = 1069 + let UC_X86_INS_VPGATHERDQ = 1070 + let UC_X86_INS_VPGATHERQD = 1071 + let UC_X86_INS_VPGATHERQQ = 1072 + let UC_X86_INS_VPHADDBD = 1073 + let UC_X86_INS_VPHADDBQ = 1074 + let UC_X86_INS_VPHADDBW = 1075 + let UC_X86_INS_VPHADDDQ = 1076 + let UC_X86_INS_VPHADDD = 1077 + let UC_X86_INS_VPHADDSW = 1078 + let UC_X86_INS_VPHADDUBD = 1079 + let UC_X86_INS_VPHADDUBQ = 1080 + let UC_X86_INS_VPHADDUBW = 1081 + let UC_X86_INS_VPHADDUDQ = 1082 + let UC_X86_INS_VPHADDUWD = 1083 + let UC_X86_INS_VPHADDUWQ = 1084 + let UC_X86_INS_VPHADDWD = 1085 + let UC_X86_INS_VPHADDWQ = 1086 + let UC_X86_INS_VPHADDW = 1087 + let UC_X86_INS_VPHMINPOSUW = 1088 + let UC_X86_INS_VPHSUBBW = 1089 + let UC_X86_INS_VPHSUBDQ = 1090 + let UC_X86_INS_VPHSUBD = 1091 + let UC_X86_INS_VPHSUBSW = 1092 + let UC_X86_INS_VPHSUBWD = 1093 + let UC_X86_INS_VPHSUBW = 1094 + let UC_X86_INS_VPINSRB = 1095 + let UC_X86_INS_VPINSRD = 1096 + let UC_X86_INS_VPINSRQ = 1097 + let UC_X86_INS_VPINSRW = 1098 + let UC_X86_INS_VPLZCNTD = 1099 + let UC_X86_INS_VPLZCNTQ = 1100 + let UC_X86_INS_VPMACSDD = 1101 + let UC_X86_INS_VPMACSDQH = 1102 + let UC_X86_INS_VPMACSDQL = 1103 + let UC_X86_INS_VPMACSSDD = 1104 + let UC_X86_INS_VPMACSSDQH = 1105 + let UC_X86_INS_VPMACSSDQL = 1106 + let UC_X86_INS_VPMACSSWD = 1107 + let UC_X86_INS_VPMACSSWW = 1108 + let UC_X86_INS_VPMACSWD = 1109 + let UC_X86_INS_VPMACSWW = 1110 + let UC_X86_INS_VPMADCSSWD = 1111 + let UC_X86_INS_VPMADCSWD = 1112 + let UC_X86_INS_VPMADDUBSW = 1113 + let UC_X86_INS_VPMADDWD = 1114 + let UC_X86_INS_VPMASKMOVD = 1115 + let UC_X86_INS_VPMASKMOVQ = 1116 + let UC_X86_INS_VPMAXSB = 1117 + let UC_X86_INS_VPMAXSD = 1118 + let UC_X86_INS_VPMAXSQ = 1119 + let UC_X86_INS_VPMAXSW = 1120 + let UC_X86_INS_VPMAXUB = 1121 + let UC_X86_INS_VPMAXUD = 1122 + let UC_X86_INS_VPMAXUQ = 1123 + let UC_X86_INS_VPMAXUW = 1124 + let UC_X86_INS_VPMINSB = 1125 + let UC_X86_INS_VPMINSD = 1126 + let UC_X86_INS_VPMINSQ = 1127 + let UC_X86_INS_VPMINSW = 1128 + let UC_X86_INS_VPMINUB = 1129 + let UC_X86_INS_VPMINUD = 1130 + let UC_X86_INS_VPMINUQ = 1131 + let UC_X86_INS_VPMINUW = 1132 + let UC_X86_INS_VPMOVDB = 1133 + let UC_X86_INS_VPMOVDW = 1134 + let UC_X86_INS_VPMOVM2B = 1135 + let UC_X86_INS_VPMOVM2D = 1136 + let UC_X86_INS_VPMOVM2Q = 1137 + let UC_X86_INS_VPMOVM2W = 1138 + let UC_X86_INS_VPMOVMSKB = 1139 + let UC_X86_INS_VPMOVQB = 1140 + let UC_X86_INS_VPMOVQD = 1141 + let UC_X86_INS_VPMOVQW = 1142 + let UC_X86_INS_VPMOVSDB = 1143 + let UC_X86_INS_VPMOVSDW = 1144 + let UC_X86_INS_VPMOVSQB = 1145 + let UC_X86_INS_VPMOVSQD = 1146 + let UC_X86_INS_VPMOVSQW = 1147 + let UC_X86_INS_VPMOVSXBD = 1148 + let UC_X86_INS_VPMOVSXBQ = 1149 + let UC_X86_INS_VPMOVSXBW = 1150 + let UC_X86_INS_VPMOVSXDQ = 1151 + let UC_X86_INS_VPMOVSXWD = 1152 + let UC_X86_INS_VPMOVSXWQ = 1153 + let UC_X86_INS_VPMOVUSDB = 1154 + let UC_X86_INS_VPMOVUSDW = 1155 + let UC_X86_INS_VPMOVUSQB = 1156 + let UC_X86_INS_VPMOVUSQD = 1157 + let UC_X86_INS_VPMOVUSQW = 1158 + let UC_X86_INS_VPMOVZXBD = 1159 + let UC_X86_INS_VPMOVZXBQ = 1160 + let UC_X86_INS_VPMOVZXBW = 1161 + let UC_X86_INS_VPMOVZXDQ = 1162 + let UC_X86_INS_VPMOVZXWD = 1163 + let UC_X86_INS_VPMOVZXWQ = 1164 + let UC_X86_INS_VPMULDQ = 1165 + let UC_X86_INS_VPMULHRSW = 1166 + let UC_X86_INS_VPMULHUW = 1167 + let UC_X86_INS_VPMULHW = 1168 + let UC_X86_INS_VPMULLD = 1169 + let UC_X86_INS_VPMULLQ = 1170 + let UC_X86_INS_VPMULLW = 1171 + let UC_X86_INS_VPMULUDQ = 1172 + let UC_X86_INS_VPORD = 1173 + let UC_X86_INS_VPORQ = 1174 + let UC_X86_INS_VPOR = 1175 + let UC_X86_INS_VPPERM = 1176 + let UC_X86_INS_VPROTB = 1177 + let UC_X86_INS_VPROTD = 1178 + let UC_X86_INS_VPROTQ = 1179 + let UC_X86_INS_VPROTW = 1180 + let UC_X86_INS_VPSADBW = 1181 + let UC_X86_INS_VPSCATTERDD = 1182 + let UC_X86_INS_VPSCATTERDQ = 1183 + let UC_X86_INS_VPSCATTERQD = 1184 + let UC_X86_INS_VPSCATTERQQ = 1185 + let UC_X86_INS_VPSHAB = 1186 + let UC_X86_INS_VPSHAD = 1187 + let UC_X86_INS_VPSHAQ = 1188 + let UC_X86_INS_VPSHAW = 1189 + let UC_X86_INS_VPSHLB = 1190 + let UC_X86_INS_VPSHLD = 1191 + let UC_X86_INS_VPSHLQ = 1192 + let UC_X86_INS_VPSHLW = 1193 + let UC_X86_INS_VPSHUFB = 1194 + let UC_X86_INS_VPSHUFD = 1195 + let UC_X86_INS_VPSHUFHW = 1196 + let UC_X86_INS_VPSHUFLW = 1197 + let UC_X86_INS_VPSIGNB = 1198 + let UC_X86_INS_VPSIGND = 1199 + let UC_X86_INS_VPSIGNW = 1200 + let UC_X86_INS_VPSLLDQ = 1201 + let UC_X86_INS_VPSLLD = 1202 + let UC_X86_INS_VPSLLQ = 1203 + let UC_X86_INS_VPSLLVD = 1204 + let UC_X86_INS_VPSLLVQ = 1205 + let UC_X86_INS_VPSLLW = 1206 + let UC_X86_INS_VPSRAD = 1207 + let UC_X86_INS_VPSRAQ = 1208 + let UC_X86_INS_VPSRAVD = 1209 + let UC_X86_INS_VPSRAVQ = 1210 + let UC_X86_INS_VPSRAW = 1211 + let UC_X86_INS_VPSRLDQ = 1212 + let UC_X86_INS_VPSRLD = 1213 + let UC_X86_INS_VPSRLQ = 1214 + let UC_X86_INS_VPSRLVD = 1215 + let UC_X86_INS_VPSRLVQ = 1216 + let UC_X86_INS_VPSRLW = 1217 + let UC_X86_INS_VPSUBB = 1218 + let UC_X86_INS_VPSUBD = 1219 + let UC_X86_INS_VPSUBQ = 1220 + let UC_X86_INS_VPSUBSB = 1221 + let UC_X86_INS_VPSUBSW = 1222 + let UC_X86_INS_VPSUBUSB = 1223 + let UC_X86_INS_VPSUBUSW = 1224 + let UC_X86_INS_VPSUBW = 1225 + let UC_X86_INS_VPTESTMD = 1226 + let UC_X86_INS_VPTESTMQ = 1227 + let UC_X86_INS_VPTESTNMD = 1228 + let UC_X86_INS_VPTESTNMQ = 1229 + let UC_X86_INS_VPTEST = 1230 + let UC_X86_INS_VPUNPCKHBW = 1231 + let UC_X86_INS_VPUNPCKHDQ = 1232 + let UC_X86_INS_VPUNPCKHQDQ = 1233 + let UC_X86_INS_VPUNPCKHWD = 1234 + let UC_X86_INS_VPUNPCKLBW = 1235 + let UC_X86_INS_VPUNPCKLDQ = 1236 + let UC_X86_INS_VPUNPCKLQDQ = 1237 + let UC_X86_INS_VPUNPCKLWD = 1238 + let UC_X86_INS_VPXORD = 1239 + let UC_X86_INS_VPXORQ = 1240 + let UC_X86_INS_VPXOR = 1241 + let UC_X86_INS_VRCP14PD = 1242 + let UC_X86_INS_VRCP14PS = 1243 + let UC_X86_INS_VRCP14SD = 1244 + let UC_X86_INS_VRCP14SS = 1245 + let UC_X86_INS_VRCP28PD = 1246 + let UC_X86_INS_VRCP28PS = 1247 + let UC_X86_INS_VRCP28SD = 1248 + let UC_X86_INS_VRCP28SS = 1249 + let UC_X86_INS_VRCPPS = 1250 + let UC_X86_INS_VRCPSS = 1251 + let UC_X86_INS_VRNDSCALEPD = 1252 + let UC_X86_INS_VRNDSCALEPS = 1253 + let UC_X86_INS_VRNDSCALESD = 1254 + let UC_X86_INS_VRNDSCALESS = 1255 + let UC_X86_INS_VROUNDPD = 1256 + let UC_X86_INS_VROUNDPS = 1257 + let UC_X86_INS_VROUNDSD = 1258 + let UC_X86_INS_VROUNDSS = 1259 + let UC_X86_INS_VRSQRT14PD = 1260 + let UC_X86_INS_VRSQRT14PS = 1261 + let UC_X86_INS_VRSQRT14SD = 1262 + let UC_X86_INS_VRSQRT14SS = 1263 + let UC_X86_INS_VRSQRT28PD = 1264 + let UC_X86_INS_VRSQRT28PS = 1265 + let UC_X86_INS_VRSQRT28SD = 1266 + let UC_X86_INS_VRSQRT28SS = 1267 + let UC_X86_INS_VRSQRTPS = 1268 + let UC_X86_INS_VRSQRTSS = 1269 + let UC_X86_INS_VSCATTERDPD = 1270 + let UC_X86_INS_VSCATTERDPS = 1271 + let UC_X86_INS_VSCATTERPF0DPD = 1272 + let UC_X86_INS_VSCATTERPF0DPS = 1273 + let UC_X86_INS_VSCATTERPF0QPD = 1274 + let UC_X86_INS_VSCATTERPF0QPS = 1275 + let UC_X86_INS_VSCATTERPF1DPD = 1276 + let UC_X86_INS_VSCATTERPF1DPS = 1277 + let UC_X86_INS_VSCATTERPF1QPD = 1278 + let UC_X86_INS_VSCATTERPF1QPS = 1279 + let UC_X86_INS_VSCATTERQPD = 1280 + let UC_X86_INS_VSCATTERQPS = 1281 + let UC_X86_INS_VSHUFPD = 1282 + let UC_X86_INS_VSHUFPS = 1283 + let UC_X86_INS_VSQRTPD = 1284 + let UC_X86_INS_VSQRTPS = 1285 + let UC_X86_INS_VSQRTSD = 1286 + let UC_X86_INS_VSQRTSS = 1287 + let UC_X86_INS_VSTMXCSR = 1288 + let UC_X86_INS_VSUBPD = 1289 + let UC_X86_INS_VSUBPS = 1290 + let UC_X86_INS_VSUBSD = 1291 + let UC_X86_INS_VSUBSS = 1292 + let UC_X86_INS_VTESTPD = 1293 + let UC_X86_INS_VTESTPS = 1294 + let UC_X86_INS_VUNPCKHPD = 1295 + let UC_X86_INS_VUNPCKHPS = 1296 + let UC_X86_INS_VUNPCKLPD = 1297 + let UC_X86_INS_VUNPCKLPS = 1298 + let UC_X86_INS_VZEROALL = 1299 + let UC_X86_INS_VZEROUPPER = 1300 + let UC_X86_INS_WAIT = 1301 + let UC_X86_INS_WBINVD = 1302 + let UC_X86_INS_WRFSBASE = 1303 + let UC_X86_INS_WRGSBASE = 1304 + let UC_X86_INS_WRMSR = 1305 + let UC_X86_INS_XABORT = 1306 + let UC_X86_INS_XACQUIRE = 1307 + let UC_X86_INS_XBEGIN = 1308 + let UC_X86_INS_XCHG = 1309 + let UC_X86_INS_XCRYPTCBC = 1310 + let UC_X86_INS_XCRYPTCFB = 1311 + let UC_X86_INS_XCRYPTCTR = 1312 + let UC_X86_INS_XCRYPTECB = 1313 + let UC_X86_INS_XCRYPTOFB = 1314 + let UC_X86_INS_XEND = 1315 + let UC_X86_INS_XGETBV = 1316 + let UC_X86_INS_XLATB = 1317 + let UC_X86_INS_XRELEASE = 1318 + let UC_X86_INS_XRSTOR = 1319 + let UC_X86_INS_XRSTOR64 = 1320 + let UC_X86_INS_XRSTORS = 1321 + let UC_X86_INS_XRSTORS64 = 1322 + let UC_X86_INS_XSAVE = 1323 + let UC_X86_INS_XSAVE64 = 1324 + let UC_X86_INS_XSAVEC = 1325 + let UC_X86_INS_XSAVEC64 = 1326 + let UC_X86_INS_XSAVEOPT = 1327 + let UC_X86_INS_XSAVEOPT64 = 1328 + let UC_X86_INS_XSAVES = 1329 + let UC_X86_INS_XSAVES64 = 1330 + let UC_X86_INS_XSETBV = 1331 + let UC_X86_INS_XSHA1 = 1332 + let UC_X86_INS_XSHA256 = 1333 + let UC_X86_INS_XSTORE = 1334 + let UC_X86_INS_XTEST = 1335 + let UC_X86_INS_FDISI8087_NOP = 1336 + let UC_X86_INS_FENI8087_NOP = 1337 + let UC_X86_INS_ENDING = 1338 + *) diff --git a/bindings/dotnet/UnicornManaged/Hooks.fs b/bindings/dotnet/UnicornManaged/Hooks.fs new file mode 100644 index 00000000..c00e0a75 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/Hooks.fs @@ -0,0 +1,32 @@ +namespace UnicornManaged + +open System +open System.Runtime.InteropServices + +// internal hooks to be passed to native Unicorn library +[] +type internal CodeHookInternal = delegate of IntPtr * Int64 * Int32 * IntPtr -> unit + +[] +type internal BlockHookInternal = delegate of IntPtr * Int64 * Int32 * IntPtr -> unit + +[] +type internal InterruptHookInternal = delegate of IntPtr * Int32 * IntPtr -> unit + +[] +type internal MemReadHookInternal = delegate of IntPtr * Int64 * Int32 * IntPtr -> unit + +[] +type internal MemWriteHookInternal = delegate of IntPtr * Int64 * Int32 * Int64 * IntPtr -> unit + +[] +type internal EventMemHookInternal = delegate of IntPtr * Int64 * Int32 * Int64 * IntPtr -> unit + +[] +type internal InHookInternal = delegate of IntPtr * Int32 * Int32 * IntPtr -> unit + +[] +type internal OutHookInternal = delegate of IntPtr * Int32 * Int32 * Int32 * IntPtr -> unit + +[] +type internal SyscallHookInternal = delegate of IntPtr * IntPtr -> unit \ No newline at end of file diff --git a/bindings/dotnet/Unicorn/Unicorn.fs b/bindings/dotnet/UnicornManaged/Unicorn.fs similarity index 64% rename from bindings/dotnet/Unicorn/Unicorn.fs rename to bindings/dotnet/UnicornManaged/Unicorn.fs index 5c881e57..e567ac74 100644 --- a/bindings/dotnet/Unicorn/Unicorn.fs +++ b/bindings/dotnet/UnicornManaged/Unicorn.fs @@ -1,45 +1,25 @@ -(* - -.NET bindings for the UnicornEngine Emulator Engine - -Copyright(c) 2015 Antonio Parata - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -*) - -namespace UnicornEngine - +namespace UnicornManaged + open System open System.Threading open System.Collections.Generic open System.Runtime.InteropServices -open UnicornEngine.Const +open UnicornManaged.Const +open UnicornManaged.Binding // exported hooks -type CodeHook = delegate of Unicorn * UInt64 * Int32 * Object -> unit -and BlockHook = delegate of Unicorn * UInt64 * Int32 * Object -> unit +type CodeHook = delegate of Unicorn * Int64 * Int32 * Object -> unit +and BlockHook = delegate of Unicorn * Int64 * Int32 * Object -> unit and InterruptHook = delegate of Unicorn * Int32 * Object -> unit -and MemReadHook = delegate of Unicorn * UInt64 * Int32 * Object -> unit -and MemWriteHook = delegate of Unicorn * UInt64 * Int32 * UInt64 * Object -> unit -and EventMemHook = delegate of Unicorn * UInt64 * Int32 * UInt64 * Object -> unit +and MemReadHook = delegate of Unicorn * Int64 * Int32 * Object -> unit +and MemWriteHook = delegate of Unicorn * Int64 * Int32 * Int64 * Object -> unit +and EventMemHook = delegate of Unicorn * Int64 * Int32 * Int64 * Object -> unit and InHook = delegate of Unicorn * Int32 * Int32 * Object -> unit and OutHook = delegate of Unicorn * Int32 * Int32 * Int32 * Object -> unit and SyscallHook = delegate of Unicorn * Object -> unit // the managed unicorn engine -and Unicorn(arch: Int32, mode: Int32) = +and Unicorn(arch: Int32, mode: Int32, binding: IBinding) = // hook callback list let _codeHooks = new Dictionary() @@ -54,7 +34,7 @@ and Unicorn(arch: Int32, mode: Int32) = let _disposablePointers = new List() let mutable _eng = [|UIntPtr.Zero|] - + let checkResult(errCode: Int32, errMsg: String) = if errCode <> Common.UC_ERR_OK then raise(ApplicationException(String.Format("{0}. Error: {1}", errMsg, errCode))) @@ -67,17 +47,19 @@ and Unicorn(arch: Int32, mode: Int32) = callbacks.Keys |> Seq.tryFind(fun k -> match callbacks.[k] with | (c, _) -> c = callback) |> (fun k -> if k.IsSome then callbacks.Remove(k.Value) |> ignore) - + let allocate(size: Int32) = let mem = Marshal.AllocHGlobal(size) _disposablePointers.Add(mem) mem.ToPointer() - + do _eng <- [|new UIntPtr(allocate(IntPtr.Size))|] - let err = NativeUnicornEngine.uc_open(uint32 arch, uint32 mode, _eng) + let err = binding.UcOpen(uint32 arch, uint32 mode, _eng) checkResult(err, "Unable to open the Unicorn Engine") + new(arch, mode) = new Unicorn(arch, mode, BindingFactory.getDefault()) + member private this.CheckResult(errorCode: Int32) = // return the exception instead of raising it in order to have a more meaningful stack trace if errorCode <> Common.UC_ERR_OK then @@ -85,50 +67,68 @@ and Unicorn(arch: Int32, mode: Int32) = Some <| UnicornEngineException(errorCode, errorMessage) else None - member this.MemMap(address: UInt64, size: UIntPtr, perm: Int32) = - match NativeUnicornEngine.mem_map(_eng.[0], address, size, uint32 perm) |> this.CheckResult with + member this.MemMap(address: Int64, size: Int64, perm: Int32) = + let size = new UIntPtr(uint64 size) + match binding.MemMap(_eng.[0], uint64 address, size, uint32 perm) |> this.CheckResult with | Some e -> raise e | None -> () - member this.MemWrite(address: UInt64, value: Byte array) = - match NativeUnicornEngine.mem_write(_eng.[0], address, value, new UIntPtr(uint32 value.Length)) |> this.CheckResult with + member this.MemMapPtr(address: Int64, size: Int64, perm: Int32, ptr: IntPtr) = + let size = new UIntPtr(uint64 size) + let ptr = new UIntPtr(ptr.ToPointer()) + match binding.MemMapPtr(_eng.[0], uint64 address, size, uint32 perm, ptr) |> this.CheckResult with + | Some e -> raise e | None -> () + + member this.MemUnmap(address: Int64, size: Int64) = + let size = new UIntPtr(uint64 size) + match binding.MemUnmap(_eng.[0], uint64 address, size) |> this.CheckResult with + | Some e -> raise e | None -> () + + member this.MemProtect(address: Int64, size: Int64, ?perm: Int32) = + let size = new UIntPtr(uint64 size) + let perm = defaultArg perm Common.UC_PROT_ALL + match binding.MemProtect(_eng.[0], uint64 address, size, uint32 perm) |> this.CheckResult with + | Some e -> raise e | None -> () + + member this.MemWrite(address: Int64, value: Byte array) = + match binding.MemWrite(_eng.[0], uint64 address, value, new UIntPtr(uint32 value.Length)) |> this.CheckResult with | Some e -> raise e | None -> () - member this.MemRead(address: UInt64, memValue: Byte array) = - match NativeUnicornEngine.mem_read(_eng.[0], address, memValue, new UIntPtr(uint32 memValue.Length)) |> this.CheckResult with + member this.MemRead(address: Int64, memValue: Byte array) = + match binding.MemRead(_eng.[0], uint64 address, memValue, new UIntPtr(uint32 memValue.Length)) |> this.CheckResult with | Some e -> raise e | None -> () member this.RegWrite(regId: Int32, value: Byte array) = - match NativeUnicornEngine.reg_write(_eng.[0], regId, value) |> this.CheckResult with + match binding.RegWrite(_eng.[0], regId, value) |> this.CheckResult with | Some e -> raise e | None -> () member this.RegRead(regId: Int32, regValue: Byte array) = - match NativeUnicornEngine.reg_read(_eng.[0], regId, regValue) |> this.CheckResult with + match binding.RegRead(_eng.[0], regId, regValue) |> this.CheckResult with | Some e -> raise e | None -> () - member this.EmuStart(beginAddr: UInt64, untilAddr: UInt64, timeout: UInt64, count: UIntPtr) = - match NativeUnicornEngine.emu_start(_eng.[0], beginAddr, untilAddr, timeout, count) |> this.CheckResult with + member this.EmuStart(beginAddr: Int64, untilAddr: Int64, timeout: Int64, count: Int64) = + match binding.EmuStart(_eng.[0], uint64 beginAddr, uint64 untilAddr, uint64 timeout, uint64 count) |> this.CheckResult with | Some e -> raise e | None -> () member this.EmuStop() = - match NativeUnicornEngine.emu_stop(_eng.[0]) |> this.CheckResult with + match binding.EmuStop(_eng.[0]) |> this.CheckResult with | Some e -> raise e | None -> () - + member this.Close() = - match NativeUnicornEngine.close(_eng.[0]) |> this.CheckResult with + match binding.Close(_eng.[0]) |> this.CheckResult with | Some e -> raise e | None -> () member this.ArchSupported(arch: Int32) = - NativeUnicornEngine.arch_supported(arch) + binding.ArchSupported(arch) member this.ErrNo() = - NativeUnicornEngine.errno(_eng.[0]) + binding.Errono(_eng.[0]) member this.StrError(errorNo: Int32) = - let errorStringPointer = NativeUnicornEngine.strerror(errorNo) + let errorStringPointer = binding.Strerror(errorNo) Marshal.PtrToStringAnsi(errorStringPointer) - member this.AddCodeHook(callback: CodeHook, userData: Object, beginAdd: UInt64, endAddr: UInt64) = - let trampoline(u: IntPtr) (addr: UInt64) (size: Int32) (user: IntPtr) = + member this.AddCodeHook(callback: CodeHook, userData: Object, beginAddr: Int64, endAddr: Int64) = + let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (user: IntPtr) = let (exist, (callback, userData)) = _codeHooks.TryGetValue(user) if exist then callback.Invoke(this, addr, size, userData) @@ -137,14 +137,17 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new CodeHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_arg0_arg1(_eng.[0], hh, Common.UC_HOOK_CODE, new UIntPtr(funcPointer.ToPointer()), id, beginAdd, endAddr) |> this.CheckResult with + match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_CODE, new UIntPtr(funcPointer.ToPointer()), id, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with | Some e -> raise e | None -> () + member this.AddCodeHook(callback: CodeHook, beginAddr: Int64, endAddr: Int64) = + this.AddCodeHook(callback, null, beginAddr, endAddr) + member this.HookDel(callback: CodeHook) = hookDel _codeHooks callback - member this.AddBlockHook(callback: BlockHook, userData: Object, beginAdd: UInt64, endAddr: UInt64) = - let trampoline(u: IntPtr) (addr: UInt64) (size: Int32) (user: IntPtr) = + member this.AddBlockHook(callback: BlockHook, userData: Object, beginAddr: Int64, endAddr: Int64) = + let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (user: IntPtr) = let (exist, (callback, userData)) = _blockHooks.TryGetValue(user) if exist then callback.Invoke(this, addr, size, userData) @@ -153,7 +156,7 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new BlockHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_arg0_arg1(_eng.[0], hh, Common.UC_HOOK_BLOCK, new UIntPtr(funcPointer.ToPointer()), id, beginAdd, endAddr) |> this.CheckResult with + match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_BLOCK, new UIntPtr(funcPointer.ToPointer()), id, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with | Some e -> raise e | None -> () member this.HookDel(callback: BlockHook) = @@ -169,14 +172,17 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new InterruptHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_noarg(_eng.[0], hh, Common.UC_HOOK_INTR, new UIntPtr(funcPointer.ToPointer()), id) |> this.CheckResult with + match binding.HookAddNoarg(_eng.[0], hh, Common.UC_HOOK_INTR, new UIntPtr(funcPointer.ToPointer()), id) |> this.CheckResult with | Some e -> raise e | None -> () + member this.AddInterruptHook(callback: InterruptHook) = + this.AddInterruptHook(callback, null) + member this.HookDel(callback: InterruptHook) = hookDel _interruptHooks callback - member this.AddMemReadHook(callback: MemReadHook, userData: Object, beginAdd: UInt64, endAddr: UInt64) = - let trampoline(u: IntPtr) (addr: UInt64) (size: Int32) (user: IntPtr) = + member this.AddMemReadHook(callback: MemReadHook, userData: Object, beginAddr: Int64, endAddr: Int64) = + let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (user: IntPtr) = let (exist, (callback, userData)) = _memReadHooks.TryGetValue(user) if exist then callback.Invoke(this, addr, size, userData) @@ -185,14 +191,14 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new MemReadHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_arg0_arg1(_eng.[0], hh, Common.UC_HOOK_MEM_READ, new UIntPtr(funcPointer.ToPointer()), id, beginAdd, endAddr) |> this.CheckResult with + match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_MEM_READ, new UIntPtr(funcPointer.ToPointer()), id, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with | Some e -> raise e | None -> () member this.HookDel(callback: MemReadHook) = hookDel _memReadHooks callback - member this.AddMemWriteHook(callback: MemWriteHook, userData: Object, beginAdd: UInt64, endAddr: UInt64) = - let trampoline(u: IntPtr) (addr: UInt64) (size: Int32) (value: UInt64) (user: IntPtr) = + member this.AddMemWriteHook(callback: MemWriteHook, userData: Object, beginAddr: Int64, endAddr: Int64) = + let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (value: Int64) (user: IntPtr) = let (exist, (callback, userData)) = _memWriteHooks.TryGetValue(user) if exist then callback.Invoke(this, addr, size, value, userData) @@ -201,14 +207,14 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new MemWriteHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_arg0_arg1(_eng.[0], hh, Common.UC_HOOK_MEM_WRITE, new UIntPtr(funcPointer.ToPointer()), id, beginAdd, endAddr) |> this.CheckResult with + match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_MEM_WRITE, new UIntPtr(funcPointer.ToPointer()), id, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with | Some e -> raise e | None -> () member this.HookDel(callback: MemWriteHook) = hookDel _memWriteHooks callback member this.AddEventMemHook(callback: EventMemHook, eventType: Int32, userData: Object) = - let trampoline(u: IntPtr) (addr: UInt64) (size: Int32) (value: UInt64) (user: IntPtr) = + let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (value: Int64) (user: IntPtr) = let (exist, (callback, userData)) = _memEventHooks.TryGetValue(user) if exist then callback.Invoke(this, addr, size, value, userData) @@ -218,7 +224,7 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new EventMemHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_noarg(_eng.[0], hh, check, new UIntPtr(funcPointer.ToPointer()), id) |> this.CheckResult with + match binding.HookAddNoarg(_eng.[0], hh, check, new UIntPtr(funcPointer.ToPointer()), id) |> this.CheckResult with | Some e -> raise e | None -> () // test all the events types agains the input eventType @@ -247,7 +253,7 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new InHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_arg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_IN)) |> this.CheckResult with + match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_IN)) |> this.CheckResult with | Some e -> raise e | None -> () member this.AddOutHook(callback: OutHook, userData: Object) = @@ -260,7 +266,7 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new OutHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_arg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_OUT)) |> this.CheckResult with + match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_OUT)) |> this.CheckResult with | Some e -> raise e | None -> () member this.AddSyscallHook(callback: SyscallHook, userData: Object) = @@ -273,12 +279,15 @@ and Unicorn(arch: Int32, mode: Int32) = let funcPointer = Marshal.GetFunctionPointerForDelegate(new SyscallHookInternal(trampoline)) let hh = new UIntPtr(allocate(IntPtr.Size)) - match NativeUnicornEngine.hook_add_arg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_SYSCALL)) |> this.CheckResult with + match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_SYSCALL)) |> this.CheckResult with | Some e -> raise e | None -> () + + member this.AddSyscallHook(callback: SyscallHook) = + this.AddSyscallHook(callback, null) member this.Version() = let (major, minor) = (new UIntPtr(), new UIntPtr()) - let combined = NativeUnicornEngine.version(major, minor) + let combined = binding.Version(major, minor) (major.ToUInt32(), minor.ToUInt32(), combined) abstract Dispose : Boolean -> unit @@ -290,6 +299,7 @@ and Unicorn(arch: Int32, mode: Int32) = _disposablePointers |> Seq.filter(fun pointer -> pointer <> IntPtr.Zero) |> Seq.iter Marshal.FreeHGlobal + _disposablePointers.Clear() member this.Dispose() = this.Dispose(true) @@ -300,4 +310,4 @@ and Unicorn(arch: Int32, mode: Int32) = interface IDisposable with member this.Dispose() = - this.Dispose() + this.Dispose() \ No newline at end of file diff --git a/bindings/dotnet/UnicornManaged/UnicornEngineException.fs b/bindings/dotnet/UnicornManaged/UnicornEngineException.fs new file mode 100644 index 00000000..fd582557 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/UnicornEngineException.fs @@ -0,0 +1,9 @@ +namespace UnicornManaged + +open System + +type UnicornEngineException(errNo: Int32, msg: String) = + inherit ApplicationException(msg) + + member this.ErrorNo = errNo + diff --git a/bindings/dotnet/Unicorn/Unicorn.fsproj b/bindings/dotnet/UnicornManaged/UnicornManaged.fsproj similarity index 82% rename from bindings/dotnet/Unicorn/Unicorn.fsproj rename to bindings/dotnet/UnicornManaged/UnicornManaged.fsproj index 1bb52e8c..b97c3ed6 100644 --- a/bindings/dotnet/Unicorn/Unicorn.fsproj +++ b/bindings/dotnet/UnicornManaged/UnicornManaged.fsproj @@ -1,17 +1,18 @@  - + Debug AnyCPU 2.0 - 6f0e55fa-a056-45ff-bb24-641457b430a8 + 0c21f1c1-2725-4a46-9022-1905f85822a5 Library - UnicornSln + UnicornManaged UnicornManaged - v4.6 - 4.4.0.0 - Unicorn + v4.5 + 4.3.1.0 + true + UnicornManaged @@ -23,10 +24,6 @@ DEBUG;TRACE 3 bin\Debug\UnicornManaged.XML - x86 - true - - true pdbonly @@ -35,7 +32,7 @@ bin\Release\ TRACE 3 - bin\Release\UnicornSln.XML + bin\Release\UnicornManaged.XML @@ -47,6 +44,7 @@ + @@ -54,9 +52,12 @@ - - + + + + + diff --git a/bindings/dotnet/UnicornTests/App.config b/bindings/dotnet/UnicornSamples/App.config similarity index 93% rename from bindings/dotnet/UnicornTests/App.config rename to bindings/dotnet/UnicornSamples/App.config index 2d2a12d8..d1428ad7 100644 --- a/bindings/dotnet/UnicornTests/App.config +++ b/bindings/dotnet/UnicornSamples/App.config @@ -1,6 +1,6 @@ - + diff --git a/bindings/dotnet/UnicornSamples/Gee.External.Capstone.Proxy.dll b/bindings/dotnet/UnicornSamples/Gee.External.Capstone.Proxy.dll new file mode 100644 index 0000000000000000000000000000000000000000..cb71aff4a5d650585d82fe416b00d4a5d89ea6a6 GIT binary patch literal 6656 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 b1}!<(JnNu!*m@3Uo3!SY+|qad2gH8@o@x|_ literal 0 HcmV?d00001 diff --git a/bindings/dotnet/UnicornSamples/Program.cs b/bindings/dotnet/UnicornSamples/Program.cs new file mode 100644 index 00000000..9206e083 --- /dev/null +++ b/bindings/dotnet/UnicornSamples/Program.cs @@ -0,0 +1,23 @@ +using System; + +namespace UnicornSamples +{ + class Program + { + static void Main(string[] args) + { + // X86 tests + X86Sample.X86Code32(); + //X86Sample.X86Code32Loop(); + X86Sample.X86Code32InvalidMemRead(); + X86Sample.X86Code32InvalidMemWrite(); + + // Run all shellcode tests + ShellcodeSample.X86Code32Self(); + ShellcodeSample.X86Code32(); + + Console.Write("Tests completed"); + Console.ReadLine(); + } + } +} diff --git a/bindings/dotnet/UnicornTests/Properties/AssemblyInfo.cs b/bindings/dotnet/UnicornSamples/Properties/AssemblyInfo.cs similarity index 85% rename from bindings/dotnet/UnicornTests/Properties/AssemblyInfo.cs rename to bindings/dotnet/UnicornSamples/Properties/AssemblyInfo.cs index c82f9a7b..aacf2f82 100644 --- a/bindings/dotnet/UnicornTests/Properties/AssemblyInfo.cs +++ b/bindings/dotnet/UnicornSamples/Properties/AssemblyInfo.cs @@ -5,12 +5,12 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("UnicornTests")] +[assembly: AssemblyTitle("UnicornSamples")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("UnicornTests")] -[assembly: AssemblyCopyright("Copyright © Antonio Parata 2015")] +[assembly: AssemblyProduct("UnicornSamples")] +[assembly: AssemblyCopyright("Copyright © Antonio Parata 2016")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -20,7 +20,7 @@ using System.Runtime.InteropServices; [assembly: ComVisible(false)] // The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("29557dcf-999c-44d0-b544-df99f4b06231")] +[assembly: Guid("b80b5987-1e24-4309-8bf9-c4f91270f21c")] // Version information for an assembly consists of the following four values: // diff --git a/bindings/dotnet/UnicornTests/ShellcodeTest.cs b/bindings/dotnet/UnicornSamples/ShellcodeSample.cs similarity index 68% rename from bindings/dotnet/UnicornTests/ShellcodeTest.cs rename to bindings/dotnet/UnicornSamples/ShellcodeSample.cs index af1481f3..42e467dc 100644 --- a/bindings/dotnet/UnicornTests/ShellcodeTest.cs +++ b/bindings/dotnet/UnicornSamples/ShellcodeSample.cs @@ -1,40 +1,22 @@ -/* - -.NET bindings for the UnicornEngine Emulator Engine - -Copyright(c) 2015 Antonio Parata - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -*/ - +using Gee.External.Capstone; +using Gee.External.Capstone.X86; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; -using UnicornEngine; -using UnicornEngine.Const; +using UnicornManaged; +using UnicornManaged.Const; -namespace UnicornTests +namespace UnicornSamples { - internal class ShellcodeTest + internal class ShellcodeSample { - private const UInt64 ADDRESS = 0x1000000; + private const Int64 ADDRESS = 0x1000000; - public static void TestX86Code32Self() + public static void X86Code32Self() { Byte[] X86_CODE32_SELF = { @@ -44,14 +26,10 @@ namespace UnicornTests 0x6e, 0x89, 0xe3, 0x52, 0x53, 0x89, 0xe1, 0xca, 0x7d, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41 }; - Console.WriteLine(); - Console.WriteLine("*** Start Shellcode: " + MethodInfo.GetCurrentMethod().Name); - RunTest(X86_CODE32_SELF, ADDRESS); - Console.WriteLine("End Shellcode: " + MethodInfo.GetCurrentMethod().Name); - Console.WriteLine(); + Run(X86_CODE32_SELF); } - public static void TestX86Code32() + public static void X86Code32() { Byte[] X86_CODE32 = { @@ -60,44 +38,61 @@ namespace UnicornTests 0x6c, 0x6c, 0x6f }; + Run(X86_CODE32); + } + + private static void Run(Byte[] code) + { Console.WriteLine(); - Console.WriteLine("*** Start Shellcode: " + MethodInfo.GetCurrentMethod().Name); - RunTest(X86_CODE32, ADDRESS); - Console.WriteLine("End Shellcode: " + MethodInfo.GetCurrentMethod().Name); + var stackTrace = new StackTrace(); + var stackFrame = stackTrace.GetFrames()[1]; + var methodName = stackFrame.GetMethod().Name; + + Console.WriteLine("*** Start: " + methodName); + RunTest(code, ADDRESS); + Console.WriteLine("*** End: " + methodName); Console.WriteLine(); } - - public static void RunTest(Byte[] code, UInt64 address) + + private static void RunTest(Byte[] code, Int64 address) { try { using (var u = new Unicorn(Common.UC_ARCH_X86, Common.UC_MODE_32)) + using(var disassembler = CapstoneDisassembler.CreateX86Disassembler(DisassembleMode.Bit32)) { Console.WriteLine("Unicorn version: {0}", u.Version()); - + // map 2MB of memory for this emulation - u.MemMap(address, new UIntPtr(2 * 1024 * 1024), Common.UC_PROT_ALL); + u.MemMap(address, 2 * 1024 * 1024, Common.UC_PROT_ALL); // write machine code to be emulated to memory u.MemWrite(address, code); + //var read = new Byte[code.Length]; + //u.MemRead(address, read); + //Console.WriteLine(Disassemble(disassembler, code));// + // initialize machine registers u.RegWrite(X86.UC_X86_REG_ESP, Utils.Int64ToBytes(address + 0x200000)); + var regv = new Byte[4]; + u.RegRead(X86.UC_X86_REG_ESP, regv); + // tracing all instructions by having @begin > @end - u.AddCodeHook(CodeHookCallback, null, 1, 0); + u.AddCodeHook((uc, addr, size, userData) => CodeHookCallback(disassembler, uc, addr, size, userData), 1, 0); // handle interrupt ourself - u.AddInterruptHook(InterruptHookCallback, null); + u.AddInterruptHook(InterruptHookCallback); // handle SYSCALL - u.AddSyscallHook(SyscallHookCallback, null); + u.AddSyscallHook(SyscallHookCallback); - Console.WriteLine(">>> Start tracing linux code"); + Console.WriteLine(">>> Start tracing code"); // emulate machine code in infinite time - u.EmuStart(address, address + (UInt64)code.Length, 0u, new UIntPtr(0)); + u.EmuStart(address, address + code.Length, 0u, 0u); Console.WriteLine(">>> Emulation Done!"); } @@ -107,10 +102,15 @@ namespace UnicornTests Console.Error.WriteLine("Emulation FAILED! " + ex.Message); } } - - private static void CodeHookCallback(Unicorn u, UInt64 addr, Int32 size, Object userData) + + private static void CodeHookCallback( + CapstoneDisassembler disassembler, + Unicorn u, + Int64 addr, + Int32 size, + Object userData) { - Console.Write("Tracing >>> 0x{0} ", addr.ToString("X")); + Console.Write("[+] 0x{0}: ", addr.ToString("X")); var eipBuffer = new Byte[4]; u.RegRead(X86.UC_X86_REG_EIP, eipBuffer); @@ -119,12 +119,13 @@ namespace UnicornTests var tmp = new Byte[effectiveSize]; u.MemRead(addr, tmp); + var sb = new StringBuilder(); foreach (var t in tmp) { - Console.Write("{0} ", (0xFF & t).ToString("X")); + sb.AppendFormat("{0} ", (0xFF & t).ToString("X")); } - - Console.WriteLine(); + Console.Write("{0,-20}", sb); + Console.WriteLine(Utils.Disassemble(disassembler, tmp)); } private static void SyscallHookCallback(Unicorn u, Object userData) diff --git a/bindings/dotnet/UnicornTests/UnicornTests.csproj b/bindings/dotnet/UnicornSamples/UnicornSamples.csproj similarity index 50% rename from bindings/dotnet/UnicornTests/UnicornTests.csproj rename to bindings/dotnet/UnicornSamples/UnicornSamples.csproj index 1c8a9278..39845091 100644 --- a/bindings/dotnet/UnicornTests/UnicornTests.csproj +++ b/bindings/dotnet/UnicornSamples/UnicornSamples.csproj @@ -1,21 +1,36 @@  - + Debug AnyCPU - {6437C22A-9DBD-47CE-8792-403BED230B54} + {B80B5987-1E24-4309-8BF9-C4F91270F21C} Exe Properties - UnicornTests - UnicornTests - v4.6 + UnicornSamples + UnicornSamples + v4.5 512 true + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true - x86 + AnyCPU true full false @@ -23,7 +38,8 @@ DEBUG;TRACE prompt 4 - true + false + false AnyCPU @@ -33,32 +49,54 @@ TRACE prompt 4 - false + + ..\packages\Gee.External.Capstone.1.2.2\lib\net45\Gee.External.Capstone.dll + True + + - + + + - - {6f0e55fa-a056-45ff-bb24-641457b430a8} - Unicorn + + False + Microsoft .NET Framework 4.5 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + {0c21f1c1-2725-4a46-9022-1905f85822a5} + UnicornManaged + + + + ;uz{ll^J5d@2 zT{+-J_^<0o62pIuVcye7^lj_*V>pa8FexL0<#P zf2_Z|nDHDiK2C?xM+$T)(_PB~*=6avLp|ZY5h(Z+)ig>M$lkJr(VMfmVjheN8hVH6 zK7&{l*)b6Ul>+5I*3d|1JOzxUhGJR~h+V>oC{4F8eJJLW2z%QDBQV+9-Y2Q*4$`cY zR`X{o2=71jXHPQMMW_YK-=e+A{yGXpL7O)+(LEq)YHt@ck>+nWkhaV?S(E124rDbf z0RnA!f^@SR)D_v0_Vy}J!qxLP1iF(MKMKaOd0VkJsiAZ!&;X_z%>qT*Tj&2qAn`cW z)TRs6ioHpX_8JVPHG9*dvl+mn`75F`JV;f{#XLi`2sgHoKnvHVTgD&!*$f%_d(=JI z>3%|!J2_`EXVOn|24~z^;2V|ro)v6?#HY1Q?jM@GUn0Yhcl~3emU`kHF7G^`{a5l9 zGUtcE`55v_b*D$lYl?qK6l452jTxsm75M-fH(cbuF@Ds}Aw_Hh@8-nS?+B{_=PVS3 z?(--Uy#=DC@yX3ir1=~1Nnd6>LY1bK_(VGEBd`jHV`nPTPgD1@1t{Ul`5V3Y%|}T& zE5Kg%=2qepx=o%d@===6c_RGtRV0ehon2mo5EZ#)kJQwJ!OaZ1?`UZ+&`P@ z*$zZa6}Sp0;nMsK1wPG;--ArYRG<{-8Y$2XOg9~LO~=~{{~LkYFyn5zK&_0ovWM2f zsdDP~9A0g-3qy`C}|TyTxJX5W9`JaqD6)PLY!tXyo-Ke9s!JScQGb4x$nwDsass4v-Zfq+%0^iS)HEYB@mI%{2D zf09IMX>v*bAJ7+>m0P?B*2mD-g8|alJZR0Nucu(Y*c*WC>p`4`+1FJhZn(bsnriS5 z+t*K2JS#`n*XMfDKW<;QgY_}=HD(s+YZ|m>($_?oo2sud(((-ZI+er?*H>Fp4gN8G zN&8wr#fR(bSv~0=)R(lc0bt!kU-;OsJur(uc6TRj!#5XqJ7#4iJ7x~ZE~yIKM<0+< zKjs(t)Cb>8VT2|(Q}~Wavsv?u2>C8~Ny&(diYJ4ao_;mt2B^ zyf5QTFt7Lg6BV%+ZSVS^3Qu_BMWB*zkmJdu`x8+40oGShx z3s5m1keFTNb--3W;Pk+y_VNK|h)p_Hew2IWfF5|kC@Dv*^=q`atA{2m`g9IBSPI${ zefk)k_!1;1On!T;%yOJ=4ct#+AI!r0`?UTtWHpBaGd@Hj=HCpCrtk?X4q4rKm(*5pN1h(zQ6G{ zEqD6aCx)|#$p5`pWPZD%=Gwoc#rAJ!ad%g&tD@)Tbyt#}#Y@i7RXCf=XLXczAlfVe zJyPyCG|2u?C^Q2vhGBO`%UFCQC@s|4vaXXtZzJ_Z%hE;=mrkU6&`Nos^WY%6Qkm1k zqAVG=z@n@gXuOW08DJGxBgKrD=3!8=KPdi&xp#j8jC)=&8zJh4^jN{fYB44;c!X|)Do z@dTQEUCrnI-9DrLOh)eX)T-RTv)pm;*v5Owv!NkRy+gfyJiCu`#pjz66j#X_JYJZY zv4t$5KDDYoRz*PmaC%uk*PCXn$SJjd@lDR8+R0&4gUpO5AI8gd>E ztgqe|6{z;_a#jBlSB_O7KfW?3VgrY<*G%~cRBTr)I$}I_k*Ts+ke^t5n9f|KM<53_ zp7CKH8kehd53W-8tc45$+zI+cvlY-8?KMF%&HCif>u+iw%RHZt+wxaY%E&V zd*+FOb#W_5yn>C`&k#ctP!dqq#MC_`ZD0+`oCsd_xGxG^NFR^u@xANMs~Deb(YX5z z?(xlYk0Sd!rivc!PgJ^ZXNte}&|qRPk|g zF}2yAl_h*)39MoH16%0hbp>%KXFAH6j#_9XEE=clC$aew5(_rMKVzluOezI$IpDRf zT>9={lK0wcC}J9PRV+Pt)ic!DiO!fO54rN-kq32iaJ7w=4V7(#W?LC$(OPc4no4c# zTu}vcY_XAx!%%Bs+2N>x2a=1R2QmwoM6QZ$@`)sU1SH~`AcfM!GkBORb+vzalD{#^ zHAnBa8VhLe0&i{EN!Ul(TX!EF@b7GI`UmpV`!Y<~yKd%5bT2$z48?eWJj_q&1BQ~{a zH0~qRsIQ*{_6Lqs?~V5F>QY^=;4x?a_AcmeN?tjZYheN@Vt+A-V$XO!7TYXL_MPk( z=lL74(ZW=ejF%ac{>?8l+HvrQx)ds*w55|r(_0{;nGO%GcPUH^*x#qbCFF(ujWI5~ zHI^s(st8BAxXNfZf>7FXlCrDJ2p$0TIWM7D-eim3Ek}7nWO->gz+d)86??)Hrg(B` zjW{t+#3Kff7ioDSR=*gTC)R*d@OkiTmTriS3c5@53(!3Ry84OD678a_)y-!8Nm(Z~ zoAnN|bP?%OWby(>Y;r$m}0)b zGQ0%!OJGg)9$07>Pw~&8ODvY^;HiN>0zXvmi}r7|R@XbpGJolUJQsAcJ<1p7KVtR8 zj3q7bxEWu%!8h37*rgy5VdKdtFIj^ex40vQ6dGUOkqonxBy@{q_i{K*)_POGzLXM| z*x4{+>j$;OXemtBU_^H67IzwqVBu``W(#+VkrE-_lIIqG-h=fI`{?RATfPN??ZG8N zJ#N}DWAP3K_wU9ocTluNqK;u@Iz+tW!H6bzApL=XKUu@y!HgZp!f&`v<^Ns__`@NP zGf+#9sWnswqXUBMK#+%!FYDEHL92Q2ao>3V&t2eLlEfNtqW8J%#Yg(UjtkE$K5`L` zQ}ZhP*WnGIjB@DMRd$2y#{FMow~>NFg@0uuBA&)kuCmKzW}VEerGs>@qa$eF0L zPboe!kFFiXN9YqY1+IPv3gX}oc-I4b@sv)HZ;_|yAJ^0bLY7ytzYpLVz+-^Zpj6;k zZG>sH|F8YY@&h4~EfX*uu>z!=H0}_)lu`k3T;A$>5 zv(ZR!mq2uikER*=gCnH&LkH6IK^>F%?O?Rl^?^P|_-1F#wDVe^C4-45k6N8+d@azJ z@tf)6Oq<>UEtSWw2P=Uec-|KuI8coZCSaoo&&2giW-s02Dt{G9@;8p84M@7+?LyTy z6SSak&vkyDz4~KS~V@^(x|Gznuu#$GjGFN z%1y*9xdy2ir18A|9fplTZu2`&#k*qrF;QeoW)iAXRAB(`dNU`))FALTdF!3P9V=(LZVL+^1r(o=+VjK?s?J@b5>g~2%e19AG zhSNoZV#B3MDA>_G2Ul}H2Os+77g=7yu0$j zR8(gt)ef&n;`uYWRD;L}bLHn*obsi!K)nZZygkv?^&O}I(8ELU8ryq|1h9^NoAqe- zH%7b4il7<1qFlEC`v=w}75KDfp$=$j7I+o6xSI=ixWxuOv1eS(F$&^q^*WbYwj;J% z7PF^dHQz1z;DCiTZpb}2&&RiH#12lBfiTwrKNQ-JgA7vvkw;C#SQv0%rKuYG1==lm zm$XgsYKx^Y8IDuWuPD2UUVd+ES2zeZ`tc&R(f4quC|kloZ@a=?$k-$^KF5I>BQQKs z9W?xnu@n=!MI6`1Q5-_AwG?)9m3)oHDqfXK{6qL&!W@pB%PjA589TtLc-1FV25l5r zC^OS!W&#eVMJKD@Gz_@K>$g+;IADvevMpo@GG;~l$&6qP62s`oF5KdF6Wv@%Co@K> zbO9tHxJpBJ=nX~pL>-gmoEJ;q`wxafxIlUqI{44Hs`qGekvnjU4m$tBEXX7i|D4Ri z)}P-Z;~v;0(O{g2E0o_KUr7K(B3X7~z{#_}N*Joee;9hM9qtzYmW&}|0=tIG_}W=C zJvqhV>(K9qf_CI3pic|t<4O(EJ6U|~z|ZIC_mgjXzkR-+2m#G65u`m6>g+8GF*gTL zjA{H2gj!1f;T@Z@5YPsVc@K`412O^A02INK+}LdiK{7lOruaCS9f?mo2%qSf#;#If zz7GEySaG{MB%+8V`*>KK#iVep)N|G@gjSmg+t9l1+Uy92fK^ z*Qh*)R*(j<2JwaEC|Z`5&P6u!vU5+&a8ozwl95MK(B9`PM|=1ivkNapZ)A}*9gT**abP^Wa2T>{a- zaJFPP2?w}Ae2?c=V&DvZ1SGZOH0&NPk!OCurF(JUx$WaX(x;*AWzoT6BvNoUT@Cf{ zeGca7sLzMf(^o!F*0cN3k*tQ>RS z!S@`bFo6~5IUdmlSJc%}WlXCwExxX=(_W^&lW}FS7jyz2U;BRh3)<=(%9z5c>s&Rn z$GnGqrvYr~`~!8t=#3xKsgY>Hl==E^#b8TQo)LuROW=Qx@^6B*oB_xIbO8K;w0<}) zz_AWTi^bt^SgrVR*lhUW>!>KYw%fJq=;*LB2VXm4VhD=~WD3+1ZHdNziaOBC=_1BL zwEx%tVzqjc4z#*cy{Z1P-m$TxK&@`&!|RJ{auIy}5m;8eFE;QSf-kfy*18cgG+K&x(qbdxFDz^A>x31} zB=#n2Emb^DD5V>wwWldQqS6XA{885gXwH-?rb8ACmK>HP;ha}Hb46!P*1{Rn1j4`D zA;aSYinNmgt0)H9hrmGz{1jM4(V3vo!(SIwy{|2jll;3bsjiEOTZLtL#LTqBmLP6s z?)Ho#`0&D$eK+_;?~KE!6-O5-AF>09$06f6XtJ=YukShc0n=4d3>?3R_MPV!QNBWL zL~_)e^CIwkV=2q!7j|Esk>!VwQNDftU3LCYl5ZE9i`T2LxWRL0#D5c60Tj8?>Xsbw zC#Z?=5V`7le*FN+>SZ$v(xF?VhqI80-3%7s%TC5E+RH><7*BAE1zvWfJSahA48)Ea z^wV)mu=h9MX22qV8(_f-m$A$heq~zxvf1rXcDwwQ$u=Yq{QvgHGE+tLp`A~tzjenv zH;SCE%@^Gchd<>4y;F?6+0Z9qW%|?C9}t)+p1@z|leA3F6F7A>UTk49d&V_nZRh!} zJf{|;Y{mv~c9qd4#TWv=|Co)k5(jh@w>U6?OA6A;?KxvW=Wp!hD*K5@78k8s%E$|G zKs@Ctdl<>;{UpS{T$rPNhIvo|#~ZOlM*YnZiO=swV%X>h%)xt*7&iJL(N2kBqaPAK zCGxP*4~cz&sgHg#G%&BNxWz=So1Cb&ll9asR3FcN`pBl-2yG+-h5}rGKakc3$3-|U z#F2&)2M;9<8cG~|%|nTUh7x(r!vW{WfkFQAP$Cf=|0@Fq$=CERcD7b$s=romsx#G{ z>x?lXmWGj78b)Gi7>T7}B$kE|nPvp5uurmQJS?EC4n8+N!h&Uf7cKvu=JPMn@~>+? zKUT}nXfA&Vt)%;F9cS0(TjZqkgh({*OY}qXEJQg7!tdSlSlaFZ8Gf^LcjkghZyHIoS!3DAEUS5dd zB+jbLba)YL`el%<%ES{Z5lKa~zjo8q+GbN5n@vrD2WiS-WV5L=wNz*s(|o09T7t!g zy>>g`fhlYCHb>k#oY=IJsQQy!i-$**yETIa_uh+*krJv3iFc z0Nc}2!iO}G8Z)81LycS9dp(D`v?QQvSG&)tH7FEs&-PuF?K>}UQZ@cMJ0)HcmPq(mm7|O^n#r(HM!T?#)YTe8t$3_|B+B@s=Te%QdR8IC zz|n%;2Nl=i7<|ns##J^9&+@3x>tGqkvK;Pd@lcy<@j$D8Wfb4*JDgMyk2RJ+ZMPB0 z=^KB+!!SufC#XK8T5Q}FsJ&w2HdEHGNFM0&R84SoLi`dqN)LmiuEw(kv<{FstBY$f zsyt(3-BVGb({KLj*g-`{ilz$W^*;M()FC{G5Ko1>7Pt4Wv{lzR;%fWRJ2513$>U%h z^=t4U9HfwLs~^%u`)fnkM32R(3#`fBSl2BpIUV8$)=;sKWustek|7NmH+41GB~x_u zpGlJ-rJoL;0aRS?LqhO0N^2Vm%P7U|vpaVqN+SbRG3u zkk*`0pMiRHFxTShq(oH5irRJhMN{w2vyXx*>X1qX2?Iw-H6VpPT9*-~m@eC;6g&%X zN1$|tFK#Jmn+&Pm&e~AT>HbQHtwofHHMAZ+5DQtqZHlo(q4fieNJ&J(RwSV4tiTqG zvOC7|t9RF;<1x@<9piHIL{AjqU(O#!Lm#Y}eRDOwV*+q4!#8vQi)!!> z&dtkqdor>io~z7-RVWyB(Xc4GansubJ#n5UMq_dtj3T7wa^LzMxj)ZpA@>Dr0~B0^ zT(Vq*_dT)Flmb;Gxjni0(OB>lr}m@Z!I{HFDR`KI?hN$K5#7NT^`WiFUq&~Q_|e#( zwyz0)Ay#aI-qzTEVn*Nk6QY+FS`_6GGwubLLIo$2_ijn@8_np8!8$mgHS{zy`fCW8 zf*o5!k2a&vBlPXGoYRspoBNp5vSb_3-)jy1H8c8M#Jv>gXpv~NLyDM*Y!uZWEtZZJ zOGAtGMhoQ7%5ZYpQKd`rcqP%9mU9jdL$ZJDJOf#;ci)LV5J<8!Ox5gEd# z^76#4?K;Z;q3*lmqpG^DNhb72MvBrw2u11Adle87M?w-n6hWi}5QHGTnS>S)6r?H& z(gc*E!q9t_-a$Z6fja~tASLu~?R{!6Gw<_$-}BGM?{|jD+3T#c_TH!6J2#Wk2C_s` z(#Wjj+{6w`V9Q&3n_e;&a?wr>0En^`!wy2g` z%Saum%wY+U$fcOkZMJDm^#f}92U(Jus%cH@Y)wI0)542dQ>f}RcB0he>w?a8r~9e~ z3dAte>9$ikcMU*bcRU6hBGBhC4dslS%y`Znja=3FReRvP6|nOl(|Kdl`3?}+ooCgZ zkG!fof5CMArNGm`@%6MjKT;)-=kYRx7`1y&YR{WK)A?uM5S~{uozGxAd!F0sJQ)kJ z4tr$4&NG_Mo14ym1%d7P^SbkU=e6hgP3QO(b{%$nmSj3VRXLF7vj0!X2;(vyirMrjBtMW9V(~LL(b2^Lx-UkpAM~_T=z-^S0A?Sj4mkh?wCZj^#{@%lR;Uhk+Tus4x?Gy7 zs{=rxjc}eK9=_FaepQF1(y`)7VAU5Z+CFYGQ`I@9Rd>Osm?G9c0UZ+r)uGX@yUu+4 zBt;L3N-Nay00_~|NOUlXrjMz5@N=bw`LX5llym&OB+@a2K0*q`-R+u2$NNUd?+=8I zD5n(ZNC#jr_nTWYrN{55$xiY2)R6<e8#W@1rjR{qzY}r73Y0!L`KJ1aIws zIE+a}-j>i+F#P=tp0=sb`{+!P$v?VuD)bXVPx6m`Qo(k!H=#TFM;}Uso=fPfg!YrS zIRw{1=}Yj26vMP3$;gSx$Rl~+jU(r_{7h;}h zK4aX)E+;p~d`D;?@)=`h%G0O7PE!ky`MO|4BOTKc?l6--V zEln}*bQB5(q)f)HC!>(dP)@Na_e%((aO;qc!pDH2N~Age?um} z9#t@>rm4)$9_6yT&t^_TeO34U60DPuh+Nfx{bV+7mNotSaMz05<&%0z#=Qq*h?nGX zfM_?5mSs1CTz6waePOnjYsi9e4o|Bgca`WAjo-WQ&;ty$oJ2{D?Q!`*qGm74fm-}- zM#(6rtLc3LL%8=)yZ1=+fmIE^fBZHLtK4XdDARGel2aWv8dFiuQ+VoIJ=7Xg1xTCU z3@kI}hMY#*ybj376sjzp}8ROrSV4G<_{%B921|^rhoa*z}cP`btTw zuh*zAzkXTgp<1S|b+;|Q{=%unm!I}rwPM^V9f-1(Ipz5F>oj(?DJu}=9@-EU-Y*r%@pXnWd7pN?mrXgH zC{Nm}?*gLqJ0-dr%C8M&eo*S6@ETFd6R?=$5dl^Ha$Y;$%uw#RWjX!@AifH=%5(u$ zb~Kdte$|eD0!pp2E>Sk4T?!{vnvc=W(pT_P4=e`wbs`MV^1PkY!b(sH=d<=W?#cAb zGn7R^$uK_e;O}{ZLL80WI;xkYSjO|h@Xt-LEJZtYfwa!ID|t~I$*Ea z{5ZiUYW@!Aw0Bb(&)((I-gN-d@~$O*l-`wS{;YSt0#EHM6c42Hw2UfNOfAFJ>XSsjtES5@V*+4ok9@aXG8=dp7r;cY* zaiwz$ZWT$LcX#Q$_XA$Ua|@7`&XxF4>Ky(0zv4L*E3TPGqk#3B_v%LHFz%Q0{`l|I zIvZ-8K66rSVRY^XUg*q|T4xrc^Y^Cz(s>;Fm(h8?SOA@$%RFKpo!F`K9{G&US)dSk zf8OX^z+qA5IjPCN!Z`}pr6!ycf%TjA21e#+?v~S@;Tf6Dwag;sXdZ23 zo=8$Mi=>j7)5!ES{+G<(@7pq+qWH-iu5jIi4Mgl=QO+zJsN`(Fuw7@pJ-XGGI#@mD zgF>816R{o3S+tz-ob_^A=3pTCWZM$5n4&3qs~6?GDm!Y5?`P+Rm1w)Vd)4X)+f^;y z(GjH0x3-VHT@?!C2;rq8FB(Ut+Wc_jY!T(i$`jg=E8Fz2=nT9V7At{dN5;NpJK}pa z)y^~?D8ECXu8|baUGNZap$ol3L(=O~QiO9uo+q&4w=$BB`jn(XBuU?sc^*H>k$Sn& zzlOkBTz8p~dg-MAGN;RwV&b3Ms)s;3bZg6;3kosua~qjIFrJ4%X)SXAkVa+bWyFFtO`lUh-# zTOsA0U-#-Lxs9ZW)P=f?IaP>{(emEOTI`)NtiNy8KD>tp`rgSj2|*;+GlXT=l(I3s zOFHr3jFGoZ@RTv`&h|kK=RMkK(tw9&b3s@y+9@tY;^^9)3Hj)H^)mMfo#F$W@?fA5 z7wzoC`N#L;N7e^8IbpNX@=Op2FMY~td>RLS9fYF=?I6rIXPz^gbP(DILF8bx^QnX& z2&);wL8wBU>ITwqaHbAIPt?dDG^n2{2)?^GInp%-hwnAu{JV3{q^Oorx9*bVP6!Ch z{jde*$dT1F7>5Qrr*RSjcbtvnF}u@+IF&ogaR^WC&TQ03cly>#?M{g&mOGyS=ii-@ z#+{zrH7|?T{<7Su3G`RMs|}VxowW}wcQOO#KRfG8u+tfJ!>McK&hEUn zJ2B=!ba0*V9}V?tvEWSYPDj*8cdFJ-ot-3{D)mxO133TgT-&a* zQ^BZPe$jI0ejeMM?&b`V&NLW~2HKsb5(0P5t<_6GJK|JxXFfPnyE7Rz(w(lgQoEDi zcBeaV{@p2H-08?&^HOl}g5}ODsoV+OYWz11mZO1o$A@i?rWf4FX55)ToXVXOx%r1s zF?aC!)(%uiZ)Vm^?M;jOEJm!;Ujyggo42-UaZ}dlp_9Y*rX2{()G2FDULTkSfBbHF zlhvHJ>oJ7K+9p7>H<_OG=H83in|(D>dov=%^5!6LI3uQcr@Oo}(u8`aS9|js^{i&j zXCT1cGkI&g_h#+>m!?5ZG|+e0-jopJrVm5do15n?Z)$*(k7dt8x@cG_%DF9*imQj} z+>oyxyl4mr^oSF~lNU%Q-8!EFyl+Tn>%{N}Z2p}kyj+t{uh!1CCSl6iIUq33_BH3M zMW#UsA&B<$D90lqa5jM<>}-hb?3>_ZXTz&&XMNe8a<5{#Fxp|c#oEy4R zsJ(fR13%D5ONa3xw46V_b&o9Br-1M;d)!7X`{2)7b_?o4&4g(nFtRfn*|SZ90=DeS z@=O8QgBilIADppdH&n9oTCzhRn?8Pn+J8R__&i$BWT!>k`FXuijUMut9;TxQ@yHCG z1-zKu!f#)v@xGs^o)vY~czpBL3LD=F{Jzp1aW}%BoKJ1|hlYNfq0g-8A*ZE{zXQCl z2j)E{N19J0gab`Elh;FrzLcR~e455R!a*NA;PHs$=Y_-3&WW|!+lMQ)w}XJkrk*3p z*$E`ZOtkZLCH^=P&!_TVcEmT|_|Y>3EsUNjM$at6pZ6I(?`u7cjh^lXfAthpxMH&V zx(5hEzEmA=FhoTR(Hs!jfwD0zv zF7wgR;4hv~?u%``gvRd&-Z%ff0Mqaxc2B)3oL>$2rH26mxX*_7GHQ-3)1xCotHG@O zDit0lB;Tq)^gV63+tBwj^tX>IXF*@v#up~_-gn`wpGg=7w3&nz4E+m+{!7r?bK$q= zM0}#1E!Yla>@WYQyiFL4C07q&KmASvhv|0>WJ;ddnkT-%GyQ&``+eQ?`;o>c46*vv z8%&bqJoOGi^{E2Xs^#)j|v{+$40|7lj?2RqdO zaG92jnm%CxM(h8SUN2}&de2a|6YsOLX>Y`1>~2e$ZYM2O5sVKrUPU^sZTv$VH++3k z0?@x~!}noxmtIvc^vjRvphY_Ovsh6$i|tY3gA9Iz#=Cu^G4OO!H=wQmq`oCP$AJ5J z33b9rttiOEfGchEea;YG0NuJjI@DKkqNKz~=g|hZKMvzdOQ;c0La6iy5-J!8%MV*) z-nUY_oXtp>ARy>QNI05VL@Cl42ufeZK)cLBiDm80OhlJ0)(I|a=p&u}HvTG|oIby6 zdDt3e|3SVg<-^0bn4g1u;E?6vF5_WoBVmbvXb*2@QXY083B{0S^qTe%-XXE<;Ua9F zzAg5!SOBws#np`BufNyBBEPLT7a+bafle0_7U>jrxAE>MXNAT`8~l2MuL(SkYgv8k?*xc!cgez$ZGk;r z3hir%ZXK{@Z%rFt(BKHLtcFB)* zp(^w9y0B`WwJzMiJ|`vQG!iBYh+Y>?hlrR&I-3msulZW?2O2LmQV|#kc{q<8Wg&ymix%>egx~`D6hn9oi6$YqL}Ve~x}=c)#cd%xw&G!< zxfA6qrXU4JSb6OVoBtryFxuK1ZRht|+Fmr;Y8h?o0HMo8))u0){e~xqo_V0w30B&& zk+#k)Ep7W?^RI0-_D>p6h}*XBble))+6GGq;`S{=IBtbV8?Go>TUYeK39S2XZOyf| zK5){v_w4}3yTTI70e6{xOPYQc?y;s@a**(w@!RMaxBLN=s3CJ0X8+UeyT#h|-E+0; zO$0x=73qwS5V$^{A?$j%k-#0tNEMNe2Y8?3@qay2mlWw;?Jzv_y>J6neilP_D)?N2 zKf2`~eleZR-k0F7{bR*r3)%f%Y)r<+Du;r1j*dsw-PZEcTS5?zFB!t|$SELt`Du%8 zXr@Fu<;_{~Lyb=uX`j&jomX;65{__d^y~ZXrhm_`;CEe2TnC!8UH_J}u*{yjQg4Po zp^exKXJF@*tLjFLPxuGhj^2d*$^1x?u*|m&&nKEE{?1No#MZI#7wHi61lyG!v4zMF zzZtrTomyt-1?J~P?n}WhM(hCzL5BYMM!Vj}NMNDfC&Kke=RK0pCeX2Myu@hJw!WY4L-u)k8HQ_IGEK<)+DHB)k3{xl!ukWOO zYA!)`jE!OO*W?&y;$eU&RlvJz!~p6J#o%`rJZSq4ul}# z%oh@cxwD#4>`WDsfdc}bk3kpgOdH661lyU;u!++_bHnnnVM*S~EYIQjKgE*6zcaZ5 zIg^CVP_6=Q-HPiEc##_upIXq;)t9q=&Qx+S$UDRcEKC}3oK1r!}Yq8;bHbY@fje>t-c zHsQ=l!*X(_4oQ??$r|mjub{Mg*7_r}Pw)T=+_(db~j646*;2+G;&JC1!R}4Px*=pnOtcIN0f#giK;Z+R% zEJL5ymh*v)&tUM~4gTsTAwPuVRJ8GpBOl}Ww14pISYM0A z0pdGPV!2@xL%(#Ij#nuoC(?Mk7KE}}d){BVn2z}MYAD^v9bPa=FBk??8f^B>;x~Dm`krlx|ZwHEC zKgo~%{LGgW9*$re!7n1%(nwg%5V8Lm$?Vt=bR!~I#NbC8dxh&z^b6Nn5lsHan&XoVK4pp?0R1%{b9}RnchS+eW*|AA+we+;eukmX zt?9Akbg=P_zS8o$8N7o}B;^c^bSl{RV{}ek+8{u5f^GOE?1R2Gj{+S3j^eXky*+$l z)ciJC2dAx6!^81A8$Sy4a)Di9@UKWb568YXzA>r4UO#~PMmD?zsXrG;eJ&gBHEIeN zHD9fF`9 z{7Y_ZBro|~FBh-al8YJ%V;I8AMaE|&zo{ksgN<4yrM1DITrHBQ7Tf|F-;nOk&cb)^ z>RmP{pybJtA5l)3q$T$k{36P|jfCS2Vacte1hq%ZyrH62&*0}9e7MGo6)r~Om($%h zr%r%bP)A~Ug?nkbj!0uezhjj(th3qpo6|u5;@tpq{`c$FEZ7RT4EU9adKPrH>6h8~ zFNnTLAo>wD`~yQj#?WW9={+{SBGLB;z0PL^nEekym*hu2OEN#tnuWhuv*yB7?O}Q& zAzncAtl9gw%I9+6eLEn*?;bu|VmUt}4gG@8bO4JP`bg&^8~--Z-vPb$@GY4Ad-#&% zhlh=spFQ01v*qCv?0hnZMU8~H0-`;1t|<=>0PibyFMx;ZC6+z>#?Wt{pgnA8=p&u+ zHoh0pM}l5^*b`>|9@dro@URo}vxk4;?1D{D%*p&lLVY7)vw&z1GiVR5VKen51oH4q zk~Il704@Xg$9U~w2SXp}EVl6zi2fJb!$g?F#Ks8rDL23O4_e7f%);f#idU6cU!)Lhy^E zjFu1_rk65=7s^u4Nd8z$h&K2k2LBL;0y^xdwY|Q^zetidRktJ;3n=;C7g}red4{ZsvB?M91#t=?) zgJ&d+K{sNoeMAzf*b;gKlu*Y=_`pc`W0@6&d`3b&BVm((=qRMu5|SoCLT5-YH~*X~ zG7R+HN%$-!%KZLsgfrMkxG+XXp*``dZ&NE7;Y1o0YZ=9XsIE~YB-$B{jwlcjPBDWY zXYiQ~9)lkDKQ;bCsFv$cTZ2E1GY;;Q;^tE^Ao+L6bMkkny?`J20qqDUDKp=V!h^Bl z@}{T13($-BmK%NI-#$@y=o_u)LsxW2Q<6{oD{TA}gI{Ct)g(Rx-LV;IpV4`s)2XB-o;JDI6twX-!a+Pdhz;x8}N8Q^ul zwA2>qWHAsX%4?L!z$a2ggp(hteH1|SoA!N?W)jQt%NY8WhMqnN)x$Ecjek5|C%A~g&yjc@ zmRIpjuzJ|Pi5ri;4=Y+b%dar|&*RsUA9>swuY*!w@Qa;gkdg2WLpUM@jbwJLlT;Du zG&A^K27i6Aa8c#4lE%-(%}L+NSLIa$eV-s^lt>8;MtuH39^iu-vGObdy|1kbcpC6C ze;By$dv%eW25^N93?@cBm8X)4K8Q?fD!*)E_F0^c*>mKeHIQ5;3|$$;VY~9ZLWzM? z1|12%jwb3%S2Ot4HXbYLyE^)ng#XyC<)dK5_hCH-9V{f;~ElUz_|hCI8V zYPY`u%CFmfWQQ0k(>~R1zn}%uXo+x|8(AMSirr3Ll-lho+Kv1MU*F(2+jzL0LF2ED z)owqp@d=rqnib4s@z8|;?tCYS;Lh%m+MOo4W8uzF)7@M~u{$qml*nQibR@F)9Nh7h zh8kWD(in8LNRuAS=Rq&Of;tVX+rs+h1Q_yHemA7PCe*u5={{-Vk&GpZKO|G%4f4$x z5lqBj`v@I_h6_`F{4`Lauq4iA6vv=|Mu`}FfQ~2z`1>IS|B=D}y+E-7kCax__&f$* z$KW>rFGg}^Ao+vG3qj9*Fy-gLk(1{U5B;18?dNi)oF7hJvi^5%J@{ps@6d+yV4A>b@FJ`?=&FX7G>a3;n)f`;ZVs-YVjAlr0!gzBOh1e9Gd&==RO>XHAcR z;~VPFS^~R_uRW}E8bszxV>G7viq=)<>;RoI4r~~v15^tRn9q2loKMk41Za`LPcZmU zau}(_-*X2N35#~hrNiH)N*|LY%6UyySp61beYB0$E&fw=6d{N<2 z7T>(x_NeGc()^8zOE?LUQjChW%*3POG>$$(sTdWTBnm5SCDY$e8YM=>{nNsqC}*O< zhZuYu@D%cB=OB>0axQozLLTj`S5=cym1l3Y2VvYKn?g!<1Ssu>P`Yp}wQVp6^ za_BrH6Vi8(4)CpS#n~?heK1|q#=l3)*s79#mcaLMk?ETbYfK1+WjLJ$AD=>yv6!+~ zhaNscVsqQVW6(#ma}p@Zc$D)Pdy6j;6ucj&rGJUUvi>^I@2iRRI>s%(xMe)d=nU3s z&im*u)q@c+8Iw-o_D-gxW3~po7s0DX*NCS|pmW-eapx-9scq|bgAdK|AW3o23-mtV zs!Y*N4pns(RdL&!qCGr&d{Sog7}uuu9j9gA%%A1i;~8JWDE6Dsn&QH~(s^IzYS#dr ztH$4mT!AannP}sSd}^C`>aRWQ1QB$x#S!_z z#@D0lmn@!oG}4^ocztR^bAj6TxLAO36=B0a!MR3;;~k^q%-1T`$W2ij-`L984Nx_<8jO8fQ`R7Ob6mb zKOKljjnCp+zx`?2N42T6jARR!>28MuRS*2(8qDe_{&ET|Or7kWMw^~`n4Xem!4vU4 z(9upM8-LH>YZ?4HjmN?fV&h8~e5k=EN_9F+RdPG=6IRNs$@FFEm7JnCzpr3F8E#2O|sM*Z)7wfgt88mM3B2fs|?6B=M-sK=qz!YBV1i~T=z=1zJE zF->b$;sT=qIx!1mry)9~uj^jocjFURJu5NGvPoeWF9x5-;HLwRS%&5Jufx1CL_6zl zi%rEh`nDL%&n(qY;sw?yIWt%*+0;kJrw%dmX?~ny?jV@aS$|d4LUtDAbW&9{QH4$N zeJt1i!~NO{XrgzcR#4$9v?ah=5p2W1G@`Q@(PO7uYsHa67X60?f97NDWE+jgS~1tg zS0*_H3j4_>LJ$kIiD3pqKiJSem}X@Yajz$P!1p!aa3t5{Hw=ESjYsy~8o$8c^J#p- zR}ajX^n1Sf^`I4o>jQPaM|$n^Fw_@pnDyO3YW#zz}`Esam8Z!J0g7L~vE+rx0U;ko^h z4ntq`YcDEm&_-VESoHrnDoAySdILSl@d}B zZ%%7*;E};Ar|IHv~}i1bE8{N&W4_iFt6!223wRQXNBY>DMWJddM= zuk5V=@Lo3jk60a&{ylUE@8UyVy|&b~@f|@g^W4PXcWON5Y?zJDPPbOaEdI8{X8YDPziz6z zk{tTU-?;1nW-~6cfm-IfZx=t)J|oF#ekVY_D@!a7 zk44z#rMI;W{rd4%zSGCYi;z{eFP3J=tdYHOFveFkA_m3yaGE8~?Gv zpXj80i_~~%oo(am8~g%;FQ)NXeDvTrPwBKS!du#0#lYqBT@L^+YQyj1K;UbV8~}cM zs}+fp-2qPw#J!7DGfqVTQeL!*M zd;NcpKFZMfMb4=59rY+(Hb%`5 zjOvul7XDX*PiOGMH6EjSw~e1g>KnQPEFLp#_*rbjQqG(XT25h24>{dz{8EGe*x-}# zaio~wZeKZUR7kNHNoCO1|46za$uN?_nT$u$cY;ieqpX@7{1>Q zcweJ1>j9y~u=$s878|e}%yZt?gSoIRVU2`fFb`u059Y_Cl*>XwLoHz}@V+hCED0q7 zN+7(HP|!&DTJVb~bT$$mw%1u2^o)ef8&wplkc2vr;CD<;kyzfKx)8i=poRHE8(z(* z>1otlOV9!F(TTus*LiHNc3sf*@7US(ka@5nP`(H+gLU&gov+@aZxO8O5`ugkUm@-20 zDkCAEkuXz0^m=(=y^1Qk?Lq9T*OC-QUVJtAyq^=`+@h}Jq{1` z&73SsLt4+`^_2XO5NsrjB!25zye3A)*>`jx-q9!;LD9~fwIX&A&Wog?^J!Z}JdD`y z(thTH@N&`(VSWz8!;$K^PO*q`ZepjG^C-%wIIdAbMLww_%GqM@#SMPGjmJHyq%}e{ zz7HDPpX9&WR(YA=J!4&b=%D_BR-D+hf|^@)jG+F&MC?v!bZiIpmg#P^?k+xqMhSPC zOL-B_7r^`IFC?1OmJ6g}tK^4@5=O-Wd@^dQ_=;EyKM61;_Ij-;(bI@N(niH7{%s;v zkA=^)@wJJ5Fs6jx3EJI;*D>^c4gIa*7JW?{pN;70>mK~lhuZMBI_M1NH1v~g`m?Jo zZwmqMo4+*x{SP+0u%Z8@wGK`tn|`Q`PsVQS8?!9{eG41@lA(_>^v8!;!6|6tI}m+| zjRELytg@Va6>vHH??r3%pV;)9p2hp31JO^i;Vx1$TEWwJTC*e2v_jCP=^OJ9vi+RZ zs}pdD`l|2Wa6*u>>lxXbhN`uLrcsoWUP_5}mKeO-;3wL6T#Fz7MMMUl2fnBIFGQ)Z zBy>D!tqOE5Ps5?l!J!=reI)ac2C%CIjBv6*pzpH>{^8YA!3RU1?`H~^zsrNn(ih$; zh8TCA*Y3nm8e$Ei(?46IqB+s0+aT%Fx=vke!~e$i?5lqv0DQ0w-$?LpE?PTgJD7Q4 z9m2nhQwf1BkEO*E$$wn>I`EWitZBFrr!EbT3}*FW$NW`7a5^i`5I&tP6A&5<9ELkT z2_GY!StMcnp#bsQBeC3YDRxO;n==96Gi~^DM$Oz-YV^dvWYk1DF*g3O!S^xvn}bAp z@X%kRQ^UsBCiTAr2RL|Twc)c3eGWtag``JtBAwq>TG?+w-s1Az|KM6`!|Rfo;!Xhg zP#d27j-FZx5h^$dQJ0>XT4{ZjP}$}=1s>njCjq+6V8ds?DY;@~)7{2T7-&s_6DzDB z3?%w4f#?_7@ER1e@8$A5mS?>PUif?f_Q^;yh0Kc2a;`p7Jdc^e9vhgZUr&wCJ;#bfI%0(yGJ>3`V?tC@aT`37Tl)2Y} z-4*^0c27bnd_CAb110+n#1~}&O8Vqrw-@CKO5>aG6Q#hdVE30O75)i!|BUhorPS?U z_c)XcchE0N=-psXDE{&2fJ^f^m`KQo`-T2CHQHudp62`l-JU^-1AUM1i9R!P%;O*+|^JnqPSfy z_c@fsAuf0S^e%U!3@&$Hl+RHLXLPxjq14Iba<@YX%j|N`MtM7n%Y6Z5a#okSNT|!b z0_6fqujgP#DU%I&l&~kQ97V>K}kTljS^APe4eF&v}HJAG{l)q8(SBEZ?W+;yF?Q%CqIf(KErA!^<79|lSZ(WyrDoUPuF85a`h3dQ9El_5n>_HjQ zz~wI25V1r#fl|4V%k4#}^P0>3Tw{zM6dy{{CcvO%XzFr*h_W4}=<6{bC-J&O2#)`?kXt5P<}uOZQ*j)M2SHegR&asGD@zuT<(3= zzbG7@GU4;81N6XeNc`s5SEHOU;)l4Duzn#4M`8;{IiIK+H`ioa6ND|M;^u@s?}dH2 zd0WLj`t82BYnjG14-XBC-rPAXM@V@5o`IPwZe9!Y)1-`vt-?bRL&EQFsTZ4Jp^p1f+ct^On?U}Z{4bn{53_=sP;7?Q~ z-U?f~GedOZgDp;mu%&xLX6eP~3&OSr1j*JfUf!B-e!3 z(vv7-ADf%+b-Naq2bd+2j|G#MRygwUh!$Yig&}7?21b% z9MSXgE+w>oBVGr(*@?0b zKpmGeX;Pq0bws~=s#jA^7 zL+CYb_fzV#Gf>@7dZF|~8H_@l?C*eju6~8_ca&qp-Od~HGtfXv*c_V;woHj5{sPO+ zdX2Pbf&fZ5)qn_ppJ(R;8x7|%+C2o7pZG?}VNfJU;75z5BiamHTHJC1h zN;~uEy^G$LcV^(d$N3IaF(HwOr<}3;^JM&-n1T<_YCa5`Z~(#e)ORSU-vLdT{;ZQj*ri-!h>uqG}iqq7|hVXInHiJlPp zx@*taMh99;Gw1tBy(;p@|A1vfp*VIYZRU{aRRxT z__^@3nZWOAwAaIo!ni^hTU42mip|#s3k0H_yVS!b&idUP`NFA_wE(qgB&!oAD-T9} zM3j>q>5-Xgf|}?kCmq$q0^?*j#cBFx*T2$q4P#um0|oj2lT77>7K#YrwI9z$gcJXt zuvs$IU8xHhBd_v%heuplx0iqm_ZishZWc%OKRCS$wsdQK>QirZco zGbyK7G-5-=f)N{1adT37UgZ)thke;7JiD>eB9h7;L4X&Xr%Z-jJS?7e=m=*c^@Z7r z#HADpOQ?*W6OM!>l)?Yt%@Gz~RJ_X`7N3W(v|G^N zbc#TQ#~F{Yiq$0inbjmcj8UmplIX6bMa!nn0E`&5IusVG!(2Vj{-f1l!H)mtm}?C- ze7^&&?mY5B{SD)2Xa6ytIGwlCDA21nQkFBqsQ?-zjP!D#oHB!ucJ|D0Yb{ z&M{`llz3?56WUh#6^naNC^pZ8WB(+*c8+_86BcISv>Q^xC zLEYGE6B-27+!dBkmcVrpzjYE^LJY`$=|PzkCbzbPjDVq8Si%#6(n*1{*iJ}#W_@Xl z+JCPv5nZeC0^>z;v7D^HRE==f9p#9$+GcWEUgUI6$p3aJIS7*f-cmABve`?C@6kiP zUy;*^fHfj9CGnQ?I^F?O^F-MAWCUq=CPa1AWxV46)r1vqo(WJf)M5tZO}C~wg@pFa zO^xtQ4*9S~_r?AhEkl-op#XfjbZhD%{NBQN343iz1eTF{&YrCZUGwmIrFOp^<+MX= z<*NNT+Mwq~&LRNndGPxY6nCfD5jr{4!|CDz{zj9UN0~&-%h0C7i!ECIN6Ys+Aph^h z{5i=M;cp7bjp5(h_OttPBJ8L24z9hrnT+*+hm^I#GPnR<2+W+HyjTR zfHt=iNq_F@Usjsigv_$QZK^kd5C9I23S;PLq%pIFd+YTnH>p| z|6XP*N;WL^CI2t8EAk`GcgHpfasO{wbtZsD9<`Dq64&t2aUfH_RizY;<2iZ2OlTZ5 zV{D^?t;e=H`0QCt9l+J~3r*!r33vNtTT64)ON(%+t?zBCcw`M8iAtCFG;!xq2iG1U ziOEU9Sq~rf^}DVyOu^SHDPjG);L2xvCtROh;H$B}_|@UpYy6tbuebR%gYdV~* zw|PVOH50#v@~fL)bMk9$em%5FT(M1hAN_Pj>4DM*WdO=Blz5bJD3eg8qI`ui7iAI3 zk0?K*tVL12)Bl)pnaGEPJz??Tv}J6b_Ig}O!LZR;Xh955XxbS*#UKD_I5 z*Mr_&rFT8)-35C05xqM>?|RX@ee|w3z1vFfKBjkGde?{E{YdZn(z|)|E|%WSq<8)3 z-6VSV3B4Od@A}ibA@ptlUXuEG2hx8Zc?Z#dUA%+ozxTZaNNVF9O8>R=4x|6x@D8W{ z8hJ<1f3>|M>Ax!8PwBsM-Z=WNq&J@ad&!$X|K;^khe#&+jWP%&9_2HX=_qqimZGde*^IIafP+mqUkMd0ZLMGIITKf;^3mbimURRB1)D%5;=fDCvS;3V!J&*GvC@{|iZj9B4~jOjiwVXj(|_RSbk4MI91m2d6A3*}pNSgYrFw@xD&q)3~|CyH|^-LuP4R@ax^XD*w`(t#}3)jPPSA|ruImuO86H= zxx#Z$eaX3Y;rSuCHeK9>jhlhN25D7bd&q(^!l*~flM4)iHGc2JdS%UDq70@21vanDHi%7!}He5qPH1Wiw z$M5HHoHKcxE{vx8aq+kN1f}zi*`C$ytBQBg&Je5fLy$NZ@+bt^Klir;~?~ACreOVN~Iz;YJ=V;0BvT1NLx?^l&^|P6!KY zhIjqB@^ew?iGgy2xr#ET7 z{Ik*A0A7&hTd4CmwG?$&{L9jCnhpP;6HYwT?GmE!{J)|Pi+>1W%G44@-w|j^;UCiQ z1sj%HG$RyE2}AQUq2W^}M*nDNW=X>vZ1~Wksjg@)a3v4Jo`go`3NSj_(6o|<5H@5J z2D(>M69(_k6ry3hC`8+SG9jW5_$fpOQRi`dXsTun?TzI1FKl@#EaWwh1Q@W4gT72-Tj zH$!t5`Y3G+7@aK8G#t)J!vr=gR5WmQu%anqXqFKg>1)sE8HQ%6G&E*|M;MUTu!JG7 z(0#vH{4a*_>K+uUN6SsDT2pJ(W#ZOFRO^gk33bQ<_pbx(ajKaPi%G+AHrzl%&T(jj zoF7>HV;Id*yoWBu;$MS1A8vK77XL(MnlG4e3p6Z2E&d;~Wu36ti+^i2^iiE>jc^)^ zSa~>KViNG;UzU*r6opv)^KfNFt9eG%{70^&@yUz-jb-Hi%epx){%5%IFOa}>v-r2} zPT~C;Ml}@G^!c6}Y!eOGLp6OSvgNd}pi`bcgSc{vsPx3ZyRIUl9w$u8 z%HvSJIQC)jPe4rL=SN1T2sEYek~DnDhGiB_oT7Qf(5xmjrcW0}uP`*TrJ)5Ix>_`~ z6wRMp$-}TWp)q|5GrFyziI#?pYgc_ml2H8j-*mW`Q83MTeJZD6;Tl6Q4X=V}A{jSY903=3aa zgtJFT$M-*~&cz0{f{_me5`&I6u&=msm1>UhGfp+Hpqujs)`yWxb#vap-sQ?JqB1Te zx4nU#=t6Gh146l}W?%_!RbREj8lz_5b8Ly$o$w4ySwg;N7nPi*%R-vRnZT7ag?I)Y zU}SFHoM+$~t~|;*5Fxm@P&IF%o68NX2y5H6$KFMk zNUY<^9W0!-2i`~)aODM2iRQeKe9o1#G%}0#7@cXtKBQsX3P$Dma@5d}c%K_ARxDxh z)1;vZ8#)LBUy4;$lFxD_d)|%E7!r9H{ehwJNJBa{ABMc%ML3kJKGzLILV=gs9 zT}y8Cm0=qz4b|BYAq;%=R6@CNfGar~?+_Z%$jazQL(@PSZY^a0EE%IaOX@LwO|%nGR8+mT)D9NbLpA0*b_|hDPlL z2if4`p5Ys&$_C*Q{{D}m5qrUWM&1xewHHj{%EhWVLNiP?FQ%LGUeKA5-|FVP7rf1t z?}$osF~c$0+ks*d284=9cSMO|l8;+`sHno?TS`MP8}chPa3)!Z!1up%CC4P3&=@wy z=2J`x8k(%qu#OGKxo5-#q5WRbcnr-s=%ZmXfzc-gn)1C}8e-Y-nW8~#Ix3pXhGr_E zF>D$$dW4}FDh*}WP*oWC!r%i~=)&L~{4d7O?Dr{Ff6gUB;m_lAXEeu3EwzgneM_LpNww5YWW)E02InCf|4b9EXv9+cAtS$06k@6M zaAjLjsg~NBT-i?}d8sYVmE|>3F17R8ljpwgjOVW*7BoukpbqC>#e(y%G@NC_UGTBz zki1tY#rc=f?D-QA(K8=CJ4jcBxC^mm44 zk~Gv~LtBfctWtBFD_KoPLL)@k8Qt8_ye4+_h9R_qh_jiKVs% zBjXi?ICdA~%DSpK5|u+WU#pw*Qv2{*^1iZe&P(lOu1p3AoG{03UTWL7qnOMCLd7H< zqC~@HIk$QsT9GqX042jTHmnc^K42$^P4JJ_? zMRSQOIp2Keno@+uu=(v9icc;>lU*9NvSA;{ zM2vis9?%gs5!D-EhgvOqHz8)eV<)Y-wgXr_X*!)s@-gbCA{faS<4g zGemVR?zV4WWJX0H7Vkw|N%7$+fW2(0YF=A6=X3HfMtTKOos+w9WnWRrH(b)~fQMJw zkcXvVRO3!v?p5OkEk%P=ciRiHrK{%W%e~B8SyWVVXzvMC$Uj%o)Z)v%-@m3fysVq^ z<=$Sd{EKyn1D;nkZ?BtY@rIJ-imZ76S}4uOP(wo^o>>kE7E1g&Y3R;|1dG0nqNjYx z8!i(FjZD>M^k_p9D-GdnsAJJ&S2Sz5lE+VDLSwGn{fZo|XK2bu!#OtG1DQ(YuR?^! z>0@Y~wgwI6$}&d#1e%<>EDclH@U1Y=61yJ;Z+;4q8}IP>4ghM_te{4y>%ff$i$;92 zVj5ZCbrZIHZu%J}4Q1KTR2cYDJin5=jVsw}576Gy)cNFS>ipC!lOHu}{z9F{dBU>9 z-5xb-_Od0X>0Hg46>RubG~v#_5h23g|5TleSu>iEhXoRYjjt~IaOHTb`TMGQM%|oe zO;bjGs+;qXry^I@7L{h!tcW5H@6I$Hs#z1v4f2Zyscus`K;!(c`FYkH<;uU&h(`ie z%`HNe$LY#QJ!`&aSu+g=F>B7Wq7W4V zK!s>9H9}n}Zq(1Pb(DteY$&ZnVO372L@ne>o*R`2jS&4cogz`z(BzYbU)gYpdlt*z z8sU=1dEe0d4Sf`euNi$spvkvm(h$#v*%l3rf4&sRV`vr-8X<~e^dv(wK^khap@}e1 zh+<*z)}pz+I)XyL-ahM5uz=O z&T42<&?6ZZv0*EEQB!5AqN#0Y_7WN)8pP=B0!<-WAq^eaFxaAbOVQlrN>&p`XoRRD zqk9^f7-`7MhHzn^5WNk92+@?56r$5pO^7N}Bh+0&9q#`bw*1ntj}4c>sWybQ!X@1Q zGor48m?ANo(T+fqZ^xw}feqhSG<_9KUPH5x&poSvx4L9wTRFNQENueH8c~Yp)MQRSTto6%`vXz5Op9lLi9YN z-!U{zr6FZ9Ii202xhzEB{=cEgOK5~>FQY>YO^`IKV8c4}B17c7g%Gu)QB(@=qMhCV zs1WT#4TWe3H`*y0QHXw$h7Z^FDMe#3{5donS_jYcS&9FTLl+-R^!w&WX`y)in5COvZ z+KAduXowoh=+y#Ek@{I0I=jTc?QDIQkBv0LXtptX}H~fHDEN;93(V68_wuG0!>3>l{9o_ z!w48air=(|;-7mnFn7)5umt>~75bwn)P#wnFn6MknX0KQ06}=X>6uhL z&jO>^E>cC3DODYrYpLL(;LMPQ*V*uaFtEs~N~F-kG44)iWF#M>KQuHgr6HIN`7N4c z;UYf&;7XQNIQx!RYR_PS5)$>s-Wbb;!2&WJdCU;khnc0Qsv^> z0;X1`Dk)KlY^g+IR$ZX6)VT=>T*7uCkR(&8R-+E*N5Ms@x(+BAX0ySIu6WzTHP?6% zT8|_2aEvz-8ma2d=(Pe(Gz+C6nhhUYG_NU|Yh1}R0||{(z0ByohUR@~aI@hR7(}Yl z@y~e~$f>Hz{n4ztG)_jL`39Y;Jg|C`DH81(QzYgvCUvTQK%K|A2Vyv^QZ=0`SBgp= zu%kqVJWd%UUo3zhF>;JR>RHvAYx|g5nW}oI=kc^~y_r>g8*L)dlv<)L1$Ee;OyA|C;deINXIhcW{X)6NiDfiLB8UYXnMWQ%N9Ek~Q zbR^osDkAZ91B%2Sqhus-EUH5-QFk469;c+~yO=Z_X9L9p^O}yMp~U7?MO@!vwkZ}{ zGHQtJTW)klG@^i>)S5gMu8!03#I<~DjH z!#p-@WIx2{|3cAJH#9p5jhuhN=*sbNIzA~ZtOpV360^9` zCDDj{J0cCAvf(RX;8Q_w5gCv3q7gNZ&T(wMiioD($Jm_1BHP{(VI%tZLVbBMiLq!s=(;MhNi1DIjNNB}4O)G#q9_63EaSF3Ps>&%fbkx&Nfpg0IzRIMl?u+J}PaH`2P` z7wf{}SL1!{vUqkPEPgXyYwssp!Y;sYeG48ANe~{M#LwNB_dDjLGh`vEY{ixDiAw%> zYhMX;bfhLRyl5Dz6SxF}J7@;})7sg&GQX&dO9_&X5+5R(M5Z}3Tnk~E3;5aN-h84oVQ$2x$iaoV7i{Np*hR_(t-5C9o zq4`!CJZy-uXzD1MOI*n`eF%+lT!hg*3{4wp$jpYKFo$9=0) zCcFUf0L4wooJ4}U?c6AvVSflH8J4hN2m0X65qGs_2p4hxkI^i0KcOLVD5G}?G==PE zY3Rg;VTuM*2+g?0_~r1h_$+uWbC{;xUYd5J-vN|< zGxSgX&Cp60=r==uA0iz?5^GY&(4T}lJP%|P6_JJ`Y`6wp%CXJDAN>BOQFI$R$gz2h zzAn(@*l*I1$cFhA%|Jy{*wFj{w6`5OmRyxmP#LXM3O*+$)YWIEMAO9pX(-8t238j@ zs4g~eCC9Fr6!c&)Io!z5RFH;?YbSQ%uq9<4Sh84ba~4 zr1YyQ6w`}?OiXJ_L4TtTzyD^s2$zOqY`Bh&RQ9(Df%yG5)5Tp7lhOr@P8Mi#_?$FM zV8cR1gQMeMMN`DkECbrRh?L%{OiHVwm5S+PVnSU*W}0BS7$gm^u%VIa0x`|4y4b{( z9E|2t(4&FmaAQMLQ5yba!(;9l*$2&GA<*LtFf{3b_O2(TOS)C=#f9pZ#Du!nm}$7_Vu&=9WsAZt9JkN$ws&n}8RP^a_7H}o|P?6B^;m=Pf6lDxeUTN6NhQGLHObmQ+npe@ZH#FCv zk9_!w(W?ZSeK-P(H$VB1i+yMdgz{k(wSo_wxz%#fiURnxG`z`%E~<0*P*Zg-^2t8* zA~bv`#OQ8@CQ2GIu%WP`K^|@k=^kemS29gWLc@ns{U{W-&<0s!AF{#XEl)nYU4im2 z6$s_SE!2=p!G-GkSqQvkzNg@%A7e(z6fEfKWaxpjPl9id%gvT2TNe zNJDKlM61r>Ln+m{$R~H+p3v|ijL~fjO=D@e+lQQUD;nhCFCpFIByuIwep)u4s^l!ir`WS29g2Lc@m;Mi&%l&O;4Yyi>@Bp=HR2tsfg73Q{Z7 z9YCGO$!$7MFAcx2;UGxWeE3ep&EtrCa_1*OOg@Ze^kIRfP;8WjkJvCq(csY0PSLoG z50eNDAL=o>tw6I6pTOc>L_Vx3O+Gy7ZG31;tx%VRTeUKs*O!Ky0DGLQs&kB`-$kDu znNRj12chA^Hby^ZXda+PGAw4pcJ#ubzylD|6-`}6GtE9i!-pY^o+{An!%A4Z>&b^Z zrO1aGK&Y`am0F>$F}Io|T2TOpN<$eoG*O+yhkUAYkx%aYEkZ-;(_ZB9>xQO^G+bsw zIz@v#923$#&S0)&noNX-4_-zeVVz<=T!(V+A@ZRD`|t@6%7-JUAs;^FR{KON@?niM zbYnxDFz|ecR-KD{a_5PJh7UCvonUDCNJ9}e)KWCagIm$8=1Qh%L}>VM`y&cPHi70m zyaJ2&FY=-1E0l+oKqw!wQ7hDKC_P5GoI&s1@p}aH|of^PbXBfDKhu=a>&!Rp%m~9KgDS zhSVE9C=}HVO>t>B!G>h+8G9V^uw6*U`Jd5DlLCF@!y-m+6=?S1JS^VAW%S9c1<6SP6{*@wKacq@?)@0OrE%mqUE@B}sF!;jo5MYJLxE=j|eY*;1? zJg4JC+&nU$-1%xk!-p=6USVivOG67bbX7F)p_ZcglPj5~H=*G}VMf;wX!aor7H?DX zVMcNC;e3qop$4@=-Br}#{;%o$C22U!h9r=x`LIdE&EtrCa_9emn0)w-(SHjxh2o4f zjAO$*MT4<4K+zO3J}f0Pd}zn$PXwBM_yQJhJM!UpG4dfV5GoI!P%G3G=T^N<=kH3x zb8IM~I>%UgDEjose6kPa2n`?p4_R*>uyfUY|078VsZ1eBloTl{R5FzzU5_~mQKBSM zk|bqJk|~u$Nhz6Rzu!O4qw`vO?X&hd?|Z)Pdq;bY z;>Ku`H-IGqJJs2~I55j?noBL4H1@{~??^q<)XK05BWc|sYZsnQnxj= zGQ0|sOksu}iZMerDEu7SvI=W?Rn;mse=vZvZ5b|~H^*JtZ#`4tJeA=Zs*z!})CHnV zmH=i8tWjrs|1i;Q>PRh{&Db9^43c_+sg+>?NV1R_GAct&C_KXiRv|-uRgJYO4)C=A z?h&|;@b%T$d_9brp|8|GnVO@R8^BWn{oLk?2I;15b6$(eFobGks4R73 zQ!7IkkmL+Ae02>ooN5y@G-egnvZyK*o8KM4Ul6C#mw0pBrLDI0R5(vH&qXydd@J>( z(dHOB5_}@C5M4A1oWm%$sU)>*mQjriJ)|CCYGs%PlH~po8U8843>Bd8yEKATSgWe4 zAy&l!z7W8T0@b`ZGUW5-cAjcphiYu~bZaKA5pBu^@Vmenb;dJ|b68_rPo>WfGIW8$Gpxc2GxS!~GOJ>SuL5{N;AL-)3=O=wou`@)q#7CS zkouKq(=mV|0(ZI%GURZZFSRI}DpVuGp~pCiY^GL*5+KQ)%+S6t&tV!Ao*^5nur^m! znPc;RASL)vU>>&M&%>KGw^TS!HUFM!WaujOH>Tz&CI`?=pqty^ESODt;4yZGp2b{w~+d97gDYa~lVt>pq zQR)SzR)#GgNjGLFtPHK8@C*xBg$x~4l~@%A_;CP@1fKQg$WYCj+j*+_^Hd{4NvS(W zn-&4&6u7}{u4<4zV_V1Hr_!Qq%2JICJ6muRr%;2#SBAVG$slHUxFFAA92B166jqpF zvZ{_+6*K%6z;J=j4d{K`%ii41Q_a7m8X4M1JvG{l381#X<8FiB`+TR{?9ifYI#7)a zg`}=vYGtSol8j}Bw+b-BmPccT3arA~9<1T-6UXL-1Ncc`FHHS;m}hfKrR_Y`{BIaD z!+5FxG&M)DF@OOAAGi(9p_|)W9W#7NH8M1nx{IlmVJJv4gBjN5XNJ5`_&Ic871oNW zszYr4Z~&JIT<6VkmyTOc{Qd(iD#J}wBg585IEw3|O`ZT232akmJP$aB8E(@g+U&;u zm|>LE(@d=l%R!RG%y5}9)Q7?|Ok))?v{2QjR>c9n6+jJvmfjp0Zu91Lp33kf)yR-f z>c^r@y#UTNXSn=sgA503>#6ieEy|`S)yS|$>V4X$Jr7wxlFiIeD<98cC={MyA6A%Q zjH-596*H_2;1z-Q4Cr}y)|=aTs`*D$BSQnJ-;Xwf1E?s_&~0#+Zg88`T9nNrR3k$U zsY{qz=TH?SIlv74^D@KoW-&tvR$*-;)>7%BvH4{Id?T<4rv5y9ZgWee?L5_d2aK8F zO{sq|HAk@|fbIgr+y>|HxZ7lp8Q!5986J?jwW*b%H%O9UIWl~A6*FXk!q1^KtFV?w zRgc8xwE{T#FvDHp&2g9ZTF+ECPi458YGha;^;OX(QvfpsR;n|e2b{wPZgaoXve|(B zF+)G8$C+9g=7JcAK51_ojL*5)2uJh)0o@(BN zYGk-X>iG;ky7j3%qVX&qGUZZs)1yBdJD)YEr)uZF&Y!N}#&iAVYq)`Bsav zsY^97oN2O>je>62mF*|^^0)5;D85+9HX)P+lAgYn!PO0mgS{XWmBu$y&i#*J5tZ~dx zpH*1Pq^i2H`CS402{B&(;mvWEHrdwk`j6N=JJrZAPwI=K&0%yTm>@78T{H@080I#2 zM4QD_BSSZ-hniX$CW9oMnBlL>nV}pM{!9;L71r)i)gY_l0G|usdVzbrIWk<~&Fwrj z!27AjR*yGg;`^e_Edgv7IHAt=Os}-9r_x=emQ4n#@l4N%?X{{<<*`vP;Y1%Do1x4Gf> z%f#m2QjHAHO8vE|If_pLXe`jlZSc0Wy4&p6qB8WL8X0box~i#_p#?}Xiy1!5#SD8I z#0*tgg|)+2!{0xM&2J3g7l9)%^$bgG>-hTzvH58jGsEXn|7&Vy_&tCT0#n=u=g`M( zN=BPmR3pRVQuj8sGK>L9Rx-n{Ihmmt6n+l9S%tM*RMjIkeD4 zVJ@qX;VD(kvMLVn!vOv#@U%BahI_raou`_2r5YKollqxx(=32&0>#}1cj<&}J(V7> zMcI_58X30zkE1w-8XUedX212!><9nAu!2+-p9S@ z&FwtZd^*+0&{FEpqRr?4Y6`S+8{DPa-Day6Wz&voWXLadIa4b`J&+{p3S=0bgBdoa zVuo_8!rJdx!_Q~O<^=-yQD7HL{dt&Ub4#V|Jk@+ZjG5s*ssAuFN3kw|R|Uqp4bGvH z+vJNGCQ^+I4W;gAYGoJOtWd zCbJ3|nyG4{RdImB1GrD1xi?3KGTz+IQ_b5@jSN>v{b;nQ9l)u240om5;2hGnb^QKo zEy|`4)yS|?>OI=0Jr9{clIqM*BOA|QFch9)4_26Aw5oPm6*K%4z)J#e8_@Icv^Tf& zRP*svBf~>dzZ-1^1W-XBSCtWIot!1G-ZZYE@g%#55^3| zScSE9Si|opjm<9&;A?^PF!kqQlFbc&|0Fiw3S(w?UFx4r%~320po_o|w?T$hZgWYr z8AUZRRF}Gisgz^;!-?8VoX6BUhg(3BPnn@}7M{awD3k%8 zi{@b!))uKMM{Ir)Qi9I}zQ-2)d3f9AhTne`o3Ef68D5n72UBwtGXrQX(93O*A>}s5 zwWtjJsK)0Hw@Y2m)XMM_NHU)pre4ephikaqkYoch{F#{`tcnBd9Kf{#mApBghg{y=&QlqxQH`x0d4Qw1JKB^AV2i*}b+%`EnQc9l zepYJPoWcH>VT#mCOsx#RgCqx-;d*6w3JTA#gjLAUT~!OMiW#N`@TkD^-W(a~cyl{X zHGi3EWGEx`3(=-+0C@$GMcLd*H8P~{=O{9nS{aIfB$-zt!($im96o`< zpXp4j!rDw#ok1sD8D{tsQi68{zBHg`dZ5h>zyBvTpGP$^JT3KC(Plyb^#wY(4Zix= zLlG$a9D1?}Yo%1xEjE8FfXfAL^5(cp=dCAR|DZ(;@HVQEVOI@~;^t^mFo5L(yVV)b z1I{6Fo0ie$0QScWW2K&LYGqgll03i+S1Cg?C_KY#Rv|-MRn4#}4)FZ|9u#=en%dR?`c;TBe5Z9CTR`iI#3ssMfv*a1_2 z9=^1>;q?!(`Cb?^!`o8-W@?UNRRFyO-fVYGg=B{gkPdVE{-ngc*Ls zpL52?cTo5_JjE)k6;##ZvHAZ3$S82NH^*K2+j`>l4_ed!ucI0n)>q{y3P+o40n8QH zpw4(6a1Nik%|p><8}`QxL!|!1)XK03B$>zz7b`<;C_KX_tU`vys`|jHIKVdoxLcr! zH%Eq>yt$pHGPI-`8FESeaI~ozz_I%nF1Op@9Cq8*@%jfX$|gV6$goW6-?dMB9?qRb zhJ+dJ!@uzH9TcA7cdRhO2vu#fDrWdGfENTt8qo9bq&K(oRP*4WOJr zUAIAoqHeQPi?V4*H8NzDx`?TD4i!O?mCW$c8D>~iC1xnXDy*%-8opl^n_nEjR|2bH z>d(VRHaEQfAvWIxV`dmA^;%PN6bl0AC@{!vkl_)xxhUEUqZ%2iNZriT%FrDo*~tuF zpJs-0_r?s(ScSE0s%jXU-xt6?5aaa^-W+#nhxNqkAGD|eUO_c7d@uE7(dHC75=<6Y zj4m1lo`-kb=H6(tl4@k=CG}`iE5l5X@WY}O^$Lk-oD4VQQBSRwfI_=Y*hlAL8 zlJzHKxK$atL*W_LVTBo9RnRd8xlMHAgWmfEEHh+y>`R*KLkyQ5pJBjSOX_u5D^%XbX~* zWrojAFvG#hF+*)uVeJ&w@cM_?{MG<|6F3c1&#>CIj@LiL<`+?o3|~rp*3`_f4;=}{ z2+VRDoWmfuDHCnxQ;iHAq#j^uWtaexRA+`ijx$3kD0B|^Tyy}duvS4;ePZ)x0w^qS zhd0ObklmZxd1`?7QjM+tU5TT(E83I@V57hxb+(WB7TebG`Uk0Ha{~M0=MSGsy~xzc zupK06$_&>kLt7|3!y;B8Ll;%ew<-?svj83z=<3ap;eKy!=c(o|QjH8ZN&Q^3X&pcw zfzob+bI9N}le8$C+o?u|-4!{CbEv`LD?>q$q!TkddW`2V0SeD>4lB$sO;snXiW&Y0 z;4Oja2J}q#wYlN-53%_is*&MIslSLe;{vEB(9Ug;p|acT(xNhSq8b^BN?p;^%Fq}j z8N>|l{>u#8?}`~JvI=Yau!h$^#OBuquvTC{O#ONI*0zqKK^HptM!ZLWznQ>aFUN2Km8L|rS7c4S_xHkip?Jl;4*=d z-W+%7wDrX6AGD|emZ2IMcHGHP+!$^02Czh6r#j<#z-ujMxlQwElg9q|Our-bOj9ev zDv%^$hRccC_KYKtT4kkRi&+p8Ga6+ zzrc6{dLFuZb30EppF}k>G?DtlXfrf`djy)g4PLif+HKZrQ8ulpMuyx{mol}^p(aSO zlNnw+%nYk4#0;fag|#hM!|NYn^UDMHPGBoc{dt&fbHnQ&V)I=vW`>bc|7vQEVtD{P z1xC3IGPHA>T+wDM)yPm+>b9m2x{EGxo;}gQT8dYGqgel4MlT7CKR4w0;`arzN*Gr6$kiQ0Cx#A@aD)+(wp0PDnoOsks-U(jiOD}01n^IQRHwN zoWoArI$r;vMcG_QH8L!gdb{>%?;lPbLWV-ja5w&ikME%H4BN573`145*{Yb~hX9@v zc+-HMhc@2a&Qs0brWzUUmwI@#=^el=0uQ(ip6Nnv^Su^jlcE|KGDuy})H;U>AW2zf zc;RnmSa4g+P>@wvTaGn+zbrP-7{C_-D`4u+!+4t;UjGoAuZJ-+^p*N2Q*#t^19(cH zpW7fqQ@1&RMn z$6eZLTgU4kV)I;7Bg3~+Um9(Wp(DX30t?YaqrhDne7#_H3S5=u~^M4>E_)uUTw&2ghn>IJR{vkI1o@!+1D)l#}<|rly&`hA4 z+aSXOZu7Smm7y2a$WU79nx@$M z8CKZV@%o3@{5*`AVY<{OP0b8@0vIhY!)@?P_j8+@qD?|IGPINWRZ}a&IFMu(GyJxX z8A?Fm=kO}4uvSi0y<+qB0Td9p&70#cUEjVy{GoA;W z!$R9SUjHDqY>r}o%rH^v1*TSpEg;ECW+ z&70eKs`>L&BST54J4c%q0pt|8!EJC3XKd?u{eu=|Qs(Y3Q1kT)XGpFBst0qZ{hF$;^Vv0F+&AbVQmlA@cM_?yl?gJeA=|s*xd|)Q?4*dI6j(#c=uE2Ip|VwvN|7Xi+vrsYZr1Qt#6~?Rm%o zl2m4fT6=g7L!s~t`>?_cV^p=A$8+uQ!RiaH*yr0xeX@zn@s?}|3BJXMKwn8gVg6?hUb8x z&ir9uiok3G{7u`t0Fs6rQ3?DD-`|D6N3@hhSbJVY-$l1+0kjb4VL-oxu&!_Fh!&Nt z57ih^S*d$Qna z-8P8{Qg1UgNAybouL+Daz!5D3un}E^f8q5V5cr5DvIuJpRWvTTy&ga%fkwWmiyEYF z^i8eNqDJ&6)fmxbQa6b<)dM(MlA&{6VDr00!tZ~MHhHPWh?Yp5JKCJxWniknQU$;p z1>BIfsq}(*%~OGe!iPv2If> z+N_}(BkCjda#M3ea{_o$;1##Qh#I-g87*ozuThN=-6eI`XwxZxq5`E1a70Z2Y(!&r zazs0d#}QRx5!Uu&4IlqSw_*XT6F2}*J^lDy8w)KGKK_fFItpV>VxrUsP0egu19)BF z;|pwFaGRphW-8Sf(W6pNiZ-JHs4mdLZ7`y8Zu5&4HKMjuV?=qSPDPss12}sf(_UhL zBf1?RX~#F$&+p)f=0o7OC_js^woFBNqT6{$38oADh-MlQUh?w3MZ))2;-=P8jS;;f z^$JsSL`eYc1YW(srm@?c)uOTurWzxvD0RPR(>Z`^1uD4>MwH8KW=ET9RAWR(ig6M* zN1IXsY!TQEGlb%ZE(fp?HQde-y$gYl=wGaG5+AGRZ!2Q9Z2=4s_{4yoke)Uf{CsuX z)HJFwq83tr8g1SRpoT!p3v6z4n=M+@h@PYxBg!ZBW6`Ew0Ozh{==^Sj5go8i;NzcY zQL&9SZk@G z&!XGt0BQ=f@=f7g(e1vetyl!eNvS`KHsb=QC(zUYN7Ns{Mzrh~ zj_5K7G$Q=zg7z%JS^*WciEgO?G6)p(P2mO%w5~8mR4Ce98o<{A z>($wgf0EnOi#A)aKaS{ised*#N3yL+daO%Cbfq86V({%OHwa2HK#EvfX4-TyA3W(eYZKOMcE9X8bhrhb*E_a zOaO%iN*dra8UiE}neFXO%(m_7cwz2j5!TXJ!|M~H+cg2K7WfmM%9f!)`WuUsNeo0{1+2QWxrg4-Zlceg1VZ6;HVY|W&e7;T0JaGyYPx50%e<2D<$s1dcH z8W-jYsUM6swF5X+kZCg;;D~M|z=iou;ObbBKY(Qd>tGn(-JRcvq0Zt^tKwhy`7Q|j z!tBBdhdNS4zgiKeu{?mD0;3G1p2ASu*%0vYc#JWYY7Dim)T5(K-vDkCc+hPy)N9>l znHDvTMpR>{7fXF_w5c4xfdZVyG2oExI)G#uv$g%1**=HB-@;tNBCO3(QO4+Y5K@A1 z0*SflOB_Qi5N%$Xi?c-pc>h3l)7uQX%#?j zfl_XR3vDG6?-A7B=yad^F7nDY1+Uf&IYUzm+pVYUG( zT4P0=)HeYiml!Xm8Qs-hR8Te|@A3zRdUp=R+IQ?;mRRHPb1 z-FFqIaeK76Hh{GP`_EiAYIBgwN{JD)`Dte%PDo!Xj3DAf3IZdTyBF4 zv&$mk>mSi3AJxdVRO-v4&ABxOrU@)l0J|__-KJW!Swl50OdqM|nwle;6Tp)KoegkA z;|OqJ>In>r75xJ!FK}N{+_P^{AKP2 z>7Q-)sdO(bYN(e|jiG)m^+nO<5IPckATSqQ^!Q+?L*1r)v{^(ohT28yDW>K$J`3Ps zfi?y>jbQ-xE@}NLX3GzOUzlzz!dh_^b&PJ!1IR9Ly>AL%qc~}MNu@u~qO#pgH6r|) zhm$B7ZLSPpvA}k9wufP++dLd?_F#X^Hd^YPre?OE0(eQ_ZMVU@q^I2`PqZ0NH7?9U zQoj~$1_V$+po#&G=otcBn8E^0VnxFMG7IF46_o(&!u0-$L;e2pcww$#5!O~?4WBPY zw=4n77FYvMoiv6z(RQCo*O6L7-3((6b&%BSOwDP08^E&yuel8_%%g6TIob@T8biHL z>KCI;j{t5EC})7vXbE5!X2MEl+nYOHm})G-+7Ybb^?%W=Q~+B9j>1#f@B#fY+Y4U* zC$+Mjfibg9k@}danQd19BL$|q4YIxBHaA3@uc$`0C#0SpZN>&rSD>xi;KEdNo8Ppk z-E^cH7p92RO`}bt04^5DWq>29On?h>AQ#6_B34`%z_Xsp~8w|Cy z+pO23rqPOO3^ljZwWH1b0UXcC&>0Od+bsY|?ls8Pc{#JqhQQy#?X4&!}ilbekAJLxGM4^r2W)n`J8frxrDh?o?x_C8X{Y zZ5|EaGJ%qAgQ1?bA>ikKqfHsAG1MJ7IE@0)CT{>s1lGVTOyle_zc5wsuO{jK5cq}p z4J*txTt!>0h?80tKo5Zt2J|qr^-WzCH#LT8WUDRpsA%&_0JjR%aT{d2#%-2pQ6p+V zHL_hK^@Gu-VgUQHGjwLR!G+muo51V;qfHK~abf05eGF!p1VbHJYTzS*sRsB=Z6Uyg z87#0kR(uygXMq=E#isyCQ9gzHmvE?MA@B<`ghg1ZtfB$Yt!n_+3EXW!L%rN%BwExo zYEX@#{+o@V?~OL41K1{TOr7oh{Bj!tzWx_&&S8HX>NKg-rsg#M2;eP&@dh}Jl>o`@ z%$7^p8baU~W(JFpt(A%Ne3P6+i}of^LHg zbI>B;>wnRv7}dzO?oy7ZP_(%;fUgDC!_42_O>&!h(Prxpu)&3SUFsi9%@HjMpo>5+ z102z31h_B{3yh2v!vd%xP&-yU4`3H&?qXh;^I7ACY0e_7Wmi$7=vFm=!w}==e+}p@ z%ud@qe*RaB8tRo)W2lRz&KYe^qa(rR0zaUOrh%cp>o!%Q%}-Qgs4q!9$JCt0tN7@0C@$<`lfJUGW(`J*P^oBNi`y*FX1H0 zMVo5^SS|3UI@`nWjYY!O|Dw%5*dMcfDD{3*Gu!3>1_?}X8|&^lJM3?P?4fml%!AgRu$@U=x8>Z&a9!jxhW*0x{`KmQ-y zE)U>4fvxcLdq3TFkDvdST0`9hV-9ts)W4dV(^wurPk~WxgA3EnZE{7Mu~cKIb)_B< zZTbdqo50-$IE|+OlBUcy^*d%ed~v)m^;m?pb6CUg|A=no1NcMWJUo>R--BCkd%^Gj zkXqR;p&HrdNS!g-97IQgaRQ0kAlnePxh>i(q#D^eNj=xp9MPlznh11u8(f$gZgW73 z+RY18g49M8-#+!`xx31GWG8g&>0E3N{t&yt!h8s$8@w6Tl9EKVcS*KQ93;%o2eNvEu9k15*X&#ERVj zc4125UwC~d1b$(bu?TBDRJ6#7IF0E6v=n&3fIfzK(1wsoAJw8_yh1gGdaKkgMw@m4 zw$nF3c|51it3bCvj}VVt7v$1>m9%?0uLC_Pz!mC@3p9Dq^QPFGe})K z+T0Pq-t(t1jf`%Cq5f<`z}Nqx&81Xhs9#HcMElgI0Ee(~f)4~H8{k`*O#pUb3MyMm z2t3<779rcyD*7tAO$eaAKnDYQ7^?WD_G(etx>1d6#ii~TZJGy=UEq4RLAH|?319z< zHaAm^2)~}=B=SX@D+5?8unK13q)*R9wsw4Xdk_AF*Ed1n*>+%s+1^yqFIL1`uq1%) z0>ca_+vC2e>~T}?P>pO4NIfFjyc|Fofm&{ZY=zxsu@*I=|51%>8KtfiZSD*peU_mQ z1BYza03S`oADgOp&5z$^pGHpn8S(q-bN=2MMq9i*Ne zZ9WR1fxt6vgKYP?OXsqs=1$i5zyg8I@WiC_yiKu4sdR(5shu!pwqa6lF*QfDG=S#?hPw^2J>fPvqRqQh zBU>%0`$n5S0hAS}Xn@(C1h8zA=P=vfr(?D{EW+Aptl{-v(XCtnzYCm!r?TNa`Wo8{ zUjHSv2A-K}WSb@RIa4#+esm;wPv9%JLAKZ2rfjtNhH7McM(Rn?W?}#h1zH$jw$}lY zcX)2AW;5Fr5cr*ZmPJ^*Mn&zTTjKz-2o&{A;m!R~+Y5gGlNOcj2C5NZ^C^y~ShUF% zz_$XwsIz@OG}UbyMw{QTKV};)^$JsSM9Tu`A@HgJW}6OR*$#ijYZr zMs({LKq-OhzA0qO@0mMWuc!+B6B^5`k;o26ysbiHn{^>D6kx6;qBz{S;&?! zTSfc}-`|D6vu(u+v%RjOpRI_KS`XNvrQB)&ab*YC&n->GPNuY+? zAX@>qS*S&g=s~KH?d)-8yCd4%9>8vagD?x(t_HAdExu&7k09`D=dr?U(^YiRikNLr z0HXzF7|{EGeikW}zA0`hp&HrRNj)>#j1S-;f%a~LYQkm>w!P>`@V3Ag zZi8(7-KKQ3`I>5EYcKUj(dL5yQUc8kFxx-?%eH(5v*m)o@8r`g!rIj;dLp{j4S0D@0cKkbVCR-c*_uG$ z*}h~Evb9ms)aW)QfZ76&`=;={<~w~;JG7{59jHdOLQ=PlHVp!}NT9IW;7dMa+~>D)QDa~ouP)NL|Ho8eR= z+kH~M7;Sn4aDzZO1I*SEAj!HG=QiPUX50IB%vOy>SUZ9>{QN_7D;2;NfurzLHhes} z%=Utxe~?-OKLcZCn-x04^cP2Fho3--rsuSxyAsX3yB0dx}RX@J=#0VMf(Zu>rCwlWZSw%1vNwMr`L zAKkhHP)wk*Zwg<+&+VIhC)(T;z*d2O)!DNBXp!*xmuPbq`(w7L zQtvf2v+WLGl)yLx%(eo+-UsAVwgwP*w&^TFww5aTEV_*jpr$}8-xQv=+kI18wWw_E zs7AK@Qn!va4+U`kfSzZ!!JYieBH{Hf(dJsJk!`Ki*`rO?01|;k3ZU;2{QaqCD~EsK z_014?w)I$Hw!SL*$%;6sxdA*S(9eM0PB!&To!6qW4WSy@DoZ^e+H?)zI)S_02H7rm zni!-Oovsi8iGJ*e0+CX5oFn6##Z_jVCeNdk`oaeg(vFtT5Xo75!sH%(gv% zp#q;8(EGPuHs@6Oy11zsR3lp}sV7I9w*$Ce;IRvA%Dc@rEowyVsYbQ}Qn!gVsQ@wv z6uiLZplt%*|Bg1rsKyt4*X`qo4xk2;=zAhduKrm;k{kGV*7<~^7zTxp;s91Sim|HN zV^ti*`T+V0yl+6q+}WGwkIg@(8lz|=_4sHrB!J2SjW4h%iyqD z?rv||clTTm?(8`J8=wEUWw$n5{9TJ@VCwJp*4Sq7^)D$g*=~1nM~Re&O^LMCj zQ*E*DiL%e-?7!~0Y_^L++Qnl~*oCK07yoGSzg?7*vcrGn z+C^b4mbAsbCyHLUi_sr(7F+lFE^_t11N&n1y;#HdL)|J@zajyw5=g_;XENVLfxmy{ zyUEq>5R5s352W5=Y99Ee00s&SH_-P4PU;&Fp4362Le7)= z;%IXi8z-0`Fkb=ijuX2X<~Dako5fV)k?JP(P*dxz%VdzGIxp>CA957spzu))Wfj)$ zQPm);;)I_I;Cg|3y*WOxxx$;z)uKjmKh+q;@jrC`qs=V=Y!^78&d30pm9}+!{vT~J zP>sYhq&{V8?q)AGPVlzC7Z=#{cbn4D=4+}kiuO|XHMM?K%ydmKXQKP6#HAZn@H%Cz++FTdFdV#;x8KZ#BceeFZ zx?QyS7yC;Z^3d+oPG3Tm@AMa}aHp@yX}vjdObY|(Brw=p;Hxbyyv4<_#R#gg)2dPr zi8e0;aHBxA3vBYa%>peda2=?V4&3R`@to=UUGaLY$zVI(fi?X8)7S!E_f~`@0z1)2 zZwGLE^M;YgA*W??^q<)VSNvb>*daRjVs)6>l|LaPb)}4!pp)xf^G4<8HU} zmQ<6{=8Nw-cDsg)w`lQBE6=_NZ*TiC;goSq_|NY#A#SXKoW)uyeZOx4zf>}S-2&&} z=Ly$Y|5W+~sWHTEEtzhvlp9RRbhQ{{qE-*uDx|k_@l7p$c7f?jZd&|5(`?Bw?)k*~ z-1FV2@Q40gq|nbh4P*$M!1@=YU{s%4U;OkS3eP@!oZnU{8fIolZOfI^> zW|M6WZ~vlAcB+wSp41mdo5R>R!32T%3J~7@xy>EXW---#`zQ4@Q}dztJb>l`PZ;1Q z4kG}P4>+Qq$8tmkA@C9T#Vw(tPSMRT?qvcceN%XYcG~uWpa0dOM&uWF$4*Y-q#E!S zKH0_nQL9(Dxn0~@T3lsPy``Ms#7XQ1r8Ku11luW0KyMG5Wmv>{kxEr;2Nc*t&1B)#be*gD> zrs3k=t3CHah3|PMR(NrT$z_YV@QjxR@VvnA3+(N@v*PD5-5$UHm}*?yT2haUHhlsp zD^U9anFU;_Uf}swN zF)%@3iUD5SUjXdl7Q(;q^Y0M&i2UL{qoO&{%`a|4fsO|B(L`0>)Sp`XKNq)z)KyIV z-&@?=T5aa$c5zSt%CuKqVEm_rOzFJ(F6MpFTimr$X8*5TZ*k{qaS5CeUl(@AO4!Oba*28>;V7zc393syG}^ovz)b=*F0d)! zHVd^Vn+K`JB{;i{>FzzY?olAlv(~O*Cm*v#qZ$!e=b4!x0$dfpeNjj6<&e? zDp+F$oYyx2JR>mBfZmKY_l;!ojpXY0Ce^qE_e%X*wCNr|34tmX*j(v0^R%czJwP=s z!HF$QUp3m431El7Nto#pVBSC3Ch+}_Xp@m@T!Js8-fwD#N{=@1j=%&1yacNO>=NX` zzwr7d2s9%6f{8C#gtay*ni}241W;Sxao-fb|KXe3p+#luKs82GNb0uHra=G~2^7A- z<{yiM?|(#_>#4?we*T3cx+dD>2w=XzMwp@7>xa@)^xsSH-+dS7uXG5%|L-kiUC9ey z0{_C#cR}D;mtuukpI6a$D$?7~X#unl=wU!Fb+7B2JfcNq?L##-Syt+&qRo>5g8a|4f+PFDxs$A&(JJ#^`f1_K00DctM1y9`ye3;Jrk2jR~`@eBh`(eyY zy(cy22Q_cSx&U4k7-E2%`WhfP!A+eR$xYn{flumv7Gdo{6}=tZ`UP;iKt10SZbdQQ z)Q?)!q#B3bS){HKZSD@>uT2bnT%Gl$%;Eq^j&<17liJi22z*mnL+?aInWEd@kaD-< z1->>nea`fT4G6CJzw7DXH?*)EUXM9Kmn=jm^X|(wR z`(w7Zq~2j_W?LCRFM-hj_WX3ve-DsQ&(B8?Cbu)|p5e@T69meN-|#b#CfMX1DtaZl zcMPD2z?}y4>lkzRCco68vQ`OuIrKBLR*W_!1K1?+k2>3je?M5nRJud7If?!8?cirp z?=m&B?hIgQ2CO||z;<&K+rpK5ICL8%8un|=Y@E^trW)YAY-CvIxm zo1D~<^2B_qGHuSYV<7eVo_B za^n4qcA`_5LN(_0h}7Lpt*?uXAi*fAiVTSjUI^eufoc~t$mb0fXi*L7K%ER?(xF2+ zpY`kFp_QQ%)^=bGU;l_L@&>R(U?&>+2L`ij>-hRdY>|dBGrS}9OjGL%TB}Hqp|{8~ zBfJ$~1@MHx%NI0g;0;b`Q5gn8Z5fuo!3?=jfokVvFKbBg2NZ9K}I3u_-FDx z1x9%boI^WrVdse!-Fk5UDJjRe1-?yz#Y$RibU``qzdjmSqeYhA#kb3sOKJ1vSImlY z@yu!_&tm0$Ph1neLGS?&9Dt<5E>|o+17@NC~D1EJG)cKh{#G z($%Eaby-6-j;@c?%T3Mra{_o$;FSw(?0oSNCeKTsljAEsR3q(OQg@9uodPH-P|5(` z-!>t@piXL>@bR_hu`B+Jlyls|u6R=|cDbOurkDSv#s9AOEmF4ouUuzb zK#SMeV&4<@UUeFg}@&$_4r@gc2ntAQtOKQ6aK!`drf^|{C)!CF0irl#TDmy z*_WO4gg29Nlv`N*8d`kF7CnAhEk5<1Qt_|W;`O$OD;-W>S9#O`#{Xq`j9(rD;e-4K z*6{NXZk4NFp#WA2?18DrpKIGqr5}@8@ejh7Pxv^g)23$pp9APGF#ZCYu5QEg3QzbX zs_}$3k$QNv85+Pn0uLDA6aE|lp784hTE>b;0>~kd*8tw$=jvY-gim-y{C~2HPxwpy zIhI8~#<3J(HP%*P4L>gxZ7&YsD}mK8_py9rG4S_qrPf$B!I)ziDD_%Xb1Vx2=qNDA zZSd~n5x2Q0+6^Ard9;Mu7trj(k7F1&tIiTgWVK}`;znLszU;opC9o4>WFguSRn!qQUL zG_?}821#-hLLHa`zzW|%JZ zNmDb!o&ZJ*%y1i=Qa`u3DcU4dBSSl>Up2Kdi~~uEGsACvn4ts|e$!rM71qkBs#k2@ zK7axOw|R4%!zJF_&Qk-dL^U$(U(8XIk2b{uSSN5mo$;vv|NfJ09l!ryYS|pc{+MB+ z)C)|l3|l~wJDH)dGPH)mGb~^gGIUf`VpSaA#{o1Fc-EUELp5)1=c(q;Q;iHIrS2SU zS_F_&;0CurhBLNx{QV~_%BC#U$guN!j^Y$*{E5#ClGJ5}hhOG7jDx~6oWcq-OjgxV zt73-V0vImvxdA=#FMD%4Pc{FNYGi05_0(uHCV<)kkGl=-(w%OzLyNNMKs7QHlDdMa zbq@7Gl2**{R&Qq5vM6S#z$&cm!5aSlQ*2&1fS&~R!qlIKc{Vrv{ioRcZx}Pfc&Yz1 zHAk^AfB^y@xDC#so7-F+Z9b(M8JbGn#nj3$6eQ`!3~OIvhP+VtIdowa){3dBLu~$V z0GA3}=go1Kj$2Rs{U-7@uuYxuJm4H=xJ{F2vm5(khEY;a zGqo}-2T2Ao!)3})9}3SfjaA6dLRFty6$kiM05t?!dUIsB&70eKD#MdhBSSu^AB#5i z0ywvj;qto;zG{BJwvM0w)}m~RQjH92q~51}+Izq(Ajw!}sMU+-Fcb>Uun#NDFh*6o zt%@1e2Jni&dj|A8JnPNvJk|Uos*$0A)bB@|!2whhXy`WhLi7!8vs#O?d4y_Y$RTwJ zQ|lb6f+RDTq5q4_u>9MYp#-b2wh?QobkW%SvH-pj*aTC59zM6ZrP6kuYQ6);%Yfnjcgb9mfsvd0YXP>l=^NZs1h%Fr7mSMGYnSM z2CHI*?*iy7@VWs#4=ug9ou`_Qq#7BjN&QB&=@~#Nf$DC9yOiH;zSW{^>QapiXXZ0; zUQ_EF%7G*qHXy@uJ$Mdtq3{fOS%tMFs>&UkpM{iQs=!ig!JmisY;O4aS8TqTYGim> z>K{$bQOpjYtw0~Q!8tT^o6}lUhCx&#!<|ysH?=Z!1WB%BhA*CHhGX+$hWf0+S|(N1 zjm_^0;7^G0^IzT^cWIMt9Y6mPn`fsQ8RkiSakM#%jsz0~=A(;7fpZwro3S{WvTBsVa_U)`CZ929;ILs^BjdsH>ZsyM*s0=Qn_UT=;JS9o(fPYv*XsNeB0D4WVu zBg28OIf^W%R)%6ANs1Ysc#h{V84Aykg;iLat*Q*M`CpI{ye}{ZTkz-Mb(`R-EH=3Q5kwrjSM$PUDede&;lfRoEbjs#teIsn4v1G zuyz=0sdVMo{Kf!&5jX-<&#=_Co=V$!s`+UcGsEXn|7&Vy_&tCT0#n=u=g`M(O2!Pc zs78jzrS5HNWf%jJ^k9ZxyD~#DDEu6HvkGgssH#V7{zL#*36$~XxJws#b30FExPxkB z*gJ=#xHZ}o31F2#TAlGcAj5pyI)46NYS|pZ{+Qtdsppzn88(6>Lztm}GPHogGt6Zb zGCZZKSysgXei*?21fKTh$Z)SWxARogRuT9i#` zs*z#aY>wg>YH;|>dLYRxW*FX?88&_uGn8W$ z)_%ttzCItD7YN`-fn6~5=V6Y`4L|=9o9~A)GrTADAExFg)&=mYz*x7zIdpQHe9>ki z)yU9L>W-#XhQT1oGG_Rx6Eoz2!q1^2tFTr?RqbN)Mgd$baE&*|T{>btQ{g-{z>-uW z!=_mr#kJ8UX8;QXHmft9hpQT-r?^c6sb#Yh`(uV-QcpIuGAsc}wlTw{%1{pq&oG%) z$k0qx6RnB^93H@Z0?oZSGL-S=cAje9hH7NELh47OP3-_qeaUcFx=ro|>9lPo3Dh}|K0B#ki(kUX=O=Q*#tE186PK%WZHDDYrSU zMP=wmH8R{Tbv;un!&4whJ7$>r6f+#27Bb+6GU~AkYv-_r-+vpMmk;0%f%7o+4C`&{ z`2DxB`6W~%!yKtIMw^4^NH9(yaT|ONG{kLgi#7|X#&=jcNj=!q%J2zD(u*1XY|jk0 zK%sL$hQX}DT18d$vnmd-a{$*0RPyF{9&&keJ5LR;8r9h9k*OTT-O;9009yo(sxzKx zWLRcf$M1iTS~h2}KW3OB^%7Gn!|x!;C}y}`8J>c|Gb~{hGIUqfLaSnisR2AH@Vqxi zhC1Hd&Qr}_rWzT_Nc}>zX&XRZfwFFc44K{Lb1ll|PO6b1J%yvlWNKw70+LK&hR53R z96o`cn+hX@C=8s!VD8sb-=2a;ghXxt*t)e@-8Cw^Z8BQ_c6nm>J%d`ZrT^6srR0E%1)p;CblaHdn+9A5e`9DXE__wK5C< zNlG)rk8PMCClr1TPq7MX1y%KUZ2rFhG74Pn&2g9hww|eQp2~0?)yS}Z5=T)u+GGo0 zuD}L$wvYKfb(@Ezmd!Toj~RwY{fViSVG&4Dg&8hZhT2eghEG_942@OwfmLyUZv=3+ zKof6{3^#dmJ5M!lNi{O$lKSCjQ!{{LpDp$vFG{X15eVT7u-Srs$<7{ChxBMsLs7R`szuo}q#ExZGD}^=)H;WXAW1uBcRbvhmUM-`1zmMd=reBVW8A&P0dj(2%w|DAh$t=N8IM3XfupzWT+x_GgB)= zcaWqHGko2O8O}|N8Je*QYuQxQFgCw0fPWxPrL%i;+@&4XGZoHL1H6K2WcXg{%c9LG zbR?K8uozu53S@Z4ZSIv?HY=${hF(&SHnlR$1WDduhJRZ!Lq#b3E{$dt)@rJ1m{oCr zF9mS3!2RAF8Lsx`cAjef5Y^b~`Hz^mR zY0tw!>^zyl47VyncPRXsUWXNCcvV#^t%@1G4xqh2Ujup`ns{?NPc?s?YGkM+b^mD7 zC4gcAmE8tkU&`$^bF?U%>Qv*IK01M;$Z2YwLn)AC88bZ7g6A+33eS*}Raje~s;sg3 zzmO7qEbuM1;LpQIn;TwV6Pquk8X2CK`a4r|6w?A|A<)BZkfE;I9MPgO^r0FV%1T|^ z)XLBnB-zFcpFPS92S1D%YO@M!r?8evSC7qa4d6F{(=hc6t8MG4w4JA#Uqm%Bd@1!= zQ!~RpbR-xfFw1T5waP(mQzmAZPc<@hka~crm0dleies6B)spcWZdThQ=UCX=Zr088d7j7c*3371s7)4X;m(&94n$t-yYm`t$Iu%?*G5Ha0&3V`lhB z>c33QQEUldu)svO!8!DBn`@%Y6snQo5vjYIS{X)wBvqK<=ZBf0AQUdoyu)qE1w$k0UU52MY{0PYcJ>Ndzw+HKZrQ8ulpMuyx{ zmol}^p(aSuj~QNT!VIh4iy2C>3Ts=ihQ9|Bn_nKlcLG~s>d(V;n;ZWARcyWs#>_BM z>R(OGQ7jLjr@$z;L56m2lPlVcr5YLPO5N7f%J3>kGL{*BXv_@Rpzya#ZCQo2ysByy zn?D%9*)a^4&zs{e?YEw(aGo0AHB=+RYN-oEn=Ap$7FeUscpmVxa1-68j?}W*jQ#PM z9whYyQ!B#)kYpA!WK@QlPZ*J$Q=FO=_hU`)| ziZ)dPIQ%Y0k;83}VW({!fB#O4vbmCKWLPZqcJ0&NKb&fW49l3|Zu|=$-$CISwqu1E zhN^0_RWZX40X!%0rU5+~YMny`kYpP(ywH#t7Q7QP6l4|FmSYXyFN@7H2JnTz3YhxyFy7{dzpoIRuZJ-+ z^p*N2Q*#t^19(cHpW7fqQ@1&XRunKEcRW-z_IKUSIxKW^*H%Eqi-rUYp&FfH& zt)3pu#5JN#xd46_IHS&Zrg08yZ0q>_k5bDfGu6m2OX^joR)&4pd6J(QZdQgaPIcC#pD2*33PKCWO%@B{??*0^r9N?A4*GI)6~k)8YHR03?HYMVc)2j zp(d-ab_{EH{X=Yia{#{z9EYiASYcbo>mOqC^Dt(H=~ACGH8bo9V6?ytw?T$}ZgW$# zNvKAKc2d7;YGoJ)k~C$8-yULy5>WU#yvi!9l~Yx(*t~rJ1q5#M=D16jcyl{X4X_f` z$gqDTM^Qf76boRTzyWo(_i+nt>v;Wx)Ur8>{V~HtsTY`98Mc5VotUApGPH)mGb~^g zGIUf`VpSaA#{o1Fc-EUELp5)1=c(q;Q;iHIrS2SUS_F_&;0CwBIh?VrBZw8;^`e1Rn}!;JU}#3K)4L?3WO74R>7e-{ED(I%{LL<3c{)`~cy1p#yv z7-T@-Ykb5vby3{ZFsd=4DpC)QHqQr8QsBM|Y_4*f`C8P7YEg|5ogBt&)uK(=0CozT zf|)=3t85dg^mEZB6V({eOsNl;nxX!zYv5ghj|^}`YXEFSSKwcGeFp?SqFF4$+T$vk z7Tw+pppL*3zA5}#_q%*kJGH26&rppK6_)zRXwxu&%mPI&usLjzQt5Z2O$n+oqK$8I zL`9>`WdVF6unA^9qR-u?eze(9$0qTn)IXYzj&q8r$RYl)zOqN1WAqN3s>LO6tt;ZjjiQ4vr9K_@N(3P_M6@3*SEw>JmR z&)@t0|1W$xQ(NEa>ZlT1fm#ds*J)z>}P~6*#E{%4pD28Mu@)8rw}#M zYHCVgD+BwvWrPT7)+jaUTFqhDN0C^}(g%bzg=m)qrZMoOQiBlPtJK73HP4YWLe!t7 zeOgV91llohvj8YW_W=+gdMk}WbZVgv(QQ--yo=yr{in6vAc3O{T!KzcZS29{D{R5~ zkEJ<821z4C>sb1VkS5=PXpw*y82B(u&3vV%omTS^Nh3rPS$cz3vr+;>7rL5OZq zYKoc3);vto2vIAR9;4Nalt2vz>I;BE)Ehv-I-0KM_M;H(@#_#JQ6=#9gNNV0)7qR8 z*v7yQ(8(dfmV|eNOD=1OHtGlzQzV{b>4QR=LbO`~(;0XwOwD+uriNDYJV_%&x3csS zt!9=4u4mvjr3N8ts?_XcCWk1Uq!A)JOLx<1ZkE9B3&`8EfZ-H{s2KneqH%pGL~lYs z4YVk#1m1^SsZ>-V-%dc3faMIV7Xbg}^8(=#_E&48wvseL^dL(YXf>}(U?>9*g{kSK z)cnp&_H7zTBSfuPda_nCN&+<*NK$GLqD#UEtbeqcb|j4u9iC5-XsFfHm%uItzJf9t zqAPt=hQ%2R)M!i7N2+?gUy;Q52 zErA;t7!al=L8;lrOb*cyl17LOmcB!)=^}yPJaRfpsX>T-5JtGH9Id7XNh3rbvGjQ; zLnO$lv%Lkdl7V*xKv{GUfXJdIps>D!fC|wzss!FcTxp}$wn_pS3``OL&$GRiQ9)+1 zZ_`N{AxdKDDO$~F2{;)@4pVbkxa6`{YBkrBG(vP_E=8h^Rudc`~Tj_SKInfp;D}JpZJ%wUxk643t18_cVgKM_7;NpIDlM zY9na`buCN(Bc#cV-_Rlf&oc17QiGu8DK#lt%|?<&?Cxjj*R+}y5^ynamjEala{&|_ zBHunuCEuJ7Pzmz@RRXUOSGreg8!UlH2I7@bHr)Rgw&4ChGugL9l7(UvSvp6n zc}xP=GSEo?6ryniAYoz|xI@>tO#&Bv6$Wgh5bW5Z2@QN0#QGeo4{@s+Xld5z-Wm^%5A*K#o#_pbk-LE;5tV z%p++8wKGdk(P|!&KvM>i1whfr08n820lq!goqYRgwoaIvsS-c0d9P7+9&)z_;m2O;fFA4N1ed5iGq*t9e=i zy%-p&)F5H5S8Db%lS6bbNh4wEvh+Z$W`G1P%_4831wbKcPXH3;7X}*Z8Vx1zDFgeU z5MiJi5dcKO^zKGMoeu$(Fvr26pf2S~KZ{BfjXe^W$-pxL;F}^@A_y+4mUiPMl15PP zVCiLAO`Zg9WMH6DgP^uhYCdHqM66QY)oDcxnU))6i&oS_tuCW(Dfk~sV4k+CJfPhMvbyNwwaa`$Lt?dN~+{VDY z0^p$DBx32Z4l|RZF_EMZ)W$4*pH?$O0tN$3lo|x}FA)UX|Ilh$ku-w(-QyGuQ>&>V zfsYv21!XcCXK#jYiR4=+P}tuE0hKWO!6Dz~aiyPeD@Z#`MsuhmSKKoSGDC^hh{o>KD>GdV=Jk~Dn#=P~lFw^nn#1dcFp5z62jFFL;z zM&SO3R%0h=B+Lga{fCeyr+&Xl0M9e9QUEkxd_@2fW)=gRb&UcExEYwDYrG6V%rHkg zQ&3w&KqZWiDuLIYD?O&QWl5kR104jwL3JoM-eV?5qbo@xs3&GpG&*WEEhO*_1AlPK z;yhm{f`H%u(Q3}YJ__pVEd8^Prf3|Jz(NL|5dcM_2!NPjqS?3GAfOWF4XOm+GP%+# zTH6y6=+3|}WfU&JQE|0p?KOQ}J^92YLRtc6-l1CoYs zpRjZtt;QySwG4d94v2(#NvY|h)qLFvYLGCqS$d0*rVwqE!2JwN6##{31p!DH7Xu4) zjkyxVA7<3Ru-VczdZ3G??OI$;J=CGaA-(g3aPCJ7Wn81Fw20N;fEURaO!A25@H zTAid3)Xgj%rPcg}772Kjfh}l-hYy0fSgGlx)odqe1l7aR?+R&(#@iAY&cM9_plCb= zKqSn!Hk!9MbB8A~4((&XEh67VwcoKk~R(nO^uR;zi1q>(U#SlX}E z%#%Q825u1mh3FvykT6XdxKr22kU%s8rmoQqfJm5}4iwZK({;i$qe|d?1)j@lq_sID zP{6>~(8)cGpso_uyR6$;nuB@(iYcfISbCq3rf3vOU@`-Kr3MKzTB(WFYMv%(1hp4S zKc>|@B7tid=pX=!#@zr!!mMmhz7yJ0`SvbLmk4R{?YIP%GVq>K1K)f~%{5xh29kzv_p$W*TFpxmxPt+=QiFu) zs?_|#OtxkcNh4trSo$ulCQ|}c7^o!x3Q>0gkT547rZ6Pw8Z9O8EdxKJ9>PF1VgQJQ z8F&K)bqNI2Dd{vg6x0=5>330yqVc^1<}&b#0C)|PErNjOi?thXk~D&PCriJk)hw1k zDg$>ZH3({3rRG~^ax})0G=f^2r3Yv={UvZAo1C@_fP8BQKqSo6>&dqQ2&fq*mMVd_ zoh#MU+AczrfVUagfyOvt&_&M)m+<|%HtKVdhHsCt^e!PyAzCMaaSS}J)WEmFO3ejk zvTt)p8oqU8=^U+Qq68W<&`GI*HPw}x|7bNmNE!)q%0rPz)@oWw;5!BmLz(RU8U!F= zK4Rd!0LcEc?F6urfp>L{g8)RrGy#SCe-Ka!vyCc&_YhawsI{$3Odk&etcWOh0 z@HTLz2(9fTL?7Znvh!tKX+WmFL}**6zS!#5jC->TJglE7~dlG71N4f^d{;gZXmsnt{^ zY52C0rO&XP{2kC~7*4bk*KfL#7ba0 z17ARyoF^|PE8n_$RHKB#_R)M5PA4 z^;BvsX0mVDBn{tMvh--JW`qP{7^o)z%E?{;L{83WO}>5hfcC95RRZsO@UZ_wYpW@N ztqkmkPM+X!|6z@A$z`Q$qYgtc`L>v)4+v=r(Jl#0W8g`p2EN^^)Wm2t&yh5I>(A0Y zttLkT?HIUO0OZ?!0EBOEwIbh6Woh4Tqe|di1P}W^w6+^0aFl^d(8<2xs&22a1^Yi( zngec-G<;jf(pQ8u`4&Wr1iZk&he{26o3GTg(`r5X9i?W7R&xaQk#A43^k+hvLbO`~(;1j80P^iU0K&Jw63Mqt5Kz87O_jjw z#g+24wnrpz4FkQEQ8;(UDWkSAlYJXN((vt)n|$l5)wGwuFAQAfmW6L$371^fbgd?e zq~Y6#EPYBylW!+rI04HUSS0}R?Hd5Xw|eZ`a0sw(*iyZLD#5q=xY8_9iGTF!MM7Zi z?TkFD+sTzc2L|pCfGaBszyGJq{e+q9bq1shme54@Tnh^9PxtA@_u53`zk`SOAB8o( zo)9#?myw3L@fRhqfq}2s6T}MX^tuR<%Nn2>_wbK?=d!$0~xotaOCRUfaa z*9cYTpP;>iCFg~z^RJKI#LQlT$v;86l04kdoIJcVUVHee^w7Z-nu`h?-g(lIlaR*y zPeS^qlG{Hp^9(BSL;&x039In_N0vlrJ^b6r@3G_sAqi#&%7EvYxh|~wJXQU=Q1xmB zYsqFi+nk0PDkW5}3}G!VDb@I`An8mO28M>IPgd%wztnF9Ne64NbZa3U`eESn_mbN^ zm2%N5N0}+&CpvYnFch%6#!>fKV=B@m-wj|{wenBShBy6B=5La8Zh@BrC9We!OSLMO8*j0 z;rpME(rN{J$mWR&Wb=Q!_*8=YR)i|M|BQKBh%Wk^dnl$eG;h8!1ZBjqLi97TFp%) zjk_Sl_mER9w3-A7>}B8pl))*Q%c=k7Xerpqvc!4W@C@S$_+e`?& zp2f�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

bQvv11v53QIX)4z7D>RWOc+b*1{H0 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%0A;| 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 ~8 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�|&q& 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�Yo9!g^aiA#L3(4%ZeyQl-J6i!jPw?y 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 + + + \ No newline at end of file diff --git a/bindings/dotnet/UnicornSln.sln b/bindings/dotnet/UnicornSln.sln deleted file mode 100644 index 72b0b5ef..00000000 --- a/bindings/dotnet/UnicornSln.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30723.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Unicorn", "Unicorn\Unicorn.fsproj", "{6F0E55FA-A056-45FF-BB24-641457B430A8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnicornTests", "UnicornTests\UnicornTests.csproj", "{6437C22A-9DBD-47CE-8792-403BED230B54}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {6F0E55FA-A056-45FF-BB24-641457B430A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6F0E55FA-A056-45FF-BB24-641457B430A8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6F0E55FA-A056-45FF-BB24-641457B430A8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6F0E55FA-A056-45FF-BB24-641457B430A8}.Release|Any CPU.Build.0 = Release|Any CPU - {6437C22A-9DBD-47CE-8792-403BED230B54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6437C22A-9DBD-47CE-8792-403BED230B54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6437C22A-9DBD-47CE-8792-403BED230B54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6437C22A-9DBD-47CE-8792-403BED230B54}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/bindings/dotnet/UnicornTests/Program.cs b/bindings/dotnet/UnicornTests/Program.cs deleted file mode 100644 index 9cdd5cd2..00000000 --- a/bindings/dotnet/UnicornTests/Program.cs +++ /dev/null @@ -1,42 +0,0 @@ -/* - -.NET bindings for the UnicornEngine Emulator Engine - -Copyright(c) 2015 Antonio Parata - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -*/ - -using System; -using System.Collections.Generic; -using System.Text; -using UnicornEngine; -using UnicornEngine.Const; - -namespace UnicornTests -{ - class Program - { - static void Main(String[] args) - { - // Run all shellcode tests - ShellcodeTest.TestX86Code32Self(); - ShellcodeTest.TestX86Code32(); - - Console.Write("Tests completed"); - Console.ReadLine(); - } - } -} diff --git a/bindings/dotnet/UnicornTests/Utils.cs b/bindings/dotnet/UnicornTests/Utils.cs deleted file mode 100644 index 557a9a34..00000000 --- a/bindings/dotnet/UnicornTests/Utils.cs +++ /dev/null @@ -1,55 +0,0 @@ -/* - -.NET bindings for the UnicornEngine Emulator Engine - -Copyright(c) 2015 Antonio Parata - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using UnicornEngine.Const; - -namespace UnicornTests -{ - internal static class Utils - { - public static UInt64 ToInt(Byte[] val) - { - UInt64 res = 0; - for (var i = 0; i < val.Length; i++) - { - var v = val[i] & 0xFF; - res += (UInt64)(v << (i * 8)); - } - return res; - } - - public static Byte[] Int64ToBytes(UInt64 intVal) - { - var res = new Byte[8]; - for (var i = 0; i < res.Length; i++) - { - res[i] = (Byte)(intVal & 0xff); - intVal = intVal >> 8; - } - return res; - } - } -} From 2952d255c25814be8efe96b19a5c481bb239486e Mon Sep 17 00:00:00 2001 From: enkomio Date: Mon, 4 Jan 2016 11:31:17 +0100 Subject: [PATCH 3/6] Fixed spacing in constants files generation for .NET --- bindings/const_generator.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bindings/const_generator.py b/bindings/const_generator.py index e10601d2..c5a122bb 100644 --- a/bindings/const_generator.py +++ b/bindings/const_generator.py @@ -57,10 +57,10 @@ template = { 'comment_close': '', }, 'dotnet': { - 'header': "// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT\n\nnamespace UnicornEngine.Const\n\nopen System\n\n[]\nmodule %s =\n", + 'header': "// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT\n\nnamespace UnicornManaged.Const\n\nopen System\n\n[]\nmodule %s =\n", 'footer': "\n", - 'line_format': ' let UC_%s = %s\n', - 'out_file': os.path.join('dotnet', 'Unicorn', 'Const', '%s.fs'), + 'line_format': ' let UC_%s = %s\n', + 'out_file': os.path.join('dotnet', 'UnicornManaged', 'Const', '%s.fs'), # prefixes for constant filenames of all archs - case sensitive 'arm.h': 'Arm', 'arm64.h': 'Arm64', From 272fb8524f250857c123e096e32f2cea0c499abf Mon Sep 17 00:00:00 2001 From: enkomio Date: Mon, 4 Jan 2016 16:55:20 +0100 Subject: [PATCH 4/6] Fixed spacing in dotnet comment --- bindings/const_generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/const_generator.py b/bindings/const_generator.py index c5a122bb..7adafe33 100644 --- a/bindings/const_generator.py +++ b/bindings/const_generator.py @@ -69,7 +69,7 @@ template = { 'sparc.h': 'Sparc', 'm68k.h': 'M68k', 'unicorn.h': 'Common', - 'comment_open': '//', + 'comment_open': ' //', 'comment_close': '', }, } From 2c54f1a969a89d14fde7c7c8fbaf41369ba1e728 Mon Sep 17 00:00:00 2001 From: enkomio Date: Mon, 4 Jan 2016 16:59:05 +0100 Subject: [PATCH 5/6] Solution refactoring and bug fixing --- .../dotnet/UnicornManaged/Binding/IBinding.fs | 2 +- .../UnicornManaged/Binding/NativeBinding.fs | 2 +- bindings/dotnet/UnicornManaged/Const/Arm.fs | 4 +- bindings/dotnet/UnicornManaged/Const/Arm64.fs | 6 +- bindings/dotnet/UnicornManaged/Const/M68k.fs | 2 +- bindings/dotnet/UnicornManaged/Const/Mips.fs | 14 +- bindings/dotnet/UnicornManaged/Const/Sparc.fs | 2 +- bindings/dotnet/UnicornManaged/Const/X86.fs | 20 +- .../dotnet/UnicornManaged/ConvertUtility.fs | 21 ++ .../{Hooks.fs => InternalHooks.fs} | 4 +- bindings/dotnet/UnicornManaged/Unicorn.fs | 246 ++++++++++-------- .../UnicornManaged/UnicornManaged.fsproj | 3 +- bindings/dotnet/UnicornSamples/Program.cs | 10 +- .../dotnet/UnicornSamples/ShellcodeSample.cs | 16 +- .../UnicornSamples/UnicornSamples.csproj | 2 +- .../{X86Sample.cs => X86Sample32.cs} | 159 +++++++++-- 16 files changed, 338 insertions(+), 175 deletions(-) create mode 100644 bindings/dotnet/UnicornManaged/ConvertUtility.fs rename bindings/dotnet/UnicornManaged/{Hooks.fs => InternalHooks.fs} (91%) rename bindings/dotnet/UnicornSamples/{X86Sample.cs => X86Sample32.cs} (53%) diff --git a/bindings/dotnet/UnicornManaged/Binding/IBinding.fs b/bindings/dotnet/UnicornManaged/Binding/IBinding.fs index df3eb381..2ed038bc 100644 --- a/bindings/dotnet/UnicornManaged/Binding/IBinding.fs +++ b/bindings/dotnet/UnicornManaged/Binding/IBinding.fs @@ -22,7 +22,7 @@ type IBinding = abstract MemUnmap : UIntPtr * UInt64 * UIntPtr -> Int32 abstract MemProtect : UIntPtr * UInt64 * UIntPtr * UInt32 -> Int32 abstract HookAddNoarg : UIntPtr * UIntPtr * Int32 * UIntPtr * IntPtr -> Int32 - abstract HookAddArg0 : UIntPtr * UIntPtr * Int32 * UIntPtr * IntPtr * IntPtr -> Int32 + abstract HookAddArg0 : UIntPtr * UIntPtr * Int32 * UIntPtr * IntPtr * Int32 -> Int32 abstract HookAddArg0Arg1 : UIntPtr * UIntPtr * Int32 * UIntPtr * IntPtr * UInt64 * UInt64 -> Int32 end diff --git a/bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs b/bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs index 9f83ce21..4f37c7c8 100644 --- a/bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs +++ b/bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs @@ -63,7 +63,7 @@ module NativeBinding = extern Int32 uc_hook_add_noarg(UIntPtr eng, UIntPtr hh, Int32 callbackType, UIntPtr callback, IntPtr userData) [] - extern Int32 uc_hook_add_arg0(UIntPtr eng, UIntPtr hh, Int32 callbackType, UIntPtr callback, IntPtr userData, IntPtr arg0) + extern Int32 uc_hook_add_arg0(UIntPtr eng, UIntPtr hh, Int32 callbackType, UIntPtr callback, IntPtr userData, Int32 arg0) [] extern Int32 uc_hook_add_arg0_arg1(UIntPtr eng, UIntPtr hh, Int32 callbackType, UIntPtr callback, IntPtr userData, UInt64 arg0, UInt64 arg1) diff --git a/bindings/dotnet/UnicornManaged/Const/Arm.fs b/bindings/dotnet/UnicornManaged/Const/Arm.fs index 2132cee7..34eb91b6 100644 --- a/bindings/dotnet/UnicornManaged/Const/Arm.fs +++ b/bindings/dotnet/UnicornManaged/Const/Arm.fs @@ -7,7 +7,7 @@ open System [] module Arm = -// ARM registers + // ARM registers let UC_ARM_REG_INVALID = 0 let UC_ARM_REG_APSR = 1 @@ -122,7 +122,7 @@ module Arm = let UC_ARM_REG_S31 = 110 let UC_ARM_REG_ENDING = 111 -// alias registers + // alias registers let UC_ARM_REG_R13 = 12 let UC_ARM_REG_R14 = 10 let UC_ARM_REG_R15 = 11 diff --git a/bindings/dotnet/UnicornManaged/Const/Arm64.fs b/bindings/dotnet/UnicornManaged/Const/Arm64.fs index 553747ae..bb1a2140 100644 --- a/bindings/dotnet/UnicornManaged/Const/Arm64.fs +++ b/bindings/dotnet/UnicornManaged/Const/Arm64.fs @@ -7,7 +7,7 @@ open System [] module Arm64 = -// ARM64 registers + // ARM64 registers let UC_ARM64_REG_INVALID = 0 let UC_ARM64_REG_X29 = 1 @@ -270,11 +270,11 @@ module Arm64 = let UC_ARM64_REG_V30 = 258 let UC_ARM64_REG_V31 = 259 -// pseudo registers + // pseudo registers let UC_ARM64_REG_PC = 260 let UC_ARM64_REG_ENDING = 261 -// alias registers + // alias registers let UC_ARM64_REG_IP1 = 215 let UC_ARM64_REG_IP0 = 216 let UC_ARM64_REG_FP = 1 diff --git a/bindings/dotnet/UnicornManaged/Const/M68k.fs b/bindings/dotnet/UnicornManaged/Const/M68k.fs index e4495f45..8fc5157e 100644 --- a/bindings/dotnet/UnicornManaged/Const/M68k.fs +++ b/bindings/dotnet/UnicornManaged/Const/M68k.fs @@ -7,7 +7,7 @@ open System [] module M68k = -// M68K registers + // M68K registers let UC_M68K_REG_INVALID = 0 let UC_M68K_REG_A0 = 1 diff --git a/bindings/dotnet/UnicornManaged/Const/Mips.fs b/bindings/dotnet/UnicornManaged/Const/Mips.fs index d0fa03a9..4cc02627 100644 --- a/bindings/dotnet/UnicornManaged/Const/Mips.fs +++ b/bindings/dotnet/UnicornManaged/Const/Mips.fs @@ -7,11 +7,11 @@ open System [] module Mips = -// MIPS registers + // MIPS registers let UC_MIPS_REG_INVALID = 0 -// General purpose registers + // General purpose registers let UC_MIPS_REG_PC = 1 let UC_MIPS_REG_0 = 2 let UC_MIPS_REG_1 = 3 @@ -46,7 +46,7 @@ module Mips = let UC_MIPS_REG_30 = 32 let UC_MIPS_REG_31 = 33 -// DSP registers + // DSP registers let UC_MIPS_REG_DSPCCOND = 34 let UC_MIPS_REG_DSPCARRY = 35 let UC_MIPS_REG_DSPEFI = 36 @@ -59,13 +59,13 @@ module Mips = let UC_MIPS_REG_DSPPOS = 43 let UC_MIPS_REG_DSPSCOUNT = 44 -// ACC registers + // ACC registers let UC_MIPS_REG_AC0 = 45 let UC_MIPS_REG_AC1 = 46 let UC_MIPS_REG_AC2 = 47 let UC_MIPS_REG_AC3 = 48 -// COP registers + // COP registers let UC_MIPS_REG_CC0 = 49 let UC_MIPS_REG_CC1 = 50 let UC_MIPS_REG_CC2 = 51 @@ -75,7 +75,7 @@ module Mips = let UC_MIPS_REG_CC6 = 55 let UC_MIPS_REG_CC7 = 56 -// FPU registers + // FPU registers let UC_MIPS_REG_F0 = 57 let UC_MIPS_REG_F1 = 58 let UC_MIPS_REG_F2 = 59 @@ -117,7 +117,7 @@ module Mips = let UC_MIPS_REG_FCC6 = 95 let UC_MIPS_REG_FCC7 = 96 -// AFPR128 + // AFPR128 let UC_MIPS_REG_W0 = 97 let UC_MIPS_REG_W1 = 98 let UC_MIPS_REG_W2 = 99 diff --git a/bindings/dotnet/UnicornManaged/Const/Sparc.fs b/bindings/dotnet/UnicornManaged/Const/Sparc.fs index 84ebff7f..9a91e1a7 100644 --- a/bindings/dotnet/UnicornManaged/Const/Sparc.fs +++ b/bindings/dotnet/UnicornManaged/Const/Sparc.fs @@ -7,7 +7,7 @@ open System [] module Sparc = -// SPARC registers + // SPARC registers let UC_SPARC_REG_INVALID = 0 let UC_SPARC_REG_F0 = 1 diff --git a/bindings/dotnet/UnicornManaged/Const/X86.fs b/bindings/dotnet/UnicornManaged/Const/X86.fs index 53687a7d..01fca68e 100644 --- a/bindings/dotnet/UnicornManaged/Const/X86.fs +++ b/bindings/dotnet/UnicornManaged/Const/X86.fs @@ -7,7 +7,7 @@ open System [] module X86 = -// X86 registers + // X86 registers let UC_X86_REG_INVALID = 0 let UC_X86_REG_AH = 1 @@ -253,7 +253,7 @@ module X86 = let UC_X86_REG_R15W = 241 let UC_X86_REG_ENDING = 242 -// X86 instructions + // X86 instructions let UC_X86_INS_INVALID = 0 let UC_X86_INS_AAA = 1 @@ -378,7 +378,7 @@ module X86 = let UC_X86_INS_CVTPS2DQ = 120 let UC_X86_INS_CVTPS2PD = 121 let UC_X86_INS_CVTSD2SI = 122 - (*let UC_X86_INS_CVTSD2SS = 123 + let UC_X86_INS_CVTSD2SS = 123 let UC_X86_INS_CVTSI2SD = 124 let UC_X86_INS_CVTSI2SS = 125 let UC_X86_INS_CVTSS2SD = 126 @@ -472,9 +472,9 @@ module X86 = let UC_X86_INS_HSUBPS = 214 let UC_X86_INS_IDIV = 215 let UC_X86_INS_FILD = 216 - let UC_X86_INS_IMUL = 217*) + let UC_X86_INS_IMUL = 217 let UC_X86_INS_IN = 218 - (*let UC_X86_INS_INC = 219 + let UC_X86_INS_INC = 219 let UC_X86_INS_INSB = 220 let UC_X86_INS_INSERTPS = 221 let UC_X86_INS_INSERTQ = 222 @@ -754,9 +754,9 @@ module X86 = let UC_X86_INS_MWAIT = 496 let UC_X86_INS_NEG = 497 let UC_X86_INS_NOP = 498 - let UC_X86_INS_NOT = 499*) + let UC_X86_INS_NOT = 499 let UC_X86_INS_OUT = 500 - (*let UC_X86_INS_OUTSB = 501 + let UC_X86_INS_OUTSB = 501 let UC_X86_INS_OUTSD = 502 let UC_X86_INS_OUTSW = 503 let UC_X86_INS_PACKUSDW = 504 @@ -953,9 +953,9 @@ module X86 = let UC_X86_INS_FSUB = 695 let UC_X86_INS_FISUB = 696 let UC_X86_INS_FSUBP = 697 - let UC_X86_INS_SWAPGS = 698*) + let UC_X86_INS_SWAPGS = 698 let UC_X86_INS_SYSCALL = 699 - (*let UC_X86_INS_SYSENTER = 700 + let UC_X86_INS_SYSENTER = 700 let UC_X86_INS_SYSEXIT = 701 let UC_X86_INS_SYSRET = 702 let UC_X86_INS_T1MSKC = 703 @@ -1594,4 +1594,4 @@ module X86 = let UC_X86_INS_FDISI8087_NOP = 1336 let UC_X86_INS_FENI8087_NOP = 1337 let UC_X86_INS_ENDING = 1338 - *) + diff --git a/bindings/dotnet/UnicornManaged/ConvertUtility.fs b/bindings/dotnet/UnicornManaged/ConvertUtility.fs new file mode 100644 index 00000000..5e455bf7 --- /dev/null +++ b/bindings/dotnet/UnicornManaged/ConvertUtility.fs @@ -0,0 +1,21 @@ +namespace UnicornManaged + +open System + +[] +module internal ConvertUtility = + + let int64ToBytes(v: Int64) = + let res = Array.zeroCreate 8 + let mutable uv = uint64 v + for i = 0 to res.Length-1 do + res.[i] <- byte (uv &&& uint64 0xFF) + uv <- uv >>> 8 + res + + let bytesToInt64(v: Byte array) = + let mutable res = uint64 0 + for i = 0 to v.Length-1 do + let tmpV = v.[i] &&& byte 0xFF + res <- res + (uint64 tmpV <<< (i * 8)) + int64 res \ No newline at end of file diff --git a/bindings/dotnet/UnicornManaged/Hooks.fs b/bindings/dotnet/UnicornManaged/InternalHooks.fs similarity index 91% rename from bindings/dotnet/UnicornManaged/Hooks.fs rename to bindings/dotnet/UnicornManaged/InternalHooks.fs index c00e0a75..36cfc3ce 100644 --- a/bindings/dotnet/UnicornManaged/Hooks.fs +++ b/bindings/dotnet/UnicornManaged/InternalHooks.fs @@ -20,10 +20,10 @@ type internal MemReadHookInternal = delegate of IntPtr * Int64 * Int32 * IntPtr type internal MemWriteHookInternal = delegate of IntPtr * Int64 * Int32 * Int64 * IntPtr -> unit [] -type internal EventMemHookInternal = delegate of IntPtr * Int64 * Int32 * Int64 * IntPtr -> unit +type internal EventMemHookInternal = delegate of IntPtr * Int32 * Int64 * Int32 * Int64 * IntPtr-> Boolean [] -type internal InHookInternal = delegate of IntPtr * Int32 * Int32 * IntPtr -> unit +type internal InHookInternal = delegate of IntPtr * Int32 * Int32 * IntPtr -> Int32 [] type internal OutHookInternal = delegate of IntPtr * Int32 * Int32 * Int32 * IntPtr -> unit diff --git a/bindings/dotnet/UnicornManaged/Unicorn.fs b/bindings/dotnet/UnicornManaged/Unicorn.fs index e567ac74..cd8db3c1 100644 --- a/bindings/dotnet/UnicornManaged/Unicorn.fs +++ b/bindings/dotnet/UnicornManaged/Unicorn.fs @@ -4,6 +4,7 @@ open System open System.Threading open System.Collections.Generic open System.Runtime.InteropServices +open System.Linq open UnicornManaged.Const open UnicornManaged.Binding @@ -13,8 +14,8 @@ and BlockHook = delegate of Unicorn * Int64 * Int32 * Object -> unit and InterruptHook = delegate of Unicorn * Int32 * Object -> unit and MemReadHook = delegate of Unicorn * Int64 * Int32 * Object -> unit and MemWriteHook = delegate of Unicorn * Int64 * Int32 * Int64 * Object -> unit -and EventMemHook = delegate of Unicorn * Int64 * Int32 * Int64 * Object -> unit -and InHook = delegate of Unicorn * Int32 * Int32 * Object -> unit +and EventMemHook = delegate of Unicorn * Int32 * Int64 * Int32 * Int64 * Object -> Boolean +and InHook = delegate of Unicorn * Int32 * Int32 * Object -> Int32 and OutHook = delegate of Unicorn * Int32 * Int32 * Int32 * Object -> unit and SyscallHook = delegate of Unicorn * Object -> unit @@ -22,30 +23,36 @@ and SyscallHook = delegate of Unicorn * Object -> unit and Unicorn(arch: Int32, mode: Int32, binding: IBinding) = // hook callback list - let _codeHooks = new Dictionary() - let _blockHooks = new Dictionary() - let _interruptHooks = new Dictionary() - let _memReadHooks = new Dictionary() - let _memWriteHooks = new Dictionary() - let _memEventHooks = new Dictionary() - let _inHooks = new Dictionary() - let _outHooks = new Dictionary() - let _syscallHooks = new Dictionary() + let _codeHooks = new List<(CodeHook * Object)>() + let _blockHooks = new List<(BlockHook * Object)>() + let _interruptHooks = new List<(InterruptHook * Object)>() + let _memReadHooks = new List<(MemReadHook * Object)>() + let _memWriteHooks = new List<(MemWriteHook * Object)>() + let _memEventHooks = new Dictionary>() + let _inHooks = new List<(InHook * Object)>() + let _outHooks = new List<(OutHook * Object)>() + let _syscallHooks = new List<(SyscallHook * Object)>() let _disposablePointers = new List() + let _eventMemMap = + [ + (UC_HOOK_MEM_READ_UNMAPPED, UC_MEM_READ_UNMAPPED) + (UC_HOOK_MEM_WRITE_UNMAPPED, UC_MEM_WRITE_UNMAPPED) + (UC_HOOK_MEM_FETCH_UNMAPPED, UC_MEM_FETCH_UNMAPPED) + (UC_HOOK_MEM_READ_PROT, UC_MEM_READ_PROT) + (UC_HOOK_MEM_WRITE_PROT, UC_MEM_WRITE_PROT) + (UC_HOOK_MEM_FETCH_PROT, UC_MEM_FETCH_PROT) + ] |> dict + let mutable _eng = [|UIntPtr.Zero|] let checkResult(errCode: Int32, errMsg: String) = if errCode <> Common.UC_ERR_OK then raise(ApplicationException(String.Format("{0}. Error: {1}", errMsg, errCode))) - let getId = - let counter = ref 0 - fun () -> new IntPtr(Interlocked.Increment(counter)) - - let hookDel(callbacks: Dictionary) (callback: 'a)= + let hookDel(callbacks: List<'a * Object>) (callback: 'a)= // TODO: invoke the native function in order to not call the trampoline anymore - callbacks.Keys - |> Seq.tryFind(fun k -> match callbacks.[k] with | (c, _) -> c = callback) + callbacks + |> Seq.tryFind(fun item -> match item with | (c, _) -> c = callback) |> (fun k -> if k.IsSome then callbacks.Remove(k.Value) |> ignore) let allocate(size: Int32) = @@ -54,6 +61,12 @@ and Unicorn(arch: Int32, mode: Int32, binding: IBinding) = mem.ToPointer() do + // initialize event list + _eventMemMap + |> Seq.map(fun kv -> kv.Key) + |> Seq.iter (fun eventType -> _memEventHooks.Add(eventType, new List())) + + // init engine _eng <- [|new UIntPtr(allocate(IntPtr.Size))|] let err = binding.UcOpen(uint32 arch, uint32 mode, _eng) checkResult(err, "Unable to open the Unicorn Engine") @@ -101,10 +114,18 @@ and Unicorn(arch: Int32, mode: Int32, binding: IBinding) = match binding.RegWrite(_eng.[0], regId, value) |> this.CheckResult with | Some e -> raise e | None -> () + member this.RegWrite(regId: Int32, value: Int64) = + this.RegWrite(regId, int64ToBytes value) + member this.RegRead(regId: Int32, regValue: Byte array) = match binding.RegRead(_eng.[0], regId, regValue) |> this.CheckResult with | Some e -> raise e | None -> () + member this.RegRead(regId: Int32) = + let buffer = Array.zeroCreate 8 + this.RegRead(regId, buffer) + bytesToInt64 buffer + member this.EmuStart(beginAddr: Int64, untilAddr: Int64, timeout: Int64, count: Int64) = match binding.EmuStart(_eng.[0], uint64 beginAddr, uint64 untilAddr, uint64 timeout, uint64 count) |> this.CheckResult with | Some e -> raise e | None -> () @@ -129,18 +150,18 @@ and Unicorn(arch: Int32, mode: Int32, binding: IBinding) = member this.AddCodeHook(callback: CodeHook, userData: Object, beginAddr: Int64, endAddr: Int64) = let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (user: IntPtr) = - let (exist, (callback, userData)) = _codeHooks.TryGetValue(user) - if exist then callback.Invoke(this, addr, size, userData) + _codeHooks + |> Seq.iter(fun (callback, userData) -> callback.Invoke(this, addr, size, userData)) - let id = getId() - _codeHooks.Add(id, (callback, userData)) + if _codeHooks |> Seq.isEmpty then + let funcPointer = Marshal.GetFunctionPointerForDelegate(new CodeHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_CODE, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with + | Some e -> raise e | None -> () - let funcPointer = Marshal.GetFunctionPointerForDelegate(new CodeHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_CODE, new UIntPtr(funcPointer.ToPointer()), id, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with - | Some e -> raise e | None -> () + _codeHooks.Add(callback, userData) - member this.AddCodeHook(callback: CodeHook, beginAddr: Int64, endAddr: Int64) = + member this.AddCodeHook(callback: CodeHook, beginAddr: Int64, endAddr: Int64) = this.AddCodeHook(callback, null, beginAddr, endAddr) member this.HookDel(callback: CodeHook) = @@ -148,32 +169,32 @@ and Unicorn(arch: Int32, mode: Int32, binding: IBinding) = member this.AddBlockHook(callback: BlockHook, userData: Object, beginAddr: Int64, endAddr: Int64) = let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (user: IntPtr) = - let (exist, (callback, userData)) = _blockHooks.TryGetValue(user) - if exist then callback.Invoke(this, addr, size, userData) + _blockHooks + |> Seq.iter(fun (callback, userData) -> callback.Invoke(this, addr, size, userData)) - let id = getId() - _blockHooks.Add(id, (callback, userData)) + if _blockHooks |> Seq.isEmpty then + let funcPointer = Marshal.GetFunctionPointerForDelegate(new BlockHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_BLOCK, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with + | Some e -> raise e | None -> () - let funcPointer = Marshal.GetFunctionPointerForDelegate(new BlockHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_BLOCK, new UIntPtr(funcPointer.ToPointer()), id, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with - | Some e -> raise e | None -> () + _blockHooks.Add(callback, userData) member this.HookDel(callback: BlockHook) = hookDel _blockHooks callback member this.AddInterruptHook(callback: InterruptHook, userData: Object) = let trampoline(u: IntPtr) (intNumber: Int32) (user: IntPtr) = - let (exist, (callback, userData)) = _interruptHooks.TryGetValue(user) - if exist then callback.Invoke(this, intNumber, userData) + _interruptHooks + |> Seq.iter(fun (callback, userData) -> callback.Invoke(this, intNumber, userData)) + + if _interruptHooks |> Seq.isEmpty then + let funcPointer = Marshal.GetFunctionPointerForDelegate(new InterruptHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddNoarg(_eng.[0], hh, Common.UC_HOOK_INTR, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero) |> this.CheckResult with + | Some e -> raise e | None -> () - let id = getId() - _interruptHooks.Add(id, (callback, userData)) - - let funcPointer = Marshal.GetFunctionPointerForDelegate(new InterruptHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddNoarg(_eng.[0], hh, Common.UC_HOOK_INTR, new UIntPtr(funcPointer.ToPointer()), id) |> this.CheckResult with - | Some e -> raise e | None -> () + _interruptHooks.Add(callback, userData) member this.AddInterruptHook(callback: InterruptHook) = this.AddInterruptHook(callback, null) @@ -183,104 +204,113 @@ and Unicorn(arch: Int32, mode: Int32, binding: IBinding) = member this.AddMemReadHook(callback: MemReadHook, userData: Object, beginAddr: Int64, endAddr: Int64) = let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (user: IntPtr) = - let (exist, (callback, userData)) = _memReadHooks.TryGetValue(user) - if exist then callback.Invoke(this, addr, size, userData) + _memReadHooks + |> Seq.iter(fun (callback, userData) -> callback.Invoke(this, addr, size, userData)) - let id = getId() - _memReadHooks.Add(id, (callback, userData)) + if _memReadHooks |> Seq.isEmpty then + let funcPointer = Marshal.GetFunctionPointerForDelegate(new MemReadHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_MEM_READ, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with + | Some e -> raise e | None -> () - let funcPointer = Marshal.GetFunctionPointerForDelegate(new MemReadHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_MEM_READ, new UIntPtr(funcPointer.ToPointer()), id, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with - | Some e -> raise e | None -> () + _memReadHooks.Add(callback, userData) member this.HookDel(callback: MemReadHook) = hookDel _memReadHooks callback member this.AddMemWriteHook(callback: MemWriteHook, userData: Object, beginAddr: Int64, endAddr: Int64) = let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (value: Int64) (user: IntPtr) = - let (exist, (callback, userData)) = _memWriteHooks.TryGetValue(user) - if exist then callback.Invoke(this, addr, size, value, userData) + _memWriteHooks + |> Seq.iter(fun (callback, userData) -> callback.Invoke(this, addr, size, value, userData)) + + if _memWriteHooks |> Seq.isEmpty then + let funcPointer = Marshal.GetFunctionPointerForDelegate(new MemWriteHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_MEM_WRITE, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with + | Some e -> raise e | None -> () - let id = getId() - _memWriteHooks.Add(id, (callback, userData)) - - let funcPointer = Marshal.GetFunctionPointerForDelegate(new MemWriteHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddArg0Arg1(_eng.[0], hh, Common.UC_HOOK_MEM_WRITE, new UIntPtr(funcPointer.ToPointer()), id, uint64 beginAddr, uint64 endAddr) |> this.CheckResult with - | Some e -> raise e | None -> () + _memWriteHooks.Add(callback, userData) member this.HookDel(callback: MemWriteHook) = hookDel _memWriteHooks callback member this.AddEventMemHook(callback: EventMemHook, eventType: Int32, userData: Object) = - let trampoline(u: IntPtr) (addr: Int64) (size: Int32) (value: Int64) (user: IntPtr) = - let (exist, (callback, userData)) = _memEventHooks.TryGetValue(user) - if exist then callback.Invoke(this, addr, size, value, userData) - - let registEventMemHook(check: Int32) = - let id = getId() - _memEventHooks.Add(id, (callback, userData)) + let trampoline(u: IntPtr) (eventType: Int32) (addr: Int64) (size: Int32) (value: Int64) (user: IntPtr) = + _memEventHooks.Keys + |> Seq.filter(fun eventFlag -> (eventType &&& eventFlag) <> 0) + |> Seq.map(fun eventflag -> _memEventHooks.[eventflag]) + |> Seq.concat + |> Seq.map(fun (callback, userData) -> callback.Invoke(this, eventType, addr, size, value, userData)) + |> Seq.forall id + // register the event if not already done + _memEventHooks.Keys + |> Seq.filter(fun eventFlag -> (eventType &&& eventFlag) <> 0) + |> Seq.filter(fun eventFlag -> _memEventHooks.[eventFlag] |> Seq.isEmpty) + |> Seq.iter(fun eventFlag -> let funcPointer = Marshal.GetFunctionPointerForDelegate(new EventMemHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddNoarg(_eng.[0], hh, check, new UIntPtr(funcPointer.ToPointer()), id) |> this.CheckResult with + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddNoarg(_eng.[0], hh, eventFlag, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero) |> this.CheckResult with | Some e -> raise e | None -> () + ) - // test all the events types agains the input eventType - [ - Common.UC_HOOK_MEM_READ_UNMAPPED - Common.UC_HOOK_MEM_WRITE_UNMAPPED - Common.UC_HOOK_MEM_FETCH_UNMAPPED - Common.UC_HOOK_MEM_READ_PROT - Common.UC_HOOK_MEM_WRITE_PROT - Common.UC_HOOK_MEM_FETCH_PROT - ] - |> List.filter(fun eventFlag -> eventType &&& eventFlag <> 0) - |> List.map registEventMemHook - |> List.rev |> List.head + // register the callbacks + _memEventHooks.Keys + |> Seq.filter(fun eventFlag -> (eventType &&& eventFlag) <> 0) + |> Seq.iter(fun eventFlag -> _memEventHooks.[eventFlag].Add((callback, userData))) + + member this.AddEventMemHook(callback: EventMemHook, eventType: Int32) = + this.AddEventMemHook(callback, eventType, null) member this.HookDel(callback: EventMemHook) = - hookDel _memEventHooks callback + let callbacks = (_memEventHooks.Values |> Seq.concat).ToList() + hookDel callbacks callback member this.AddInHook(callback: InHook, userData: Object) = let trampoline(u: IntPtr) (port: Int32) (size: Int32) (user: IntPtr) = - let (exist, (callback, userData)) = _inHooks.TryGetValue(user) - if exist then callback.Invoke(this, port, size, userData) + _inHooks + |> Seq.map(fun (callback, userData) -> callback.Invoke(this, port, size, userData)) + |> Seq.last + + if _inHooks |> Seq.isEmpty then + let funcPointer = Marshal.GetFunctionPointerForDelegate(new InHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero, X86.UC_X86_INS_IN) |> this.CheckResult with + | Some e -> raise e | None -> () - let id = getId() - _inHooks.Add(id, (callback, userData)) + _inHooks.Add(callback, userData) - let funcPointer = Marshal.GetFunctionPointerForDelegate(new InHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_IN)) |> this.CheckResult with - | Some e -> raise e | None -> () + member this.AddInHook(callback: InHook) = + this.AddInHook(callback, null) member this.AddOutHook(callback: OutHook, userData: Object) = let trampoline(u: IntPtr) (port: Int32) (size: Int32) (value: Int32) (user: IntPtr) = - let (exist, (callback, userData)) = _outHooks.TryGetValue(user) - if exist then callback.Invoke(this, port, size, value, userData) + _outHooks + |> Seq.iter(fun (callback, userData) -> callback.Invoke(this, port, size, value, userData)) + + if _outHooks |> Seq.isEmpty then + let funcPointer = Marshal.GetFunctionPointerForDelegate(new OutHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero, X86.UC_X86_INS_OUT) |> this.CheckResult with + | Some e -> raise e | None -> () - let id = getId() - _outHooks.Add(id, (callback, userData)) + _outHooks.Add(callback, userData) - let funcPointer = Marshal.GetFunctionPointerForDelegate(new OutHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_OUT)) |> this.CheckResult with - | Some e -> raise e | None -> () + member this.AddOutHook(callback: OutHook) = + this.AddOutHook(callback, null) member this.AddSyscallHook(callback: SyscallHook, userData: Object) = let trampoline(u: IntPtr) (user: IntPtr) = - let (exist, (callback, userData)) = _syscallHooks.TryGetValue(user) - if exist then callback.Invoke(this, userData) + _syscallHooks + |> Seq.iter(fun (callback, userData) -> callback.Invoke(this, userData)) + + if _syscallHooks |> Seq.isEmpty then + let funcPointer = Marshal.GetFunctionPointerForDelegate(new SyscallHookInternal(trampoline)) + let hh = new UIntPtr(allocate(IntPtr.Size)) + match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), IntPtr.Zero, X86.UC_X86_INS_SYSCALL) |> this.CheckResult with + | Some e -> raise e | None -> () - let id = getId() - _syscallHooks.Add(id, (callback, userData)) - - let funcPointer = Marshal.GetFunctionPointerForDelegate(new SyscallHookInternal(trampoline)) - let hh = new UIntPtr(allocate(IntPtr.Size)) - match binding.HookAddArg0(_eng.[0], hh, Common.UC_HOOK_INSN, new UIntPtr(funcPointer.ToPointer()), id, new IntPtr(X86.UC_X86_INS_SYSCALL)) |> this.CheckResult with - | Some e -> raise e | None -> () + _syscallHooks.Add(callback, userData) member this.AddSyscallHook(callback: SyscallHook) = this.AddSyscallHook(callback, null) diff --git a/bindings/dotnet/UnicornManaged/UnicornManaged.fsproj b/bindings/dotnet/UnicornManaged/UnicornManaged.fsproj index b97c3ed6..e10cd735 100644 --- a/bindings/dotnet/UnicornManaged/UnicornManaged.fsproj +++ b/bindings/dotnet/UnicornManaged/UnicornManaged.fsproj @@ -57,7 +57,8 @@ - + + diff --git a/bindings/dotnet/UnicornSamples/Program.cs b/bindings/dotnet/UnicornSamples/Program.cs index 9206e083..41cfb19c 100644 --- a/bindings/dotnet/UnicornSamples/Program.cs +++ b/bindings/dotnet/UnicornSamples/Program.cs @@ -6,11 +6,11 @@ namespace UnicornSamples { static void Main(string[] args) { - // X86 tests - X86Sample.X86Code32(); - //X86Sample.X86Code32Loop(); - X86Sample.X86Code32InvalidMemRead(); - X86Sample.X86Code32InvalidMemWrite(); + // X86 tests 32bit + X86Sample32.X86Code32(); + X86Sample32.X86Code32InvalidMemRead(); + X86Sample32.X86Code32InvalidMemWriteWithRuntimeFix(); + X86Sample32.X86Code32InOut(); // Run all shellcode tests ShellcodeSample.X86Code32Self(); diff --git a/bindings/dotnet/UnicornSamples/ShellcodeSample.cs b/bindings/dotnet/UnicornSamples/ShellcodeSample.cs index 42e467dc..be654d6f 100644 --- a/bindings/dotnet/UnicornSamples/ShellcodeSample.cs +++ b/bindings/dotnet/UnicornSamples/ShellcodeSample.cs @@ -69,11 +69,7 @@ namespace UnicornSamples // write machine code to be emulated to memory u.MemWrite(address, code); - - //var read = new Byte[code.Length]; - //u.MemRead(address, read); - //Console.WriteLine(Disassemble(disassembler, code));// - + // initialize machine registers u.RegWrite(X86.UC_X86_REG_ESP, Utils.Int64ToBytes(address + 0x200000)); @@ -88,7 +84,7 @@ namespace UnicornSamples // handle SYSCALL u.AddSyscallHook(SyscallHookCallback); - + Console.WriteLine(">>> Start tracing code"); // emulate machine code in infinite time @@ -134,7 +130,7 @@ namespace UnicornSamples u.RegRead(X86.UC_X86_REG_EAX, eaxBuffer); var eax = Utils.ToInt(eaxBuffer); - Console.WriteLine("Syscall >>> EAX = 0x{0}", eax.ToString("X")); + Console.WriteLine("[!] Syscall EAX = 0x{0}", eax.ToString("X")); u.EmuStop(); } @@ -159,10 +155,10 @@ namespace UnicornSamples switch (eax) { default: - Console.WriteLine("Interrupt >>> 0x{0} num {1}, EAX=0x{2}", eip.ToString("X"), intNumber.ToString("X"), eax.ToString("X")); + Console.WriteLine("[!] Interrupt 0x{0} num {1}, EAX=0x{2}", eip.ToString("X"), intNumber.ToString("X"), eax.ToString("X")); break; case 1: // sys_exit - Console.WriteLine("Interrupt >>> 0x{0} num {1}, SYS_EXIT", eip.ToString("X"), intNumber.ToString("X")); + Console.WriteLine("[!] Interrupt 0x{0} num {1}, SYS_EXIT", eip.ToString("X"), intNumber.ToString("X")); u.EmuStop(); break; case 4: // sys_write @@ -186,7 +182,7 @@ namespace UnicornSamples var content = Encoding.Default.GetString(buffer); Console.WriteLine( - "Interrupt >>> 0x{0}: num {1}, SYS_WRITE. buffer = 0x{2}, size = , content = '{3}'", + "[!] Interrupt 0x{0}: num {1}, SYS_WRITE. buffer = 0x{2}, size = , content = '{3}'", eip.ToString("X"), ecx.ToString("X"), edx.ToString("X"), diff --git a/bindings/dotnet/UnicornSamples/UnicornSamples.csproj b/bindings/dotnet/UnicornSamples/UnicornSamples.csproj index 39845091..5fb55b61 100644 --- a/bindings/dotnet/UnicornSamples/UnicornSamples.csproj +++ b/bindings/dotnet/UnicornSamples/UnicornSamples.csproj @@ -69,7 +69,7 @@ - + diff --git a/bindings/dotnet/UnicornSamples/X86Sample.cs b/bindings/dotnet/UnicornSamples/X86Sample32.cs similarity index 53% rename from bindings/dotnet/UnicornSamples/X86Sample.cs rename to bindings/dotnet/UnicornSamples/X86Sample32.cs index ff662a61..f4b5da98 100644 --- a/bindings/dotnet/UnicornSamples/X86Sample.cs +++ b/bindings/dotnet/UnicornSamples/X86Sample32.cs @@ -12,7 +12,7 @@ using UnicornManaged.Const; namespace UnicornSamples { - internal class X86Sample + internal class X86Sample32 { private const Int64 ADDRESS = 0x1000000; @@ -25,17 +25,7 @@ namespace UnicornSamples }; Run(X86_CODE32); } - - public static void X86Code32Loop() - { - Byte[] X86_CODE32_LOOP = - { - // INC ecx; DEC edx; JMP self-loop - 0x41, 0x4a, 0xeb, 0xfe - }; - Run(X86_CODE32_LOOP); - } - + public static void X86Code32InvalidMemRead() { Byte[] X86_CODE32_MEM_READ = @@ -46,16 +36,27 @@ namespace UnicornSamples Run(X86_CODE32_MEM_READ, true); } - public static void X86Code32InvalidMemWrite() + public static void X86Code32InvalidMemWriteWithRuntimeFix() { Byte[] X86_CODE32_MEM_WRITE = { // mov [0xaaaaaaaa], ecx; INC ecx; DEC edx 0x89, 0x0D, 0xAA, 0xAA, 0xAA, 0xAA, 0x41, 0x4a }; - Run(X86_CODE32_MEM_WRITE, true); + Run(X86_CODE32_MEM_WRITE); } + public static void X86Code32InOut() + { + Byte[] X86_CODE32_INOUT = + { + // INC ecx; IN AL, 0x3f; DEC edx; OUT 0x46, AL; INC ebx + 0x41, 0xE4, 0x3F, 0x4a, 0xE6, 0x46, 0x43 + }; + Run(X86_CODE32_INOUT); + } + + private static void Run(Byte[] code, Boolean raiseException = false) { Console.WriteLine(); @@ -67,7 +68,7 @@ namespace UnicornSamples Exception e = null; try { - RunTest(code, ADDRESS); + RunTest(code, ADDRESS, Common.UC_MODE_32); } catch (UnicornEngineException ex) { @@ -83,9 +84,9 @@ namespace UnicornSamples Console.WriteLine(); } - private static void RunTest(Byte[] code, Int64 address) + private static void RunTest(Byte[] code, Int64 address, Int32 mode) { - using (var u = new Unicorn(Common.UC_ARCH_X86, Common.UC_MODE_32)) + using (var u = new Unicorn(Common.UC_ARCH_X86, mode)) using (var disassembler = CapstoneDisassembler.CreateX86Disassembler(DisassembleMode.Bit32)) { Console.WriteLine("Unicorn version: {0}", u.Version()); @@ -93,12 +94,21 @@ namespace UnicornSamples // map 2MB of memory for this emulation u.MemMap(address, 2 * 1024 * 1024, Common.UC_PROT_ALL); + // initialize machine registers + u.RegWrite(X86.UC_X86_REG_EAX, 0x1234); + u.RegWrite(X86.UC_X86_REG_ECX, 0x1234); + u.RegWrite(X86.UC_X86_REG_EDX, 0x7890); + // write machine code to be emulated to memory u.MemWrite(address, code); // initialize machine registers u.RegWrite(X86.UC_X86_REG_ESP, Utils.Int64ToBytes(address + 0x200000)); + // handle IN & OUT instruction + u.AddInHook(InHookCallback); + u.AddOutHook(OutHookCallback); + // tracing all instructions by having @begin > @end u.AddCodeHook((uc, addr, size, userData) => CodeHookCallback(disassembler, uc, addr, size, userData), 1, 0); @@ -108,14 +118,119 @@ namespace UnicornSamples // handle SYSCALL u.AddSyscallHook(SyscallHookCallback); + // intercept invalid memory events + u.AddEventMemHook(MemMapHookCallback, Common.UC_HOOK_MEM_READ_UNMAPPED | Common.UC_HOOK_MEM_WRITE_UNMAPPED); + Console.WriteLine(">>> Start tracing code"); // emulate machine code in infinite time u.EmuStart(address, address + code.Length, 0u, 0u); + // print registers + var ecx = u.RegRead(X86.UC_X86_REG_ECX); + var edx = u.RegRead(X86.UC_X86_REG_EDX); + var eax = u.RegRead(X86.UC_X86_REG_EAX); + Console.WriteLine("[!] EAX = {0}", eax.ToString("X")); + Console.WriteLine("[!] ECX = {0}", ecx.ToString("X")); + Console.WriteLine("[!] EDX = {0}", edx.ToString("X")); + Console.WriteLine(">>> Emulation Done!"); } - } + } + + private static Int32 InHookCallback(Unicorn u, Int32 port, Int32 size, Object userData) + { + var eip = u.RegRead(X86.UC_X86_REG_EIP); + Console.WriteLine("[!] Reading from port 0x{0}, size: {1}, address: 0x{2}", port.ToString("X"), size.ToString("X"), eip.ToString("X")); + var res = 0; + switch (size) + { + case 1: + // read 1 byte to AL + res = 0xf1; + break; + case 2: + // read 2 byte to AX + res = 0xf2; + break; + case 4: + // read 4 byte to EAX + res = 0xf4; + break; + } + + Console.WriteLine("[!] Return value: {0}", res.ToString("X")); + return res; + } + + private static void OutHookCallback(Unicorn u, Int32 port, Int32 size, Int32 value, Object userData) + { + var eip = u.RegRead(X86.UC_X86_REG_EIP); + Console.WriteLine("[!] Writing to port 0x{0}, size: {1}, value: 0x{2}, address: 0x{3}", port.ToString("X"), size.ToString("X"), value.ToString("X"), eip.ToString("X")); + + // confirm that value is indeed the value of AL/ AX / EAX + var v = 0L; + var regName = String.Empty; + switch (size) + { + case 1: + // read 1 byte in AL + v = u.RegRead(X86.UC_X86_REG_AL); + regName = "AL"; + break; + case 2: + // read 2 byte in AX + v = u.RegRead(X86.UC_X86_REG_AX); + regName = "AX"; + break; + case 4: + // read 4 byte in EAX + v = u.RegRead(X86.UC_X86_REG_EAX); + regName = "EAX"; + break; + } + + Console.WriteLine("[!] Register {0}: {1}", regName, v.ToString("X")); + } + + private static Boolean MemMapHookCallback(Unicorn u, Int32 eventType, Int64 address, Int32 size, Int64 value, Object userData) + { + if (eventType == Common.UC_MEM_WRITE_UNMAPPED) + { + Console.WriteLine("[!] Missing memory is being WRITE at 0x{0}, data size = {1}, data value = 0x{2}. Map memory.", address.ToString("X"), size.ToString("X"), value.ToString("X")); + u.MemMap(0xaaaa0000, 2 * 1024 * 1024, Common.UC_PROT_ALL); + return true; + } + else + { + return false; + } + } + + private static void CodeHookCallback1( + CapstoneDisassembler disassembler, + Unicorn u, + Int64 addr, + Int32 size, + Object userData) + { + Console.Write("[+] 0x{0}: ", addr.ToString("X")); + + var eipBuffer = new Byte[4]; + u.RegRead(X86.UC_X86_REG_EIP, eipBuffer); + + var effectiveSize = Math.Min(16, size); + var tmp = new Byte[effectiveSize]; + u.MemRead(addr, tmp); + + var sb = new StringBuilder(); + foreach (var t in tmp) + { + sb.AppendFormat("{0} ", (0xFF & t).ToString("X")); + } + Console.Write("{0,-20}", sb); + Console.WriteLine(Utils.Disassemble(disassembler, tmp)); + } private static void CodeHookCallback( CapstoneDisassembler disassembler, @@ -148,7 +263,7 @@ namespace UnicornSamples u.RegRead(X86.UC_X86_REG_EAX, eaxBuffer); var eax = Utils.ToInt(eaxBuffer); - Console.WriteLine("Syscall >>> EAX = 0x{0}", eax.ToString("X")); + Console.WriteLine("[!] Syscall EAX = 0x{0}", eax.ToString("X")); u.EmuStop(); } @@ -173,10 +288,10 @@ namespace UnicornSamples switch (eax) { default: - Console.WriteLine("Interrupt >>> 0x{0} num {1}, EAX=0x{2}", eip.ToString("X"), intNumber.ToString("X"), eax.ToString("X")); + Console.WriteLine("[!] Interrupt 0x{0} num {1}, EAX=0x{2}", eip.ToString("X"), intNumber.ToString("X"), eax.ToString("X")); break; case 1: // sys_exit - Console.WriteLine("Interrupt >>> 0x{0} num {1}, SYS_EXIT", eip.ToString("X"), intNumber.ToString("X")); + Console.WriteLine("[!] Interrupt 0x{0} num {1}, SYS_EXIT", eip.ToString("X"), intNumber.ToString("X")); u.EmuStop(); break; case 4: // sys_write @@ -200,7 +315,7 @@ namespace UnicornSamples var content = Encoding.Default.GetString(buffer); Console.WriteLine( - "Interrupt >>> 0x{0}: num {1}, SYS_WRITE. buffer = 0x{2}, size = , content = '{3}'", + "[!] Interrupt 0x{0}: num {1}, SYS_WRITE. buffer = 0x{2}, size = , content = '{3}'", eip.ToString("X"), ecx.ToString("X"), edx.ToString("X"), From 264c4c1b549f41496e6cb0b672c9f9f0e196c630 Mon Sep 17 00:00:00 2001 From: farmdve Date: Tue, 5 Jan 2016 18:02:54 +0200 Subject: [PATCH 6/6] Add some fixes to the tests. My mem_nofree test fails on the latest code as apparently my address and sizes overlap each other. The mem_unmap test failed as the invalid memory hook case was incorrect. --- tests/regress/mem_nofree.c | 4 ++-- tests/regress/mem_unmap.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/regress/mem_nofree.c b/tests/regress/mem_nofree.c index 72add193..12b620f7 100644 --- a/tests/regress/mem_nofree.c +++ b/tests/regress/mem_nofree.c @@ -5,8 +5,8 @@ #include -#define ADDRESS1 0x1000000 -#define ADDRESS2 0x2000000 +#define ADDRESS1 0x10000000 +#define ADDRESS2 0x20000000 #define SIZE (80 * 1024 * 1024) static void VM_exec() diff --git a/tests/regress/mem_unmap.c b/tests/regress/mem_unmap.c index 98e209f0..16a9f88a 100644 --- a/tests/regress/mem_unmap.c +++ b/tests/regress/mem_unmap.c @@ -135,7 +135,7 @@ static bool hook_mem_invalid(uc_engine *uc, uc_mem_type type, default: printf("not ok %d - memory invalid type: %d at 0x%" PRIx64 "\n", log_num++, type, addr); return false; - case UC_MEM_WRITE: + case UC_MEM_WRITE_UNMAPPED: printf("# write to invalid memory at 0x%"PRIx64 ", data size = %u, data value = 0x%"PRIx64 "\n", addr, size, value); if (uc_mem_read(uc, addr, &testval, sizeof(testval)) != UC_ERR_OK) {