# Class: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornEngine

UnicornEngine wrapper. Most methods are not thread\-safe.

## Constructor: UnicornEngine
- parameter: `arch`, type: `int`
- parameter: `mode`, type: `int`


## Method: close


## Method: emuStart
- parameter: `begin`, type: `long`
- parameter: `until`, type: `long`


## Method: emuStart
- parameter: `begin`, type: `long`
- parameter: `until`, type: `long`
- parameter: `timeout`, type: `long`
- parameter: `maxcount`, type: `long`


## Method: emuStop


## Method: getErrorMessage
- parameter: `errorCode`, type: `int`
- return type: `java.lang.String`


## Method: getLastError
- return type: `int`


## Method: hookAdd
- parameter: `hookType`, type: `int`
- parameter: `callback`, type: `com.sun.jna.Callback`
- return type: `com.sun.jna.Pointer`


## Method: hookAdd
- parameter: `hookType`, type: `int`
- parameter: `callback`, type: `com.sun.jna.Callback`
- parameter: `begin`, type: `long`
- parameter: `end`, type: `long`
- return type: `com.sun.jna.Pointer`


## Method: hookDel
- parameter: `hook`, type: `com.sun.jna.Pointer`


## Method: memIsMapped
- parameter: `address`, type: `long`
- return type: `boolean`


## Method: memMap
- parameter: `address`, type: `long`
- parameter: `size`, type: `long`
- parameter: `perms`, type: `int`


## Method: memRead
- parameter: `address`, type: `long`
- parameter: `data`, type: `byte[]`


## Method: memRead32
- parameter: `address`, type: `long`
- return type: `int`


## Method: memRead64
- parameter: `address`, type: `long`
- return type: `long`


## Method: memWrite
- parameter: `address`, type: `long`
- parameter: `data`, type: `byte[]`


## Method: regRead
- parameter: `regId`, type: `int`
- parameter: `buffer`, type: `byte[]`


## Method: regRead32
- parameter: `regId`, type: `int`
- return type: `int`


## Method: regRead64
- parameter: `regId`, type: `int`
- return type: `long`


## Method: regWrite
- parameter: `regId`, type: `int`
- parameter: `buffer`, type: `byte[]`


## Method: regWrite32
- parameter: `regId`, type: `int`
- parameter: `val`, type: `int`


## Method: regWrite64
- parameter: `regId`, type: `int`
- parameter: `val`, type: `long`


## Method: setCpuModel
- parameter: `cpuModel`, type: `int`


