Migrated dexdump from Dalvik (libdex) into Art (libart)

Rationale:
The new dexdump (temporarily called dexdump2 until we are
satisfied with the migration) is a re-implementation of the
original dexdump utility that was based on Dalvik functions
in libdex into a new dexdump that is now based on Art functions
in libart instead.

The output is identical to the original for *correct* DEX files.
Output in error messages and the usage() may differ, however,
since the new utility relies on Art parsing and verification.

NOTE 1:
ODEX files are no longer supported.

NOTE 2:
Where possible, I kept the file as close to the original
as possible, including some archaic C idioms on memory
allocation; those can be improved over time.

NOTE 3:
I used the standard Android.mk format for the new dexdump,
but this probably needs to be Art-i-fied.

NOTE 4:
Some minor issues that need resolution are marked with a TODO.

Bug: 17442393
Change-Id: I753743f64afcf4b84b8d33efbd1cfcb7908f0c3e
diff --git a/Android.mk b/Android.mk
index 54a33b2..6da370e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -78,6 +78,7 @@
 
 include $(art_path)/runtime/Android.mk
 include $(art_path)/compiler/Android.mk
+include $(art_path)/dexdump/Android.mk
 include $(art_path)/dex2oat/Android.mk
 include $(art_path)/disassembler/Android.mk
 include $(art_path)/oatdump/Android.mk
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 9f6dc9a..095b699 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -120,6 +120,7 @@
 
 RUNTIME_GTEST_COMMON_SRC_FILES := \
   cmdline/cmdline_parser_test.cc \
+  dexdump/dexdump_test.cc \
   imgdiag/imgdiag_test.cc \
   oatdump/oatdump_test.cc \
   runtime/arch/arch_test.cc \
diff --git a/dexdump/Android.mk b/dexdump/Android.mk
new file mode 100755
index 0000000..9b534b9
--- /dev/null
+++ b/dexdump/Android.mk
@@ -0,0 +1,55 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# TODO(ajcbik): Art-i-fy this makefile
+
+# TODO(ajcbik): rename dexdump2 into dexdump when Dalvik version is removed
+
+LOCAL_PATH:= $(call my-dir)
+
+dexdump_src_files := dexdump_main.cc dexdump.cc
+dexdump_c_includes := art/runtime
+dexdump_libraries := libart
+
+##
+## Build the device command line tool dexdump.
+##
+
+ifneq ($(SDK_ONLY),true)  # SDK_only doesn't need device version
+include $(CLEAR_VARS)
+LOCAL_CPP_EXTENSION := cc
+LOCAL_SRC_FILES := $(dexdump_src_files)
+LOCAL_C_INCLUDES := $(dexdump_c_includes)
+LOCAL_CFLAGS += -Wall
+LOCAL_SHARED_LIBRARIES += $(dexdump_libraries)
+LOCAL_MODULE := dexdump2
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_32_BIT_ONLY := true
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+##
+## Build the host command line tool dexdump.
+##
+
+include $(CLEAR_VARS)
+LOCAL_CPP_EXTENSION := cc
+LOCAL_SRC_FILES := $(dexdump_src_files)
+LOCAL_C_INCLUDES := $(dexdump_c_includes)
+LOCAL_CFLAGS += -Wall
+LOCAL_SHARED_LIBRARIES += $(dexdump_libraries)
+LOCAL_MODULE := dexdump2
+LOCAL_MODULE_TAGS := optional
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/dexdump/dexdump.cc b/dexdump/dexdump.cc
new file mode 100644
index 0000000..f55dccd
--- /dev/null
+++ b/dexdump/dexdump.cc
@@ -0,0 +1,1298 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Implementation file of the dexdump utility.
+ *
+ * This is a re-implementation of the original dexdump utility that was
+ * based on Dalvik functions in libdex into a new dexdump that is now
+ * based on Art functions in libart instead. The output is identical to
+ * the original for correct DEX files. Error messages may differ, however.
+ * Also, ODEX files are no longer supported.
+ *
+ * The dexdump tool is intended to mimic objdump.  When possible, use
+ * similar command-line arguments.
+ *
+ * Differences between XML output and the "current.xml" file:
+ * - classes in same package are not all grouped together; nothing is sorted
+ * - no "deprecated" on fields and methods
+ * - no "value" on fields
+ * - no parameter names
+ * - no generic signatures on parameters, e.g. type="java.lang.Class<?>"
+ * - class shows declared fields and methods; does not show inherited fields
+ */
+
+#include "dexdump.h"
+
+#include <inttypes.h>
+#include <stdio.h>
+
+#include <memory>
+#include <vector>
+
+#include "dex_file-inl.h"
+#include "dex_instruction-inl.h"
+
+namespace art {
+
+/*
+ * Options parsed in main driver.
+ */
+struct Options gOptions;
+
+/*
+ * Output file. Defaults to stdout, but tests can modify.
+ */
+FILE* gOutFile = stdout;
+
+/*
+ * Data types that match the definitions in the VM specification.
+ */
+typedef uint8_t  u1;
+typedef uint16_t u2;
+typedef uint32_t u4;
+typedef uint64_t u8;
+typedef int8_t   s1;
+typedef int16_t  s2;
+typedef int32_t  s4;
+typedef int64_t  s8;
+
+/*
+ * Basic information about a field or a method.
+ */
+struct FieldMethodInfo {
+  const char* classDescriptor;
+  const char* name;
+  const char* signature;
+};
+
+/*
+ * Flags for use with createAccessFlagStr().
+ */
+enum AccessFor {
+  kAccessForClass = 0, kAccessForMethod = 1, kAccessForField = 2, kAccessForMAX
+};
+const int kNumFlags = 18;
+
+/*
+ * Gets 2 little-endian bytes.
+ */
+static inline u2 get2LE(unsigned char const* pSrc) {
+  return pSrc[0] | (pSrc[1] << 8);
+}
+
+/*
+ * Converts a single-character primitive type into human-readable form.
+ */
+static const char* primitiveTypeLabel(char typeChar) {
+  switch (typeChar) {
+    case 'B': return "byte";
+    case 'C': return "char";
+    case 'D': return "double";
+    case 'F': return "float";
+    case 'I': return "int";
+    case 'J': return "long";
+    case 'S': return "short";
+    case 'V': return "void";
+    case 'Z': return "boolean";
+    default:  return "UNKNOWN";
+  }  // switch
+}
+
+/*
+ * Converts a type descriptor to human-readable "dotted" form.  For
+ * example, "Ljava/lang/String;" becomes "java.lang.String", and
+ * "[I" becomes "int[]".  Also converts '$' to '.', which means this
+ * form can't be converted back to a descriptor.
+ */
+static char* descriptorToDot(const char* str) {
+  int targetLen = strlen(str);
+  int offset = 0;
+
+  // Strip leading [s; will be added to end.
+  while (targetLen > 1 && str[offset] == '[') {
+    offset++;
+    targetLen--;
+  }  // while
+
+  const int arrayDepth = offset;
+
+  if (targetLen == 1) {
+    // Primitive type.
+    str = primitiveTypeLabel(str[offset]);
+    offset = 0;
+    targetLen = strlen(str);
+  } else {
+    // Account for leading 'L' and trailing ';'.
+    if (targetLen >= 2 && str[offset] == 'L' &&
+        str[offset + targetLen - 1] == ';') {
+      targetLen -= 2;
+      offset++;
+    }
+  }
+
+  // Copy class name over.
+  char* newStr = reinterpret_cast<char*>(
+      malloc(targetLen + arrayDepth * 2 + 1));
+  int i = 0;
+  for (; i < targetLen; i++) {
+    const char ch = str[offset + i];
+    newStr[i] = (ch == '/' || ch == '$') ? '.' : ch;
+  }  // for
+
+  // Add the appropriate number of brackets for arrays.
+  for (int j = 0; j < arrayDepth; j++) {
+    newStr[i++] = '[';
+    newStr[i++] = ']';
+  }  // for
+
+  newStr[i] = '\0';
+  return newStr;
+}
+
+/*
+ * Converts the class name portion of a type descriptor to human-readable
+ * "dotted" form.
+ *
+ * Returns a newly-allocated string.
+ */
+static char* descriptorClassToDot(const char* str) {
+  // Reduce to just the class name, trimming trailing ';'.
+  const char* lastSlash = strrchr(str, '/');
+  if (lastSlash == nullptr) {
+    lastSlash = str + 1;  // start past 'L'
+  } else {
+    lastSlash++;          // start past '/'
+  }
+
+  char* newStr = strdup(lastSlash);
+  newStr[strlen(lastSlash) - 1] = '\0';
+  for (char* cp = newStr; *cp != '\0'; cp++) {
+    if (*cp == '$') {
+      *cp = '.';
+    }
+  }  // for
+  return newStr;
+}
+
+/*
+ * Returns a quoted string representing the boolean value.
+ */
+static const char* quotedBool(bool val) {
+  return val ? "\"true\"" : "\"false\"";
+}
+
+/*
+ * Returns a quoted string representing the access flags.
+ */
+static const char* quotedVisibility(u4 accessFlags) {
+  if (accessFlags & kAccPublic) {
+    return "\"public\"";
+  } else if (accessFlags & kAccProtected) {
+    return "\"protected\"";
+  } else if (accessFlags & kAccPrivate) {
+    return "\"private\"";
+  } else {
+    return "\"package\"";
+  }
+}
+
+/*
+ * Counts the number of '1' bits in a word.
+ */
+static int countOnes(u4 val) {
+  val = val - ((val >> 1) & 0x55555555);
+  val = (val & 0x33333333) + ((val >> 2) & 0x33333333);
+  return (((val + (val >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24;
+}
+
+/*
+ * Creates a new string with human-readable access flags.
+ *
+ * In the base language the access_flags fields are type u2; in Dalvik
+ * they're u4.
+ */
+static char* createAccessFlagStr(u4 flags, AccessFor forWhat) {
+  static const char* kAccessStrings[kAccessForMAX][kNumFlags] = {
+    {
+      "PUBLIC",                /* 0x00001 */
+      "PRIVATE",               /* 0x00002 */
+      "PROTECTED",             /* 0x00004 */
+      "STATIC",                /* 0x00008 */
+      "FINAL",                 /* 0x00010 */
+      "?",                     /* 0x00020 */
+      "?",                     /* 0x00040 */
+      "?",                     /* 0x00080 */
+      "?",                     /* 0x00100 */
+      "INTERFACE",             /* 0x00200 */
+      "ABSTRACT",              /* 0x00400 */
+      "?",                     /* 0x00800 */
+      "SYNTHETIC",             /* 0x01000 */
+      "ANNOTATION",            /* 0x02000 */
+      "ENUM",                  /* 0x04000 */
+      "?",                     /* 0x08000 */
+      "VERIFIED",              /* 0x10000 */
+      "OPTIMIZED",             /* 0x20000 */
+    }, {
+      "PUBLIC",                /* 0x00001 */
+      "PRIVATE",               /* 0x00002 */
+      "PROTECTED",             /* 0x00004 */
+      "STATIC",                /* 0x00008 */
+      "FINAL",                 /* 0x00010 */
+      "SYNCHRONIZED",          /* 0x00020 */
+      "BRIDGE",                /* 0x00040 */
+      "VARARGS",               /* 0x00080 */
+      "NATIVE",                /* 0x00100 */
+      "?",                     /* 0x00200 */
+      "ABSTRACT",              /* 0x00400 */
+      "STRICT",                /* 0x00800 */
+      "SYNTHETIC",             /* 0x01000 */
+      "?",                     /* 0x02000 */
+      "?",                     /* 0x04000 */
+      "MIRANDA",               /* 0x08000 */
+      "CONSTRUCTOR",           /* 0x10000 */
+      "DECLARED_SYNCHRONIZED", /* 0x20000 */
+    }, {
+      "PUBLIC",                /* 0x00001 */
+      "PRIVATE",               /* 0x00002 */
+      "PROTECTED",             /* 0x00004 */
+      "STATIC",                /* 0x00008 */
+      "FINAL",                 /* 0x00010 */
+      "?",                     /* 0x00020 */
+      "VOLATILE",              /* 0x00040 */
+      "TRANSIENT",             /* 0x00080 */
+      "?",                     /* 0x00100 */
+      "?",                     /* 0x00200 */
+      "?",                     /* 0x00400 */
+      "?",                     /* 0x00800 */
+      "SYNTHETIC",             /* 0x01000 */
+      "?",                     /* 0x02000 */
+      "ENUM",                  /* 0x04000 */
+      "?",                     /* 0x08000 */
+      "?",                     /* 0x10000 */
+      "?",                     /* 0x20000 */
+    },
+  };
+
+  // Allocate enough storage to hold the expected number of strings,
+  // plus a space between each.  We over-allocate, using the longest
+  // string above as the base metric.
+  const int kLongest = 21;  // The strlen of longest string above.
+  const int count = countOnes(flags);
+  char* str;
+  char* cp;
+  cp = str = reinterpret_cast<char*>(malloc(count * (kLongest + 1) + 1));
+
+  for (int i = 0; i < kNumFlags; i++) {
+    if (flags & 0x01) {
+      const char* accessStr = kAccessStrings[forWhat][i];
+      const int len = strlen(accessStr);
+      if (cp != str) {
+        *cp++ = ' ';
+      }
+      memcpy(cp, accessStr, len);
+      cp += len;
+    }
+    flags >>= 1;
+  }  // for
+
+  *cp = '\0';
+  return str;
+}
+
+/*
+ * Copies character data from "data" to "out", converting non-ASCII values
+ * to fprintf format chars or an ASCII filler ('.' or '?').
+ *
+ * The output buffer must be able to hold (2*len)+1 bytes.  The result is
+ * NULL-terminated.
+ */
+static void asciify(char* out, const unsigned char* data, size_t len) {
+  while (len--) {
+    if (*data < 0x20) {
+      // Could do more here, but we don't need them yet.
+      switch (*data) {
+        case '\0':
+          *out++ = '\\';
+          *out++ = '0';
+          break;
+        case '\n':
+          *out++ = '\\';
+          *out++ = 'n';
+          break;
+        default:
+          *out++ = '.';
+          break;
+      }  // switch
+    } else if (*data >= 0x80) {
+      *out++ = '?';
+    } else {
+      *out++ = *data;
+    }
+    data++;
+  }  // while
+  *out = '\0';
+}
+
+/*
+ * Dumps the file header.
+ *
+ * Note that some of the : are misaligned on purpose to preserve
+ * the exact output of the original Dalvik dexdump.
+ */
+static void dumpFileHeader(const DexFile* pDexFile) {
+  const DexFile::Header& pHeader = pDexFile->GetHeader();
+  char sanitized[sizeof(pHeader.magic_) * 2 + 1];
+  fprintf(gOutFile, "DEX file header:\n");
+  asciify(sanitized, pHeader.magic_, sizeof(pHeader.magic_));
+  fprintf(gOutFile, "magic               : '%s'\n", sanitized);
+  fprintf(gOutFile, "checksum            : %08x\n", pHeader.checksum_);
+  fprintf(gOutFile, "signature           : %02x%02x...%02x%02x\n",
+          pHeader.signature_[0], pHeader.signature_[1],
+          pHeader.signature_[DexFile::kSha1DigestSize - 2],
+          pHeader.signature_[DexFile::kSha1DigestSize - 1]);
+  fprintf(gOutFile, "file_size           : %d\n", pHeader.file_size_);
+  fprintf(gOutFile, "header_size         : %d\n", pHeader.header_size_);
+  fprintf(gOutFile, "link_size           : %d\n", pHeader.link_size_);
+  fprintf(gOutFile, "link_off            : %d (0x%06x)\n",
+          pHeader.link_off_, pHeader.link_off_);
+  fprintf(gOutFile, "string_ids_size     : %d\n", pHeader.string_ids_size_);
+  fprintf(gOutFile, "string_ids_off      : %d (0x%06x)\n",
+          pHeader.string_ids_off_, pHeader.string_ids_off_);
+  fprintf(gOutFile, "type_ids_size       : %d\n", pHeader.type_ids_size_);
+  fprintf(gOutFile, "type_ids_off        : %d (0x%06x)\n",
+          pHeader.type_ids_off_, pHeader.type_ids_off_);
+  fprintf(gOutFile, "proto_ids_size       : %d\n", pHeader.proto_ids_size_);
+  fprintf(gOutFile, "proto_ids_off        : %d (0x%06x)\n",
+          pHeader.proto_ids_off_, pHeader.proto_ids_off_);
+  fprintf(gOutFile, "field_ids_size      : %d\n", pHeader.field_ids_size_);
+  fprintf(gOutFile, "field_ids_off       : %d (0x%06x)\n",
+          pHeader.field_ids_off_, pHeader.field_ids_off_);
+  fprintf(gOutFile, "method_ids_size     : %d\n", pHeader.method_ids_size_);
+  fprintf(gOutFile, "method_ids_off      : %d (0x%06x)\n",
+          pHeader.method_ids_off_, pHeader.method_ids_off_);
+  fprintf(gOutFile, "class_defs_size     : %d\n", pHeader.class_defs_size_);
+  fprintf(gOutFile, "class_defs_off      : %d (0x%06x)\n",
+          pHeader.class_defs_off_, pHeader.class_defs_off_);
+  fprintf(gOutFile, "data_size           : %d\n", pHeader.data_size_);
+  fprintf(gOutFile, "data_off            : %d (0x%06x)\n\n",
+          pHeader.data_off_, pHeader.data_off_);
+}
+
+/*
+ * Dumps a class_def_item.
+ */
+static void dumpClassDef(const DexFile* pDexFile, int idx) {
+  // General class information.
+  const DexFile::ClassDef& pClassDef = pDexFile->GetClassDef(idx);
+  fprintf(gOutFile, "Class #%d header:\n", idx);
+  fprintf(gOutFile, "class_idx           : %d\n", pClassDef.class_idx_);
+  fprintf(gOutFile, "access_flags        : %d (0x%04x)\n",
+          pClassDef.access_flags_, pClassDef.access_flags_);
+  fprintf(gOutFile, "superclass_idx      : %d\n", pClassDef.superclass_idx_);
+  fprintf(gOutFile, "interfaces_off      : %d (0x%06x)\n",
+          pClassDef.interfaces_off_, pClassDef.interfaces_off_);
+  fprintf(gOutFile, "source_file_idx     : %d\n", pClassDef.source_file_idx_);
+  fprintf(gOutFile, "annotations_off     : %d (0x%06x)\n",
+          pClassDef.annotations_off_, pClassDef.annotations_off_);
+  fprintf(gOutFile, "class_data_off      : %d (0x%06x)\n",
+          pClassDef.class_data_off_, pClassDef.class_data_off_);
+
+  // Fields and methods.
+  const u1* pEncodedData = pDexFile->GetClassData(pClassDef);
+  if (pEncodedData != nullptr) {
+    ClassDataItemIterator pClassData(*pDexFile, pEncodedData);
+    fprintf(gOutFile, "static_fields_size  : %d\n", pClassData.NumStaticFields());
+    fprintf(gOutFile, "instance_fields_size: %d\n", pClassData.NumInstanceFields());
+    fprintf(gOutFile, "direct_methods_size : %d\n", pClassData.NumDirectMethods());
+    fprintf(gOutFile, "virtual_methods_size: %d\n", pClassData.NumVirtualMethods());
+  } else {
+    fprintf(gOutFile, "static_fields_size  : 0\n");
+    fprintf(gOutFile, "instance_fields_size: 0\n");
+    fprintf(gOutFile, "direct_methods_size : 0\n");
+    fprintf(gOutFile, "virtual_methods_size: 0\n");
+  }
+  fprintf(gOutFile, "\n");
+}
+
+/*
+ * Dumps an interface that a class declares to implement.
+ */
+static void dumpInterface(const DexFile* pDexFile, const DexFile::TypeItem& pTypeItem, int i) {
+  const char* interfaceName = pDexFile->StringByTypeIdx(pTypeItem.type_idx_);
+  if (gOptions.outputFormat == OUTPUT_PLAIN) {
+    fprintf(gOutFile, "    #%d              : '%s'\n", i, interfaceName);
+  } else {
+    char* dotted = descriptorToDot(interfaceName);
+    fprintf(gOutFile, "<implements name=\"%s\">\n</implements>\n", dotted);
+    free(dotted);
+  }
+}
+
+/*
+ * Dumps the catches table associated with the code.
+ */
+static void dumpCatches(const DexFile* pDexFile, const DexFile::CodeItem* pCode) {
+  const u4 triesSize = pCode->tries_size_;
+
+  // No catch table.
+  if (triesSize == 0) {
+    fprintf(gOutFile, "      catches       : (none)\n");
+    return;
+  }
+
+  // Dump all table entries.
+  fprintf(gOutFile, "      catches       : %d\n", triesSize);
+  for (u4 i = 0; i < triesSize; i++) {
+    const DexFile::TryItem* pTry = pDexFile->GetTryItems(*pCode, i);
+    const u4 start = pTry->start_addr_;
+    const u4 end = start + pTry->insn_count_;
+    fprintf(gOutFile, "        0x%04x - 0x%04x\n", start, end);
+    for (CatchHandlerIterator it(*pCode, *pTry); it.HasNext(); it.Next()) {
+      const u2 tidx = it.GetHandlerTypeIndex();
+      const char* descriptor =
+          (tidx == DexFile::kDexNoIndex16) ? "<any>" : pDexFile->StringByTypeIdx(tidx);
+      fprintf(gOutFile, "          %s -> 0x%04x\n", descriptor, it.GetHandlerAddress());
+    }  // for
+  }  // for
+}
+
+/*
+ * Callback for dumping each positions table entry.
+ */
+static bool dumpPositionsCb(void* /*context*/, u4 address, u4 lineNum) {
+  fprintf(gOutFile, "        0x%04x line=%d\n", address, lineNum);
+  return false;
+}
+
+/*
+ * Callback for dumping locals table entry.
+ */
+static void dumpLocalsCb(void* /*context*/, u2 slot, u4 startAddress, u4 endAddress,
+                         const char* name, const char* descriptor, const char* signature) {
+  fprintf(gOutFile, "        0x%04x - 0x%04x reg=%d %s %s %s\n",
+          startAddress, endAddress, slot, name, descriptor, signature);
+}
+
+/*
+ * Helper for dumpInstruction(), which builds the string
+ * representation for the index in the given instruction. This will
+ * first try to use the given buffer, but if the result won't fit,
+ * then this will allocate a new buffer to hold the result. A pointer
+ * to the buffer which holds the full result is always returned, and
+ * this can be compared with the one passed in, to see if the result
+ * needs to be free()d.
+ */
+static char* indexString(const DexFile* pDexFile,
+                         const Instruction* pDecInsn, char* buf, size_t bufSize) {
+  // Determine index and width of the string.
+  u4 index = 0;
+  u4 width = 4;
+  switch (Instruction::FormatOf(pDecInsn->Opcode())) {
+    // SOME NOT SUPPORTED:
+    // case Instruction::k20bc:
+    case Instruction::k21c:
+    case Instruction::k35c:
+    // case Instruction::k35ms:
+    case Instruction::k3rc:
+    // case Instruction::k3rms:
+    // case Instruction::k35mi:
+    // case Instruction::k3rmi:
+      index = pDecInsn->VRegB();
+      width = 4;
+      break;
+    case Instruction::k31c:
+      index = pDecInsn->VRegB();
+      width = 8;
+      break;
+    case Instruction::k22c:
+    // case Instruction::k22cs:
+      index = pDecInsn->VRegC();
+      width = 4;
+      break;
+    default:
+      break;
+  }  // switch
+
+  // Determine index type.
+  size_t outSize = 0;
+  switch (Instruction::IndexTypeOf(pDecInsn->Opcode())) {
+    case Instruction::kIndexUnknown:
+      // This function should never get called for this type, but do
+      // something sensible here, just to help with debugging.
+      outSize = snprintf(buf, bufSize, "<unknown-index>");
+      break;
+    case Instruction::kIndexNone:
+      // This function should never get called for this type, but do
+      // something sensible here, just to help with debugging.
+      outSize = snprintf(buf, bufSize, "<no-index>");
+      break;
+    case Instruction::kIndexTypeRef:
+      if (index < pDexFile->GetHeader().type_ids_size_) {
+        const char* tp = pDexFile->StringByTypeIdx(index);
+        outSize = snprintf(buf, bufSize, "%s // type@%0*x", tp, width, index);
+      } else {
+        outSize = snprintf(buf, bufSize, "<type?> // type@%0*x", width, index);
+      }
+      break;
+    case Instruction::kIndexStringRef:
+      if (index < pDexFile->GetHeader().string_ids_size_) {
+        const char* st = pDexFile->StringDataByIdx(index);
+        outSize = snprintf(buf, bufSize, "\"%s\" // string@%0*x", st, width, index);
+      } else {
+        outSize = snprintf(buf, bufSize, "<string?> // string@%0*x", width, index);
+      }
+      break;
+    case Instruction::kIndexMethodRef:
+      if (index < pDexFile->GetHeader().method_ids_size_) {
+        const DexFile::MethodId& pMethodId = pDexFile->GetMethodId(index);
+        const char* name = pDexFile->StringDataByIdx(pMethodId.name_idx_);
+        const Signature signature = pDexFile->GetMethodSignature(pMethodId);
+        const char* backDescriptor = pDexFile->StringByTypeIdx(pMethodId.class_idx_);
+        outSize = snprintf(buf, bufSize, "%s.%s:%s // method@%0*x",
+                           backDescriptor, name, signature.ToString().c_str(), width, index);
+      } else {
+        outSize = snprintf(buf, bufSize, "<method?> // method@%0*x", width, index);
+      }
+      break;
+    case Instruction::kIndexFieldRef:
+      if (index < pDexFile->GetHeader().field_ids_size_) {
+        const DexFile::FieldId& pFieldId = pDexFile->GetFieldId(index);
+        const char* name = pDexFile->StringDataByIdx(pFieldId.name_idx_);
+        const char* typeDescriptor = pDexFile->StringByTypeIdx(pFieldId.type_idx_);
+        const char* backDescriptor = pDexFile->StringByTypeIdx(pFieldId.class_idx_);
+        outSize = snprintf(buf, bufSize, "%s.%s:%s // field@%0*x",
+                           backDescriptor, name, typeDescriptor, width, index);
+      } else {
+        outSize = snprintf(buf, bufSize, "<field?> // field@%0*x", width, index);
+      }
+      break;
+    case Instruction::kIndexVtableOffset:
+      outSize = snprintf(buf, bufSize, "[%0*x] // vtable #%0*x",
+                         width, index, width, index);
+      break;
+    case Instruction::kIndexFieldOffset:
+      outSize = snprintf(buf, bufSize, "[obj+%0*x]", width, index);
+      break;
+    // SOME NOT SUPPORTED:
+    // case Instruction::kIndexVaries:
+    // case Instruction::kIndexInlineMethod:
+    default:
+      outSize = snprintf(buf, bufSize, "<?>");
+      break;
+  }  // switch
+
+  // Determine success of string construction.
+  if (outSize >= bufSize) {
+    // The buffer wasn't big enough; allocate and retry. Note:
+    // snprintf() doesn't count the '\0' as part of its returned
+    // size, so we add explicit space for it here.
+    outSize++;
+    buf = reinterpret_cast<char*>(malloc(outSize));
+    if (buf == nullptr) {
+      return nullptr;
+    }
+    return indexString(pDexFile, pDecInsn, buf, outSize);
+  }
+  return buf;
+}
+
+/*
+ * Dumps a single instruction.
+ */
+static void dumpInstruction(const DexFile* pDexFile,
+                            const DexFile::CodeItem* pCode,
+                            u4 codeOffset, u4 insnIdx, u4 insnWidth,
+                            const Instruction* pDecInsn) {
+  // Address of instruction (expressed as byte offset).
+  fprintf(gOutFile, "%06x:", codeOffset + 0x10 + insnIdx * 2);
+
+  // Dump (part of) raw bytes.
+  const u2* insns = pCode->insns_;
+  for (u4 i = 0; i < 8; i++) {
+    if (i < insnWidth) {
+      if (i == 7) {
+        fprintf(gOutFile, " ... ");
+      } else {
+        // Print 16-bit value in little-endian order.
+        const u1* bytePtr = (const u1*) &insns[insnIdx + i];
+        fprintf(gOutFile, " %02x%02x", bytePtr[0], bytePtr[1]);
+      }
+    } else {
+      fputs("     ", gOutFile);
+    }
+  }  // for
+
+  // Dump pseudo-instruction or opcode.
+  if (pDecInsn->Opcode() == Instruction::NOP) {
+    const u2 instr = get2LE((const u1*) &insns[insnIdx]);
+    if (instr == Instruction::kPackedSwitchSignature) {
+      fprintf(gOutFile, "|%04x: packed-switch-data (%d units)", insnIdx, insnWidth);
+    } else if (instr == Instruction::kSparseSwitchSignature) {
+      fprintf(gOutFile, "|%04x: sparse-switch-data (%d units)", insnIdx, insnWidth);
+    } else if (instr == Instruction::kArrayDataSignature) {
+      fprintf(gOutFile, "|%04x: array-data (%d units)", insnIdx, insnWidth);
+    } else {
+      fprintf(gOutFile, "|%04x: nop // spacer", insnIdx);
+    }
+  } else {
+    fprintf(gOutFile, "|%04x: %s", insnIdx, pDecInsn->Name());
+  }
+
+  // Set up additional argument.
+  char indexBufChars[200];
+  char *indexBuf = indexBufChars;
+  if (Instruction::IndexTypeOf(pDecInsn->Opcode()) != Instruction::kIndexNone) {
+    indexBuf = indexString(pDexFile, pDecInsn,
+                           indexBufChars, sizeof(indexBufChars));
+  }
+
+  // Dump the instruction.
+  //
+  // NOTE: pDecInsn->DumpString(pDexFile) differs too much from original.
+  //
+  switch (Instruction::FormatOf(pDecInsn->Opcode())) {
+    case Instruction::k10x:        // op
+      break;
+    case Instruction::k12x:        // op vA, vB
+      fprintf(gOutFile, " v%d, v%d", pDecInsn->VRegA(), pDecInsn->VRegB());
+      break;
+    case Instruction::k11n:        // op vA, #+B
+      fprintf(gOutFile, " v%d, #int %d // #%x",
+              pDecInsn->VRegA(), (s4) pDecInsn->VRegB(), (u1)pDecInsn->VRegB());
+      break;
+    case Instruction::k11x:        // op vAA
+      fprintf(gOutFile, " v%d", pDecInsn->VRegA());
+      break;
+    case Instruction::k10t:        // op +AA
+    case Instruction::k20t:        // op +AAAA
+      {
+        const s4 targ = (s4) pDecInsn->VRegA();
+        fprintf(gOutFile, " %04x // %c%04x",
+                insnIdx + targ,
+                (targ < 0) ? '-' : '+',
+                (targ < 0) ? -targ : targ);
+      }
+      break;
+    case Instruction::k22x:        // op vAA, vBBBB
+      fprintf(gOutFile, " v%d, v%d", pDecInsn->VRegA(), pDecInsn->VRegB());
+      break;
+    case Instruction::k21t:        // op vAA, +BBBB
+      {
+        const s4 targ = (s4) pDecInsn->VRegB();
+        fprintf(gOutFile, " v%d, %04x // %c%04x", pDecInsn->VRegA(),
+                insnIdx + targ,
+                (targ < 0) ? '-' : '+',
+                (targ < 0) ? -targ : targ);
+      }
+      break;
+    case Instruction::k21s:        // op vAA, #+BBBB
+      fprintf(gOutFile, " v%d, #int %d // #%x",
+              pDecInsn->VRegA(), (s4) pDecInsn->VRegB(), (u2)pDecInsn->VRegB());
+      break;
+    case Instruction::k21h:        // op vAA, #+BBBB0000[00000000]
+      // The printed format varies a bit based on the actual opcode.
+      if (pDecInsn->Opcode() == Instruction::CONST_HIGH16) {
+        const s4 value = pDecInsn->VRegB() << 16;
+        fprintf(gOutFile, " v%d, #int %d // #%x",
+                pDecInsn->VRegA(), value, (u2) pDecInsn->VRegB());
+      } else {
+        const s8 value = ((s8) pDecInsn->VRegB()) << 48;
+        fprintf(gOutFile, " v%d, #long %" PRId64 " // #%x",
+                pDecInsn->VRegA(), value, (u2) pDecInsn->VRegB());
+      }
+      break;
+    case Instruction::k21c:        // op vAA, thing@BBBB
+    case Instruction::k31c:        // op vAA, thing@BBBBBBBB
+      fprintf(gOutFile, " v%d, %s", pDecInsn->VRegA(), indexBuf);
+      break;
+    case Instruction::k23x:        // op vAA, vBB, vCC
+      fprintf(gOutFile, " v%d, v%d, v%d",
+              pDecInsn->VRegA(), pDecInsn->VRegB(), pDecInsn->VRegC());
+      break;
+    case Instruction::k22b:        // op vAA, vBB, #+CC
+      fprintf(gOutFile, " v%d, v%d, #int %d // #%02x",
+              pDecInsn->VRegA(), pDecInsn->VRegB(),
+              (s4) pDecInsn->VRegC(), (u1) pDecInsn->VRegC());
+      break;
+    case Instruction::k22t:        // op vA, vB, +CCCC
+      {
+        const s4 targ = (s4) pDecInsn->VRegC();
+        fprintf(gOutFile, " v%d, v%d, %04x // %c%04x",
+                pDecInsn->VRegA(), pDecInsn->VRegB(),
+                insnIdx + targ,
+                (targ < 0) ? '-' : '+',
+                (targ < 0) ? -targ : targ);
+      }
+      break;
+    case Instruction::k22s:        // op vA, vB, #+CCCC
+      fprintf(gOutFile, " v%d, v%d, #int %d // #%04x",
+              pDecInsn->VRegA(), pDecInsn->VRegB(),
+              (s4) pDecInsn->VRegC(), (u2) pDecInsn->VRegC());
+      break;
+    case Instruction::k22c:        // op vA, vB, thing@CCCC
+    // NOT SUPPORTED:
+    // case Instruction::k22cs:    // [opt] op vA, vB, field offset CCCC
+      fprintf(gOutFile, " v%d, v%d, %s",
+              pDecInsn->VRegA(), pDecInsn->VRegB(), indexBuf);
+      break;
+    case Instruction::k30t:
+      fprintf(gOutFile, " #%08x", pDecInsn->VRegA());
+      break;
+    case Instruction::k31i:        // op vAA, #+BBBBBBBB
+      {
+        // This is often, but not always, a float.
+        union {
+          float f;
+          u4 i;
+        } conv;
+        conv.i = pDecInsn->VRegB();
+        fprintf(gOutFile, " v%d, #float %f // #%08x",
+                pDecInsn->VRegA(), conv.f, pDecInsn->VRegB());
+      }
+      break;
+    case Instruction::k31t:       // op vAA, offset +BBBBBBBB
+      fprintf(gOutFile, " v%d, %08x // +%08x",
+              pDecInsn->VRegA(), insnIdx + pDecInsn->VRegB(), pDecInsn->VRegB());
+      break;
+    case Instruction::k32x:        // op vAAAA, vBBBB
+      fprintf(gOutFile, " v%d, v%d", pDecInsn->VRegA(), pDecInsn->VRegB());
+      break;
+    case Instruction::k35c:        // op {vC, vD, vE, vF, vG}, thing@BBBB
+    // NOT SUPPORTED:
+    // case Instruction::k35ms:       // [opt] invoke-virtual+super
+    // case Instruction::k35mi:       // [opt] inline invoke
+      {
+        u4 arg[5];
+        pDecInsn->GetVarArgs(arg);
+        fputs(" {", gOutFile);
+        for (int i = 0, n = pDecInsn->VRegA(); i < n; i++) {
+          if (i == 0) {
+            fprintf(gOutFile, "v%d", arg[i]);
+          } else {
+            fprintf(gOutFile, ", v%d", arg[i]);
+          }
+        }  // for
+        fprintf(gOutFile, "}, %s", indexBuf);
+      }
+      break;
+    case Instruction::k3rc:        // op {vCCCC .. v(CCCC+AA-1)}, thing@BBBB
+    // NOT SUPPORTED:
+    // case Instruction::k3rms:       // [opt] invoke-virtual+super/range
+    // case Instruction::k3rmi:       // [opt] execute-inline/range
+      {
+        // This doesn't match the "dx" output when some of the args are
+        // 64-bit values -- dx only shows the first register.
+        fputs(" {", gOutFile);
+        for (int i = 0, n = pDecInsn->VRegA(); i < n; i++) {
+          if (i == 0) {
+            fprintf(gOutFile, "v%d", pDecInsn->VRegC() + i);
+          } else {
+            fprintf(gOutFile, ", v%d", pDecInsn->VRegC() + i);
+          }
+        }  // for
+        fprintf(gOutFile, "}, %s", indexBuf);
+      }
+      break;
+    case Instruction::k51l:        // op vAA, #+BBBBBBBBBBBBBBBB
+      {
+        // This is often, but not always, a double.
+        union {
+          double d;
+          u8 j;
+        } conv;
+        conv.j = pDecInsn->WideVRegB();
+        fprintf(gOutFile, " v%d, #double %f // #%016" PRIx64,
+                pDecInsn->VRegA(), conv.d, pDecInsn->WideVRegB());
+      }
+      break;
+    // NOT SUPPORTED:
+    // case Instruction::k00x:        // unknown op or breakpoint
+    //    break;
+    default:
+      fprintf(gOutFile, " ???");
+      break;
+  }  // switch
+
+  fputc('\n', gOutFile);
+
+  if (indexBuf != indexBufChars) {
+    free(indexBuf);
+  }
+}
+
+/*
+ * Dumps a bytecode disassembly.
+ */
+static void dumpBytecodes(const DexFile* pDexFile, u4 idx,
+                          const DexFile::CodeItem* pCode, u4 codeOffset) {
+  const DexFile::MethodId& pMethodId = pDexFile->GetMethodId(idx);
+  const char* name = pDexFile->StringDataByIdx(pMethodId.name_idx_);
+  const Signature signature = pDexFile->GetMethodSignature(pMethodId);
+  const char* backDescriptor = pDexFile->StringByTypeIdx(pMethodId.class_idx_);
+
+  // Generate header.
+  char* tmp = descriptorToDot(backDescriptor);
+  fprintf(gOutFile, "%06x:                                        "
+          "|[%06x] %s.%s:%s\n",
+          codeOffset, codeOffset, tmp, name, signature.ToString().c_str());
+  free(tmp);
+
+  // Iterate over all instructions.
+  const u2* insns = pCode->insns_;
+  for (u4 insnIdx = 0; insnIdx < pCode->insns_size_in_code_units_;) {
+    const Instruction* instruction = Instruction::At(&insns[insnIdx]);
+    const u4 insnWidth = instruction->SizeInCodeUnits();
+    if (insnWidth == 0) {
+      fprintf(stderr, "GLITCH: zero-width instruction at idx=0x%04x\n", insnIdx);
+      break;
+    }
+    dumpInstruction(pDexFile, pCode, codeOffset, insnIdx, insnWidth, instruction);
+    insnIdx += insnWidth;
+  }  // for
+}
+
+/*
+ * Dumps code of a method.
+ */
+static void dumpCode(const DexFile* pDexFile, u4 idx, u4 flags,
+                     const DexFile::CodeItem* pCode, u4 codeOffset) {
+  fprintf(gOutFile, "      registers     : %d\n", pCode->registers_size_);
+  fprintf(gOutFile, "      ins           : %d\n", pCode->ins_size_);
+  fprintf(gOutFile, "      outs          : %d\n", pCode->outs_size_);
+  fprintf(gOutFile, "      insns size    : %d 16-bit code units\n",
+          pCode->insns_size_in_code_units_);
+
+  // Bytecode disassembly, if requested.
+  if (gOptions.disassemble) {
+    dumpBytecodes(pDexFile, idx, pCode, codeOffset);
+  }
+
+  // Try-catch blocks.
+  dumpCatches(pDexFile, pCode);
+
+  // Positions and locals table in the debug info.
+  bool is_static = (flags & kAccStatic) != 0;
+  fprintf(gOutFile, "      positions     : \n");
+  pDexFile->DecodeDebugInfo(
+      pCode, is_static, idx, dumpPositionsCb, nullptr, nullptr);
+  fprintf(gOutFile, "      locals        : \n");
+  pDexFile->DecodeDebugInfo(
+      pCode, is_static, idx, nullptr, dumpLocalsCb, nullptr);
+}
+
+/*
+ * Dumps a method.
+ */
+static void dumpMethod(const DexFile* pDexFile, u4 idx, u4 flags,
+                       const DexFile::CodeItem* pCode, u4 codeOffset, int i) {
+  // Bail for anything private if export only requested.
+  if (gOptions.exportsOnly && (flags & (kAccPublic | kAccProtected)) == 0) {
+    return;
+  }
+
+  const DexFile::MethodId& pMethodId = pDexFile->GetMethodId(idx);
+  const char* name = pDexFile->StringDataByIdx(pMethodId.name_idx_);
+  const Signature signature = pDexFile->GetMethodSignature(pMethodId);
+  char* typeDescriptor = strdup(signature.ToString().c_str());
+  const char* backDescriptor = pDexFile->StringByTypeIdx(pMethodId.class_idx_);
+  char* accessStr = createAccessFlagStr(flags, kAccessForMethod);
+
+  if (gOptions.outputFormat == OUTPUT_PLAIN) {
+    fprintf(gOutFile, "    #%d              : (in %s)\n", i, backDescriptor);
+    fprintf(gOutFile, "      name          : '%s'\n", name);
+    fprintf(gOutFile, "      type          : '%s'\n", typeDescriptor);
+    fprintf(gOutFile, "      access        : 0x%04x (%s)\n", flags, accessStr);
+    if (pCode == nullptr) {
+      fprintf(gOutFile, "      code          : (none)\n");
+    } else {
+      fprintf(gOutFile, "      code          -\n");
+      dumpCode(pDexFile, idx, flags, pCode, codeOffset);
+    }
+    if (gOptions.disassemble) {
+      fputc('\n', gOutFile);
+    }
+  } else if (gOptions.outputFormat == OUTPUT_XML) {
+    const bool constructor = (name[0] == '<');
+
+    // Method name and prototype.
+    if (constructor) {
+      char* tmp = descriptorClassToDot(backDescriptor);
+      fprintf(gOutFile, "<constructor name=\"%s\"\n", tmp);
+      free(tmp);
+      tmp = descriptorToDot(backDescriptor);
+      fprintf(gOutFile, " type=\"%s\"\n", tmp);
+      free(tmp);
+    } else {
+      fprintf(gOutFile, "<method name=\"%s\"\n", name);
+      const char* returnType = strrchr(typeDescriptor, ')');
+      if (returnType == nullptr) {
+        fprintf(stderr, "bad method type descriptor '%s'\n", typeDescriptor);
+        goto bail;
+      }
+      char* tmp = descriptorToDot(returnType+1);
+      fprintf(gOutFile, " return=\"%s\"\n", tmp);
+      free(tmp);
+      fprintf(gOutFile, " abstract=%s\n", quotedBool((flags & kAccAbstract) != 0));
+      fprintf(gOutFile, " native=%s\n", quotedBool((flags & kAccNative) != 0));
+      fprintf(gOutFile, " synchronized=%s\n", quotedBool(
+          (flags & (kAccSynchronized | kAccDeclaredSynchronized)) != 0));
+    }
+
+    // Additional method flags.
+    fprintf(gOutFile, " static=%s\n", quotedBool((flags & kAccStatic) != 0));
+    fprintf(gOutFile, " final=%s\n", quotedBool((flags & kAccFinal) != 0));
+    // The "deprecated=" not knowable w/o parsing annotations.
+    fprintf(gOutFile, " visibility=%s\n>\n", quotedVisibility(flags));
+
+    // Parameters.
+    if (typeDescriptor[0] != '(') {
+      fprintf(stderr, "ERROR: bad descriptor '%s'\n", typeDescriptor);
+      goto bail;
+    }
+    char* tmpBuf = reinterpret_cast<char*>(malloc(strlen(typeDescriptor) + 1));
+    const char* base = typeDescriptor + 1;
+    int argNum = 0;
+    while (*base != ')') {
+      char* cp = tmpBuf;
+      while (*base == '[') {
+        *cp++ = *base++;
+      }
+      if (*base == 'L') {
+        // Copy through ';'.
+        do {
+          *cp = *base++;
+        } while (*cp++ != ';');
+      } else {
+        // Primitive char, copy it.
+        if (strchr("ZBCSIFJD", *base) == NULL) {
+          fprintf(stderr, "ERROR: bad method signature '%s'\n", base);
+          goto bail;
+        }
+        *cp++ = *base++;
+      }
+      // Null terminate and display.
+      *cp++ = '\0';
+      char* tmp = descriptorToDot(tmpBuf);
+      fprintf(gOutFile, "<parameter name=\"arg%d\" type=\"%s\">\n"
+                        "</parameter>\n", argNum++, tmp);
+      free(tmp);
+    }  // while
+    free(tmpBuf);
+    if (constructor) {
+      fprintf(gOutFile, "</constructor>\n");
+    } else {
+      fprintf(gOutFile, "</method>\n");
+    }
+  }
+
+ bail:
+  free(typeDescriptor);
+  free(accessStr);
+}
+
+/*
+ * Dumps a static (class) field.
+ */
+static void dumpSField(const DexFile* pDexFile, u4 idx, u4 flags, int i) {
+  // Bail for anything private if export only requested.
+  if (gOptions.exportsOnly && (flags & (kAccPublic | kAccProtected)) == 0) {
+    return;
+  }
+
+  const DexFile::FieldId& pFieldId = pDexFile->GetFieldId(idx);
+  const char* name = pDexFile->StringDataByIdx(pFieldId.name_idx_);
+  const char* typeDescriptor = pDexFile->StringByTypeIdx(pFieldId.type_idx_);
+  const char* backDescriptor = pDexFile->StringByTypeIdx(pFieldId.class_idx_);
+  char* accessStr = createAccessFlagStr(flags, kAccessForField);
+
+  if (gOptions.outputFormat == OUTPUT_PLAIN) {
+    fprintf(gOutFile, "    #%d              : (in %s)\n", i, backDescriptor);
+    fprintf(gOutFile, "      name          : '%s'\n", name);
+    fprintf(gOutFile, "      type          : '%s'\n", typeDescriptor);
+    fprintf(gOutFile, "      access        : 0x%04x (%s)\n", flags, accessStr);
+  } else if (gOptions.outputFormat == OUTPUT_XML) {
+    fprintf(gOutFile, "<field name=\"%s\"\n", name);
+    char *tmp = descriptorToDot(typeDescriptor);
+    fprintf(gOutFile, " type=\"%s\"\n", tmp);
+    free(tmp);
+    fprintf(gOutFile, " transient=%s\n", quotedBool((flags & kAccTransient) != 0));
+    fprintf(gOutFile, " volatile=%s\n", quotedBool((flags & kAccVolatile) != 0));
+    // The "value=" is not knowable w/o parsing annotations.
+    fprintf(gOutFile, " static=%s\n", quotedBool((flags & kAccStatic) != 0));
+    fprintf(gOutFile, " final=%s\n", quotedBool((flags & kAccFinal) != 0));
+    // The "deprecated=" is not knowable w/o parsing annotations.
+    fprintf(gOutFile, " visibility=%s\n", quotedVisibility(flags));
+    fprintf(gOutFile, ">\n</field>\n");
+  }
+
+  free(accessStr);
+}
+
+/*
+ * Dumps an instance field.
+ */
+static void dumpIField(const DexFile* pDexFile, u4 idx, u4 flags, int i) {
+  dumpSField(pDexFile, idx, flags, i);
+}
+
+/*
+ * Dumps the class.
+ *
+ * Note "idx" is a DexClassDef index, not a DexTypeId index.
+ *
+ * If "*pLastPackage" is nullptr or does not match the current class' package,
+ * the value will be replaced with a newly-allocated string.
+ */
+static void dumpClass(const DexFile* pDexFile, int idx, char** pLastPackage) {
+  const DexFile::ClassDef& pClassDef = pDexFile->GetClassDef(idx);
+
+  // Omitting non-public class.
+  if (gOptions.exportsOnly && (pClassDef.access_flags_ & kAccPublic) == 0) {
+    return;
+  }
+
+  // For the XML output, show the package name.  Ideally we'd gather
+  // up the classes, sort them, and dump them alphabetically so the
+  // package name wouldn't jump around, but that's not a great plan
+  // for something that needs to run on the device.
+  const char* classDescriptor = pDexFile->StringByTypeIdx(pClassDef.class_idx_);
+  if (!(classDescriptor[0] == 'L' &&
+        classDescriptor[strlen(classDescriptor)-1] == ';')) {
+    // Arrays and primitives should not be defined explicitly. Keep going?
+    fprintf(stderr, "Malformed class name '%s'\n", classDescriptor);
+  } else if (gOptions.outputFormat == OUTPUT_XML) {
+    char* mangle = strdup(classDescriptor + 1);
+    mangle[strlen(mangle)-1] = '\0';
+
+    // Reduce to just the package name.
+    char* lastSlash = strrchr(mangle, '/');
+    if (lastSlash != nullptr) {
+      *lastSlash = '\0';
+    } else {
+      *mangle = '\0';
+    }
+
+    for (char* cp = mangle; *cp != '\0'; cp++) {
+      if (*cp == '/') {
+        *cp = '.';
+      }
+    }  // for
+
+    if (*pLastPackage == nullptr || strcmp(mangle, *pLastPackage) != 0) {
+      // Start of a new package.
+      if (*pLastPackage != nullptr) {
+        fprintf(gOutFile, "</package>\n");
+      }
+      fprintf(gOutFile, "<package name=\"%s\"\n>\n", mangle);
+      free(*pLastPackage);
+      *pLastPackage = mangle;
+    } else {
+      free(mangle);
+    }
+  }
+
+  // General class information.
+  char* accessStr = createAccessFlagStr(pClassDef.access_flags_, kAccessForClass);
+  const char* superclassDescriptor;
+  if (pClassDef.superclass_idx_ == DexFile::kDexNoIndex16) {
+    superclassDescriptor = nullptr;
+  } else {
+    superclassDescriptor = pDexFile->StringByTypeIdx(pClassDef.superclass_idx_);
+  }
+  if (gOptions.outputFormat == OUTPUT_PLAIN) {
+    fprintf(gOutFile, "Class #%d            -\n", idx);
+    fprintf(gOutFile, "  Class descriptor  : '%s'\n", classDescriptor);
+    fprintf(gOutFile, "  Access flags      : 0x%04x (%s)\n", pClassDef.access_flags_, accessStr);
+    if (superclassDescriptor != nullptr) {
+      fprintf(gOutFile, "  Superclass        : '%s'\n", superclassDescriptor);
+    }
+    fprintf(gOutFile, "  Interfaces        -\n");
+  } else {
+    char* tmp = descriptorClassToDot(classDescriptor);
+    fprintf(gOutFile, "<class name=\"%s\"\n", tmp);
+    free(tmp);
+    if (superclassDescriptor != nullptr) {
+      tmp = descriptorToDot(superclassDescriptor);
+      fprintf(gOutFile, " extends=\"%s\"\n", tmp);
+      free(tmp);
+    }
+    fprintf(gOutFile, " abstract=%s\n", quotedBool((pClassDef.access_flags_ & kAccAbstract) != 0));
+    fprintf(gOutFile, " static=%s\n", quotedBool((pClassDef.access_flags_ & kAccStatic) != 0));
+    fprintf(gOutFile, " final=%s\n", quotedBool((pClassDef.access_flags_ & kAccFinal) != 0));
+    // The "deprecated=" not knowable w/o parsing annotations.
+    fprintf(gOutFile, " visibility=%s\n", quotedVisibility(pClassDef.access_flags_));
+    fprintf(gOutFile, ">\n");
+  }
+
+  // Interfaces.
+  const DexFile::TypeList* pInterfaces = pDexFile->GetInterfacesList(pClassDef);
+  if (pInterfaces != nullptr) {
+    for (u4 i = 0; i < pInterfaces->Size(); i++) {
+      dumpInterface(pDexFile, pInterfaces->GetTypeItem(i), i);
+    }  // for
+  }
+
+  // Fields and methods.
+  const u1* pEncodedData = pDexFile->GetClassData(pClassDef);
+  if (pEncodedData == nullptr) {
+    if (gOptions.outputFormat == OUTPUT_PLAIN) {
+      fprintf(gOutFile, "  Static fields     -\n");
+      fprintf(gOutFile, "  Instance fields   -\n");
+      fprintf(gOutFile, "  Direct methods    -\n");
+      fprintf(gOutFile, "  Virtual methods   -\n");
+    }
+  } else {
+    ClassDataItemIterator pClassData(*pDexFile, pEncodedData);
+    if (gOptions.outputFormat == OUTPUT_PLAIN) {
+      fprintf(gOutFile, "  Static fields     -\n");
+    }
+    for (int i = 0; pClassData.HasNextStaticField(); i++, pClassData.Next()) {
+      dumpSField(pDexFile, pClassData.GetMemberIndex(),
+                           pClassData.GetRawMemberAccessFlags(), i);
+    }  // for
+    if (gOptions.outputFormat == OUTPUT_PLAIN) {
+      fprintf(gOutFile, "  Instance fields   -\n");
+    }
+    for (int i = 0; pClassData.HasNextInstanceField(); i++, pClassData.Next()) {
+      dumpIField(pDexFile, pClassData.GetMemberIndex(),
+                          pClassData.GetRawMemberAccessFlags(), i);
+    }  // for
+    if (gOptions.outputFormat == OUTPUT_PLAIN) {
+      fprintf(gOutFile, "  Direct methods    -\n");
+    }
+    for (int i = 0; pClassData.HasNextDirectMethod(); i++, pClassData.Next()) {
+      dumpMethod(pDexFile, pClassData.GetMemberIndex(),
+                           pClassData.GetRawMemberAccessFlags(),
+                           pClassData.GetMethodCodeItem(),
+                           pClassData.GetMethodCodeItemOffset(), i);
+    }  // for
+    if (gOptions.outputFormat == OUTPUT_PLAIN) {
+      fprintf(gOutFile, "  Virtual methods   -\n");
+    }
+    for (int i = 0; pClassData.HasNextVirtualMethod(); i++, pClassData.Next()) {
+      dumpMethod(pDexFile, pClassData.GetMemberIndex(),
+                           pClassData.GetRawMemberAccessFlags(),
+                           pClassData.GetMethodCodeItem(),
+                           pClassData.GetMethodCodeItemOffset(), i);
+    }  // for
+  }
+
+  // End of class.
+  if (gOptions.outputFormat == OUTPUT_PLAIN) {
+    const char* fileName;
+    if (pClassDef.source_file_idx_ != DexFile::kDexNoIndex) {
+      fileName = pDexFile->StringDataByIdx(pClassDef.source_file_idx_);
+    } else {
+      fileName = "unknown";
+    }
+    fprintf(gOutFile, "  source_file_idx   : %d (%s)\n\n",
+            pClassDef.source_file_idx_, fileName);
+  } else if (gOptions.outputFormat == OUTPUT_XML) {
+    fprintf(gOutFile, "</class>\n");
+  }
+
+  free(accessStr);
+}
+
+/*
+ * Dumps the requested sections of the file.
+ */
+static void processDexFile(const char* fileName, const DexFile* pDexFile) {
+  if (gOptions.verbose) {
+    fprintf(gOutFile, "Opened '%s', DEX version '%.3s'\n",
+            fileName, pDexFile->GetHeader().magic_ + 4);
+  }
+
+  // Headers.
+  if (gOptions.showFileHeaders) {
+    dumpFileHeader(pDexFile);
+  }
+
+  // Open XML context.
+  if (gOptions.outputFormat == OUTPUT_XML) {
+    fprintf(gOutFile, "<api>\n");
+  }
+
+  // Iterate over all classes.
+  char* package = nullptr;
+  const u4 classDefsSize = pDexFile->GetHeader().class_defs_size_;
+  for (u4 i = 0; i < classDefsSize; i++) {
+    if (gOptions.showSectionHeaders) {
+      dumpClassDef(pDexFile, i);
+    }
+    dumpClass(pDexFile, i, &package);
+  }  // for
+
+  // Free the last package allocated.
+  if (package != nullptr) {
+    fprintf(gOutFile, "</package>\n");
+    free(package);
+  }
+
+  // Close XML context.
+  if (gOptions.outputFormat == OUTPUT_XML) {
+    fprintf(gOutFile, "</api>\n");
+  }
+}
+
+/*
+ * Processes a single file (either direct .dex or indirect .zip/.jar/.apk).
+ */
+int processFile(const char* fileName) {
+  if (gOptions.verbose) {
+    fprintf(gOutFile, "Processing '%s'...\n", fileName);
+  }
+
+  // If the file is not a .dex file, the function tries .zip/.jar/.apk files,
+  // all of which are Zip archives with "classes.dex" inside. The compressed
+  // data needs to be extracted to a temp file, the location of which varies.
+  //
+  // TODO(ajcbik): fix following issues
+  //
+  // (1) gOptions.tempFileName is not accounted for
+  // (2) gOptions.ignoreBadChecksum is not accounted for
+  //
+  std::string error_msg;
+  std::vector<std::unique_ptr<const DexFile>> dex_files;
+  if (!DexFile::Open(fileName, fileName, &error_msg, &dex_files)) {
+    // Display returned error message to user. Note that this error behavior
+    // differs from the error messages shown by the original Dalvik dexdump.
+    fputs(error_msg.c_str(), stderr);
+    fputc('\n', stderr);
+    return -1;
+  }
+
+  // Determine if opening file yielded a single dex file. On failure,
+  // the parse error message of the original dexdump utility is shown.
+  //
+  // TODO(ajcbik): this restriction is not really needed, but kept
+  //               for now to stay close to original dexdump; we can
+  //               later relax this!
+  //
+  if (dex_files.size() != 1) {
+    fprintf(stderr, "ERROR: DEX parse failed\n");
+    return -1;
+  }
+
+  // Success. Either report checksum verification or process dex file.
+  if (gOptions.checksumOnly) {
+    fprintf(gOutFile, "Checksum verified\n");
+  } else {
+    processDexFile(fileName, dex_files[0].get());
+  }
+  return 0;
+}
+
+}  // namespace art
diff --git a/dexdump/dexdump.h b/dexdump/dexdump.h
new file mode 100644
index 0000000..f2cd16a
--- /dev/null
+++ b/dexdump/dexdump.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Header file of the dexdump utility.
+ *
+ * This is a re-implementation of the original dexdump utility that was
+ * based on Dalvik functions in libdex into a new dexdump that is now
+ * based on Art functions in libart instead. The output is identical to
+ * the original for correct DEX files. Error messages may differ, however.
+ * Also, ODEX files are no longer supported.
+ */
+
+#ifndef ART_DEXDUMP_DEXDUMP_H_
+#define ART_DEXDUMP_DEXDUMP_H_
+
+#include <stdint.h>
+#include <stdio.h>
+
+namespace art {
+
+/* Supported output formats. */
+enum OutputFormat {
+  OUTPUT_PLAIN = 0,  // default
+  OUTPUT_XML,        // XML-style
+};
+
+/* Command-line options. */
+struct Options {
+  bool checksumOnly;
+  bool disassemble;
+  bool exportsOnly;
+  bool ignoreBadChecksum;
+  bool showFileHeaders;
+  bool showSectionHeaders;
+  bool verbose;
+  OutputFormat outputFormat;
+  const char* outputFileName;
+  const char* tempFileName;
+};
+
+/* Prototypes. */
+extern struct Options gOptions;
+extern FILE* gOutFile;
+int processFile(const char* fileName);
+
+}  // namespace art
+
+#endif  // ART_DEXDUMP_DEXDUMP_H_
diff --git a/dexdump/dexdump_main.cc b/dexdump/dexdump_main.cc
new file mode 100644
index 0000000..756f879
--- /dev/null
+++ b/dexdump/dexdump_main.cc
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Main driver of the dexdump utility.
+ *
+ * This is a re-implementation of the original dexdump utility that was
+ * based on Dalvik functions in libdex into a new dexdump that is now
+ * based on Art functions in libart instead. The output is identical to
+ * the original for correct DEX files. Error messages may differ, however.
+ * Also, ODEX files are no longer supported.
+ */
+
+#include "dexdump.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "mem_map.h"
+#include "runtime.h"
+
+namespace art {
+
+static const char* gProgName = "dexdump";
+
+/*
+ * Shows usage.
+ */
+static void usage(void) {
+  fprintf(stderr, "Copyright (C) 2007 The Android Open Source Project\n\n");
+  fprintf(stderr, "%s: [-c] [-d] [-f] [-h] [-i] [-l layout] [-o outfile]"
+                  " [-t tempfile] dexfile...\n", gProgName);
+  fprintf(stderr, "\n");
+  fprintf(stderr, " -c : verify checksum and exit\n");
+  fprintf(stderr, " -d : disassemble code sections\n");
+  fprintf(stderr, " -f : display summary information from file header\n");
+  fprintf(stderr, " -h : display file header details\n");
+  fprintf(stderr, " -i : ignore checksum failures\n");
+  fprintf(stderr, " -l : output layout, either 'plain' or 'xml'\n");
+  fprintf(stderr, " -o : output file name (defaults to stdout)\n");
+  fprintf(stderr, " -t : temp file name (defaults to /sdcard/dex-temp-*)\n");
+}
+
+/*
+ * Main driver of the dexdump utility.
+ */
+int dexdumpDriver(int argc, char** argv) {
+  // Art specific set up.
+  InitLogging(argv);
+  MemMap::Init();
+
+  // Reset options.
+  bool wantUsage = false;
+  memset(&gOptions, 0, sizeof(gOptions));
+  gOptions.verbose = true;
+
+  // Parse all arguments.
+  while (1) {
+    const int ic = getopt(argc, argv, "cdfhil:t:o:");
+    if (ic < 0) {
+      break;  // done
+    }
+    switch (ic) {
+      case 'c':  // verify the checksum then exit
+        gOptions.checksumOnly = true;
+        break;
+      case 'd':  // disassemble Dalvik instructions
+        gOptions.disassemble = true;
+        break;
+      case 'f':  // dump outer file header
+        gOptions.showFileHeaders = true;
+        break;
+      case 'h':  // dump section headers, i.e. all meta-data
+        gOptions.showSectionHeaders = true;
+        break;
+      case 'i':  // continue even if checksum is bad
+        gOptions.ignoreBadChecksum = true;
+        break;
+      case 'l':  // layout
+        if (strcmp(optarg, "plain") == 0) {
+          gOptions.outputFormat = OUTPUT_PLAIN;
+        } else if (strcmp(optarg, "xml") == 0) {
+          gOptions.outputFormat = OUTPUT_XML;
+          gOptions.verbose = false;
+          gOptions.exportsOnly = true;
+        } else {
+          wantUsage = true;
+        }
+        break;
+      case 't':  // temp file, used when opening compressed Jar
+        gOptions.tempFileName = optarg;
+        break;
+      case 'o':  // output file
+        gOptions.outputFileName = optarg;
+        break;
+      default:
+        wantUsage = true;
+        break;
+    }
+  }
+
+  // Detect early problems.
+  if (optind == argc) {
+    fprintf(stderr, "%s: no file specified\n", gProgName);
+    wantUsage = true;
+  }
+  if (gOptions.checksumOnly && gOptions.ignoreBadChecksum) {
+    fprintf(stderr, "Can't specify both -c and -i\n");
+    wantUsage = true;
+  }
+  if (wantUsage) {
+    usage();
+    return 2;
+  }
+
+  // Open alternative output file.
+  if (gOptions.outputFileName) {
+    gOutFile = fopen(gOptions.outputFileName, "w");
+    if (!gOutFile) {
+      fprintf(stderr, "Can't open %s\n", gOptions.outputFileName);
+      return 1;
+    }
+  }
+
+  // Process all files supplied on command line.
+  int result = 0;
+  while (optind < argc) {
+    result |= processFile(argv[optind++]);
+  }
+  return result != 0;
+}
+
+}  // namespace art
+
+int main(int argc, char** argv) {
+  return art::dexdumpDriver(argc, argv);
+}
diff --git a/dexdump/dexdump_test.cc b/dexdump/dexdump_test.cc
new file mode 100644
index 0000000..d9b210d
--- /dev/null
+++ b/dexdump/dexdump_test.cc
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <string>
+#include <vector>
+#include <sstream>
+
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "base/stringprintf.h"
+#include "common_runtime_test.h"
+#include "runtime/arch/instruction_set.h"
+#include "runtime/gc/heap.h"
+#include "runtime/gc/space/image_space.h"
+#include "runtime/os.h"
+#include "runtime/utils.h"
+#include "utils.h"
+
+namespace art {
+
+class DexDumpTest : public CommonRuntimeTest {
+ protected:
+  virtual void SetUp() {
+    CommonRuntimeTest::SetUp();
+    // Dogfood our own lib core dex file.
+    dex_file_ = GetLibCoreDexFileName();
+  }
+
+  // Runs test with given arguments.
+  bool Exec(const std::vector<std::string>& args, std::string* error_msg) {
+    // TODO(ajcbik): dexdump2 -> dexdump
+    std::string file_path = GetTestAndroidRoot();
+    if (IsHost()) {
+      file_path += "/bin/dexdump2";
+    } else {
+      file_path += "/xbin/dexdump2";
+    }
+    EXPECT_TRUE(OS::FileExists(file_path.c_str())) << file_path << " should be a valid file path";
+    std::vector<std::string> exec_argv = { file_path };
+    exec_argv.insert(exec_argv.end(), args.begin(), args.end());
+    return ::art::Exec(exec_argv, error_msg);
+  }
+
+  std::string dex_file_;
+};
+
+
+TEST_F(DexDumpTest, NoInputFileGiven) {
+  std::string error_msg;
+  ASSERT_FALSE(Exec({}, &error_msg)) << error_msg;
+}
+
+TEST_F(DexDumpTest, CantOpenOutput) {
+  std::string error_msg;
+  ASSERT_FALSE(Exec({"-o", "/joho", dex_file_}, &error_msg)) << error_msg;
+}
+
+TEST_F(DexDumpTest, BadFlagCombination) {
+  std::string error_msg;
+  ASSERT_FALSE(Exec({"-c", "-i", dex_file_}, &error_msg)) << error_msg;
+}
+
+TEST_F(DexDumpTest, FullPlainOutput) {
+  std::string error_msg;
+  ASSERT_TRUE(Exec({"-d", "-f", "-h", "-l", "plain", "-o", "/dev/null",
+    dex_file_}, &error_msg)) << error_msg;
+}
+
+TEST_F(DexDumpTest, XMLOutput) {
+  std::string error_msg;
+  ASSERT_TRUE(Exec({"-l", "xml", "-o", "/dev/null",
+    dex_file_}, &error_msg)) << error_msg;
+}
+
+}  // namespace art
diff --git a/test/dexdump/bytecodes.dex b/test/dexdump/bytecodes.dex
new file mode 100755
index 0000000..91e11b8
--- /dev/null
+++ b/test/dexdump/bytecodes.dex
Binary files differ
diff --git a/test/dexdump/bytecodes.txt b/test/dexdump/bytecodes.txt
new file mode 100755
index 0000000..d14c47c
--- /dev/null
+++ b/test/dexdump/bytecodes.txt
@@ -0,0 +1,1823 @@
+Processing 'bytecodes.dex'...
+Opened 'bytecodes.dex', DEX version '035'
+DEX file header:
+magic               : 'dex\n035\0'
+checksum            : 7d869259
+signature           : 6fb7...9cc4
+file_size           : 10288
+header_size         : 112
+link_size           : 0
+link_off            : 0 (0x000000)
+string_ids_size     : 153
+string_ids_off      : 112 (0x000070)
+type_ids_size       : 42
+type_ids_off        : 724 (0x0002d4)
+proto_ids_size       : 12
+proto_ids_off        : 892 (0x00037c)
+field_ids_size      : 40
+field_ids_off       : 1036 (0x00040c)
+method_ids_size     : 28
+method_ids_off      : 1356 (0x00054c)
+class_defs_size     : 7
+class_defs_off      : 1580 (0x00062c)
+data_size           : 8464
+data_off            : 1824 (0x000720)
+
+Class #0 header:
+class_idx           : 6
+access_flags        : 9729 (0x2601)
+superclass_idx      : 20
+interfaces_off      : 2116 (0x000844)
+source_file_idx     : 46
+annotations_off     : 10256 (0x002810)
+class_data_off      : 2188 (0x00088c)
+static_fields_size  : 0
+instance_fields_size: 0
+direct_methods_size : 0
+virtual_methods_size: 1
+
+Class #0            -
+  Class descriptor  : 'Landroid/annotation/SuppressLint;'
+  Access flags      : 0x2601 (PUBLIC INTERFACE ABSTRACT ANNOTATION)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+    #0              : 'Ljava/lang/annotation/Annotation;'
+  Static fields     -
+  Instance fields   -
+  Direct methods    -
+  Virtual methods   -
+    #0              : (in Landroid/annotation/SuppressLint;)
+      name          : 'value'
+      type          : '()[Ljava/lang/String;'
+      access        : 0x0401 (PUBLIC ABSTRACT)
+      code          : (none)
+
+  source_file_idx   : 46 (SuppressLint.java)
+
+Class #1 header:
+class_idx           : 7
+access_flags        : 9729 (0x2601)
+superclass_idx      : 20
+interfaces_off      : 2116 (0x000844)
+source_file_idx     : 48
+annotations_off     : 10272 (0x002820)
+class_data_off      : 2196 (0x000894)
+static_fields_size  : 0
+instance_fields_size: 0
+direct_methods_size : 0
+virtual_methods_size: 1
+
+Class #1            -
+  Class descriptor  : 'Landroid/annotation/TargetApi;'
+  Access flags      : 0x2601 (PUBLIC INTERFACE ABSTRACT ANNOTATION)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+    #0              : 'Ljava/lang/annotation/Annotation;'
+  Static fields     -
+  Instance fields   -
+  Direct methods    -
+  Virtual methods   -
+    #0              : (in Landroid/annotation/TargetApi;)
+      name          : 'value'
+      type          : '()I'
+      access        : 0x0401 (PUBLIC ABSTRACT)
+      code          : (none)
+
+  source_file_idx   : 48 (TargetApi.java)
+
+Class #2 header:
+class_idx           : 9
+access_flags        : 17 (0x0011)
+superclass_idx      : 20
+interfaces_off      : 0 (0x000000)
+source_file_idx     : 3
+annotations_off     : 0 (0x000000)
+class_data_off      : 2204 (0x00089c)
+static_fields_size  : 1
+instance_fields_size: 0
+direct_methods_size : 1
+virtual_methods_size: 0
+
+Class #2            -
+  Class descriptor  : 'Lcom/google/android/test/BuildConfig;'
+  Access flags      : 0x0011 (PUBLIC FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+  Static fields     -
+    #0              : (in Lcom/google/android/test/BuildConfig;)
+      name          : 'DEBUG'
+      type          : 'Z'
+      access        : 0x0019 (PUBLIC STATIC FINAL)
+  Instance fields   -
+  Direct methods    -
+    #0              : (in Lcom/google/android/test/BuildConfig;)
+      name          : '<init>'
+      type          : '()V'
+      access        : 0x10001 (PUBLIC CONSTRUCTOR)
+      code          -
+      registers     : 1
+      ins           : 1
+      outs          : 1
+      insns size    : 4 16-bit code units
+000990:                                        |[000990] com.google.android.test.BuildConfig.<init>:()V
+0009a0: 7010 1900 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0019
+0009a6: 0e00                                   |0003: return-void
+      catches       : (none)
+      positions     : 
+        0x0000 line=4
+      locals        : 
+        0x0000 - 0x0004 reg=0 this Lcom/google/android/test/BuildConfig; 
+
+  Virtual methods   -
+  source_file_idx   : 3 (BuildConfig.java)
+
+Class #3 header:
+class_idx           : 10
+access_flags        : 17 (0x0011)
+superclass_idx      : 20
+interfaces_off      : 0 (0x000000)
+source_file_idx     : 44
+annotations_off     : 10184 (0x0027c8)
+class_data_off      : 2216 (0x0008a8)
+static_fields_size  : 0
+instance_fields_size: 0
+direct_methods_size : 1
+virtual_methods_size: 0
+
+Class #3            -
+  Class descriptor  : 'Lcom/google/android/test/R$attr;'
+  Access flags      : 0x0011 (PUBLIC FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+  Static fields     -
+  Instance fields   -
+  Direct methods    -
+    #0              : (in Lcom/google/android/test/R$attr;)
+      name          : '<init>'
+      type          : '()V'
+      access        : 0x10001 (PUBLIC CONSTRUCTOR)
+      code          -
+      registers     : 1
+      ins           : 1
+      outs          : 1
+      insns size    : 4 16-bit code units
+0009a8:                                        |[0009a8] com.google.android.test.R.attr.<init>:()V
+0009b8: 7010 1900 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0019
+0009be: 0e00                                   |0003: return-void
+      catches       : (none)
+      positions     : 
+        0x0000 line=11
+      locals        : 
+        0x0000 - 0x0004 reg=0 this Lcom/google/android/test/R$attr; 
+
+  Virtual methods   -
+  source_file_idx   : 44 (R.java)
+
+Class #4 header:
+class_idx           : 11
+access_flags        : 17 (0x0011)
+superclass_idx      : 20
+interfaces_off      : 0 (0x000000)
+source_file_idx     : 44
+annotations_off     : 10200 (0x0027d8)
+class_data_off      : 2226 (0x0008b2)
+static_fields_size  : 1
+instance_fields_size: 0
+direct_methods_size : 1
+virtual_methods_size: 0
+
+Class #4            -
+  Class descriptor  : 'Lcom/google/android/test/R$drawable;'
+  Access flags      : 0x0011 (PUBLIC FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+  Static fields     -
+    #0              : (in Lcom/google/android/test/R$drawable;)
+      name          : 'icon'
+      type          : 'I'
+      access        : 0x0019 (PUBLIC STATIC FINAL)
+  Instance fields   -
+  Direct methods    -
+    #0              : (in Lcom/google/android/test/R$drawable;)
+      name          : '<init>'
+      type          : '()V'
+      access        : 0x10001 (PUBLIC CONSTRUCTOR)
+      code          -
+      registers     : 1
+      ins           : 1
+      outs          : 1
+      insns size    : 4 16-bit code units
+0009c0:                                        |[0009c0] com.google.android.test.R.drawable.<init>:()V
+0009d0: 7010 1900 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0019
+0009d6: 0e00                                   |0003: return-void
+      catches       : (none)
+      positions     : 
+        0x0000 line=13
+      locals        : 
+        0x0000 - 0x0004 reg=0 this Lcom/google/android/test/R$drawable; 
+
+  Virtual methods   -
+  source_file_idx   : 44 (R.java)
+
+Class #5 header:
+class_idx           : 12
+access_flags        : 17 (0x0011)
+superclass_idx      : 20
+interfaces_off      : 0 (0x000000)
+source_file_idx     : 44
+annotations_off     : 10216 (0x0027e8)
+class_data_off      : 2238 (0x0008be)
+static_fields_size  : 0
+instance_fields_size: 0
+direct_methods_size : 1
+virtual_methods_size: 0
+
+Class #5            -
+  Class descriptor  : 'Lcom/google/android/test/R;'
+  Access flags      : 0x0011 (PUBLIC FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+  Static fields     -
+  Instance fields   -
+  Direct methods    -
+    #0              : (in Lcom/google/android/test/R;)
+      name          : '<init>'
+      type          : '()V'
+      access        : 0x10001 (PUBLIC CONSTRUCTOR)
+      code          -
+      registers     : 1
+      ins           : 1
+      outs          : 1
+      insns size    : 4 16-bit code units
+0009d8:                                        |[0009d8] com.google.android.test.R.<init>:()V
+0009e8: 7010 1900 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0019
+0009ee: 0e00                                   |0003: return-void
+      catches       : (none)
+      positions     : 
+        0x0000 line=10
+      locals        : 
+        0x0000 - 0x0004 reg=0 this Lcom/google/android/test/R; 
+
+  Virtual methods   -
+  source_file_idx   : 44 (R.java)
+
+Class #6 header:
+class_idx           : 13
+access_flags        : 1 (0x0001)
+superclass_idx      : 8
+interfaces_off      : 2100 (0x000834)
+source_file_idx     : 49
+annotations_off     : 10232 (0x0027f8)
+class_data_off      : 2248 (0x0008c8)
+static_fields_size  : 10
+instance_fields_size: 20
+direct_methods_size : 13
+virtual_methods_size: 2
+
+Class #6            -
+  Class descriptor  : 'Lcom/google/android/test/Test;'
+  Access flags      : 0x0001 (PUBLIC)
+  Superclass        : 'Landroid/app/Activity;'
+  Interfaces        -
+    #0              : 'Ljava/lang/Runnable;'
+  Static fields     -
+    #0              : (in Lcom/google/android/test/Test;)
+      name          : 'sArray'
+      type          : '[I'
+      access        : 0x000a (PRIVATE STATIC)
+    #1              : (in Lcom/google/android/test/Test;)
+      name          : 'sB'
+      type          : 'B'
+      access        : 0x000a (PRIVATE STATIC)
+    #2              : (in Lcom/google/android/test/Test;)
+      name          : 'sBool'
+      type          : 'Z'
+      access        : 0x000a (PRIVATE STATIC)
+    #3              : (in Lcom/google/android/test/Test;)
+      name          : 'sC'
+      type          : 'C'
+      access        : 0x000a (PRIVATE STATIC)
+    #4              : (in Lcom/google/android/test/Test;)
+      name          : 'sD'
+      type          : 'D'
+      access        : 0x000a (PRIVATE STATIC)
+    #5              : (in Lcom/google/android/test/Test;)
+      name          : 'sF'
+      type          : 'F'
+      access        : 0x000a (PRIVATE STATIC)
+    #6              : (in Lcom/google/android/test/Test;)
+      name          : 'sI'
+      type          : 'I'
+      access        : 0x000a (PRIVATE STATIC)
+    #7              : (in Lcom/google/android/test/Test;)
+      name          : 'sL'
+      type          : 'J'
+      access        : 0x000a (PRIVATE STATIC)
+    #8              : (in Lcom/google/android/test/Test;)
+      name          : 'sO'
+      type          : 'Ljava/lang/Object;'
+      access        : 0x000a (PRIVATE STATIC)
+    #9              : (in Lcom/google/android/test/Test;)
+      name          : 'sS'
+      type          : 'S'
+      access        : 0x000a (PRIVATE STATIC)
+  Instance fields   -
+    #0              : (in Lcom/google/android/test/Test;)
+      name          : 'aBool'
+      type          : '[Z'
+      access        : 0x0002 (PRIVATE)
+    #1              : (in Lcom/google/android/test/Test;)
+      name          : 'aByte'
+      type          : '[B'
+      access        : 0x0002 (PRIVATE)
+    #2              : (in Lcom/google/android/test/Test;)
+      name          : 'aChar'
+      type          : '[C'
+      access        : 0x0002 (PRIVATE)
+    #3              : (in Lcom/google/android/test/Test;)
+      name          : 'aDouble'
+      type          : '[D'
+      access        : 0x0002 (PRIVATE)
+    #4              : (in Lcom/google/android/test/Test;)
+      name          : 'aFloat'
+      type          : '[F'
+      access        : 0x0002 (PRIVATE)
+    #5              : (in Lcom/google/android/test/Test;)
+      name          : 'aInt'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #6              : (in Lcom/google/android/test/Test;)
+      name          : 'aLong'
+      type          : '[J'
+      access        : 0x0002 (PRIVATE)
+    #7              : (in Lcom/google/android/test/Test;)
+      name          : 'aObject'
+      type          : '[Ljava/lang/Object;'
+      access        : 0x0002 (PRIVATE)
+    #8              : (in Lcom/google/android/test/Test;)
+      name          : 'aShort'
+      type          : '[S'
+      access        : 0x0002 (PRIVATE)
+    #9              : (in Lcom/google/android/test/Test;)
+      name          : 'mArray'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #10              : (in Lcom/google/android/test/Test;)
+      name          : 'mB'
+      type          : 'B'
+      access        : 0x0002 (PRIVATE)
+    #11              : (in Lcom/google/android/test/Test;)
+      name          : 'mBool'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #12              : (in Lcom/google/android/test/Test;)
+      name          : 'mC'
+      type          : 'C'
+      access        : 0x0002 (PRIVATE)
+    #13              : (in Lcom/google/android/test/Test;)
+      name          : 'mD'
+      type          : 'D'
+      access        : 0x0002 (PRIVATE)
+    #14              : (in Lcom/google/android/test/Test;)
+      name          : 'mF'
+      type          : 'F'
+      access        : 0x0002 (PRIVATE)
+    #15              : (in Lcom/google/android/test/Test;)
+      name          : 'mI'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #16              : (in Lcom/google/android/test/Test;)
+      name          : 'mL'
+      type          : 'J'
+      access        : 0x0002 (PRIVATE)
+    #17              : (in Lcom/google/android/test/Test;)
+      name          : 'mO'
+      type          : 'Ljava/lang/Object;'
+      access        : 0x0002 (PRIVATE)
+    #18              : (in Lcom/google/android/test/Test;)
+      name          : 'mRunner'
+      type          : 'Ljava/lang/Runnable;'
+      access        : 0x0002 (PRIVATE)
+    #19              : (in Lcom/google/android/test/Test;)
+      name          : 'mS'
+      type          : 'S'
+      access        : 0x0002 (PRIVATE)
+  Direct methods    -
+    #0              : (in Lcom/google/android/test/Test;)
+      name          : '<clinit>'
+      type          : '()V'
+      access        : 0x10008 (STATIC CONSTRUCTOR)
+      code          -
+      registers     : 2
+      ins           : 0
+      outs          : 0
+      insns size    : 74 16-bit code units
+0009f0:                                        |[0009f0] com.google.android.test.Test.<clinit>:()V
+000a00: 1200                                   |0000: const/4 v0, #int 0 // #0
+000a02: 6a00 1800                              |0001: sput-boolean v0, Lcom/google/android/test/Test;.sBool:Z // field@0018
+000a06: 1300 1f00                              |0003: const/16 v0, #int 31 // #1f
+000a0a: 6b00 1700                              |0005: sput-byte v0, Lcom/google/android/test/Test;.sB:B // field@0017
+000a0e: 1400 ffff 0000                         |0007: const v0, #float 0.000000 // #0000ffff
+000a14: 6c00 1900                              |000a: sput-char v0, Lcom/google/android/test/Test;.sC:C // field@0019
+000a18: 1300 3412                              |000c: const/16 v0, #int 4660 // #1234
+000a1c: 6d00 1f00                              |000e: sput-short v0, Lcom/google/android/test/Test;.sS:S // field@001f
+000a20: 1400 7856 3412                         |0010: const v0, #float 0.000000 // #12345678
+000a26: 6700 1c00                              |0013: sput v0, Lcom/google/android/test/Test;.sI:I // field@001c
+000a2a: 1800 ffff cdab 7956 3412               |0015: const-wide v0, #double 0.000000 // #12345679abcdffff
+000a34: 6800 1d00                              |001a: sput-wide v0, Lcom/google/android/test/Test;.sL:J // field@001d
+000a38: 1400 00e4 4046                         |001c: const v0, #float 12345.000000 // #4640e400
+000a3e: 6700 1b00                              |001f: sput v0, Lcom/google/android/test/Test;.sF:F // field@001b
+000a42: 1800 0000 0000 801c c840               |0021: const-wide v0, #double 12345.000000 // #40c81c8000000000
+000a4c: 6800 1a00                              |0026: sput-wide v0, Lcom/google/android/test/Test;.sD:D // field@001a
+000a50: 1200                                   |0028: const/4 v0, #int 0 // #0
+000a52: 6900 1e00                              |0029: sput-object v0, Lcom/google/android/test/Test;.sO:Ljava/lang/Object; // field@001e
+000a56: 1300 0800                              |002b: const/16 v0, #int 8 // #8
+000a5a: 2300 2400                              |002d: new-array v0, v0, [I // type@0024
+000a5e: 2600 0700 0000                         |002f: fill-array-data v0, 00000036 // +00000007
+000a64: 6900 1600                              |0032: sput-object v0, Lcom/google/android/test/Test;.sArray:[I // field@0016
+000a68: 0e00                                   |0034: return-void
+000a6a: 0000                                   |0035: nop // spacer
+000a6c: 0003 0400 0800 0000 0100 0000 0200 ... |0036: array-data (20 units)
+      catches       : (none)
+      positions     : 
+        0x0000 line=7
+        0x0003 line=8
+        0x0007 line=9
+        0x000c line=10
+        0x0010 line=11
+        0x0015 line=12
+        0x001c line=13
+        0x0021 line=14
+        0x0028 line=15
+        0x002b line=16
+      locals        : 
+
+    #1              : (in Lcom/google/android/test/Test;)
+      name          : '<init>'
+      type          : '()V'
+      access        : 0x10001 (PUBLIC CONSTRUCTOR)
+      code          -
+      registers     : 9
+      ins           : 1
+      outs          : 2
+      insns size    : 234 16-bit code units
+000a94:                                        |[000a94] com.google.android.test.Test.<init>:()V
+000aa4: 1606 0000                              |0000: const-wide/16 v6, #int 0 // #0
+000aa8: 1215                                   |0002: const/4 v5, #int 1 // #1
+000aaa: 1224                                   |0003: const/4 v4, #int 2 // #2
+000aac: 7010 0200 0800                         |0004: invoke-direct {v8}, Landroid/app/Activity;.<init>:()V // method@0002
+000ab2: 1201                                   |0007: const/4 v1, #int 0 // #0
+000ab4: 5c81 0d00                              |0008: iput-boolean v1, v8, Lcom/google/android/test/Test;.mBool:Z // field@000d
+000ab8: 1301 1f00                              |000a: const/16 v1, #int 31 // #1f
+000abc: 5d81 0c00                              |000c: iput-byte v1, v8, Lcom/google/android/test/Test;.mB:B // field@000c
+000ac0: 1401 ffff 0000                         |000e: const v1, #float 0.000000 // #0000ffff
+000ac6: 5e81 0e00                              |0011: iput-char v1, v8, Lcom/google/android/test/Test;.mC:C // field@000e
+000aca: 1301 3412                              |0013: const/16 v1, #int 4660 // #1234
+000ace: 5f81 1500                              |0015: iput-short v1, v8, Lcom/google/android/test/Test;.mS:S // field@0015
+000ad2: 1401 7856 3412                         |0017: const v1, #float 0.000000 // #12345678
+000ad8: 5981 1100                              |001a: iput v1, v8, Lcom/google/android/test/Test;.mI:I // field@0011
+000adc: 1802 ffff cdab 7956 3412               |001c: const-wide v2, #double 0.000000 // #12345679abcdffff
+000ae6: 5a82 1200                              |0021: iput-wide v2, v8, Lcom/google/android/test/Test;.mL:J // field@0012
+000aea: 1401 00e4 4046                         |0023: const v1, #float 12345.000000 // #4640e400
+000af0: 5981 1000                              |0026: iput v1, v8, Lcom/google/android/test/Test;.mF:F // field@0010
+000af4: 1802 0000 0000 801c c840               |0028: const-wide v2, #double 12345.000000 // #40c81c8000000000
+000afe: 5a82 0f00                              |002d: iput-wide v2, v8, Lcom/google/android/test/Test;.mD:D // field@000f
+000b02: 1201                                   |002f: const/4 v1, #int 0 // #0
+000b04: 5b81 1300                              |0030: iput-object v1, v8, Lcom/google/android/test/Test;.mO:Ljava/lang/Object; // field@0013
+000b08: 1241                                   |0032: const/4 v1, #int 4 // #4
+000b0a: 2311 2400                              |0033: new-array v1, v1, [I // type@0024
+000b0e: 2601 7500 0000                         |0035: fill-array-data v1, 000000aa // +00000075
+000b14: 5b81 0b00                              |0038: iput-object v1, v8, Lcom/google/android/test/Test;.mArray:[I // field@000b
+000b18: 2341 2900                              |003a: new-array v1, v4, [Z // type@0029
+000b1c: 4e05 0105                              |003c: aput-boolean v5, v1, v5
+000b20: 5b81 0200                              |003e: iput-object v1, v8, Lcom/google/android/test/Test;.aBool:[Z // field@0002
+000b24: 2341 2000                              |0040: new-array v1, v4, [B // type@0020
+000b28: 2601 7400 0000                         |0042: fill-array-data v1, 000000b6 // +00000074
+000b2e: 5b81 0300                              |0045: iput-object v1, v8, Lcom/google/android/test/Test;.aByte:[B // field@0003
+000b32: 2341 2100                              |0047: new-array v1, v4, [C // type@0021
+000b36: 2601 7300 0000                         |0049: fill-array-data v1, 000000bc // +00000073
+000b3c: 5b81 0400                              |004c: iput-object v1, v8, Lcom/google/android/test/Test;.aChar:[C // field@0004
+000b40: 2341 2800                              |004e: new-array v1, v4, [S // type@0028
+000b44: 5b81 0a00                              |0050: iput-object v1, v8, Lcom/google/android/test/Test;.aShort:[S // field@000a
+000b48: 2341 2400                              |0052: new-array v1, v4, [I // type@0024
+000b4c: 2601 6e00 0000                         |0054: fill-array-data v1, 000000c2 // +0000006e
+000b52: 5b81 0700                              |0057: iput-object v1, v8, Lcom/google/android/test/Test;.aInt:[I // field@0007
+000b56: 2341 2500                              |0059: new-array v1, v4, [J // type@0025
+000b5a: 2601 6f00 0000                         |005b: fill-array-data v1, 000000ca // +0000006f
+000b60: 5b81 0800                              |005e: iput-object v1, v8, Lcom/google/android/test/Test;.aLong:[J // field@0008
+000b64: 2341 2300                              |0060: new-array v1, v4, [F // type@0023
+000b68: 2601 7400 0000                         |0062: fill-array-data v1, 000000d6 // +00000074
+000b6e: 5b81 0600                              |0065: iput-object v1, v8, Lcom/google/android/test/Test;.aFloat:[F // field@0006
+000b72: 2341 2200                              |0067: new-array v1, v4, [D // type@0022
+000b76: 2601 7500 0000                         |0069: fill-array-data v1, 000000de // +00000075
+000b7c: 5b81 0500                              |006c: iput-object v1, v8, Lcom/google/android/test/Test;.aDouble:[D // field@0005
+000b80: 2341 2600                              |006e: new-array v1, v4, [Ljava/lang/Object; // type@0026
+000b84: 2202 1400                              |0070: new-instance v2, Ljava/lang/Object; // type@0014
+000b88: 7010 1900 0200                         |0072: invoke-direct {v2}, Ljava/lang/Object;.<init>:()V // method@0019
+000b8e: 4d02 0105                              |0075: aput-object v2, v1, v5
+000b92: 5b81 0900                              |0077: iput-object v1, v8, Lcom/google/android/test/Test;.aObject:[Ljava/lang/Object; // field@0009
+000b96: 1231                                   |0079: const/4 v1, #int 3 // #3
+000b98: 7020 0d00 1800                         |007a: invoke-direct {v8, v1}, Lcom/google/android/test/Test;.doit:(I)V // method@000d
+000b9e: 5a86 1200                              |007d: iput-wide v6, v8, Lcom/google/android/test/Test;.mL:J // field@0012
+000ba2: 7020 0a00 8800                         |007f: invoke-direct {v8, v8}, Lcom/google/android/test/Test;.add:(Ljava/lang/Object;)Ljava/lang/Object; // method@000a
+000ba8: 0c01                                   |0082: move-result-object v1
+000baa: 5b81 1300                              |0083: iput-object v1, v8, Lcom/google/android/test/Test;.mO:Ljava/lang/Object; // field@0013
+000bae: 7110 0b00 0800                         |0085: invoke-static {v8}, Lcom/google/android/test/Test;.adds:(Ljava/lang/Object;)Ljava/lang/Object; // method@000b
+000bb4: 0c01                                   |0088: move-result-object v1
+000bb6: 6901 1e00                              |0089: sput-object v1, Lcom/google/android/test/Test;.sO:Ljava/lang/Object; // field@001e
+000bba: 7010 0c00 0800                         |008b: invoke-direct {v8}, Lcom/google/android/test/Test;.copies:()V // method@000c
+000bc0: 7010 1600 0800                         |008e: invoke-direct {v8}, Lcom/google/android/test/Test;.seta:()V // method@0016
+000bc6: 7010 0e00 0800                         |0091: invoke-direct {v8}, Lcom/google/android/test/Test;.geta:()Z // method@000e
+000bcc: 0a01                                   |0094: move-result v1
+000bce: 3801 0900                              |0095: if-eqz v1, 009e // +0009
+000bd2: 6201 2000                              |0097: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0020
+000bd6: 1a02 7600                              |0099: const-string v2, "ok then" // string@0076
+000bda: 6e20 1700 2100                         |009b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0017
+000be0: 0e00                                   |009e: return-void
+000be2: 0d00                                   |009f: move-exception v0
+000be4: 1251                                   |00a0: const/4 v1, #int 5 // #5
+000be6: 5981 1100                              |00a1: iput v1, v8, Lcom/google/android/test/Test;.mI:I // field@0011
+000bea: 5a86 1200                              |00a3: iput-wide v6, v8, Lcom/google/android/test/Test;.mL:J // field@0012
+000bee: 28da                                   |00a5: goto 007f // -0026
+000bf0: 0d01                                   |00a6: move-exception v1
+000bf2: 5a86 1200                              |00a7: iput-wide v6, v8, Lcom/google/android/test/Test;.mL:J // field@0012
+000bf6: 2701                                   |00a9: throw v1
+000bf8: 0003 0400 0400 0000 0100 0000 0200 ... |00aa: array-data (12 units)
+000c10: 0003 0100 0200 0000 0102               |00b6: array-data (5 units)
+000c1a: 0000                                   |00bb: nop // spacer
+000c1c: 0003 0200 0200 0000 6100 6200          |00bc: array-data (6 units)
+000c28: 0003 0400 0200 0000 0100 0000 0200 ... |00c2: array-data (8 units)
+000c38: 0003 0800 0200 0000 0100 0000 0000 ... |00ca: array-data (12 units)
+000c50: 0003 0400 0200 0000 0000 803f 0000 ... |00d6: array-data (8 units)
+000c60: 0003 0800 0200 0000 0000 0000 0000 ... |00de: array-data (12 units)
+      catches       : 2
+        0x007a - 0x007d
+          Ljava/lang/Exception; -> 0x009f
+          <any> -> 0x00a6
+        0x00a1 - 0x00a3
+          <any> -> 0x00a6
+      positions     : 
+        0x0004 line=43
+        0x0007 line=18
+        0x000a line=19
+        0x000e line=20
+        0x0013 line=21
+        0x0017 line=22
+        0x001c line=23
+        0x0023 line=24
+        0x0028 line=25
+        0x002f line=26
+        0x0032 line=27
+        0x003a line=31
+        0x0040 line=32
+        0x0047 line=33
+        0x004e line=34
+        0x0052 line=35
+        0x0059 line=36
+        0x0060 line=37
+        0x0067 line=38
+        0x006e line=39
+        0x0079 line=45
+        0x007d line=49
+        0x007f line=51
+        0x0085 line=52
+        0x008b line=53
+        0x008e line=54
+        0x0091 line=55
+        0x0097 line=56
+        0x009e line=57
+        0x009f line=46
+        0x00a0 line=47
+        0x00a3 line=49
+        0x00a6 line=48
+        0x00a7 line=49
+        0x00a9 line=50
+        0x00aa line=27
+        0x00b6 line=32
+        0x00bb line=33
+        0x00c2 line=35
+        0x00ca line=36
+        0x00d6 line=37
+        0x00de line=38
+      locals        : 
+        0x00a0 - 0x00a6 reg=0 e Ljava/lang/Exception; 
+        0x0000 - 0x00ea reg=8 this Lcom/google/android/test/Test; 
+
+    #2              : (in Lcom/google/android/test/Test;)
+      name          : 'add'
+      type          : '(Ljava/lang/Object;)Ljava/lang/Object;'
+      access        : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 13
+      ins           : 2
+      outs          : 0
+      insns size    : 239 16-bit code units
+000c94:                                        |[000c94] com.google.android.test.Test.add:(Ljava/lang/Object;)Ljava/lang/Object;
+000ca4: 150a 8040                              |0000: const/high16 v10, #int 1082130432 // #4080
+000ca8: 1908 1040                              |0002: const-wide/high16 v8, #long 4616189618054758400 // #4010
+000cac: 1d0b                                   |0004: monitor-enter v11
+000cae: 5bbc 1300                              |0005: iput-object v12, v11, Lcom/google/android/test/Test;.mO:Ljava/lang/Object; // field@0013
+000cb2: 55b0 0d00                              |0007: iget-boolean v0, v11, Lcom/google/android/test/Test;.mBool:Z // field@000d
+000cb6: de00 0000                              |0009: or-int/lit8 v0, v0, #int 0 // #00
+000cba: 5cb0 0d00                              |000b: iput-boolean v0, v11, Lcom/google/android/test/Test;.mBool:Z // field@000d
+000cbe: 56b0 0c00                              |000d: iget-byte v0, v11, Lcom/google/android/test/Test;.mB:B // field@000c
+000cc2: d800 001f                              |000f: add-int/lit8 v0, v0, #int 31 // #1f
+000cc6: 8d00                                   |0011: int-to-byte v0, v0
+000cc8: 5db0 0c00                              |0012: iput-byte v0, v11, Lcom/google/android/test/Test;.mB:B // field@000c
+000ccc: 57b0 0e00                              |0014: iget-char v0, v11, Lcom/google/android/test/Test;.mC:C // field@000e
+000cd0: 1401 ffff 0000                         |0016: const v1, #float 0.000000 // #0000ffff
+000cd6: b010                                   |0019: add-int/2addr v0, v1
+000cd8: 8e00                                   |001a: int-to-char v0, v0
+000cda: 5eb0 0e00                              |001b: iput-char v0, v11, Lcom/google/android/test/Test;.mC:C // field@000e
+000cde: 58b0 1500                              |001d: iget-short v0, v11, Lcom/google/android/test/Test;.mS:S // field@0015
+000ce2: d000 3412                              |001f: add-int/lit16 v0, v0, #int 4660 // #1234
+000ce6: 8f00                                   |0021: int-to-short v0, v0
+000ce8: 5fb0 1500                              |0022: iput-short v0, v11, Lcom/google/android/test/Test;.mS:S // field@0015
+000cec: 52b0 1100                              |0024: iget v0, v11, Lcom/google/android/test/Test;.mI:I // field@0011
+000cf0: 1401 7856 3412                         |0026: const v1, #float 0.000000 // #12345678
+000cf6: b010                                   |0029: add-int/2addr v0, v1
+000cf8: 59b0 1100                              |002a: iput v0, v11, Lcom/google/android/test/Test;.mI:I // field@0011
+000cfc: 52b0 1100                              |002c: iget v0, v11, Lcom/google/android/test/Test;.mI:I // field@0011
+000d00: 1501 f11f                              |002e: const/high16 v1, #int 535887872 // #1ff1
+000d04: b010                                   |0030: add-int/2addr v0, v1
+000d06: 59b0 1100                              |0031: iput v0, v11, Lcom/google/android/test/Test;.mI:I // field@0011
+000d0a: 53b0 1200                              |0033: iget-wide v0, v11, Lcom/google/android/test/Test;.mL:J // field@0012
+000d0e: 1802 ffff cdab 7956 3412               |0035: const-wide v2, #double 0.000000 // #12345679abcdffff
+000d18: bb20                                   |003a: add-long/2addr v0, v2
+000d1a: 5ab0 1200                              |003b: iput-wide v0, v11, Lcom/google/android/test/Test;.mL:J // field@0012
+000d1e: 53b0 1200                              |003d: iget-wide v0, v11, Lcom/google/android/test/Test;.mL:J // field@0012
+000d22: 1902 f11f                              |003f: const-wide/high16 v2, #long 2301620884563034112 // #1ff1
+000d26: bb20                                   |0041: add-long/2addr v0, v2
+000d28: 5ab0 1200                              |0042: iput-wide v0, v11, Lcom/google/android/test/Test;.mL:J // field@0012
+000d2c: 52b0 1000                              |0044: iget v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000d30: 1401 00e4 4046                         |0046: const v1, #float 12345.000000 // #4640e400
+000d36: 52b2 1000                              |0049: iget v2, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000d3a: 1503 803f                              |004b: const/high16 v3, #int 1065353216 // #3f80
+000d3e: c732                                   |004d: sub-float/2addr v2, v3
+000d40: c621                                   |004e: add-float/2addr v1, v2
+000d42: 52b2 1000                              |004f: iget v2, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000d46: c8a2                                   |0051: mul-float/2addr v2, v10
+000d48: 1503 c03f                              |0052: const/high16 v3, #int 1069547520 // #3fc0
+000d4c: c932                                   |0054: div-float/2addr v2, v3
+000d4e: c621                                   |0055: add-float/2addr v1, v2
+000d50: c610                                   |0056: add-float/2addr v0, v1
+000d52: 59b0 1000                              |0057: iput v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000d56: 53b0 0f00                              |0059: iget-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000d5a: 1802 0000 0000 801c c840               |005b: const-wide v2, #double 12345.000000 // #40c81c8000000000
+000d64: 53b4 0f00                              |0060: iget-wide v4, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000d68: 1906 f03f                              |0062: const-wide/high16 v6, #long 4607182418800017408 // #3ff0
+000d6c: cc64                                   |0064: sub-double/2addr v4, v6
+000d6e: cb42                                   |0065: add-double/2addr v2, v4
+000d70: 53b4 0f00                              |0066: iget-wide v4, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000d74: cd84                                   |0068: mul-double/2addr v4, v8
+000d76: 1906 f83f                              |0069: const-wide/high16 v6, #long 4609434218613702656 // #3ff8
+000d7a: ce64                                   |006b: div-double/2addr v4, v6
+000d7c: cb42                                   |006c: add-double/2addr v2, v4
+000d7e: cb20                                   |006d: add-double/2addr v0, v2
+000d80: 5ab0 0f00                              |006e: iput-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000d84: 52b0 1000                              |0070: iget v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000d88: 1201                                   |0072: const/4 v1, #int 0 // #0
+000d8a: 2d00 0001                              |0073: cmpl-float v0, v0, v1
+000d8e: 3800 2900                              |0075: if-eqz v0, 009e // +0029
+000d92: 52b0 1000                              |0077: iget v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000d96: 1401 9a99 993e                         |0079: const v1, #float 0.300000 // #3e99999a
+000d9c: 2d00 0001                              |007c: cmpl-float v0, v0, v1
+000da0: 3900 2000                              |007e: if-nez v0, 009e // +0020
+000da4: 52b0 1000                              |0080: iget v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000da8: 2d00 000a                              |0082: cmpl-float v0, v0, v10
+000dac: 3c00 1a00                              |0084: if-gtz v0, 009e // +001a
+000db0: 52b0 1000                              |0086: iget v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000db4: 1501 c040                              |0088: const/high16 v1, #int 1086324736 // #40c0
+000db8: 2e00 0001                              |008a: cmpg-float v0, v0, v1
+000dbc: 3a00 1200                              |008c: if-ltz v0, 009e // +0012
+000dc0: 52b0 1000                              |008e: iget v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000dc4: 1501 b0c1                              |0090: const/high16 v1, #int -1045430272 // #c1b0
+000dc8: 2e00 0001                              |0092: cmpg-float v0, v0, v1
+000dcc: 3d00 0a00                              |0094: if-lez v0, 009e // +000a
+000dd0: 52b0 1000                              |0096: iget v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000dd4: 1501 b041                              |0098: const/high16 v1, #int 1102053376 // #41b0
+000dd8: 2d00 0001                              |009a: cmpl-float v0, v0, v1
+000ddc: 3a00 0700                              |009c: if-ltz v0, 00a3 // +0007
+000de0: 53b0 0f00                              |009e: iget-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000de4: 8c00                                   |00a0: double-to-float v0, v0
+000de6: 59b0 1000                              |00a1: iput v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000dea: 53b0 0f00                              |00a3: iget-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000dee: 1602 0000                              |00a5: const-wide/16 v2, #int 0 // #0
+000df2: 2f00 0002                              |00a7: cmpl-double v0, v0, v2
+000df6: 3800 2b00                              |00a9: if-eqz v0, 00d4 // +002b
+000dfa: 53b0 0f00                              |00ab: iget-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000dfe: 1802 3333 3333 3333 d33f               |00ad: const-wide v2, #double 0.300000 // #3fd3333333333333
+000e08: 2f00 0002                              |00b2: cmpl-double v0, v0, v2
+000e0c: 3900 2000                              |00b4: if-nez v0, 00d4 // +0020
+000e10: 53b0 0f00                              |00b6: iget-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000e14: 2f00 0008                              |00b8: cmpl-double v0, v0, v8
+000e18: 3c00 1a00                              |00ba: if-gtz v0, 00d4 // +001a
+000e1c: 53b0 0f00                              |00bc: iget-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000e20: 1902 1840                              |00be: const-wide/high16 v2, #long 4618441417868443648 // #4018
+000e24: 3000 0002                              |00c0: cmpg-double v0, v0, v2
+000e28: 3a00 1200                              |00c2: if-ltz v0, 00d4 // +0012
+000e2c: 53b0 0f00                              |00c4: iget-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000e30: 1902 36c0                              |00c6: const-wide/high16 v2, #long -4596486369685012480 // #c036
+000e34: 3000 0002                              |00c8: cmpg-double v0, v0, v2
+000e38: 3d00 0a00                              |00ca: if-lez v0, 00d4 // +000a
+000e3c: 53b0 0f00                              |00cc: iget-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000e40: 1902 3640                              |00ce: const-wide/high16 v2, #long 4626885667169763328 // #4036
+000e44: 2f00 0002                              |00d0: cmpl-double v0, v0, v2
+000e48: 3a00 1200                              |00d2: if-ltz v0, 00e4 // +0012
+000e4c: 52b0 1000                              |00d4: iget v0, v11, Lcom/google/android/test/Test;.mF:F // field@0010
+000e50: 8900                                   |00d6: float-to-double v0, v0
+000e52: 5ab0 0f00                              |00d7: iput-wide v0, v11, Lcom/google/android/test/Test;.mD:D // field@000f
+000e56: 6300 1800                              |00d9: sget-boolean v0, Lcom/google/android/test/Test;.sBool:Z // field@0018
+000e5a: 3900 0f00                              |00db: if-nez v0, 00ea // +000f
+000e5e: 55b0 0d00                              |00dd: iget-boolean v0, v11, Lcom/google/android/test/Test;.mBool:Z // field@000d
+000e62: 3900 0b00                              |00df: if-nez v0, 00ea // +000b
+000e66: 1200                                   |00e1: const/4 v0, #int 0 // #0
+000e68: 5cb0 0d00                              |00e2: iput-boolean v0, v11, Lcom/google/android/test/Test;.mBool:Z // field@000d
+000e6c: 390c 0400                              |00e4: if-nez v12, 00e8 // +0004
+000e70: 54bc 1300                              |00e6: iget-object v12, v11, Lcom/google/android/test/Test;.mO:Ljava/lang/Object; // field@0013
+000e74: 1e0b                                   |00e8: monitor-exit v11
+000e76: 110c                                   |00e9: return-object v12
+000e78: 1210                                   |00ea: const/4 v0, #int 1 // #1
+000e7a: 28f7                                   |00eb: goto 00e2 // -0009
+000e7c: 0d00                                   |00ec: move-exception v0
+000e7e: 1e0b                                   |00ed: monitor-exit v11
+000e80: 2700                                   |00ee: throw v0
+      catches       : 1
+        0x0005 - 0x00e8
+          <any> -> 0x00ec
+      positions     : 
+        0x0004 line=179
+        0x0007 line=180
+        0x000d line=181
+        0x0014 line=182
+        0x001d line=183
+        0x0024 line=184
+        0x002c line=185
+        0x0033 line=186
+        0x003d line=187
+        0x0044 line=188
+        0x0059 line=189
+        0x0070 line=190
+        0x009e line=191
+        0x00a3 line=193
+        0x00d4 line=194
+        0x00d9 line=195
+        0x00e4 line=197
+        0x00ea line=195
+        0x00ec line=179
+      locals        : 
+        0x0000 - 0x00e8 reg=12 o Ljava/lang/Object; 
+        0x0000 - 0x00ef reg=11 this Lcom/google/android/test/Test; 
+        0x00ea - 0x00ef reg=12 o Ljava/lang/Object; 
+
+    #3              : (in Lcom/google/android/test/Test;)
+      name          : 'adds'
+      type          : '(Ljava/lang/Object;)Ljava/lang/Object;'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 9
+      ins           : 1
+      outs          : 0
+      insns size    : 118 16-bit code units
+000e90:                                        |[000e90] com.google.android.test.Test.adds:(Ljava/lang/Object;)Ljava/lang/Object;
+000ea0: 6908 1e00                              |0000: sput-object v8, Lcom/google/android/test/Test;.sO:Ljava/lang/Object; // field@001e
+000ea4: 6300 1800                              |0002: sget-boolean v0, Lcom/google/android/test/Test;.sBool:Z // field@0018
+000ea8: de00 0000                              |0004: or-int/lit8 v0, v0, #int 0 // #00
+000eac: 6a00 1800                              |0006: sput-boolean v0, Lcom/google/android/test/Test;.sBool:Z // field@0018
+000eb0: 6400 1700                              |0008: sget-byte v0, Lcom/google/android/test/Test;.sB:B // field@0017
+000eb4: d800 001f                              |000a: add-int/lit8 v0, v0, #int 31 // #1f
+000eb8: 8d00                                   |000c: int-to-byte v0, v0
+000eba: 6b00 1700                              |000d: sput-byte v0, Lcom/google/android/test/Test;.sB:B // field@0017
+000ebe: 6500 1900                              |000f: sget-char v0, Lcom/google/android/test/Test;.sC:C // field@0019
+000ec2: 1401 ffff 0000                         |0011: const v1, #float 0.000000 // #0000ffff
+000ec8: b010                                   |0014: add-int/2addr v0, v1
+000eca: 8e00                                   |0015: int-to-char v0, v0
+000ecc: 6c00 1900                              |0016: sput-char v0, Lcom/google/android/test/Test;.sC:C // field@0019
+000ed0: 6600 1f00                              |0018: sget-short v0, Lcom/google/android/test/Test;.sS:S // field@001f
+000ed4: d000 3412                              |001a: add-int/lit16 v0, v0, #int 4660 // #1234
+000ed8: 8f00                                   |001c: int-to-short v0, v0
+000eda: 6d00 1f00                              |001d: sput-short v0, Lcom/google/android/test/Test;.sS:S // field@001f
+000ede: 6000 1c00                              |001f: sget v0, Lcom/google/android/test/Test;.sI:I // field@001c
+000ee2: 1401 7856 3412                         |0021: const v1, #float 0.000000 // #12345678
+000ee8: b010                                   |0024: add-int/2addr v0, v1
+000eea: 6700 1c00                              |0025: sput v0, Lcom/google/android/test/Test;.sI:I // field@001c
+000eee: 6000 1c00                              |0027: sget v0, Lcom/google/android/test/Test;.sI:I // field@001c
+000ef2: 1501 f11f                              |0029: const/high16 v1, #int 535887872 // #1ff1
+000ef6: b010                                   |002b: add-int/2addr v0, v1
+000ef8: 6700 1c00                              |002c: sput v0, Lcom/google/android/test/Test;.sI:I // field@001c
+000efc: 6100 1d00                              |002e: sget-wide v0, Lcom/google/android/test/Test;.sL:J // field@001d
+000f00: 1802 ffff cdab 7956 3412               |0030: const-wide v2, #double 0.000000 // #12345679abcdffff
+000f0a: bb20                                   |0035: add-long/2addr v0, v2
+000f0c: 6800 1d00                              |0036: sput-wide v0, Lcom/google/android/test/Test;.sL:J // field@001d
+000f10: 6100 1d00                              |0038: sget-wide v0, Lcom/google/android/test/Test;.sL:J // field@001d
+000f14: 1902 f11f                              |003a: const-wide/high16 v2, #long 2301620884563034112 // #1ff1
+000f18: bb20                                   |003c: add-long/2addr v0, v2
+000f1a: 6800 1d00                              |003d: sput-wide v0, Lcom/google/android/test/Test;.sL:J // field@001d
+000f1e: 6000 1b00                              |003f: sget v0, Lcom/google/android/test/Test;.sF:F // field@001b
+000f22: 1401 00e4 4046                         |0041: const v1, #float 12345.000000 // #4640e400
+000f28: 6002 1b00                              |0044: sget v2, Lcom/google/android/test/Test;.sF:F // field@001b
+000f2c: 7f22                                   |0046: neg-float v2, v2
+000f2e: 1503 803f                              |0047: const/high16 v3, #int 1065353216 // #3f80
+000f32: c732                                   |0049: sub-float/2addr v2, v3
+000f34: c621                                   |004a: add-float/2addr v1, v2
+000f36: 6002 1b00                              |004b: sget v2, Lcom/google/android/test/Test;.sF:F // field@001b
+000f3a: 1503 8040                              |004d: const/high16 v3, #int 1082130432 // #4080
+000f3e: c832                                   |004f: mul-float/2addr v2, v3
+000f40: 1503 c03f                              |0050: const/high16 v3, #int 1069547520 // #3fc0
+000f44: c932                                   |0052: div-float/2addr v2, v3
+000f46: c621                                   |0053: add-float/2addr v1, v2
+000f48: c610                                   |0054: add-float/2addr v0, v1
+000f4a: 6700 1b00                              |0055: sput v0, Lcom/google/android/test/Test;.sF:F // field@001b
+000f4e: 6100 1a00                              |0057: sget-wide v0, Lcom/google/android/test/Test;.sD:D // field@001a
+000f52: 1802 0000 0000 801c c840               |0059: const-wide v2, #double 12345.000000 // #40c81c8000000000
+000f5c: 6104 1a00                              |005e: sget-wide v4, Lcom/google/android/test/Test;.sD:D // field@001a
+000f60: 8044                                   |0060: neg-double v4, v4
+000f62: 1906 f03f                              |0061: const-wide/high16 v6, #long 4607182418800017408 // #3ff0
+000f66: cc64                                   |0063: sub-double/2addr v4, v6
+000f68: cb42                                   |0064: add-double/2addr v2, v4
+000f6a: 6104 1a00                              |0065: sget-wide v4, Lcom/google/android/test/Test;.sD:D // field@001a
+000f6e: 1906 1040                              |0067: const-wide/high16 v6, #long 4616189618054758400 // #4010
+000f72: cd64                                   |0069: mul-double/2addr v4, v6
+000f74: 1906 f83f                              |006a: const-wide/high16 v6, #long 4609434218613702656 // #3ff8
+000f78: ce64                                   |006c: div-double/2addr v4, v6
+000f7a: cb42                                   |006d: add-double/2addr v2, v4
+000f7c: cb20                                   |006e: add-double/2addr v0, v2
+000f7e: 6800 1a00                              |006f: sput-wide v0, Lcom/google/android/test/Test;.sD:D // field@001a
+000f82: 3908 0400                              |0071: if-nez v8, 0075 // +0004
+000f86: 6208 1e00                              |0073: sget-object v8, Lcom/google/android/test/Test;.sO:Ljava/lang/Object; // field@001e
+000f8a: 1108                                   |0075: return-object v8
+      catches       : (none)
+      positions     : 
+        0x0000 line=201
+        0x0002 line=202
+        0x0008 line=203
+        0x000f line=204
+        0x0018 line=205
+        0x001f line=206
+        0x0027 line=207
+        0x002e line=208
+        0x0038 line=209
+        0x003f line=210
+        0x0057 line=211
+        0x0071 line=212
+      locals        : 
+        0x0000 - 0x0075 reg=8 o Ljava/lang/Object; 
+
+    #4              : (in Lcom/google/android/test/Test;)
+      name          : 'copies'
+      type          : '()V'
+      access        : 0x0002 (PRIVATE)
+      code          -
+      registers     : 19
+      ins           : 1
+      outs          : 12
+      insns size    : 171 16-bit code units
+000f8c:                                        |[000f8c] com.google.android.test.Test.copies:()V
+000f9c: 0800 1200                              |0000: move-object/from16 v0, v18
+000fa0: 5302 1200                              |0002: iget-wide v2, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+000fa4: 7d22                                   |0004: neg-long v2, v2
+000fa6: 6104 1d00                              |0005: sget-wide v4, Lcom/google/android/test/Test;.sL:J // field@001d
+000faa: 6106 1d00                              |0007: sget-wide v6, Lcom/google/android/test/Test;.sL:J // field@001d
+000fae: bd64                                   |0009: mul-long/2addr v4, v6
+000fb0: 0800 1200                              |000a: move-object/from16 v0, v18
+000fb4: 5306 1200                              |000c: iget-wide v6, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+000fb8: be64                                   |000e: div-long/2addr v4, v6
+000fba: bc42                                   |000f: sub-long/2addr v2, v4
+000fbc: 0800 1200                              |0010: move-object/from16 v0, v18
+000fc0: 5304 1200                              |0012: iget-wide v4, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+000fc4: 1606 ffff                              |0014: const-wide/16 v6, #int -1 // #ffff
+000fc8: c264                                   |0016: xor-long/2addr v4, v6
+000fca: bc42                                   |0017: sub-long/2addr v2, v4
+000fcc: 0800 1200                              |0018: move-object/from16 v0, v18
+000fd0: 5304 1200                              |001a: iget-wide v4, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+000fd4: 1606 0400                              |001c: const-wide/16 v6, #int 4 // #4
+000fd8: bf64                                   |001e: rem-long/2addr v4, v6
+000fda: a210 0204                              |001f: xor-long v16, v2, v4
+000fde: 0800 1200                              |0021: move-object/from16 v0, v18
+000fe2: 5302 0f00                              |0023: iget-wide v2, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+000fe6: 6004 1b00                              |0025: sget v4, Lcom/google/android/test/Test;.sF:F // field@001b
+000fea: 8944                                   |0027: float-to-double v4, v4
+000fec: cd42                                   |0028: mul-double/2addr v2, v4
+000fee: 0800 1200                              |0029: move-object/from16 v0, v18
+000ff2: 5304 0f00                              |002b: iget-wide v4, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+000ff6: ce42                                   |002d: div-double/2addr v2, v4
+000ff8: 6104 1a00                              |002e: sget-wide v4, Lcom/google/android/test/Test;.sD:D // field@001a
+000ffc: 0800 1200                              |0030: move-object/from16 v0, v18
+001000: 5306 0f00                              |0032: iget-wide v6, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+001004: cd64                                   |0034: mul-double/2addr v4, v6
+001006: ac0e 0204                              |0035: sub-double v14, v2, v4
+00100a: 6302 1800                              |0037: sget-boolean v2, Lcom/google/android/test/Test;.sBool:Z // field@0018
+00100e: 0800 1200                              |0039: move-object/from16 v0, v18
+001012: 5c02 0d00                              |003b: iput-boolean v2, v0, Lcom/google/android/test/Test;.mBool:Z // field@000d
+001016: 6402 1700                              |003d: sget-byte v2, Lcom/google/android/test/Test;.sB:B // field@0017
+00101a: 0800 1200                              |003f: move-object/from16 v0, v18
+00101e: 5d02 0c00                              |0041: iput-byte v2, v0, Lcom/google/android/test/Test;.mB:B // field@000c
+001022: 6502 1900                              |0043: sget-char v2, Lcom/google/android/test/Test;.sC:C // field@0019
+001026: 0800 1200                              |0045: move-object/from16 v0, v18
+00102a: 5e02 0e00                              |0047: iput-char v2, v0, Lcom/google/android/test/Test;.mC:C // field@000e
+00102e: 6602 1f00                              |0049: sget-short v2, Lcom/google/android/test/Test;.sS:S // field@001f
+001032: 0800 1200                              |004b: move-object/from16 v0, v18
+001036: 5f02 1500                              |004d: iput-short v2, v0, Lcom/google/android/test/Test;.mS:S // field@0015
+00103a: 6002 1c00                              |004f: sget v2, Lcom/google/android/test/Test;.sI:I // field@001c
+00103e: 0800 1200                              |0051: move-object/from16 v0, v18
+001042: 5203 1100                              |0053: iget v3, v0, Lcom/google/android/test/Test;.mI:I // field@0011
+001046: b432                                   |0055: rem-int/2addr v2, v3
+001048: 0800 1200                              |0056: move-object/from16 v0, v18
+00104c: 5902 1100                              |0058: iput v2, v0, Lcom/google/android/test/Test;.mI:I // field@0011
+001050: 6102 1d00                              |005a: sget-wide v2, Lcom/google/android/test/Test;.sL:J // field@001d
+001054: 1604 ffff                              |005c: const-wide/16 v4, #int -1 // #ffff
+001058: a204 0410                              |005e: xor-long v4, v4, v16
+00105c: bb42                                   |0060: add-long/2addr v2, v4
+00105e: 0800 1200                              |0061: move-object/from16 v0, v18
+001062: 5a02 1200                              |0063: iput-wide v2, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+001066: 6002 1b00                              |0065: sget v2, Lcom/google/android/test/Test;.sF:F // field@001b
+00106a: 0800 1200                              |0067: move-object/from16 v0, v18
+00106e: 5902 1000                              |0069: iput v2, v0, Lcom/google/android/test/Test;.mF:F // field@0010
+001072: 6102 1a00                              |006b: sget-wide v2, Lcom/google/android/test/Test;.sD:D // field@001a
+001076: cbe2                                   |006d: add-double/2addr v2, v14
+001078: 0800 1200                              |006e: move-object/from16 v0, v18
+00107c: 5a02 0f00                              |0070: iput-wide v2, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+001080: 6202 1e00                              |0072: sget-object v2, Lcom/google/android/test/Test;.sO:Ljava/lang/Object; // field@001e
+001084: 0800 1200                              |0074: move-object/from16 v0, v18
+001088: 5b02 1300                              |0076: iput-object v2, v0, Lcom/google/android/test/Test;.mO:Ljava/lang/Object; // field@0013
+00108c: 6202 1600                              |0078: sget-object v2, Lcom/google/android/test/Test;.sArray:[I // field@0016
+001090: 0800 1200                              |007a: move-object/from16 v0, v18
+001094: 5b02 0b00                              |007c: iput-object v2, v0, Lcom/google/android/test/Test;.mArray:[I // field@000b
+001098: 0800 1200                              |007e: move-object/from16 v0, v18
+00109c: 5603 0c00                              |0080: iget-byte v3, v0, Lcom/google/android/test/Test;.mB:B // field@000c
+0010a0: 0800 1200                              |0082: move-object/from16 v0, v18
+0010a4: 5704 0e00                              |0084: iget-char v4, v0, Lcom/google/android/test/Test;.mC:C // field@000e
+0010a8: 0800 1200                              |0086: move-object/from16 v0, v18
+0010ac: 5805 1500                              |0088: iget-short v5, v0, Lcom/google/android/test/Test;.mS:S // field@0015
+0010b0: 0800 1200                              |008a: move-object/from16 v0, v18
+0010b4: 5206 1100                              |008c: iget v6, v0, Lcom/google/android/test/Test;.mI:I // field@0011
+0010b8: 0800 1200                              |008e: move-object/from16 v0, v18
+0010bc: 5307 1200                              |0090: iget-wide v7, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+0010c0: 0800 1200                              |0092: move-object/from16 v0, v18
+0010c4: 5209 1000                              |0094: iget v9, v0, Lcom/google/android/test/Test;.mF:F // field@0010
+0010c8: 0800 1200                              |0096: move-object/from16 v0, v18
+0010cc: 530a 0f00                              |0098: iget-wide v10, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+0010d0: 0800 1200                              |009a: move-object/from16 v0, v18
+0010d4: 540c 1300                              |009c: iget-object v12, v0, Lcom/google/android/test/Test;.mO:Ljava/lang/Object; // field@0013
+0010d8: 0800 1200                              |009e: move-object/from16 v0, v18
+0010dc: 540d 0b00                              |00a0: iget-object v13, v0, Lcom/google/android/test/Test;.mArray:[I // field@000b
+0010e0: 0802 1200                              |00a2: move-object/from16 v2, v18
+0010e4: 760c 1100 0200                         |00a4: invoke-direct/range {v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/test/Test;.params:(BCSIJFDLjava/lang/Object;[I)J // method@0011
+0010ea: 0b02                                   |00a7: move-result-wide v2
+0010ec: 6802 1d00                              |00a8: sput-wide v2, Lcom/google/android/test/Test;.sL:J // field@001d
+0010f0: 0e00                                   |00aa: return-void
+      catches       : (none)
+      positions     : 
+        0x0000 line=216
+        0x0021 line=217
+        0x0037 line=218
+        0x003d line=219
+        0x0043 line=220
+        0x0049 line=221
+        0x004f line=222
+        0x005a line=223
+        0x0065 line=224
+        0x006b line=225
+        0x0072 line=226
+        0x0078 line=227
+        0x007e line=228
+        0x00aa line=229
+      locals        : 
+        0x0037 - 0x00ab reg=14 d D 
+        0x0021 - 0x00ab reg=16 x J 
+        0x0000 - 0x00ab reg=18 this Lcom/google/android/test/Test; 
+
+    #5              : (in Lcom/google/android/test/Test;)
+      name          : 'doit'
+      type          : '(I)V'
+      access        : 0x0002 (PRIVATE)
+      code          -
+      registers     : 3
+      ins           : 2
+      outs          : 3
+      insns size    : 78 16-bit code units
+0010f4:                                        |[0010f4] com.google.android.test.Test.doit:(I)V
+001104: 3d02 0700                              |0000: if-lez v2, 0007 // +0007
+001108: d800 02fd                              |0002: add-int/lit8 v0, v2, #int -3 // #fd
+00110c: 7020 0d00 0100                         |0004: invoke-direct {v1, v0}, Lcom/google/android/test/Test;.doit:(I)V // method@000d
+001112: 2b02 3500 0000                         |0007: packed-switch v2, 0000003c // +00000035
+001118: 2200 1300                              |000a: new-instance v0, Ljava/lang/Exception; // type@0013
+00111c: 7010 1800 0000                         |000c: invoke-direct {v0}, Ljava/lang/Exception;.<init>:()V // method@0018
+001122: 2700                                   |000f: throw v0
+001124: df00 02ff                              |0010: xor-int/lit8 v0, v2, #int -1 // #ff
+001128: 7020 1000 0100                         |0012: invoke-direct {v1, v0}, Lcom/google/android/test/Test;.p:(I)V // method@0010
+00112e: 5410 1400                              |0015: iget-object v0, v1, Lcom/google/android/test/Test;.mRunner:Ljava/lang/Runnable; // field@0014
+001132: 3800 0700                              |0017: if-eqz v0, 001e // +0007
+001136: 5410 1400                              |0019: iget-object v0, v1, Lcom/google/android/test/Test;.mRunner:Ljava/lang/Runnable; // field@0014
+00113a: 7210 1b00 0000                         |001b: invoke-interface {v0}, Ljava/lang/Runnable;.run:()V // method@001b
+001140: 2c02 2600 0000                         |001e: sparse-switch v2, 00000044 // +00000026
+001146: 0e00                                   |0021: return-void
+001148: 3d02 0700                              |0022: if-lez v2, 0029 // +0007
+00114c: 0120                                   |0024: move v0, v2
+00114e: 7030 1200 2100                         |0025: invoke-direct {v1, v2, v0}, Lcom/google/android/test/Test;.q:(II)V // method@0012
+001154: 28ed                                   |0028: goto 0015 // -0013
+001156: 7b20                                   |0029: neg-int v0, v2
+001158: 28fb                                   |002a: goto 0025 // -0005
+00115a: 7020 1000 2100                         |002b: invoke-direct {v1, v2}, Lcom/google/android/test/Test;.p:(I)V // method@0010
+001160: 5410 1400                              |002e: iget-object v0, v1, Lcom/google/android/test/Test;.mRunner:Ljava/lang/Runnable; // field@0014
+001164: 3900 f1ff                              |0030: if-nez v0, 0021 // -000f
+001168: 5b11 1400                              |0032: iput-object v1, v1, Lcom/google/android/test/Test;.mRunner:Ljava/lang/Runnable; // field@0014
+00116c: 28ed                                   |0034: goto 0021 // -0013
+00116e: d800 02ff                              |0035: add-int/lit8 v0, v2, #int -1 // #ff
+001172: 7030 1200 2100                         |0037: invoke-direct {v1, v2, v0}, Lcom/google/android/test/Test;.q:(II)V // method@0012
+001178: 28f4                                   |003a: goto 002e // -000c
+00117a: 0000                                   |003b: nop // spacer
+00117c: 0001 0200 0000 0000 0900 0000 1b00 ... |003c: packed-switch-data (8 units)
+00118c: 0002 0200 2dfb ffff 0ba2 0700 0d00 ... |0044: sparse-switch-data (10 units)
+      catches       : (none)
+      positions     : 
+        0x0000 line=98
+        0x0002 line=99
+        0x0007 line=101
+        0x000a line=104
+        0x0010 line=102
+        0x0015 line=106
+        0x0019 line=107
+        0x001e line=109
+        0x0021 line=117
+        0x0022 line=103
+        0x002b line=110
+        0x002e line=114
+        0x0032 line=115
+        0x0035 line=111
+        0x003b line=101
+        0x0044 line=109
+      locals        : 
+        0x0000 - 0x004e reg=1 this Lcom/google/android/test/Test; 
+        0x0000 - 0x004e reg=2 x I 
+
+    #6              : (in Lcom/google/android/test/Test;)
+      name          : 'geta'
+      type          : '()Z'
+      access        : 0x0002 (PRIVATE)
+      code          -
+      registers     : 8
+      ins           : 1
+      outs          : 0
+      insns size    : 73 16-bit code units
+0011a0:                                        |[0011a0] com.google.android.test.Test.geta:()Z
+0011b0: 1226                                   |0000: const/4 v6, #int 2 // #2
+0011b2: 1210                                   |0001: const/4 v0, #int 1 // #1
+0011b4: 5471 0200                              |0002: iget-object v1, v7, Lcom/google/android/test/Test;.aBool:[Z // field@0002
+0011b8: 4701 0106                              |0004: aget-boolean v1, v1, v6
+0011bc: 3801 0300                              |0006: if-eqz v1, 0009 // +0003
+0011c0: 0f00                                   |0008: return v0
+0011c2: 5471 0300                              |0009: iget-object v1, v7, Lcom/google/android/test/Test;.aByte:[B // field@0003
+0011c6: 4801 0106                              |000b: aget-byte v1, v1, v6
+0011ca: 3201 fbff                              |000d: if-eq v1, v0, 0008 // -0005
+0011ce: 5471 0400                              |000f: iget-object v1, v7, Lcom/google/android/test/Test;.aChar:[C // field@0004
+0011d2: 4901 0106                              |0011: aget-char v1, v1, v6
+0011d6: 1302 6400                              |0013: const/16 v2, #int 100 // #64
+0011da: 3221 f3ff                              |0015: if-eq v1, v2, 0008 // -000d
+0011de: 5471 0a00                              |0017: iget-object v1, v7, Lcom/google/android/test/Test;.aShort:[S // field@000a
+0011e2: 4a01 0106                              |0019: aget-short v1, v1, v6
+0011e6: 3201 edff                              |001b: if-eq v1, v0, 0008 // -0013
+0011ea: 5471 0700                              |001d: iget-object v1, v7, Lcom/google/android/test/Test;.aInt:[I // field@0007
+0011ee: 4401 0106                              |001f: aget v1, v1, v6
+0011f2: 3201 e7ff                              |0021: if-eq v1, v0, 0008 // -0019
+0011f6: 5471 0800                              |0023: iget-object v1, v7, Lcom/google/android/test/Test;.aLong:[J // field@0008
+0011fa: 4502 0106                              |0025: aget-wide v2, v1, v6
+0011fe: 1604 0100                              |0027: const-wide/16 v4, #int 1 // #1
+001202: 3101 0204                              |0029: cmp-long v1, v2, v4
+001206: 3801 ddff                              |002b: if-eqz v1, 0008 // -0023
+00120a: 5471 0600                              |002d: iget-object v1, v7, Lcom/google/android/test/Test;.aFloat:[F // field@0006
+00120e: 4401 0106                              |002f: aget v1, v1, v6
+001212: 1502 803f                              |0031: const/high16 v2, #int 1065353216 // #3f80
+001216: 2d01 0102                              |0033: cmpl-float v1, v1, v2
+00121a: 3801 d3ff                              |0035: if-eqz v1, 0008 // -002d
+00121e: 5471 0500                              |0037: iget-object v1, v7, Lcom/google/android/test/Test;.aDouble:[D // field@0005
+001222: 4502 0106                              |0039: aget-wide v2, v1, v6
+001226: 1904 f03f                              |003b: const-wide/high16 v4, #long 4607182418800017408 // #3ff0
+00122a: 2f01 0204                              |003d: cmpl-double v1, v2, v4
+00122e: 3801 c9ff                              |003f: if-eqz v1, 0008 // -0037
+001232: 5471 0900                              |0041: iget-object v1, v7, Lcom/google/android/test/Test;.aObject:[Ljava/lang/Object; // field@0009
+001236: 4601 0106                              |0043: aget-object v1, v1, v6
+00123a: 3271 c3ff                              |0045: if-eq v1, v7, 0008 // -003d
+00123e: 1200                                   |0047: const/4 v0, #int 0 // #0
+001240: 28c0                                   |0048: goto 0008 // -0040
+      catches       : (none)
+      positions     : 
+        0x0002 line=72
+        0x0008 line=81
+        0x0009 line=73
+        0x000f line=74
+        0x0017 line=75
+        0x001d line=76
+        0x0023 line=77
+        0x002d line=78
+        0x0037 line=79
+        0x0041 line=80
+        0x0047 line=81
+      locals        : 
+        0x0000 - 0x0049 reg=7 this Lcom/google/android/test/Test; 
+
+    #7              : (in Lcom/google/android/test/Test;)
+      name          : 'p'
+      type          : '(I)V'
+      access        : 0x0002 (PRIVATE)
+      code          -
+      registers     : 6
+      ins           : 2
+      outs          : 0
+      insns size    : 19 16-bit code units
+001244:                                        |[001244] com.google.android.test.Test.p:(I)V
+001254: 0151                                   |0000: move v1, v5
+001256: 1200                                   |0001: const/4 v0, #int 0 // #0
+001258: 5442 0b00                              |0002: iget-object v2, v4, Lcom/google/android/test/Test;.mArray:[I // field@000b
+00125c: 2122                                   |0004: array-length v2, v2
+00125e: 3420 0300                              |0005: if-lt v0, v2, 0008 // +0003
+001262: 0e00                                   |0007: return-void
+001264: 5442 0b00                              |0008: iget-object v2, v4, Lcom/google/android/test/Test;.mArray:[I // field@000b
+001268: 5243 1100                              |000a: iget v3, v4, Lcom/google/android/test/Test;.mI:I // field@0011
+00126c: 9303 0103                              |000c: div-int v3, v1, v3
+001270: 4b03 0200                              |000e: aput v3, v2, v0
+001274: d800 0001                              |0010: add-int/lit8 v0, v0, #int 1 // #01
+001278: 28f0                                   |0012: goto 0002 // -0010
+      catches       : (none)
+      positions     : 
+        0x0000 line=120
+        0x0001 line=121
+        0x0007 line=124
+        0x0008 line=122
+        0x0010 line=121
+      locals        : 
+        0x0002 - 0x0013 reg=0 i I 
+        0x0001 - 0x0013 reg=1 y I 
+        0x0000 - 0x0013 reg=4 this Lcom/google/android/test/Test; 
+        0x0000 - 0x0013 reg=5 x I 
+
+    #8              : (in Lcom/google/android/test/Test;)
+      name          : 'params'
+      type          : '(BCSIJFDLjava/lang/Object;[I)J'
+      access        : 0x0002 (PRIVATE)
+      code          -
+      registers     : 38
+      ins           : 12
+      outs          : 2
+      insns size    : 318 16-bit code units
+00127c:                                        |[00127c] com.google.android.test.Test.params:(BCSIJFDLjava/lang/Object;[I)J
+00128c: 0800 2400                              |0000: move-object/from16 v0, v36
+001290: 2000 1500                              |0002: instance-of v0, v0, Ljava/lang/Runnable; // type@0015
+001294: 0215 0000                              |0004: move/from16 v21, v0
+001298: 3815 0c00                              |0006: if-eqz v21, 0012 // +000c
+00129c: 0815 2400                              |0008: move-object/from16 v21, v36
+0012a0: 1f15 1500                              |000a: check-cast v21, Ljava/lang/Runnable; // type@0015
+0012a4: 0800 1500                              |000c: move-object/from16 v0, v21
+0012a8: 0801 1a00                              |000e: move-object/from16 v1, v26
+0012ac: 5b10 1400                              |0010: iput-object v0, v1, Lcom/google/android/test/Test;.mRunner:Ljava/lang/Runnable; // field@0014
+0012b0: 3825 0a00                              |0012: if-eqz v37, 001c // +000a
+0012b4: 3824 0800                              |0014: if-eqz v36, 001c // +0008
+0012b8: 7402 1a00 2400                         |0016: invoke-virtual/range {v36, v37}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@001a
+0012be: 0a15                                   |0019: move-result v21
+0012c0: 3915 3800                              |001a: if-nez v21, 0052 // +0038
+0012c4: 1315 0200                              |001c: const/16 v21, #int 2 // #2
+0012c8: 0200 1500                              |001e: move/from16 v0, v21
+0012cc: 2304 2400                              |0020: new-array v4, v0, [I // type@0024
+0012d0: 2604 0801 0000                         |0022: fill-array-data v4, 0000012a // +00000108
+0012d6: 0800 1a00                              |0025: move-object/from16 v0, v26
+0012da: 5b04 0700                              |0027: iput-object v4, v0, Lcom/google/android/test/Test;.aInt:[I // field@0007
+0012de: 1315 0200                              |0029: const/16 v21, #int 2 // #2
+0012e2: 0200 1500                              |002b: move/from16 v0, v21
+0012e6: 2305 2500                              |002d: new-array v5, v0, [J // type@0025
+0012ea: 2605 0301 0000                         |002f: fill-array-data v5, 00000132 // +00000103
+0012f0: 0800 1a00                              |0032: move-object/from16 v0, v26
+0012f4: 5b05 0800                              |0034: iput-object v5, v0, Lcom/google/android/test/Test;.aLong:[J // field@0008
+0012f8: 9015 1b1c                              |0036: add-int v21, v27, v28
+0012fc: 9015 151d                              |0038: add-int v21, v21, v29
+001300: 9015 151e                              |003a: add-int v21, v21, v30
+001304: 0200 1500                              |003c: move/from16 v0, v21
+001308: 8100                                   |003e: int-to-long v0, v0
+00130a: 0516 0000                              |003f: move-wide/from16 v22, v0
+00130e: 9b16 161f                              |0041: add-long v22, v22, v31
+001312: 0200 2100                              |0043: move/from16 v0, v33
+001316: 8800                                   |0045: float-to-long v0, v0
+001318: 0518 0000                              |0046: move-wide/from16 v24, v0
+00131c: 9b16 1618                              |0048: add-long v22, v22, v24
+001320: 0500 2200                              |004a: move-wide/from16 v0, v34
+001324: 8b00                                   |004c: double-to-long v0, v0
+001326: 0518 0000                              |004d: move-wide/from16 v24, v0
+00132a: 9b16 1618                              |004f: add-long v22, v22, v24
+00132e: 1016                                   |0051: return-wide v22
+001330: 0200 1e00                              |0052: move/from16 v0, v30
+001334: 8200                                   |0054: int-to-float v0, v0
+001336: 0221 0000                              |0055: move/from16 v33, v0
+00133a: 0200 1e00                              |0057: move/from16 v0, v30
+00133e: 8300                                   |0059: int-to-double v0, v0
+001340: 0522 0000                              |005a: move-wide/from16 v34, v0
+001344: 0800 1a00                              |005c: move-object/from16 v0, v26
+001348: 5300 1200                              |005e: iget-wide v0, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+00134c: 0516 0000                              |0060: move-wide/from16 v22, v0
+001350: 0500 1600                              |0062: move-wide/from16 v0, v22
+001354: 8400                                   |0064: long-to-int v0, v0
+001356: 0215 0000                              |0065: move/from16 v21, v0
+00135a: 0200 1500                              |0067: move/from16 v0, v21
+00135e: 0801 1a00                              |0069: move-object/from16 v1, v26
+001362: 5910 1100                              |006b: iput v0, v1, Lcom/google/android/test/Test;.mI:I // field@0011
+001366: 0800 1a00                              |006d: move-object/from16 v0, v26
+00136a: 5300 1200                              |006f: iget-wide v0, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+00136e: 0516 0000                              |0071: move-wide/from16 v22, v0
+001372: 0500 1600                              |0073: move-wide/from16 v0, v22
+001376: 7d00                                   |0075: neg-long v0, v0
+001378: 0516 0000                              |0076: move-wide/from16 v22, v0
+00137c: 0500 1600                              |0078: move-wide/from16 v0, v22
+001380: 8500                                   |007a: long-to-float v0, v0
+001382: 0221 0000                              |007b: move/from16 v33, v0
+001386: 0800 1a00                              |007d: move-object/from16 v0, v26
+00138a: 5300 1200                              |007f: iget-wide v0, v0, Lcom/google/android/test/Test;.mL:J // field@0012
+00138e: 0516 0000                              |0081: move-wide/from16 v22, v0
+001392: 1618 ffff                              |0083: const-wide/16 v24, #int -1 // #ffff
+001396: a216 1618                              |0085: xor-long v22, v22, v24
+00139a: 0500 1600                              |0087: move-wide/from16 v0, v22
+00139e: 8600                                   |0089: long-to-double v0, v0
+0013a0: 0522 0000                              |008a: move-wide/from16 v34, v0
+0013a4: 0200 2100                              |008c: move/from16 v0, v33
+0013a8: 8700                                   |008e: float-to-int v0, v0
+0013aa: 021e 0000                              |008f: move/from16 v30, v0
+0013ae: 0500 2200                              |0091: move-wide/from16 v0, v34
+0013b2: 8a00                                   |0093: double-to-int v0, v0
+0013b4: 0215 0000                              |0094: move/from16 v21, v0
+0013b8: 0200 1500                              |0096: move/from16 v0, v21
+0013bc: 0801 1a00                              |0098: move-object/from16 v1, v26
+0013c0: 5910 1100                              |009a: iput v0, v1, Lcom/google/android/test/Test;.mI:I // field@0011
+0013c4: 0800 1a00                              |009c: move-object/from16 v0, v26
+0013c8: 5200 1000                              |009e: iget v0, v0, Lcom/google/android/test/Test;.mF:F // field@0010
+0013cc: 0215 0000                              |00a0: move/from16 v21, v0
+0013d0: 6016 1b00                              |00a2: sget v22, Lcom/google/android/test/Test;.sF:F // field@001b
+0013d4: a610 1516                              |00a4: add-float v16, v21, v22
+0013d8: 0800 1a00                              |00a6: move-object/from16 v0, v26
+0013dc: 5200 1000                              |00a8: iget v0, v0, Lcom/google/android/test/Test;.mF:F // field@0010
+0013e0: 0215 0000                              |00aa: move/from16 v21, v0
+0013e4: 6016 1b00                              |00ac: sget v22, Lcom/google/android/test/Test;.sF:F // field@001b
+0013e8: a711 1516                              |00ae: sub-float v17, v21, v22
+0013ec: 0800 1a00                              |00b0: move-object/from16 v0, v26
+0013f0: 5200 1000                              |00b2: iget v0, v0, Lcom/google/android/test/Test;.mF:F // field@0010
+0013f4: 0215 0000                              |00b4: move/from16 v21, v0
+0013f8: 6016 1b00                              |00b6: sget v22, Lcom/google/android/test/Test;.sF:F // field@001b
+0013fc: a912 1516                              |00b8: div-float v18, v21, v22
+001400: 0800 1a00                              |00ba: move-object/from16 v0, v26
+001404: 5200 1000                              |00bc: iget v0, v0, Lcom/google/android/test/Test;.mF:F // field@0010
+001408: 0215 0000                              |00be: move/from16 v21, v0
+00140c: 6016 1b00                              |00c0: sget v22, Lcom/google/android/test/Test;.sF:F // field@001b
+001410: a813 1516                              |00c2: mul-float v19, v21, v22
+001414: 0800 1a00                              |00c4: move-object/from16 v0, v26
+001418: 5200 1000                              |00c6: iget v0, v0, Lcom/google/android/test/Test;.mF:F // field@0010
+00141c: 0215 0000                              |00c8: move/from16 v21, v0
+001420: 6016 1b00                              |00ca: sget v22, Lcom/google/android/test/Test;.sF:F // field@001b
+001424: aa14 1516                              |00cc: rem-float v20, v21, v22
+001428: 0800 1a00                              |00ce: move-object/from16 v0, v26
+00142c: 5300 0f00                              |00d0: iget-wide v0, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+001430: 0516 0000                              |00d2: move-wide/from16 v22, v0
+001434: 6118 1a00                              |00d4: sget-wide v24, Lcom/google/android/test/Test;.sD:D // field@001a
+001438: ab06 1618                              |00d6: add-double v6, v22, v24
+00143c: 0800 1a00                              |00d8: move-object/from16 v0, v26
+001440: 5300 0f00                              |00da: iget-wide v0, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+001444: 0516 0000                              |00dc: move-wide/from16 v22, v0
+001448: 6118 1a00                              |00de: sget-wide v24, Lcom/google/android/test/Test;.sD:D // field@001a
+00144c: ac08 1618                              |00e0: sub-double v8, v22, v24
+001450: 0800 1a00                              |00e2: move-object/from16 v0, v26
+001454: 5300 0f00                              |00e4: iget-wide v0, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+001458: 0516 0000                              |00e6: move-wide/from16 v22, v0
+00145c: 6118 1a00                              |00e8: sget-wide v24, Lcom/google/android/test/Test;.sD:D // field@001a
+001460: ae0a 1618                              |00ea: div-double v10, v22, v24
+001464: 0800 1a00                              |00ec: move-object/from16 v0, v26
+001468: 5300 0f00                              |00ee: iget-wide v0, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+00146c: 0516 0000                              |00f0: move-wide/from16 v22, v0
+001470: 6118 1a00                              |00f2: sget-wide v24, Lcom/google/android/test/Test;.sD:D // field@001a
+001474: ad0c 1618                              |00f4: mul-double v12, v22, v24
+001478: 0800 1a00                              |00f6: move-object/from16 v0, v26
+00147c: 5300 0f00                              |00f8: iget-wide v0, v0, Lcom/google/android/test/Test;.mD:D // field@000f
+001480: 0516 0000                              |00fa: move-wide/from16 v22, v0
+001484: 6118 1a00                              |00fc: sget-wide v24, Lcom/google/android/test/Test;.sD:D // field@001a
+001488: af0e 1618                              |00fe: rem-double v14, v22, v24
+00148c: 0200 1000                              |0100: move/from16 v0, v16
+001490: 7f00                                   |0102: neg-float v0, v0
+001492: 0215 0000                              |0103: move/from16 v21, v0
+001496: a615 1511                              |0105: add-float v21, v21, v17
+00149a: a816 1213                              |0107: mul-float v22, v18, v19
+00149e: a916 1614                              |0109: div-float v22, v22, v20
+0014a2: aa16 1610                              |010b: rem-float v22, v22, v16
+0014a6: a715 1516                              |010d: sub-float v21, v21, v22
+0014aa: 0200 1500                              |010f: move/from16 v0, v21
+0014ae: 0801 1a00                              |0111: move-object/from16 v1, v26
+0014b2: 5910 1000                              |0113: iput v0, v1, Lcom/google/android/test/Test;.mF:F // field@0010
+0014b6: 8060                                   |0115: neg-double v0, v6
+0014b8: 0516 0000                              |0116: move-wide/from16 v22, v0
+0014bc: ab16 1608                              |0118: add-double v22, v22, v8
+0014c0: ad18 0a0c                              |011a: mul-double v24, v10, v12
+0014c4: ae18 180e                              |011c: div-double v24, v24, v14
+0014c8: af18 1806                              |011e: rem-double v24, v24, v6
+0014cc: ac16 1618                              |0120: sub-double v22, v22, v24
+0014d0: 0500 1600                              |0122: move-wide/from16 v0, v22
+0014d4: 0802 1a00                              |0124: move-object/from16 v2, v26
+0014d8: 5a20 0f00                              |0126: iput-wide v0, v2, Lcom/google/android/test/Test;.mD:D // field@000f
+0014dc: 2900 eafe                              |0128: goto/16 0012 // -0116
+0014e0: 0003 0400 0200 0000 0100 0000 0100 ... |012a: array-data (8 units)
+0014f0: 0003 0800 0200 0000 0100 0000 0000 ... |0132: array-data (12 units)
+      catches       : (none)
+      positions     : 
+        0x0000 line=232
+        0x000a line=233
+        0x0012 line=235
+        0x001c line=256
+        0x0025 line=257
+        0x0029 line=258
+        0x0032 line=259
+        0x0036 line=260
+        0x0052 line=236
+        0x0057 line=237
+        0x005c line=238
+        0x006d line=239
+        0x007d line=240
+        0x008c line=241
+        0x0091 line=242
+        0x009c line=243
+        0x00a6 line=244
+        0x00b0 line=245
+        0x00ba line=246
+        0x00c4 line=247
+        0x00ce line=248
+        0x00d8 line=249
+        0x00e2 line=250
+        0x00ec line=251
+        0x00f6 line=252
+        0x0100 line=253
+        0x0115 line=254
+        0x012a line=256
+        0x0132 line=258
+      locals        : 
+        0x0025 - 0x0052 reg=4 aa [I 
+        0x0032 - 0x0052 reg=5 bb [J 
+        0x00d8 - 0x013e reg=6 d1 D 
+        0x00e2 - 0x013e reg=8 d2 D 
+        0x00ec - 0x013e reg=10 d3 D 
+        0x00f6 - 0x013e reg=12 d4 D 
+        0x0100 - 0x013e reg=14 d5 D 
+        0x00a6 - 0x013e reg=16 f1 F 
+        0x00b0 - 0x013e reg=17 f2 F 
+        0x00ba - 0x013e reg=18 f3 F 
+        0x00c4 - 0x013e reg=19 f4 F 
+        0x00ce - 0x013e reg=20 f5 F 
+        0x0000 - 0x013e reg=26 this Lcom/google/android/test/Test; 
+        0x0000 - 0x013e reg=27 b B 
+        0x0000 - 0x013e reg=28 c C 
+        0x0000 - 0x013e reg=29 s S 
+        0x0000 - 0x013e reg=30 i I 
+        0x0000 - 0x013e reg=31 l J 
+        0x0000 - 0x013e reg=33 f F 
+        0x0000 - 0x013e reg=34 d D 
+        0x0000 - 0x013e reg=36 o Ljava/lang/Object; 
+        0x0000 - 0x013e reg=37 a [I 
+
+    #9              : (in Lcom/google/android/test/Test;)
+      name          : 'q'
+      type          : '(II)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 10
+      ins           : 3
+      outs          : 4
+      insns size    : 85 16-bit code units
+001508:                                        |[001508] com.google.android.test.Test.q:(II)V
+001518: 1301 0a00                              |0000: const/16 v1, #int 10 // #a
+00151c: 1236                                   |0002: const/4 v6, #int 3 // #3
+00151e: 3218 0400                              |0003: if-eq v8, v1, 0007 // +0004
+001522: 3568 1000                              |0005: if-ge v8, v6, 0015 // +0010
+001526: 6200 1600                              |0007: sget-object v0, Lcom/google/android/test/Test;.sArray:[I // field@0016
+00152a: 1221                                   |0009: const/4 v1, #int 2 // #2
+00152c: 5272 1100                              |000a: iget v2, v7, Lcom/google/android/test/Test;.mI:I // field@0011
+001530: 7120 1300 2800                         |000c: invoke-static {v8, v2}, Lcom/google/android/test/Test;.r:(II)I // method@0013
+001536: 0a02                                   |000f: move-result v2
+001538: b192                                   |0010: sub-int/2addr v2, v9
+00153a: b982                                   |0011: shr-int/2addr v2, v8
+00153c: 4b02 0001                              |0012: aput v2, v0, v1
+001540: 0e00                                   |0014: return-void
+001542: 3618 1600                              |0015: if-gt v8, v1, 002b // +0016
+001546: 1300 9cff                              |0017: const/16 v0, #int -100 // #ff9c
+00154a: 3208 1200                              |0019: if-eq v8, v0, 002b // +0012
+00154e: 6200 1600                              |001b: sget-object v0, Lcom/google/android/test/Test;.sArray:[I // field@0016
+001552: 6102 1d00                              |001d: sget-wide v2, Lcom/google/android/test/Test;.sL:J // field@001d
+001556: 5374 1200                              |001f: iget-wide v4, v7, Lcom/google/android/test/Test;.mL:J // field@0012
+00155a: 7140 1500 3254                         |0021: invoke-static {v2, v3, v4, v5}, Lcom/google/android/test/Test;.s:(JJ)J // method@0015
+001560: 0b02                                   |0024: move-result-wide v2
+001562: 8421                                   |0025: long-to-int v1, v2
+001564: b291                                   |0026: mul-int/2addr v1, v9
+001566: ba81                                   |0027: ushr-int/2addr v1, v8
+001568: 4b01 0006                              |0028: aput v1, v0, v6
+00156c: 28ea                                   |002a: goto 0014 // -0016
+00156e: 1250                                   |002b: const/4 v0, #int 5 // #5
+001570: 3508 0400                              |002c: if-ge v8, v0, 0030 // +0004
+001574: 3218 0e00                              |002e: if-eq v8, v1, 003c // +000e
+001578: 6200 1600                              |0030: sget-object v0, Lcom/google/android/test/Test;.sArray:[I // field@0016
+00157c: 7120 1300 8900                         |0032: invoke-static {v9, v8}, Lcom/google/android/test/Test;.r:(II)I // method@0013
+001582: 0a01                                   |0035: move-result v1
+001584: 9802 0809                              |0036: shl-int v2, v8, v9
+001588: b721                                   |0038: xor-int/2addr v1, v2
+00158a: 4b01 0006                              |0039: aput v1, v0, v6
+00158e: 28d9                                   |003b: goto 0014 // -0027
+001590: 3398 0a00                              |003c: if-ne v8, v9, 0046 // +000a
+001594: d800 0902                              |003e: add-int/lit8 v0, v9, #int 2 // #02
+001598: 3708 0600                              |0040: if-le v8, v0, 0046 // +0006
+00159c: 3b08 0400                              |0042: if-gez v8, 0046 // +0004
+0015a0: 3c08 d0ff                              |0044: if-gtz v8, 0014 // -0030
+0015a4: 6200 1600                              |0046: sget-object v0, Lcom/google/android/test/Test;.sArray:[I // field@0016
+0015a8: df01 09ff                              |0048: xor-int/lit8 v1, v9, #int -1 // #ff
+0015ac: 9401 0801                              |004a: rem-int v1, v8, v1
+0015b0: b081                                   |004c: add-int/2addr v1, v8
+0015b2: 9202 0909                              |004d: mul-int v2, v9, v9
+0015b6: b382                                   |004f: div-int/2addr v2, v8
+0015b8: b121                                   |0050: sub-int/2addr v1, v2
+0015ba: b791                                   |0051: xor-int/2addr v1, v9
+0015bc: 4b01 0006                              |0052: aput v1, v0, v6
+0015c0: 28c0                                   |0054: goto 0014 // -0040
+      catches       : (none)
+      positions     : 
+        0x0003 line=127
+        0x0007 line=128
+        0x0014 line=136
+        0x0015 line=129
+        0x001b line=130
+        0x002b line=131
+        0x0030 line=132
+        0x003c line=133
+        0x0046 line=134
+      locals        : 
+        0x0000 - 0x0055 reg=7 this Lcom/google/android/test/Test; 
+        0x0000 - 0x0055 reg=8 x I 
+        0x0000 - 0x0055 reg=9 y I 
+
+    #10              : (in Lcom/google/android/test/Test;)
+      name          : 'r'
+      type          : '(II)I'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 15
+      ins           : 2
+      outs          : 0
+      insns size    : 93 16-bit code units
+0015c4:                                        |[0015c4] com.google.android.test.Test.r:(II)I
+0015d4: e00d 0d01                              |0000: shl-int/lit8 v13, v13, #int 1 // #01
+0015d8: e10d 0d03                              |0002: shr-int/lit8 v13, v13, #int 3 // #03
+0015dc: e20d 0d04                              |0004: ushr-int/lit8 v13, v13, #int 4 // #04
+0015e0: b8ed                                   |0006: shl-int/2addr v13, v14
+0015e2: b9ed                                   |0007: shr-int/2addr v13, v14
+0015e4: baed                                   |0008: ushr-int/2addr v13, v14
+0015e6: df09 0eff                              |0009: xor-int/lit8 v9, v14, #int -1 // #ff
+0015ea: 9000 0e09                              |000b: add-int v0, v14, v9
+0015ee: 9101 0e09                              |000d: sub-int v1, v14, v9
+0015f2: 9202 0e09                              |000f: mul-int v2, v14, v9
+0015f6: 9303 0e09                              |0011: div-int v3, v14, v9
+0015fa: 9704 0e09                              |0013: xor-int v4, v14, v9
+0015fe: 9505 0e09                              |0015: and-int v5, v14, v9
+001602: 9806 0e09                              |0017: shl-int v6, v14, v9
+001606: 9907 0e09                              |0019: shr-int v7, v14, v9
+00160a: 9a08 0e09                              |001b: ushr-int v8, v14, v9
+00160e: d5da ff00                              |001d: and-int/lit16 v10, v13, #int 255 // #00ff
+001612: df0b 0d12                              |001f: xor-int/lit8 v11, v13, #int 18 // #12
+001616: df0b 0bff                              |0021: xor-int/lit8 v11, v11, #int -1 // #ff
+00161a: 960d 0a0b                              |0023: or-int v13, v10, v11
+00161e: df0a 00ff                              |0025: xor-int/lit8 v10, v0, #int -1 // #ff
+001622: b01a                                   |0027: add-int/2addr v10, v1
+001624: 920b 0203                              |0028: mul-int v11, v2, v3
+001628: b34b                                   |002a: div-int/2addr v11, v4
+00162a: b1ba                                   |002b: sub-int/2addr v10, v11
+00162c: b65a                                   |002c: or-int/2addr v10, v5
+00162e: df0b 05ff                              |002d: xor-int/lit8 v11, v5, #int -1 // #ff
+001632: 920c 0607                              |002f: mul-int v12, v6, v7
+001636: b48c                                   |0031: rem-int/2addr v12, v8
+001638: b0cb                                   |0032: add-int/2addr v11, v12
+00163a: b6ba                                   |0033: or-int/2addr v10, v11
+00163c: b1ad                                   |0034: sub-int/2addr v13, v10
+00163e: 7bda                                   |0035: neg-int v10, v13
+001640: d80a 0a01                              |0036: add-int/lit8 v10, v10, #int 1 // #01
+001644: da0b 0d03                              |0038: mul-int/lit8 v11, v13, #int 3 // #03
+001648: db0b 0b02                              |003a: div-int/lit8 v11, v11, #int 2 // #02
+00164c: b1ba                                   |003c: sub-int/2addr v10, v11
+00164e: b1ea                                   |003d: sub-int/2addr v10, v14
+001650: d5db ff00                              |003e: and-int/lit16 v11, v13, #int 255 // #00ff
+001654: b0ba                                   |0040: add-int/2addr v10, v11
+001656: d4db ff00                              |0041: rem-int/lit16 v11, v13, #int 255 // #00ff
+00165a: b0ba                                   |0043: add-int/2addr v10, v11
+00165c: d0db 01ff                              |0044: add-int/lit16 v11, v13, #int -255 // #ff01
+001660: b0ba                                   |0046: add-int/2addr v10, v11
+001662: d2db ff00                              |0047: mul-int/lit16 v11, v13, #int 255 // #00ff
+001666: b0ba                                   |0049: add-int/2addr v10, v11
+001668: d3db ff00                              |004a: div-int/lit16 v11, v13, #int 255 // #00ff
+00166c: b0ba                                   |004c: add-int/2addr v10, v11
+00166e: d6db ff00                              |004d: or-int/lit16 v11, v13, #int 255 // #00ff
+001672: b0ba                                   |004f: add-int/2addr v10, v11
+001674: d7db ff00                              |0050: xor-int/lit16 v11, v13, #int 255 // #00ff
+001678: b0ba                                   |0052: add-int/2addr v10, v11
+00167a: dd0b 0d01                              |0053: and-int/lit8 v11, v13, #int 1 // #01
+00167e: b0ba                                   |0055: add-int/2addr v10, v11
+001680: dc0b 0d01                              |0056: rem-int/lit8 v11, v13, #int 1 // #01
+001684: b0ba                                   |0058: add-int/2addr v10, v11
+001686: d80b 0dff                              |0059: add-int/lit8 v11, v13, #int -1 // #ff
+00168a: b0ba                                   |005b: add-int/2addr v10, v11
+00168c: 0f0a                                   |005c: return v10
+      catches       : (none)
+      positions     : 
+        0x0000 line=139
+        0x0006 line=140
+        0x0009 line=141
+        0x000b line=142
+        0x000d line=143
+        0x000f line=144
+        0x0011 line=145
+        0x0013 line=146
+        0x0015 line=147
+        0x0017 line=148
+        0x0019 line=149
+        0x001b line=150
+        0x001d line=151
+        0x0025 line=152
+        0x0035 line=153
+        0x0047 line=154
+        0x0049 line=153
+        0x004a line=154
+        0x004c line=153
+        0x004d line=154
+        0x004f line=153
+        0x0050 line=154
+        0x0052 line=153
+        0x0053 line=155
+        0x0055 line=153
+        0x0056 line=155
+        0x0058 line=153
+        0x0059 line=155
+        0x005b line=153
+      locals        : 
+        0x000d - 0x005d reg=0 t1 I 
+        0x000f - 0x005d reg=1 t2 I 
+        0x0011 - 0x005d reg=2 t3 I 
+        0x0013 - 0x005d reg=3 t4 I 
+        0x0015 - 0x005d reg=4 t5 I 
+        0x0017 - 0x005d reg=5 t6 I 
+        0x0019 - 0x005d reg=6 t7 I 
+        0x001b - 0x005d reg=7 t8 I 
+        0x001d - 0x005d reg=8 t9 I 
+        0x000b - 0x005d reg=9 z I 
+        0x0000 - 0x005d reg=13 x I 
+        0x0000 - 0x005d reg=14 y I 
+
+    #11              : (in Lcom/google/android/test/Test;)
+      name          : 's'
+      type          : '(JJ)J'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 32
+      ins           : 4
+      outs          : 0
+      insns size    : 194 16-bit code units
+001690:                                        |[001690] com.google.android.test.Test.s:(JJ)J
+0016a0: 1316 0100                              |0000: const/16 v22, #int 1 // #1
+0016a4: a31c 1c16                              |0002: shl-long v28, v28, v22
+0016a8: 1316 0300                              |0004: const/16 v22, #int 3 // #3
+0016ac: a41c 1c16                              |0006: shr-long v28, v28, v22
+0016b0: 1316 0400                              |0008: const/16 v22, #int 4 // #4
+0016b4: a51c 1c16                              |000a: ushr-long v28, v28, v22
+0016b8: 0500 1e00                              |000c: move-wide/from16 v0, v30
+0016bc: 8400                                   |000e: long-to-int v0, v0
+0016be: 0216 0000                              |000f: move/from16 v22, v0
+0016c2: a31c 1c16                              |0011: shl-long v28, v28, v22
+0016c6: 0500 1e00                              |0013: move-wide/from16 v0, v30
+0016ca: 8400                                   |0015: long-to-int v0, v0
+0016cc: 0216 0000                              |0016: move/from16 v22, v0
+0016d0: a41c 1c16                              |0018: shr-long v28, v28, v22
+0016d4: 0500 1e00                              |001a: move-wide/from16 v0, v30
+0016d8: 8400                                   |001c: long-to-int v0, v0
+0016da: 0216 0000                              |001d: move/from16 v22, v0
+0016de: a51c 1c16                              |001f: ushr-long v28, v28, v22
+0016e2: 1616 ffff                              |0021: const-wide/16 v22, #int -1 // #ffff
+0016e6: a214 1e16                              |0023: xor-long v20, v30, v22
+0016ea: 9b02 1e14                              |0025: add-long v2, v30, v20
+0016ee: 9c04 1e14                              |0027: sub-long v4, v30, v20
+0016f2: 9d06 1e14                              |0029: mul-long v6, v30, v20
+0016f6: 9e08 1e14                              |002b: div-long v8, v30, v20
+0016fa: a20a 1e14                              |002d: xor-long v10, v30, v20
+0016fe: a00c 1e14                              |002f: and-long v12, v30, v20
+001702: 0500 1400                              |0031: move-wide/from16 v0, v20
+001706: 8400                                   |0033: long-to-int v0, v0
+001708: 0216 0000                              |0034: move/from16 v22, v0
+00170c: a30e 1e16                              |0036: shl-long v14, v30, v22
+001710: 0500 1400                              |0038: move-wide/from16 v0, v20
+001714: 8400                                   |003a: long-to-int v0, v0
+001716: 0216 0000                              |003b: move/from16 v22, v0
+00171a: a410 1e16                              |003d: shr-long v16, v30, v22
+00171e: 0500 1400                              |003f: move-wide/from16 v0, v20
+001722: 8400                                   |0041: long-to-int v0, v0
+001724: 0216 0000                              |0042: move/from16 v22, v0
+001728: a512 1e16                              |0044: ushr-long v18, v30, v22
+00172c: 1616 ff00                              |0046: const-wide/16 v22, #int 255 // #ff
+001730: a016 161c                              |0048: and-long v22, v22, v28
+001734: 1618 1200                              |004a: const-wide/16 v24, #int 18 // #12
+001738: a218 181c                              |004c: xor-long v24, v24, v28
+00173c: 161a ffff                              |004e: const-wide/16 v26, #int -1 // #ffff
+001740: a218 181a                              |0050: xor-long v24, v24, v26
+001744: a11c 1618                              |0052: or-long v28, v22, v24
+001748: 1616 ffff                              |0054: const-wide/16 v22, #int -1 // #ffff
+00174c: a216 1602                              |0056: xor-long v22, v22, v2
+001750: 9b16 1604                              |0058: add-long v22, v22, v4
+001754: 9d18 0608                              |005a: mul-long v24, v6, v8
+001758: 9e18 180a                              |005c: div-long v24, v24, v10
+00175c: 9c16 1618                              |005e: sub-long v22, v22, v24
+001760: a116 160c                              |0060: or-long v22, v22, v12
+001764: 1618 ffff                              |0062: const-wide/16 v24, #int -1 // #ffff
+001768: a218 180c                              |0064: xor-long v24, v24, v12
+00176c: 9d1a 0e10                              |0066: mul-long v26, v14, v16
+001770: 9f1a 1a12                              |0068: rem-long v26, v26, v18
+001774: 9b18 181a                              |006a: add-long v24, v24, v26
+001778: a116 1618                              |006c: or-long v22, v22, v24
+00177c: 9c1c 1c16                              |006e: sub-long v28, v28, v22
+001780: 0500 1c00                              |0070: move-wide/from16 v0, v28
+001784: 7d00                                   |0072: neg-long v0, v0
+001786: 0516 0000                              |0073: move-wide/from16 v22, v0
+00178a: 1618 0100                              |0075: const-wide/16 v24, #int 1 // #1
+00178e: 9b16 1618                              |0077: add-long v22, v22, v24
+001792: 1618 0300                              |0079: const-wide/16 v24, #int 3 // #3
+001796: 9d18 181c                              |007b: mul-long v24, v24, v28
+00179a: 161a 0200                              |007d: const-wide/16 v26, #int 2 // #2
+00179e: 9e18 181a                              |007f: div-long v24, v24, v26
+0017a2: 9c16 1618                              |0081: sub-long v22, v22, v24
+0017a6: 9c16 161e                              |0083: sub-long v22, v22, v30
+0017aa: 1618 ff00                              |0085: const-wide/16 v24, #int 255 // #ff
+0017ae: a018 181c                              |0087: and-long v24, v24, v28
+0017b2: 9b16 1618                              |0089: add-long v22, v22, v24
+0017b6: 1618 ff00                              |008b: const-wide/16 v24, #int 255 // #ff
+0017ba: 9f18 1c18                              |008d: rem-long v24, v28, v24
+0017be: 9b16 1618                              |008f: add-long v22, v22, v24
+0017c2: 1618 ff00                              |0091: const-wide/16 v24, #int 255 // #ff
+0017c6: 9c18 1c18                              |0093: sub-long v24, v28, v24
+0017ca: 9b16 1618                              |0095: add-long v22, v22, v24
+0017ce: 1618 ff00                              |0097: const-wide/16 v24, #int 255 // #ff
+0017d2: 9d18 181c                              |0099: mul-long v24, v24, v28
+0017d6: 9b16 1618                              |009b: add-long v22, v22, v24
+0017da: 1618 ff00                              |009d: const-wide/16 v24, #int 255 // #ff
+0017de: 9e18 1c18                              |009f: div-long v24, v28, v24
+0017e2: 9b16 1618                              |00a1: add-long v22, v22, v24
+0017e6: 1618 ff00                              |00a3: const-wide/16 v24, #int 255 // #ff
+0017ea: a118 181c                              |00a5: or-long v24, v24, v28
+0017ee: 9b16 1618                              |00a7: add-long v22, v22, v24
+0017f2: 1618 ff00                              |00a9: const-wide/16 v24, #int 255 // #ff
+0017f6: a218 181c                              |00ab: xor-long v24, v24, v28
+0017fa: 9b16 1618                              |00ad: add-long v22, v22, v24
+0017fe: 1618 0100                              |00af: const-wide/16 v24, #int 1 // #1
+001802: a018 181c                              |00b1: and-long v24, v24, v28
+001806: 9b16 1618                              |00b3: add-long v22, v22, v24
+00180a: 1618 0100                              |00b5: const-wide/16 v24, #int 1 // #1
+00180e: 9f18 1c18                              |00b7: rem-long v24, v28, v24
+001812: 9b16 1618                              |00b9: add-long v22, v22, v24
+001816: 1618 0100                              |00bb: const-wide/16 v24, #int 1 // #1
+00181a: 9c18 1c18                              |00bd: sub-long v24, v28, v24
+00181e: 9b16 1618                              |00bf: add-long v22, v22, v24
+001822: 1016                                   |00c1: return-wide v22
+      catches       : (none)
+      positions     : 
+        0x0000 line=159
+        0x000c line=160
+        0x0021 line=161
+        0x0025 line=162
+        0x0027 line=163
+        0x0029 line=164
+        0x002b line=165
+        0x002d line=166
+        0x002f line=167
+        0x0031 line=168
+        0x0038 line=169
+        0x003f line=170
+        0x0046 line=171
+        0x0054 line=172
+        0x0070 line=173
+        0x0097 line=174
+        0x009b line=173
+        0x009d line=174
+        0x00a1 line=173
+        0x00a3 line=174
+        0x00a7 line=173
+        0x00a9 line=174
+        0x00ad line=173
+        0x00af line=175
+        0x00b3 line=173
+        0x00b5 line=175
+        0x00b9 line=173
+        0x00bb line=175
+        0x00bf line=173
+      locals        : 
+        0x0027 - 0x00c2 reg=2 t1 J 
+        0x0029 - 0x00c2 reg=4 t2 J 
+        0x002b - 0x00c2 reg=6 t3 J 
+        0x002d - 0x00c2 reg=8 t4 J 
+        0x002f - 0x00c2 reg=10 t5 J 
+        0x0031 - 0x00c2 reg=12 t6 J 
+        0x0038 - 0x00c2 reg=14 t7 J 
+        0x003f - 0x00c2 reg=16 t8 J 
+        0x0046 - 0x00c2 reg=18 t9 J 
+        0x0025 - 0x00c2 reg=20 z J 
+        0x0000 - 0x00c2 reg=28 x J 
+        0x0000 - 0x00c2 reg=30 y J 
+
+    #12              : (in Lcom/google/android/test/Test;)
+      name          : 'seta'
+      type          : '()V'
+      access        : 0x0002 (PRIVATE)
+      code          -
+      registers     : 6
+      ins           : 1
+      outs          : 0
+      insns size    : 48 16-bit code units
+001824:                                        |[001824] com.google.android.test.Test.seta:()V
+001834: 1211                                   |0000: const/4 v1, #int 1 // #1
+001836: 1224                                   |0001: const/4 v4, #int 2 // #2
+001838: 5450 0200                              |0002: iget-object v0, v5, Lcom/google/android/test/Test;.aBool:[Z // field@0002
+00183c: 4e01 0004                              |0004: aput-boolean v1, v0, v4
+001840: 5450 0300                              |0006: iget-object v0, v5, Lcom/google/android/test/Test;.aByte:[B // field@0003
+001844: 4f01 0004                              |0008: aput-byte v1, v0, v4
+001848: 5450 0400                              |000a: iget-object v0, v5, Lcom/google/android/test/Test;.aChar:[C // field@0004
+00184c: 5004 0004                              |000c: aput-char v4, v0, v4
+001850: 5450 0a00                              |000e: iget-object v0, v5, Lcom/google/android/test/Test;.aShort:[S // field@000a
+001854: 1301 8600                              |0010: const/16 v1, #int 134 // #86
+001858: 5101 0004                              |0012: aput-short v1, v0, v4
+00185c: 5450 0700                              |0014: iget-object v0, v5, Lcom/google/android/test/Test;.aInt:[I // field@0007
+001860: 12f1                                   |0016: const/4 v1, #int -1 // #ff
+001862: 4b01 0004                              |0017: aput v1, v0, v4
+001866: 5450 0800                              |0019: iget-object v0, v5, Lcom/google/android/test/Test;.aLong:[J // field@0008
+00186a: 1602 ffff                              |001b: const-wide/16 v2, #int -1 // #ffff
+00186e: 4c02 0004                              |001d: aput-wide v2, v0, v4
+001872: 5450 0600                              |001f: iget-object v0, v5, Lcom/google/android/test/Test;.aFloat:[F // field@0006
+001876: 1501 8841                              |0021: const/high16 v1, #int 1099431936 // #4188
+00187a: 4b01 0004                              |0023: aput v1, v0, v4
+00187e: 5450 0500                              |0025: iget-object v0, v5, Lcom/google/android/test/Test;.aDouble:[D // field@0005
+001882: 1902 3240                              |0027: const-wide/high16 v2, #long 4625759767262920704 // #4032
+001886: 4c02 0004                              |0029: aput-wide v2, v0, v4
+00188a: 5450 0900                              |002b: iget-object v0, v5, Lcom/google/android/test/Test;.aObject:[Ljava/lang/Object; // field@0009
+00188e: 4d05 0004                              |002d: aput-object v5, v0, v4
+001892: 0e00                                   |002f: return-void
+      catches       : (none)
+      positions     : 
+        0x0002 line=60
+        0x0006 line=61
+        0x000a line=62
+        0x000e line=63
+        0x0014 line=64
+        0x0019 line=65
+        0x001f line=66
+        0x0025 line=67
+        0x002b line=68
+        0x002f line=69
+      locals        : 
+        0x0000 - 0x0030 reg=5 this Lcom/google/android/test/Test; 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/test/Test;)
+      name          : 'onStart'
+      type          : '()V'
+      access        : 0x0004 (PROTECTED)
+      code          -
+      registers     : 2
+      ins           : 1
+      outs          : 1
+      insns size    : 7 16-bit code units
+001894:                                        |[001894] com.google.android.test.Test.onStart:()V
+0018a4: 6f10 0300 0100                         |0000: invoke-super {v1}, Landroid/app/Activity;.onStart:()V // method@0003
+0018aa: 1200                                   |0003: const/4 v0, #int 0 // #0
+0018ac: 5b10 0b00                              |0004: iput-object v0, v1, Lcom/google/android/test/Test;.mArray:[I // field@000b
+0018b0: 0e00                                   |0006: return-void
+      catches       : (none)
+      positions     : 
+        0x0000 line=86
+        0x0003 line=87
+        0x0006 line=88
+      locals        : 
+        0x0000 - 0x0007 reg=1 this Lcom/google/android/test/Test; 
+
+    #1              : (in Lcom/google/android/test/Test;)
+      name          : 'run'
+      type          : '()V'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 3
+      ins           : 1
+      outs          : 0
+      insns size    : 9 16-bit code units
+0018b4:                                        |[0018b4] com.google.android.test.Test.run:()V
+0018c4: 1301 6400                              |0000: const/16 v1, #int 100 // #64
+0018c8: 2310 2400                              |0002: new-array v0, v1, [I // type@0024
+0018cc: 5b20 0b00                              |0004: iput-object v0, v2, Lcom/google/android/test/Test;.mArray:[I // field@000b
+0018d0: 6900 1600                              |0006: sput-object v0, Lcom/google/android/test/Test;.sArray:[I // field@0016
+0018d4: 0e00                                   |0008: return-void
+      catches       : (none)
+      positions     : 
+        0x0000 line=92
+        0x0004 line=93
+        0x0006 line=94
+        0x0008 line=95
+      locals        : 
+        0x0004 - 0x0009 reg=0 x [I 
+        0x0000 - 0x0009 reg=2 this Lcom/google/android/test/Test; 
+
+  source_file_idx   : 49 (Test.java)
+
diff --git a/test/dexdump/bytecodes.xml b/test/dexdump/bytecodes.xml
new file mode 100755
index 0000000..0581677
--- /dev/null
+++ b/test/dexdump/bytecodes.xml
@@ -0,0 +1,163 @@
+<api>
+<package name="android.annotation"
+>
+<class name="SuppressLint"
+ extends="java.lang.Object"
+ abstract="true"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+<method name="value"
+ return="java.lang.String[]"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</method>
+</class>
+<class name="TargetApi"
+ extends="java.lang.Object"
+ abstract="true"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+<method name="value"
+ return="int"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</method>
+</class>
+</package>
+<package name="com.google.android.test"
+>
+<class name="BuildConfig"
+ extends="java.lang.Object"
+ abstract="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<field name="DEBUG"
+ type="boolean"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="true"
+ visibility="public"
+>
+</field>
+<constructor name="BuildConfig"
+ type="com.google.android.test.BuildConfig"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</constructor>
+</class>
+<class name="R.attr"
+ extends="java.lang.Object"
+ abstract="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<constructor name="R.attr"
+ type="com.google.android.test.R.attr"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</constructor>
+</class>
+<class name="R.drawable"
+ extends="java.lang.Object"
+ abstract="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<field name="icon"
+ type="int"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="true"
+ visibility="public"
+>
+</field>
+<constructor name="R.drawable"
+ type="com.google.android.test.R.drawable"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</constructor>
+</class>
+<class name="R"
+ extends="java.lang.Object"
+ abstract="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<constructor name="R"
+ type="com.google.android.test.R"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</constructor>
+</class>
+<class name="Test"
+ extends="android.app.Activity"
+ abstract="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<implements name="java.lang.Runnable">
+</implements>
+<constructor name="Test"
+ type="com.google.android.test.Test"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</constructor>
+<method name="onStart"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="protected"
+>
+</method>
+<method name="run"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</method>
+</class>
+</package>
+</api>
diff --git a/test/dexdump/checkers.dex b/test/dexdump/checkers.dex
new file mode 100755
index 0000000..f8e93b4
--- /dev/null
+++ b/test/dexdump/checkers.dex
Binary files differ
diff --git a/test/dexdump/checkers.txt b/test/dexdump/checkers.txt
new file mode 100755
index 0000000..5c8336f
--- /dev/null
+++ b/test/dexdump/checkers.txt
@@ -0,0 +1,7821 @@
+Processing 'checkers.dex'...
+Opened 'checkers.dex', DEX version '035'
+DEX file header:
+magic               : 'dex\n035\0'
+checksum            : 3ce07f0d
+signature           : 6aca...3cae
+file_size           : 35384
+header_size         : 112
+link_size           : 0
+link_off            : 0 (0x000000)
+string_ids_size     : 323
+string_ids_off      : 112 (0x000070)
+type_ids_size       : 58
+type_ids_off        : 1404 (0x00057c)
+proto_ids_size       : 88
+proto_ids_off        : 1636 (0x000664)
+field_ids_size      : 108
+field_ids_off       : 2692 (0x000a84)
+method_ids_size     : 177
+method_ids_off      : 3556 (0x000de4)
+class_defs_size     : 9
+class_defs_off      : 4972 (0x00136c)
+data_size           : 30124
+data_off            : 5260 (0x00148c)
+
+Class #0 header:
+class_idx           : 30
+access_flags        : 1 (0x0001)
+superclass_idx      : 4
+interfaces_off      : 0 (0x000000)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 34554 (0x0086fa)
+static_fields_size  : 0
+instance_fields_size: 1
+direct_methods_size : 2
+virtual_methods_size: 8
+
+Class #0            -
+  Class descriptor  : 'Lcom/google/android/checkers/Checkers;'
+  Access flags      : 0x0001 (PUBLIC)
+  Superclass        : 'Landroid/app/Activity;'
+  Interfaces        -
+  Static fields     -
+  Instance fields   -
+    #0              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'a'
+      type          : 'Lcom/google/android/checkers/CheckersView;'
+      access        : 0x0002 (PRIVATE)
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/Checkers;)
+      name          : '<init>'
+      type          : '()V'
+      access        : 0x10001 (PUBLIC CONSTRUCTOR)
+      code          -
+      registers     : 1
+      ins           : 1
+      outs          : 1
+      insns size    : 4 16-bit code units
+00148c:                                        |[00148c] com.google.android.checkers.Checkers.<init>:()V
+00149c: 7010 0000 0000                         |0000: invoke-direct {v0}, Landroid/app/Activity;.<init>:()V // method@0000
+0014a2: 0e00                                   |0003: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #1              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'a'
+      type          : '(Z)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 4
+      ins           : 2
+      outs          : 2
+      insns size    : 33 16-bit code units
+0014a4:                                        |[0014a4] com.google.android.checkers.Checkers.a:(Z)V
+0014b4: 6e10 4100 0200                         |0000: invoke-virtual {v2}, Lcom/google/android/checkers/Checkers;.getWindow:()Landroid/view/Window; // method@0041
+0014ba: 0c00                                   |0003: move-result-object v0
+0014bc: 3803 1200                              |0004: if-eqz v3, 0016 // +0012
+0014c0: 1301 8004                              |0006: const/16 v1, #int 1152 // #480
+0014c4: 6e20 3a00 1000                         |0008: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@003a
+0014ca: 1301 0008                              |000b: const/16 v1, #int 2048 // #800
+0014ce: 6e20 3b00 1000                         |000d: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@003b
+0014d4: 5420 0100                              |0010: iget-object v0, v2, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0014d8: 6e10 6f00 0000                         |0012: invoke-virtual {v0}, Lcom/google/android/checkers/CheckersView;.requestLayout:()V // method@006f
+0014de: 0e00                                   |0015: return-void
+0014e0: 1301 8008                              |0016: const/16 v1, #int 2176 // #880
+0014e4: 6e20 3a00 1000                         |0018: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@003a
+0014ea: 1301 0004                              |001b: const/16 v1, #int 1024 // #400
+0014ee: 6e20 3b00 1000                         |001d: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@003b
+0014f4: 28f0                                   |0020: goto 0010 // -0010
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'onConfigurationChanged'
+      type          : '(Landroid/content/res/Configuration;)V'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 2
+      ins           : 2
+      outs          : 2
+      insns size    : 4 16-bit code units
+0014f8:                                        |[0014f8] com.google.android.checkers.Checkers.onConfigurationChanged:(Landroid/content/res/Configuration;)V
+001508: 6f20 0100 1000                         |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onConfigurationChanged:(Landroid/content/res/Configuration;)V // method@0001
+00150e: 0e00                                   |0003: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #1              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'onCreate'
+      type          : '(Landroid/os/Bundle;)V'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 8
+      ins           : 2
+      outs          : 3
+      insns size    : 59 16-bit code units
+001510:                                        |[001510] com.google.android.checkers.Checkers.onCreate:(Landroid/os/Bundle;)V
+001520: 1215                                   |0000: const/4 v5, #int 1 // #1
+001522: 1201                                   |0001: const/4 v1, #int 0 // #0
+001524: 6f20 0200 7600                         |0002: invoke-super {v6, v7}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0002
+00152a: 6e20 4a00 5600                         |0005: invoke-virtual {v6, v5}, Lcom/google/android/checkers/Checkers;.requestWindowFeature:(I)Z // method@004a
+001530: 2200 1f00                              |0008: new-instance v0, Lcom/google/android/checkers/CheckersView; // type@001f
+001534: 6e20 4000 1600                         |000a: invoke-virtual {v6, v1}, Lcom/google/android/checkers/Checkers;.getPreferences:(I)Landroid/content/SharedPreferences; // method@0040
+00153a: 0c02                                   |000d: move-result-object v2
+00153c: 7030 4d00 6002                         |000e: invoke-direct {v0, v6, v2}, Lcom/google/android/checkers/CheckersView;.<init>:(Landroid/content/Context;Landroid/content/SharedPreferences;)V // method@004d
+001542: 5b60 0100                              |0011: iput-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001546: 1a03 b500                              |0013: const-string v3, "by Aart J.C. Bik" // string@00b5
+00154a: 0110                                   |0015: move v0, v1
+00154c: 0112                                   |0016: move v2, v1
+00154e: 6e10 a400 0300                         |0017: invoke-virtual {v3}, Ljava/lang/String;.length:()I // method@00a4
+001554: 0a04                                   |001a: move-result v4
+001556: 3440 1800                              |001b: if-lt v0, v4, 0033 // +0018
+00155a: 1300 c204                              |001d: const/16 v0, #int 1218 // #4c2
+00155e: 3202 0500                              |001f: if-eq v2, v0, 0024 // +0005
+001562: 7110 ac00 0500                         |0021: invoke-static {v5}, Ljava/lang/System;.exit:(I)V // method@00ac
+001568: 5460 0100                              |0024: iget-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+00156c: 6e20 4b00 0600                         |0026: invoke-virtual {v6, v0}, Lcom/google/android/checkers/Checkers;.setContentView:(Landroid/view/View;)V // method@004b
+001572: 5460 0100                              |0029: iget-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001576: 6e20 6500 1000                         |002b: invoke-virtual {v0, v1}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065
+00157c: 0a00                                   |002e: move-result v0
+00157e: 7020 3f00 0600                         |002f: invoke-direct {v6, v0}, Lcom/google/android/checkers/Checkers;.a:(Z)V // method@003f
+001584: 0e00                                   |0032: return-void
+001586: 6e20 a300 0300                         |0033: invoke-virtual {v3, v0}, Ljava/lang/String;.charAt:(I)C // method@00a3
+00158c: 0a04                                   |0036: move-result v4
+00158e: b042                                   |0037: add-int/2addr v2, v4
+001590: d800 0001                              |0038: add-int/lit8 v0, v0, #int 1 // #01
+001594: 28dd                                   |003a: goto 0017 // -0023
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #2              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'onCreateOptionsMenu'
+      type          : '(Landroid/view/Menu;)Z'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 11
+      ins           : 2
+      outs          : 5
+      insns size    : 216 16-bit code units
+001598:                                        |[001598] com.google.android.checkers.Checkers.onCreateOptionsMenu:(Landroid/view/Menu;)Z
+0015a8: 1248                                   |0000: const/4 v8, #int 4 // #4
+0015aa: 1237                                   |0001: const/4 v7, #int 3 // #3
+0015ac: 1226                                   |0002: const/4 v6, #int 2 // #2
+0015ae: 1205                                   |0003: const/4 v5, #int 0 // #0
+0015b0: 1214                                   |0004: const/4 v4, #int 1 // #1
+0015b2: 6f20 0300 a900                         |0005: invoke-super {v9, v10}, Landroid/app/Activity;.onCreateOptionsMenu:(Landroid/view/Menu;)Z // method@0003
+0015b8: 1a00 7400                              |0008: const-string v0, "New Game" // string@0074
+0015bc: 7250 2b00 5a55                         |000a: invoke-interface {v10, v5, v5, v5, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b
+0015c2: 1a00 8200                              |000d: const-string v0, "Undo" // string@0082
+0015c6: 7250 2b00 5a44                         |000f: invoke-interface {v10, v5, v4, v4, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b
+0015cc: 1a00 8000                              |0012: const-string v0, "Switch Side" // string@0080
+0015d0: 7250 2b00 5a66                         |0014: invoke-interface {v10, v5, v6, v6, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b
+0015d6: 1a00 7800                              |0017: const-string v0, "Options" // string@0078
+0015da: 7250 2c00 5a77                         |0019: invoke-interface {v10, v5, v7, v7, v0}, Landroid/view/Menu;.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; // method@002c
+0015e0: 0c00                                   |001c: move-result-object v0
+0015e2: 1a01 7100                              |001d: const-string v1, "Move Coach" // string@0071
+0015e6: 7251 3400 4055                         |001f: invoke-interface {v0, v4, v5, v5, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+0015ec: 0c01                                   |0022: move-result-object v1
+0015ee: 7220 2f00 4100                         |0023: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
+0015f4: 0c01                                   |0026: move-result-object v1
+0015f6: 5492 0100                              |0027: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0015fa: 6e20 5a00 5200                         |0029: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.a:(Z)Z // method@005a
+001600: 0a02                                   |002c: move-result v2
+001602: 7220 3000 2100                         |002d: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+001608: 1a01 7700                              |0030: const-string v1, "Optional Jumps" // string@0077
+00160c: 7251 3400 4044                         |0032: invoke-interface {v0, v4, v4, v4, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+001612: 0c01                                   |0035: move-result-object v1
+001614: 7220 2f00 4100                         |0036: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
+00161a: 0c01                                   |0039: move-result-object v1
+00161c: 5492 0100                              |003a: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001620: 6e20 6000 5200                         |003c: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.b:(Z)Z // method@0060
+001626: 0a02                                   |003f: move-result v2
+001628: 7220 3000 2100                         |0040: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+00162e: 1a01 9800                              |0043: const-string v1, "View from White" // string@0098
+001632: 7251 3400 4066                         |0045: invoke-interface {v0, v4, v6, v6, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+001638: 0c01                                   |0048: move-result-object v1
+00163a: 7220 2f00 4100                         |0049: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
+001640: 0c01                                   |004c: move-result-object v1
+001642: 5492 0100                              |004d: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001646: 6e20 6300 5200                         |004f: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.c:(Z)Z // method@0063
+00164c: 0a02                                   |0052: move-result v2
+00164e: 7220 3000 2100                         |0053: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+001654: 1a01 1800                              |0056: const-string v1, "Full Screen" // string@0018
+001658: 7251 3400 4077                         |0058: invoke-interface {v0, v4, v7, v7, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+00165e: 0c01                                   |005b: move-result-object v1
+001660: 7220 2f00 4100                         |005c: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
+001666: 0c01                                   |005f: move-result-object v1
+001668: 5492 0100                              |0060: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+00166c: 6e20 6500 5200                         |0062: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065
+001672: 0a02                                   |0065: move-result v2
+001674: 7220 3000 2100                         |0066: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+00167a: 1a01 7e00                              |0069: const-string v1, "Start Screen" // string@007e
+00167e: 7251 3400 4088                         |006b: invoke-interface {v0, v4, v8, v8, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+001684: 0c01                                   |006e: move-result-object v1
+001686: 7220 2f00 4100                         |006f: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
+00168c: 0c01                                   |0072: move-result-object v1
+00168e: 5492 0100                              |0073: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001692: 6e20 6800 5200                         |0075: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068
+001698: 0a02                                   |0078: move-result v2
+00169a: 7220 3000 2100                         |0079: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+0016a0: 1251                                   |007c: const/4 v1, #int 5 // #5
+0016a2: 1252                                   |007d: const/4 v2, #int 5 // #5
+0016a4: 1a03 0d00                              |007e: const-string v3, "Board Color" // string@000d
+0016a8: 7253 3400 4021                         |0080: invoke-interface {v0, v4, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+0016ae: 1a00 5800                              |0083: const-string v0, "Level" // string@0058
+0016b2: 7250 2c00 5a88                         |0085: invoke-interface {v10, v5, v8, v8, v0}, Landroid/view/Menu;.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; // method@002c
+0016b8: 0c00                                   |0088: move-result-object v0
+0016ba: 1a01 1700                              |0089: const-string v1, "Free Play" // string@0017
+0016be: 7251 3400 6055                         |008b: invoke-interface {v0, v6, v5, v5, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+0016c4: 1a01 7b00                              |008e: const-string v1, "Random (0s)" // string@007b
+0016c8: 7251 3400 6044                         |0090: invoke-interface {v0, v6, v4, v4, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+0016ce: 1a01 5900                              |0093: const-string v1, "Level 1 (fast)" // string@0059
+0016d2: 7251 3400 6066                         |0095: invoke-interface {v0, v6, v6, v6, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+0016d8: 1a01 5a00                              |0098: const-string v1, "Level 2 (1s)" // string@005a
+0016dc: 7251 3400 6077                         |009a: invoke-interface {v0, v6, v7, v7, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+0016e2: 1a01 5b00                              |009d: const-string v1, "Level 3 (5s)" // string@005b
+0016e6: 7251 3400 6088                         |009f: invoke-interface {v0, v6, v8, v8, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+0016ec: 1251                                   |00a2: const/4 v1, #int 5 // #5
+0016ee: 1252                                   |00a3: const/4 v2, #int 5 // #5
+0016f0: 1a03 5c00                              |00a4: const-string v3, "Level 4 (10s)" // string@005c
+0016f4: 7253 3400 6021                         |00a6: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+0016fa: 1261                                   |00a9: const/4 v1, #int 6 // #6
+0016fc: 1262                                   |00aa: const/4 v2, #int 6 // #6
+0016fe: 1a03 5d00                              |00ab: const-string v3, "Level 5 (15s)" // string@005d
+001702: 7253 3400 6021                         |00ad: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+001708: 1271                                   |00b0: const/4 v1, #int 7 // #7
+00170a: 1272                                   |00b1: const/4 v2, #int 7 // #7
+00170c: 1a03 5e00                              |00b2: const-string v3, "Level 6 (30s)" // string@005e
+001710: 7253 3400 6021                         |00b4: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+001716: 1301 0800                              |00b7: const/16 v1, #int 8 // #8
+00171a: 1302 0800                              |00b9: const/16 v2, #int 8 // #8
+00171e: 1a03 5f00                              |00bb: const-string v3, "Level 7 (60s)" // string@005f
+001722: 7253 3400 6021                         |00bd: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
+001728: 7240 3600 6044                         |00c0: invoke-interface {v0, v6, v4, v4}, Landroid/view/SubMenu;.setGroupCheckable:(IZZ)V // method@0036
+00172e: 5491 0100                              |00c3: iget-object v1, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001732: 6e10 6100 0100                         |00c5: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.c:()I // method@0061
+001738: 0a01                                   |00c8: move-result v1
+00173a: 7220 3500 1000                         |00c9: invoke-interface {v0, v1}, Landroid/view/SubMenu;.findItem:(I)Landroid/view/MenuItem; // method@0035
+001740: 0c00                                   |00cc: move-result-object v0
+001742: 7220 3000 4000                         |00cd: invoke-interface {v0, v4}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+001748: 1250                                   |00d0: const/4 v0, #int 5 // #5
+00174a: 1251                                   |00d1: const/4 v1, #int 5 // #5
+00174c: 1a02 9b00                              |00d2: const-string v2, "Website" // string@009b
+001750: 7252 2b00 5a10                         |00d4: invoke-interface {v10, v5, v0, v1, v2}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b
+001756: 0f04                                   |00d7: return v4
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #3              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'onKeyDown'
+      type          : '(ILandroid/view/KeyEvent;)Z'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 8
+      ins           : 3
+      outs          : 3
+      insns size    : 58 16-bit code units
+001758:                                        |[001758] com.google.android.checkers.Checkers.onKeyDown:(ILandroid/view/KeyEvent;)Z
+001768: 1504 803f                              |0000: const/high16 v4, #int 1065353216 // #3f80
+00176c: 1503 80bf                              |0002: const/high16 v3, #int -1082130432 // #bf80
+001770: 1202                                   |0004: const/4 v2, #int 0 // #0
+001772: 1210                                   |0005: const/4 v0, #int 1 // #1
+001774: 2b06 2600 0000                         |0006: packed-switch v6, 0000002c // +00000026
+00177a: 6f30 0400 6507                         |0009: invoke-super {v5, v6, v7}, Landroid/app/Activity;.onKeyDown:(ILandroid/view/KeyEvent;)Z // method@0004
+001780: 0a00                                   |000c: move-result v0
+001782: 0f00                                   |000d: return v0
+001784: 5451 0100                              |000e: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001788: 6e10 5d00 0100                         |0010: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.b:()V // method@005d
+00178e: 28fa                                   |0013: goto 000d // -0006
+001790: 5451 0100                              |0014: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001794: 6e30 4f00 3102                         |0016: invoke-virtual {v1, v3, v2}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
+00179a: 28f4                                   |0019: goto 000d // -000c
+00179c: 5451 0100                              |001a: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0017a0: 6e30 4f00 4102                         |001c: invoke-virtual {v1, v4, v2}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
+0017a6: 28ee                                   |001f: goto 000d // -0012
+0017a8: 5451 0100                              |0020: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0017ac: 6e30 4f00 2103                         |0022: invoke-virtual {v1, v2, v3}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
+0017b2: 28e8                                   |0025: goto 000d // -0018
+0017b4: 5451 0100                              |0026: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0017b8: 6e30 4f00 2104                         |0028: invoke-virtual {v1, v2, v4}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
+0017be: 28e2                                   |002b: goto 000d // -001e
+0017c0: 0001 0500 1300 0000 1a00 0000 2000 ... |002c: packed-switch-data (14 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #4              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'onOptionsItemSelected'
+      type          : '(Landroid/view/MenuItem;)Z'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 7
+      ins           : 2
+      outs          : 3
+      insns size    : 158 16-bit code units
+0017dc:                                        |[0017dc] com.google.android.checkers.Checkers.onOptionsItemSelected:(Landroid/view/MenuItem;)Z
+0017ec: 1254                                   |0000: const/4 v4, #int 5 // #5
+0017ee: 1223                                   |0001: const/4 v3, #int 2 // #2
+0017f0: 1210                                   |0002: const/4 v0, #int 1 // #1
+0017f2: 7210 2e00 0600                         |0003: invoke-interface {v6}, Landroid/view/MenuItem;.getItemId:()I // method@002e
+0017f8: 0a01                                   |0006: move-result v1
+0017fa: 7210 2d00 0600                         |0007: invoke-interface {v6}, Landroid/view/MenuItem;.getGroupId:()I // method@002d
+001800: 0a02                                   |000a: move-result v2
+001802: 2b02 8900 0000                         |000b: packed-switch v2, 00000094 // +00000089
+001808: 6f20 0500 6500                         |000e: invoke-super {v5, v6}, Landroid/app/Activity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@0005
+00180e: 0a00                                   |0011: move-result v0
+001810: 0f00                                   |0012: return v0
+001812: 3901 0900                              |0013: if-nez v1, 001c // +0009
+001816: 5451 0100                              |0015: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+00181a: 12d2                                   |0017: const/4 v2, #int -3 // #fd
+00181c: 6e20 5700 2100                         |0018: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057
+001822: 28f7                                   |001b: goto 0012 // -0009
+001824: 3301 0900                              |001c: if-ne v1, v0, 0025 // +0009
+001828: 5451 0100                              |001e: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+00182c: 12e2                                   |0020: const/4 v2, #int -2 // #fe
+00182e: 6e20 5700 2100                         |0021: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057
+001834: 28ee                                   |0024: goto 0012 // -0012
+001836: 3331 0900                              |0025: if-ne v1, v3, 002e // +0009
+00183a: 5451 0100                              |0027: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+00183e: 12c2                                   |0029: const/4 v2, #int -4 // #fc
+001840: 6e20 5700 2100                         |002a: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057
+001846: 28e5                                   |002d: goto 0012 // -001b
+001848: 3341 e0ff                              |002e: if-ne v1, v4, 000e // -0020
+00184c: 1a01 e300                              |0030: const-string v1, "http://www.aartbik.com/MISC/android.html" // string@00e3
+001850: 7110 2900 0100                         |0032: invoke-static {v1}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@0029
+001856: 0c01                                   |0035: move-result-object v1
+001858: 2202 0a00                              |0036: new-instance v2, Landroid/content/Intent; // type@000a
+00185c: 1a03 af00                              |0038: const-string v3, "android.intent.action.VIEW" // string@00af
+001860: 7030 1200 3201                         |003a: invoke-direct {v2, v3, v1}, Landroid/content/Intent;.<init>:(Ljava/lang/String;Landroid/net/Uri;)V // method@0012
+001866: 6e20 4c00 2500                         |003d: invoke-virtual {v5, v2}, Lcom/google/android/checkers/Checkers;.startActivity:(Landroid/content/Intent;)V // method@004c
+00186c: 28d2                                   |0040: goto 0012 // -002e
+00186e: 3901 0c00                              |0041: if-nez v1, 004d // +000c
+001872: 5451 0100                              |0043: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001876: 6e20 5a00 0100                         |0045: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.a:(Z)Z // method@005a
+00187c: 0a01                                   |0048: move-result v1
+00187e: 7220 3000 1600                         |0049: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+001884: 28c6                                   |004c: goto 0012 // -003a
+001886: 3301 0c00                              |004d: if-ne v1, v0, 0059 // +000c
+00188a: 5451 0100                              |004f: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+00188e: 6e20 6000 0100                         |0051: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.b:(Z)Z // method@0060
+001894: 0a01                                   |0054: move-result v1
+001896: 7220 3000 1600                         |0055: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+00189c: 28ba                                   |0058: goto 0012 // -0046
+00189e: 3331 0c00                              |0059: if-ne v1, v3, 0065 // +000c
+0018a2: 5451 0100                              |005b: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0018a6: 6e20 6300 0100                         |005d: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.c:(Z)Z // method@0063
+0018ac: 0a01                                   |0060: move-result v1
+0018ae: 7220 3000 1600                         |0061: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+0018b4: 28ae                                   |0064: goto 0012 // -0052
+0018b6: 1232                                   |0065: const/4 v2, #int 3 // #3
+0018b8: 3321 0f00                              |0066: if-ne v1, v2, 0075 // +000f
+0018bc: 5451 0100                              |0068: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0018c0: 6e20 6500 0100                         |006a: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065
+0018c6: 0a01                                   |006d: move-result v1
+0018c8: 7220 3000 1600                         |006e: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+0018ce: 7020 3f00 1500                         |0071: invoke-direct {v5, v1}, Lcom/google/android/checkers/Checkers;.a:(Z)V // method@003f
+0018d4: 289e                                   |0074: goto 0012 // -0062
+0018d6: 1242                                   |0075: const/4 v2, #int 4 // #4
+0018d8: 3321 0c00                              |0076: if-ne v1, v2, 0082 // +000c
+0018dc: 5451 0100                              |0078: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0018e0: 6e20 6800 0100                         |007a: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068
+0018e6: 0a01                                   |007d: move-result v1
+0018e8: 7220 3000 1600                         |007e: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+0018ee: 2891                                   |0081: goto 0012 // -006f
+0018f0: 3341 8cff                              |0082: if-ne v1, v4, 000e // -0074
+0018f4: 5451 0100                              |0084: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0018f8: 6e10 4e00 0100                         |0086: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.a:()V // method@004e
+0018fe: 2889                                   |0089: goto 0012 // -0077
+001900: 5452 0100                              |008a: iget-object v2, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001904: 6e20 7000 1200                         |008c: invoke-virtual {v2, v1}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070
+00190a: 7220 3000 0600                         |008f: invoke-interface {v6, v0}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
+001910: 2880                                   |0092: goto 0012 // -0080
+001912: 0000                                   |0093: nop // spacer
+001914: 0001 0300 0000 0000 0800 0000 3600 ... |0094: packed-switch-data (10 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #5              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'onPause'
+      type          : '()V'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 3
+      ins           : 1
+      outs          : 2
+      insns size    : 21 16-bit code units
+001928:                                        |[001928] com.google.android.checkers.Checkers.onPause:()V
+001938: 6f10 0600 0200                         |0000: invoke-super {v2}, Landroid/app/Activity;.onPause:()V // method@0006
+00193e: 1200                                   |0003: const/4 v0, #int 0 // #0
+001940: 6e20 4000 0200                         |0004: invoke-virtual {v2, v0}, Lcom/google/android/checkers/Checkers;.getPreferences:(I)Landroid/content/SharedPreferences; // method@0040
+001946: 0c00                                   |0007: move-result-object v0
+001948: 7210 1700 0000                         |0008: invoke-interface {v0}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0017
+00194e: 0c00                                   |000b: move-result-object v0
+001950: 5421 0100                              |000c: iget-object v1, v2, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+001954: 6e20 5100 0100                         |000e: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;)V // method@0051
+00195a: 7210 1400 0000                         |0011: invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@0014
+001960: 0e00                                   |0014: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #6              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'onStop'
+      type          : '()V'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 2
+      ins           : 1
+      outs          : 1
+      insns size    : 8 16-bit code units
+001964:                                        |[001964] com.google.android.checkers.Checkers.onStop:()V
+001974: 6f10 0700 0100                         |0000: invoke-super {v1}, Landroid/app/Activity;.onStop:()V // method@0007
+00197a: 1200                                   |0003: const/4 v0, #int 0 // #0
+00197c: 7110 ac00 0000                         |0004: invoke-static {v0}, Ljava/lang/System;.exit:(I)V // method@00ac
+001982: 0e00                                   |0007: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #7              : (in Lcom/google/android/checkers/Checkers;)
+      name          : 'onTrackballEvent'
+      type          : '(Landroid/view/MotionEvent;)Z'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 6
+      ins           : 2
+      outs          : 3
+      insns size    : 44 16-bit code units
+001984:                                        |[001984] com.google.android.checkers.Checkers.onTrackballEvent:(Landroid/view/MotionEvent;)Z
+001994: 1210                                   |0000: const/4 v0, #int 1 // #1
+001996: 6e10 3100 0500                         |0001: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@0031
+00199c: 0a01                                   |0004: move-result v1
+00199e: 2b01 1d00 0000                         |0005: packed-switch v1, 00000022 // +0000001d
+0019a4: 6f20 0800 5400                         |0008: invoke-super {v4, v5}, Landroid/app/Activity;.onTrackballEvent:(Landroid/view/MotionEvent;)Z // method@0008
+0019aa: 0a00                                   |000b: move-result v0
+0019ac: 0f00                                   |000c: return v0
+0019ae: 5441 0100                              |000d: iget-object v1, v4, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0019b2: 6e10 5d00 0100                         |000f: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.b:()V // method@005d
+0019b8: 28fa                                   |0012: goto 000c // -0006
+0019ba: 5441 0100                              |0013: iget-object v1, v4, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
+0019be: 6e10 3200 0500                         |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getX:()F // method@0032
+0019c4: 0a02                                   |0018: move-result v2
+0019c6: 6e10 3300 0500                         |0019: invoke-virtual {v5}, Landroid/view/MotionEvent;.getY:()F // method@0033
+0019cc: 0a03                                   |001c: move-result v3
+0019ce: 6e30 4f00 2103                         |001d: invoke-virtual {v1, v2, v3}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
+0019d4: 28ec                                   |0020: goto 000c // -0014
+0019d6: 0000                                   |0021: nop // spacer
+0019d8: 0001 0300 0000 0000 0800 0000 0300 ... |0022: packed-switch-data (10 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  source_file_idx   : -1 (unknown)
+
+Class #1 header:
+class_idx           : 31
+access_flags        : 1 (0x0001)
+superclass_idx      : 27
+interfaces_off      : 0 (0x000000)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 34602 (0x00872a)
+static_fields_size  : 0
+instance_fields_size: 43
+direct_methods_size : 15
+virtual_methods_size: 16
+
+Class #1            -
+  Class descriptor  : 'Lcom/google/android/checkers/CheckersView;'
+  Access flags      : 0x0001 (PUBLIC)
+  Superclass        : 'Landroid/view/View;'
+  Interfaces        -
+  Static fields     -
+  Instance fields   -
+    #0              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'A'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #1              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'B'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #2              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'C'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #3              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'D'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #4              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'E'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #5              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'F'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #6              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'G'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #7              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'H'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #8              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'I'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #9              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'J'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #10              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'K'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #11              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'L'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #12              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'M'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #13              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'N'
+      type          : 'Ljava/lang/String;'
+      access        : 0x0002 (PRIVATE)
+    #14              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'O'
+      type          : 'F'
+      access        : 0x0002 (PRIVATE)
+    #15              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'P'
+      type          : 'F'
+      access        : 0x0002 (PRIVATE)
+    #16              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'Q'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #17              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : 'Landroid/content/Context;'
+      access        : 0x0002 (PRIVATE)
+    #18              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'b'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #19              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'c'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #20              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'd'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #21              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'e'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #22              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'f'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #23              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'g'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #24              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'h'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #25              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'i'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #26              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'j'
+      type          : 'Landroid/graphics/Paint;'
+      access        : 0x0002 (PRIVATE)
+    #27              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'k'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #28              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'l'
+      type          : 'F'
+      access        : 0x0002 (PRIVATE)
+    #29              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'm'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #30              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'n'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #31              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'o'
+      type          : 'Landroid/graphics/drawable/Drawable;'
+      access        : 0x0002 (PRIVATE)
+    #32              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'p'
+      type          : 'Lcom/google/android/checkers/a;'
+      access        : 0x0002 (PRIVATE)
+    #33              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'q'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #34              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'r'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #35              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 's'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #36              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 't'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #37              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'u'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #38              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'v'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #39              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'w'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #40              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'x'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #41              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'y'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #42              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'z'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : '<init>'
+      type          : '(Landroid/content/Context;Landroid/content/SharedPreferences;)V'
+      access        : 0x10001 (PUBLIC CONSTRUCTOR)
+      code          -
+      registers     : 12
+      ins           : 3
+      outs          : 5
+      insns size    : 662 16-bit code units
+0019ec:                                        |[0019ec] com.google.android.checkers.CheckersView.<init>:(Landroid/content/Context;Landroid/content/SharedPreferences;)V
+0019fc: 1308 0800                              |0000: const/16 v8, #int 8 // #8
+001a00: 1217                                   |0002: const/4 v7, #int 1 // #1
+001a02: 1306 ff00                              |0003: const/16 v6, #int 255 // #ff
+001a06: 1205                                   |0005: const/4 v5, #int 0 // #0
+001a08: 1204                                   |0006: const/4 v4, #int 0 // #0
+001a0a: 7020 3700 a900                         |0007: invoke-direct {v9, v10}, Landroid/view/View;.<init>:(Landroid/content/Context;)V // method@0037
+001a10: 5b9a 1300                              |000a: iput-object v10, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
+001a14: 2200 1100                              |000c: new-instance v0, Landroid/graphics/Paint; // type@0011
+001a18: 7010 2100 0000                         |000e: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001a1e: 5b90 1400                              |0011: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+001a22: 5490 1400                              |0013: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+001a26: 6e20 2300 7000                         |0015: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001a2c: 5490 1400                              |0018: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+001a30: 6e54 2200 6044                         |001a: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001a36: 2200 1100                              |001d: new-instance v0, Landroid/graphics/Paint; // type@0011
+001a3a: 7010 2100 0000                         |001f: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001a40: 5b90 1500                              |0022: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+001a44: 5490 1500                              |0024: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+001a48: 6e20 2300 7000                         |0026: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001a4e: 5490 1500                              |0029: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+001a52: 6e56 2200 6066                         |002b: invoke-virtual {v0, v6, v6, v6, v6}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001a58: 2200 1100                              |002e: new-instance v0, Landroid/graphics/Paint; // type@0011
+001a5c: 7010 2100 0000                         |0030: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001a62: 5b90 1600                              |0033: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016
+001a66: 5490 1600                              |0035: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016
+001a6a: 6e20 2300 7000                         |0037: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001a70: 5490 1600                              |003a: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016
+001a74: 1301 fb00                              |003c: const/16 v1, #int 251 // #fb
+001a78: 1302 d700                              |003e: const/16 v2, #int 215 // #d7
+001a7c: 1303 ae00                              |0040: const/16 v3, #int 174 // #ae
+001a80: 6e53 2200 6021                         |0042: invoke-virtual {v0, v6, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001a86: 2200 1100                              |0045: new-instance v0, Landroid/graphics/Paint; // type@0011
+001a8a: 7010 2100 0000                         |0047: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001a90: 5b90 1700                              |004a: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+001a94: 5490 1700                              |004c: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+001a98: 6e20 2300 7000                         |004e: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001a9e: 5490 1700                              |0051: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+001aa2: 6e54 2200 6044                         |0053: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001aa8: 2200 1100                              |0056: new-instance v0, Landroid/graphics/Paint; // type@0011
+001aac: 7010 2100 0000                         |0058: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001ab2: 5b90 1800                              |005b: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
+001ab6: 5490 1800                              |005d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
+001aba: 6e20 2300 7000                         |005f: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001ac0: 5490 1800                              |0062: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
+001ac4: 6e54 2200 6046                         |0064: invoke-virtual {v0, v6, v6, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001aca: 2200 1100                              |0067: new-instance v0, Landroid/graphics/Paint; // type@0011
+001ace: 7010 2100 0000                         |0069: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001ad4: 5b90 1900                              |006c: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019
+001ad8: 5490 1900                              |006e: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019
+001adc: 6e20 2300 7000                         |0070: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001ae2: 5490 1900                              |0073: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019
+001ae6: 1301 a500                              |0075: const/16 v1, #int 165 // #a5
+001aea: 6e54 2200 6016                         |0077: invoke-virtual {v0, v6, v6, v1, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001af0: 2200 1100                              |007a: new-instance v0, Landroid/graphics/Paint; // type@0011
+001af4: 7010 2100 0000                         |007c: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001afa: 5b90 1a00                              |007f: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
+001afe: 5490 1a00                              |0081: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
+001b02: 6e20 2300 7000                         |0083: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001b08: 5490 1a00                              |0086: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
+001b0c: 1301 c800                              |0088: const/16 v1, #int 200 // #c8
+001b10: 6e54 2200 6016                         |008a: invoke-virtual {v0, v6, v6, v1, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001b16: 5490 1a00                              |008d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
+001b1a: 1501 0040                              |008f: const/high16 v1, #int 1073741824 // #4000
+001b1e: 6e20 2400 1000                         |0091: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStrokeWidth:(F)V // method@0024
+001b24: 2200 1100                              |0094: new-instance v0, Landroid/graphics/Paint; // type@0011
+001b28: 7010 2100 0000                         |0096: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001b2e: 5b90 1b00                              |0099: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
+001b32: 5490 1b00                              |009b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
+001b36: 6e20 2300 7000                         |009d: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001b3c: 5490 1b00                              |00a0: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
+001b40: 6e54 2200 6064                         |00a2: invoke-virtual {v0, v6, v4, v6, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001b46: 2200 1100                              |00a5: new-instance v0, Landroid/graphics/Paint; // type@0011
+001b4a: 7010 2100 0000                         |00a7: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
+001b50: 5b90 1c00                              |00aa: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
+001b54: 5490 1c00                              |00ac: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
+001b58: 6e20 2300 7000                         |00ae: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
+001b5e: 5490 1c00                              |00b1: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
+001b62: 6e54 2200 6044                         |00b3: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+001b68: 5490 1c00                              |00b6: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
+001b6c: 6201 0000                              |00b8: sget-object v1, Landroid/graphics/Paint$Style;.STROKE:Landroid/graphics/Paint$Style; // field@0000
+001b70: 6e20 2500 1000                         |00ba: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStyle:(Landroid/graphics/Paint$Style;)V // method@0025
+001b76: 5490 1c00                              |00bd: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
+001b7a: 1501 a040                              |00bf: const/high16 v1, #int 1084227584 // #40a0
+001b7e: 6e20 2400 1000                         |00c1: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStrokeWidth:(F)V // method@0024
+001b84: 1300 0c00                              |00c4: const/16 v0, #int 12 // #c
+001b88: 5990 1d00                              |00c6: iput v0, v9, Lcom/google/android/checkers/CheckersView;.k:I // field@001d
+001b8c: 1200                                   |00c8: const/4 v0, #int 0 // #0
+001b8e: 5990 1e00                              |00c9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+001b92: 5994 1f00                              |00cb: iput v4, v9, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
+001b96: 5994 2000                              |00cd: iput v4, v9, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
+001b9a: 5490 1300                              |00cf: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
+001b9e: 6e10 1100 0000                         |00d1: invoke-virtual {v0}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@0011
+001ba4: 0c00                                   |00d4: move-result-object v0
+001ba6: 1501 027f                              |00d5: const/high16 v1, #int 2130837504 // #7f02
+001baa: 6e20 1a00 1000                         |00d7: invoke-virtual {v0, v1}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@001a
+001bb0: 0c00                                   |00da: move-result-object v0
+001bb2: 5b90 2100                              |00db: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021
+001bb6: 2380 3700                              |00dd: new-array v0, v8, [I // type@0037
+001bba: 5b90 0800                              |00df: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
+001bbe: 2380 3700                              |00e1: new-array v0, v8, [I // type@0037
+001bc2: 5b90 0900                              |00e3: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
+001bc6: 2380 3700                              |00e5: new-array v0, v8, [I // type@0037
+001bca: 5b90 0a00                              |00e7: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
+001bce: 2380 3700                              |00e9: new-array v0, v8, [I // type@0037
+001bd2: 5b90 0b00                              |00eb: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
+001bd6: 1300 0002                              |00ed: const/16 v0, #int 512 // #200
+001bda: 2300 3600                              |00ef: new-array v0, v0, [B // type@0036
+001bde: 6900 5900                              |00f1: sput-object v0, Lcom/google/android/checkers/g;.a:[B // field@0059
+001be2: 1300 8003                              |00f3: const/16 v0, #int 896 // #380
+001be6: 2300 3600                              |00f5: new-array v0, v0, [B // type@0036
+001bea: 6900 5a00                              |00f7: sput-object v0, Lcom/google/android/checkers/g;.b:[B // field@005a
+001bee: 1300 8003                              |00f9: const/16 v0, #int 896 // #380
+001bf2: 2300 3600                              |00fb: new-array v0, v0, [B // type@0036
+001bf6: 6900 5b00                              |00fd: sput-object v0, Lcom/google/android/checkers/g;.c:[B // field@005b
+001bfa: 1300 1003                              |00ff: const/16 v0, #int 784 // #310
+001bfe: 2300 3600                              |0101: new-array v0, v0, [B // type@0036
+001c02: 6900 5c00                              |0103: sput-object v0, Lcom/google/android/checkers/g;.d:[B // field@005c
+001c06: 1300 001f                              |0105: const/16 v0, #int 7936 // #1f00
+001c0a: 2300 3600                              |0107: new-array v0, v0, [B // type@0036
+001c0e: 6900 5d00                              |0109: sput-object v0, Lcom/google/android/checkers/g;.e:[B // field@005d
+001c12: 1300 001f                              |010b: const/16 v0, #int 7936 // #1f00
+001c16: 2300 3600                              |010d: new-array v0, v0, [B // type@0036
+001c1a: 6900 5e00                              |010f: sput-object v0, Lcom/google/android/checkers/g;.f:[B // field@005e
+001c1e: 1300 4036                              |0111: const/16 v0, #int 13888 // #3640
+001c22: 2300 3600                              |0113: new-array v0, v0, [B // type@0036
+001c26: 6900 5f00                              |0115: sput-object v0, Lcom/google/android/checkers/g;.g:[B // field@005f
+001c2a: 1300 4036                              |0117: const/16 v0, #int 13888 // #3640
+001c2e: 2300 3600                              |0119: new-array v0, v0, [B // type@0036
+001c32: 6900 6000                              |011b: sput-object v0, Lcom/google/android/checkers/g;.h:[B // field@0060
+001c36: 1300 0070                              |011d: const/16 v0, #int 28672 // #7000
+001c3a: 2300 3600                              |011f: new-array v0, v0, [B // type@0036
+001c3e: 6900 6100                              |0121: sput-object v0, Lcom/google/android/checkers/g;.i:[B // field@0061
+001c42: 1300 0070                              |0123: const/16 v0, #int 28672 // #7000
+001c46: 2300 3600                              |0125: new-array v0, v0, [B // type@0036
+001c4a: 6900 6200                              |0127: sput-object v0, Lcom/google/android/checkers/g;.j:[B // field@0062
+001c4e: 1300 0062                              |0129: const/16 v0, #int 25088 // #6200
+001c52: 2300 3600                              |012b: new-array v0, v0, [B // type@0036
+001c56: 6900 6300                              |012d: sput-object v0, Lcom/google/android/checkers/g;.k:[B // field@0063
+001c5a: 1300 0062                              |012f: const/16 v0, #int 25088 // #6200
+001c5e: 2300 3600                              |0131: new-array v0, v0, [B // type@0036
+001c62: 6900 6400                              |0133: sput-object v0, Lcom/google/android/checkers/g;.l:[B // field@0064
+001c66: 1300 402f                              |0135: const/16 v0, #int 12096 // #2f40
+001c6a: 2300 3600                              |0137: new-array v0, v0, [B // type@0036
+001c6e: 6900 6500                              |0139: sput-object v0, Lcom/google/android/checkers/g;.m:[B // field@0065
+001c72: 1300 402f                              |013b: const/16 v0, #int 12096 // #2f40
+001c76: 2300 3600                              |013d: new-array v0, v0, [B // type@0036
+001c7a: 6900 6600                              |013f: sput-object v0, Lcom/google/android/checkers/g;.n:[B // field@0066
+001c7e: 1300 5829                              |0141: const/16 v0, #int 10584 // #2958
+001c82: 2300 3600                              |0143: new-array v0, v0, [B // type@0036
+001c86: 6900 6700                              |0145: sput-object v0, Lcom/google/android/checkers/g;.o:[B // field@0067
+001c8a: 1300 5829                              |0147: const/16 v0, #int 10584 // #2958
+001c8e: 2300 3600                              |0149: new-array v0, v0, [B // type@0036
+001c92: 6900 6800                              |014b: sput-object v0, Lcom/google/android/checkers/g;.p:[B // field@0068
+001c96: 1400 00c1 0300                         |014d: const v0, #float 0.000000 // #0003c100
+001c9c: 2300 3600                              |0150: new-array v0, v0, [B // type@0036
+001ca0: 6900 6900                              |0152: sput-object v0, Lcom/google/android/checkers/g;.q:[B // field@0069
+001ca4: 6e10 1100 0a00                         |0154: invoke-virtual {v10}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@0011
+001caa: 0c00                                   |0157: move-result-object v0
+001cac: 1501 037f                              |0158: const/high16 v1, #int 2130903040 // #7f03
+001cb0: 6e20 1b00 1000                         |015a: invoke-virtual {v0, v1}, Landroid/content/res/Resources;.openRawResource:(I)Ljava/io/InputStream; // method@001b
+001cb6: 0c00                                   |015d: move-result-object v0
+001cb8: 2201 2700                              |015e: new-instance v1, Ljava/io/BufferedInputStream; // type@0027
+001cbc: 1302 0020                              |0160: const/16 v2, #int 8192 // #2000
+001cc0: 7030 9a00 0102                         |0162: invoke-direct {v1, v0, v2}, Ljava/io/BufferedInputStream;.<init>:(Ljava/io/InputStream;I)V // method@009a
+001cc6: 6901 6b00                              |0165: sput-object v1, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b
+001cca: 6200 5900                              |0167: sget-object v0, Lcom/google/android/checkers/g;.a:[B // field@0059
+001cce: 7110 9900 0000                         |0169: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001cd4: 6200 5a00                              |016c: sget-object v0, Lcom/google/android/checkers/g;.b:[B // field@005a
+001cd8: 7110 9900 0000                         |016e: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001cde: 6200 5b00                              |0171: sget-object v0, Lcom/google/android/checkers/g;.c:[B // field@005b
+001ce2: 7110 9900 0000                         |0173: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001ce8: 6200 5c00                              |0176: sget-object v0, Lcom/google/android/checkers/g;.d:[B // field@005c
+001cec: 7110 9900 0000                         |0178: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001cf2: 6200 5d00                              |017b: sget-object v0, Lcom/google/android/checkers/g;.e:[B // field@005d
+001cf6: 7110 9900 0000                         |017d: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001cfc: 6200 5e00                              |0180: sget-object v0, Lcom/google/android/checkers/g;.f:[B // field@005e
+001d00: 7110 9900 0000                         |0182: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d06: 6200 5f00                              |0185: sget-object v0, Lcom/google/android/checkers/g;.g:[B // field@005f
+001d0a: 7110 9900 0000                         |0187: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d10: 6200 6000                              |018a: sget-object v0, Lcom/google/android/checkers/g;.h:[B // field@0060
+001d14: 7110 9900 0000                         |018c: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d1a: 6200 6100                              |018f: sget-object v0, Lcom/google/android/checkers/g;.i:[B // field@0061
+001d1e: 7110 9900 0000                         |0191: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d24: 6200 6200                              |0194: sget-object v0, Lcom/google/android/checkers/g;.j:[B // field@0062
+001d28: 7110 9900 0000                         |0196: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d2e: 6200 6300                              |0199: sget-object v0, Lcom/google/android/checkers/g;.k:[B // field@0063
+001d32: 7110 9900 0000                         |019b: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d38: 6200 6400                              |019e: sget-object v0, Lcom/google/android/checkers/g;.l:[B // field@0064
+001d3c: 7110 9900 0000                         |01a0: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d42: 6200 6500                              |01a3: sget-object v0, Lcom/google/android/checkers/g;.m:[B // field@0065
+001d46: 7110 9900 0000                         |01a5: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d4c: 6200 6600                              |01a8: sget-object v0, Lcom/google/android/checkers/g;.n:[B // field@0066
+001d50: 7110 9900 0000                         |01aa: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d56: 6200 6700                              |01ad: sget-object v0, Lcom/google/android/checkers/g;.o:[B // field@0067
+001d5a: 7110 9900 0000                         |01af: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d60: 6200 6800                              |01b2: sget-object v0, Lcom/google/android/checkers/g;.p:[B // field@0068
+001d64: 7110 9900 0000                         |01b4: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d6a: 6200 6900                              |01b7: sget-object v0, Lcom/google/android/checkers/g;.q:[B // field@0069
+001d6e: 7110 9900 0000                         |01b9: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
+001d74: 6200 6b00                              |01bc: sget-object v0, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b
+001d78: 6e10 9b00 0000                         |01be: invoke-virtual {v0}, Ljava/io/BufferedInputStream;.close:()V // method@009b
+001d7e: 1200                                   |01c1: const/4 v0, #int 0 // #0
+001d80: 6900 6b00                              |01c2: sput-object v0, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b
+001d84: 1210                                   |01c4: const/4 v0, #int 1 // #1
+001d86: 6a00 6a00                              |01c5: sput-boolean v0, Lcom/google/android/checkers/g;.r:Z // field@006a
+001d8a: 2200 2000                              |01c7: new-instance v0, Lcom/google/android/checkers/a; // type@0020
+001d8e: 7020 7200 9000                         |01c9: invoke-direct {v0, v9}, Lcom/google/android/checkers/a;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0072
+001d94: 5b90 2200                              |01cc: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+001d98: 5b95 0f00                              |01ce: iput-object v5, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+001d9c: 7020 5800 b900                         |01d0: invoke-direct {v9, v11}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;)Z // method@0058
+001da2: 0a00                                   |01d3: move-result v0
+001da4: 3800 8500                              |01d4: if-eqz v0, 0259 // +0085
+001da8: 7010 6700 0900                         |01d6: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067
+001dae: 0a00                                   |01d9: move-result v0
+001db0: 3900 0600                              |01da: if-nez v0, 01e0 // +0006
+001db4: 1a00 1701                              |01dc: const-string v0, "restored game" // string@0117
+001db8: 5b90 0f00                              |01de: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+001dbc: 7010 6400 0900                         |01e0: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.d:()V // method@0064
+001dc2: 1500 20c1                              |01e3: const/high16 v0, #int -1054867456 // #c120
+001dc6: 5990 1000                              |01e5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+001dca: 1500 20c1                              |01e7: const/high16 v0, #int -1054867456 // #c120
+001dce: 5990 1100                              |01e9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+001dd2: 5994 1200                              |01eb: iput v4, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
+001dd6: 5590 0600                              |01ed: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
+001dda: 3800 2e00                              |01ef: if-eqz v0, 021d // +002e
+001dde: 7010 6700 0900                         |01f1: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067
+001de4: 0a00                                   |01f4: move-result v0
+001de6: 3800 2800                              |01f5: if-eqz v0, 021d // +0028
+001dea: 2200 0500                              |01f7: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0005
+001dee: 5491 1300                              |01f9: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
+001df2: 7020 0900 1000                         |01fb: invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;.<init>:(Landroid/content/Context;)V // method@0009
+001df8: 1a01 1200                              |01fe: const-string v1, "Checkers for Android was written by Aart J.C. Bik.
+
+Use the touch screen or trackball to make a move. Press the MENU button for more options, such as making captures optional instead of mandatory.
+
+The application complies with the official American checkers rules, where black moves first, captures are mandatory, men only move and jump forward, and kings move and jump forward and backward (but not over a distance). Please note that many variants of checkers exist, and this game may not use the rules you are most familiar with.
+" // string@0012
+001dfc: 6e20 0c00 1000                         |0200: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c
+001e02: 0c00                                   |0203: move-result-object v0
+001e04: 1a01 2b00                              |0204: const-string v1, "KEEP SHOWING" // string@002b
+001e08: 2202 2300                              |0206: new-instance v2, Lcom/google/android/checkers/d; // type@0023
+001e0c: 7020 9300 9200                         |0208: invoke-direct {v2, v9}, Lcom/google/android/checkers/d;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0093
+001e12: 6e30 0e00 1002                         |020b: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e
+001e18: 0c00                                   |020e: move-result-object v0
+001e1a: 1a01 7c00                              |020f: const-string v1, "STOP SHOWING" // string@007c
+001e1e: 2202 2400                              |0211: new-instance v2, Lcom/google/android/checkers/e; // type@0024
+001e22: 7020 9500 9200                         |0213: invoke-direct {v2, v9}, Lcom/google/android/checkers/e;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0095
+001e28: 6e30 0d00 1002                         |0216: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d
+001e2e: 0c00                                   |0219: move-result-object v0
+001e30: 6e10 1000 0000                         |021a: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010
+001e36: 0e00                                   |021d: return-void
+001e38: 0d00                                   |021e: move-exception v0
+001e3a: 1a01 0800                              |021f: const-string v1, "BIK" // string@0008
+001e3e: 2202 3000                              |0221: new-instance v2, Ljava/lang/StringBuilder; // type@0030
+001e42: 1a03 b700                              |0223: const-string v3, "cannot read tb: " // string@00b7
+001e46: 7020 a600 3200                         |0225: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+001e4c: 6e20 a800 0200                         |0228: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00a8
+001e52: 0c00                                   |022b: move-result-object v0
+001e54: 6e10 aa00 0000                         |022c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+001e5a: 0c00                                   |022f: move-result-object v0
+001e5c: 7120 2a00 0100                         |0230: invoke-static {v1, v0}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@002a
+001e62: 6905 5900                              |0233: sput-object v5, Lcom/google/android/checkers/g;.a:[B // field@0059
+001e66: 6905 5a00                              |0235: sput-object v5, Lcom/google/android/checkers/g;.b:[B // field@005a
+001e6a: 6905 5b00                              |0237: sput-object v5, Lcom/google/android/checkers/g;.c:[B // field@005b
+001e6e: 6905 5c00                              |0239: sput-object v5, Lcom/google/android/checkers/g;.d:[B // field@005c
+001e72: 6905 5d00                              |023b: sput-object v5, Lcom/google/android/checkers/g;.e:[B // field@005d
+001e76: 6905 5e00                              |023d: sput-object v5, Lcom/google/android/checkers/g;.f:[B // field@005e
+001e7a: 6905 5f00                              |023f: sput-object v5, Lcom/google/android/checkers/g;.g:[B // field@005f
+001e7e: 6905 6000                              |0241: sput-object v5, Lcom/google/android/checkers/g;.h:[B // field@0060
+001e82: 6905 6100                              |0243: sput-object v5, Lcom/google/android/checkers/g;.i:[B // field@0061
+001e86: 6905 6200                              |0245: sput-object v5, Lcom/google/android/checkers/g;.j:[B // field@0062
+001e8a: 6905 6300                              |0247: sput-object v5, Lcom/google/android/checkers/g;.k:[B // field@0063
+001e8e: 6905 6400                              |0249: sput-object v5, Lcom/google/android/checkers/g;.l:[B // field@0064
+001e92: 6905 6500                              |024b: sput-object v5, Lcom/google/android/checkers/g;.m:[B // field@0065
+001e96: 6905 6600                              |024d: sput-object v5, Lcom/google/android/checkers/g;.n:[B // field@0066
+001e9a: 6905 6700                              |024f: sput-object v5, Lcom/google/android/checkers/g;.o:[B // field@0067
+001e9e: 6905 6800                              |0251: sput-object v5, Lcom/google/android/checkers/g;.p:[B // field@0068
+001ea2: 6905 6900                              |0253: sput-object v5, Lcom/google/android/checkers/g;.q:[B // field@0069
+001ea6: 6a04 6a00                              |0255: sput-boolean v4, Lcom/google/android/checkers/g;.r:Z // field@006a
+001eaa: 2900 70ff                              |0257: goto/16 01c7 // -0090
+001eae: 5997 2300                              |0259: iput v7, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+001eb2: 5490 2200                              |025b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+001eb6: 5200 3d00                              |025d: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+001eba: 5990 2400                              |025f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+001ebe: 5490 2200                              |0261: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+001ec2: 5200 3f00                              |0263: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+001ec6: 5990 2500                              |0265: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+001eca: 5490 2200                              |0267: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+001ece: 5200 3e00                              |0269: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+001ed2: 5990 2600                              |026b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+001ed6: 5490 2200                              |026d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+001eda: 5200 4000                              |026f: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+001ede: 5990 2700                              |0271: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+001ee2: 5994 2800                              |0273: iput v4, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+001ee6: 5994 2900                              |0275: iput v4, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+001eea: 5994 2a00                              |0277: iput v4, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+001eee: 5c94 2b00                              |0279: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+001ef2: 1230                                   |027b: const/4 v0, #int 3 // #3
+001ef4: 5990 2c00                              |027c: iput v0, v9, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+001ef8: 5c97 0200                              |027e: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
+001efc: 5c94 0300                              |0280: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+001f00: 5c94 0400                              |0282: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+001f04: 5c94 0500                              |0284: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
+001f08: 5c97 0600                              |0286: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
+001f0c: 5994 0700                              |0288: iput v4, v9, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
+001f10: 5994 0c00                              |028a: iput v4, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+001f14: 5994 0d00                              |028c: iput v4, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+001f18: 5490 2200                              |028e: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+001f1c: 5200 3c00                              |0290: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+001f20: 5990 0e00                              |0292: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
+001f24: 2900 4cff                              |0294: goto/16 01e0 // -00b4
+      catches       : 1
+        0x00ef - 0x01c7
+          Ljava/lang/Exception; -> 0x021e
+      positions     : 
+      locals        : 
+
+    #1              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 6
+      ins           : 3
+      outs          : 3
+      insns size    : 31 16-bit code units
+001f38:                                        |[001f38] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V
+001f48: 1200                                   |0000: const/4 v0, #int 0 // #0
+001f4a: 1301 0800                              |0001: const/16 v1, #int 8 // #8
+001f4e: 3410 0300                              |0003: if-lt v0, v1, 0006 // +0003
+001f52: 0e00                                   |0005: return-void
+001f54: 2201 3000                              |0006: new-instance v1, Ljava/lang/StringBuilder; // type@0030
+001f58: 7110 a500 0400                         |0008: invoke-static {v4}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@00a5
+001f5e: 0c02                                   |000b: move-result-object v2
+001f60: 7020 a600 2100                         |000c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+001f66: 6e20 a700 0100                         |000f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+001f6c: 0c01                                   |0012: move-result-object v1
+001f6e: 6e10 aa00 0100                         |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+001f74: 0c01                                   |0016: move-result-object v1
+001f76: 4402 0500                              |0017: aget v2, v5, v0
+001f7a: 7230 1600 1302                         |0019: invoke-interface {v3, v1, v2}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+001f80: d800 0001                              |001c: add-int/lit8 v0, v0, #int 1 // #01
+001f84: 28e3                                   |001e: goto 0001 // -001d
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #2              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 7
+      ins           : 3
+      outs          : 3
+      insns size    : 33 16-bit code units
+001f88:                                        |[001f88] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V
+001f98: 1201                                   |0000: const/4 v1, #int 0 // #0
+001f9a: 0110                                   |0001: move v0, v1
+001f9c: 1302 0800                              |0002: const/16 v2, #int 8 // #8
+001fa0: 3420 0300                              |0004: if-lt v0, v2, 0007 // +0003
+001fa4: 0e00                                   |0006: return-void
+001fa6: 2202 3000                              |0007: new-instance v2, Ljava/lang/StringBuilder; // type@0030
+001faa: 7110 a500 0500                         |0009: invoke-static {v5}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@00a5
+001fb0: 0c03                                   |000c: move-result-object v3
+001fb2: 7020 a600 3200                         |000d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+001fb8: 6e20 a700 0200                         |0010: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+001fbe: 0c02                                   |0013: move-result-object v2
+001fc0: 6e10 aa00 0200                         |0014: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+001fc6: 0c02                                   |0017: move-result-object v2
+001fc8: 7230 1900 2401                         |0018: invoke-interface {v4, v2, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+001fce: 0a02                                   |001b: move-result v2
+001fd0: 4b02 0600                              |001c: aput v2, v6, v0
+001fd4: d800 0001                              |001e: add-int/lit8 v0, v0, #int 1 // #01
+001fd8: 28e2                                   |0020: goto 0002 // -001e
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #3              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Landroid/graphics/Canvas;IIII)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 13
+      ins           : 6
+      outs          : 6
+      insns size    : 63 16-bit code units
+001fdc:                                        |[001fdc] com.google.android.checkers.CheckersView.a:(Landroid/graphics/Canvas;IIII)V
+001fec: e201 0902                              |0000: ushr-int/lit8 v1, v9, #int 2 // #02
+001ff0: dd00 0903                              |0002: and-int/lit8 v0, v9, #int 3 // #03
+001ff4: da00 0002                              |0004: mul-int/lit8 v0, v0, #int 2 // #02
+001ff8: d800 0001                              |0006: add-int/lit8 v0, v0, #int 1 // #01
+001ffc: dd02 0101                              |0008: and-int/lit8 v2, v1, #int 1 // #01
+002000: 9103 0002                              |000a: sub-int v3, v0, v2
+002004: e200 0a02                              |000c: ushr-int/lit8 v0, v10, #int 2 // #02
+002008: dd02 0a03                              |000e: and-int/lit8 v2, v10, #int 3 // #03
+00200c: da02 0202                              |0010: mul-int/lit8 v2, v2, #int 2 // #02
+002010: d802 0201                              |0012: add-int/lit8 v2, v2, #int 1 // #01
+002014: dd04 0001                              |0014: and-int/lit8 v4, v0, #int 1 // #01
+002018: b142                                   |0016: sub-int/2addr v2, v4
+00201a: 5574 0400                              |0017: iget-boolean v4, v7, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+00201e: 3804 2100                              |0019: if-eqz v4, 003a // +0021
+002022: d901 0107                              |001b: rsub-int/lit8 v1, v1, #int 7 // #07
+002026: d903 0307                              |001d: rsub-int/lit8 v3, v3, #int 7 // #07
+00202a: d900 0007                              |001f: rsub-int/lit8 v0, v0, #int 7 // #07
+00202e: d902 0207                              |0021: rsub-int/lit8 v2, v2, #int 7 // #07
+002032: 0116                                   |0023: move v6, v1
+002034: 0131                                   |0024: move v1, v3
+002036: 0123                                   |0025: move v3, v2
+002038: 0162                                   |0026: move v2, v6
+00203a: b2b1                                   |0027: mul-int/2addr v1, v11
+00203c: b0c1                                   |0028: add-int/2addr v1, v12
+00203e: 8211                                   |0029: int-to-float v1, v1
+002040: b2b2                                   |002a: mul-int/2addr v2, v11
+002042: b0c2                                   |002b: add-int/2addr v2, v12
+002044: 8222                                   |002c: int-to-float v2, v2
+002046: b2b3                                   |002d: mul-int/2addr v3, v11
+002048: b0c3                                   |002e: add-int/2addr v3, v12
+00204a: 8233                                   |002f: int-to-float v3, v3
+00204c: b2b0                                   |0030: mul-int/2addr v0, v11
+00204e: b0c0                                   |0031: add-int/2addr v0, v12
+002050: 8204                                   |0032: int-to-float v4, v0
+002052: 5475 1a00                              |0033: iget-object v5, v7, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
+002056: 0780                                   |0035: move-object v0, v8
+002058: 7406 1d00 0000                         |0036: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawLine:(FFFFLandroid/graphics/Paint;)V // method@001d
+00205e: 0e00                                   |0039: return-void
+002060: 0116                                   |003a: move v6, v1
+002062: 0131                                   |003b: move v1, v3
+002064: 0123                                   |003c: move v3, v2
+002066: 0162                                   |003d: move v2, v6
+002068: 28e9                                   |003e: goto 0027 // -0017
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #4              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 13
+      ins           : 8
+      outs          : 5
+      insns size    : 81 16-bit code units
+00206c:                                        |[00206c] com.google.android.checkers.CheckersView.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V
+00207c: 8260                                   |0000: int-to-float v0, v6
+00207e: 8271                                   |0001: int-to-float v1, v7
+002080: d802 08fe                              |0002: add-int/lit8 v2, v8, #int -2 // #fe
+002084: 8222                                   |0004: int-to-float v2, v2
+002086: 6e5a 1c00 0521                         |0005: invoke-virtual {v5, v0, v1, v2, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+00208c: 8260                                   |0008: int-to-float v0, v6
+00208e: 8271                                   |0009: int-to-float v1, v7
+002090: d802 08fc                              |000a: add-int/lit8 v2, v8, #int -4 // #fc
+002094: 8222                                   |000c: int-to-float v2, v2
+002096: 6e5b 1c00 0521                         |000d: invoke-virtual {v5, v0, v1, v2, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+00209c: 8260                                   |0010: int-to-float v0, v6
+00209e: 8271                                   |0011: int-to-float v1, v7
+0020a0: d802 08f9                              |0012: add-int/lit8 v2, v8, #int -7 // #f9
+0020a4: 8222                                   |0014: int-to-float v2, v2
+0020a6: 6e5a 1c00 0521                         |0015: invoke-virtual {v5, v0, v1, v2, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+0020ac: 8260                                   |0018: int-to-float v0, v6
+0020ae: 8271                                   |0019: int-to-float v1, v7
+0020b0: d802 08f7                              |001a: add-int/lit8 v2, v8, #int -9 // #f7
+0020b4: 8222                                   |001c: int-to-float v2, v2
+0020b6: 6e5b 1c00 0521                         |001d: invoke-virtual {v5, v0, v1, v2, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+0020bc: 380c 3000                              |0020: if-eqz v12, 0050 // +0030
+0020c0: e100 0802                              |0022: shr-int/lit8 v0, v8, #int 2 // #02
+0020c4: 9101 0600                              |0024: sub-int v1, v6, v0
+0020c8: 9100 0700                              |0026: sub-int v0, v7, v0
+0020cc: 8212                                   |0028: int-to-float v2, v1
+0020ce: 8203                                   |0029: int-to-float v3, v0
+0020d0: d804 08fe                              |002a: add-int/lit8 v4, v8, #int -2 // #fe
+0020d4: 8244                                   |002c: int-to-float v4, v4
+0020d6: 6e5a 1c00 2543                         |002d: invoke-virtual {v5, v2, v3, v4, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+0020dc: 8212                                   |0030: int-to-float v2, v1
+0020de: 8203                                   |0031: int-to-float v3, v0
+0020e0: d804 08fc                              |0032: add-int/lit8 v4, v8, #int -4 // #fc
+0020e4: 8244                                   |0034: int-to-float v4, v4
+0020e6: 6e5b 1c00 2543                         |0035: invoke-virtual {v5, v2, v3, v4, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+0020ec: 8212                                   |0038: int-to-float v2, v1
+0020ee: 8203                                   |0039: int-to-float v3, v0
+0020f0: d804 08f9                              |003a: add-int/lit8 v4, v8, #int -7 // #f9
+0020f4: 8244                                   |003c: int-to-float v4, v4
+0020f6: 6e5a 1c00 2543                         |003d: invoke-virtual {v5, v2, v3, v4, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+0020fc: 8212                                   |0040: int-to-float v2, v1
+0020fe: 8203                                   |0041: int-to-float v3, v0
+002100: d804 08f7                              |0042: add-int/lit8 v4, v8, #int -9 // #f7
+002104: 8244                                   |0044: int-to-float v4, v4
+002106: 6e5b 1c00 2543                         |0045: invoke-virtual {v5, v2, v3, v4, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+00210c: 1a02 2a00                              |0048: const-string v2, "K" // string@002a
+002110: b191                                   |004a: sub-int/2addr v1, v9
+002112: 8211                                   |004b: int-to-float v1, v1
+002114: 8200                                   |004c: int-to-float v0, v0
+002116: 6e5a 2000 2501                         |004d: invoke-virtual {v5, v2, v1, v0, v10}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+00211c: 0e00                                   |0050: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #5              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Lcom/google/android/checkers/CheckersView;I)V'
+      access        : 0x1008 (STATIC SYNTHETIC)
+      code          -
+      registers     : 2
+      ins           : 2
+      outs          : 2
+      insns size    : 4 16-bit code units
+002120:                                        |[002120] com.google.android.checkers.CheckersView.a:(Lcom/google/android/checkers/CheckersView;I)V
+002130: 7020 5e00 1000                         |0000: invoke-direct {v0, v1}, Lcom/google/android/checkers/CheckersView;.b:(I)V // method@005e
+002136: 0e00                                   |0003: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #6              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Landroid/content/SharedPreferences;)Z'
+      access        : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 12
+      ins           : 2
+      outs          : 6
+      insns size    : 294 16-bit code units
+002138:                                        |[002138] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences;)Z
+002148: 1249                                   |0000: const/4 v9, #int 4 // #4
+00214a: 1232                                   |0001: const/4 v2, #int 3 // #3
+00214c: 1217                                   |0002: const/4 v7, #int 1 // #1
+00214e: 1206                                   |0003: const/4 v6, #int 0 // #0
+002150: 1d0a                                   |0004: monitor-enter v10
+002152: 380b 1b01                              |0005: if-eqz v11, 0120 // +011b
+002156: 1a00 d000                              |0007: const-string v0, "format" // string@00d0
+00215a: 1201                                   |0009: const/4 v1, #int 0 // #0
+00215c: 7230 1900 0b01                         |000a: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+002162: 0a00                                   |000d: move-result v0
+002164: 1301 2200                              |000e: const/16 v1, #int 34 // #22
+002168: 3210 0500                              |0010: if-eq v0, v1, 0015 // +0005
+00216c: 0160                                   |0012: move v0, v6
+00216e: 1e0a                                   |0013: monitor-exit v10
+002170: 0f00                                   |0014: return v0
+002172: 1a00 3101                              |0015: const-string v0, "state" // string@0131
+002176: 1211                                   |0017: const/4 v1, #int 1 // #1
+002178: 7230 1900 0b01                         |0018: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+00217e: 0a00                                   |001b: move-result v0
+002180: 59a0 2300                              |001c: iput v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002184: 1a00 3f01                              |001e: const-string v0, "wp" // string@013f
+002188: 1201                                   |0020: const/4 v1, #int 0 // #0
+00218a: 7230 1900 0b01                         |0021: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+002190: 0a00                                   |0024: move-result v0
+002192: 59a0 2400                              |0025: iput v0, v10, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+002196: 1a00 b400                              |0027: const-string v0, "bp" // string@00b4
+00219a: 1201                                   |0029: const/4 v1, #int 0 // #0
+00219c: 7230 1900 0b01                         |002a: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+0021a2: 0a00                                   |002d: move-result v0
+0021a4: 59a0 2500                              |002e: iput v0, v10, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+0021a8: 1a00 3e01                              |0030: const-string v0, "wk" // string@013e
+0021ac: 1201                                   |0032: const/4 v1, #int 0 // #0
+0021ae: 7230 1900 0b01                         |0033: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+0021b4: 0a00                                   |0036: move-result v0
+0021b6: 59a0 2600                              |0037: iput v0, v10, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+0021ba: 1a00 b300                              |0039: const-string v0, "bk" // string@00b3
+0021be: 1201                                   |003b: const/4 v1, #int 0 // #0
+0021c0: 7230 1900 0b01                         |003c: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+0021c6: 0a00                                   |003f: move-result v0
+0021c8: 59a0 2700                              |0040: iput v0, v10, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+0021cc: 1a00 e800                              |0042: const-string v0, "l1" // string@00e8
+0021d0: 1201                                   |0044: const/4 v1, #int 0 // #0
+0021d2: 7230 1900 0b01                         |0045: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+0021d8: 0a00                                   |0048: move-result v0
+0021da: 59a0 2800                              |0049: iput v0, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+0021de: 1a00 e900                              |004b: const-string v0, "l2" // string@00e9
+0021e2: 1201                                   |004d: const/4 v1, #int 0 // #0
+0021e4: 7230 1900 0b01                         |004e: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+0021ea: 0a00                                   |0051: move-result v0
+0021ec: 59a0 2900                              |0052: iput v0, v10, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+0021f0: 1a00 ef00                              |0054: const-string v0, "lm" // string@00ef
+0021f4: 1201                                   |0056: const/4 v1, #int 0 // #0
+0021f6: 7230 1900 0b01                         |0057: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+0021fc: 0a00                                   |005a: move-result v0
+0021fe: 59a0 2a00                              |005b: iput v0, v10, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+002202: 1a00 b800                              |005d: const-string v0, "cap" // string@00b8
+002206: 1211                                   |005f: const/4 v1, #int 1 // #1
+002208: 7230 1800 0b01                         |0060: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
+00220e: 0a00                                   |0063: move-result v0
+002210: 5ca0 2b00                              |0064: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+002214: 1a00 ee00                              |0066: const-string v0, "level" // string@00ee
+002218: 1231                                   |0068: const/4 v1, #int 3 // #3
+00221a: 7230 1900 0b01                         |0069: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+002220: 0a00                                   |006c: move-result v0
+002222: 59a0 2c00                              |006d: iput v0, v10, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+002226: 1a00 2d01                              |006f: const-string v0, "show" // string@012d
+00222a: 1211                                   |0071: const/4 v1, #int 1 // #1
+00222c: 7230 1800 0b01                         |0072: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
+002232: 0a00                                   |0075: move-result v0
+002234: 5ca0 0200                              |0076: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
+002238: 1a00 d100                              |0078: const-string v0, "free" // string@00d1
+00223c: 1201                                   |007a: const/4 v1, #int 0 // #0
+00223e: 7230 1800 0b01                         |007b: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
+002244: 0a00                                   |007e: move-result v0
+002246: 5ca0 0300                              |007f: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+00224a: 1a00 1801                              |0081: const-string v0, "rot" // string@0118
+00224e: 1201                                   |0083: const/4 v1, #int 0 // #0
+002250: 7230 1800 0b01                         |0084: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
+002256: 0a00                                   |0087: move-result v0
+002258: 5ca0 0400                              |0088: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+00225c: 1a00 d300                              |008a: const-string v0, "full" // string@00d3
+002260: 1201                                   |008c: const/4 v1, #int 0 // #0
+002262: 7230 1800 0b01                         |008d: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
+002268: 0a00                                   |0090: move-result v0
+00226a: 5ca0 0500                              |0091: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
+00226e: 1a00 2f01                              |0093: const-string v0, "start" // string@012f
+002272: 1211                                   |0095: const/4 v1, #int 1 // #1
+002274: 7230 1800 0b01                         |0096: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
+00227a: 0a00                                   |0099: move-result v0
+00227c: 5ca0 0600                              |009a: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
+002280: 1a00 bd00                              |009c: const-string v0, "color" // string@00bd
+002284: 1201                                   |009e: const/4 v1, #int 0 // #0
+002286: 7230 1900 0b01                         |009f: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+00228c: 0a00                                   |00a2: move-result v0
+00228e: 59a0 0700                              |00a3: iput v0, v10, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
+002292: 1a00 f300                              |00a5: const-string v0, "lwp" // string@00f3
+002296: 54a1 0800                              |00a7: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
+00229a: 7130 5300 0b01                         |00a9: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053
+0022a0: 1a00 f200                              |00ac: const-string v0, "lwk" // string@00f2
+0022a4: 54a1 0900                              |00ae: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
+0022a8: 7130 5300 0b01                         |00b0: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053
+0022ae: 1a00 eb00                              |00b3: const-string v0, "lbp" // string@00eb
+0022b2: 54a1 0a00                              |00b5: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
+0022b6: 7130 5300 0b01                         |00b7: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053
+0022bc: 1a00 ea00                              |00ba: const-string v0, "lbk" // string@00ea
+0022c0: 54a1 0b00                              |00bc: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
+0022c4: 7130 5300 0b01                         |00be: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053
+0022ca: 1a00 f100                              |00c1: const-string v0, "lp" // string@00f1
+0022ce: 1201                                   |00c3: const/4 v1, #int 0 // #0
+0022d0: 7230 1900 0b01                         |00c4: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+0022d6: 0a00                                   |00c7: move-result v0
+0022d8: 59a0 0c00                              |00c8: iput v0, v10, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+0022dc: 1a00 ec00                              |00ca: const-string v0, "lc" // string@00ec
+0022e0: 1201                                   |00cc: const/4 v1, #int 0 // #0
+0022e2: 7230 1900 0b01                         |00cd: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
+0022e8: 0a00                                   |00d0: move-result v0
+0022ea: 59a0 0d00                              |00d1: iput v0, v10, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+0022ee: 52a0 2c00                              |00d3: iget v0, v10, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+0022f2: 6e20 7000 0a00                         |00d5: invoke-virtual {v10, v0}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070
+0022f8: 52a0 2300                              |00d8: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0022fc: 3220 3d00                              |00da: if-eq v0, v2, 0117 // +003d
+002300: 52a0 2300                              |00dc: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002304: 3290 3900                              |00de: if-eq v0, v9, 0117 // +0039
+002308: 52a0 2300                              |00e0: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00230c: 1261                                   |00e2: const/4 v1, #int 6 // #6
+00230e: 3210 3400                              |00e3: if-eq v0, v1, 0117 // +0034
+002312: 0165                                   |00e5: move v5, v6
+002314: 54a8 2200                              |00e6: iget-object v8, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002318: 1d08                                   |00e8: monitor-enter v8
+00231a: 54a0 2200                              |00e9: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+00231e: 52a1 2400                              |00eb: iget v1, v10, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+002322: 52a2 2600                              |00ed: iget v2, v10, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+002326: 52a3 2500                              |00ef: iget v3, v10, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+00232a: 52a4 2700                              |00f1: iget v4, v10, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+00232e: 7406 8000 0000                         |00f3: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIIZ)V // method@0080
+002334: 54a0 2200                              |00f6: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002338: 55a1 0300                              |00f8: iget-boolean v1, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+00233c: 6e30 7a00 5001                         |00fa: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a
+002342: 54a0 2200                              |00fd: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002346: 5200 3c00                              |00ff: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+00234a: 59a0 0e00                              |0101: iput v0, v10, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
+00234e: 1e08                                   |0103: monitor-exit v8
+002350: 52a0 2300                              |0104: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002354: 3290 0700                              |0106: if-eq v0, v9, 010d // +0007
+002358: 52a0 2300                              |0108: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00235c: 1221                                   |010a: const/4 v1, #int 2 // #2
+00235e: 3310 0900                              |010b: if-ne v0, v1, 0114 // +0009
+002362: 54a0 2200                              |010d: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002366: 55a1 0300                              |010f: iget-boolean v1, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+00236a: 6e30 8700 5001                         |0111: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
+002370: 0170                                   |0114: move v0, v7
+002372: 2900 fefe                              |0115: goto/16 0013 // -0102
+002376: 0175                                   |0117: move v5, v7
+002378: 28ce                                   |0118: goto 00e6 // -0032
+00237a: 0d00                                   |0119: move-exception v0
+00237c: 1e08                                   |011a: monitor-exit v8
+00237e: 2700                                   |011b: throw v0
+002380: 0d00                                   |011c: move-exception v0
+002382: 0160                                   |011d: move v0, v6
+002384: 2900 f5fe                              |011e: goto/16 0013 // -010b
+002388: 0160                                   |0120: move v0, v6
+00238a: 2900 f2fe                              |0121: goto/16 0013 // -010e
+00238e: 0d00                                   |0123: move-exception v0
+002390: 1e0a                                   |0124: monitor-exit v10
+002392: 2700                                   |0125: throw v0
+      catches       : 4
+        0x0007 - 0x000d
+          Ljava/lang/ClassCastException; -> 0x011c
+          <any> -> 0x0123
+        0x0015 - 0x00e9
+          Ljava/lang/ClassCastException; -> 0x011c
+          <any> -> 0x0123
+        0x00e9 - 0x0104
+          <any> -> 0x0119
+        0x0104 - 0x011c
+          Ljava/lang/ClassCastException; -> 0x011c
+          <any> -> 0x0123
+      positions     : 
+      locals        : 
+
+    #7              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Lcom/google/android/checkers/CheckersView;)Z'
+      access        : 0x1008 (STATIC SYNTHETIC)
+      code          -
+      registers     : 7
+      ins           : 1
+      outs          : 6
+      insns size    : 11 16-bit code units
+0023c0:                                        |[0023c0] com.google.android.checkers.CheckersView.a:(Lcom/google/android/checkers/CheckersView;)Z
+0023d0: 1201                                   |0000: const/4 v1, #int 0 // #0
+0023d2: 12f2                                   |0001: const/4 v2, #int -1 // #ff
+0023d4: 0760                                   |0002: move-object v0, v6
+0023d6: 0113                                   |0003: move v3, v1
+0023d8: 0114                                   |0004: move v4, v1
+0023da: 0115                                   |0005: move v5, v1
+0023dc: 7606 5b00 0000                         |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
+0023e2: 0a00                                   |0009: move-result v0
+0023e4: 0f00                                   |000a: return v0
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #8              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(ZIIII)Z'
+      access        : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 15
+      ins           : 6
+      outs          : 6
+      insns size    : 645 16-bit code units
+0023e8:                                        |[0023e8] com.google.android.checkers.CheckersView.a:(ZIIII)Z
+0023f8: 1232                                   |0000: const/4 v2, #int 3 // #3
+0023fa: 12f1                                   |0001: const/4 v1, #int -1 // #ff
+0023fc: 1223                                   |0002: const/4 v3, #int 2 // #2
+0023fe: 1216                                   |0003: const/4 v6, #int 1 // #1
+002400: 1207                                   |0004: const/4 v7, #int 0 // #0
+002402: 1d09                                   |0005: monitor-enter v9
+002404: 380a 1b00                              |0006: if-eqz v10, 0021 // +001b
+002408: 5290 1200                              |0008: iget v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
+00240c: 3d00 1700                              |000a: if-lez v0, 0021 // +0017
+002410: 5290 1200                              |000c: iget v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
+002414: 3330 2b00                              |000e: if-ne v0, v3, 0039 // +002b
+002418: 12eb                                   |0010: const/4 v11, #int -2 // #fe
+00241a: 5290 2300                              |0011: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00241e: 3330 2800                              |0013: if-ne v0, v3, 003b // +0028
+002422: 0160                                   |0015: move v0, v6
+002424: 5990 2300                              |0016: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002428: 5290 2c00                              |0018: iget v0, v9, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+00242c: 6e20 7000 0900                         |001a: invoke-virtual {v9, v0}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070
+002432: 1200                                   |001d: const/4 v0, #int 0 // #0
+002434: 5990 1200                              |001e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
+002438: 017a                                   |0020: move v10, v7
+00243a: 380a 8800                              |0021: if-eqz v10, 00a9 // +0088
+00243e: 7020 6200 b900                         |0023: invoke-direct {v9, v11}, Lcom/google/android/checkers/CheckersView;.c:(I)V // method@0062
+002444: 5290 2300                              |0026: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002448: 1252                                   |0028: const/4 v2, #int 5 // #5
+00244a: 3220 0d00                              |0029: if-eq v0, v2, 0036 // +000d
+00244e: 5290 2300                              |002b: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002452: 1262                                   |002d: const/4 v2, #int 6 // #6
+002454: 3220 0800                              |002e: if-eq v0, v2, 0036 // +0008
+002458: 390d 0d00                              |0030: if-nez v13, 003d // +000d
+00245c: 1a00 1301                              |0032: const-string v0, "random play" // string@0113
+002460: 5b90 0f00                              |0034: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+002464: 0160                                   |0036: move v0, v6
+002466: 1e09                                   |0037: monitor-exit v9
+002468: 0f00                                   |0038: return v0
+00246a: 011b                                   |0039: move v11, v1
+00246c: 28d7                                   |003a: goto 0011 // -0029
+00246e: 0120                                   |003b: move v0, v2
+002470: 28da                                   |003c: goto 0016 // -0026
+002472: 331d 0a00                              |003d: if-ne v13, v1, 0047 // +000a
+002476: 1a00 0801                              |003f: const-string v0, "only reply" // string@0108
+00247a: 5b90 0f00                              |0041: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+00247e: 28f3                                   |0043: goto 0036 // -000d
+002480: 0d00                                   |0044: move-exception v0
+002482: 1e09                                   |0045: monitor-exit v9
+002484: 2700                                   |0046: throw v0
+002486: 12e0                                   |0047: const/4 v0, #int -2 // #fe
+002488: 330d 0700                              |0048: if-ne v13, v0, 004f // +0007
+00248c: 1a00 0a01                              |004a: const-string v0, "opening" // string@010a
+002490: 5b90 0f00                              |004c: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+002494: 28e8                                   |004e: goto 0036 // -0018
+002496: 1300 0083                              |004f: const/16 v0, #int -32000 // #8300
+00249a: 360c 1800                              |0051: if-gt v12, v0, 0069 // +0018
+00249e: 2200 3000                              |0053: new-instance v0, Ljava/lang/StringBuilder; // type@0030
+0024a2: 1a01 f000                              |0055: const-string v1, "loss in #" // string@00f0
+0024a6: 7020 a600 1000                         |0057: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+0024ac: d0c1 f47e                              |005a: add-int/lit16 v1, v12, #int 32500 // #7ef4
+0024b0: db01 0102                              |005c: div-int/lit8 v1, v1, #int 2 // #02
+0024b4: 6e20 a700 1000                         |005e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+0024ba: 0c00                                   |0061: move-result-object v0
+0024bc: 6e10 aa00 0000                         |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+0024c2: 0c00                                   |0065: move-result-object v0
+0024c4: 5b90 0f00                              |0066: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+0024c8: 28ce                                   |0068: goto 0036 // -0032
+0024ca: 1300 007d                              |0069: const/16 v0, #int 32000 // #7d00
+0024ce: 340c 1800                              |006b: if-lt v12, v0, 0083 // +0018
+0024d2: 2200 3000                              |006d: new-instance v0, Ljava/lang/StringBuilder; // type@0030
+0024d6: 1a01 3d01                              |006f: const-string v1, "win in #" // string@013d
+0024da: 7020 a600 1000                         |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+0024e0: d1c1 f47e                              |0074: rsub-int v1, v12, #int 32500 // #7ef4
+0024e4: db01 0102                              |0076: div-int/lit8 v1, v1, #int 2 // #02
+0024e8: 6e20 a700 1000                         |0078: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+0024ee: 0c00                                   |007b: move-result-object v0
+0024f0: 6e10 aa00 0000                         |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+0024f6: 0c00                                   |007f: move-result-object v0
+0024f8: 5b90 0f00                              |0080: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+0024fc: 28b4                                   |0082: goto 0036 // -004c
+0024fe: 2200 3000                              |0083: new-instance v0, Ljava/lang/StringBuilder; // type@0030
+002502: 1a01 3901                              |0085: const-string v1, "v=" // string@0139
+002506: 7020 a600 1000                         |0087: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+00250c: 6e20 a700 c000                         |008a: invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+002512: 0c00                                   |008d: move-result-object v0
+002514: 1a01 0000                              |008e: const-string v1, " d=" // string@0000
+002518: 6e20 a900 1000                         |0090: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9
+00251e: 0c00                                   |0093: move-result-object v0
+002520: 6e20 a700 d000                         |0094: invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+002526: 0c00                                   |0097: move-result-object v0
+002528: 1a01 0100                              |0098: const-string v1, " n=" // string@0001
+00252c: 6e20 a900 1000                         |009a: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9
+002532: 0c00                                   |009d: move-result-object v0
+002534: 6e20 a700 e000                         |009e: invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+00253a: 0c00                                   |00a1: move-result-object v0
+00253c: 6e10 aa00 0000                         |00a2: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+002542: 0c00                                   |00a5: move-result-object v0
+002544: 5b90 0f00                              |00a6: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+002548: 288e                                   |00a8: goto 0036 // -0072
+00254a: 12d0                                   |00a9: const/4 v0, #int -3 // #fd
+00254c: 330b 3000                              |00aa: if-ne v11, v0, 00da // +0030
+002550: 2200 0500                              |00ac: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0005
+002554: 5491 1300                              |00ae: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
+002558: 7020 0900 1000                         |00b0: invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;.<init>:(Landroid/content/Context;)V // method@0009
+00255e: 1a01 7f00                              |00b3: const-string v1, "Start a new game?" // string@007f
+002562: 6e20 0c00 1000                         |00b5: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c
+002568: 0c00                                   |00b8: move-result-object v0
+00256a: 1201                                   |00b9: const/4 v1, #int 0 // #0
+00256c: 6e20 0a00 1000                         |00ba: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a
+002572: 0c00                                   |00bd: move-result-object v0
+002574: 1a01 9e00                              |00be: const-string v1, "Yes" // string@009e
+002578: 2202 2100                              |00c0: new-instance v2, Lcom/google/android/checkers/b; // type@0021
+00257c: 7020 8f00 9200                         |00c2: invoke-direct {v2, v9}, Lcom/google/android/checkers/b;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@008f
+002582: 6e30 0e00 1002                         |00c5: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e
+002588: 0c00                                   |00c8: move-result-object v0
+00258a: 1a01 7500                              |00c9: const-string v1, "No" // string@0075
+00258e: 2202 2200                              |00cb: new-instance v2, Lcom/google/android/checkers/c; // type@0022
+002592: 7020 9100 9200                         |00cd: invoke-direct {v2, v9}, Lcom/google/android/checkers/c;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0091
+002598: 6e30 0d00 1002                         |00d0: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d
+00259e: 0c00                                   |00d3: move-result-object v0
+0025a0: 6e10 1000 0000                         |00d4: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010
+0025a6: 0160                                   |00d7: move v0, v6
+0025a8: 2900 5fff                              |00d8: goto/16 0037 // -00a1
+0025ac: 331b 5b00                              |00da: if-ne v11, v1, 0135 // +005b
+0025b0: 5290 2300                              |00dc: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0025b4: 3230 0700                              |00de: if-eq v0, v3, 00e5 // +0007
+0025b8: 5290 2300                              |00e0: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0025bc: 1241                                   |00e2: const/4 v1, #int 4 // #4
+0025be: 3310 1100                              |00e3: if-ne v0, v1, 00f4 // +0011
+0025c2: 1210                                   |00e5: const/4 v0, #int 1 // #1
+0025c4: 5990 1200                              |00e6: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
+0025c8: 5490 2200                              |00e8: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+0025cc: 1211                                   |00ea: const/4 v1, #int 1 // #1
+0025ce: 5901 4100                              |00eb: iput v1, v0, Lcom/google/android/checkers/a;.h:I // field@0041
+0025d2: 1a00 3201                              |00ed: const-string v0, "stopping...." // string@0132
+0025d6: 5b90 0f00                              |00ef: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+0025da: 0160                                   |00f1: move v0, v6
+0025dc: 2900 45ff                              |00f2: goto/16 0037 // -00bb
+0025e0: 1200                                   |00f4: const/4 v0, #int 0 // #0
+0025e2: 5990 1200                              |00f5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
+0025e6: 5490 2200                              |00f7: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+0025ea: 6e10 7b00 0000                         |00f9: invoke-virtual {v0}, Lcom/google/android/checkers/a;.a:()V // method@007b
+0025f0: 1210                                   |00fc: const/4 v0, #int 1 // #1
+0025f2: 5990 2300                              |00fd: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0025f6: 5490 2200                              |00ff: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+0025fa: 5200 3d00                              |0101: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+0025fe: 5990 2400                              |0103: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+002602: 5490 2200                              |0105: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002606: 5200 3f00                              |0107: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+00260a: 5990 2500                              |0109: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+00260e: 5490 2200                              |010b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002612: 5200 3e00                              |010d: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+002616: 5990 2600                              |010f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+00261a: 5490 2200                              |0111: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+00261e: 5200 4000                              |0113: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+002622: 5990 2700                              |0115: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+002626: 1200                                   |0117: const/4 v0, #int 0 // #0
+002628: 5990 2800                              |0118: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+00262c: 1200                                   |011a: const/4 v0, #int 0 // #0
+00262e: 5990 2900                              |011b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+002632: 1200                                   |011d: const/4 v0, #int 0 // #0
+002634: 5990 2a00                              |011e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+002638: 1200                                   |0120: const/4 v0, #int 0 // #0
+00263a: 5c90 2b00                              |0121: iput-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+00263e: 1200                                   |0123: const/4 v0, #int 0 // #0
+002640: 5990 0c00                              |0124: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+002644: 1200                                   |0126: const/4 v0, #int 0 // #0
+002646: 5990 0d00                              |0127: iput v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+00264a: 5490 2200                              |0129: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+00264e: 5200 3c00                              |012b: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+002652: 5990 0e00                              |012d: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
+002656: 1200                                   |012f: const/4 v0, #int 0 // #0
+002658: 5b90 0f00                              |0130: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+00265c: 0160                                   |0132: move v0, v6
+00265e: 2900 04ff                              |0133: goto/16 0037 // -00fc
+002662: 12e0                                   |0135: const/4 v0, #int -2 // #fe
+002664: 330b b100                              |0136: if-ne v11, v0, 01e7 // +00b1
+002668: 1200                                   |0138: const/4 v0, #int 0 // #0
+00266a: 5990 2800                              |0139: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+00266e: 1200                                   |013b: const/4 v0, #int 0 // #0
+002670: 5990 2900                              |013c: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+002674: 1200                                   |013e: const/4 v0, #int 0 // #0
+002676: 5990 2a00                              |013f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+00267a: 5290 2300                              |0141: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00267e: 3230 0700                              |0143: if-eq v0, v3, 014a // +0007
+002682: 5290 2300                              |0145: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002686: 1241                                   |0147: const/4 v1, #int 4 // #4
+002688: 3310 1100                              |0148: if-ne v0, v1, 0159 // +0011
+00268c: 1220                                   |014a: const/4 v0, #int 2 // #2
+00268e: 5990 1200                              |014b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
+002692: 5490 2200                              |014d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002696: 1211                                   |014f: const/4 v1, #int 1 // #1
+002698: 5901 4100                              |0150: iput v1, v0, Lcom/google/android/checkers/a;.h:I // field@0041
+00269c: 1a00 3201                              |0152: const-string v0, "stopping...." // string@0132
+0026a0: 5b90 0f00                              |0154: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+0026a4: 0160                                   |0156: move v0, v6
+0026a6: 2900 e0fe                              |0157: goto/16 0037 // -0120
+0026aa: 1200                                   |0159: const/4 v0, #int 0 // #0
+0026ac: 5990 1200                              |015a: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
+0026b0: 5290 2300                              |015c: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0026b4: 3260 7600                              |015e: if-eq v0, v6, 01d4 // +0076
+0026b8: 5290 2300                              |0160: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0026bc: 1251                                   |0162: const/4 v1, #int 5 // #5
+0026be: 3210 7100                              |0163: if-eq v0, v1, 01d4 // +0071
+0026c2: 0175                                   |0165: move v5, v7
+0026c4: 5290 0d00                              |0166: iget v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+0026c8: 3d00 7200                              |0168: if-lez v0, 01da // +0072
+0026cc: 5290 0d00                              |016a: iget v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+0026d0: d800 00ff                              |016c: add-int/lit8 v0, v0, #int -1 // #ff
+0026d4: 5990 0d00                              |016e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+0026d8: 5290 0c00                              |0170: iget v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+0026dc: 3d00 6400                              |0172: if-lez v0, 01d6 // +0064
+0026e0: 5290 0c00                              |0174: iget v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+0026e4: d800 00ff                              |0176: add-int/lit8 v0, v0, #int -1 // #ff
+0026e8: 5990 0c00                              |0178: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+0026ec: 5294 0c00                              |017a: iget v4, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+0026f0: 5490 2200                              |017c: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+0026f4: 5491 0800                              |017e: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
+0026f8: 4401 0104                              |0180: aget v1, v1, v4
+0026fc: 5492 0900                              |0182: iget-object v2, v9, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
+002700: 4402 0204                              |0184: aget v2, v2, v4
+002704: 5493 0a00                              |0186: iget-object v3, v9, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
+002708: 4403 0304                              |0188: aget v3, v3, v4
+00270c: 5498 0b00                              |018a: iget-object v8, v9, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
+002710: 4404 0804                              |018c: aget v4, v8, v4
+002714: 7406 8000 0000                         |018e: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIIZ)V // method@0080
+00271a: 0160                                   |0191: move v0, v6
+00271c: 3800 4e00                              |0192: if-eqz v0, 01e0 // +004e
+002720: 3805 4800                              |0194: if-eqz v5, 01dc // +0048
+002724: 1230                                   |0196: const/4 v0, #int 3 // #3
+002726: 5990 2300                              |0197: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00272a: 5490 2200                              |0199: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+00272e: 5200 3d00                              |019b: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+002732: 5990 2400                              |019d: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+002736: 5490 2200                              |019f: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+00273a: 5200 3f00                              |01a1: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+00273e: 5990 2500                              |01a3: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+002742: 5490 2200                              |01a5: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002746: 5200 3e00                              |01a7: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+00274a: 5990 2600                              |01a9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+00274e: 5490 2200                              |01ab: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002752: 5200 4000                              |01ad: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+002756: 5990 2700                              |01af: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+00275a: 1200                                   |01b1: const/4 v0, #int 0 // #0
+00275c: 5990 2800                              |01b2: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+002760: 1200                                   |01b4: const/4 v0, #int 0 // #0
+002762: 5990 2900                              |01b5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+002766: 1200                                   |01b7: const/4 v0, #int 0 // #0
+002768: 5990 2a00                              |01b8: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+00276c: 5490 2200                              |01ba: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002770: 5591 0300                              |01bc: iget-boolean v1, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+002774: 6e30 7a00 5001                         |01be: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a
+00277a: 0a00                                   |01c1: move-result v0
+00277c: 3360 0300                              |01c2: if-ne v0, v6, 01c5 // +0003
+002780: 0167                                   |01c4: move v7, v6
+002782: 5c97 2b00                              |01c5: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+002786: 5490 2200                              |01c7: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+00278a: 5200 3c00                              |01c9: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+00278e: 5990 0e00                              |01cb: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
+002792: 1a00 3701                              |01cd: const-string v0, "undid half-move" // string@0137
+002796: 5b90 0f00                              |01cf: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+00279a: 0160                                   |01d1: move v0, v6
+00279c: 2900 65fe                              |01d2: goto/16 0037 // -019b
+0027a0: 0165                                   |01d4: move v5, v6
+0027a2: 2891                                   |01d5: goto 0166 // -006f
+0027a4: 1270                                   |01d6: const/4 v0, #int 7 // #7
+0027a6: 5990 0c00                              |01d7: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+0027aa: 28a1                                   |01d9: goto 017a // -005f
+0027ac: 0170                                   |01da: move v0, v7
+0027ae: 28b7                                   |01db: goto 0192 // -0049
+0027b0: 1210                                   |01dc: const/4 v0, #int 1 // #1
+0027b2: 5990 2300                              |01dd: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0027b6: 28ba                                   |01df: goto 0199 // -0046
+0027b8: 1a00 f900                              |01e0: const-string v0, "no more undo" // string@00f9
+0027bc: 5b90 0f00                              |01e2: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+0027c0: 0160                                   |01e4: move v0, v6
+0027c2: 2900 52fe                              |01e5: goto/16 0037 // -01ae
+0027c6: 12c0                                   |01e7: const/4 v0, #int -4 // #fc
+0027c8: 330b 4c00                              |01e8: if-ne v11, v0, 0234 // +004c
+0027cc: 5290 2300                              |01ea: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0027d0: 3360 2300                              |01ec: if-ne v0, v6, 020f // +0023
+0027d4: 1220                                   |01ee: const/4 v0, #int 2 // #2
+0027d6: 5990 2300                              |01ef: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+0027da: 5490 2200                              |01f1: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+0027de: 1201                                   |01f3: const/4 v1, #int 0 // #0
+0027e0: 5592 0300                              |01f4: iget-boolean v2, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+0027e4: 6e30 8700 1002                         |01f6: invoke-virtual {v0, v1, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
+0027ea: 5491 1300                              |01f9: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
+0027ee: 5590 0400                              |01fb: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+0027f2: 3800 0f00                              |01fd: if-eqz v0, 020c // +000f
+0027f6: 1a00 bf00                              |01ff: const-string v0, "computer now plays black" // string@00bf
+0027fa: 1202                                   |0201: const/4 v2, #int 0 // #0
+0027fc: 7130 3c00 0102                         |0202: invoke-static {v1, v0, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c
+002802: 0c00                                   |0205: move-result-object v0
+002804: 6e10 3d00 0000                         |0206: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d
+00280a: 0160                                   |0209: move v0, v6
+00280c: 2900 2dfe                              |020a: goto/16 0037 // -01d3
+002810: 1a00 c000                              |020c: const-string v0, "computer now plays black
+goto options to rotate board" // string@00c0
+002814: 28f3                                   |020e: goto 0201 // -000d
+002816: 5290 2300                              |020f: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00281a: 3320 6f00                              |0211: if-ne v0, v2, 0280 // +006f
+00281e: 1240                                   |0213: const/4 v0, #int 4 // #4
+002820: 5990 2300                              |0214: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002824: 5490 2200                              |0216: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002828: 1211                                   |0218: const/4 v1, #int 1 // #1
+00282a: 5592 0300                              |0219: iget-boolean v2, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+00282e: 6e30 8700 1002                         |021b: invoke-virtual {v0, v1, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
+002834: 5491 1300                              |021e: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
+002838: 5590 0400                              |0220: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+00283c: 3800 0f00                              |0222: if-eqz v0, 0231 // +000f
+002840: 1a00 c200                              |0224: const-string v0, "computer now plays white
+goto options to rotate board" // string@00c2
+002844: 1202                                   |0226: const/4 v2, #int 0 // #0
+002846: 7130 3c00 0102                         |0227: invoke-static {v1, v0, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c
+00284c: 0c00                                   |022a: move-result-object v0
+00284e: 6e10 3d00 0000                         |022b: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d
+002854: 0160                                   |022e: move v0, v6
+002856: 2900 08fe                              |022f: goto/16 0037 // -01f8
+00285a: 1a00 c100                              |0231: const-string v0, "computer now plays white" // string@00c1
+00285e: 28f3                                   |0233: goto 0226 // -000d
+002860: 336b 4c00                              |0234: if-ne v11, v6, 0280 // +004c
+002864: 5290 2300                              |0236: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002868: 3260 0600                              |0238: if-eq v0, v6, 023e // +0006
+00286c: 5290 2300                              |023a: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002870: 3320 4400                              |023c: if-ne v0, v2, 0280 // +0044
+002874: 1200                                   |023e: const/4 v0, #int 0 // #0
+002876: 5990 2900                              |023f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+00287a: 1200                                   |0241: const/4 v0, #int 0 // #0
+00287c: 5990 2a00                              |0242: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+002880: 5490 2200                              |0244: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002884: 5204 3c00                              |0246: iget v4, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+002888: 5490 2200                              |0248: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+00288c: 5405 3b00                              |024a: iget-object v5, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
+002890: 0172                                   |024c: move v2, v7
+002892: 0170                                   |024d: move v0, v7
+002894: 0173                                   |024e: move v3, v7
+002896: 3442 0a00                              |024f: if-lt v2, v4, 0259 // +000a
+00289a: 3363 2500                              |0251: if-ne v3, v6, 0276 // +0025
+00289e: 7020 6200 1900                         |0253: invoke-direct {v9, v1}, Lcom/google/android/checkers/CheckersView;.c:(I)V // method@0062
+0028a4: 0160                                   |0256: move v0, v6
+0028a6: 2900 e0fd                              |0257: goto/16 0037 // -0220
+0028aa: 5297 2800                              |0259: iget v7, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+0028ae: 4408 0502                              |025b: aget v8, v5, v2
+0028b2: b587                                   |025d: and-int/2addr v7, v8
+0028b4: 5298 2800                              |025e: iget v8, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+0028b8: 3387 1300                              |0260: if-ne v7, v8, 0273 // +0013
+0028bc: 4401 0502                              |0262: aget v1, v5, v2
+0028c0: 3201 1f00                              |0264: if-eq v1, v0, 0283 // +001f
+0028c4: d801 0301                              |0266: add-int/lit8 v1, v3, #int 1 // #01
+0028c8: 4400 0502                              |0268: aget v0, v5, v2
+0028cc: 5293 2900                              |026a: iget v3, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+0028d0: 4407 0502                              |026c: aget v7, v5, v2
+0028d4: b673                                   |026e: or-int/2addr v3, v7
+0028d6: 5993 2900                              |026f: iput v3, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+0028da: 0113                                   |0271: move v3, v1
+0028dc: 0121                                   |0272: move v1, v2
+0028de: d802 0201                              |0273: add-int/lit8 v2, v2, #int 1 // #01
+0028e2: 28da                                   |0275: goto 024f // -0026
+0028e4: 5290 2900                              |0276: iget v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+0028e8: 3900 0500                              |0278: if-nez v0, 027d // +0005
+0028ec: 1200                                   |027a: const/4 v0, #int 0 // #0
+0028ee: 5990 2800                              |027b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+0028f2: 0160                                   |027d: move v0, v6
+0028f4: 2900 b9fd                              |027e: goto/16 0037 // -0247
+0028f8: 0170                                   |0280: move v0, v7
+0028fa: 2900 b6fd                              |0281: goto/16 0037 // -024a
+0028fe: 0131                                   |0283: move v1, v3
+002900: 28e4                                   |0284: goto 0268 // -001c
+      catches       : 3
+        0x0008 - 0x0036
+          <any> -> 0x0044
+        0x003f - 0x0043
+          <any> -> 0x0044
+        0x004a - 0x027d
+          <any> -> 0x0044
+      positions     : 
+      locals        : 
+
+    #9              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'b'
+      type          : '(FF)I'
+      access        : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 13
+      ins           : 3
+      outs          : 1
+      insns size    : 102 16-bit code units
+002920:                                        |[002920] com.google.android.checkers.CheckersView.b:(FF)I
+002930: 1309 0800                              |0000: const/16 v9, #int 8 // #8
+002934: 1201                                   |0002: const/4 v1, #int 0 // #0
+002936: 1210                                   |0003: const/4 v0, #int 1 // #1
+002938: 1d0a                                   |0004: monitor-enter v10
+00293a: 6e10 6a00 0a00                         |0005: invoke-virtual {v10}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a
+002940: 0a02                                   |0008: move-result v2
+002942: 6e10 6900 0a00                         |0009: invoke-virtual {v10}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069
+002948: 0a03                                   |000c: move-result v3
+00294a: 3532 1400                              |000d: if-ge v2, v3, 0021 // +0014
+00294e: e207 0203                              |000f: ushr-int/lit8 v7, v2, #int 3 // #03
+002952: 52a2 2300                              |0011: iget v2, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002956: 3202 0700                              |0013: if-eq v2, v0, 001a // +0007
+00295a: 52a2 2300                              |0015: iget v2, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00295e: 1233                                   |0017: const/4 v3, #int 3 // #3
+002960: 3332 0600                              |0018: if-ne v2, v3, 001e // +0006
+002964: 0116                                   |001a: move v6, v1
+002966: 0103                                   |001b: move v3, v0
+002968: 3496 0700                              |001c: if-lt v6, v9, 0023 // +0007
+00296c: 0110                                   |001e: move v0, v1
+00296e: 1e0a                                   |001f: monitor-exit v10
+002970: 0f00                                   |0020: return v0
+002972: 0132                                   |0021: move v2, v3
+002974: 28ed                                   |0022: goto 000f // -0013
+002976: d902 0601                              |0023: rsub-int/lit8 v2, v6, #int 1 // #01
+00297a: dd02 0201                              |0025: and-int/lit8 v2, v2, #int 1 // #01
+00297e: 0124                                   |0027: move v4, v2
+002980: 0135                                   |0028: move v5, v3
+002982: 3494 0700                              |0029: if-lt v4, v9, 0030 // +0007
+002986: d802 0601                              |002b: add-int/lit8 v2, v6, #int 1 // #01
+00298a: 0126                                   |002d: move v6, v2
+00298c: 0153                                   |002e: move v3, v5
+00298e: 28ed                                   |002f: goto 001c // -0013
+002990: 55a2 0400                              |0030: iget-boolean v2, v10, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+002994: 3802 2800                              |0032: if-eqz v2, 005a // +0028
+002998: d902 0407                              |0034: rsub-int/lit8 v2, v4, #int 7 // #07
+00299c: 9203 0702                              |0036: mul-int v3, v7, v2
+0029a0: d902 0607                              |0038: rsub-int/lit8 v2, v6, #int 7 // #07
+0029a4: b272                                   |003a: mul-int/2addr v2, v7
+0029a6: 8238                                   |003b: int-to-float v8, v3
+0029a8: 2e08 080b                              |003c: cmpg-float v8, v8, v11
+0029ac: 3c08 2100                              |003e: if-gtz v8, 005f // +0021
+0029b0: b073                                   |0040: add-int/2addr v3, v7
+0029b2: 8233                                   |0041: int-to-float v3, v3
+0029b4: 2e03 0b03                              |0042: cmpg-float v3, v11, v3
+0029b8: 3b03 1b00                              |0044: if-gez v3, 005f // +001b
+0029bc: 8223                                   |0046: int-to-float v3, v2
+0029be: 2e03 030c                              |0047: cmpg-float v3, v3, v12
+0029c2: 3c03 1600                              |0049: if-gtz v3, 005f // +0016
+0029c6: b072                                   |004b: add-int/2addr v2, v7
+0029c8: 8222                                   |004c: int-to-float v2, v2
+0029ca: 2e02 0c02                              |004d: cmpg-float v2, v12, v2
+0029ce: 3b02 1000                              |004f: if-gez v2, 005f // +0010
+0029d2: 52a1 2800                              |0051: iget v1, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+0029d6: b651                                   |0053: or-int/2addr v1, v5
+0029d8: 59a1 2800                              |0054: iput v1, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+0029dc: 28c9                                   |0056: goto 001f // -0037
+0029de: 0d00                                   |0057: move-exception v0
+0029e0: 1e0a                                   |0058: monitor-exit v10
+0029e2: 2700                                   |0059: throw v0
+0029e4: 9203 0704                              |005a: mul-int v3, v7, v4
+0029e8: 9202 0706                              |005c: mul-int v2, v7, v6
+0029ec: 28dd                                   |005e: goto 003b // -0023
+0029ee: e003 0501                              |005f: shl-int/lit8 v3, v5, #int 1 // #01
+0029f2: d802 0402                              |0061: add-int/lit8 v2, v4, #int 2 // #02
+0029f6: 0124                                   |0063: move v4, v2
+0029f8: 0135                                   |0064: move v5, v3
+0029fa: 28c4                                   |0065: goto 0029 // -003c
+      catches       : 2
+        0x0005 - 0x0017
+          <any> -> 0x0057
+        0x0030 - 0x0056
+          <any> -> 0x0057
+      positions     : 
+      locals        : 
+
+    #10              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'b'
+      type          : '(I)V'
+      access        : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 3
+      ins           : 2
+      outs          : 1
+      insns size    : 18 16-bit code units
+002a10:                                        |[002a10] com.google.android.checkers.CheckersView.b:(I)V
+002a20: 1d01                                   |0000: monitor-enter v1
+002a22: 5210 0700                              |0001: iget v0, v1, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
+002a26: 3220 0a00                              |0003: if-eq v0, v2, 000d // +000a
+002a2a: 5912 0700                              |0005: iput v2, v1, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
+002a2e: 7010 6400 0100                         |0007: invoke-direct {v1}, Lcom/google/android/checkers/CheckersView;.d:()V // method@0064
+002a34: 6e10 6d00 0100                         |000a: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+002a3a: 1e01                                   |000d: monitor-exit v1
+002a3c: 0e00                                   |000e: return-void
+002a3e: 0d00                                   |000f: move-exception v0
+002a40: 1e01                                   |0010: monitor-exit v1
+002a42: 2700                                   |0011: throw v0
+      catches       : 1
+        0x0001 - 0x000d
+          <any> -> 0x000f
+      positions     : 
+      locals        : 
+
+    #11              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'b'
+      type          : '(Landroid/graphics/Canvas;IIII)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 16
+      ins           : 6
+      outs          : 6
+      insns size    : 99 16-bit code units
+002a50:                                        |[002a50] com.google.android.checkers.CheckersView.b:(Landroid/graphics/Canvas;IIII)V
+002a60: df00 0cff                              |0000: xor-int/lit8 v0, v12, #int -1 // #ff
+002a64: b5d0                                   |0002: and-int/2addr v0, v13
+002a66: 3900 5e00                              |0003: if-nez v0, 0061 // +005e
+002a6a: 7110 9f00 0c00                         |0005: invoke-static {v12}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+002a70: 0a02                                   |0008: move-result v2
+002a72: d800 0cff                              |0009: add-int/lit8 v0, v12, #int -1 // #ff
+002a76: b5c0                                   |000b: and-int/2addr v0, v12
+002a78: 7110 9f00 0000                         |000c: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+002a7e: 0a03                                   |000f: move-result v3
+002a80: 07a0                                   |0010: move-object v0, v10
+002a82: 07b1                                   |0011: move-object v1, v11
+002a84: 01e4                                   |0012: move v4, v14
+002a86: 01f5                                   |0013: move v5, v15
+002a88: 7606 5400 0000                         |0014: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054
+002a8e: 0e00                                   |0017: return-void
+002a90: 7110 9f00 0800                         |0018: invoke-static {v8}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+002a96: 0a03                                   |001b: move-result v3
+002a98: e200 0302                              |001c: ushr-int/lit8 v0, v3, #int 2 // #02
+002a9c: dd00 0001                              |001e: and-int/lit8 v0, v0, #int 1 // #01
+002aa0: 3800 3600                              |0020: if-eqz v0, 0056 // +0036
+002aa4: d802 03fb                              |0022: add-int/lit8 v2, v3, #int -5 // #fb
+002aa8: d801 03fc                              |0024: add-int/lit8 v1, v3, #int -4 // #fc
+002aac: d800 0303                              |0026: add-int/lit8 v0, v3, #int 3 // #03
+002ab0: d803 0304                              |0028: add-int/lit8 v3, v3, #int 4 // #04
+002ab4: 0106                                   |002a: move v6, v0
+002ab6: 0117                                   |002b: move v7, v1
+002ab8: 1210                                   |002c: const/4 v0, #int 1 // #1
+002aba: b820                                   |002d: shl-int/2addr v0, v2
+002abc: 1211                                   |002e: const/4 v1, #int 1 // #1
+002abe: b831                                   |002f: shl-int/2addr v1, v3
+002ac0: b610                                   |0030: or-int/2addr v0, v1
+002ac2: 1211                                   |0031: const/4 v1, #int 1 // #1
+002ac4: b871                                   |0032: shl-int/2addr v1, v7
+002ac6: 1214                                   |0033: const/4 v4, #int 1 // #1
+002ac8: b864                                   |0034: shl-int/2addr v4, v6
+002aca: 9609 0104                              |0035: or-int v9, v1, v4
+002ace: 9501 000c                              |0037: and-int v1, v0, v12
+002ad2: 3301 0900                              |0039: if-ne v1, v0, 0042 // +0009
+002ad6: 07a0                                   |003b: move-object v0, v10
+002ad8: 07b1                                   |003c: move-object v1, v11
+002ada: 01e4                                   |003d: move v4, v14
+002adc: 01f5                                   |003e: move v5, v15
+002ade: 7606 5400 0000                         |003f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054
+002ae4: 9500 090c                              |0042: and-int v0, v9, v12
+002ae8: 3390 0b00                              |0044: if-ne v0, v9, 004f // +000b
+002aec: 07a0                                   |0046: move-object v0, v10
+002aee: 07b1                                   |0047: move-object v1, v11
+002af0: 0172                                   |0048: move v2, v7
+002af2: 0163                                   |0049: move v3, v6
+002af4: 01e4                                   |004a: move v4, v14
+002af6: 01f5                                   |004b: move v5, v15
+002af8: 7606 5400 0000                         |004c: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054
+002afe: d800 08ff                              |004f: add-int/lit8 v0, v8, #int -1 // #ff
+002b02: b580                                   |0051: and-int/2addr v0, v8
+002b04: 0108                                   |0052: move v8, v0
+002b06: 3908 c5ff                              |0053: if-nez v8, 0018 // -003b
+002b0a: 28c2                                   |0055: goto 0017 // -003e
+002b0c: d802 03fc                              |0056: add-int/lit8 v2, v3, #int -4 // #fc
+002b10: d801 03fd                              |0058: add-int/lit8 v1, v3, #int -3 // #fd
+002b14: d800 0304                              |005a: add-int/lit8 v0, v3, #int 4 // #04
+002b18: d803 0305                              |005c: add-int/lit8 v3, v3, #int 5 // #05
+002b1c: 0106                                   |005e: move v6, v0
+002b1e: 0117                                   |005f: move v7, v1
+002b20: 28cc                                   |0060: goto 002c // -0034
+002b22: 0108                                   |0061: move v8, v0
+002b24: 28f1                                   |0062: goto 0053 // -000f
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #12              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'c'
+      type          : '(I)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 10
+      ins           : 2
+      outs          : 3
+      insns size    : 262 16-bit code units
+002b28:                                        |[002b28] com.google.android.checkers.CheckersView.c:(I)V
+002b38: 1237                                   |0000: const/4 v7, #int 3 // #3
+002b3a: 1226                                   |0001: const/4 v6, #int 2 // #2
+002b3c: 1212                                   |0002: const/4 v2, #int 1 // #1
+002b3e: 1201                                   |0003: const/4 v1, #int 0 // #0
+002b40: 5280 0c00                              |0004: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+002b44: 5483 0800                              |0006: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
+002b48: 5484 2200                              |0008: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002b4c: 5244 3d00                              |000a: iget v4, v4, Lcom/google/android/checkers/a;.d:I // field@003d
+002b50: 4b04 0300                              |000c: aput v4, v3, v0
+002b54: 5483 0900                              |000e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
+002b58: 5484 2200                              |0010: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002b5c: 5244 3e00                              |0012: iget v4, v4, Lcom/google/android/checkers/a;.e:I // field@003e
+002b60: 4b04 0300                              |0014: aput v4, v3, v0
+002b64: 5483 0a00                              |0016: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
+002b68: 5484 2200                              |0018: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002b6c: 5244 3f00                              |001a: iget v4, v4, Lcom/google/android/checkers/a;.f:I // field@003f
+002b70: 4b04 0300                              |001c: aput v4, v3, v0
+002b74: 5483 0b00                              |001e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
+002b78: 5484 2200                              |0020: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002b7c: 5244 4000                              |0022: iget v4, v4, Lcom/google/android/checkers/a;.g:I // field@0040
+002b80: 4b04 0300                              |0024: aput v4, v3, v0
+002b84: 5280 0c00                              |0026: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+002b88: 1273                                   |0028: const/4 v3, #int 7 // #7
+002b8a: 3530 6e00                              |0029: if-ge v0, v3, 0097 // +006e
+002b8e: 5280 0c00                              |002b: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+002b92: d800 0001                              |002d: add-int/lit8 v0, v0, #int 1 // #01
+002b96: 5980 0c00                              |002f: iput v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+002b9a: 5280 0d00                              |0031: iget v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+002b9e: 1303 0800                              |0033: const/16 v3, #int 8 // #8
+002ba2: 3530 0800                              |0035: if-ge v0, v3, 003d // +0008
+002ba6: 5280 0d00                              |0037: iget v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+002baa: d800 0001                              |0039: add-int/lit8 v0, v0, #int 1 // #01
+002bae: 5980 0d00                              |003b: iput v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+002bb2: 5280 2300                              |003d: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002bb6: 3220 5b00                              |003f: if-eq v0, v2, 009a // +005b
+002bba: 5280 2300                              |0041: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002bbe: 3260 5700                              |0043: if-eq v0, v6, 009a // +0057
+002bc2: 0110                                   |0045: move v0, v1
+002bc4: 5981 2800                              |0046: iput v1, v8, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+002bc8: 5981 2900                              |0048: iput v1, v8, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+002bcc: 5483 2200                              |004a: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002bd0: 5433 3b00                              |004c: iget-object v3, v3, Lcom/google/android/checkers/a;.b:[I // field@003b
+002bd4: 4403 0309                              |004e: aget v3, v3, v9
+002bd8: 5983 2a00                              |0050: iput v3, v8, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+002bdc: 1403 6666 663f                         |0052: const v3, #float 0.900000 // #3f666666
+002be2: 5983 1e00                              |0055: iput v3, v8, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+002be6: 3800 4500                              |0057: if-eqz v0, 009c // +0045
+002bea: 5483 2200                              |0059: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002bee: 5433 3a00                              |005b: iget-object v3, v3, Lcom/google/android/checkers/a;.a:[I // field@003a
+002bf2: 4403 0309                              |005d: aget v3, v3, v9
+002bf6: 5284 2400                              |005f: iget v4, v8, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+002bfa: 5285 2600                              |0061: iget v5, v8, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+002bfe: b654                                   |0063: or-int/2addr v4, v5
+002c00: b543                                   |0064: and-int/2addr v3, v4
+002c02: 5983 1f00                              |0065: iput v3, v8, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
+002c06: 5981 2000                              |0067: iput v1, v8, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
+002c0a: 5483 2200                              |0069: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002c0e: 6e20 7c00 9300                         |006b: invoke-virtual {v3, v9}, Lcom/google/android/checkers/a;.a:(I)V // method@007c
+002c14: 5483 2200                              |006e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002c18: 5233 3d00                              |0070: iget v3, v3, Lcom/google/android/checkers/a;.d:I // field@003d
+002c1c: 5983 2400                              |0072: iput v3, v8, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+002c20: 5483 2200                              |0074: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002c24: 5233 3f00                              |0076: iget v3, v3, Lcom/google/android/checkers/a;.f:I // field@003f
+002c28: 5983 2500                              |0078: iput v3, v8, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+002c2c: 5483 2200                              |007a: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002c30: 5233 3e00                              |007c: iget v3, v3, Lcom/google/android/checkers/a;.e:I // field@003e
+002c34: 5983 2600                              |007e: iput v3, v8, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+002c38: 5483 2200                              |0080: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002c3c: 5233 4000                              |0082: iget v3, v3, Lcom/google/android/checkers/a;.g:I // field@0040
+002c40: 5983 2700                              |0084: iput v3, v8, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+002c44: 5c81 2b00                              |0086: iput-boolean v1, v8, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+002c48: 1203                                   |0088: const/4 v3, #int 0 // #0
+002c4a: 5b83 0f00                              |0089: iput-object v3, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+002c4e: 5483 2200                              |008b: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002c52: 5584 0300                              |008d: iget-boolean v4, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+002c56: 6e30 7a00 0304                         |008f: invoke-virtual {v3, v0, v4}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a
+002c5c: 0a03                                   |0092: move-result v3
+002c5e: 2b03 6900 0000                         |0093: packed-switch v3, 000000fc // +00000069
+002c64: 0e00                                   |0096: return-void
+002c66: 5981 0c00                              |0097: iput v1, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+002c6a: 2898                                   |0099: goto 0031 // -0068
+002c6c: 0120                                   |009a: move v0, v2
+002c6e: 28ab                                   |009b: goto 0046 // -0055
+002c70: 5981 1f00                              |009c: iput v1, v8, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
+002c74: 5483 2200                              |009e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002c78: 5433 3a00                              |00a0: iget-object v3, v3, Lcom/google/android/checkers/a;.a:[I // field@003a
+002c7c: 4403 0309                              |00a2: aget v3, v3, v9
+002c80: 5284 2500                              |00a4: iget v4, v8, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+002c84: 5285 2700                              |00a6: iget v5, v8, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+002c88: b654                                   |00a8: or-int/2addr v4, v5
+002c8a: b543                                   |00a9: and-int/2addr v3, v4
+002c8c: 5983 2000                              |00aa: iput v3, v8, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
+002c90: 28bd                                   |00ac: goto 0069 // -0043
+002c92: 3800 0800                              |00ad: if-eqz v0, 00b5 // +0008
+002c96: 1260                                   |00af: const/4 v0, #int 6 // #6
+002c98: 5980 2300                              |00b0: iput v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002c9c: 5981 0e00                              |00b2: iput v1, v8, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
+002ca0: 28e2                                   |00b4: goto 0096 // -001e
+002ca2: 1250                                   |00b5: const/4 v0, #int 5 // #5
+002ca4: 28fa                                   |00b6: goto 00b0 // -0006
+002ca6: 5c82 2b00                              |00b7: iput-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+002caa: 5481 2200                              |00b9: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002cae: 5211 3c00                              |00bb: iget v1, v1, Lcom/google/android/checkers/a;.c:I // field@003c
+002cb2: 5981 0e00                              |00bd: iput v1, v8, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
+002cb6: 5281 2300                              |00bf: iget v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002cba: 3321 1800                              |00c1: if-ne v1, v2, 00d9 // +0018
+002cbe: 5281 2c00                              |00c3: iget v1, v8, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+002cc2: 3901 0900                              |00c5: if-nez v1, 00ce // +0009
+002cc6: 5987 2300                              |00c7: iput v7, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002cca: 1a00 d200                              |00c9: const-string v0, "free play" // string@00d2
+002cce: 5b80 0f00                              |00cb: iput-object v0, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+002cd2: 28c9                                   |00cd: goto 0096 // -0037
+002cd4: 1241                                   |00ce: const/4 v1, #int 4 // #4
+002cd6: 5981 2300                              |00cf: iput v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002cda: 5481 2200                              |00d1: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002cde: 5582 0300                              |00d3: iget-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+002ce2: 6e30 8700 0102                         |00d5: invoke-virtual {v1, v0, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
+002ce8: 28be                                   |00d8: goto 0096 // -0042
+002cea: 5281 2300                              |00d9: iget v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002cee: 3371 1700                              |00db: if-ne v1, v7, 00f2 // +0017
+002cf2: 5281 2c00                              |00dd: iget v1, v8, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+002cf6: 3901 0900                              |00df: if-nez v1, 00e8 // +0009
+002cfa: 5982 2300                              |00e1: iput v2, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002cfe: 1a00 d200                              |00e3: const-string v0, "free play" // string@00d2
+002d02: 5b80 0f00                              |00e5: iput-object v0, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+002d06: 28af                                   |00e7: goto 0096 // -0051
+002d08: 5986 2300                              |00e8: iput v6, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002d0c: 5481 2200                              |00ea: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+002d10: 5582 0300                              |00ec: iget-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+002d14: 6e30 8700 0102                         |00ee: invoke-virtual {v1, v0, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
+002d1a: 28a5                                   |00f1: goto 0096 // -005b
+002d1c: 5280 2300                              |00f2: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002d20: 3360 0500                              |00f4: if-ne v0, v6, 00f9 // +0005
+002d24: 5987 2300                              |00f6: iput v7, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002d28: 289e                                   |00f8: goto 0096 // -0062
+002d2a: 5982 2300                              |00f9: iput v2, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+002d2e: 289b                                   |00fb: goto 0096 // -0065
+002d30: 0001 0300 0000 0000 1a00 0000 2400 ... |00fc: packed-switch-data (10 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #13              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'd'
+      type          : '()V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 6
+      ins           : 1
+      outs          : 5
+      insns size    : 88 16-bit code units
+002d44:                                        |[002d44] com.google.android.checkers.CheckersView.d:()V
+002d54: 1303 8b00                              |0000: const/16 v3, #int 139 // #8b
+002d58: 1301 cc00                              |0002: const/16 v1, #int 204 // #cc
+002d5c: 1304 ff00                              |0004: const/16 v4, #int 255 // #ff
+002d60: 5250 0700                              |0006: iget v0, v5, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
+002d64: 2b00 4000 0000                         |0008: packed-switch v0, 00000048 // +00000040
+002d6a: 0e00                                   |000b: return-void
+002d6c: 5450 1700                              |000c: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+002d70: 1301 6600                              |000e: const/16 v1, #int 102 // #66
+002d74: 1302 cd00                              |0010: const/16 v2, #int 205 // #cd
+002d78: 1303 aa00                              |0012: const/16 v3, #int 170 // #aa
+002d7c: 6e53 2200 4021                         |0014: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+002d82: 28f4                                   |0017: goto 000b // -000c
+002d84: 5450 1700                              |0018: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+002d88: 1301 4500                              |001a: const/16 v1, #int 69 // #45
+002d8c: 1302 7400                              |001c: const/16 v2, #int 116 // #74
+002d90: 6e52 2200 4031                         |001e: invoke-virtual {v0, v4, v1, v3, v2}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+002d96: 28ea                                   |0021: goto 000b // -0016
+002d98: 5450 1700                              |0022: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+002d9c: 1301 1e00                              |0024: const/16 v1, #int 30 // #1e
+002da0: 1302 9000                              |0026: const/16 v2, #int 144 // #90
+002da4: 6e54 2200 4021                         |0028: invoke-virtual {v0, v4, v1, v2, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+002daa: 28e0                                   |002b: goto 000b // -0020
+002dac: 5450 1700                              |002c: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+002db0: 1301 8e00                              |002e: const/16 v1, #int 142 // #8e
+002db4: 1302 6b00                              |0030: const/16 v2, #int 107 // #6b
+002db8: 1303 2300                              |0032: const/16 v3, #int 35 // #23
+002dbc: 6e53 2200 4021                         |0034: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+002dc2: 28d4                                   |0037: goto 000b // -002c
+002dc4: 5450 1700                              |0038: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+002dc8: 1301 6c00                              |003a: const/16 v1, #int 108 // #6c
+002dcc: 1302 7b00                              |003c: const/16 v2, #int 123 // #7b
+002dd0: 6e53 2200 4021                         |003e: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+002dd6: 28ca                                   |0041: goto 000b // -0036
+002dd8: 5450 1700                              |0042: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+002ddc: 6e51 2200 4011                         |0044: invoke-virtual {v0, v4, v1, v1, v1}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
+002de2: 28c4                                   |0047: goto 000b // -003c
+002de4: 0001 0600 0100 0000 0400 0000 1000 ... |0048: packed-switch-data (16 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #14              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'e'
+      type          : '()Z'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 3
+      ins           : 1
+      outs          : 0
+      insns size    : 10 16-bit code units
+002e04:                                        |[002e04] com.google.android.checkers.CheckersView.e:()Z
+002e14: 5220 2500                              |0000: iget v0, v2, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+002e18: 1501 f0ff                              |0002: const/high16 v1, #int -1048576 // #fff0
+002e1c: 3310 0400                              |0004: if-ne v0, v1, 0008 // +0004
+002e20: 1210                                   |0006: const/4 v0, #int 1 // #1
+002e22: 0f00                                   |0007: return v0
+002e24: 1200                                   |0008: const/4 v0, #int 0 // #0
+002e26: 28fe                                   |0009: goto 0007 // -0002
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '()V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 4
+      ins           : 1
+      outs          : 3
+      insns size    : 64 16-bit code units
+002e28:                                        |[002e28] com.google.android.checkers.CheckersView.a:()V
+002e38: 1270                                   |0000: const/4 v0, #int 7 // #7
+002e3a: 2300 3800                              |0001: new-array v0, v0, [Ljava/lang/CharSequence; // type@0038
+002e3e: 1201                                   |0003: const/4 v1, #int 0 // #0
+002e40: 1a02 9d00                              |0004: const-string v2, "Wood" // string@009d
+002e44: 4d02 0001                              |0006: aput-object v2, v0, v1
+002e48: 1211                                   |0008: const/4 v1, #int 1 // #1
+002e4a: 1a02 6000                              |0009: const-string v2, "Light Aquamarine" // string@0060
+002e4e: 4d02 0001                              |000b: aput-object v2, v0, v1
+002e52: 1221                                   |000d: const/4 v1, #int 2 // #2
+002e54: 1a02 1400                              |000e: const-string v2, "Dark Aquamarine" // string@0014
+002e58: 4d02 0001                              |0010: aput-object v2, v0, v1
+002e5c: 1231                                   |0012: const/4 v1, #int 3 // #3
+002e5e: 1a02 0c00                              |0013: const-string v2, "Blue" // string@000c
+002e62: 4d02 0001                              |0015: aput-object v2, v0, v1
+002e66: 1241                                   |0017: const/4 v1, #int 4 // #4
+002e68: 1a02 0e00                              |0018: const-string v2, "Brown" // string@000e
+002e6c: 4d02 0001                              |001a: aput-object v2, v0, v1
+002e70: 1251                                   |001c: const/4 v1, #int 5 // #5
+002e72: 1a02 1a00                              |001d: const-string v2, "Grey" // string@001a
+002e76: 4d02 0001                              |001f: aput-object v2, v0, v1
+002e7a: 1261                                   |0021: const/4 v1, #int 6 // #6
+002e7c: 1a02 6100                              |0022: const-string v2, "Light Grey" // string@0061
+002e80: 4d02 0001                              |0024: aput-object v2, v0, v1
+002e84: 2201 0500                              |0026: new-instance v1, Landroid/app/AlertDialog$Builder; // type@0005
+002e88: 5432 1300                              |0028: iget-object v2, v3, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
+002e8c: 7020 0900 2100                         |002a: invoke-direct {v1, v2}, Landroid/app/AlertDialog$Builder;.<init>:(Landroid/content/Context;)V // method@0009
+002e92: 1a02 0d00                              |002d: const-string v2, "Board Color" // string@000d
+002e96: 6e20 0f00 2100                         |002f: invoke-virtual {v1, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000f
+002e9c: 0c01                                   |0032: move-result-object v1
+002e9e: 2202 2500                              |0033: new-instance v2, Lcom/google/android/checkers/f; // type@0025
+002ea2: 7020 9700 3200                         |0035: invoke-direct {v2, v3}, Lcom/google/android/checkers/f;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0097
+002ea8: 6e30 0b00 0102                         |0038: invoke-virtual {v1, v0, v2}, Landroid/app/AlertDialog$Builder;.setItems:([Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000b
+002eae: 0c00                                   |003b: move-result-object v0
+002eb0: 6e10 1000 0000                         |003c: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010
+002eb6: 0e00                                   |003f: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #1              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(FF)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 10
+      ins           : 3
+      outs          : 1
+      insns size    : 113 16-bit code units
+002eb8:                                        |[002eb8] com.google.android.checkers.CheckersView.a:(FF)V
+002ec8: 1206                                   |0000: const/4 v6, #int 0 // #0
+002eca: 6e10 6a00 0700                         |0001: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a
+002ed0: 0a01                                   |0004: move-result v1
+002ed2: 6e10 6900 0700                         |0005: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069
+002ed8: 0a02                                   |0008: move-result v2
+002eda: 3521 4900                              |0009: if-ge v1, v2, 0052 // +0049
+002ede: 0110                                   |000b: move v0, v1
+002ee0: e200 0003                              |000c: ushr-int/lit8 v0, v0, #int 3 // #03
+002ee4: e003 0003                              |000e: shl-int/lit8 v3, v0, #int 3 // #03
+002ee8: 5274 1000                              |0010: iget v4, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+002eec: 2e04 0604                              |0012: cmpg-float v4, v6, v4
+002ef0: 3c04 1600                              |0014: if-gtz v4, 002a // +0016
+002ef4: 5274 1000                              |0016: iget v4, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+002ef8: 8235                                   |0018: int-to-float v5, v3
+002efa: 2e04 0405                              |0019: cmpg-float v4, v4, v5
+002efe: 3b04 0f00                              |001b: if-gez v4, 002a // +000f
+002f02: 5274 1100                              |001d: iget v4, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+002f06: 2e04 0604                              |001f: cmpg-float v4, v6, v4
+002f0a: 3c04 0900                              |0021: if-gtz v4, 002a // +0009
+002f0e: 5274 1100                              |0023: iget v4, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+002f12: 8233                                   |0025: int-to-float v3, v3
+002f14: 2e03 0403                              |0026: cmpg-float v3, v4, v3
+002f18: 3a03 0400                              |0028: if-ltz v3, 002c // +0004
+002f1c: 1300 1000                              |002a: const/16 v0, #int 16 // #10
+002f20: 1d07                                   |002c: monitor-enter v7
+002f22: 5273 1000                              |002d: iget v3, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+002f26: 8204                                   |002f: int-to-float v4, v0
+002f28: c884                                   |0030: mul-float/2addr v4, v8
+002f2a: c643                                   |0031: add-float/2addr v3, v4
+002f2c: 5973 1000                              |0032: iput v3, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+002f30: 5273 1100                              |0034: iget v3, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+002f34: 8200                                   |0036: int-to-float v0, v0
+002f36: c890                                   |0037: mul-float/2addr v0, v9
+002f38: c630                                   |0038: add-float/2addr v0, v3
+002f3a: 5970 1100                              |0039: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+002f3e: 5270 1000                              |003b: iget v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+002f42: 2e00 0006                              |003d: cmpg-float v0, v0, v6
+002f46: 3b00 1500                              |003f: if-gez v0, 0054 // +0015
+002f4a: 1200                                   |0041: const/4 v0, #int 0 // #0
+002f4c: 5970 1000                              |0042: iput v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+002f50: 5270 1100                              |0044: iget v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+002f54: 2e00 0006                              |0046: cmpg-float v0, v0, v6
+002f58: 3b00 1c00                              |0048: if-gez v0, 0064 // +001c
+002f5c: 1200                                   |004a: const/4 v0, #int 0 // #0
+002f5e: 5970 1100                              |004b: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+002f62: 1e07                                   |004d: monitor-exit v7
+002f64: 6e10 6d00 0700                         |004e: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+002f6a: 0e00                                   |0051: return-void
+002f6c: 0120                                   |0052: move v0, v2
+002f6e: 28b9                                   |0053: goto 000c // -0047
+002f70: 5270 1000                              |0054: iget v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+002f74: 8213                                   |0056: int-to-float v3, v1
+002f76: 2d00 0003                              |0057: cmpl-float v0, v0, v3
+002f7a: 3a00 ebff                              |0059: if-ltz v0, 0044 // -0015
+002f7e: d800 01ff                              |005b: add-int/lit8 v0, v1, #int -1 // #ff
+002f82: 8200                                   |005d: int-to-float v0, v0
+002f84: 5970 1000                              |005e: iput v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+002f88: 28e4                                   |0060: goto 0044 // -001c
+002f8a: 0d00                                   |0061: move-exception v0
+002f8c: 1e07                                   |0062: monitor-exit v7
+002f8e: 2700                                   |0063: throw v0
+002f90: 5270 1100                              |0064: iget v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+002f94: 8221                                   |0066: int-to-float v1, v2
+002f96: 2d00 0001                              |0067: cmpl-float v0, v0, v1
+002f9a: 3a00 e4ff                              |0069: if-ltz v0, 004d // -001c
+002f9e: d800 02ff                              |006b: add-int/lit8 v0, v2, #int -1 // #ff
+002fa2: 8200                                   |006d: int-to-float v0, v0
+002fa4: 5970 1100                              |006e: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+002fa8: 28dd                                   |0070: goto 004d // -0023
+      catches       : 3
+        0x002d - 0x004e
+          <any> -> 0x0061
+        0x0054 - 0x0060
+          <any> -> 0x0061
+        0x0064 - 0x0070
+          <any> -> 0x0061
+      positions     : 
+      locals        : 
+
+    #2              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(IIII)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 11
+      ins           : 5
+      outs          : 6
+      insns size    : 16 16-bit code units
+002fc8:                                        |[002fc8] com.google.android.checkers.CheckersView.a:(IIII)V
+002fd8: 1211                                   |0000: const/4 v1, #int 1 // #1
+002fda: 0760                                   |0001: move-object v0, v6
+002fdc: 0172                                   |0002: move v2, v7
+002fde: 0183                                   |0003: move v3, v8
+002fe0: 0194                                   |0004: move v4, v9
+002fe2: 01a5                                   |0005: move v5, v10
+002fe4: 7606 5b00 0000                         |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
+002fea: 0a00                                   |0009: move-result v0
+002fec: 3800 0500                              |000a: if-eqz v0, 000f // +0005
+002ff0: 6e10 6d00 0600                         |000c: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+002ff6: 0e00                                   |000f: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #3              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Landroid/content/SharedPreferences$Editor;)V'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 4
+      ins           : 2
+      outs          : 3
+      insns size    : 170 16-bit code units
+002ff8:                                        |[002ff8] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences$Editor;)V
+003008: 1d02                                   |0000: monitor-enter v2
+00300a: 7210 1300 0300                         |0001: invoke-interface {v3}, Landroid/content/SharedPreferences$Editor;.clear:()Landroid/content/SharedPreferences$Editor; // method@0013
+003010: 1a00 d000                              |0004: const-string v0, "format" // string@00d0
+003014: 1301 2200                              |0006: const/16 v1, #int 34 // #22
+003018: 7230 1600 0301                         |0008: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+00301e: 1a00 3101                              |000b: const-string v0, "state" // string@0131
+003022: 5221 2300                              |000d: iget v1, v2, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+003026: 7230 1600 0301                         |000f: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+00302c: 1a00 3f01                              |0012: const-string v0, "wp" // string@013f
+003030: 5221 2400                              |0014: iget v1, v2, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+003034: 7230 1600 0301                         |0016: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+00303a: 1a00 b400                              |0019: const-string v0, "bp" // string@00b4
+00303e: 5221 2500                              |001b: iget v1, v2, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+003042: 7230 1600 0301                         |001d: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+003048: 1a00 3e01                              |0020: const-string v0, "wk" // string@013e
+00304c: 5221 2600                              |0022: iget v1, v2, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+003050: 7230 1600 0301                         |0024: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+003056: 1a00 b300                              |0027: const-string v0, "bk" // string@00b3
+00305a: 5221 2700                              |0029: iget v1, v2, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+00305e: 7230 1600 0301                         |002b: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+003064: 1a00 e800                              |002e: const-string v0, "l1" // string@00e8
+003068: 5221 2800                              |0030: iget v1, v2, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+00306c: 7230 1600 0301                         |0032: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+003072: 1a00 e900                              |0035: const-string v0, "l2" // string@00e9
+003076: 5221 2900                              |0037: iget v1, v2, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+00307a: 7230 1600 0301                         |0039: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+003080: 1a00 ef00                              |003c: const-string v0, "lm" // string@00ef
+003084: 5221 2a00                              |003e: iget v1, v2, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+003088: 7230 1600 0301                         |0040: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+00308e: 1a00 b800                              |0043: const-string v0, "cap" // string@00b8
+003092: 5521 2b00                              |0045: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+003096: 7230 1500 0301                         |0047: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
+00309c: 1a00 ee00                              |004a: const-string v0, "level" // string@00ee
+0030a0: 5221 2c00                              |004c: iget v1, v2, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+0030a4: 7230 1600 0301                         |004e: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+0030aa: 1a00 2d01                              |0051: const-string v0, "show" // string@012d
+0030ae: 5521 0200                              |0053: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
+0030b2: 7230 1500 0301                         |0055: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
+0030b8: 1a00 d100                              |0058: const-string v0, "free" // string@00d1
+0030bc: 5521 0300                              |005a: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+0030c0: 7230 1500 0301                         |005c: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
+0030c6: 1a00 1801                              |005f: const-string v0, "rot" // string@0118
+0030ca: 5521 0400                              |0061: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+0030ce: 7230 1500 0301                         |0063: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
+0030d4: 1a00 d300                              |0066: const-string v0, "full" // string@00d3
+0030d8: 5521 0500                              |0068: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
+0030dc: 7230 1500 0301                         |006a: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
+0030e2: 1a00 2f01                              |006d: const-string v0, "start" // string@012f
+0030e6: 5521 0600                              |006f: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
+0030ea: 7230 1500 0301                         |0071: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
+0030f0: 1a00 bd00                              |0074: const-string v0, "color" // string@00bd
+0030f4: 5221 0700                              |0076: iget v1, v2, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
+0030f8: 7230 1600 0301                         |0078: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+0030fe: 1a00 f300                              |007b: const-string v0, "lwp" // string@00f3
+003102: 5421 0800                              |007d: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
+003106: 7130 5200 0301                         |007f: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052
+00310c: 1a00 f200                              |0082: const-string v0, "lwk" // string@00f2
+003110: 5421 0900                              |0084: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
+003114: 7130 5200 0301                         |0086: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052
+00311a: 1a00 eb00                              |0089: const-string v0, "lbp" // string@00eb
+00311e: 5421 0a00                              |008b: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
+003122: 7130 5200 0301                         |008d: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052
+003128: 1a00 ea00                              |0090: const-string v0, "lbk" // string@00ea
+00312c: 5421 0b00                              |0092: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
+003130: 7130 5200 0301                         |0094: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052
+003136: 1a00 f100                              |0097: const-string v0, "lp" // string@00f1
+00313a: 5221 0c00                              |0099: iget v1, v2, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
+00313e: 7230 1600 0301                         |009b: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+003144: 1a00 ec00                              |009e: const-string v0, "lc" // string@00ec
+003148: 5221 0d00                              |00a0: iget v1, v2, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
+00314c: 7230 1600 0301                         |00a2: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
+003152: 1e02                                   |00a5: monitor-exit v2
+003154: 0e00                                   |00a6: return-void
+003156: 0d00                                   |00a7: move-exception v0
+003158: 1e02                                   |00a8: monitor-exit v2
+00315a: 2700                                   |00a9: throw v0
+      catches       : 1
+        0x0001 - 0x00a5
+          <any> -> 0x00a7
+      positions     : 
+      locals        : 
+
+    #4              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(I)Z'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 8
+      ins           : 2
+      outs          : 6
+      insns size    : 17 16-bit code units
+003168:                                        |[003168] com.google.android.checkers.CheckersView.a:(I)Z
+003178: 1201                                   |0000: const/4 v1, #int 0 // #0
+00317a: 0760                                   |0001: move-object v0, v6
+00317c: 0172                                   |0002: move v2, v7
+00317e: 0113                                   |0003: move v3, v1
+003180: 0114                                   |0004: move v4, v1
+003182: 0115                                   |0005: move v5, v1
+003184: 7606 5b00 0000                         |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
+00318a: 0a00                                   |0009: move-result v0
+00318c: 3800 0600                              |000a: if-eqz v0, 0010 // +0006
+003190: 6e10 6d00 0600                         |000c: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+003196: 1211                                   |000f: const/4 v1, #int 1 // #1
+003198: 0f01                                   |0010: return v1
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #5              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'a'
+      type          : '(Z)Z'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 3
+      ins           : 2
+      outs          : 1
+      insns size    : 22 16-bit code units
+00319c:                                        |[00319c] com.google.android.checkers.CheckersView.a:(Z)Z
+0031ac: 1d01                                   |0000: monitor-enter v1
+0031ae: 3802 0c00                              |0001: if-eqz v2, 000d // +000c
+0031b2: 5510 0200                              |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
+0031b6: 3800 0c00                              |0005: if-eqz v0, 0011 // +000c
+0031ba: 1200                                   |0007: const/4 v0, #int 0 // #0
+0031bc: 5c10 0200                              |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
+0031c0: 6e10 6d00 0100                         |000a: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+0031c6: 5510 0200                              |000d: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
+0031ca: 1e01                                   |000f: monitor-exit v1
+0031cc: 0f00                                   |0010: return v0
+0031ce: 1210                                   |0011: const/4 v0, #int 1 // #1
+0031d0: 28f6                                   |0012: goto 0008 // -000a
+0031d2: 0d00                                   |0013: move-exception v0
+0031d4: 1e01                                   |0014: monitor-exit v1
+0031d6: 2700                                   |0015: throw v0
+      catches       : 1
+        0x0003 - 0x000f
+          <any> -> 0x0013
+      positions     : 
+      locals        : 
+
+    #6              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'b'
+      type          : '()V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 7
+      ins           : 1
+      outs          : 6
+      insns size    : 30 16-bit code units
+0031e4:                                        |[0031e4] com.google.android.checkers.CheckersView.b:()V
+0031f4: 1201                                   |0000: const/4 v1, #int 0 // #0
+0031f6: 1d06                                   |0001: monitor-enter v6
+0031f8: 5260 1000                              |0002: iget v0, v6, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+0031fc: 5262 1100                              |0004: iget v2, v6, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+003200: 7030 5c00 0602                         |0006: invoke-direct {v6, v0, v2}, Lcom/google/android/checkers/CheckersView;.b:(FF)I // method@005c
+003206: 0a02                                   |0009: move-result v2
+003208: 1e06                                   |000a: monitor-exit v6
+00320a: 3802 0f00                              |000b: if-eqz v2, 001a // +000f
+00320e: 0760                                   |000d: move-object v0, v6
+003210: 0113                                   |000e: move v3, v1
+003212: 0114                                   |000f: move v4, v1
+003214: 0115                                   |0010: move v5, v1
+003216: 7606 5b00 0000                         |0011: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
+00321c: 0a00                                   |0014: move-result v0
+00321e: 3800 0500                              |0015: if-eqz v0, 001a // +0005
+003222: 6e10 6d00 0600                         |0017: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+003228: 0e00                                   |001a: return-void
+00322a: 0d00                                   |001b: move-exception v0
+00322c: 1e06                                   |001c: monitor-exit v6
+00322e: 2700                                   |001d: throw v0
+      catches       : 1
+        0x0002 - 0x000b
+          <any> -> 0x001b
+      positions     : 
+      locals        : 
+
+    #7              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'b'
+      type          : '(Z)Z'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 7
+      ins           : 2
+      outs          : 3
+      insns size    : 69 16-bit code units
+00323c:                                        |[00323c] com.google.android.checkers.CheckersView.b:(Z)Z
+00324c: 1233                                   |0000: const/4 v3, #int 3 // #3
+00324e: 1210                                   |0001: const/4 v0, #int 1 // #1
+003250: 1201                                   |0002: const/4 v1, #int 0 // #0
+003252: 1d05                                   |0003: monitor-enter v5
+003254: 3806 3400                              |0004: if-eqz v6, 0038 // +0034
+003258: 5552 0300                              |0006: iget-boolean v2, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+00325c: 3802 3400                              |0008: if-eqz v2, 003c // +0034
+003260: 0112                                   |000a: move v2, v1
+003262: 5c52 0300                              |000b: iput-boolean v2, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+003266: 5252 2300                              |000d: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00326a: 3232 0600                              |000f: if-eq v2, v3, 0015 // +0006
+00326e: 5252 2300                              |0011: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+003272: 3302 2500                              |0013: if-ne v2, v0, 0038 // +0025
+003276: 5252 2300                              |0015: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00327a: 3332 2700                              |0017: if-ne v2, v3, 003e // +0027
+00327e: 0102                                   |0019: move v2, v0
+003280: 1203                                   |001a: const/4 v3, #int 0 // #0
+003282: 5953 2800                              |001b: iput v3, v5, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+003286: 1203                                   |001d: const/4 v3, #int 0 // #0
+003288: 5953 2900                              |001e: iput v3, v5, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+00328c: 1203                                   |0020: const/4 v3, #int 0 // #0
+00328e: 5953 2a00                              |0021: iput v3, v5, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+003292: 5453 2200                              |0023: iget-object v3, v5, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+003296: 5554 0300                              |0025: iget-boolean v4, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+00329a: 6e30 7a00 2304                         |0027: invoke-virtual {v3, v2, v4}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a
+0032a0: 0a02                                   |002a: move-result v2
+0032a2: 3302 1500                              |002b: if-ne v2, v0, 0040 // +0015
+0032a6: 5c50 2b00                              |002d: iput-boolean v0, v5, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+0032aa: 5450 2200                              |002f: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+0032ae: 5200 3c00                              |0031: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+0032b2: 5950 0e00                              |0033: iput v0, v5, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
+0032b6: 6e10 6d00 0500                         |0035: invoke-virtual {v5}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+0032bc: 5550 0300                              |0038: iget-boolean v0, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
+0032c0: 1e05                                   |003a: monitor-exit v5
+0032c2: 0f00                                   |003b: return v0
+0032c4: 0102                                   |003c: move v2, v0
+0032c6: 28ce                                   |003d: goto 000b // -0032
+0032c8: 0112                                   |003e: move v2, v1
+0032ca: 28db                                   |003f: goto 001a // -0025
+0032cc: 0110                                   |0040: move v0, v1
+0032ce: 28ec                                   |0041: goto 002d // -0014
+0032d0: 0d00                                   |0042: move-exception v0
+0032d2: 1e05                                   |0043: monitor-exit v5
+0032d4: 2700                                   |0044: throw v0
+      catches       : 1
+        0x0006 - 0x003a
+          <any> -> 0x0042
+      positions     : 
+      locals        : 
+
+    #8              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'c'
+      type          : '()I'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 2
+      ins           : 1
+      outs          : 0
+      insns size    : 8 16-bit code units
+0032e4:                                        |[0032e4] com.google.android.checkers.CheckersView.c:()I
+0032f4: 1d01                                   |0000: monitor-enter v1
+0032f6: 5210 2c00                              |0001: iget v0, v1, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+0032fa: 1e01                                   |0003: monitor-exit v1
+0032fc: 0f00                                   |0004: return v0
+0032fe: 0d00                                   |0005: move-exception v0
+003300: 1e01                                   |0006: monitor-exit v1
+003302: 2700                                   |0007: throw v0
+      catches       : 1
+        0x0001 - 0x0003
+          <any> -> 0x0005
+      positions     : 
+      locals        : 
+
+    #9              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'c'
+      type          : '(Z)Z'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 5
+      ins           : 2
+      outs          : 3
+      insns size    : 34 16-bit code units
+003310:                                        |[003310] com.google.android.checkers.CheckersView.c:(Z)Z
+003320: 1200                                   |0000: const/4 v0, #int 0 // #0
+003322: 1d03                                   |0001: monitor-enter v3
+003324: 3804 1700                              |0002: if-eqz v4, 0019 // +0017
+003328: 5531 0400                              |0004: iget-boolean v1, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+00332c: 3801 1700                              |0006: if-eqz v1, 001d // +0017
+003330: 5c30 0400                              |0008: iput-boolean v0, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+003334: 5430 1300                              |000a: iget-object v0, v3, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
+003338: 1a01 1901                              |000c: const-string v1, "rotated board" // string@0119
+00333c: 1202                                   |000e: const/4 v2, #int 0 // #0
+00333e: 7130 3c00 1002                         |000f: invoke-static {v0, v1, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c
+003344: 0c00                                   |0012: move-result-object v0
+003346: 6e10 3d00 0000                         |0013: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d
+00334c: 6e10 6d00 0300                         |0016: invoke-virtual {v3}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+003352: 5530 0400                              |0019: iget-boolean v0, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+003356: 1e03                                   |001b: monitor-exit v3
+003358: 0f00                                   |001c: return v0
+00335a: 1210                                   |001d: const/4 v0, #int 1 // #1
+00335c: 28ea                                   |001e: goto 0008 // -0016
+00335e: 0d00                                   |001f: move-exception v0
+003360: 1e03                                   |0020: monitor-exit v3
+003362: 2700                                   |0021: throw v0
+      catches       : 1
+        0x0004 - 0x001b
+          <any> -> 0x001f
+      positions     : 
+      locals        : 
+
+    #10              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'd'
+      type          : '(Z)Z'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 3
+      ins           : 2
+      outs          : 0
+      insns size    : 19 16-bit code units
+003370:                                        |[003370] com.google.android.checkers.CheckersView.d:(Z)Z
+003380: 1d01                                   |0000: monitor-enter v1
+003382: 3802 0900                              |0001: if-eqz v2, 000a // +0009
+003386: 5510 0500                              |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
+00338a: 3800 0900                              |0005: if-eqz v0, 000e // +0009
+00338e: 1200                                   |0007: const/4 v0, #int 0 // #0
+003390: 5c10 0500                              |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
+003394: 5510 0500                              |000a: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
+003398: 1e01                                   |000c: monitor-exit v1
+00339a: 0f00                                   |000d: return v0
+00339c: 1210                                   |000e: const/4 v0, #int 1 // #1
+00339e: 28f9                                   |000f: goto 0008 // -0007
+0033a0: 0d00                                   |0010: move-exception v0
+0033a2: 1e01                                   |0011: monitor-exit v1
+0033a4: 2700                                   |0012: throw v0
+      catches       : 1
+        0x0003 - 0x000c
+          <any> -> 0x0010
+      positions     : 
+      locals        : 
+
+    #11              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'draw'
+      type          : '(Landroid/graphics/Canvas;)V'
+      access        : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 30
+      ins           : 2
+      outs          : 8
+      insns size    : 1264 16-bit code units
+0033b4:                                        |[0033b4] com.google.android.checkers.CheckersView.draw:(Landroid/graphics/Canvas;)V
+0033c4: 1d1c                                   |0000: monitor-enter v28
+0033c6: 7502 3800 1c00                         |0001: invoke-super/range {v28, v29}, Landroid/view/View;.draw:(Landroid/graphics/Canvas;)V // method@0038
+0033cc: 7401 6a00 1c00                         |0004: invoke-virtual/range {v28}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a
+0033d2: 0a03                                   |0007: move-result v3
+0033d4: 7401 6900 1c00                         |0008: invoke-virtual/range {v28}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069
+0033da: 0a04                                   |000b: move-result v4
+0033dc: 3543 bc01                              |000c: if-ge v3, v4, 01c8 // +01bc
+0033e0: 0132                                   |000e: move v2, v3
+0033e2: e216 0203                              |000f: ushr-int/lit8 v22, v2, #int 3 // #03
+0033e6: e017 1603                              |0011: shl-int/lit8 v23, v22, #int 3 // #03
+0033ea: e218 1601                              |0013: ushr-int/lit8 v24, v22, #int 1 // #01
+0033ee: 0800 1c00                              |0015: move-object/from16 v0, v28
+0033f2: 5200 1d00                              |0017: iget v0, v0, Lcom/google/android/checkers/CheckersView;.k:I // field@001d
+0033f6: 0214 0000                              |0019: move/from16 v20, v0
+0033fa: db19 1403                              |001b: div-int/lit8 v25, v20, #int 3 // #03
+0033fe: 3543 ae01                              |001d: if-ge v3, v4, 01cb // +01ae
+003402: 1224                                   |001f: const/4 v4, #int 2 // #2
+003404: da02 140b                              |0020: mul-int/lit8 v2, v20, #int 11 // #0b
+003408: 9103 1702                              |0022: sub-int v3, v23, v2
+00340c: 9002 1714                              |0024: add-int v2, v23, v20
+003410: 0211 0200                              |0026: move/from16 v17, v2
+003414: 0212 0300                              |0028: move/from16 v18, v3
+003418: 0213 0200                              |002a: move/from16 v19, v2
+00341c: 0215 0400                              |002c: move/from16 v21, v4
+003420: 0800 1c00                              |002e: move-object/from16 v0, v28
+003424: 5402 1400                              |0030: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+003428: 0800 1d00                              |0032: move-object/from16 v0, v29
+00342c: 6e20 1e00 2000                         |0034: invoke-virtual {v0, v2}, Landroid/graphics/Canvas;.drawPaint:(Landroid/graphics/Paint;)V // method@001e
+003432: 0800 1c00                              |0037: move-object/from16 v0, v28
+003436: 5202 0700                              |0039: iget v2, v0, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
+00343a: 3902 a201                              |003b: if-nez v2, 01dd // +01a2
+00343e: 0800 1c00                              |003d: move-object/from16 v0, v28
+003442: 5407 1600                              |003f: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016
+003446: 0800 1c00                              |0041: move-object/from16 v0, v28
+00344a: 5402 2100                              |0043: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021
+00344e: 1203                                   |0045: const/4 v3, #int 0 // #0
+003450: 1204                                   |0046: const/4 v4, #int 0 // #0
+003452: 0200 1700                              |0047: move/from16 v0, v23
+003456: 0201 1700                              |0049: move/from16 v1, v23
+00345a: 6e51 2800 3204                         |004b: invoke-virtual {v2, v3, v4, v0, v1}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0028
+003460: 0800 1c00                              |004e: move-object/from16 v0, v28
+003464: 5402 2100                              |0050: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021
+003468: 0800 1d00                              |0052: move-object/from16 v0, v29
+00346c: 6e20 2700 0200                         |0054: invoke-virtual {v2, v0}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@0027
+003472: 1202                                   |0057: const/4 v2, #int 0 // #0
+003474: 0129                                   |0058: move v9, v2
+003476: 1302 0800                              |0059: const/16 v2, #int 8 // #8
+00347a: 3429 9a01                              |005b: if-lt v9, v2, 01f5 // +019a
+00347e: 120d                                   |005d: const/4 v13, #int 0 // #0
+003480: 120c                                   |005e: const/4 v12, #int 0 // #0
+003482: 120b                                   |005f: const/4 v11, #int 0 // #0
+003484: 120a                                   |0060: const/4 v10, #int 0 // #0
+003486: 1213                                   |0061: const/4 v3, #int 1 // #1
+003488: 1202                                   |0062: const/4 v2, #int 0 // #0
+00348a: 0210 0200                              |0063: move/from16 v16, v2
+00348e: 1302 0800                              |0065: const/16 v2, #int 8 // #8
+003492: 0200 1000                              |0067: move/from16 v0, v16
+003496: 3420 ad01                              |0069: if-lt v0, v2, 0216 // +01ad
+00349a: 7601 6700 1c00                         |006b: invoke-direct/range {v28}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067
+0034a0: 0a02                                   |006e: move-result v2
+0034a2: 3802 4d03                              |006f: if-eqz v2, 03bc // +034d
+0034a6: 1a02 1100                              |0071: const-string v2, "Checkers for Android" // string@0011
+0034aa: 0200 1500                              |0073: move/from16 v0, v21
+0034ae: 8203                                   |0075: int-to-float v3, v0
+0034b0: 0200 1300                              |0076: move/from16 v0, v19
+0034b4: 8204                                   |0078: int-to-float v4, v0
+0034b6: 0800 1c00                              |0079: move-object/from16 v0, v28
+0034ba: 5405 1500                              |007b: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+0034be: 0800 1d00                              |007d: move-object/from16 v0, v29
+0034c2: 6e55 2000 2043                         |007f: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+0034c8: 1a02 b500                              |0082: const-string v2, "by Aart J.C. Bik" // string@00b5
+0034cc: 0200 1500                              |0084: move/from16 v0, v21
+0034d0: 8203                                   |0086: int-to-float v3, v0
+0034d2: 9004 1314                              |0087: add-int v4, v19, v20
+0034d6: 8244                                   |0089: int-to-float v4, v4
+0034d8: 0800 1c00                              |008a: move-object/from16 v0, v28
+0034dc: 5405 1500                              |008c: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+0034e0: 0800 1d00                              |008e: move-object/from16 v0, v29
+0034e4: 6e55 2000 2043                         |0090: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+0034ea: 6302 6a00                              |0093: sget-boolean v2, Lcom/google/android/checkers/g;.r:Z // field@006a
+0034ee: 3902 1500                              |0095: if-nez v2, 00aa // +0015
+0034f2: 1a02 f800                              |0097: const-string v2, "no endgame TBs" // string@00f8
+0034f6: 0200 1500                              |0099: move/from16 v0, v21
+0034fa: 8203                                   |009b: int-to-float v3, v0
+0034fc: da04 1402                              |009c: mul-int/lit8 v4, v20, #int 2 // #02
+003500: 9004 0413                              |009e: add-int v4, v4, v19
+003504: 8244                                   |00a0: int-to-float v4, v4
+003506: 0800 1c00                              |00a1: move-object/from16 v0, v28
+00350a: 5405 1500                              |00a3: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+00350e: 0800 1d00                              |00a5: move-object/from16 v0, v29
+003512: 6e55 2000 2043                         |00a7: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003518: 0800 1c00                              |00aa: move-object/from16 v0, v28
+00351c: 5502 2b00                              |00ac: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
+003520: 3802 1300                              |00ae: if-eqz v2, 00c1 // +0013
+003524: 1a02 7000                              |00b0: const-string v2, "MUST CAPTURE" // string@0070
+003528: 0200 1200                              |00b2: move/from16 v0, v18
+00352c: 8203                                   |00b4: int-to-float v3, v0
+00352e: 0200 1100                              |00b5: move/from16 v0, v17
+003532: 8204                                   |00b7: int-to-float v4, v0
+003534: 0800 1c00                              |00b8: move-object/from16 v0, v28
+003538: 5405 1800                              |00ba: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
+00353c: 0800 1d00                              |00bc: move-object/from16 v0, v29
+003540: 6e55 2000 2043                         |00be: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003546: 0800 1c00                              |00c1: move-object/from16 v0, v28
+00354a: 5202 2300                              |00c3: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+00354e: 2b02 1b04 0000                         |00c5: packed-switch v2, 000004e0 // +0000041b
+003554: 0800 1c00                              |00c8: move-object/from16 v0, v28
+003558: 5502 0200                              |00ca: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
+00355c: 3802 2600                              |00cc: if-eqz v2, 00f2 // +0026
+003560: 0800 1c00                              |00ce: move-object/from16 v0, v28
+003564: 5202 2300                              |00d0: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+003568: 1213                                   |00d2: const/4 v3, #int 1 // #1
+00356a: 3232 0900                              |00d3: if-eq v2, v3, 00dc // +0009
+00356e: 0800 1c00                              |00d5: move-object/from16 v0, v28
+003572: 5202 2300                              |00d7: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
+003576: 1233                                   |00d9: const/4 v3, #int 3 // #3
+003578: 3332 1800                              |00da: if-ne v2, v3, 00f2 // +0018
+00357c: 0800 1c00                              |00dc: move-object/from16 v0, v28
+003580: 5402 2200                              |00de: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+003584: 5229 3c00                              |00e0: iget v9, v2, Lcom/google/android/checkers/a;.c:I // field@003c
+003588: 0800 1c00                              |00e2: move-object/from16 v0, v28
+00358c: 5402 2200                              |00e4: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+003590: 542a 3b00                              |00e6: iget-object v10, v2, Lcom/google/android/checkers/a;.b:[I // field@003b
+003594: 0800 1c00                              |00e8: move-object/from16 v0, v28
+003598: 5402 2200                              |00ea: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+00359c: 542b 3a00                              |00ec: iget-object v11, v2, Lcom/google/android/checkers/a;.a:[I // field@003a
+0035a0: 1202                                   |00ee: const/4 v2, #int 0 // #0
+0035a2: 0128                                   |00ef: move v8, v2
+0035a4: 3498 dc03                              |00f0: if-lt v8, v9, 04cc // +03dc
+0035a8: 0800 1c00                              |00f2: move-object/from16 v0, v28
+0035ac: 5402 0f00                              |00f4: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+0035b0: 3802 1700                              |00f6: if-eqz v2, 010d // +0017
+0035b4: 0800 1c00                              |00f8: move-object/from16 v0, v28
+0035b8: 5402 0f00                              |00fa: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
+0035bc: 0200 1200                              |00fc: move/from16 v0, v18
+0035c0: 8203                                   |00fe: int-to-float v3, v0
+0035c2: da04 1402                              |00ff: mul-int/lit8 v4, v20, #int 2 // #02
+0035c6: 9004 0411                              |0101: add-int v4, v4, v17
+0035ca: 8244                                   |0103: int-to-float v4, v4
+0035cc: 0800 1c00                              |0104: move-object/from16 v0, v28
+0035d0: 5405 1b00                              |0106: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
+0035d4: 0800 1d00                              |0108: move-object/from16 v0, v29
+0035d8: 6e55 2000 2043                         |010a: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+0035de: 1202                                   |010d: const/4 v2, #int 0 // #0
+0035e0: 1203                                   |010e: const/4 v3, #int 0 // #0
+0035e2: 0800 1c00                              |010f: move-object/from16 v0, v28
+0035e6: 5204 1000                              |0111: iget v4, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+0035ea: 2e03 0304                              |0113: cmpg-float v3, v3, v4
+0035ee: 3c03 5100                              |0115: if-gtz v3, 0166 // +0051
+0035f2: 0800 1c00                              |0117: move-object/from16 v0, v28
+0035f6: 5203 1000                              |0119: iget v3, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+0035fa: 0200 1700                              |011b: move/from16 v0, v23
+0035fe: 8204                                   |011d: int-to-float v4, v0
+003600: 2e03 0304                              |011e: cmpg-float v3, v3, v4
+003604: 3b03 4600                              |0120: if-gez v3, 0166 // +0046
+003608: 1203                                   |0122: const/4 v3, #int 0 // #0
+00360a: 0800 1c00                              |0123: move-object/from16 v0, v28
+00360e: 5204 1100                              |0125: iget v4, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+003612: 2e03 0304                              |0127: cmpg-float v3, v3, v4
+003616: 3c03 3d00                              |0129: if-gtz v3, 0166 // +003d
+00361a: 0800 1c00                              |012b: move-object/from16 v0, v28
+00361e: 5203 1100                              |012d: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+003622: 0200 1700                              |012f: move/from16 v0, v23
+003626: 8204                                   |0131: int-to-float v4, v0
+003628: 2e03 0304                              |0132: cmpg-float v3, v3, v4
+00362c: 3b03 3200                              |0134: if-gez v3, 0166 // +0032
+003630: 0800 1c00                              |0136: move-object/from16 v0, v28
+003634: 5203 1000                              |0138: iget v3, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+003638: 8733                                   |013a: float-to-int v3, v3
+00363a: 9303 0316                              |013b: div-int v3, v3, v22
+00363e: 0800 1c00                              |013d: move-object/from16 v0, v28
+003642: 5204 1100                              |013f: iget v4, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+003646: 8744                                   |0141: float-to-int v4, v4
+003648: 9304 0416                              |0142: div-int v4, v4, v22
+00364c: 3a03 2200                              |0144: if-ltz v3, 0166 // +0022
+003650: 1305 0800                              |0146: const/16 v5, #int 8 // #8
+003654: 3553 1e00                              |0148: if-ge v3, v5, 0166 // +001e
+003658: 3a04 1c00                              |014a: if-ltz v4, 0166 // +001c
+00365c: 1305 0800                              |014c: const/16 v5, #int 8 // #8
+003660: 3554 1800                              |014e: if-ge v4, v5, 0166 // +0018
+003664: 9202 1603                              |0150: mul-int v2, v22, v3
+003668: 9206 1604                              |0152: mul-int v6, v22, v4
+00366c: 8223                                   |0154: int-to-float v3, v2
+00366e: 8264                                   |0155: int-to-float v4, v6
+003670: 9002 0216                              |0156: add-int v2, v2, v22
+003674: 8225                                   |0158: int-to-float v5, v2
+003676: 9002 0616                              |0159: add-int v2, v6, v22
+00367a: 8226                                   |015b: int-to-float v6, v2
+00367c: 0800 1c00                              |015c: move-object/from16 v0, v28
+003680: 5407 1c00                              |015e: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
+003684: 0802 1d00                              |0160: move-object/from16 v2, v29
+003688: 7406 1f00 0200                         |0162: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
+00368e: 1212                                   |0165: const/4 v2, #int 1 // #1
+003690: 3902 2800                              |0166: if-nez v2, 018e // +0028
+003694: 0800 1c00                              |0168: move-object/from16 v0, v28
+003698: 5202 1000                              |016a: iget v2, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+00369c: 0800 1c00                              |016c: move-object/from16 v0, v28
+0036a0: 5203 1100                              |016e: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+0036a4: 1504 a040                              |0170: const/high16 v4, #int 1084227584 // #40a0
+0036a8: 0800 1c00                              |0172: move-object/from16 v0, v28
+0036ac: 5405 1500                              |0174: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+0036b0: 0800 1d00                              |0176: move-object/from16 v0, v29
+0036b4: 6e55 1c00 2043                         |0178: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+0036ba: 0800 1c00                              |017b: move-object/from16 v0, v28
+0036be: 5202 1000                              |017d: iget v2, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
+0036c2: 0800 1c00                              |017f: move-object/from16 v0, v28
+0036c6: 5203 1100                              |0181: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
+0036ca: 1504 4040                              |0183: const/high16 v4, #int 1077936128 // #4040
+0036ce: 0800 1c00                              |0185: move-object/from16 v0, v28
+0036d2: 5405 1400                              |0187: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+0036d6: 0800 1d00                              |0189: move-object/from16 v0, v29
+0036da: 6e55 1c00 2043                         |018b: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+0036e0: 0800 1c00                              |018e: move-object/from16 v0, v28
+0036e4: 5202 1e00                              |0190: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+0036e8: 1203                                   |0192: const/4 v3, #int 0 // #0
+0036ea: 2d02 0203                              |0193: cmpl-float v2, v2, v3
+0036ee: 3d02 3100                              |0195: if-lez v2, 01c6 // +0031
+0036f2: 0800 1c00                              |0197: move-object/from16 v0, v28
+0036f6: 5202 1e00                              |0199: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+0036fa: 8922                                   |019b: float-to-double v2, v2
+0036fc: 1804 9a99 9999 9999 a93f               |019c: const-wide v4, #double 0.050000 // #3fa999999999999a
+003706: cc42                                   |01a1: sub-double/2addr v2, v4
+003708: 8c22                                   |01a2: double-to-float v2, v2
+00370a: 0800 1c00                              |01a3: move-object/from16 v0, v28
+00370e: 5902 1e00                              |01a5: iput v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+003712: 0800 1c00                              |01a7: move-object/from16 v0, v28
+003716: 5202 1e00                              |01a9: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+00371a: 1203                                   |01ab: const/4 v3, #int 0 // #0
+00371c: 2e02 0203                              |01ac: cmpg-float v2, v2, v3
+003720: 3c02 1100                              |01ae: if-gtz v2, 01bf // +0011
+003724: 1202                                   |01b0: const/4 v2, #int 0 // #0
+003726: 0800 1c00                              |01b1: move-object/from16 v0, v28
+00372a: 5902 1e00                              |01b3: iput v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+00372e: 1202                                   |01b5: const/4 v2, #int 0 // #0
+003730: 0800 1c00                              |01b6: move-object/from16 v0, v28
+003734: 5902 1f00                              |01b8: iput v2, v0, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
+003738: 1202                                   |01ba: const/4 v2, #int 0 // #0
+00373a: 0800 1c00                              |01bb: move-object/from16 v0, v28
+00373e: 5902 2000                              |01bd: iput v2, v0, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
+003742: 1602 3200                              |01bf: const-wide/16 v2, #int 50 // #32
+003746: 0800 1c00                              |01c1: move-object/from16 v0, v28
+00374a: 6e30 6e00 2003                         |01c3: invoke-virtual {v0, v2, v3}, Lcom/google/android/checkers/CheckersView;.postInvalidateDelayed:(J)V // method@006e
+003750: 1e1c                                   |01c6: monitor-exit v28
+003752: 0e00                                   |01c7: return-void
+003754: 0142                                   |01c8: move v2, v4
+003756: 2900 46fe                              |01c9: goto/16 000f // -01ba
+00375a: d803 1702                              |01cb: add-int/lit8 v3, v23, #int 2 // #02
+00375e: da02 1402                              |01cd: mul-int/lit8 v2, v20, #int 2 // #02
+003762: 9102 1702                              |01cf: sub-int v2, v23, v2
+003766: 9102 0219                              |01d1: sub-int v2, v2, v25
+00376a: 0211 0200                              |01d3: move/from16 v17, v2
+00376e: 0212 0300                              |01d5: move/from16 v18, v3
+003772: 0213 1400                              |01d7: move/from16 v19, v20
+003776: 0215 0300                              |01d9: move/from16 v21, v3
+00377a: 2900 53fe                              |01db: goto/16 002e // -01ad
+00377e: 0800 1c00                              |01dd: move-object/from16 v0, v28
+003782: 5408 1500                              |01df: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003786: 1203                                   |01e1: const/4 v3, #int 0 // #0
+003788: 1204                                   |01e2: const/4 v4, #int 0 // #0
+00378a: 0200 1700                              |01e3: move/from16 v0, v23
+00378e: 8205                                   |01e5: int-to-float v5, v0
+003790: 0200 1700                              |01e6: move/from16 v0, v23
+003794: 8206                                   |01e8: int-to-float v6, v0
+003796: 0800 1c00                              |01e9: move-object/from16 v0, v28
+00379a: 5407 1700                              |01eb: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
+00379e: 0802 1d00                              |01ed: move-object/from16 v2, v29
+0037a2: 7406 1f00 0200                         |01ef: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
+0037a8: 0787                                   |01f2: move-object v7, v8
+0037aa: 2900 64fe                              |01f3: goto/16 0057 // -019c
+0037ae: 920a 1609                              |01f5: mul-int v10, v22, v9
+0037b2: dd02 0901                              |01f7: and-int/lit8 v2, v9, #int 1 // #01
+0037b6: 0128                                   |01f9: move v8, v2
+0037b8: 1302 0800                              |01fa: const/16 v2, #int 8 // #8
+0037bc: 3428 0700                              |01fc: if-lt v8, v2, 0203 // +0007
+0037c0: d802 0901                              |01fe: add-int/lit8 v2, v9, #int 1 // #01
+0037c4: 0129                                   |0200: move v9, v2
+0037c6: 2900 58fe                              |0201: goto/16 0059 // -01a8
+0037ca: 9202 1608                              |0203: mul-int v2, v22, v8
+0037ce: 82a3                                   |0205: int-to-float v3, v10
+0037d0: 8224                                   |0206: int-to-float v4, v2
+0037d2: 9005 0a16                              |0207: add-int v5, v10, v22
+0037d6: 8255                                   |0209: int-to-float v5, v5
+0037d8: 9002 0216                              |020a: add-int v2, v2, v22
+0037dc: 8226                                   |020c: int-to-float v6, v2
+0037de: 0802 1d00                              |020d: move-object/from16 v2, v29
+0037e2: 7406 1f00 0200                         |020f: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
+0037e8: d802 0802                              |0212: add-int/lit8 v2, v8, #int 2 // #02
+0037ec: 0128                                   |0214: move v8, v2
+0037ee: 28e5                                   |0215: goto 01fa // -001b
+0037f0: d902 1001                              |0216: rsub-int/lit8 v2, v16, #int 1 // #01
+0037f4: dd02 0201                              |0218: and-int/lit8 v2, v2, #int 1 // #01
+0037f8: 012e                                   |021a: move v14, v2
+0037fa: 013f                                   |021b: move v15, v3
+0037fc: 1302 0800                              |021c: const/16 v2, #int 8 // #8
+003800: 342e 0900                              |021e: if-lt v14, v2, 0227 // +0009
+003804: d802 1001                              |0220: add-int/lit8 v2, v16, #int 1 // #01
+003808: 0210 0200                              |0222: move/from16 v16, v2
+00380c: 01f3                                   |0224: move v3, v15
+00380e: 2900 40fe                              |0225: goto/16 0065 // -01c0
+003812: 0800 1c00                              |0227: move-object/from16 v0, v28
+003816: 5502 0400                              |0229: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
+00381a: 3802 5d00                              |022b: if-eqz v2, 0288 // +005d
+00381e: d902 0e07                              |022d: rsub-int/lit8 v2, v14, #int 7 // #07
+003822: 9203 1602                              |022f: mul-int v3, v22, v2
+003826: d902 1007                              |0231: rsub-int/lit8 v2, v16, #int 7 // #07
+00382a: 9202 0216                              |0233: mul-int v2, v2, v22
+00382e: 0135                                   |0235: move v5, v3
+003830: 901a 1805                              |0236: add-int v26, v24, v5
+003834: 901b 1802                              |0238: add-int v27, v24, v2
+003838: 0800 1c00                              |023a: move-object/from16 v0, v28
+00383c: 5203 2800                              |023c: iget v3, v0, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
+003840: b5f3                                   |023e: and-int/2addr v3, v15
+003842: 3803 4f00                              |023f: if-eqz v3, 028e // +004f
+003846: d803 0501                              |0241: add-int/lit8 v3, v5, #int 1 // #01
+00384a: 8233                                   |0243: int-to-float v3, v3
+00384c: d804 0201                              |0244: add-int/lit8 v4, v2, #int 1 // #01
+003850: 8244                                   |0246: int-to-float v4, v4
+003852: 9005 0516                              |0247: add-int v5, v5, v22
+003856: d805 05ff                              |0249: add-int/lit8 v5, v5, #int -1 // #ff
+00385a: 8255                                   |024b: int-to-float v5, v5
+00385c: 9002 0216                              |024c: add-int v2, v2, v22
+003860: d802 02ff                              |024e: add-int/lit8 v2, v2, #int -1 // #ff
+003864: 8226                                   |0250: int-to-float v6, v2
+003866: 0800 1c00                              |0251: move-object/from16 v0, v28
+00386a: 5407 1800                              |0253: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
+00386e: 0802 1d00                              |0255: move-object/from16 v2, v29
+003872: 7406 1f00 0200                         |0257: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
+003878: 0800 1c00                              |025a: move-object/from16 v0, v28
+00387c: 5202 2400                              |025c: iget v2, v0, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
+003880: b5f2                                   |025e: and-int/2addr v2, v15
+003882: 3802 7a00                              |025f: if-eqz v2, 02d9 // +007a
+003886: 0800 1c00                              |0261: move-object/from16 v0, v28
+00388a: 5407 1400                              |0263: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+00388e: 0800 1c00                              |0265: move-object/from16 v0, v28
+003892: 5408 1500                              |0267: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003896: 1209                                   |0269: const/4 v9, #int 0 // #0
+003898: 0802 1d00                              |026a: move-object/from16 v2, v29
+00389c: 0203 1a00                              |026c: move/from16 v3, v26
+0038a0: 0204 1b00                              |026e: move/from16 v4, v27
+0038a4: 0205 1800                              |0270: move/from16 v5, v24
+0038a8: 0206 1900                              |0272: move/from16 v6, v25
+0038ac: 7708 5500 0200                         |0274: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055
+0038b2: d802 0d01                              |0277: add-int/lit8 v2, v13, #int 1 // #01
+0038b6: 01b3                                   |0279: move v3, v11
+0038b8: 01c4                                   |027a: move v4, v12
+0038ba: 0125                                   |027b: move v5, v2
+0038bc: 01a2                                   |027c: move v2, v10
+0038be: e007 0f01                              |027d: shl-int/lit8 v7, v15, #int 1 // #01
+0038c2: d806 0e02                              |027f: add-int/lit8 v6, v14, #int 2 // #02
+0038c6: 016e                                   |0281: move v14, v6
+0038c8: 012a                                   |0282: move v10, v2
+0038ca: 013b                                   |0283: move v11, v3
+0038cc: 014c                                   |0284: move v12, v4
+0038ce: 015d                                   |0285: move v13, v5
+0038d0: 017f                                   |0286: move v15, v7
+0038d2: 2895                                   |0287: goto 021c // -006b
+0038d4: 9203 160e                              |0288: mul-int v3, v22, v14
+0038d8: 9202 1610                              |028a: mul-int v2, v22, v16
+0038dc: 0135                                   |028c: move v5, v3
+0038de: 28a9                                   |028d: goto 0236 // -0057
+0038e0: 0800 1c00                              |028e: move-object/from16 v0, v28
+0038e4: 5203 2900                              |0290: iget v3, v0, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
+0038e8: b5f3                                   |0292: and-int/2addr v3, v15
+0038ea: 3803 1f00                              |0293: if-eqz v3, 02b2 // +001f
+0038ee: d803 0501                              |0295: add-int/lit8 v3, v5, #int 1 // #01
+0038f2: 8233                                   |0297: int-to-float v3, v3
+0038f4: d804 0201                              |0298: add-int/lit8 v4, v2, #int 1 // #01
+0038f8: 8244                                   |029a: int-to-float v4, v4
+0038fa: 9005 0516                              |029b: add-int v5, v5, v22
+0038fe: d805 05ff                              |029d: add-int/lit8 v5, v5, #int -1 // #ff
+003902: 8255                                   |029f: int-to-float v5, v5
+003904: 9002 0216                              |02a0: add-int v2, v2, v22
+003908: d802 02ff                              |02a2: add-int/lit8 v2, v2, #int -1 // #ff
+00390c: 8226                                   |02a4: int-to-float v6, v2
+00390e: 0800 1c00                              |02a5: move-object/from16 v0, v28
+003912: 5407 1900                              |02a7: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019
+003916: 0802 1d00                              |02a9: move-object/from16 v2, v29
+00391a: 7406 1f00 0200                         |02ab: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
+003920: 28ac                                   |02ae: goto 025a // -0054
+003922: 0d02                                   |02af: move-exception v2
+003924: 1e1c                                   |02b0: monitor-exit v28
+003926: 2702                                   |02b1: throw v2
+003928: 0800 1c00                              |02b2: move-object/from16 v0, v28
+00392c: 5503 0200                              |02b4: iget-boolean v3, v0, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
+003930: 3803 a4ff                              |02b6: if-eqz v3, 025a // -005c
+003934: 0800 1c00                              |02b8: move-object/from16 v0, v28
+003938: 5203 2a00                              |02ba: iget v3, v0, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
+00393c: b5f3                                   |02bc: and-int/2addr v3, v15
+00393e: 3803 9dff                              |02bd: if-eqz v3, 025a // -0063
+003942: d803 0501                              |02bf: add-int/lit8 v3, v5, #int 1 // #01
+003946: 8233                                   |02c1: int-to-float v3, v3
+003948: d804 0201                              |02c2: add-int/lit8 v4, v2, #int 1 // #01
+00394c: 8244                                   |02c4: int-to-float v4, v4
+00394e: 9005 0516                              |02c5: add-int v5, v5, v22
+003952: d805 05ff                              |02c7: add-int/lit8 v5, v5, #int -1 // #ff
+003956: 8255                                   |02c9: int-to-float v5, v5
+003958: 9002 0216                              |02ca: add-int v2, v2, v22
+00395c: d802 02ff                              |02cc: add-int/lit8 v2, v2, #int -1 // #ff
+003960: 8226                                   |02ce: int-to-float v6, v2
+003962: 0800 1c00                              |02cf: move-object/from16 v0, v28
+003966: 5407 1b00                              |02d1: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
+00396a: 0802 1d00                              |02d3: move-object/from16 v2, v29
+00396e: 7406 1f00 0200                         |02d5: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
+003974: 2882                                   |02d8: goto 025a // -007e
+003976: 0800 1c00                              |02d9: move-object/from16 v0, v28
+00397a: 5202 2500                              |02db: iget v2, v0, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
+00397e: b5f2                                   |02dd: and-int/2addr v2, v15
+003980: 3802 1f00                              |02de: if-eqz v2, 02fd // +001f
+003984: 0800 1c00                              |02e0: move-object/from16 v0, v28
+003988: 5407 1500                              |02e2: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+00398c: 0800 1c00                              |02e4: move-object/from16 v0, v28
+003990: 5408 1400                              |02e6: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+003994: 1209                                   |02e8: const/4 v9, #int 0 // #0
+003996: 0802 1d00                              |02e9: move-object/from16 v2, v29
+00399a: 0203 1a00                              |02eb: move/from16 v3, v26
+00399e: 0204 1b00                              |02ed: move/from16 v4, v27
+0039a2: 0205 1800                              |02ef: move/from16 v5, v24
+0039a6: 0206 1900                              |02f1: move/from16 v6, v25
+0039aa: 7708 5500 0200                         |02f3: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055
+0039b0: d802 0b01                              |02f6: add-int/lit8 v2, v11, #int 1 // #01
+0039b4: 0123                                   |02f8: move v3, v2
+0039b6: 01c4                                   |02f9: move v4, v12
+0039b8: 01d5                                   |02fa: move v5, v13
+0039ba: 01a2                                   |02fb: move v2, v10
+0039bc: 2881                                   |02fc: goto 027d // -007f
+0039be: 0800 1c00                              |02fd: move-object/from16 v0, v28
+0039c2: 5202 2600                              |02ff: iget v2, v0, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
+0039c6: b5f2                                   |0301: and-int/2addr v2, v15
+0039c8: 3802 2000                              |0302: if-eqz v2, 0322 // +0020
+0039cc: 0800 1c00                              |0304: move-object/from16 v0, v28
+0039d0: 5407 1400                              |0306: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+0039d4: 0800 1c00                              |0308: move-object/from16 v0, v28
+0039d8: 5408 1500                              |030a: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+0039dc: 1219                                   |030c: const/4 v9, #int 1 // #1
+0039de: 0802 1d00                              |030d: move-object/from16 v2, v29
+0039e2: 0203 1a00                              |030f: move/from16 v3, v26
+0039e6: 0204 1b00                              |0311: move/from16 v4, v27
+0039ea: 0205 1800                              |0313: move/from16 v5, v24
+0039ee: 0206 1900                              |0315: move/from16 v6, v25
+0039f2: 7708 5500 0200                         |0317: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055
+0039f8: d802 0c01                              |031a: add-int/lit8 v2, v12, #int 1 // #01
+0039fc: 01b3                                   |031c: move v3, v11
+0039fe: 0124                                   |031d: move v4, v2
+003a00: 01d5                                   |031e: move v5, v13
+003a02: 01a2                                   |031f: move v2, v10
+003a04: 2900 5dff                              |0320: goto/16 027d // -00a3
+003a08: 0800 1c00                              |0322: move-object/from16 v0, v28
+003a0c: 5202 2700                              |0324: iget v2, v0, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
+003a10: b5f2                                   |0326: and-int/2addr v2, v15
+003a12: 3802 1f00                              |0327: if-eqz v2, 0346 // +001f
+003a16: 0800 1c00                              |0329: move-object/from16 v0, v28
+003a1a: 5407 1500                              |032b: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003a1e: 0800 1c00                              |032d: move-object/from16 v0, v28
+003a22: 5408 1400                              |032f: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+003a26: 1219                                   |0331: const/4 v9, #int 1 // #1
+003a28: 0802 1d00                              |0332: move-object/from16 v2, v29
+003a2c: 0203 1a00                              |0334: move/from16 v3, v26
+003a30: 0204 1b00                              |0336: move/from16 v4, v27
+003a34: 0205 1800                              |0338: move/from16 v5, v24
+003a38: 0206 1900                              |033a: move/from16 v6, v25
+003a3c: 7708 5500 0200                         |033c: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055
+003a42: d802 0a01                              |033f: add-int/lit8 v2, v10, #int 1 // #01
+003a46: 01b3                                   |0341: move v3, v11
+003a48: 01c4                                   |0342: move v4, v12
+003a4a: 01d5                                   |0343: move v5, v13
+003a4c: 2900 39ff                              |0344: goto/16 027d // -00c7
+003a50: 0800 1c00                              |0346: move-object/from16 v0, v28
+003a54: 5202 2000                              |0348: iget v2, v0, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
+003a58: b5f2                                   |034a: and-int/2addr v2, v15
+003a5a: 3802 3600                              |034b: if-eqz v2, 0381 // +0036
+003a5e: 0200 1a00                              |034d: move/from16 v0, v26
+003a62: 8202                                   |034f: int-to-float v2, v0
+003a64: 0200 1b00                              |0350: move/from16 v0, v27
+003a68: 8203                                   |0352: int-to-float v3, v0
+003a6a: d804 18fe                              |0353: add-int/lit8 v4, v24, #int -2 // #fe
+003a6e: 8244                                   |0355: int-to-float v4, v4
+003a70: 0800 1c00                              |0356: move-object/from16 v0, v28
+003a74: 5205 1e00                              |0358: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+003a78: c854                                   |035a: mul-float/2addr v4, v5
+003a7a: 0800 1c00                              |035b: move-object/from16 v0, v28
+003a7e: 5405 1500                              |035d: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003a82: 0800 1d00                              |035f: move-object/from16 v0, v29
+003a86: 6e55 1c00 2043                         |0361: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+003a8c: 0200 1a00                              |0364: move/from16 v0, v26
+003a90: 8202                                   |0366: int-to-float v2, v0
+003a92: 0200 1b00                              |0367: move/from16 v0, v27
+003a96: 8203                                   |0369: int-to-float v3, v0
+003a98: d804 18fc                              |036a: add-int/lit8 v4, v24, #int -4 // #fc
+003a9c: 8244                                   |036c: int-to-float v4, v4
+003a9e: 0800 1c00                              |036d: move-object/from16 v0, v28
+003aa2: 5205 1e00                              |036f: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+003aa6: c854                                   |0371: mul-float/2addr v4, v5
+003aa8: 0800 1c00                              |0372: move-object/from16 v0, v28
+003aac: 5405 1400                              |0374: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+003ab0: 0800 1d00                              |0376: move-object/from16 v0, v29
+003ab4: 6e55 1c00 2043                         |0378: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+003aba: 01a2                                   |037b: move v2, v10
+003abc: 01b3                                   |037c: move v3, v11
+003abe: 01c4                                   |037d: move v4, v12
+003ac0: 01d5                                   |037e: move v5, v13
+003ac2: 2900 fefe                              |037f: goto/16 027d // -0102
+003ac6: 0800 1c00                              |0381: move-object/from16 v0, v28
+003aca: 5202 1f00                              |0383: iget v2, v0, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
+003ace: b5f2                                   |0385: and-int/2addr v2, v15
+003ad0: 3802 3000                              |0386: if-eqz v2, 03b6 // +0030
+003ad4: 0200 1a00                              |0388: move/from16 v0, v26
+003ad8: 8202                                   |038a: int-to-float v2, v0
+003ada: 0200 1b00                              |038b: move/from16 v0, v27
+003ade: 8203                                   |038d: int-to-float v3, v0
+003ae0: d804 18fe                              |038e: add-int/lit8 v4, v24, #int -2 // #fe
+003ae4: 8244                                   |0390: int-to-float v4, v4
+003ae6: 0800 1c00                              |0391: move-object/from16 v0, v28
+003aea: 5205 1e00                              |0393: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+003aee: c854                                   |0395: mul-float/2addr v4, v5
+003af0: 0800 1c00                              |0396: move-object/from16 v0, v28
+003af4: 5405 1400                              |0398: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+003af8: 0800 1d00                              |039a: move-object/from16 v0, v29
+003afc: 6e55 1c00 2043                         |039c: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+003b02: 0200 1a00                              |039f: move/from16 v0, v26
+003b06: 8202                                   |03a1: int-to-float v2, v0
+003b08: 0200 1b00                              |03a2: move/from16 v0, v27
+003b0c: 8203                                   |03a4: int-to-float v3, v0
+003b0e: d804 18fc                              |03a5: add-int/lit8 v4, v24, #int -4 // #fc
+003b12: 8244                                   |03a7: int-to-float v4, v4
+003b14: 0800 1c00                              |03a8: move-object/from16 v0, v28
+003b18: 5205 1e00                              |03aa: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
+003b1c: c854                                   |03ac: mul-float/2addr v4, v5
+003b1e: 0800 1c00                              |03ad: move-object/from16 v0, v28
+003b22: 5405 1500                              |03af: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003b26: 0800 1d00                              |03b1: move-object/from16 v0, v29
+003b2a: 6e55 1c00 2043                         |03b3: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
+003b30: 01a2                                   |03b6: move v2, v10
+003b32: 01b3                                   |03b7: move v3, v11
+003b34: 01c4                                   |03b8: move v4, v12
+003b36: 01d5                                   |03b9: move v5, v13
+003b38: 2900 c3fe                              |03ba: goto/16 027d // -013d
+003b3c: 1a02 9c00                              |03bc: const-string v2, "White" // string@009c
+003b40: 0200 1500                              |03be: move/from16 v0, v21
+003b44: 8203                                   |03c0: int-to-float v3, v0
+003b46: 0200 1300                              |03c1: move/from16 v0, v19
+003b4a: 8204                                   |03c3: int-to-float v4, v0
+003b4c: 0800 1c00                              |03c4: move-object/from16 v0, v28
+003b50: 5405 1500                              |03c6: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003b54: 0800 1d00                              |03c8: move-object/from16 v0, v29
+003b58: 6e55 2000 2043                         |03ca: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003b5e: 1a02 0b00                              |03cd: const-string v2, "Black" // string@000b
+003b62: 0200 1500                              |03cf: move/from16 v0, v21
+003b66: 8203                                   |03d1: int-to-float v3, v0
+003b68: 9004 1314                              |03d2: add-int v4, v19, v20
+003b6c: 8244                                   |03d4: int-to-float v4, v4
+003b6e: 0800 1c00                              |03d5: move-object/from16 v0, v28
+003b72: 5405 1500                              |03d7: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003b76: 0800 1d00                              |03d9: move-object/from16 v0, v29
+003b7a: 6e55 2000 2043                         |03db: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003b80: 1a02 7200                              |03de: const-string v2, "Moves" // string@0072
+003b84: 0200 1500                              |03e0: move/from16 v0, v21
+003b88: 8203                                   |03e2: int-to-float v3, v0
+003b8a: da04 1402                              |03e3: mul-int/lit8 v4, v20, #int 2 // #02
+003b8e: 9004 0413                              |03e5: add-int v4, v4, v19
+003b92: 8244                                   |03e7: int-to-float v4, v4
+003b94: 0800 1c00                              |03e8: move-object/from16 v0, v28
+003b98: 5405 1500                              |03ea: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003b9c: 0800 1d00                              |03ec: move-object/from16 v0, v29
+003ba0: 6e55 2000 2043                         |03ee: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003ba6: 2202 3000                              |03f1: new-instance v2, Ljava/lang/StringBuilder; // type@0030
+003baa: 1a03 0300                              |03f3: const-string v3, ":  " // string@0003
+003bae: 7020 a600 3200                         |03f5: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+003bb4: 6e20 a700 d200                         |03f8: invoke-virtual {v2, v13}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+003bba: 0c02                                   |03fb: move-result-object v2
+003bbc: 1a03 0200                              |03fc: const-string v3, "+" // string@0002
+003bc0: 6e20 a900 3200                         |03fe: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9
+003bc6: 0c02                                   |0401: move-result-object v2
+003bc8: 6e20 a700 c200                         |0402: invoke-virtual {v2, v12}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+003bce: 0c02                                   |0405: move-result-object v2
+003bd0: 6e10 aa00 0200                         |0406: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+003bd6: 0c02                                   |0409: move-result-object v2
+003bd8: da03 1403                              |040a: mul-int/lit8 v3, v20, #int 3 // #03
+003bdc: 9003 0315                              |040c: add-int v3, v3, v21
+003be0: 8233                                   |040e: int-to-float v3, v3
+003be2: 0200 1300                              |040f: move/from16 v0, v19
+003be6: 8204                                   |0411: int-to-float v4, v0
+003be8: 0800 1c00                              |0412: move-object/from16 v0, v28
+003bec: 5405 1500                              |0414: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003bf0: 0800 1d00                              |0416: move-object/from16 v0, v29
+003bf4: 6e55 2000 2043                         |0418: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003bfa: 2202 3000                              |041b: new-instance v2, Ljava/lang/StringBuilder; // type@0030
+003bfe: 1a03 0300                              |041d: const-string v3, ":  " // string@0003
+003c02: 7020 a600 3200                         |041f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+003c08: 6e20 a700 b200                         |0422: invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+003c0e: 0c02                                   |0425: move-result-object v2
+003c10: 1a03 0200                              |0426: const-string v3, "+" // string@0002
+003c14: 6e20 a900 3200                         |0428: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9
+003c1a: 0c02                                   |042b: move-result-object v2
+003c1c: 6e20 a700 a200                         |042c: invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+003c22: 0c02                                   |042f: move-result-object v2
+003c24: 6e10 aa00 0200                         |0430: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+003c2a: 0c02                                   |0433: move-result-object v2
+003c2c: da03 1403                              |0434: mul-int/lit8 v3, v20, #int 3 // #03
+003c30: 9003 0315                              |0436: add-int v3, v3, v21
+003c34: 8233                                   |0438: int-to-float v3, v3
+003c36: 9004 1314                              |0439: add-int v4, v19, v20
+003c3a: 8244                                   |043b: int-to-float v4, v4
+003c3c: 0800 1c00                              |043c: move-object/from16 v0, v28
+003c40: 5405 1500                              |043e: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003c44: 0800 1d00                              |0440: move-object/from16 v0, v29
+003c48: 6e55 2000 2043                         |0442: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003c4e: 2202 3000                              |0445: new-instance v2, Ljava/lang/StringBuilder; // type@0030
+003c52: 1a03 0300                              |0447: const-string v3, ":  " // string@0003
+003c56: 7020 a600 3200                         |0449: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
+003c5c: 0800 1c00                              |044c: move-object/from16 v0, v28
+003c60: 5203 0e00                              |044e: iget v3, v0, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
+003c64: 6e20 a700 3200                         |0450: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
+003c6a: 0c02                                   |0453: move-result-object v2
+003c6c: 6e10 aa00 0200                         |0454: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
+003c72: 0c02                                   |0457: move-result-object v2
+003c74: da03 1403                              |0458: mul-int/lit8 v3, v20, #int 3 // #03
+003c78: 9003 0315                              |045a: add-int v3, v3, v21
+003c7c: 8233                                   |045c: int-to-float v3, v3
+003c7e: da04 1402                              |045d: mul-int/lit8 v4, v20, #int 2 // #02
+003c82: 9004 0413                              |045f: add-int v4, v4, v19
+003c86: 8244                                   |0461: int-to-float v4, v4
+003c88: 0800 1c00                              |0462: move-object/from16 v0, v28
+003c8c: 5405 1500                              |0464: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003c90: 0800 1d00                              |0466: move-object/from16 v0, v29
+003c94: 6e55 2000 2043                         |0468: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003c9a: 2900 3ffc                              |046b: goto/16 00aa // -03c1
+003c9e: 1a02 0a00                              |046d: const-string v2, "BLACK'S MOVE?" // string@000a
+003ca2: 0200 1200                              |046f: move/from16 v0, v18
+003ca6: 8203                                   |0471: int-to-float v3, v0
+003ca8: 9004 1114                              |0472: add-int v4, v17, v20
+003cac: 8244                                   |0474: int-to-float v4, v4
+003cae: 0800 1c00                              |0475: move-object/from16 v0, v28
+003cb2: 5405 1500                              |0477: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003cb6: 0800 1d00                              |0479: move-object/from16 v0, v29
+003cba: 6e55 2000 2043                         |047b: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003cc0: 2900 4afc                              |047e: goto/16 00c8 // -03b6
+003cc4: 1a02 9a00                              |0480: const-string v2, "WHITE'S MOVE?" // string@009a
+003cc8: 0200 1200                              |0482: move/from16 v0, v18
+003ccc: 8203                                   |0484: int-to-float v3, v0
+003cce: 9004 1114                              |0485: add-int v4, v17, v20
+003cd2: 8244                                   |0487: int-to-float v4, v4
+003cd4: 0800 1c00                              |0488: move-object/from16 v0, v28
+003cd8: 5405 1500                              |048a: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003cdc: 0800 1d00                              |048c: move-object/from16 v0, v29
+003ce0: 6e55 2000 2043                         |048e: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003ce6: 2900 37fc                              |0491: goto/16 00c8 // -03c9
+003cea: 1a02 8100                              |0493: const-string v2, "THINKING...." // string@0081
+003cee: 0200 1200                              |0495: move/from16 v0, v18
+003cf2: 8203                                   |0497: int-to-float v3, v0
+003cf4: 9004 1114                              |0498: add-int v4, v17, v20
+003cf8: 8244                                   |049a: int-to-float v4, v4
+003cfa: 0800 1c00                              |049b: move-object/from16 v0, v28
+003cfe: 5405 1500                              |049d: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003d02: 0800 1d00                              |049f: move-object/from16 v0, v29
+003d06: 6e55 2000 2043                         |04a1: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003d0c: 2900 24fc                              |04a4: goto/16 00c8 // -03dc
+003d10: 1a02 9900                              |04a6: const-string v2, "WHITE WINS" // string@0099
+003d14: 0200 1200                              |04a8: move/from16 v0, v18
+003d18: 8203                                   |04aa: int-to-float v3, v0
+003d1a: 9004 1114                              |04ab: add-int v4, v17, v20
+003d1e: 8244                                   |04ad: int-to-float v4, v4
+003d20: 0800 1c00                              |04ae: move-object/from16 v0, v28
+003d24: 5405 1500                              |04b0: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003d28: 0800 1d00                              |04b2: move-object/from16 v0, v29
+003d2c: 6e55 2000 2043                         |04b4: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003d32: 2900 11fc                              |04b7: goto/16 00c8 // -03ef
+003d36: 1a02 0900                              |04b9: const-string v2, "BLACK WINS" // string@0009
+003d3a: 0200 1200                              |04bb: move/from16 v0, v18
+003d3e: 8203                                   |04bd: int-to-float v3, v0
+003d40: 9004 1114                              |04be: add-int v4, v17, v20
+003d44: 8244                                   |04c0: int-to-float v4, v4
+003d46: 0800 1c00                              |04c1: move-object/from16 v0, v28
+003d4a: 5405 1500                              |04c3: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003d4e: 0800 1d00                              |04c5: move-object/from16 v0, v29
+003d52: 6e55 2000 2043                         |04c7: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
+003d58: 2900 fefb                              |04ca: goto/16 00c8 // -0402
+003d5c: 4404 0a08                              |04cc: aget v4, v10, v8
+003d60: 4405 0b08                              |04ce: aget v5, v11, v8
+003d64: 0802 1c00                              |04d0: move-object/from16 v2, v28
+003d68: 0803 1d00                              |04d2: move-object/from16 v3, v29
+003d6c: 0206 1600                              |04d4: move/from16 v6, v22
+003d70: 0207 1800                              |04d6: move/from16 v7, v24
+003d74: 7606 5f00 0200                         |04d8: invoke-direct/range {v2, v3, v4, v5, v6, v7}, Lcom/google/android/checkers/CheckersView;.b:(Landroid/graphics/Canvas;IIII)V // method@005f
+003d7a: d802 0801                              |04db: add-int/lit8 v2, v8, #int 1 // #01
+003d7e: 0128                                   |04dd: move v8, v2
+003d80: 2900 12fc                              |04de: goto/16 00f0 // -03ee
+003d84: 0001 0600 0100 0000 a803 0000 ce03 ... |04e0: packed-switch-data (16 units)
+      catches       : 3
+        0x0001 - 0x01c6
+          <any> -> 0x02af
+        0x01dd - 0x02ae
+          <any> -> 0x02af
+        0x02b2 - 0x04db
+          <any> -> 0x02af
+      positions     : 
+      locals        : 
+
+    #12              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'e'
+      type          : '(Z)Z'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 3
+      ins           : 2
+      outs          : 0
+      insns size    : 19 16-bit code units
+003dc0:                                        |[003dc0] com.google.android.checkers.CheckersView.e:(Z)Z
+003dd0: 1d01                                   |0000: monitor-enter v1
+003dd2: 3802 0900                              |0001: if-eqz v2, 000a // +0009
+003dd6: 5510 0600                              |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
+003dda: 3800 0900                              |0005: if-eqz v0, 000e // +0009
+003dde: 1200                                   |0007: const/4 v0, #int 0 // #0
+003de0: 5c10 0600                              |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
+003de4: 5510 0600                              |000a: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
+003de8: 1e01                                   |000c: monitor-exit v1
+003dea: 0f00                                   |000d: return v0
+003dec: 1210                                   |000e: const/4 v0, #int 1 // #1
+003dee: 28f9                                   |000f: goto 0008 // -0007
+003df0: 0d00                                   |0010: move-exception v0
+003df2: 1e01                                   |0011: monitor-exit v1
+003df4: 2700                                   |0012: throw v0
+      catches       : 1
+        0x0003 - 0x000c
+          <any> -> 0x0010
+      positions     : 
+      locals        : 
+
+    #13              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'onSizeChanged'
+      type          : '(IIII)V'
+      access        : 0x20004 (PROTECTED DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 8
+      ins           : 5
+      outs          : 2
+      insns size    : 52 16-bit code units
+003e04:                                        |[003e04] com.google.android.checkers.CheckersView.onSizeChanged:(IIII)V
+003e14: 1d03                                   |0000: monitor-enter v3
+003e16: 3554 2c00                              |0001: if-ge v4, v5, 002d // +002c
+003e1a: 0140                                   |0003: move v0, v4
+003e1c: db01 0018                              |0004: div-int/lit8 v1, v0, #int 24 // #18
+003e20: 8211                                   |0006: int-to-float v1, v1
+003e22: 3754 2b00                              |0007: if-le v4, v5, 0032 // +002b
+003e26: 9100 0400                              |0009: sub-int v0, v4, v0
+003e2a: db00 000a                              |000b: div-int/lit8 v0, v0, #int 10 // #0a
+003e2e: 8200                                   |000d: int-to-float v0, v0
+003e30: 2e02 0001                              |000e: cmpg-float v2, v0, v1
+003e34: 3b02 2200                              |0010: if-gez v2, 0032 // +0022
+003e38: 5431 1400                              |0012: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
+003e3c: 6e20 2600 0100                         |0014: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026
+003e42: 5431 1500                              |0017: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
+003e46: 6e20 2600 0100                         |0019: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026
+003e4c: 5431 1b00                              |001c: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
+003e50: 6e20 2600 0100                         |001e: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026
+003e56: 5431 1800                              |0021: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
+003e5a: 6e20 2600 0100                         |0023: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026
+003e60: 8700                                   |0026: float-to-int v0, v0
+003e62: d800 0001                              |0027: add-int/lit8 v0, v0, #int 1 // #01
+003e66: 5930 1d00                              |0029: iput v0, v3, Lcom/google/android/checkers/CheckersView;.k:I // field@001d
+003e6a: 1e03                                   |002b: monitor-exit v3
+003e6c: 0e00                                   |002c: return-void
+003e6e: 0150                                   |002d: move v0, v5
+003e70: 28d6                                   |002e: goto 0004 // -002a
+003e72: 0d00                                   |002f: move-exception v0
+003e74: 1e03                                   |0030: monitor-exit v3
+003e76: 2700                                   |0031: throw v0
+003e78: 0110                                   |0032: move v0, v1
+003e7a: 28df                                   |0033: goto 0012 // -0021
+      catches       : 1
+        0x0004 - 0x002b
+          <any> -> 0x002f
+      positions     : 
+      locals        : 
+
+    #14              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'onTouchEvent'
+      type          : '(Landroid/view/MotionEvent;)Z'
+      access        : 0x0001 (PUBLIC)
+      code          -
+      registers     : 8
+      ins           : 2
+      outs          : 6
+      insns size    : 41 16-bit code units
+003e88:                                        |[003e88] com.google.android.checkers.CheckersView.onTouchEvent:(Landroid/view/MotionEvent;)Z
+003e98: 1201                                   |0000: const/4 v1, #int 0 // #0
+003e9a: 6e10 3100 0700                         |0001: invoke-virtual {v7}, Landroid/view/MotionEvent;.getAction:()I // method@0031
+003ea0: 0a00                                   |0004: move-result v0
+003ea2: 3900 1f00                              |0005: if-nez v0, 0024 // +001f
+003ea6: 6e10 3200 0700                         |0007: invoke-virtual {v7}, Landroid/view/MotionEvent;.getX:()F // method@0032
+003eac: 0a00                                   |000a: move-result v0
+003eae: 6e10 3300 0700                         |000b: invoke-virtual {v7}, Landroid/view/MotionEvent;.getY:()F // method@0033
+003eb4: 0a02                                   |000e: move-result v2
+003eb6: 7030 5c00 0602                         |000f: invoke-direct {v6, v0, v2}, Lcom/google/android/checkers/CheckersView;.b:(FF)I // method@005c
+003ebc: 0a02                                   |0012: move-result v2
+003ebe: 3802 1100                              |0013: if-eqz v2, 0024 // +0011
+003ec2: 0760                                   |0015: move-object v0, v6
+003ec4: 0113                                   |0016: move v3, v1
+003ec6: 0114                                   |0017: move v4, v1
+003ec8: 0115                                   |0018: move v5, v1
+003eca: 7606 5b00 0000                         |0019: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
+003ed0: 0a00                                   |001c: move-result v0
+003ed2: 3800 0500                              |001d: if-eqz v0, 0022 // +0005
+003ed6: 6e10 6d00 0600                         |001f: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+003edc: 1210                                   |0022: const/4 v0, #int 1 // #1
+003ede: 0f00                                   |0023: return v0
+003ee0: 6f20 3900 7600                         |0024: invoke-super {v6, v7}, Landroid/view/View;.onTouchEvent:(Landroid/view/MotionEvent;)Z // method@0039
+003ee6: 0a00                                   |0027: move-result v0
+003ee8: 28fb                                   |0028: goto 0023 // -0005
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #15              : (in Lcom/google/android/checkers/CheckersView;)
+      name          : 'setLevel'
+      type          : '(I)V'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 4
+      ins           : 2
+      outs          : 0
+      insns size    : 64 16-bit code units
+003eec:                                        |[003eec] com.google.android.checkers.CheckersView.setLevel:(I)V
+003efc: 1300 e803                              |0000: const/16 v0, #int 1000 // #3e8
+003f00: 1d02                                   |0002: monitor-enter v2
+003f02: 2b03 2700 0000                         |0003: packed-switch v3, 0000002a // +00000027
+003f08: 1233                                   |0006: const/4 v3, #int 3 // #3
+003f0a: 5421 2200                              |0007: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
+003f0e: 5910 4100                              |0009: iput v0, v1, Lcom/google/android/checkers/a;.h:I // field@0041
+003f12: 5923 2c00                              |000b: iput v3, v2, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
+003f16: 1e02                                   |000d: monitor-exit v2
+003f18: 0e00                                   |000e: return-void
+003f1a: 12f0                                   |000f: const/4 v0, #int -1 // #ff
+003f1c: 28f7                                   |0010: goto 0007 // -0009
+003f1e: 1200                                   |0011: const/4 v0, #int 0 // #0
+003f20: 28f5                                   |0012: goto 0007 // -000b
+003f22: 1300 6400                              |0013: const/16 v0, #int 100 // #64
+003f26: 28f2                                   |0015: goto 0007 // -000e
+003f28: 1300 8813                              |0016: const/16 v0, #int 5000 // #1388
+003f2c: 28ef                                   |0018: goto 0007 // -0011
+003f2e: 1300 1027                              |0019: const/16 v0, #int 10000 // #2710
+003f32: 28ec                                   |001b: goto 0007 // -0014
+003f34: 1300 983a                              |001c: const/16 v0, #int 15000 // #3a98
+003f38: 28e9                                   |001e: goto 0007 // -0017
+003f3a: 1300 3075                              |001f: const/16 v0, #int 30000 // #7530
+003f3e: 28e6                                   |0021: goto 0007 // -001a
+003f40: 1400 60ea 0000                         |0022: const v0, #float 0.000000 // #0000ea60
+003f46: 28e2                                   |0025: goto 0007 // -001e
+003f48: 0d00                                   |0026: move-exception v0
+003f4a: 1e02                                   |0027: monitor-exit v2
+003f4c: 2700                                   |0028: throw v0
+003f4e: 0000                                   |0029: nop // spacer
+003f50: 0001 0900 0000 0000 0c00 0000 0e00 ... |002a: packed-switch-data (22 units)
+      catches       : 1
+        0x0007 - 0x000d
+          <any> -> 0x0026
+      positions     : 
+      locals        : 
+
+  source_file_idx   : -1 (unknown)
+
+Class #2 header:
+class_idx           : 32
+access_flags        : 17 (0x0011)
+superclass_idx      : 50
+interfaces_off      : 0 (0x000000)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 34848 (0x008820)
+static_fields_size  : 10
+instance_fields_size: 29
+direct_methods_size : 23
+virtual_methods_size: 6
+
+Class #2            -
+  Class descriptor  : 'Lcom/google/android/checkers/a;'
+  Access flags      : 0x0011 (PUBLIC FINAL)
+  Superclass        : 'Ljava/lang/Thread;'
+  Interfaces        -
+  Static fields     -
+    #0              : (in Lcom/google/android/checkers/a;)
+      name          : 'D'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #1              : (in Lcom/google/android/checkers/a;)
+      name          : 'E'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #2              : (in Lcom/google/android/checkers/a;)
+      name          : 'F'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #3              : (in Lcom/google/android/checkers/a;)
+      name          : 'G'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #4              : (in Lcom/google/android/checkers/a;)
+      name          : 'H'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #5              : (in Lcom/google/android/checkers/a;)
+      name          : 'I'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #6              : (in Lcom/google/android/checkers/a;)
+      name          : 'J'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #7              : (in Lcom/google/android/checkers/a;)
+      name          : 'K'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #8              : (in Lcom/google/android/checkers/a;)
+      name          : 'L'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+    #9              : (in Lcom/google/android/checkers/a;)
+      name          : 'M'
+      type          : '[I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+  Instance fields   -
+    #0              : (in Lcom/google/android/checkers/a;)
+      name          : 'A'
+      type          : '[B'
+      access        : 0x0002 (PRIVATE)
+    #1              : (in Lcom/google/android/checkers/a;)
+      name          : 'B'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #2              : (in Lcom/google/android/checkers/a;)
+      name          : 'C'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #3              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '[I'
+      access        : 0x0001 (PUBLIC)
+    #4              : (in Lcom/google/android/checkers/a;)
+      name          : 'b'
+      type          : '[I'
+      access        : 0x0001 (PUBLIC)
+    #5              : (in Lcom/google/android/checkers/a;)
+      name          : 'c'
+      type          : 'I'
+      access        : 0x0001 (PUBLIC)
+    #6              : (in Lcom/google/android/checkers/a;)
+      name          : 'd'
+      type          : 'I'
+      access        : 0x0001 (PUBLIC)
+    #7              : (in Lcom/google/android/checkers/a;)
+      name          : 'e'
+      type          : 'I'
+      access        : 0x0001 (PUBLIC)
+    #8              : (in Lcom/google/android/checkers/a;)
+      name          : 'f'
+      type          : 'I'
+      access        : 0x0001 (PUBLIC)
+    #9              : (in Lcom/google/android/checkers/a;)
+      name          : 'g'
+      type          : 'I'
+      access        : 0x0001 (PUBLIC)
+    #10              : (in Lcom/google/android/checkers/a;)
+      name          : 'h'
+      type          : 'I'
+      access        : 0x0041 (PUBLIC VOLATILE)
+    #11              : (in Lcom/google/android/checkers/a;)
+      name          : 'i'
+      type          : 'Ljava/util/Random;'
+      access        : 0x0002 (PRIVATE)
+    #12              : (in Lcom/google/android/checkers/a;)
+      name          : 'j'
+      type          : 'Lcom/google/android/checkers/CheckersView;'
+      access        : 0x0002 (PRIVATE)
+    #13              : (in Lcom/google/android/checkers/a;)
+      name          : 'k'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #14              : (in Lcom/google/android/checkers/a;)
+      name          : 'l'
+      type          : 'J'
+      access        : 0x0002 (PRIVATE)
+    #15              : (in Lcom/google/android/checkers/a;)
+      name          : 'm'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #16              : (in Lcom/google/android/checkers/a;)
+      name          : 'n'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #17              : (in Lcom/google/android/checkers/a;)
+      name          : 'o'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #18              : (in Lcom/google/android/checkers/a;)
+      name          : 'p'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #19              : (in Lcom/google/android/checkers/a;)
+      name          : 'q'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #20              : (in Lcom/google/android/checkers/a;)
+      name          : 'r'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #21              : (in Lcom/google/android/checkers/a;)
+      name          : 's'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #22              : (in Lcom/google/android/checkers/a;)
+      name          : 't'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #23              : (in Lcom/google/android/checkers/a;)
+      name          : 'u'
+      type          : 'Z'
+      access        : 0x0002 (PRIVATE)
+    #24              : (in Lcom/google/android/checkers/a;)
+      name          : 'v'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #25              : (in Lcom/google/android/checkers/a;)
+      name          : 'w'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #26              : (in Lcom/google/android/checkers/a;)
+      name          : 'x'
+      type          : 'I'
+      access        : 0x0002 (PRIVATE)
+    #27              : (in Lcom/google/android/checkers/a;)
+      name          : 'y'
+      type          : '[I'
+      access        : 0x0002 (PRIVATE)
+    #28              : (in Lcom/google/android/checkers/a;)
+      name          : 'z'
+      type          : '[S'
+      access        : 0x0002 (PRIVATE)
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/a;)
+      name          : '<clinit>'
+      type          : '()V'
+      access        : 0x10008 (STATIC CONSTRUCTOR)
+      code          -
+      registers     : 8
+      ins           : 0
+      outs          : 0
+      insns size    : 1390 16-bit code units
+003f88:                                        |[003f88] com.google.android.checkers.a.<clinit>:()V
+003f98: 1227                                   |0000: const/4 v7, #int 2 // #2
+003f9a: 1306 1500                              |0001: const/16 v6, #int 21 // #15
+003f9e: 1305 1000                              |0003: const/16 v5, #int 16 // #10
+003fa2: 1304 0a00                              |0005: const/16 v4, #int 10 // #a
+003fa6: 1303 2000                              |0007: const/16 v3, #int 32 // #20
+003faa: 2330 3700                              |0009: new-array v0, v3, [I // type@0037
+003fae: 1251                                   |000b: const/4 v1, #int 5 // #5
+003fb0: 1212                                   |000c: const/4 v2, #int 1 // #1
+003fb2: 4b02 0001                              |000d: aput v2, v0, v1
+003fb6: 1261                                   |000f: const/4 v1, #int 6 // #6
+003fb8: 4b07 0001                              |0010: aput v7, v0, v1
+003fbc: 1271                                   |0012: const/4 v1, #int 7 // #7
+003fbe: 1242                                   |0013: const/4 v2, #int 4 // #4
+003fc0: 4b02 0001                              |0014: aput v2, v0, v1
+003fc4: 1301 0800                              |0016: const/16 v1, #int 8 // #8
+003fc8: 4b05 0001                              |0018: aput v5, v0, v1
+003fcc: 1301 0900                              |001a: const/16 v1, #int 9 // #9
+003fd0: 4b03 0001                              |001c: aput v3, v0, v1
+003fd4: 1301 4000                              |001e: const/16 v1, #int 64 // #40
+003fd8: 4b01 0004                              |0020: aput v1, v0, v4
+003fdc: 1301 0b00                              |0022: const/16 v1, #int 11 // #b
+003fe0: 1302 8000                              |0024: const/16 v2, #int 128 // #80
+003fe4: 4b02 0001                              |0026: aput v2, v0, v1
+003fe8: 1301 0d00                              |0028: const/16 v1, #int 13 // #d
+003fec: 1302 0001                              |002a: const/16 v2, #int 256 // #100
+003ff0: 4b02 0001                              |002c: aput v2, v0, v1
+003ff4: 1301 0e00                              |002e: const/16 v1, #int 14 // #e
+003ff8: 1302 0002                              |0030: const/16 v2, #int 512 // #200
+003ffc: 4b02 0001                              |0032: aput v2, v0, v1
+004000: 1301 0f00                              |0034: const/16 v1, #int 15 // #f
+004004: 1302 0004                              |0036: const/16 v2, #int 1024 // #400
+004008: 4b02 0001                              |0038: aput v2, v0, v1
+00400c: 1301 0010                              |003a: const/16 v1, #int 4096 // #1000
+004010: 4b01 0005                              |003c: aput v1, v0, v5
+004014: 1301 1100                              |003e: const/16 v1, #int 17 // #11
+004018: 1302 0020                              |0040: const/16 v2, #int 8192 // #2000
+00401c: 4b02 0001                              |0042: aput v2, v0, v1
+004020: 1301 1200                              |0044: const/16 v1, #int 18 // #12
+004024: 1302 0040                              |0046: const/16 v2, #int 16384 // #4000
+004028: 4b02 0001                              |0048: aput v2, v0, v1
+00402c: 1301 1300                              |004a: const/16 v1, #int 19 // #13
+004030: 1402 0080 0000                         |004c: const v2, #float 0.000000 // #00008000
+004036: 4b02 0001                              |004f: aput v2, v0, v1
+00403a: 1501 0100                              |0051: const/high16 v1, #int 65536 // #1
+00403e: 4b01 0006                              |0053: aput v1, v0, v6
+004042: 1301 1600                              |0055: const/16 v1, #int 22 // #16
+004046: 1502 0200                              |0057: const/high16 v2, #int 131072 // #2
+00404a: 4b02 0001                              |0059: aput v2, v0, v1
+00404e: 1301 1700                              |005b: const/16 v1, #int 23 // #17
+004052: 1502 0400                              |005d: const/high16 v2, #int 262144 // #4
+004056: 4b02 0001                              |005f: aput v2, v0, v1
+00405a: 1301 1800                              |0061: const/16 v1, #int 24 // #18
+00405e: 1502 1000                              |0063: const/high16 v2, #int 1048576 // #10
+004062: 4b02 0001                              |0065: aput v2, v0, v1
+004066: 1301 1900                              |0067: const/16 v1, #int 25 // #19
+00406a: 1502 2000                              |0069: const/high16 v2, #int 2097152 // #20
+00406e: 4b02 0001                              |006b: aput v2, v0, v1
+004072: 1301 1a00                              |006d: const/16 v1, #int 26 // #1a
+004076: 1502 4000                              |006f: const/high16 v2, #int 4194304 // #40
+00407a: 4b02 0001                              |0071: aput v2, v0, v1
+00407e: 1301 1b00                              |0073: const/16 v1, #int 27 // #1b
+004082: 1502 8000                              |0075: const/high16 v2, #int 8388608 // #80
+004086: 4b02 0001                              |0077: aput v2, v0, v1
+00408a: 1301 1d00                              |0079: const/16 v1, #int 29 // #1d
+00408e: 1502 0001                              |007b: const/high16 v2, #int 16777216 // #100
+004092: 4b02 0001                              |007d: aput v2, v0, v1
+004096: 1301 1e00                              |007f: const/16 v1, #int 30 // #1e
+00409a: 1502 0002                              |0081: const/high16 v2, #int 33554432 // #200
+00409e: 4b02 0001                              |0083: aput v2, v0, v1
+0040a2: 1301 1f00                              |0085: const/16 v1, #int 31 // #1f
+0040a6: 1502 0004                              |0087: const/high16 v2, #int 67108864 // #400
+0040aa: 4b02 0001                              |0089: aput v2, v0, v1
+0040ae: 6900 3000                              |008b: sput-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+0040b2: 2330 3700                              |008d: new-array v0, v3, [I // type@0037
+0040b6: 1301 0900                              |008f: const/16 v1, #int 9 // #9
+0040ba: 1212                                   |0091: const/4 v2, #int 1 // #1
+0040bc: 4b02 0001                              |0092: aput v2, v0, v1
+0040c0: 4b07 0004                              |0094: aput v7, v0, v4
+0040c4: 1301 0b00                              |0096: const/16 v1, #int 11 // #b
+0040c8: 1242                                   |0098: const/4 v2, #int 4 // #4
+0040ca: 4b02 0001                              |0099: aput v2, v0, v1
+0040ce: 1301 0d00                              |009b: const/16 v1, #int 13 // #d
+0040d2: 4b05 0001                              |009d: aput v5, v0, v1
+0040d6: 1301 0e00                              |009f: const/16 v1, #int 14 // #e
+0040da: 4b03 0001                              |00a1: aput v3, v0, v1
+0040de: 1301 0f00                              |00a3: const/16 v1, #int 15 // #f
+0040e2: 1302 4000                              |00a5: const/16 v2, #int 64 // #40
+0040e6: 4b02 0001                              |00a7: aput v2, v0, v1
+0040ea: 1301 1100                              |00a9: const/16 v1, #int 17 // #11
+0040ee: 1302 0001                              |00ab: const/16 v2, #int 256 // #100
+0040f2: 4b02 0001                              |00ad: aput v2, v0, v1
+0040f6: 1301 1200                              |00af: const/16 v1, #int 18 // #12
+0040fa: 1302 0002                              |00b1: const/16 v2, #int 512 // #200
+0040fe: 4b02 0001                              |00b3: aput v2, v0, v1
+004102: 1301 1300                              |00b5: const/16 v1, #int 19 // #13
+004106: 1302 0004                              |00b7: const/16 v2, #int 1024 // #400
+00410a: 4b02 0001                              |00b9: aput v2, v0, v1
+00410e: 1301 0010                              |00bb: const/16 v1, #int 4096 // #1000
+004112: 4b01 0006                              |00bd: aput v1, v0, v6
+004116: 1301 1600                              |00bf: const/16 v1, #int 22 // #16
+00411a: 1302 0020                              |00c1: const/16 v2, #int 8192 // #2000
+00411e: 4b02 0001                              |00c3: aput v2, v0, v1
+004122: 1301 1700                              |00c5: const/16 v1, #int 23 // #17
+004126: 1302 0040                              |00c7: const/16 v2, #int 16384 // #4000
+00412a: 4b02 0001                              |00c9: aput v2, v0, v1
+00412e: 1301 1900                              |00cb: const/16 v1, #int 25 // #19
+004132: 1502 0100                              |00cd: const/high16 v2, #int 65536 // #1
+004136: 4b02 0001                              |00cf: aput v2, v0, v1
+00413a: 1301 1a00                              |00d1: const/16 v1, #int 26 // #1a
+00413e: 1502 0200                              |00d3: const/high16 v2, #int 131072 // #2
+004142: 4b02 0001                              |00d5: aput v2, v0, v1
+004146: 1301 1b00                              |00d7: const/16 v1, #int 27 // #1b
+00414a: 1502 0400                              |00d9: const/high16 v2, #int 262144 // #4
+00414e: 4b02 0001                              |00db: aput v2, v0, v1
+004152: 1301 1d00                              |00dd: const/16 v1, #int 29 // #1d
+004156: 1502 1000                              |00df: const/high16 v2, #int 1048576 // #10
+00415a: 4b02 0001                              |00e1: aput v2, v0, v1
+00415e: 1301 1e00                              |00e3: const/16 v1, #int 30 // #1e
+004162: 1502 2000                              |00e5: const/high16 v2, #int 2097152 // #20
+004166: 4b02 0001                              |00e7: aput v2, v0, v1
+00416a: 1301 1f00                              |00e9: const/16 v1, #int 31 // #1f
+00416e: 1502 4000                              |00eb: const/high16 v2, #int 4194304 // #40
+004172: 4b02 0001                              |00ed: aput v2, v0, v1
+004176: 6900 3100                              |00ef: sput-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
+00417a: 2330 3700                              |00f1: new-array v0, v3, [I // type@0037
+00417e: 1241                                   |00f3: const/4 v1, #int 4 // #4
+004180: 1212                                   |00f4: const/4 v2, #int 1 // #1
+004182: 4b02 0001                              |00f5: aput v2, v0, v1
+004186: 1251                                   |00f7: const/4 v1, #int 5 // #5
+004188: 4b07 0001                              |00f8: aput v7, v0, v1
+00418c: 1261                                   |00fa: const/4 v1, #int 6 // #6
+00418e: 1242                                   |00fb: const/4 v2, #int 4 // #4
+004190: 4b02 0001                              |00fc: aput v2, v0, v1
+004194: 1271                                   |00fe: const/4 v1, #int 7 // #7
+004196: 1302 0800                              |00ff: const/16 v2, #int 8 // #8
+00419a: 4b02 0001                              |0101: aput v2, v0, v1
+00419e: 1301 0800                              |0103: const/16 v1, #int 8 // #8
+0041a2: 4b03 0001                              |0105: aput v3, v0, v1
+0041a6: 1301 0900                              |0107: const/16 v1, #int 9 // #9
+0041aa: 1302 4000                              |0109: const/16 v2, #int 64 // #40
+0041ae: 4b02 0001                              |010b: aput v2, v0, v1
+0041b2: 1301 8000                              |010d: const/16 v1, #int 128 // #80
+0041b6: 4b01 0004                              |010f: aput v1, v0, v4
+0041ba: 1301 0c00                              |0111: const/16 v1, #int 12 // #c
+0041be: 1302 0001                              |0113: const/16 v2, #int 256 // #100
+0041c2: 4b02 0001                              |0115: aput v2, v0, v1
+0041c6: 1301 0d00                              |0117: const/16 v1, #int 13 // #d
+0041ca: 1302 0002                              |0119: const/16 v2, #int 512 // #200
+0041ce: 4b02 0001                              |011b: aput v2, v0, v1
+0041d2: 1301 0e00                              |011d: const/16 v1, #int 14 // #e
+0041d6: 1302 0004                              |011f: const/16 v2, #int 1024 // #400
+0041da: 4b02 0001                              |0121: aput v2, v0, v1
+0041de: 1301 0f00                              |0123: const/16 v1, #int 15 // #f
+0041e2: 1302 0008                              |0125: const/16 v2, #int 2048 // #800
+0041e6: 4b02 0001                              |0127: aput v2, v0, v1
+0041ea: 1301 0020                              |0129: const/16 v1, #int 8192 // #2000
+0041ee: 4b01 0005                              |012b: aput v1, v0, v5
+0041f2: 1301 1100                              |012d: const/16 v1, #int 17 // #11
+0041f6: 1302 0040                              |012f: const/16 v2, #int 16384 // #4000
+0041fa: 4b02 0001                              |0131: aput v2, v0, v1
+0041fe: 1301 1200                              |0133: const/16 v1, #int 18 // #12
+004202: 1402 0080 0000                         |0135: const v2, #float 0.000000 // #00008000
+004208: 4b02 0001                              |0138: aput v2, v0, v1
+00420c: 1301 1400                              |013a: const/16 v1, #int 20 // #14
+004210: 1502 0100                              |013c: const/high16 v2, #int 65536 // #1
+004214: 4b02 0001                              |013e: aput v2, v0, v1
+004218: 1501 0200                              |0140: const/high16 v1, #int 131072 // #2
+00421c: 4b01 0006                              |0142: aput v1, v0, v6
+004220: 1301 1600                              |0144: const/16 v1, #int 22 // #16
+004224: 1502 0400                              |0146: const/high16 v2, #int 262144 // #4
+004228: 4b02 0001                              |0148: aput v2, v0, v1
+00422c: 1301 1700                              |014a: const/16 v1, #int 23 // #17
+004230: 1502 0800                              |014c: const/high16 v2, #int 524288 // #8
+004234: 4b02 0001                              |014e: aput v2, v0, v1
+004238: 1301 1800                              |0150: const/16 v1, #int 24 // #18
+00423c: 1502 2000                              |0152: const/high16 v2, #int 2097152 // #20
+004240: 4b02 0001                              |0154: aput v2, v0, v1
+004244: 1301 1900                              |0156: const/16 v1, #int 25 // #19
+004248: 1502 4000                              |0158: const/high16 v2, #int 4194304 // #40
+00424c: 4b02 0001                              |015a: aput v2, v0, v1
+004250: 1301 1a00                              |015c: const/16 v1, #int 26 // #1a
+004254: 1502 8000                              |015e: const/high16 v2, #int 8388608 // #80
+004258: 4b02 0001                              |0160: aput v2, v0, v1
+00425c: 1301 1c00                              |0162: const/16 v1, #int 28 // #1c
+004260: 1502 0001                              |0164: const/high16 v2, #int 16777216 // #100
+004264: 4b02 0001                              |0166: aput v2, v0, v1
+004268: 1301 1d00                              |0168: const/16 v1, #int 29 // #1d
+00426c: 1502 0002                              |016a: const/high16 v2, #int 33554432 // #200
+004270: 4b02 0001                              |016c: aput v2, v0, v1
+004274: 1301 1e00                              |016e: const/16 v1, #int 30 // #1e
+004278: 1502 0004                              |0170: const/high16 v2, #int 67108864 // #400
+00427c: 4b02 0001                              |0172: aput v2, v0, v1
+004280: 1301 1f00                              |0174: const/16 v1, #int 31 // #1f
+004284: 1502 0008                              |0176: const/high16 v2, #int 134217728 // #800
+004288: 4b02 0001                              |0178: aput v2, v0, v1
+00428c: 6900 3200                              |017a: sput-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+004290: 2330 3700                              |017c: new-array v0, v3, [I // type@0037
+004294: 1301 0800                              |017e: const/16 v1, #int 8 // #8
+004298: 4b07 0001                              |0180: aput v7, v0, v1
+00429c: 1301 0900                              |0182: const/16 v1, #int 9 // #9
+0042a0: 1242                                   |0184: const/4 v2, #int 4 // #4
+0042a2: 4b02 0001                              |0185: aput v2, v0, v1
+0042a6: 1301 0800                              |0187: const/16 v1, #int 8 // #8
+0042aa: 4b01 0004                              |0189: aput v1, v0, v4
+0042ae: 1301 0c00                              |018b: const/16 v1, #int 12 // #c
+0042b2: 4b03 0001                              |018d: aput v3, v0, v1
+0042b6: 1301 0d00                              |018f: const/16 v1, #int 13 // #d
+0042ba: 1302 4000                              |0191: const/16 v2, #int 64 // #40
+0042be: 4b02 0001                              |0193: aput v2, v0, v1
+0042c2: 1301 0e00                              |0195: const/16 v1, #int 14 // #e
+0042c6: 1302 8000                              |0197: const/16 v2, #int 128 // #80
+0042ca: 4b02 0001                              |0199: aput v2, v0, v1
+0042ce: 1301 0002                              |019b: const/16 v1, #int 512 // #200
+0042d2: 4b01 0005                              |019d: aput v1, v0, v5
+0042d6: 1301 1100                              |019f: const/16 v1, #int 17 // #11
+0042da: 1302 0004                              |01a1: const/16 v2, #int 1024 // #400
+0042de: 4b02 0001                              |01a3: aput v2, v0, v1
+0042e2: 1301 1200                              |01a5: const/16 v1, #int 18 // #12
+0042e6: 1302 0008                              |01a7: const/16 v2, #int 2048 // #800
+0042ea: 4b02 0001                              |01a9: aput v2, v0, v1
+0042ee: 1301 1400                              |01ab: const/16 v1, #int 20 // #14
+0042f2: 1302 0020                              |01ad: const/16 v2, #int 8192 // #2000
+0042f6: 4b02 0001                              |01af: aput v2, v0, v1
+0042fa: 1301 0040                              |01b1: const/16 v1, #int 16384 // #4000
+0042fe: 4b01 0006                              |01b3: aput v1, v0, v6
+004302: 1301 1600                              |01b5: const/16 v1, #int 22 // #16
+004306: 1402 0080 0000                         |01b7: const v2, #float 0.000000 // #00008000
+00430c: 4b02 0001                              |01ba: aput v2, v0, v1
+004310: 1301 1800                              |01bc: const/16 v1, #int 24 // #18
+004314: 1502 0200                              |01be: const/high16 v2, #int 131072 // #2
+004318: 4b02 0001                              |01c0: aput v2, v0, v1
+00431c: 1301 1900                              |01c2: const/16 v1, #int 25 // #19
+004320: 1502 0400                              |01c4: const/high16 v2, #int 262144 // #4
+004324: 4b02 0001                              |01c6: aput v2, v0, v1
+004328: 1301 1a00                              |01c8: const/16 v1, #int 26 // #1a
+00432c: 1502 0800                              |01ca: const/high16 v2, #int 524288 // #8
+004330: 4b02 0001                              |01cc: aput v2, v0, v1
+004334: 1301 1c00                              |01ce: const/16 v1, #int 28 // #1c
+004338: 1502 2000                              |01d0: const/high16 v2, #int 2097152 // #20
+00433c: 4b02 0001                              |01d2: aput v2, v0, v1
+004340: 1301 1d00                              |01d4: const/16 v1, #int 29 // #1d
+004344: 1502 4000                              |01d6: const/high16 v2, #int 4194304 // #40
+004348: 4b02 0001                              |01d8: aput v2, v0, v1
+00434c: 1301 1e00                              |01da: const/16 v1, #int 30 // #1e
+004350: 1502 8000                              |01dc: const/high16 v2, #int 8388608 // #80
+004354: 4b02 0001                              |01de: aput v2, v0, v1
+004358: 6900 3300                              |01e0: sput-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
+00435c: 2330 3700                              |01e2: new-array v0, v3, [I // type@0037
+004360: 1201                                   |01e4: const/4 v1, #int 0 // #0
+004362: 4b05 0001                              |01e5: aput v5, v0, v1
+004366: 1211                                   |01e7: const/4 v1, #int 1 // #1
+004368: 4b03 0001                              |01e8: aput v3, v0, v1
+00436c: 1301 4000                              |01ea: const/16 v1, #int 64 // #40
+004370: 4b01 0007                              |01ec: aput v1, v0, v7
+004374: 1231                                   |01ee: const/4 v1, #int 3 // #3
+004376: 1302 8000                              |01ef: const/16 v2, #int 128 // #80
+00437a: 4b02 0001                              |01f1: aput v2, v0, v1
+00437e: 1251                                   |01f3: const/4 v1, #int 5 // #5
+004380: 1302 0001                              |01f4: const/16 v2, #int 256 // #100
+004384: 4b02 0001                              |01f6: aput v2, v0, v1
+004388: 1261                                   |01f8: const/4 v1, #int 6 // #6
+00438a: 1302 0002                              |01f9: const/16 v2, #int 512 // #200
+00438e: 4b02 0001                              |01fb: aput v2, v0, v1
+004392: 1271                                   |01fd: const/4 v1, #int 7 // #7
+004394: 1302 0004                              |01fe: const/16 v2, #int 1024 // #400
+004398: 4b02 0001                              |0200: aput v2, v0, v1
+00439c: 1301 0800                              |0202: const/16 v1, #int 8 // #8
+0043a0: 1302 0010                              |0204: const/16 v2, #int 4096 // #1000
+0043a4: 4b02 0001                              |0206: aput v2, v0, v1
+0043a8: 1301 0900                              |0208: const/16 v1, #int 9 // #9
+0043ac: 1302 0020                              |020a: const/16 v2, #int 8192 // #2000
+0043b0: 4b02 0001                              |020c: aput v2, v0, v1
+0043b4: 1301 0040                              |020e: const/16 v1, #int 16384 // #4000
+0043b8: 4b01 0004                              |0210: aput v1, v0, v4
+0043bc: 1301 0b00                              |0212: const/16 v1, #int 11 // #b
+0043c0: 1402 0080 0000                         |0214: const v2, #float 0.000000 // #00008000
+0043c6: 4b02 0001                              |0217: aput v2, v0, v1
+0043ca: 1301 0d00                              |0219: const/16 v1, #int 13 // #d
+0043ce: 1502 0100                              |021b: const/high16 v2, #int 65536 // #1
+0043d2: 4b02 0001                              |021d: aput v2, v0, v1
+0043d6: 1301 0e00                              |021f: const/16 v1, #int 14 // #e
+0043da: 1502 0200                              |0221: const/high16 v2, #int 131072 // #2
+0043de: 4b02 0001                              |0223: aput v2, v0, v1
+0043e2: 1301 0f00                              |0225: const/16 v1, #int 15 // #f
+0043e6: 1502 0400                              |0227: const/high16 v2, #int 262144 // #4
+0043ea: 4b02 0001                              |0229: aput v2, v0, v1
+0043ee: 1501 1000                              |022b: const/high16 v1, #int 1048576 // #10
+0043f2: 4b01 0005                              |022d: aput v1, v0, v5
+0043f6: 1301 1100                              |022f: const/16 v1, #int 17 // #11
+0043fa: 1502 2000                              |0231: const/high16 v2, #int 2097152 // #20
+0043fe: 4b02 0001                              |0233: aput v2, v0, v1
+004402: 1301 1200                              |0235: const/16 v1, #int 18 // #12
+004406: 1502 4000                              |0237: const/high16 v2, #int 4194304 // #40
+00440a: 4b02 0001                              |0239: aput v2, v0, v1
+00440e: 1301 1300                              |023b: const/16 v1, #int 19 // #13
+004412: 1502 8000                              |023d: const/high16 v2, #int 8388608 // #80
+004416: 4b02 0001                              |023f: aput v2, v0, v1
+00441a: 1501 0001                              |0241: const/high16 v1, #int 16777216 // #100
+00441e: 4b01 0006                              |0243: aput v1, v0, v6
+004422: 1301 1600                              |0245: const/16 v1, #int 22 // #16
+004426: 1502 0002                              |0247: const/high16 v2, #int 33554432 // #200
+00442a: 4b02 0001                              |0249: aput v2, v0, v1
+00442e: 1301 1700                              |024b: const/16 v1, #int 23 // #17
+004432: 1502 0004                              |024d: const/high16 v2, #int 67108864 // #400
+004436: 4b02 0001                              |024f: aput v2, v0, v1
+00443a: 1301 1800                              |0251: const/16 v1, #int 24 // #18
+00443e: 1502 0010                              |0253: const/high16 v2, #int 268435456 // #1000
+004442: 4b02 0001                              |0255: aput v2, v0, v1
+004446: 1301 1900                              |0257: const/16 v1, #int 25 // #19
+00444a: 1502 0020                              |0259: const/high16 v2, #int 536870912 // #2000
+00444e: 4b02 0001                              |025b: aput v2, v0, v1
+004452: 1301 1a00                              |025d: const/16 v1, #int 26 // #1a
+004456: 1502 0040                              |025f: const/high16 v2, #int 1073741824 // #4000
+00445a: 4b02 0001                              |0261: aput v2, v0, v1
+00445e: 1301 1b00                              |0263: const/16 v1, #int 27 // #1b
+004462: 1502 0080                              |0265: const/high16 v2, #int -2147483648 // #8000
+004466: 4b02 0001                              |0267: aput v2, v0, v1
+00446a: 6900 3400                              |0269: sput-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+00446e: 2330 3700                              |026b: new-array v0, v3, [I // type@0037
+004472: 1211                                   |026d: const/4 v1, #int 1 // #1
+004474: 1302 0001                              |026e: const/16 v2, #int 256 // #100
+004478: 4b02 0001                              |0270: aput v2, v0, v1
+00447c: 1301 0002                              |0272: const/16 v1, #int 512 // #200
+004480: 4b01 0007                              |0274: aput v1, v0, v7
+004484: 1231                                   |0276: const/4 v1, #int 3 // #3
+004486: 1302 0004                              |0277: const/16 v2, #int 1024 // #400
+00448a: 4b02 0001                              |0279: aput v2, v0, v1
+00448e: 1251                                   |027b: const/4 v1, #int 5 // #5
+004490: 1302 0010                              |027c: const/16 v2, #int 4096 // #1000
+004494: 4b02 0001                              |027e: aput v2, v0, v1
+004498: 1261                                   |0280: const/4 v1, #int 6 // #6
+00449a: 1302 0020                              |0281: const/16 v2, #int 8192 // #2000
+00449e: 4b02 0001                              |0283: aput v2, v0, v1
+0044a2: 1271                                   |0285: const/4 v1, #int 7 // #7
+0044a4: 1302 0040                              |0286: const/16 v2, #int 16384 // #4000
+0044a8: 4b02 0001                              |0288: aput v2, v0, v1
+0044ac: 1301 0900                              |028a: const/16 v1, #int 9 // #9
+0044b0: 1502 0100                              |028c: const/high16 v2, #int 65536 // #1
+0044b4: 4b02 0001                              |028e: aput v2, v0, v1
+0044b8: 1501 0200                              |0290: const/high16 v1, #int 131072 // #2
+0044bc: 4b01 0004                              |0292: aput v1, v0, v4
+0044c0: 1301 0b00                              |0294: const/16 v1, #int 11 // #b
+0044c4: 1502 0400                              |0296: const/high16 v2, #int 262144 // #4
+0044c8: 4b02 0001                              |0298: aput v2, v0, v1
+0044cc: 1301 0d00                              |029a: const/16 v1, #int 13 // #d
+0044d0: 1502 1000                              |029c: const/high16 v2, #int 1048576 // #10
+0044d4: 4b02 0001                              |029e: aput v2, v0, v1
+0044d8: 1301 0e00                              |02a0: const/16 v1, #int 14 // #e
+0044dc: 1502 2000                              |02a2: const/high16 v2, #int 2097152 // #20
+0044e0: 4b02 0001                              |02a4: aput v2, v0, v1
+0044e4: 1301 0f00                              |02a6: const/16 v1, #int 15 // #f
+0044e8: 1502 4000                              |02a8: const/high16 v2, #int 4194304 // #40
+0044ec: 4b02 0001                              |02aa: aput v2, v0, v1
+0044f0: 1301 1100                              |02ac: const/16 v1, #int 17 // #11
+0044f4: 1502 0001                              |02ae: const/high16 v2, #int 16777216 // #100
+0044f8: 4b02 0001                              |02b0: aput v2, v0, v1
+0044fc: 1301 1200                              |02b2: const/16 v1, #int 18 // #12
+004500: 1502 0002                              |02b4: const/high16 v2, #int 33554432 // #200
+004504: 4b02 0001                              |02b6: aput v2, v0, v1
+004508: 1301 1300                              |02b8: const/16 v1, #int 19 // #13
+00450c: 1502 0004                              |02ba: const/high16 v2, #int 67108864 // #400
+004510: 4b02 0001                              |02bc: aput v2, v0, v1
+004514: 1501 0010                              |02be: const/high16 v1, #int 268435456 // #1000
+004518: 4b01 0006                              |02c0: aput v1, v0, v6
+00451c: 1301 1600                              |02c2: const/16 v1, #int 22 // #16
+004520: 1502 0020                              |02c4: const/high16 v2, #int 536870912 // #2000
+004524: 4b02 0001                              |02c6: aput v2, v0, v1
+004528: 1301 1700                              |02c8: const/16 v1, #int 23 // #17
+00452c: 1502 0040                              |02ca: const/high16 v2, #int 1073741824 // #4000
+004530: 4b02 0001                              |02cc: aput v2, v0, v1
+004534: 6900 3500                              |02ce: sput-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
+004538: 2330 3700                              |02d0: new-array v0, v3, [I // type@0037
+00453c: 1201                                   |02d2: const/4 v1, #int 0 // #0
+00453e: 4b03 0001                              |02d3: aput v3, v0, v1
+004542: 1211                                   |02d5: const/4 v1, #int 1 // #1
+004544: 1302 4000                              |02d6: const/16 v2, #int 64 // #40
+004548: 4b02 0001                              |02d8: aput v2, v0, v1
+00454c: 1301 8000                              |02da: const/16 v1, #int 128 // #80
+004550: 4b01 0007                              |02dc: aput v1, v0, v7
+004554: 1241                                   |02de: const/4 v1, #int 4 // #4
+004556: 1302 0001                              |02df: const/16 v2, #int 256 // #100
+00455a: 4b02 0001                              |02e1: aput v2, v0, v1
+00455e: 1251                                   |02e3: const/4 v1, #int 5 // #5
+004560: 1302 0002                              |02e4: const/16 v2, #int 512 // #200
+004564: 4b02 0001                              |02e6: aput v2, v0, v1
+004568: 1261                                   |02e8: const/4 v1, #int 6 // #6
+00456a: 1302 0004                              |02e9: const/16 v2, #int 1024 // #400
+00456e: 4b02 0001                              |02eb: aput v2, v0, v1
+004572: 1271                                   |02ed: const/4 v1, #int 7 // #7
+004574: 1302 0008                              |02ee: const/16 v2, #int 2048 // #800
+004578: 4b02 0001                              |02f0: aput v2, v0, v1
+00457c: 1301 0800                              |02f2: const/16 v1, #int 8 // #8
+004580: 1302 0020                              |02f4: const/16 v2, #int 8192 // #2000
+004584: 4b02 0001                              |02f6: aput v2, v0, v1
+004588: 1301 0900                              |02f8: const/16 v1, #int 9 // #9
+00458c: 1302 0040                              |02fa: const/16 v2, #int 16384 // #4000
+004590: 4b02 0001                              |02fc: aput v2, v0, v1
+004594: 1401 0080 0000                         |02fe: const v1, #float 0.000000 // #00008000
+00459a: 4b01 0004                              |0301: aput v1, v0, v4
+00459e: 1301 0c00                              |0303: const/16 v1, #int 12 // #c
+0045a2: 1502 0100                              |0305: const/high16 v2, #int 65536 // #1
+0045a6: 4b02 0001                              |0307: aput v2, v0, v1
+0045aa: 1301 0d00                              |0309: const/16 v1, #int 13 // #d
+0045ae: 1502 0200                              |030b: const/high16 v2, #int 131072 // #2
+0045b2: 4b02 0001                              |030d: aput v2, v0, v1
+0045b6: 1301 0e00                              |030f: const/16 v1, #int 14 // #e
+0045ba: 1502 0400                              |0311: const/high16 v2, #int 262144 // #4
+0045be: 4b02 0001                              |0313: aput v2, v0, v1
+0045c2: 1301 0f00                              |0315: const/16 v1, #int 15 // #f
+0045c6: 1502 0800                              |0317: const/high16 v2, #int 524288 // #8
+0045ca: 4b02 0001                              |0319: aput v2, v0, v1
+0045ce: 1501 2000                              |031b: const/high16 v1, #int 2097152 // #20
+0045d2: 4b01 0005                              |031d: aput v1, v0, v5
+0045d6: 1301 1100                              |031f: const/16 v1, #int 17 // #11
+0045da: 1502 4000                              |0321: const/high16 v2, #int 4194304 // #40
+0045de: 4b02 0001                              |0323: aput v2, v0, v1
+0045e2: 1301 1200                              |0325: const/16 v1, #int 18 // #12
+0045e6: 1502 8000                              |0327: const/high16 v2, #int 8388608 // #80
+0045ea: 4b02 0001                              |0329: aput v2, v0, v1
+0045ee: 1301 1400                              |032b: const/16 v1, #int 20 // #14
+0045f2: 1502 0001                              |032d: const/high16 v2, #int 16777216 // #100
+0045f6: 4b02 0001                              |032f: aput v2, v0, v1
+0045fa: 1501 0002                              |0331: const/high16 v1, #int 33554432 // #200
+0045fe: 4b01 0006                              |0333: aput v1, v0, v6
+004602: 1301 1600                              |0335: const/16 v1, #int 22 // #16
+004606: 1502 0004                              |0337: const/high16 v2, #int 67108864 // #400
+00460a: 4b02 0001                              |0339: aput v2, v0, v1
+00460e: 1301 1700                              |033b: const/16 v1, #int 23 // #17
+004612: 1502 0008                              |033d: const/high16 v2, #int 134217728 // #800
+004616: 4b02 0001                              |033f: aput v2, v0, v1
+00461a: 1301 1800                              |0341: const/16 v1, #int 24 // #18
+00461e: 1502 0020                              |0343: const/high16 v2, #int 536870912 // #2000
+004622: 4b02 0001                              |0345: aput v2, v0, v1
+004626: 1301 1900                              |0347: const/16 v1, #int 25 // #19
+00462a: 1502 0040                              |0349: const/high16 v2, #int 1073741824 // #4000
+00462e: 4b02 0001                              |034b: aput v2, v0, v1
+004632: 1301 1a00                              |034d: const/16 v1, #int 26 // #1a
+004636: 1502 0080                              |034f: const/high16 v2, #int -2147483648 // #8000
+00463a: 4b02 0001                              |0351: aput v2, v0, v1
+00463e: 6900 3600                              |0353: sput-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+004642: 2330 3700                              |0355: new-array v0, v3, [I // type@0037
+004646: 1201                                   |0357: const/4 v1, #int 0 // #0
+004648: 1302 0002                              |0358: const/16 v2, #int 512 // #200
+00464c: 4b02 0001                              |035a: aput v2, v0, v1
+004650: 1211                                   |035c: const/4 v1, #int 1 // #1
+004652: 1302 0004                              |035d: const/16 v2, #int 1024 // #400
+004656: 4b02 0001                              |035f: aput v2, v0, v1
+00465a: 1301 0008                              |0361: const/16 v1, #int 2048 // #800
+00465e: 4b01 0007                              |0363: aput v1, v0, v7
+004662: 1241                                   |0365: const/4 v1, #int 4 // #4
+004664: 1302 0020                              |0366: const/16 v2, #int 8192 // #2000
+004668: 4b02 0001                              |0368: aput v2, v0, v1
+00466c: 1251                                   |036a: const/4 v1, #int 5 // #5
+00466e: 1302 0040                              |036b: const/16 v2, #int 16384 // #4000
+004672: 4b02 0001                              |036d: aput v2, v0, v1
+004676: 1261                                   |036f: const/4 v1, #int 6 // #6
+004678: 1402 0080 0000                         |0370: const v2, #float 0.000000 // #00008000
+00467e: 4b02 0001                              |0373: aput v2, v0, v1
+004682: 1301 0800                              |0375: const/16 v1, #int 8 // #8
+004686: 1502 0200                              |0377: const/high16 v2, #int 131072 // #2
+00468a: 4b02 0001                              |0379: aput v2, v0, v1
+00468e: 1301 0900                              |037b: const/16 v1, #int 9 // #9
+004692: 1502 0400                              |037d: const/high16 v2, #int 262144 // #4
+004696: 4b02 0001                              |037f: aput v2, v0, v1
+00469a: 1501 0800                              |0381: const/high16 v1, #int 524288 // #8
+00469e: 4b01 0004                              |0383: aput v1, v0, v4
+0046a2: 1301 0c00                              |0385: const/16 v1, #int 12 // #c
+0046a6: 1502 2000                              |0387: const/high16 v2, #int 2097152 // #20
+0046aa: 4b02 0001                              |0389: aput v2, v0, v1
+0046ae: 1301 0d00                              |038b: const/16 v1, #int 13 // #d
+0046b2: 1502 4000                              |038d: const/high16 v2, #int 4194304 // #40
+0046b6: 4b02 0001                              |038f: aput v2, v0, v1
+0046ba: 1301 0e00                              |0391: const/16 v1, #int 14 // #e
+0046be: 1502 8000                              |0393: const/high16 v2, #int 8388608 // #80
+0046c2: 4b02 0001                              |0395: aput v2, v0, v1
+0046c6: 1501 0002                              |0397: const/high16 v1, #int 33554432 // #200
+0046ca: 4b01 0005                              |0399: aput v1, v0, v5
+0046ce: 1301 1100                              |039b: const/16 v1, #int 17 // #11
+0046d2: 1502 0004                              |039d: const/high16 v2, #int 67108864 // #400
+0046d6: 4b02 0001                              |039f: aput v2, v0, v1
+0046da: 1301 1200                              |03a1: const/16 v1, #int 18 // #12
+0046de: 1502 0008                              |03a3: const/high16 v2, #int 134217728 // #800
+0046e2: 4b02 0001                              |03a5: aput v2, v0, v1
+0046e6: 1301 1400                              |03a7: const/16 v1, #int 20 // #14
+0046ea: 1502 0020                              |03a9: const/high16 v2, #int 536870912 // #2000
+0046ee: 4b02 0001                              |03ab: aput v2, v0, v1
+0046f2: 1501 0040                              |03ad: const/high16 v1, #int 1073741824 // #4000
+0046f6: 4b01 0006                              |03af: aput v1, v0, v6
+0046fa: 1301 1600                              |03b1: const/16 v1, #int 22 // #16
+0046fe: 1502 0080                              |03b3: const/high16 v2, #int -2147483648 // #8000
+004702: 4b02 0001                              |03b5: aput v2, v0, v1
+004706: 6900 3700                              |03b7: sput-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
+00470a: 2330 3700                              |03b9: new-array v0, v3, [I // type@0037
+00470e: 1211                                   |03bb: const/4 v1, #int 1 // #1
+004710: 4b01 0007                              |03bc: aput v1, v0, v7
+004714: 1231                                   |03be: const/4 v1, #int 3 // #3
+004716: 1232                                   |03bf: const/4 v2, #int 3 // #3
+004718: 4b02 0001                              |03c0: aput v2, v0, v1
+00471c: 1241                                   |03c2: const/4 v1, #int 4 // #4
+00471e: 1262                                   |03c3: const/4 v2, #int 6 // #6
+004720: 4b02 0001                              |03c4: aput v2, v0, v1
+004724: 1251                                   |03c6: const/4 v1, #int 5 // #5
+004726: 4b04 0001                              |03c7: aput v4, v0, v1
+00472a: 1261                                   |03c9: const/4 v1, #int 6 // #6
+00472c: 1302 0f00                              |03ca: const/16 v2, #int 15 // #f
+004730: 4b02 0001                              |03cc: aput v2, v0, v1
+004734: 1271                                   |03ce: const/4 v1, #int 7 // #7
+004736: 4b06 0001                              |03cf: aput v6, v0, v1
+00473a: 1301 0800                              |03d1: const/16 v1, #int 8 // #8
+00473e: 1302 1c00                              |03d3: const/16 v2, #int 28 // #1c
+004742: 4b02 0001                              |03d5: aput v2, v0, v1
+004746: 1301 0900                              |03d7: const/16 v1, #int 9 // #9
+00474a: 1302 2400                              |03d9: const/16 v2, #int 36 // #24
+00474e: 4b02 0001                              |03db: aput v2, v0, v1
+004752: 1301 2d00                              |03dd: const/16 v1, #int 45 // #2d
+004756: 4b01 0004                              |03df: aput v1, v0, v4
+00475a: 1301 0b00                              |03e1: const/16 v1, #int 11 // #b
+00475e: 1302 3700                              |03e3: const/16 v2, #int 55 // #37
+004762: 4b02 0001                              |03e5: aput v2, v0, v1
+004766: 1301 0c00                              |03e7: const/16 v1, #int 12 // #c
+00476a: 1302 4200                              |03e9: const/16 v2, #int 66 // #42
+00476e: 4b02 0001                              |03eb: aput v2, v0, v1
+004772: 1301 0d00                              |03ed: const/16 v1, #int 13 // #d
+004776: 1302 4e00                              |03ef: const/16 v2, #int 78 // #4e
+00477a: 4b02 0001                              |03f1: aput v2, v0, v1
+00477e: 1301 0e00                              |03f3: const/16 v1, #int 14 // #e
+004782: 1302 5b00                              |03f5: const/16 v2, #int 91 // #5b
+004786: 4b02 0001                              |03f7: aput v2, v0, v1
+00478a: 1301 0f00                              |03f9: const/16 v1, #int 15 // #f
+00478e: 1302 6900                              |03fb: const/16 v2, #int 105 // #69
+004792: 4b02 0001                              |03fd: aput v2, v0, v1
+004796: 1301 7800                              |03ff: const/16 v1, #int 120 // #78
+00479a: 4b01 0005                              |0401: aput v1, v0, v5
+00479e: 1301 1100                              |0403: const/16 v1, #int 17 // #11
+0047a2: 1302 8800                              |0405: const/16 v2, #int 136 // #88
+0047a6: 4b02 0001                              |0407: aput v2, v0, v1
+0047aa: 1301 1200                              |0409: const/16 v1, #int 18 // #12
+0047ae: 1302 9900                              |040b: const/16 v2, #int 153 // #99
+0047b2: 4b02 0001                              |040d: aput v2, v0, v1
+0047b6: 1301 1300                              |040f: const/16 v1, #int 19 // #13
+0047ba: 1302 ab00                              |0411: const/16 v2, #int 171 // #ab
+0047be: 4b02 0001                              |0413: aput v2, v0, v1
+0047c2: 1301 1400                              |0415: const/16 v1, #int 20 // #14
+0047c6: 1302 be00                              |0417: const/16 v2, #int 190 // #be
+0047ca: 4b02 0001                              |0419: aput v2, v0, v1
+0047ce: 1301 d200                              |041b: const/16 v1, #int 210 // #d2
+0047d2: 4b01 0006                              |041d: aput v1, v0, v6
+0047d6: 1301 1600                              |041f: const/16 v1, #int 22 // #16
+0047da: 1302 e700                              |0421: const/16 v2, #int 231 // #e7
+0047de: 4b02 0001                              |0423: aput v2, v0, v1
+0047e2: 1301 1700                              |0425: const/16 v1, #int 23 // #17
+0047e6: 1302 fd00                              |0427: const/16 v2, #int 253 // #fd
+0047ea: 4b02 0001                              |0429: aput v2, v0, v1
+0047ee: 1301 1800                              |042b: const/16 v1, #int 24 // #18
+0047f2: 1302 1401                              |042d: const/16 v2, #int 276 // #114
+0047f6: 4b02 0001                              |042f: aput v2, v0, v1
+0047fa: 1301 1900                              |0431: const/16 v1, #int 25 // #19
+0047fe: 1302 2c01                              |0433: const/16 v2, #int 300 // #12c
+004802: 4b02 0001                              |0435: aput v2, v0, v1
+004806: 1301 1a00                              |0437: const/16 v1, #int 26 // #1a
+00480a: 1302 4501                              |0439: const/16 v2, #int 325 // #145
+00480e: 4b02 0001                              |043b: aput v2, v0, v1
+004812: 1301 1b00                              |043d: const/16 v1, #int 27 // #1b
+004816: 1302 5f01                              |043f: const/16 v2, #int 351 // #15f
+00481a: 4b02 0001                              |0441: aput v2, v0, v1
+00481e: 1301 1c00                              |0443: const/16 v1, #int 28 // #1c
+004822: 1302 7a01                              |0445: const/16 v2, #int 378 // #17a
+004826: 4b02 0001                              |0447: aput v2, v0, v1
+00482a: 1301 1d00                              |0449: const/16 v1, #int 29 // #1d
+00482e: 1302 9601                              |044b: const/16 v2, #int 406 // #196
+004832: 4b02 0001                              |044d: aput v2, v0, v1
+004836: 1301 1e00                              |044f: const/16 v1, #int 30 // #1e
+00483a: 1302 b301                              |0451: const/16 v2, #int 435 // #1b3
+00483e: 4b02 0001                              |0453: aput v2, v0, v1
+004842: 1301 1f00                              |0455: const/16 v1, #int 31 // #1f
+004846: 1302 d101                              |0457: const/16 v2, #int 465 // #1d1
+00484a: 4b02 0001                              |0459: aput v2, v0, v1
+00484e: 6900 3800                              |045b: sput-object v0, Lcom/google/android/checkers/a;.L:[I // field@0038
+004852: 1300 8100                              |045d: const/16 v0, #int 129 // #81
+004856: 2300 3700                              |045f: new-array v0, v0, [I // type@0037
+00485a: 2600 0700 0000                         |0461: fill-array-data v0, 00000468 // +00000007
+004860: 6900 3900                              |0464: sput-object v0, Lcom/google/android/checkers/a;.M:[I // field@0039
+004864: 0e00                                   |0466: return-void
+004866: 0000                                   |0467: nop // spacer
+004868: 0003 0400 8100 0000 6745 68ba ff5c ... |0468: array-data (262 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #1              : (in Lcom/google/android/checkers/a;)
+      name          : '<init>'
+      type          : '(Lcom/google/android/checkers/CheckersView;)V'
+      access        : 0x10001 (PUBLIC CONSTRUCTOR)
+      code          -
+      registers     : 7
+      ins           : 2
+      outs          : 1
+      insns size    : 94 16-bit code units
+004a74:                                        |[004a74] com.google.android.checkers.a.<init>:(Lcom/google/android/checkers/CheckersView;)V
+004a84: 1304 4000                              |0000: const/16 v4, #int 64 // #40
+004a88: 1203                                   |0002: const/4 v3, #int 0 // #0
+004a8a: 1302 0010                              |0003: const/16 v2, #int 4096 // #1000
+004a8e: 1200                                   |0005: const/4 v0, #int 0 // #0
+004a90: 7010 ad00 0500                         |0006: invoke-direct {v5}, Ljava/lang/Thread;.<init>:()V // method@00ad
+004a96: 1301 e803                              |0009: const/16 v1, #int 1000 // #3e8
+004a9a: 5951 4100                              |000b: iput v1, v5, Lcom/google/android/checkers/a;.h:I // field@0041
+004a9e: 2201 3300                              |000d: new-instance v1, Ljava/util/Random; // type@0033
+004aa2: 7010 af00 0100                         |000f: invoke-direct {v1}, Ljava/util/Random;.<init>:()V // method@00af
+004aa8: 5b51 4200                              |0012: iput-object v1, v5, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042
+004aac: 5b56 4300                              |0014: iput-object v6, v5, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
+004ab0: 5c50 4400                              |0016: iput-boolean v0, v5, Lcom/google/android/checkers/a;.k:Z // field@0044
+004ab4: 2321 3700                              |0018: new-array v1, v2, [I // type@0037
+004ab8: 5b51 4800                              |001a: iput-object v1, v5, Lcom/google/android/checkers/a;.o:[I // field@0048
+004abc: 2321 3700                              |001c: new-array v1, v2, [I // type@0037
+004ac0: 5b51 3a00                              |001e: iput-object v1, v5, Lcom/google/android/checkers/a;.a:[I // field@003a
+004ac4: 2321 3700                              |0020: new-array v1, v2, [I // type@0037
+004ac8: 5b51 4900                              |0022: iput-object v1, v5, Lcom/google/android/checkers/a;.p:[I // field@0049
+004acc: 2341 3700                              |0024: new-array v1, v4, [I // type@0037
+004ad0: 5b51 3b00                              |0026: iput-object v1, v5, Lcom/google/android/checkers/a;.b:[I // field@003b
+004ad4: 2341 3700                              |0028: new-array v1, v4, [I // type@0037
+004ad8: 5b51 4a00                              |002a: iput-object v1, v5, Lcom/google/android/checkers/a;.q:[I // field@004a
+004adc: 5c50 4c00                              |002c: iput-boolean v0, v5, Lcom/google/android/checkers/a;.s:Z // field@004c
+004ae0: 1501 1000                              |002e: const/high16 v1, #int 1048576 // #10
+004ae4: 2311 3700                              |0030: new-array v1, v1, [I // type@0037
+004ae8: 5b51 5200                              |0032: iput-object v1, v5, Lcom/google/android/checkers/a;.y:[I // field@0052
+004aec: 1501 1000                              |0034: const/high16 v1, #int 1048576 // #10
+004af0: 2311 3900                              |0036: new-array v1, v1, [S // type@0039
+004af4: 5b51 5300                              |0038: iput-object v1, v5, Lcom/google/android/checkers/a;.z:[S // field@0053
+004af8: 1501 1000                              |003a: const/high16 v1, #int 1048576 // #10
+004afc: 2311 3600                              |003c: new-array v1, v1, [B // type@0036
+004b00: 5b51 2d00                              |003e: iput-object v1, v5, Lcom/google/android/checkers/a;.A:[B // field@002d
+004b04: 5451 5200                              |0040: iget-object v1, v5, Lcom/google/android/checkers/a;.y:[I // field@0052
+004b08: 3801 0b00                              |0042: if-eqz v1, 004d // +000b
+004b0c: 5451 5300                              |0044: iget-object v1, v5, Lcom/google/android/checkers/a;.z:[S // field@0053
+004b10: 3801 0700                              |0046: if-eqz v1, 004d // +0007
+004b14: 5451 2d00                              |0048: iget-object v1, v5, Lcom/google/android/checkers/a;.A:[B // field@002d
+004b18: 3801 0300                              |004a: if-eqz v1, 004d // +0003
+004b1c: 1210                                   |004c: const/4 v0, #int 1 // #1
+004b1e: 5c50 2e00                              |004d: iput-boolean v0, v5, Lcom/google/android/checkers/a;.B:Z // field@002e
+004b22: 6e10 7b00 0500                         |004f: invoke-virtual {v5}, Lcom/google/android/checkers/a;.a:()V // method@007b
+004b28: 6e10 8e00 0500                         |0052: invoke-virtual {v5}, Lcom/google/android/checkers/a;.start:()V // method@008e
+004b2e: 0e00                                   |0055: return-void
+004b30: 0d01                                   |0056: move-exception v1
+004b32: 5b53 5200                              |0057: iput-object v3, v5, Lcom/google/android/checkers/a;.y:[I // field@0052
+004b36: 5b53 5300                              |0059: iput-object v3, v5, Lcom/google/android/checkers/a;.z:[S // field@0053
+004b3a: 5b53 2d00                              |005b: iput-object v3, v5, Lcom/google/android/checkers/a;.A:[B // field@002d
+004b3e: 28e3                                   |005d: goto 0040 // -001d
+      catches       : 1
+        0x0030 - 0x0040
+          Ljava/lang/Exception; -> 0x0056
+      positions     : 
+      locals        : 
+
+    #2              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(II)I'
+      access        : 0x001a (PRIVATE STATIC FINAL)
+      code          -
+      registers     : 3
+      ins           : 2
+      outs          : 0
+      insns size    : 14 16-bit code units
+004b4c:                                        |[004b4c] com.google.android.checkers.a.a:(II)I
+004b5c: 3d01 0600                              |0000: if-lez v1, 0006 // +0006
+004b60: d010 757e                              |0002: add-int/lit16 v0, v1, #int 32373 // #7e75
+004b64: b120                                   |0004: sub-int/2addr v0, v2
+004b66: 0f00                                   |0005: return v0
+004b68: 3b01 0600                              |0006: if-gez v1, 000c // +0006
+004b6c: d010 8b81                              |0008: add-int/lit16 v0, v1, #int -32373 // #818b
+004b70: b020                                   |000a: add-int/2addr v0, v2
+004b72: 28fa                                   |000b: goto 0005 // -0006
+004b74: 1200                                   |000c: const/4 v0, #int 0 // #0
+004b76: 28f8                                   |000d: goto 0005 // -0008
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #3              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(IIIIIZ)I'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 31
+      ins           : 7
+      outs          : 7
+      insns size    : 1296 16-bit code units
+004b78:                                        |[004b78] com.google.android.checkers.a.a:(IIIIIZ)I
+004b88: 0800 1800                              |0000: move-object/from16 v0, v24
+004b8c: 5203 2f00                              |0002: iget v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f
+004b90: d803 0301                              |0004: add-int/lit8 v3, v3, #int 1 // #01
+004b94: 0800 1800                              |0006: move-object/from16 v0, v24
+004b98: 5903 2f00                              |0008: iput v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f
+004b9c: 0800 1800                              |000a: move-object/from16 v0, v24
+004ba0: 5203 4f00                              |000c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f
+004ba4: 3803 0800                              |000e: if-eqz v3, 0016 // +0008
+004ba8: 0800 1800                              |0010: move-object/from16 v0, v24
+004bac: 5203 5000                              |0012: iget v3, v0, Lcom/google/android/checkers/a;.w:I // field@0050
+004bb0: 3903 0700                              |0014: if-nez v3, 001b // +0007
+004bb4: 0200 1b00                              |0016: move/from16 v0, v27
+004bb8: d004 0c81                              |0018: add-int/lit16 v4, v0, #int -32500 // #810c
+004bbc: 0f04                                   |001a: return v4
+004bbe: 0800 1800                              |001b: move-object/from16 v0, v24
+004bc2: 5503 4e00                              |001d: iget-boolean v3, v0, Lcom/google/android/checkers/a;.u:Z // field@004e
+004bc6: 3803 0e00                              |001f: if-eqz v3, 002d // +000e
+004bca: 0800 1800                              |0021: move-object/from16 v0, v24
+004bce: 5203 4f00                              |0023: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f
+004bd2: 0800 1800                              |0025: move-object/from16 v0, v24
+004bd6: 5204 5000                              |0027: iget v4, v0, Lcom/google/android/checkers/a;.w:I // field@0050
+004bda: b043                                   |0029: add-int/2addr v3, v4
+004bdc: 2b03 c004 0000                         |002a: packed-switch v3, 000004ea // +000004c0
+004be2: 1303 4000                              |002d: const/16 v3, #int 64 // #40
+004be6: 0200 1c00                              |002f: move/from16 v0, v28
+004bea: 3530 b404                              |0031: if-ge v0, v3, 04e5 // +04b4
+004bee: 1303 6400                              |0033: const/16 v3, #int 100 // #64
+004bf2: 0200 1d00                              |0035: move/from16 v0, v29
+004bf6: 3430 ae04                              |0037: if-lt v0, v3, 04e5 // +04ae
+004bfa: d81d 1d9c                              |0039: add-int/lit8 v29, v29, #int -100 // #9c
+004bfe: d81c 1c01                              |003b: add-int/lit8 v28, v28, #int 1 // #01
+004c02: 0207 1c00                              |003d: move/from16 v7, v28
+004c06: 0200 1b00                              |003f: move/from16 v0, v27
+004c0a: 3570 8103                              |0041: if-ge v0, v7, 03c2 // +0381
+004c0e: 0800 1800                              |0043: move-object/from16 v0, v24
+004c12: 5503 2e00                              |0045: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e
+004c16: 3803 3400                              |0047: if-eqz v3, 007b // +0034
+004c1a: 0800 1800                              |0049: move-object/from16 v0, v24
+004c1e: 5203 5100                              |004b: iget v3, v0, Lcom/google/android/checkers/a;.x:I // field@0051
+004c22: 1404 ffff 0f00                         |004d: const v4, #float 0.000000 // #000fffff
+004c28: b534                                   |0050: and-int/2addr v4, v3
+004c2a: 0800 1800                              |0051: move-object/from16 v0, v24
+004c2e: 5405 5200                              |0053: iget-object v5, v0, Lcom/google/android/checkers/a;.y:[I // field@0052
+004c32: 4405 0504                              |0055: aget v5, v5, v4
+004c36: 3335 d702                              |0057: if-ne v5, v3, 032e // +02d7
+004c3a: 0800 1800                              |0059: move-object/from16 v0, v24
+004c3e: 5403 2d00                              |005b: iget-object v3, v0, Lcom/google/android/checkers/a;.A:[B // field@002d
+004c42: 4803 0304                              |005d: aget-byte v3, v3, v4
+004c46: dd03 033f                              |005f: and-int/lit8 v3, v3, #int 63 // #3f
+004c4a: 9105 071b                              |0061: sub-int v5, v7, v27
+004c4e: 3453 cb02                              |0063: if-lt v3, v5, 032e // +02cb
+004c52: 0800 1800                              |0065: move-object/from16 v0, v24
+004c56: 5403 2d00                              |0067: iget-object v3, v0, Lcom/google/android/checkers/a;.A:[B // field@002d
+004c5a: 4803 0304                              |0069: aget-byte v3, v3, v4
+004c5e: d533 c000                              |006b: and-int/lit16 v3, v3, #int 192 // #00c0
+004c62: 0800 1800                              |006d: move-object/from16 v0, v24
+004c66: 5405 5300                              |006f: iget-object v5, v0, Lcom/google/android/checkers/a;.z:[S // field@0053
+004c6a: 4a04 0504                              |0071: aget-short v4, v5, v4
+004c6e: 2c03 8104 0000                         |0073: sparse-switch v3, 000004f4 // +00000481
+004c74: 1403 3f42 0f00                         |0076: const v3, #float 0.000000 // #000f423f
+004c7a: 3334 a1ff                              |0079: if-ne v4, v3, 001a // -005f
+004c7e: 0800 1800                              |007b: move-object/from16 v0, v24
+004c82: 0201 1b00                              |007d: move/from16 v1, v27
+004c86: 0202 1e00                              |007f: move/from16 v2, v30
+004c8a: 7030 7500 1002                         |0081: invoke-direct {v0, v1, v2}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075
+004c90: 0a03                                   |0084: move-result v3
+004c92: 2b03 7904 0000                         |0085: packed-switch v3, 000004fe // +00000479
+004c98: 0800 1800                              |0088: move-object/from16 v0, v24
+004c9c: 520d 3c00                              |008a: iget v13, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+004ca0: 0800 1800                              |008c: move-object/from16 v0, v24
+004ca4: 520e 4b00                              |008e: iget v14, v0, Lcom/google/android/checkers/a;.r:I // field@004b
+004ca8: 0800 1800                              |0090: move-object/from16 v0, v24
+004cac: 520f 3d00                              |0092: iget v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004cb0: 0800 1800                              |0094: move-object/from16 v0, v24
+004cb4: 5200 3e00                              |0096: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+004cb8: 0210 0000                              |0098: move/from16 v16, v0
+004cbc: 0800 1800                              |009a: move-object/from16 v0, v24
+004cc0: 5200 3f00                              |009c: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004cc4: 0211 0000                              |009e: move/from16 v17, v0
+004cc8: 0800 1800                              |00a0: move-object/from16 v0, v24
+004ccc: 5200 4000                              |00a2: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004cd0: 0212 0000                              |00a4: move/from16 v18, v0
+004cd4: 0800 1800                              |00a6: move-object/from16 v0, v24
+004cd8: 5200 4f00                              |00a8: iget v0, v0, Lcom/google/android/checkers/a;.v:I // field@004f
+004cdc: 0213 0000                              |00aa: move/from16 v19, v0
+004ce0: 0800 1800                              |00ac: move-object/from16 v0, v24
+004ce4: 5200 5000                              |00ae: iget v0, v0, Lcom/google/android/checkers/a;.w:I // field@0050
+004ce8: 0214 0000                              |00b0: move/from16 v20, v0
+004cec: 0800 1800                              |00b2: move-object/from16 v0, v24
+004cf0: 5200 5100                              |00b4: iget v0, v0, Lcom/google/android/checkers/a;.x:I // field@0051
+004cf4: 0215 0000                              |00b6: move/from16 v21, v0
+004cf8: 2b0d 4e04 0000                         |00b8: packed-switch v13, 00000506 // +0000044e
+004cfe: 1208                                   |00bb: const/4 v8, #int 0 // #0
+004d00: 130a 4000                              |00bc: const/16 v10, #int 64 // #40
+004d04: 1203                                   |00be: const/4 v3, #int 0 // #0
+004d06: 013c                                   |00bf: move v12, v3
+004d08: 020b 1900                              |00c0: move/from16 v11, v25
+004d0c: 34dc 9602                              |00c2: if-lt v12, v13, 0358 // +0296
+004d10: 0800 1800                              |00c4: move-object/from16 v0, v24
+004d14: 5503 2e00                              |00c6: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e
+004d18: 3803 0900                              |00c8: if-eqz v3, 00d1 // +0009
+004d1c: 0800 1800                              |00ca: move-object/from16 v0, v24
+004d20: 0201 1b00                              |00cc: move/from16 v1, v27
+004d24: 705b 7d00 10a7                         |00ce: invoke-direct {v0, v1, v7, v10, v11}, Lcom/google/android/checkers/a;.a:(IIII)V // method@007d
+004d2a: 01b4                                   |00d1: move v4, v11
+004d2c: 2900 48ff                              |00d2: goto/16 001a // -00b8
+004d30: 0800 1800                              |00d4: move-object/from16 v0, v24
+004d34: 5203 3d00                              |00d6: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004d38: 3803 3800                              |00d8: if-eqz v3, 0110 // +0038
+004d3c: 0800 1800                              |00da: move-object/from16 v0, v24
+004d40: 5203 3f00                              |00dc: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004d44: 3803 3200                              |00de: if-eqz v3, 0110 // +0032
+004d48: 0800 1800                              |00e0: move-object/from16 v0, v24
+004d4c: 5203 3d00                              |00e2: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004d50: 0800 1800                              |00e4: move-object/from16 v0, v24
+004d54: 5205 3f00                              |00e6: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004d58: 381e 1b00                              |00e8: if-eqz v30, 0103 // +001b
+004d5c: 7110 9f00 0300                         |00ea: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+004d62: 0a04                                   |00ed: move-result v4
+004d64: 7110 9f00 0500                         |00ee: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+004d6a: 0a03                                   |00f1: move-result v3
+004d6c: d803 03fc                              |00f2: add-int/lit8 v3, v3, #int -4 // #fc
+004d70: 6205 5c00                              |00f4: sget-object v5, Lcom/google/android/checkers/g;.d:[B // field@005c
+004d74: da03 031c                              |00f6: mul-int/lit8 v3, v3, #int 28 // #1c
+004d78: b043                                   |00f8: add-int/2addr v3, v4
+004d7a: 4803 0503                              |00f9: aget-byte v3, v5, v3
+004d7e: 0200 1b00                              |00fb: move/from16 v0, v27
+004d82: 7120 7300 0300                         |00fd: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073
+004d88: 0a04                                   |0100: move-result v4
+004d8a: 2900 19ff                              |0101: goto/16 001a // -00e7
+004d8e: 7110 9f00 0500                         |0103: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+004d94: 0a04                                   |0106: move-result v4
+004d96: d904 041f                              |0107: rsub-int/lit8 v4, v4, #int 31 // #1f
+004d9a: 7110 9f00 0300                         |0109: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+004da0: 0a03                                   |010c: move-result v3
+004da2: d903 031f                              |010d: rsub-int/lit8 v3, v3, #int 31 // #1f
+004da6: 28e3                                   |010f: goto 00f2 // -001d
+004da8: 0800 1800                              |0110: move-object/from16 v0, v24
+004dac: 5203 3f00                              |0112: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004db0: 3803 1200                              |0114: if-eqz v3, 0126 // +0012
+004db4: 0800 1800                              |0116: move-object/from16 v0, v24
+004db8: 5203 3e00                              |0118: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+004dbc: 0800 1800                              |011a: move-object/from16 v0, v24
+004dc0: 5204 3f00                              |011c: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004dc4: 1205                                   |011e: const/4 v5, #int 0 // #0
+004dc6: 0200 1e00                              |011f: move/from16 v0, v30
+004dca: 7140 7900 3054                         |0121: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(ZIIZ)I // method@0079
+004dd0: 0a03                                   |0124: move-result v3
+004dd2: 28d6                                   |0125: goto 00fb // -002a
+004dd4: 0800 1800                              |0126: move-object/from16 v0, v24
+004dd8: 5203 3d00                              |0128: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004ddc: 3803 1500                              |012a: if-eqz v3, 013f // +0015
+004de0: 381e 1100                              |012c: if-eqz v30, 013d // +0011
+004de4: 1203                                   |012e: const/4 v3, #int 0 // #0
+004de6: 0800 1800                              |012f: move-object/from16 v0, v24
+004dea: 5204 4000                              |0131: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004dee: 0800 1800                              |0133: move-object/from16 v0, v24
+004df2: 5205 3d00                              |0135: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004df6: 1216                                   |0137: const/4 v6, #int 1 // #1
+004df8: 7140 7900 4365                         |0138: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.a:(ZIIZ)I // method@0079
+004dfe: 0a03                                   |013b: move-result v3
+004e00: 28bf                                   |013c: goto 00fb // -0041
+004e02: 1213                                   |013d: const/4 v3, #int 1 // #1
+004e04: 28f1                                   |013e: goto 012f // -000f
+004e06: 0800 1800                              |013f: move-object/from16 v0, v24
+004e0a: 5203 3e00                              |0141: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+004e0e: 0800 1800                              |0143: move-object/from16 v0, v24
+004e12: 5205 4000                              |0145: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004e16: 381e 1a00                              |0147: if-eqz v30, 0161 // +001a
+004e1a: 7110 9f00 0300                         |0149: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+004e20: 0a04                                   |014c: move-result v4
+004e22: 7110 9f00 0500                         |014d: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+004e28: 0a03                                   |0150: move-result v3
+004e2a: 1305 1000                              |0151: const/16 v5, #int 16 // #10
+004e2e: 3454 0600                              |0153: if-lt v4, v5, 0159 // +0006
+004e32: d904 041f                              |0155: rsub-int/lit8 v4, v4, #int 31 // #1f
+004e36: d903 031f                              |0157: rsub-int/lit8 v3, v3, #int 31 // #1f
+004e3a: 6205 5900                              |0159: sget-object v5, Lcom/google/android/checkers/g;.a:[B // field@0059
+004e3e: da03 0310                              |015b: mul-int/lit8 v3, v3, #int 16 // #10
+004e42: b043                                   |015d: add-int/2addr v3, v4
+004e44: 4803 0503                              |015e: aget-byte v3, v5, v3
+004e48: 289b                                   |0160: goto 00fb // -0065
+004e4a: 7110 9f00 0500                         |0161: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+004e50: 0a04                                   |0164: move-result v4
+004e52: 7110 9f00 0300                         |0165: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+004e58: 0a03                                   |0168: move-result v3
+004e5a: 28e8                                   |0169: goto 0151 // -0018
+004e5c: 0800 1800                              |016a: move-object/from16 v0, v24
+004e60: 5203 4f00                              |016c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f
+004e64: 1214                                   |016e: const/4 v4, #int 1 // #1
+004e66: 3343 a000                              |016f: if-ne v3, v4, 020f // +00a0
+004e6a: 0800 1800                              |0171: move-object/from16 v0, v24
+004e6e: 5203 3d00                              |0173: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004e72: 3803 5200                              |0175: if-eqz v3, 01c7 // +0052
+004e76: 0800 1800                              |0177: move-object/from16 v0, v24
+004e7a: 5203 4000                              |0179: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004e7e: 3903 1c00                              |017b: if-nez v3, 0197 // +001c
+004e82: 381e 1800                              |017d: if-eqz v30, 0195 // +0018
+004e86: 1203                                   |017f: const/4 v3, #int 0 // #0
+004e88: 0800 1800                              |0180: move-object/from16 v0, v24
+004e8c: 5204 3f00                              |0182: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004e90: 0800 1800                              |0184: move-object/from16 v0, v24
+004e94: 5205 3d00                              |0186: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004e98: 1216                                   |0188: const/4 v6, #int 1 // #1
+004e9a: 7140 8c00 4365                         |0189: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.d:(ZIIZ)I // method@008c
+004ea0: 0a03                                   |018c: move-result v3
+004ea2: 0200 1b00                              |018d: move/from16 v0, v27
+004ea6: 7120 7300 0300                         |018f: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073
+004eac: 0a04                                   |0192: move-result v4
+004eae: 2900 87fe                              |0193: goto/16 001a // -0179
+004eb2: 1213                                   |0195: const/4 v3, #int 1 // #1
+004eb4: 28ea                                   |0196: goto 0180 // -0016
+004eb6: 0800 1800                              |0197: move-object/from16 v0, v24
+004eba: 5203 3f00                              |0199: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004ebe: 3803 1900                              |019b: if-eqz v3, 01b4 // +0019
+004ec2: 381e 1500                              |019d: if-eqz v30, 01b2 // +0015
+004ec6: 1203                                   |019f: const/4 v3, #int 0 // #0
+004ec8: 0800 1800                              |01a0: move-object/from16 v0, v24
+004ecc: 5204 3f00                              |01a2: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004ed0: 0800 1800                              |01a4: move-object/from16 v0, v24
+004ed4: 5205 4000                              |01a6: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004ed8: 0800 1800                              |01a8: move-object/from16 v0, v24
+004edc: 5206 3d00                              |01aa: iget v6, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004ee0: 1217                                   |01ac: const/4 v7, #int 1 // #1
+004ee2: 7157 8200 4365                         |01ad: invoke-static {v3, v4, v5, v6, v7}, Lcom/google/android/checkers/a;.b:(ZIIIZ)I // method@0082
+004ee8: 0a03                                   |01b0: move-result v3
+004eea: 28dc                                   |01b1: goto 018d // -0024
+004eec: 1213                                   |01b2: const/4 v3, #int 1 // #1
+004eee: 28ed                                   |01b3: goto 01a0 // -0013
+004ef0: 381e 1100                              |01b4: if-eqz v30, 01c5 // +0011
+004ef4: 1203                                   |01b6: const/4 v3, #int 0 // #0
+004ef6: 0800 1800                              |01b7: move-object/from16 v0, v24
+004efa: 5204 4000                              |01b9: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004efe: 0800 1800                              |01bb: move-object/from16 v0, v24
+004f02: 5205 3d00                              |01bd: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004f06: 1216                                   |01bf: const/4 v6, #int 1 // #1
+004f08: 7140 8300 4365                         |01c0: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.b:(ZIIZ)I // method@0083
+004f0e: 0a03                                   |01c3: move-result v3
+004f10: 28c9                                   |01c4: goto 018d // -0037
+004f12: 1213                                   |01c5: const/4 v3, #int 1 // #1
+004f14: 28f1                                   |01c6: goto 01b7 // -000f
+004f16: 0800 1800                              |01c7: move-object/from16 v0, v24
+004f1a: 5203 4000                              |01c9: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004f1e: 3903 1500                              |01cb: if-nez v3, 01e0 // +0015
+004f22: 381e 1100                              |01cd: if-eqz v30, 01de // +0011
+004f26: 1203                                   |01cf: const/4 v3, #int 0 // #0
+004f28: 0800 1800                              |01d0: move-object/from16 v0, v24
+004f2c: 5204 3f00                              |01d2: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004f30: 0800 1800                              |01d4: move-object/from16 v0, v24
+004f34: 5205 3e00                              |01d6: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+004f38: 1216                                   |01d8: const/4 v6, #int 1 // #1
+004f3a: 7140 8900 4365                         |01d9: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.c:(ZIIZ)I // method@0089
+004f40: 0a03                                   |01dc: move-result v3
+004f42: 28b0                                   |01dd: goto 018d // -0050
+004f44: 1213                                   |01de: const/4 v3, #int 1 // #1
+004f46: 28f1                                   |01df: goto 01d0 // -000f
+004f48: 0800 1800                              |01e0: move-object/from16 v0, v24
+004f4c: 5203 3f00                              |01e2: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004f50: 3803 1900                              |01e4: if-eqz v3, 01fd // +0019
+004f54: 381e 1500                              |01e6: if-eqz v30, 01fb // +0015
+004f58: 1203                                   |01e8: const/4 v3, #int 0 // #0
+004f5a: 0800 1800                              |01e9: move-object/from16 v0, v24
+004f5e: 5204 3f00                              |01eb: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004f62: 0800 1800                              |01ed: move-object/from16 v0, v24
+004f66: 5205 4000                              |01ef: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004f6a: 0800 1800                              |01f1: move-object/from16 v0, v24
+004f6e: 5206 3e00                              |01f3: iget v6, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+004f72: 1217                                   |01f5: const/4 v7, #int 1 // #1
+004f74: 7157 7800 4365                         |01f6: invoke-static {v3, v4, v5, v6, v7}, Lcom/google/android/checkers/a;.a:(ZIIIZ)I // method@0078
+004f7a: 0a03                                   |01f9: move-result v3
+004f7c: 2893                                   |01fa: goto 018d // -006d
+004f7e: 1213                                   |01fb: const/4 v3, #int 1 // #1
+004f80: 28ed                                   |01fc: goto 01e9 // -0013
+004f82: 381e 1000                              |01fd: if-eqz v30, 020d // +0010
+004f86: 1203                                   |01ff: const/4 v3, #int 0 // #0
+004f88: 0800 1800                              |0200: move-object/from16 v0, v24
+004f8c: 5204 4000                              |0202: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+004f90: 0800 1800                              |0204: move-object/from16 v0, v24
+004f94: 5205 3e00                              |0206: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+004f98: 7130 7700 4305                         |0208: invoke-static {v3, v4, v5}, Lcom/google/android/checkers/a;.a:(ZII)I // method@0077
+004f9e: 0a03                                   |020b: move-result v3
+004fa0: 2881                                   |020c: goto 018d // -007f
+004fa2: 1213                                   |020d: const/4 v3, #int 1 // #1
+004fa4: 28f2                                   |020e: goto 0200 // -000e
+004fa6: 0800 1800                              |020f: move-object/from16 v0, v24
+004faa: 5203 3f00                              |0211: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004fae: 3803 4500                              |0213: if-eqz v3, 0258 // +0045
+004fb2: 0800 1800                              |0215: move-object/from16 v0, v24
+004fb6: 5203 3e00                              |0217: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+004fba: 3903 1300                              |0219: if-nez v3, 022c // +0013
+004fbe: 0800 1800                              |021b: move-object/from16 v0, v24
+004fc2: 5203 3d00                              |021d: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004fc6: 0800 1800                              |021f: move-object/from16 v0, v24
+004fca: 5204 3f00                              |0221: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+004fce: 1205                                   |0223: const/4 v5, #int 0 // #0
+004fd0: 0200 1e00                              |0224: move/from16 v0, v30
+004fd4: 7140 8c00 3054                         |0226: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.d:(ZIIZ)I // method@008c
+004fda: 0a03                                   |0229: move-result v3
+004fdc: 2900 63ff                              |022a: goto/16 018d // -009d
+004fe0: 0800 1800                              |022c: move-object/from16 v0, v24
+004fe4: 5203 3d00                              |022e: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004fe8: 3803 1700                              |0230: if-eqz v3, 0247 // +0017
+004fec: 0800 1800                              |0232: move-object/from16 v0, v24
+004ff0: 5203 3d00                              |0234: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+004ff4: 0800 1800                              |0236: move-object/from16 v0, v24
+004ff8: 5204 3e00                              |0238: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+004ffc: 0800 1800                              |023a: move-object/from16 v0, v24
+005000: 5205 3f00                              |023c: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+005004: 1206                                   |023e: const/4 v6, #int 0 // #0
+005006: 0200 1e00                              |023f: move/from16 v0, v30
+00500a: 7156 8200 3054                         |0241: invoke-static {v0, v3, v4, v5, v6}, Lcom/google/android/checkers/a;.b:(ZIIIZ)I // method@0082
+005010: 0a03                                   |0244: move-result v3
+005012: 2900 48ff                              |0245: goto/16 018d // -00b8
+005016: 0800 1800                              |0247: move-object/from16 v0, v24
+00501a: 5203 3e00                              |0249: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+00501e: 0800 1800                              |024b: move-object/from16 v0, v24
+005022: 5204 3f00                              |024d: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+005026: 1205                                   |024f: const/4 v5, #int 0 // #0
+005028: 0200 1e00                              |0250: move/from16 v0, v30
+00502c: 7140 8300 3054                         |0252: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.b:(ZIIZ)I // method@0083
+005032: 0a03                                   |0255: move-result v3
+005034: 2900 37ff                              |0256: goto/16 018d // -00c9
+005038: 0800 1800                              |0258: move-object/from16 v0, v24
+00503c: 5203 3e00                              |025a: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005040: 3903 1300                              |025c: if-nez v3, 026f // +0013
+005044: 0800 1800                              |025e: move-object/from16 v0, v24
+005048: 5203 3d00                              |0260: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+00504c: 0800 1800                              |0262: move-object/from16 v0, v24
+005050: 5204 4000                              |0264: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005054: 1205                                   |0266: const/4 v5, #int 0 // #0
+005056: 0200 1e00                              |0267: move/from16 v0, v30
+00505a: 7140 8900 3054                         |0269: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.c:(ZIIZ)I // method@0089
+005060: 0a03                                   |026c: move-result v3
+005062: 2900 20ff                              |026d: goto/16 018d // -00e0
+005066: 0800 1800                              |026f: move-object/from16 v0, v24
+00506a: 5203 3d00                              |0271: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+00506e: 3803 1700                              |0273: if-eqz v3, 028a // +0017
+005072: 0800 1800                              |0275: move-object/from16 v0, v24
+005076: 5203 3d00                              |0277: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+00507a: 0800 1800                              |0279: move-object/from16 v0, v24
+00507e: 5204 3e00                              |027b: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005082: 0800 1800                              |027d: move-object/from16 v0, v24
+005086: 5205 4000                              |027f: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+00508a: 1206                                   |0281: const/4 v6, #int 0 // #0
+00508c: 0200 1e00                              |0282: move/from16 v0, v30
+005090: 7156 7800 3054                         |0284: invoke-static {v0, v3, v4, v5, v6}, Lcom/google/android/checkers/a;.a:(ZIIIZ)I // method@0078
+005096: 0a03                                   |0287: move-result v3
+005098: 2900 05ff                              |0288: goto/16 018d // -00fb
+00509c: 0800 1800                              |028a: move-object/from16 v0, v24
+0050a0: 5203 3e00                              |028c: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+0050a4: 0800 1800                              |028e: move-object/from16 v0, v24
+0050a8: 5204 4000                              |0290: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+0050ac: 0200 1e00                              |0292: move/from16 v0, v30
+0050b0: 7130 7700 3004                         |0294: invoke-static {v0, v3, v4}, Lcom/google/android/checkers/a;.a:(ZII)I // method@0077
+0050b6: 0a03                                   |0297: move-result v3
+0050b8: 2900 f5fe                              |0298: goto/16 018d // -010b
+0050bc: 0800 1800                              |029a: move-object/from16 v0, v24
+0050c0: 5203 4f00                              |029c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f
+0050c4: 1224                                   |029e: const/4 v4, #int 2 // #2
+0050c6: 3343 8efd                              |029f: if-ne v3, v4, 002d // -0272
+0050ca: 0800 1800                              |02a1: move-object/from16 v0, v24
+0050ce: 5203 5000                              |02a3: iget v3, v0, Lcom/google/android/checkers/a;.w:I // field@0050
+0050d2: 1224                                   |02a5: const/4 v4, #int 2 // #2
+0050d4: 3343 87fd                              |02a6: if-ne v3, v4, 002d // -0279
+0050d8: 0800 1800                              |02a8: move-object/from16 v0, v24
+0050dc: 5203 3d00                              |02aa: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+0050e0: 3903 81fd                              |02ac: if-nez v3, 002d // -027f
+0050e4: 0800 1800                              |02ae: move-object/from16 v0, v24
+0050e8: 5203 3f00                              |02b0: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+0050ec: 3903 7bfd                              |02b2: if-nez v3, 002d // -0285
+0050f0: 0800 1800                              |02b4: move-object/from16 v0, v24
+0050f4: 5203 3e00                              |02b6: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+0050f8: 0800 1800                              |02b8: move-object/from16 v0, v24
+0050fc: 5207 4000                              |02ba: iget v7, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005100: 381e 4000                              |02bc: if-eqz v30, 02fc // +0040
+005104: 7110 9f00 0300                         |02be: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+00510a: 0a06                                   |02c1: move-result v6
+00510c: d804 03ff                              |02c2: add-int/lit8 v4, v3, #int -1 // #ff
+005110: b543                                   |02c4: and-int/2addr v3, v4
+005112: 7110 9f00 0300                         |02c5: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005118: 0a05                                   |02c8: move-result v5
+00511a: 7110 9f00 0700                         |02c9: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005120: 0a04                                   |02cc: move-result v4
+005122: d803 07ff                              |02cd: add-int/lit8 v3, v7, #int -1 // #ff
+005126: b573                                   |02cf: and-int/2addr v3, v7
+005128: 7110 9f00 0300                         |02d0: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+00512e: 0a03                                   |02d3: move-result v3
+005130: 0216 0300                              |02d4: move/from16 v22, v3
+005134: 0153                                   |02d6: move v3, v5
+005136: 0205 1600                              |02d7: move/from16 v5, v22
+00513a: 0217 0400                              |02d9: move/from16 v23, v4
+00513e: 0164                                   |02db: move v4, v6
+005140: 0206 1700                              |02dc: move/from16 v6, v23
+005144: 3534 3f00                              |02de: if-ge v4, v3, 031d // +003f
+005148: 6207 3800                              |02e0: sget-object v7, Lcom/google/android/checkers/a;.L:[I // field@0038
+00514c: 4403 0703                              |02e2: aget v3, v7, v3
+005150: b043                                   |02e4: add-int/2addr v3, v4
+005152: 0134                                   |02e5: move v4, v3
+005154: 3556 3e00                              |02e6: if-ge v6, v5, 0324 // +003e
+005158: 6203 3800                              |02e8: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+00515c: 4403 0305                              |02ea: aget v3, v3, v5
+005160: b063                                   |02ec: add-int/2addr v3, v6
+005162: 6205 6900                              |02ed: sget-object v5, Lcom/google/android/checkers/g;.q:[B // field@0069
+005166: d244 f001                              |02ef: mul-int/lit16 v4, v4, #int 496 // #01f0
+00516a: b043                                   |02f1: add-int/2addr v3, v4
+00516c: 4803 0503                              |02f2: aget-byte v3, v5, v3
+005170: 0200 1b00                              |02f4: move/from16 v0, v27
+005174: 7120 7300 0300                         |02f6: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073
+00517a: 0a04                                   |02f9: move-result v4
+00517c: 2900 20fd                              |02fa: goto/16 001a // -02e0
+005180: 7110 9f00 0700                         |02fc: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005186: 0a06                                   |02ff: move-result v6
+005188: d804 07ff                              |0300: add-int/lit8 v4, v7, #int -1 // #ff
+00518c: b574                                   |0302: and-int/2addr v4, v7
+00518e: 7110 9f00 0400                         |0303: invoke-static {v4}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005194: 0a05                                   |0306: move-result v5
+005196: 7110 9f00 0300                         |0307: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+00519c: 0a04                                   |030a: move-result v4
+00519e: d807 03ff                              |030b: add-int/lit8 v7, v3, #int -1 // #ff
+0051a2: b573                                   |030d: and-int/2addr v3, v7
+0051a4: 7110 9f00 0300                         |030e: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0051aa: 0a03                                   |0311: move-result v3
+0051ac: 0216 0300                              |0312: move/from16 v22, v3
+0051b0: 0153                                   |0314: move v3, v5
+0051b2: 0205 1600                              |0315: move/from16 v5, v22
+0051b6: 0217 0400                              |0317: move/from16 v23, v4
+0051ba: 0164                                   |0319: move v4, v6
+0051bc: 0206 1700                              |031a: move/from16 v6, v23
+0051c0: 28c2                                   |031c: goto 02de // -003e
+0051c2: 6207 3800                              |031d: sget-object v7, Lcom/google/android/checkers/a;.L:[I // field@0038
+0051c6: 4404 0704                              |031f: aget v4, v7, v4
+0051ca: b043                                   |0321: add-int/2addr v3, v4
+0051cc: 0134                                   |0322: move v4, v3
+0051ce: 28c3                                   |0323: goto 02e6 // -003d
+0051d0: 6203 3800                              |0324: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+0051d4: 4403 0306                              |0326: aget v3, v3, v6
+0051d8: b053                                   |0328: add-int/2addr v3, v5
+0051da: 28c4                                   |0329: goto 02ed // -003c
+0051dc: 0200 1900                              |032a: move/from16 v0, v25
+0051e0: 3704 4afd                              |032c: if-le v4, v0, 0076 // -02b6
+0051e4: 1404 3f42 0f00                         |032e: const v4, #float 0.000000 // #000f423f
+0051ea: 2900 45fd                              |0331: goto/16 0076 // -02bb
+0051ee: 0200 1a00                              |0333: move/from16 v0, v26
+0051f2: 3404 f9ff                              |0335: if-lt v4, v0, 032e // -0007
+0051f6: 2900 3ffd                              |0337: goto/16 0076 // -02c1
+0051fa: 0200 1b00                              |0339: move/from16 v0, v27
+0051fe: d004 0c81                              |033b: add-int/lit16 v4, v0, #int -32500 // #810c
+005202: 2900 ddfc                              |033d: goto/16 001a // -0323
+005206: 9103 071b                              |033f: sub-int v3, v7, v27
+00520a: 1214                                   |0341: const/4 v4, #int 1 // #1
+00520c: 3643 46fd                              |0342: if-gt v3, v4, 0088 // -02ba
+005210: 1303 4000                              |0344: const/16 v3, #int 64 // #40
+005214: 3537 42fd                              |0346: if-ge v7, v3, 0088 // -02be
+005218: d807 0701                              |0348: add-int/lit8 v7, v7, #int 1 // #01
+00521c: 2900 3efd                              |034a: goto/16 0088 // -02c2
+005220: d808 1d1e                              |034c: add-int/lit8 v8, v29, #int 30 // #1e
+005224: 2900 6efd                              |034e: goto/16 00bc // -0292
+005228: d808 1d0a                              |0350: add-int/lit8 v8, v29, #int 10 // #0a
+00522c: 2900 6afd                              |0352: goto/16 00bc // -0296
+005230: d808 1d05                              |0354: add-int/lit8 v8, v29, #int 5 // #05
+005234: 2900 66fd                              |0356: goto/16 00bc // -029a
+005238: 9003 0e0c                              |0358: add-int v3, v14, v12
+00523c: 0800 1800                              |035a: move-object/from16 v0, v24
+005240: 7020 8500 3000                         |035c: invoke-direct {v0, v3}, Lcom/google/android/checkers/a;.b:(I)V // method@0085
+005246: 0200 1a00                              |035f: move/from16 v0, v26
+00524a: 7b04                                   |0361: neg-int v4, v0
+00524c: 7bb5                                   |0362: neg-int v5, v11
+00524e: d806 1b01                              |0363: add-int/lit8 v6, v27, #int 1 // #01
+005252: 381e 3b00                              |0365: if-eqz v30, 03a0 // +003b
+005256: 1209                                   |0367: const/4 v9, #int 0 // #0
+005258: 0803 1800                              |0368: move-object/from16 v3, v24
+00525c: 7607 7400 0300                         |036a: invoke-direct/range {v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIZ)I // method@0074
+005262: 0a03                                   |036d: move-result v3
+005264: 7b34                                   |036e: neg-int v4, v3
+005266: 0800 1800                              |036f: move-object/from16 v0, v24
+00526a: 590f 3d00                              |0371: iput v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+00526e: 0200 1000                              |0373: move/from16 v0, v16
+005272: 0801 1800                              |0375: move-object/from16 v1, v24
+005276: 5910 3e00                              |0377: iput v0, v1, Lcom/google/android/checkers/a;.e:I // field@003e
+00527a: 0200 1100                              |0379: move/from16 v0, v17
+00527e: 0801 1800                              |037b: move-object/from16 v1, v24
+005282: 5910 3f00                              |037d: iput v0, v1, Lcom/google/android/checkers/a;.f:I // field@003f
+005286: 0200 1200                              |037f: move/from16 v0, v18
+00528a: 0801 1800                              |0381: move-object/from16 v1, v24
+00528e: 5910 4000                              |0383: iput v0, v1, Lcom/google/android/checkers/a;.g:I // field@0040
+005292: 0200 1300                              |0385: move/from16 v0, v19
+005296: 0801 1800                              |0387: move-object/from16 v1, v24
+00529a: 5910 4f00                              |0389: iput v0, v1, Lcom/google/android/checkers/a;.v:I // field@004f
+00529e: 0200 1400                              |038b: move/from16 v0, v20
+0052a2: 0801 1800                              |038d: move-object/from16 v1, v24
+0052a6: 5910 5000                              |038f: iput v0, v1, Lcom/google/android/checkers/a;.w:I // field@0050
+0052aa: 0200 1500                              |0391: move/from16 v0, v21
+0052ae: 0801 1800                              |0393: move-object/from16 v1, v24
+0052b2: 5910 5100                              |0395: iput v0, v1, Lcom/google/android/checkers/a;.x:I // field@0051
+0052b6: 0800 1800                              |0397: move-object/from16 v0, v24
+0052ba: 5503 4600                              |0399: iget-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046
+0052be: 3803 0700                              |039b: if-eqz v3, 03a2 // +0007
+0052c2: 1204                                   |039d: const/4 v4, #int 0 // #0
+0052c4: 2900 7cfc                              |039e: goto/16 001a // -0384
+0052c8: 1219                                   |03a0: const/4 v9, #int 1 // #1
+0052ca: 28c7                                   |03a1: goto 0368 // -0039
+0052cc: 37b4 3f01                              |03a2: if-le v4, v11, 04e1 // +013f
+0052d0: 0200 1a00                              |03a4: move/from16 v0, v26
+0052d4: 3404 1300                              |03a6: if-lt v4, v0, 03b9 // +0013
+0052d8: 0800 1800                              |03a8: move-object/from16 v0, v24
+0052dc: 5503 2e00                              |03aa: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e
+0052e0: 3803 6efc                              |03ac: if-eqz v3, 001a // -0392
+0052e4: 1303 8000                              |03ae: const/16 v3, #int 128 // #80
+0052e8: 0800 1800                              |03b0: move-object/from16 v0, v24
+0052ec: 0201 1b00                              |03b2: move/from16 v1, v27
+0052f0: 7054 7d00 1037                         |03b4: invoke-direct {v0, v1, v7, v3, v4}, Lcom/google/android/checkers/a;.a:(IIII)V // method@007d
+0052f6: 2900 63fc                              |03b7: goto/16 001a // -039d
+0052fa: 1303 c000                              |03b9: const/16 v3, #int 192 // #c0
+0052fe: d805 0c01                              |03bb: add-int/lit8 v5, v12, #int 1 // #01
+005302: 015c                                   |03bd: move v12, v5
+005304: 013a                                   |03be: move v10, v3
+005306: 014b                                   |03bf: move v11, v4
+005308: 2900 02fd                              |03c0: goto/16 00c2 // -02fe
+00530c: 0800 1800                              |03c2: move-object/from16 v0, v24
+005310: 5203 4700                              |03c4: iget v3, v0, Lcom/google/android/checkers/a;.n:I // field@0047
+005314: d804 0301                              |03c6: add-int/lit8 v4, v3, #int 1 // #01
+005318: 0800 1800                              |03c8: move-object/from16 v0, v24
+00531c: 5904 4700                              |03ca: iput v4, v0, Lcom/google/android/checkers/a;.n:I // field@0047
+005320: 1304 8813                              |03cc: const/16 v4, #int 5000 // #1388
+005324: 3743 2100                              |03ce: if-le v3, v4, 03ef // +0021
+005328: 1203                                   |03d0: const/4 v3, #int 0 // #0
+00532a: 0800 1800                              |03d1: move-object/from16 v0, v24
+00532e: 5903 4700                              |03d3: iput v3, v0, Lcom/google/android/checkers/a;.n:I // field@0047
+005332: 7100 ab00 0000                         |03d5: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@00ab
+005338: 0b03                                   |03d8: move-result-wide v3
+00533a: 0800 1800                              |03d9: move-object/from16 v0, v24
+00533e: 5305 4500                              |03db: iget-wide v5, v0, Lcom/google/android/checkers/a;.l:J // field@0045
+005342: 0800 1800                              |03dd: move-object/from16 v0, v24
+005346: 5207 4100                              |03df: iget v7, v0, Lcom/google/android/checkers/a;.h:I // field@0041
+00534a: 8177                                   |03e1: int-to-long v7, v7
+00534c: bb75                                   |03e2: add-long/2addr v5, v7
+00534e: 3103 0305                              |03e3: cmp-long v3, v3, v5
+005352: 3d03 0a00                              |03e5: if-lez v3, 03ef // +000a
+005356: 1213                                   |03e7: const/4 v3, #int 1 // #1
+005358: 0800 1800                              |03e8: move-object/from16 v0, v24
+00535c: 5c03 4600                              |03ea: iput-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046
+005360: 1204                                   |03ec: const/4 v4, #int 0 // #0
+005362: 2900 2dfc                              |03ed: goto/16 001a // -03d3
+005366: 1204                                   |03ef: const/4 v4, #int 0 // #0
+005368: 0800 1800                              |03f0: move-object/from16 v0, v24
+00536c: 5203 3d00                              |03f2: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+005370: 3903 ad00                              |03f4: if-nez v3, 04a1 // +00ad
+005374: 0800 1800                              |03f6: move-object/from16 v0, v24
+005378: 5203 3e00                              |03f8: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+00537c: 0145                                   |03fa: move v5, v4
+00537e: 3903 ad00                              |03fb: if-nez v3, 04a8 // +00ad
+005382: 1204                                   |03fd: const/4 v4, #int 0 // #0
+005384: 0800 1800                              |03fe: move-object/from16 v0, v24
+005388: 5203 3f00                              |0400: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+00538c: 3903 ae00                              |0402: if-nez v3, 04b0 // +00ae
+005390: 0800 1800                              |0404: move-object/from16 v0, v24
+005394: 5203 4000                              |0406: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005398: 3903 af00                              |0408: if-nez v3, 04b7 // +00af
+00539c: 3345 b400                              |040a: if-ne v5, v4, 04be // +00b4
+0053a0: 1203                                   |040c: const/4 v3, #int 0 // #0
+0053a2: 3545 bd00                              |040d: if-ge v5, v4, 04ca // +00bd
+0053a6: 0800 1800                              |040f: move-object/from16 v0, v24
+0053aa: 5204 3e00                              |0411: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+0053ae: 1405 1100 0088                         |0413: const v5, #float -0.000000 // #88000011
+0053b4: b554                                   |0416: and-int/2addr v4, v5
+0053b6: 3804 0900                              |0417: if-eqz v4, 0420 // +0009
+0053ba: 7110 9e00 0400                         |0419: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+0053c0: 0a04                                   |041c: move-result v4
+0053c2: e004 0403                              |041d: shl-int/lit8 v4, v4, #int 3 // #03
+0053c6: b043                                   |041f: add-int/2addr v3, v4
+0053c8: 0800 1800                              |0420: move-object/from16 v0, v24
+0053cc: 5204 3d00                              |0422: iget v4, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+0053d0: 0800 1800                              |0424: move-object/from16 v0, v24
+0053d4: 5205 3e00                              |0426: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+0053d8: b654                                   |0428: or-int/2addr v4, v5
+0053da: 0800 1800                              |0429: move-object/from16 v0, v24
+0053de: 5205 3f00                              |042b: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+0053e2: 0800 1800                              |042d: move-object/from16 v0, v24
+0053e6: 5206 4000                              |042f: iget v6, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+0053ea: b665                                   |0431: or-int/2addr v5, v6
+0053ec: 0800 1800                              |0432: move-object/from16 v0, v24
+0053f0: 5206 3f00                              |0434: iget v6, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+0053f4: 3806 0900                              |0436: if-eqz v6, 043f // +0009
+0053f8: dd06 0405                              |0438: and-int/lit8 v6, v4, #int 5 // #05
+0053fc: 1257                                   |043a: const/4 v7, #int 5 // #5
+0053fe: 3376 0400                              |043b: if-ne v6, v7, 043f // +0004
+005402: d803 030c                              |043d: add-int/lit8 v3, v3, #int 12 // #0c
+005406: 0800 1800                              |043f: move-object/from16 v0, v24
+00540a: 5206 3d00                              |0441: iget v6, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+00540e: 3806 0b00                              |0443: if-eqz v6, 044e // +000b
+005412: 1506 00a0                              |0445: const/high16 v6, #int -1610612736 // #a000
+005416: b556                                   |0447: and-int/2addr v6, v5
+005418: 1507 00a0                              |0448: const/high16 v7, #int -1610612736 // #a000
+00541c: 3376 0400                              |044a: if-ne v6, v7, 044e // +0004
+005420: d803 03f4                              |044c: add-int/lit8 v3, v3, #int -12 // #f4
+005424: 1406 0066 6600                         |044e: const v6, #float 0.000000 // #00666600
+00542a: b564                                   |0451: and-int/2addr v4, v6
+00542c: 7110 9e00 0400                         |0452: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+005432: 0a04                                   |0455: move-result v4
+005434: 1406 0066 6600                         |0456: const v6, #float 0.000000 // #00666600
+00543a: b565                                   |0459: and-int/2addr v5, v6
+00543c: 7110 9e00 0500                         |045a: invoke-static {v5}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+005442: 0a05                                   |045d: move-result v5
+005444: b154                                   |045e: sub-int/2addr v4, v5
+005446: b043                                   |045f: add-int/2addr v3, v4
+005448: 0800 1800                              |0460: move-object/from16 v0, v24
+00544c: 5204 3d00                              |0462: iget v4, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+005450: 1405 1818 1818                         |0464: const v5, #float 0.000000 // #18181818
+005456: b554                                   |0467: and-int/2addr v4, v5
+005458: 7110 9e00 0400                         |0468: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+00545e: 0a04                                   |046b: move-result v4
+005460: 0800 1800                              |046c: move-object/from16 v0, v24
+005464: 5205 3f00                              |046e: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+005468: 1406 1818 1818                         |0470: const v6, #float 0.000000 // #18181818
+00546e: b565                                   |0473: and-int/2addr v5, v6
+005470: 7110 9e00 0500                         |0474: invoke-static {v5}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+005476: 0a05                                   |0477: move-result v5
+005478: b154                                   |0478: sub-int/2addr v4, v5
+00547a: b143                                   |0479: sub-int/2addr v3, v4
+00547c: 0800 1800                              |047a: move-object/from16 v0, v24
+005480: 5204 3e00                              |047c: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005484: 1405 0800 0010                         |047e: const v5, #float 0.000000 // #10000008
+00548a: b554                                   |0481: and-int/2addr v4, v5
+00548c: 3804 0900                              |0482: if-eqz v4, 048b // +0009
+005490: 7110 9e00 0400                         |0484: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+005496: 0a04                                   |0487: move-result v4
+005498: e004 0405                              |0488: shl-int/lit8 v4, v4, #int 5 // #05
+00549c: b143                                   |048a: sub-int/2addr v3, v4
+00549e: 0800 1800                              |048b: move-object/from16 v0, v24
+0054a2: 5204 4000                              |048d: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+0054a6: 1405 0800 0010                         |048f: const v5, #float 0.000000 // #10000008
+0054ac: b554                                   |0492: and-int/2addr v4, v5
+0054ae: 3804 4c00                              |0493: if-eqz v4, 04df // +004c
+0054b2: 7110 9e00 0400                         |0495: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+0054b8: 0a04                                   |0498: move-result v4
+0054ba: e004 0405                              |0499: shl-int/lit8 v4, v4, #int 5 // #05
+0054be: b034                                   |049b: add-int/2addr v4, v3
+0054c0: 391e 7efb                              |049c: if-nez v30, 001a // -0482
+0054c4: 7b44                                   |049e: neg-int v4, v4
+0054c6: 2900 7bfb                              |049f: goto/16 001a // -0485
+0054ca: d804 0464                              |04a1: add-int/lit8 v4, v4, #int 100 // #64
+0054ce: d805 03ff                              |04a3: add-int/lit8 v5, v3, #int -1 // #ff
+0054d2: b553                                   |04a5: and-int/2addr v3, v5
+0054d4: 2900 4eff                              |04a6: goto/16 03f4 // -00b2
+0054d8: d054 8600                              |04a8: add-int/lit16 v4, v5, #int 134 // #0086
+0054dc: d805 03ff                              |04aa: add-int/lit8 v5, v3, #int -1 // #ff
+0054e0: b553                                   |04ac: and-int/2addr v3, v5
+0054e2: 0145                                   |04ad: move v5, v4
+0054e4: 2900 4dff                              |04ae: goto/16 03fb // -00b3
+0054e8: d804 0464                              |04b0: add-int/lit8 v4, v4, #int 100 // #64
+0054ec: d806 03ff                              |04b2: add-int/lit8 v6, v3, #int -1 // #ff
+0054f0: b563                                   |04b4: and-int/2addr v3, v6
+0054f2: 2900 4dff                              |04b5: goto/16 0402 // -00b3
+0054f6: d044 8600                              |04b7: add-int/lit16 v4, v4, #int 134 // #0086
+0054fa: d806 03ff                              |04b9: add-int/lit8 v6, v3, #int -1 // #ff
+0054fe: b563                                   |04bb: and-int/2addr v3, v6
+005500: 2900 4cff                              |04bc: goto/16 0408 // -00b4
+005504: 9103 0504                              |04be: sub-int v3, v5, v4
+005508: 9106 0504                              |04c0: sub-int v6, v5, v4
+00550c: e006 0608                              |04c2: shl-int/lit8 v6, v6, #int 8 // #08
+005510: 9007 0504                              |04c4: add-int v7, v5, v4
+005514: b376                                   |04c6: div-int/2addr v6, v7
+005516: b063                                   |04c7: add-int/2addr v3, v6
+005518: 2900 45ff                              |04c8: goto/16 040d // -00bb
+00551c: 3745 56ff                              |04ca: if-le v5, v4, 0420 // -00aa
+005520: 0800 1800                              |04cc: move-object/from16 v0, v24
+005524: 5204 4000                              |04ce: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005528: 1405 1100 0088                         |04d0: const v5, #float -0.000000 // #88000011
+00552e: b554                                   |04d3: and-int/2addr v4, v5
+005530: 3804 4cff                              |04d4: if-eqz v4, 0420 // -00b4
+005534: 7110 9e00 0400                         |04d6: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+00553a: 0a04                                   |04d9: move-result v4
+00553c: e004 0403                              |04da: shl-int/lit8 v4, v4, #int 3 // #03
+005540: b143                                   |04dc: sub-int/2addr v3, v4
+005542: 2900 43ff                              |04dd: goto/16 0420 // -00bd
+005546: 0134                                   |04df: move v4, v3
+005548: 28bc                                   |04e0: goto 049c // -0044
+00554a: 01a3                                   |04e1: move v3, v10
+00554c: 01b4                                   |04e2: move v4, v11
+00554e: 2900 d8fe                              |04e3: goto/16 03bb // -0128
+005552: 0207 1c00                              |04e5: move/from16 v7, v28
+005556: 2900 58fb                              |04e7: goto/16 003f // -04a8
+00555a: 0000                                   |04e9: nop // spacer
+00555c: 0001 0300 0200 0000 aa00 0000 4001 ... |04ea: packed-switch-data (10 units)
+005570: 0002 0200 4000 0000 8000 0000 b702 ... |04f4: sparse-switch-data (10 units)
+005584: 0001 0200 0000 0000 b402 0000 ba02 ... |04fe: packed-switch-data (8 units)
+005594: 0001 0300 0100 0000 9402 0000 9802 ... |0506: packed-switch-data (10 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #4              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(IZ)I'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 7
+      ins           : 3
+      outs          : 4
+      insns size    : 55 16-bit code units
+0055a8:                                        |[0055a8] com.google.android.checkers.a.a:(IZ)I
+0055b8: 1221                                   |0000: const/4 v1, #int 2 // #2
+0055ba: 1200                                   |0001: const/4 v0, #int 0 // #0
+0055bc: 5940 3c00                              |0002: iput v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c
+0055c0: da02 0540                              |0004: mul-int/lit8 v2, v5, #int 64 // #40
+0055c4: 5942 4b00                              |0006: iput v2, v4, Lcom/google/android/checkers/a;.r:I // field@004b
+0055c8: 5242 3d00                              |0008: iget v2, v4, Lcom/google/android/checkers/a;.d:I // field@003d
+0055cc: 5243 3e00                              |000a: iget v3, v4, Lcom/google/android/checkers/a;.e:I // field@003e
+0055d0: b632                                   |000c: or-int/2addr v2, v3
+0055d2: 5243 3f00                              |000d: iget v3, v4, Lcom/google/android/checkers/a;.f:I // field@003f
+0055d6: b632                                   |000f: or-int/2addr v2, v3
+0055d8: 5243 4000                              |0010: iget v3, v4, Lcom/google/android/checkers/a;.g:I // field@0040
+0055dc: b632                                   |0012: or-int/2addr v2, v3
+0055de: df02 02ff                              |0013: xor-int/lit8 v2, v2, #int -1 // #ff
+0055e2: 5543 4c00                              |0015: iget-boolean v3, v4, Lcom/google/android/checkers/a;.s:Z // field@004c
+0055e6: 3803 1000                              |0017: if-eqz v3, 0027 // +0010
+0055ea: 7040 8100 5426                         |0019: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.a:(IZI)Z // method@0081
+0055f0: 0a03                                   |001c: move-result v3
+0055f2: 7040 8800 5426                         |001d: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.b:(IZI)Z // method@0088
+0055f8: 0a02                                   |0020: move-result v2
+0055fa: 3903 0400                              |0021: if-nez v3, 0025 // +0004
+0055fe: 3802 0300                              |0023: if-eqz v2, 0026 // +0003
+005602: 0110                                   |0025: move v0, v1
+005604: 0f00                                   |0026: return v0
+005606: 7040 8100 5426                         |0027: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.a:(IZI)Z // method@0081
+00560c: 0a03                                   |002a: move-result v3
+00560e: 3803 0400                              |002b: if-eqz v3, 002f // +0004
+005612: 1210                                   |002d: const/4 v0, #int 1 // #1
+005614: 28f8                                   |002e: goto 0026 // -0008
+005616: 7040 8800 5426                         |002f: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.b:(IZI)Z // method@0088
+00561c: 0a02                                   |0032: move-result v2
+00561e: 3802 f3ff                              |0033: if-eqz v2, 0026 // -000d
+005622: 0110                                   |0035: move v0, v1
+005624: 28f0                                   |0036: goto 0026 // -0010
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #5              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(Z)I'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 7
+      ins           : 2
+      outs          : 1
+      insns size    : 98 16-bit code units
+005628:                                        |[005628] com.google.android.checkers.a.a:(Z)I
+005638: 3806 1700                              |0000: if-eqz v6, 0017 // +0017
+00563c: 1200                                   |0002: const/4 v0, #int 0 // #0
+00563e: 5251 3d00                              |0003: iget v1, v5, Lcom/google/android/checkers/a;.d:I // field@003d
+005642: 0114                                   |0005: move v4, v1
+005644: 0101                                   |0006: move v1, v0
+005646: 0140                                   |0007: move v0, v4
+005648: 3900 1600                              |0008: if-nez v0, 001e // +0016
+00564c: 5250 3e00                              |000a: iget v0, v5, Lcom/google/android/checkers/a;.e:I // field@003e
+005650: 3900 2300                              |000c: if-nez v0, 002f // +0023
+005654: 5250 3f00                              |000e: iget v0, v5, Lcom/google/android/checkers/a;.f:I // field@003f
+005658: 3900 3000                              |0010: if-nez v0, 0040 // +0030
+00565c: 5250 4000                              |0012: iget v0, v5, Lcom/google/android/checkers/a;.g:I // field@0040
+005660: 3900 3d00                              |0014: if-nez v0, 0051 // +003d
+005664: 0f01                                   |0016: return v1
+005666: 6200 3900                              |0017: sget-object v0, Lcom/google/android/checkers/a;.M:[I // field@0039
+00566a: 1301 8000                              |0019: const/16 v1, #int 128 // #80
+00566e: 4400 0001                              |001b: aget v0, v0, v1
+005672: 28e6                                   |001d: goto 0003 // -001a
+005674: 6202 3900                              |001e: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
+005678: 7110 9f00 0000                         |0020: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+00567e: 0a03                                   |0023: move-result v3
+005680: da03 0304                              |0024: mul-int/lit8 v3, v3, #int 4 // #04
+005684: d803 0300                              |0026: add-int/lit8 v3, v3, #int 0 // #00
+005688: 4402 0203                              |0028: aget v2, v2, v3
+00568c: b721                                   |002a: xor-int/2addr v1, v2
+00568e: d802 00ff                              |002b: add-int/lit8 v2, v0, #int -1 // #ff
+005692: b520                                   |002d: and-int/2addr v0, v2
+005694: 28da                                   |002e: goto 0008 // -0026
+005696: 6202 3900                              |002f: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
+00569a: 7110 9f00 0000                         |0031: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0056a0: 0a03                                   |0034: move-result v3
+0056a2: da03 0304                              |0035: mul-int/lit8 v3, v3, #int 4 // #04
+0056a6: d803 0301                              |0037: add-int/lit8 v3, v3, #int 1 // #01
+0056aa: 4402 0203                              |0039: aget v2, v2, v3
+0056ae: b721                                   |003b: xor-int/2addr v1, v2
+0056b0: d802 00ff                              |003c: add-int/lit8 v2, v0, #int -1 // #ff
+0056b4: b520                                   |003e: and-int/2addr v0, v2
+0056b6: 28cd                                   |003f: goto 000c // -0033
+0056b8: 6202 3900                              |0040: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
+0056bc: 7110 9f00 0000                         |0042: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0056c2: 0a03                                   |0045: move-result v3
+0056c4: da03 0304                              |0046: mul-int/lit8 v3, v3, #int 4 // #04
+0056c8: d803 0302                              |0048: add-int/lit8 v3, v3, #int 2 // #02
+0056cc: 4402 0203                              |004a: aget v2, v2, v3
+0056d0: b721                                   |004c: xor-int/2addr v1, v2
+0056d2: d802 00ff                              |004d: add-int/lit8 v2, v0, #int -1 // #ff
+0056d6: b520                                   |004f: and-int/2addr v0, v2
+0056d8: 28c0                                   |0050: goto 0010 // -0040
+0056da: 6202 3900                              |0051: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
+0056de: 7110 9f00 0000                         |0053: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0056e4: 0a03                                   |0056: move-result v3
+0056e6: da03 0304                              |0057: mul-int/lit8 v3, v3, #int 4 // #04
+0056ea: d803 0303                              |0059: add-int/lit8 v3, v3, #int 3 // #03
+0056ee: 4402 0203                              |005b: aget v2, v2, v3
+0056f2: b721                                   |005d: xor-int/2addr v1, v2
+0056f4: d802 00ff                              |005e: add-int/lit8 v2, v0, #int -1 // #ff
+0056f8: b520                                   |0060: and-int/2addr v0, v2
+0056fa: 28b3                                   |0061: goto 0014 // -004d
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #6              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(ZII)I'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 7
+      ins           : 3
+      outs          : 1
+      insns size    : 56 16-bit code units
+0056fc:                                        |[0056fc] com.google.android.checkers.a.a:(ZII)I
+00570c: 7110 9f00 0500                         |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005712: 0a00                                   |0003: move-result v0
+005714: d801 05ff                              |0004: add-int/lit8 v1, v5, #int -1 // #ff
+005718: b551                                   |0006: and-int/2addr v1, v5
+00571a: 7110 9f00 0100                         |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005720: 0a02                                   |000a: move-result v2
+005722: 7110 9f00 0600                         |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005728: 0a01                                   |000e: move-result v1
+00572a: 1303 1000                              |000f: const/16 v3, #int 16 // #10
+00572e: 3431 0800                              |0011: if-lt v1, v3, 0019 // +0008
+005732: d900 001f                              |0013: rsub-int/lit8 v0, v0, #int 31 // #1f
+005736: d902 021f                              |0015: rsub-int/lit8 v2, v2, #int 31 // #1f
+00573a: d901 011f                              |0017: rsub-int/lit8 v1, v1, #int 31 // #1f
+00573e: 3520 1100                              |0019: if-ge v0, v2, 002a // +0011
+005742: 6203 3800                              |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+005746: 4402 0302                              |001d: aget v2, v3, v2
+00574a: b020                                   |001f: add-int/2addr v0, v2
+00574c: 3804 1000                              |0020: if-eqz v4, 0030 // +0010
+005750: 6202 5d00                              |0022: sget-object v2, Lcom/google/android/checkers/g;.e:[B // field@005d
+005754: da00 0010                              |0024: mul-int/lit8 v0, v0, #int 16 // #10
+005758: b010                                   |0026: add-int/2addr v0, v1
+00575a: 4800 0200                              |0027: aget-byte v0, v2, v0
+00575e: 0f00                                   |0029: return v0
+005760: 6203 3800                              |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+005764: 4400 0300                              |002c: aget v0, v3, v0
+005768: b020                                   |002e: add-int/2addr v0, v2
+00576a: 28f1                                   |002f: goto 0020 // -000f
+00576c: 6202 5e00                              |0030: sget-object v2, Lcom/google/android/checkers/g;.f:[B // field@005e
+005770: da00 0010                              |0032: mul-int/lit8 v0, v0, #int 16 // #10
+005774: b010                                   |0034: add-int/2addr v0, v1
+005776: 4800 0200                              |0035: aget-byte v0, v2, v0
+00577a: 28f2                                   |0037: goto 0029 // -000e
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #7              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(ZIIIZ)I'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 9
+      ins           : 5
+      outs          : 1
+      insns size    : 44 16-bit code units
+00577c:                                        |[00577c] com.google.android.checkers.a.a:(ZIIIZ)I
+00578c: 7110 9f00 0500                         |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005792: 0a02                                   |0003: move-result v2
+005794: 7110 9f00 0600                         |0004: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+00579a: 0a01                                   |0007: move-result v1
+00579c: 7110 9f00 0700                         |0008: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0057a2: 0a00                                   |000b: move-result v0
+0057a4: 3808 0800                              |000c: if-eqz v8, 0014 // +0008
+0057a8: d902 021f                              |000e: rsub-int/lit8 v2, v2, #int 31 // #1f
+0057ac: d901 011f                              |0010: rsub-int/lit8 v1, v1, #int 31 // #1f
+0057b0: d900 001f                              |0012: rsub-int/lit8 v0, v0, #int 31 // #1f
+0057b4: 3804 0d00                              |0014: if-eqz v4, 0021 // +000d
+0057b8: 6203 6100                              |0016: sget-object v3, Lcom/google/android/checkers/g;.i:[B // field@0061
+0057bc: d222 0004                              |0018: mul-int/lit16 v2, v2, #int 1024 // #0400
+0057c0: da01 0120                              |001a: mul-int/lit8 v1, v1, #int 32 // #20
+0057c4: b021                                   |001c: add-int/2addr v1, v2
+0057c6: b010                                   |001d: add-int/2addr v0, v1
+0057c8: 4800 0300                              |001e: aget-byte v0, v3, v0
+0057cc: 0f00                                   |0020: return v0
+0057ce: 6203 6200                              |0021: sget-object v3, Lcom/google/android/checkers/g;.j:[B // field@0062
+0057d2: d222 0004                              |0023: mul-int/lit16 v2, v2, #int 1024 // #0400
+0057d6: da01 0120                              |0025: mul-int/lit8 v1, v1, #int 32 // #20
+0057da: b021                                   |0027: add-int/2addr v1, v2
+0057dc: b010                                   |0028: add-int/2addr v0, v1
+0057de: 4800 0300                              |0029: aget-byte v0, v3, v0
+0057e2: 28f5                                   |002b: goto 0020 // -000b
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #8              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(ZIIZ)I'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 7
+      ins           : 4
+      outs          : 1
+      insns size    : 34 16-bit code units
+0057e4:                                        |[0057e4] com.google.android.checkers.a.a:(ZIIZ)I
+0057f4: 7110 9f00 0400                         |0000: invoke-static {v4}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0057fa: 0a01                                   |0003: move-result v1
+0057fc: 7110 9f00 0500                         |0004: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005802: 0a00                                   |0007: move-result v0
+005804: 3806 0600                              |0008: if-eqz v6, 000e // +0006
+005808: d901 011f                              |000a: rsub-int/lit8 v1, v1, #int 31 // #1f
+00580c: d900 001f                              |000c: rsub-int/lit8 v0, v0, #int 31 // #1f
+005810: d800 00fc                              |000e: add-int/lit8 v0, v0, #int -4 // #fc
+005814: 3803 0a00                              |0010: if-eqz v3, 001a // +000a
+005818: 6202 5a00                              |0012: sget-object v2, Lcom/google/android/checkers/g;.b:[B // field@005a
+00581c: da00 0020                              |0014: mul-int/lit8 v0, v0, #int 32 // #20
+005820: b010                                   |0016: add-int/2addr v0, v1
+005822: 4800 0200                              |0017: aget-byte v0, v2, v0
+005826: 0f00                                   |0019: return v0
+005828: 6202 5b00                              |001a: sget-object v2, Lcom/google/android/checkers/g;.c:[B // field@005b
+00582c: da00 0020                              |001c: mul-int/lit8 v0, v0, #int 32 // #20
+005830: b010                                   |001e: add-int/2addr v0, v1
+005832: 4800 0200                              |001f: aget-byte v0, v2, v0
+005836: 28f8                                   |0021: goto 0019 // -0008
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #9              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(IIII)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 9
+      ins           : 5
+      outs          : 0
+      insns size    : 76 16-bit code units
+005838:                                        |[005838] com.google.android.checkers.a.a:(IIII)V
+005848: 1301 007d                              |0000: const/16 v1, #int 32000 // #7d00
+00584c: 1302 3f00                              |0002: const/16 v2, #int 63 // #3f
+005850: 1203                                   |0004: const/4 v3, #int 0 // #0
+005852: 1300 0083                              |0005: const/16 v0, #int -32000 // #8300
+005856: 3608 2300                              |0007: if-gt v8, v0, 002a // +0023
+00585a: 2c07 2f00 0000                         |0009: sparse-switch v7, 00000038 // +0000002f
+005860: 0e00                                   |000c: return-void
+005862: 1307 4000                              |000d: const/16 v7, #int 64 // #40
+005866: 0108                                   |000f: move v8, v0
+005868: 0126                                   |0010: move v6, v2
+00586a: 0135                                   |0011: move v5, v3
+00586c: 5240 5100                              |0012: iget v0, v4, Lcom/google/android/checkers/a;.x:I // field@0051
+005870: 1401 ffff 0f00                         |0014: const v1, #float 0.000000 // #000fffff
+005876: b501                                   |0017: and-int/2addr v1, v0
+005878: 5442 5200                              |0018: iget-object v2, v4, Lcom/google/android/checkers/a;.y:[I // field@0052
+00587c: 4b00 0201                              |001a: aput v0, v2, v1
+005880: 5440 5300                              |001c: iget-object v0, v4, Lcom/google/android/checkers/a;.z:[S // field@0053
+005884: 8f82                                   |001e: int-to-short v2, v8
+005886: 5102 0001                              |001f: aput-short v2, v0, v1
+00588a: 5440 2d00                              |0021: iget-object v0, v4, Lcom/google/android/checkers/a;.A:[B // field@002d
+00588e: 9102 0605                              |0023: sub-int v2, v6, v5
+005892: b672                                   |0025: or-int/2addr v2, v7
+005894: 8d22                                   |0026: int-to-byte v2, v2
+005896: 4f02 0001                              |0027: aput-byte v2, v0, v1
+00589a: 28e3                                   |0029: goto 000c // -001d
+00589c: 3418 e8ff                              |002a: if-lt v8, v1, 0012 // -0018
+0058a0: 2c07 1600 0000                         |002c: sparse-switch v7, 00000042 // +00000016
+0058a6: 28dd                                   |002f: goto 000c // -0023
+0058a8: 0118                                   |0030: move v8, v1
+0058aa: 0126                                   |0031: move v6, v2
+0058ac: 0135                                   |0032: move v5, v3
+0058ae: 28df                                   |0033: goto 0012 // -0021
+0058b0: 1307 8000                              |0034: const/16 v7, #int 128 // #80
+0058b4: 28fa                                   |0036: goto 0030 // -0006
+0058b6: 0000                                   |0037: nop // spacer
+0058b8: 0002 0200 4000 0000 c000 0000 0600 ... |0038: sparse-switch-data (10 units)
+0058cc: 0002 0200 8000 0000 c000 0000 0400 ... |0042: sparse-switch-data (10 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #10              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(IIIII)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 10
+      ins           : 6
+      outs          : 0
+      insns size    : 39 16-bit code units
+0058e0:                                        |[0058e0] com.google.android.checkers.a.a:(IIIII)V
+0058f0: 5240 3c00                              |0000: iget v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c
+0058f4: 1301 4000                              |0002: const/16 v1, #int 64 // #40
+0058f8: 3410 0300                              |0004: if-lt v0, v1, 0007 // +0003
+0058fc: 0e00                                   |0006: return-void
+0058fe: 5240 3c00                              |0007: iget v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c
+005902: d801 0001                              |0009: add-int/lit8 v1, v0, #int 1 // #01
+005906: 5941 3c00                              |000b: iput v1, v4, Lcom/google/android/checkers/a;.c:I // field@003c
+00590a: 5241 4b00                              |000d: iget v1, v4, Lcom/google/android/checkers/a;.r:I // field@004b
+00590e: 5442 4800                              |000f: iget-object v2, v4, Lcom/google/android/checkers/a;.o:[I // field@0048
+005912: 9003 0100                              |0011: add-int v3, v1, v0
+005916: 4b06 0203                              |0013: aput v6, v2, v3
+00591a: 5442 3a00                              |0015: iget-object v2, v4, Lcom/google/android/checkers/a;.a:[I // field@003a
+00591e: 9003 0100                              |0017: add-int v3, v1, v0
+005922: 4b07 0203                              |0019: aput v7, v2, v3
+005926: 5442 4900                              |001b: iget-object v2, v4, Lcom/google/android/checkers/a;.p:[I // field@0049
+00592a: b001                                   |001d: add-int/2addr v1, v0
+00592c: 4b08 0201                              |001e: aput v8, v2, v1
+005930: 3905 e6ff                              |0020: if-nez v5, 0006 // -001a
+005934: 5441 3b00                              |0022: iget-object v1, v4, Lcom/google/android/checkers/a;.b:[I // field@003b
+005938: 4b09 0100                              |0024: aput v9, v1, v0
+00593c: 28e0                                   |0026: goto 0006 // -0020
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #11              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(IIIIIIII)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 18
+      ins           : 9
+      outs          : 9
+      insns size    : 99 16-bit code units
+005940:                                        |[005940] com.google.android.checkers.a.a:(IIIIIIII)V
+005950: 1210                                   |0000: const/4 v0, #int 1 // #1
+005952: 6201 3000                              |0001: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005956: 4401 010d                              |0003: aget v1, v1, v13
+00595a: b5c1                                   |0005: and-int/2addr v1, v12
+00595c: 3801 2500                              |0006: if-eqz v1, 002b // +0025
+005960: 6201 3100                              |0008: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005964: 4401 010d                              |000a: aget v1, v1, v13
+005968: b5b1                                   |000c: and-int/2addr v1, v11
+00596a: 3801 1e00                              |000d: if-eqz v1, 002b // +001e
+00596e: d804 0df7                              |000f: add-int/lit8 v4, v13, #int -9 // #f7
+005972: 6200 3100                              |0011: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
+005976: 4405 000d                              |0013: aget v5, v0, v13
+00597a: 6200 3000                              |0015: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+00597e: 4400 000d                              |0017: aget v0, v0, v13
+005982: 9606 0f00                              |0019: or-int v6, v15, v0
+005986: d807 1001                              |001b: add-int/lit8 v7, v16, #int 1 // #01
+00598a: 6200 3100                              |001d: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
+00598e: 4400 000d                              |001f: aget v0, v0, v13
+005992: 9608 1100                              |0021: or-int v8, v17, v0
+005996: 0790                                   |0023: move-object v0, v9
+005998: 01a1                                   |0024: move v1, v10
+00599a: 01b2                                   |0025: move v2, v11
+00599c: 01c3                                   |0026: move v3, v12
+00599e: 7609 7f00 0000                         |0027: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f
+0059a4: 1200                                   |002a: const/4 v0, #int 0 // #0
+0059a6: 6201 3200                              |002b: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+0059aa: 4401 010d                              |002d: aget v1, v1, v13
+0059ae: b5c1                                   |002f: and-int/2addr v1, v12
+0059b0: 3801 2500                              |0030: if-eqz v1, 0055 // +0025
+0059b4: 6201 3300                              |0032: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+0059b8: 4401 010d                              |0034: aget v1, v1, v13
+0059bc: b5b1                                   |0036: and-int/2addr v1, v11
+0059be: 3801 1e00                              |0037: if-eqz v1, 0055 // +001e
+0059c2: d804 0df9                              |0039: add-int/lit8 v4, v13, #int -7 // #f9
+0059c6: 6200 3300                              |003b: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
+0059ca: 4405 000d                              |003d: aget v5, v0, v13
+0059ce: 6200 3200                              |003f: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+0059d2: 4400 000d                              |0041: aget v0, v0, v13
+0059d6: 9606 0f00                              |0043: or-int v6, v15, v0
+0059da: d807 1001                              |0045: add-int/lit8 v7, v16, #int 1 // #01
+0059de: 6200 3300                              |0047: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
+0059e2: 4400 000d                              |0049: aget v0, v0, v13
+0059e6: 9608 1100                              |004b: or-int v8, v17, v0
+0059ea: 0790                                   |004d: move-object v0, v9
+0059ec: 01a1                                   |004e: move v1, v10
+0059ee: 01b2                                   |004f: move v2, v11
+0059f0: 01c3                                   |0050: move v3, v12
+0059f2: 7609 7f00 0000                         |0051: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f
+0059f8: 1200                                   |0054: const/4 v0, #int 0 // #0
+0059fa: 3800 0d00                              |0055: if-eqz v0, 0062 // +000d
+0059fe: 0790                                   |0057: move-object v0, v9
+005a00: 01a1                                   |0058: move v1, v10
+005a02: 01e2                                   |0059: move v2, v14
+005a04: 01f3                                   |005a: move v3, v15
+005a06: 0204 1000                              |005b: move/from16 v4, v16
+005a0a: 0205 1100                              |005d: move/from16 v5, v17
+005a0e: 7606 7e00 0000                         |005f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+005a14: 0e00                                   |0062: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #12              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(IZI)Z'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 21
+      ins           : 4
+      outs          : 9
+      insns size    : 875 16-bit code units
+005a18:                                        |[005a18] com.google.android.checkers.a.a:(IZI)Z
+005a28: 3813 b901                              |0000: if-eqz v19, 01b9 // +01b9
+005a2c: 0800 1100                              |0002: move-object/from16 v0, v17
+005a30: 5201 3e00                              |0004: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005a34: 0800 1100                              |0006: move-object/from16 v0, v17
+005a38: 5202 3d00                              |0008: iget v2, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+005a3c: b612                                   |000a: or-int/2addr v2, v1
+005a3e: 0800 1100                              |000b: move-object/from16 v0, v17
+005a42: 5201 4000                              |000d: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005a46: 0800 1100                              |000f: move-object/from16 v0, v17
+005a4a: 5203 3f00                              |0011: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+005a4e: 9604 0103                              |0013: or-int v4, v1, v3
+005a52: 1201                                   |0015: const/4 v1, #int 0 // #0
+005a54: e203 1404                              |0016: ushr-int/lit8 v3, v20, #int 4 // #04
+005a58: b543                                   |0018: and-int/2addr v3, v4
+005a5a: 3803 1200                              |0019: if-eqz v3, 002b // +0012
+005a5e: 1401 e0e0 e0e0                         |001b: const v1, #float -129633581999069331456.000000 // #e0e0e0e0
+005a64: b531                                   |001e: and-int/2addr v1, v3
+005a66: e201 0105                              |001f: ushr-int/lit8 v1, v1, #int 5 // #05
+005a6a: 1405 0007 0707                         |0021: const v5, #float 0.000000 // #07070700
+005a70: b553                                   |0024: and-int/2addr v3, v5
+005a72: e203 0303                              |0025: ushr-int/lit8 v3, v3, #int 3 // #03
+005a76: b631                                   |0027: or-int/2addr v1, v3
+005a78: b521                                   |0028: and-int/2addr v1, v2
+005a7a: de01 0100                              |0029: or-int/lit8 v1, v1, #int 0 // #00
+005a7e: 1403 e0e0 e0e0                         |002b: const v3, #float -129633581999069331456.000000 // #e0e0e0e0
+005a84: 9503 0314                              |002e: and-int v3, v3, v20
+005a88: e203 0305                              |0030: ushr-int/lit8 v3, v3, #int 5 // #05
+005a8c: 1405 0007 0707                         |0032: const v5, #float 0.000000 // #07070700
+005a92: 9505 0514                              |0035: and-int v5, v5, v20
+005a96: e205 0503                              |0037: ushr-int/lit8 v5, v5, #int 3 // #03
+005a9a: b653                                   |0039: or-int/2addr v3, v5
+005a9c: b543                                   |003a: and-int/2addr v3, v4
+005a9e: 3803 0600                              |003b: if-eqz v3, 0041 // +0006
+005aa2: e203 0304                              |003d: ushr-int/lit8 v3, v3, #int 4 // #04
+005aa6: b532                                   |003f: and-int/2addr v2, v3
+005aa8: b621                                   |0040: or-int/2addr v1, v2
+005aaa: 0800 1100                              |0041: move-object/from16 v0, v17
+005aae: 5202 3e00                              |0043: iget v2, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005ab2: 3802 3400                              |0045: if-eqz v2, 0079 // +0034
+005ab6: e002 1404                              |0047: shl-int/lit8 v2, v20, #int 4 // #04
+005aba: b542                                   |0049: and-int/2addr v2, v4
+005abc: 3802 1500                              |004a: if-eqz v2, 005f // +0015
+005ac0: 0800 1100                              |004c: move-object/from16 v0, v17
+005ac4: 5203 3e00                              |004e: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005ac8: 1405 0707 0707                         |0050: const v5, #float 0.000000 // #07070707
+005ace: b525                                   |0053: and-int/2addr v5, v2
+005ad0: e005 0505                              |0054: shl-int/lit8 v5, v5, #int 5 // #05
+005ad4: 1406 e0e0 e000                         |0056: const v6, #float 0.000000 // #00e0e0e0
+005ada: b562                                   |0059: and-int/2addr v2, v6
+005adc: e002 0203                              |005a: shl-int/lit8 v2, v2, #int 3 // #03
+005ae0: b652                                   |005c: or-int/2addr v2, v5
+005ae2: b532                                   |005d: and-int/2addr v2, v3
+005ae4: b621                                   |005e: or-int/2addr v1, v2
+005ae6: 1402 0707 0707                         |005f: const v2, #float 0.000000 // #07070707
+005aec: 9502 0214                              |0062: and-int v2, v2, v20
+005af0: e002 0205                              |0064: shl-int/lit8 v2, v2, #int 5 // #05
+005af4: 1403 e0e0 e000                         |0066: const v3, #float 0.000000 // #00e0e0e0
+005afa: 9503 0314                              |0069: and-int v3, v3, v20
+005afe: e003 0303                              |006b: shl-int/lit8 v3, v3, #int 3 // #03
+005b02: b632                                   |006d: or-int/2addr v2, v3
+005b04: b542                                   |006e: and-int/2addr v2, v4
+005b06: 3802 0a00                              |006f: if-eqz v2, 0079 // +000a
+005b0a: 0800 1100                              |0071: move-object/from16 v0, v17
+005b0e: 5203 3e00                              |0073: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005b12: e002 0204                              |0075: shl-int/lit8 v2, v2, #int 4 // #04
+005b16: b532                                   |0077: and-int/2addr v2, v3
+005b18: b621                                   |0078: or-int/2addr v1, v2
+005b1a: 3901 0a00                              |0079: if-nez v1, 0083 // +000a
+005b1e: 0800 1100                              |007b: move-object/from16 v0, v17
+005b22: 5201 3c00                              |007d: iget v1, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+005b26: 3801 e902                              |007f: if-eqz v1, 0368 // +02e9
+005b2a: 1211                                   |0081: const/4 v1, #int 1 // #1
+005b2c: 0f01                                   |0082: return v1
+005b2e: 7110 9f00 0100                         |0083: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005b34: 0a0f                                   |0086: move-result v15
+005b36: 1212                                   |0087: const/4 v2, #int 1 // #1
+005b38: 9810 020f                              |0088: shl-int v16, v2, v15
+005b3c: 970e 0110                              |008a: xor-int v14, v1, v16
+005b40: 0800 1100                              |008c: move-object/from16 v0, v17
+005b44: 5201 3e00                              |008e: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005b48: 9501 0110                              |0090: and-int v1, v1, v16
+005b4c: 3901 5c00                              |0092: if-nez v1, 00ee // +005c
+005b50: 6201 3400                              |0094: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+005b54: 4401 010f                              |0096: aget v1, v1, v15
+005b58: b541                                   |0098: and-int/2addr v1, v4
+005b5a: 3801 2700                              |0099: if-eqz v1, 00c0 // +0027
+005b5e: 6201 3500                              |009b: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+005b62: 4401 010f                              |009d: aget v1, v1, v15
+005b66: 9501 0114                              |009f: and-int v1, v1, v20
+005b6a: 3801 1f00                              |00a1: if-eqz v1, 00c0 // +001f
+005b6e: d805 0f07                              |00a3: add-int/lit8 v5, v15, #int 7 // #07
+005b72: 6201 3500                              |00a5: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+005b76: 4406 010f                              |00a7: aget v6, v1, v15
+005b7a: 6201 3400                              |00a9: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+005b7e: 4401 010f                              |00ab: aget v1, v1, v15
+005b82: 9607 1001                              |00ad: or-int v7, v16, v1
+005b86: 1308 0101                              |00af: const/16 v8, #int 257 // #101
+005b8a: 6201 3500                              |00b1: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+005b8e: 4401 010f                              |00b3: aget v1, v1, v15
+005b92: 9609 1001                              |00b5: or-int v9, v16, v1
+005b96: 0801 1100                              |00b7: move-object/from16 v1, v17
+005b9a: 0202 1200                              |00b9: move/from16 v2, v18
+005b9e: 0203 1400                              |00bb: move/from16 v3, v20
+005ba2: 7609 8600 0100                         |00bd: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086
+005ba8: 6201 3600                              |00c0: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+005bac: 4401 010f                              |00c2: aget v1, v1, v15
+005bb0: b541                                   |00c4: and-int/2addr v1, v4
+005bb2: 3801 f100                              |00c5: if-eqz v1, 01b6 // +00f1
+005bb6: 6201 3700                              |00c7: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+005bba: 4401 010f                              |00c9: aget v1, v1, v15
+005bbe: 9501 0114                              |00cb: and-int v1, v1, v20
+005bc2: 3801 e900                              |00cd: if-eqz v1, 01b6 // +00e9
+005bc6: d805 0f09                              |00cf: add-int/lit8 v5, v15, #int 9 // #09
+005bca: 6201 3700                              |00d1: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+005bce: 4406 010f                              |00d3: aget v6, v1, v15
+005bd2: 6201 3600                              |00d5: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+005bd6: 4401 010f                              |00d7: aget v1, v1, v15
+005bda: 9607 1001                              |00d9: or-int v7, v16, v1
+005bde: 1308 0101                              |00db: const/16 v8, #int 257 // #101
+005be2: 6201 3700                              |00dd: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+005be6: 4401 010f                              |00df: aget v1, v1, v15
+005bea: 9609 1001                              |00e1: or-int v9, v16, v1
+005bee: 0801 1100                              |00e3: move-object/from16 v1, v17
+005bf2: 0202 1200                              |00e5: move/from16 v2, v18
+005bf6: 0203 1400                              |00e7: move/from16 v3, v20
+005bfa: 7609 8600 0100                         |00e9: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086
+005c00: 01e1                                   |00ec: move v1, v14
+005c02: 288c                                   |00ed: goto 0079 // -0074
+005c04: 6201 3000                              |00ee: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005c08: 4401 010f                              |00f0: aget v1, v1, v15
+005c0c: b541                                   |00f2: and-int/2addr v1, v4
+005c0e: 3801 2d00                              |00f3: if-eqz v1, 0120 // +002d
+005c12: 6201 3100                              |00f5: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005c16: 4401 010f                              |00f7: aget v1, v1, v15
+005c1a: 9501 0114                              |00f9: and-int v1, v1, v20
+005c1e: 3801 2500                              |00fb: if-eqz v1, 0120 // +0025
+005c22: 9607 1410                              |00fd: or-int v7, v20, v16
+005c26: 6201 3000                              |00ff: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005c2a: 4401 010f                              |0101: aget v1, v1, v15
+005c2e: 9708 0401                              |0103: xor-int v8, v4, v1
+005c32: d809 0ff7                              |0105: add-int/lit8 v9, v15, #int -9 // #f7
+005c36: 6201 3100                              |0107: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005c3a: 440a 010f                              |0109: aget v10, v1, v15
+005c3e: 6201 3000                              |010b: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005c42: 4401 010f                              |010d: aget v1, v1, v15
+005c46: 960b 1001                              |010f: or-int v11, v16, v1
+005c4a: 130c 0102                              |0111: const/16 v12, #int 513 // #201
+005c4e: 6201 3100                              |0113: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005c52: 4401 010f                              |0115: aget v1, v1, v15
+005c56: 960d 1001                              |0117: or-int v13, v16, v1
+005c5a: 0805 1100                              |0119: move-object/from16 v5, v17
+005c5e: 0206 1200                              |011b: move/from16 v6, v18
+005c62: 7609 8b00 0500                         |011d: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+005c68: 6201 3200                              |0120: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+005c6c: 4401 010f                              |0122: aget v1, v1, v15
+005c70: b541                                   |0124: and-int/2addr v1, v4
+005c72: 3801 2d00                              |0125: if-eqz v1, 0152 // +002d
+005c76: 6201 3300                              |0127: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+005c7a: 4401 010f                              |0129: aget v1, v1, v15
+005c7e: 9501 0114                              |012b: and-int v1, v1, v20
+005c82: 3801 2500                              |012d: if-eqz v1, 0152 // +0025
+005c86: 9607 1410                              |012f: or-int v7, v20, v16
+005c8a: 6201 3200                              |0131: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+005c8e: 4401 010f                              |0133: aget v1, v1, v15
+005c92: 9708 0401                              |0135: xor-int v8, v4, v1
+005c96: d809 0ff9                              |0137: add-int/lit8 v9, v15, #int -7 // #f9
+005c9a: 6201 3300                              |0139: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+005c9e: 440a 010f                              |013b: aget v10, v1, v15
+005ca2: 6201 3200                              |013d: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+005ca6: 4401 010f                              |013f: aget v1, v1, v15
+005caa: 960b 1001                              |0141: or-int v11, v16, v1
+005cae: 130c 0102                              |0143: const/16 v12, #int 513 // #201
+005cb2: 6201 3300                              |0145: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+005cb6: 4401 010f                              |0147: aget v1, v1, v15
+005cba: 960d 1001                              |0149: or-int v13, v16, v1
+005cbe: 0805 1100                              |014b: move-object/from16 v5, v17
+005cc2: 0206 1200                              |014d: move/from16 v6, v18
+005cc6: 7609 8b00 0500                         |014f: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+005ccc: 6201 3400                              |0152: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+005cd0: 4401 010f                              |0154: aget v1, v1, v15
+005cd4: b541                                   |0156: and-int/2addr v1, v4
+005cd6: 3801 2d00                              |0157: if-eqz v1, 0184 // +002d
+005cda: 6201 3500                              |0159: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+005cde: 4401 010f                              |015b: aget v1, v1, v15
+005ce2: 9501 0114                              |015d: and-int v1, v1, v20
+005ce6: 3801 2500                              |015f: if-eqz v1, 0184 // +0025
+005cea: 9607 1410                              |0161: or-int v7, v20, v16
+005cee: 6201 3400                              |0163: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+005cf2: 4401 010f                              |0165: aget v1, v1, v15
+005cf6: 9708 0401                              |0167: xor-int v8, v4, v1
+005cfa: d809 0f07                              |0169: add-int/lit8 v9, v15, #int 7 // #07
+005cfe: 6201 3500                              |016b: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+005d02: 440a 010f                              |016d: aget v10, v1, v15
+005d06: 6201 3400                              |016f: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+005d0a: 4401 010f                              |0171: aget v1, v1, v15
+005d0e: 960b 1001                              |0173: or-int v11, v16, v1
+005d12: 130c 0102                              |0175: const/16 v12, #int 513 // #201
+005d16: 6201 3500                              |0177: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+005d1a: 4401 010f                              |0179: aget v1, v1, v15
+005d1e: 960d 1001                              |017b: or-int v13, v16, v1
+005d22: 0805 1100                              |017d: move-object/from16 v5, v17
+005d26: 0206 1200                              |017f: move/from16 v6, v18
+005d2a: 7609 8b00 0500                         |0181: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+005d30: 6201 3600                              |0184: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+005d34: 4401 010f                              |0186: aget v1, v1, v15
+005d38: b541                                   |0188: and-int/2addr v1, v4
+005d3a: 3801 2d00                              |0189: if-eqz v1, 01b6 // +002d
+005d3e: 6201 3700                              |018b: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+005d42: 4401 010f                              |018d: aget v1, v1, v15
+005d46: 9501 0114                              |018f: and-int v1, v1, v20
+005d4a: 3801 2500                              |0191: if-eqz v1, 01b6 // +0025
+005d4e: 9607 1410                              |0193: or-int v7, v20, v16
+005d52: 6201 3600                              |0195: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+005d56: 4401 010f                              |0197: aget v1, v1, v15
+005d5a: 9708 0401                              |0199: xor-int v8, v4, v1
+005d5e: d809 0f09                              |019b: add-int/lit8 v9, v15, #int 9 // #09
+005d62: 6201 3700                              |019d: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+005d66: 440a 010f                              |019f: aget v10, v1, v15
+005d6a: 6201 3600                              |01a1: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+005d6e: 4401 010f                              |01a3: aget v1, v1, v15
+005d72: 960b 1001                              |01a5: or-int v11, v16, v1
+005d76: 130c 0102                              |01a7: const/16 v12, #int 513 // #201
+005d7a: 6201 3700                              |01a9: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+005d7e: 4401 010f                              |01ab: aget v1, v1, v15
+005d82: 960d 1001                              |01ad: or-int v13, v16, v1
+005d86: 0805 1100                              |01af: move-object/from16 v5, v17
+005d8a: 0206 1200                              |01b1: move/from16 v6, v18
+005d8e: 7609 8b00 0500                         |01b3: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+005d94: 01e1                                   |01b6: move v1, v14
+005d96: 2900 c2fe                              |01b7: goto/16 0079 // -013e
+005d9a: 0800 1100                              |01b9: move-object/from16 v0, v17
+005d9e: 5201 4000                              |01bb: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005da2: 0800 1100                              |01bd: move-object/from16 v0, v17
+005da6: 5202 3f00                              |01bf: iget v2, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+005daa: b612                                   |01c1: or-int/2addr v2, v1
+005dac: 0800 1100                              |01c2: move-object/from16 v0, v17
+005db0: 5201 3e00                              |01c4: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+005db4: 0800 1100                              |01c6: move-object/from16 v0, v17
+005db8: 5203 3d00                              |01c8: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+005dbc: 9604 0103                              |01ca: or-int v4, v1, v3
+005dc0: 1201                                   |01cc: const/4 v1, #int 0 // #0
+005dc2: 0800 1100                              |01cd: move-object/from16 v0, v17
+005dc6: 5203 4000                              |01cf: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005dca: 3803 3500                              |01d1: if-eqz v3, 0206 // +0035
+005dce: e203 1404                              |01d3: ushr-int/lit8 v3, v20, #int 4 // #04
+005dd2: b543                                   |01d5: and-int/2addr v3, v4
+005dd4: 3803 1600                              |01d6: if-eqz v3, 01ec // +0016
+005dd8: 0800 1100                              |01d8: move-object/from16 v0, v17
+005ddc: 5201 4000                              |01da: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005de0: 1405 e0e0 e0e0                         |01dc: const v5, #float -129633581999069331456.000000 // #e0e0e0e0
+005de6: b535                                   |01df: and-int/2addr v5, v3
+005de8: e205 0505                              |01e0: ushr-int/lit8 v5, v5, #int 5 // #05
+005dec: 1406 0007 0707                         |01e2: const v6, #float 0.000000 // #07070700
+005df2: b563                                   |01e5: and-int/2addr v3, v6
+005df4: e203 0303                              |01e6: ushr-int/lit8 v3, v3, #int 3 // #03
+005df8: b653                                   |01e8: or-int/2addr v3, v5
+005dfa: b531                                   |01e9: and-int/2addr v1, v3
+005dfc: de01 0100                              |01ea: or-int/lit8 v1, v1, #int 0 // #00
+005e00: 1403 e0e0 e0e0                         |01ec: const v3, #float -129633581999069331456.000000 // #e0e0e0e0
+005e06: 9503 0314                              |01ef: and-int v3, v3, v20
+005e0a: e203 0305                              |01f1: ushr-int/lit8 v3, v3, #int 5 // #05
+005e0e: 1405 0007 0707                         |01f3: const v5, #float 0.000000 // #07070700
+005e14: 9505 0514                              |01f6: and-int v5, v5, v20
+005e18: e205 0503                              |01f8: ushr-int/lit8 v5, v5, #int 3 // #03
+005e1c: b653                                   |01fa: or-int/2addr v3, v5
+005e1e: b543                                   |01fb: and-int/2addr v3, v4
+005e20: 3803 0a00                              |01fc: if-eqz v3, 0206 // +000a
+005e24: 0800 1100                              |01fe: move-object/from16 v0, v17
+005e28: 5205 4000                              |0200: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005e2c: e203 0304                              |0202: ushr-int/lit8 v3, v3, #int 4 // #04
+005e30: b553                                   |0204: and-int/2addr v3, v5
+005e32: b631                                   |0205: or-int/2addr v1, v3
+005e34: e003 1404                              |0206: shl-int/lit8 v3, v20, #int 4 // #04
+005e38: b543                                   |0208: and-int/2addr v3, v4
+005e3a: 3803 1100                              |0209: if-eqz v3, 021a // +0011
+005e3e: 1405 0707 0707                         |020b: const v5, #float 0.000000 // #07070707
+005e44: b535                                   |020e: and-int/2addr v5, v3
+005e46: e005 0505                              |020f: shl-int/lit8 v5, v5, #int 5 // #05
+005e4a: 1406 e0e0 e000                         |0211: const v6, #float 0.000000 // #00e0e0e0
+005e50: b563                                   |0214: and-int/2addr v3, v6
+005e52: e003 0303                              |0215: shl-int/lit8 v3, v3, #int 3 // #03
+005e56: b653                                   |0217: or-int/2addr v3, v5
+005e58: b523                                   |0218: and-int/2addr v3, v2
+005e5a: b631                                   |0219: or-int/2addr v1, v3
+005e5c: 1403 0707 0707                         |021a: const v3, #float 0.000000 // #07070707
+005e62: 9503 0314                              |021d: and-int v3, v3, v20
+005e66: e003 0305                              |021f: shl-int/lit8 v3, v3, #int 5 // #05
+005e6a: 1405 e0e0 e000                         |0221: const v5, #float 0.000000 // #00e0e0e0
+005e70: 9505 0514                              |0224: and-int v5, v5, v20
+005e74: e005 0503                              |0226: shl-int/lit8 v5, v5, #int 3 // #03
+005e78: b653                                   |0228: or-int/2addr v3, v5
+005e7a: b543                                   |0229: and-int/2addr v3, v4
+005e7c: 3803 0600                              |022a: if-eqz v3, 0230 // +0006
+005e80: e003 0304                              |022c: shl-int/lit8 v3, v3, #int 4 // #04
+005e84: b532                                   |022e: and-int/2addr v2, v3
+005e86: b621                                   |022f: or-int/2addr v1, v2
+005e88: 3801 4bfe                              |0230: if-eqz v1, 007b // -01b5
+005e8c: 7110 9f00 0100                         |0232: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+005e92: 0a0f                                   |0235: move-result v15
+005e94: 1212                                   |0236: const/4 v2, #int 1 // #1
+005e96: 9810 020f                              |0237: shl-int v16, v2, v15
+005e9a: 970e 0110                              |0239: xor-int v14, v1, v16
+005e9e: 0800 1100                              |023b: move-object/from16 v0, v17
+005ea2: 5201 4000                              |023d: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+005ea6: 9501 0110                              |023f: and-int v1, v1, v16
+005eaa: 3901 5c00                              |0241: if-nez v1, 029d // +005c
+005eae: 6201 3000                              |0243: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005eb2: 4401 010f                              |0245: aget v1, v1, v15
+005eb6: b541                                   |0247: and-int/2addr v1, v4
+005eb8: 3801 2700                              |0248: if-eqz v1, 026f // +0027
+005ebc: 6201 3100                              |024a: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005ec0: 4401 010f                              |024c: aget v1, v1, v15
+005ec4: 9501 0114                              |024e: and-int v1, v1, v20
+005ec8: 3801 1f00                              |0250: if-eqz v1, 026f // +001f
+005ecc: d805 0ff7                              |0252: add-int/lit8 v5, v15, #int -9 // #f7
+005ed0: 6201 3100                              |0254: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005ed4: 4406 010f                              |0256: aget v6, v1, v15
+005ed8: 6201 3000                              |0258: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005edc: 4401 010f                              |025a: aget v1, v1, v15
+005ee0: 9607 1001                              |025c: or-int v7, v16, v1
+005ee4: 1308 0104                              |025e: const/16 v8, #int 1025 // #401
+005ee8: 6201 3100                              |0260: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005eec: 4401 010f                              |0262: aget v1, v1, v15
+005ef0: 9609 1001                              |0264: or-int v9, v16, v1
+005ef4: 0801 1100                              |0266: move-object/from16 v1, v17
+005ef8: 0202 1200                              |0268: move/from16 v2, v18
+005efc: 0203 1400                              |026a: move/from16 v3, v20
+005f00: 7609 7f00 0100                         |026c: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f
+005f06: 6201 3200                              |026f: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+005f0a: 4401 010f                              |0271: aget v1, v1, v15
+005f0e: b541                                   |0273: and-int/2addr v1, v4
+005f10: 3801 f100                              |0274: if-eqz v1, 0365 // +00f1
+005f14: 6201 3300                              |0276: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+005f18: 4401 010f                              |0278: aget v1, v1, v15
+005f1c: 9501 0114                              |027a: and-int v1, v1, v20
+005f20: 3801 e900                              |027c: if-eqz v1, 0365 // +00e9
+005f24: d805 0ff9                              |027e: add-int/lit8 v5, v15, #int -7 // #f9
+005f28: 6201 3300                              |0280: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+005f2c: 4406 010f                              |0282: aget v6, v1, v15
+005f30: 6201 3200                              |0284: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+005f34: 4401 010f                              |0286: aget v1, v1, v15
+005f38: 9607 1001                              |0288: or-int v7, v16, v1
+005f3c: 1308 0104                              |028a: const/16 v8, #int 1025 // #401
+005f40: 6201 3300                              |028c: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+005f44: 4401 010f                              |028e: aget v1, v1, v15
+005f48: 9609 1001                              |0290: or-int v9, v16, v1
+005f4c: 0801 1100                              |0292: move-object/from16 v1, v17
+005f50: 0202 1200                              |0294: move/from16 v2, v18
+005f54: 0203 1400                              |0296: move/from16 v3, v20
+005f58: 7609 7f00 0100                         |0298: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f
+005f5e: 01e1                                   |029b: move v1, v14
+005f60: 2894                                   |029c: goto 0230 // -006c
+005f62: 6201 3000                              |029d: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005f66: 4401 010f                              |029f: aget v1, v1, v15
+005f6a: b541                                   |02a1: and-int/2addr v1, v4
+005f6c: 3801 2d00                              |02a2: if-eqz v1, 02cf // +002d
+005f70: 6201 3100                              |02a4: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005f74: 4401 010f                              |02a6: aget v1, v1, v15
+005f78: 9501 0114                              |02a8: and-int v1, v1, v20
+005f7c: 3801 2500                              |02aa: if-eqz v1, 02cf // +0025
+005f80: 9607 1410                              |02ac: or-int v7, v20, v16
+005f84: 6201 3000                              |02ae: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005f88: 4401 010f                              |02b0: aget v1, v1, v15
+005f8c: 9708 0401                              |02b2: xor-int v8, v4, v1
+005f90: d809 0ff7                              |02b4: add-int/lit8 v9, v15, #int -9 // #f7
+005f94: 6201 3100                              |02b6: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005f98: 440a 010f                              |02b8: aget v10, v1, v15
+005f9c: 6201 3000                              |02ba: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+005fa0: 4401 010f                              |02bc: aget v1, v1, v15
+005fa4: 960b 1001                              |02be: or-int v11, v16, v1
+005fa8: 130c 0108                              |02c0: const/16 v12, #int 2049 // #801
+005fac: 6201 3100                              |02c2: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+005fb0: 4401 010f                              |02c4: aget v1, v1, v15
+005fb4: 960d 1001                              |02c6: or-int v13, v16, v1
+005fb8: 0805 1100                              |02c8: move-object/from16 v5, v17
+005fbc: 0206 1200                              |02ca: move/from16 v6, v18
+005fc0: 7609 8b00 0500                         |02cc: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+005fc6: 6201 3200                              |02cf: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+005fca: 4401 010f                              |02d1: aget v1, v1, v15
+005fce: b541                                   |02d3: and-int/2addr v1, v4
+005fd0: 3801 2d00                              |02d4: if-eqz v1, 0301 // +002d
+005fd4: 6201 3300                              |02d6: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+005fd8: 4401 010f                              |02d8: aget v1, v1, v15
+005fdc: 9501 0114                              |02da: and-int v1, v1, v20
+005fe0: 3801 2500                              |02dc: if-eqz v1, 0301 // +0025
+005fe4: 9607 1410                              |02de: or-int v7, v20, v16
+005fe8: 6201 3200                              |02e0: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+005fec: 4401 010f                              |02e2: aget v1, v1, v15
+005ff0: 9708 0401                              |02e4: xor-int v8, v4, v1
+005ff4: d809 0ff9                              |02e6: add-int/lit8 v9, v15, #int -7 // #f9
+005ff8: 6201 3300                              |02e8: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+005ffc: 440a 010f                              |02ea: aget v10, v1, v15
+006000: 6201 3200                              |02ec: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+006004: 4401 010f                              |02ee: aget v1, v1, v15
+006008: 960b 1001                              |02f0: or-int v11, v16, v1
+00600c: 130c 0108                              |02f2: const/16 v12, #int 2049 // #801
+006010: 6201 3300                              |02f4: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+006014: 4401 010f                              |02f6: aget v1, v1, v15
+006018: 960d 1001                              |02f8: or-int v13, v16, v1
+00601c: 0805 1100                              |02fa: move-object/from16 v5, v17
+006020: 0206 1200                              |02fc: move/from16 v6, v18
+006024: 7609 8b00 0500                         |02fe: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+00602a: 6201 3400                              |0301: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+00602e: 4401 010f                              |0303: aget v1, v1, v15
+006032: b541                                   |0305: and-int/2addr v1, v4
+006034: 3801 2d00                              |0306: if-eqz v1, 0333 // +002d
+006038: 6201 3500                              |0308: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+00603c: 4401 010f                              |030a: aget v1, v1, v15
+006040: 9501 0114                              |030c: and-int v1, v1, v20
+006044: 3801 2500                              |030e: if-eqz v1, 0333 // +0025
+006048: 9607 1410                              |0310: or-int v7, v20, v16
+00604c: 6201 3400                              |0312: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+006050: 4401 010f                              |0314: aget v1, v1, v15
+006054: 9708 0401                              |0316: xor-int v8, v4, v1
+006058: d809 0f07                              |0318: add-int/lit8 v9, v15, #int 7 // #07
+00605c: 6201 3500                              |031a: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+006060: 440a 010f                              |031c: aget v10, v1, v15
+006064: 6201 3400                              |031e: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+006068: 4401 010f                              |0320: aget v1, v1, v15
+00606c: 960b 1001                              |0322: or-int v11, v16, v1
+006070: 130c 0108                              |0324: const/16 v12, #int 2049 // #801
+006074: 6201 3500                              |0326: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+006078: 4401 010f                              |0328: aget v1, v1, v15
+00607c: 960d 1001                              |032a: or-int v13, v16, v1
+006080: 0805 1100                              |032c: move-object/from16 v5, v17
+006084: 0206 1200                              |032e: move/from16 v6, v18
+006088: 7609 8b00 0500                         |0330: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+00608e: 6201 3600                              |0333: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+006092: 4401 010f                              |0335: aget v1, v1, v15
+006096: b541                                   |0337: and-int/2addr v1, v4
+006098: 3801 2d00                              |0338: if-eqz v1, 0365 // +002d
+00609c: 6201 3700                              |033a: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+0060a0: 4401 010f                              |033c: aget v1, v1, v15
+0060a4: 9501 0114                              |033e: and-int v1, v1, v20
+0060a8: 3801 2500                              |0340: if-eqz v1, 0365 // +0025
+0060ac: 9607 1410                              |0342: or-int v7, v20, v16
+0060b0: 6201 3600                              |0344: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+0060b4: 4401 010f                              |0346: aget v1, v1, v15
+0060b8: 9708 0401                              |0348: xor-int v8, v4, v1
+0060bc: d809 0f09                              |034a: add-int/lit8 v9, v15, #int 9 // #09
+0060c0: 6201 3700                              |034c: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+0060c4: 440a 010f                              |034e: aget v10, v1, v15
+0060c8: 6201 3600                              |0350: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+0060cc: 4401 010f                              |0352: aget v1, v1, v15
+0060d0: 960b 1001                              |0354: or-int v11, v16, v1
+0060d4: 130c 0108                              |0356: const/16 v12, #int 2049 // #801
+0060d8: 6201 3700                              |0358: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+0060dc: 4401 010f                              |035a: aget v1, v1, v15
+0060e0: 960d 1001                              |035c: or-int v13, v16, v1
+0060e4: 0805 1100                              |035e: move-object/from16 v5, v17
+0060e8: 0206 1200                              |0360: move/from16 v6, v18
+0060ec: 7609 8b00 0500                         |0362: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+0060f2: 01e1                                   |0365: move v1, v14
+0060f4: 2900 cafe                              |0366: goto/16 0230 // -0136
+0060f8: 1201                                   |0368: const/4 v1, #int 0 // #0
+0060fa: 2900 19fd                              |0369: goto/16 0082 // -02e7
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #13              : (in Lcom/google/android/checkers/a;)
+      name          : 'b'
+      type          : '(ZIIIZ)I'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 9
+      ins           : 5
+      outs          : 1
+      insns size    : 46 16-bit code units
+006100:                                        |[006100] com.google.android.checkers.a.b:(ZIIIZ)I
+006110: 7110 9f00 0500                         |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006116: 0a02                                   |0003: move-result v2
+006118: 7110 9f00 0600                         |0004: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+00611e: 0a01                                   |0007: move-result v1
+006120: 7110 9f00 0700                         |0008: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006126: 0a00                                   |000b: move-result v0
+006128: 3808 0800                              |000c: if-eqz v8, 0014 // +0008
+00612c: d902 021f                              |000e: rsub-int/lit8 v2, v2, #int 31 // #1f
+006130: d901 011f                              |0010: rsub-int/lit8 v1, v1, #int 31 // #1f
+006134: d900 001f                              |0012: rsub-int/lit8 v0, v0, #int 31 // #1f
+006138: d800 00fc                              |0014: add-int/lit8 v0, v0, #int -4 // #fc
+00613c: 3804 0d00                              |0016: if-eqz v4, 0023 // +000d
+006140: 6203 6300                              |0018: sget-object v3, Lcom/google/android/checkers/g;.k:[B // field@0063
+006144: d200 8003                              |001a: mul-int/lit16 v0, v0, #int 896 // #0380
+006148: da02 0220                              |001c: mul-int/lit8 v2, v2, #int 32 // #20
+00614c: b020                                   |001e: add-int/2addr v0, v2
+00614e: b010                                   |001f: add-int/2addr v0, v1
+006150: 4800 0300                              |0020: aget-byte v0, v3, v0
+006154: 0f00                                   |0022: return v0
+006156: 6203 6400                              |0023: sget-object v3, Lcom/google/android/checkers/g;.l:[B // field@0064
+00615a: d200 8003                              |0025: mul-int/lit16 v0, v0, #int 896 // #0380
+00615e: da02 0220                              |0027: mul-int/lit8 v2, v2, #int 32 // #20
+006162: b020                                   |0029: add-int/2addr v0, v2
+006164: b010                                   |002a: add-int/2addr v0, v1
+006166: 4800 0300                              |002b: aget-byte v0, v3, v0
+00616a: 28f5                                   |002d: goto 0022 // -000b
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #14              : (in Lcom/google/android/checkers/a;)
+      name          : 'b'
+      type          : '(ZIIZ)I'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 8
+      ins           : 4
+      outs          : 1
+      insns size    : 56 16-bit code units
+00616c:                                        |[00616c] com.google.android.checkers.a.b:(ZIIZ)I
+00617c: 7110 9f00 0500                         |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006182: 0a00                                   |0003: move-result v0
+006184: d801 05ff                              |0004: add-int/lit8 v1, v5, #int -1 // #ff
+006188: b551                                   |0006: and-int/2addr v1, v5
+00618a: 7110 9f00 0100                         |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006190: 0a02                                   |000a: move-result v2
+006192: 7110 9f00 0600                         |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006198: 0a01                                   |000e: move-result v1
+00619a: 3807 0800                              |000f: if-eqz v7, 0017 // +0008
+00619e: d900 001f                              |0011: rsub-int/lit8 v0, v0, #int 31 // #1f
+0061a2: d902 021f                              |0013: rsub-int/lit8 v2, v2, #int 31 // #1f
+0061a6: d901 011f                              |0015: rsub-int/lit8 v1, v1, #int 31 // #1f
+0061aa: d801 01fc                              |0017: add-int/lit8 v1, v1, #int -4 // #fc
+0061ae: 3520 1100                              |0019: if-ge v0, v2, 002a // +0011
+0061b2: 6203 3800                              |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+0061b6: 4402 0302                              |001d: aget v2, v3, v2
+0061ba: b020                                   |001f: add-int/2addr v0, v2
+0061bc: 3804 1000                              |0020: if-eqz v4, 0030 // +0010
+0061c0: 6202 5f00                              |0022: sget-object v2, Lcom/google/android/checkers/g;.g:[B // field@005f
+0061c4: d211 f001                              |0024: mul-int/lit16 v1, v1, #int 496 // #01f0
+0061c8: b010                                   |0026: add-int/2addr v0, v1
+0061ca: 4800 0200                              |0027: aget-byte v0, v2, v0
+0061ce: 0f00                                   |0029: return v0
+0061d0: 6203 3800                              |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+0061d4: 4400 0300                              |002c: aget v0, v3, v0
+0061d8: b020                                   |002e: add-int/2addr v0, v2
+0061da: 28f1                                   |002f: goto 0020 // -000f
+0061dc: 6202 6000                              |0030: sget-object v2, Lcom/google/android/checkers/g;.h:[B // field@0060
+0061e0: d211 f001                              |0032: mul-int/lit16 v1, v1, #int 496 // #01f0
+0061e4: b010                                   |0034: add-int/2addr v0, v1
+0061e6: 4800 0200                              |0035: aget-byte v0, v2, v0
+0061ea: 28f2                                   |0037: goto 0029 // -000e
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #15              : (in Lcom/google/android/checkers/a;)
+      name          : 'b'
+      type          : '()V'
+      access        : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 2
+      ins           : 1
+      outs          : 1
+      insns size    : 19 16-bit code units
+0061ec:                                        |[0061ec] com.google.android.checkers.a.b:()V
+0061fc: 1d01                                   |0000: monitor-enter v1
+0061fe: 5510 4400                              |0001: iget-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044
+006202: 3800 0700                              |0003: if-eqz v0, 000a // +0007
+006206: 1200                                   |0005: const/4 v0, #int 0 // #0
+006208: 5c10 4400                              |0006: iput-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044
+00620c: 1e01                                   |0008: monitor-exit v1
+00620e: 0e00                                   |0009: return-void
+006210: 6e10 a200 0100                         |000a: invoke-virtual {v1}, Ljava/lang/Object;.wait:()V // method@00a2
+006216: 28f4                                   |000d: goto 0001 // -000c
+006218: 0d00                                   |000e: move-exception v0
+00621a: 28f2                                   |000f: goto 0001 // -000e
+00621c: 0d00                                   |0010: move-exception v0
+00621e: 1e01                                   |0011: monitor-exit v1
+006220: 2700                                   |0012: throw v0
+      catches       : 2
+        0x0001 - 0x0008
+          <any> -> 0x0010
+        0x000a - 0x000d
+          Ljava/lang/InterruptedException; -> 0x000e
+          <any> -> 0x0010
+      positions     : 
+      locals        : 
+
+    #16              : (in Lcom/google/android/checkers/a;)
+      name          : 'b'
+      type          : '(I)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 10
+      ins           : 2
+      outs          : 1
+      insns size    : 368 16-bit code units
+00623c:                                        |[00623c] com.google.android.checkers.a.b:(I)V
+00624c: 5280 3d00                              |0000: iget v0, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+006250: 5282 3e00                              |0002: iget v2, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+006254: 5283 3f00                              |0004: iget v3, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+006258: 5284 4000                              |0006: iget v4, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+00625c: 5481 4900                              |0008: iget-object v1, v8, Lcom/google/android/checkers/a;.p:[I // field@0049
+006260: 4401 0109                              |000a: aget v1, v1, v9
+006264: d511 ff00                              |000c: and-int/lit16 v1, v1, #int 255 // #00ff
+006268: 5485 4900                              |000e: iget-object v5, v8, Lcom/google/android/checkers/a;.p:[I // field@0049
+00626c: 4405 0509                              |0010: aget v5, v5, v9
+006270: d555 000f                              |0012: and-int/lit16 v5, v5, #int 3840 // #0f00
+006274: 5486 4800                              |0014: iget-object v6, v8, Lcom/google/android/checkers/a;.o:[I // field@0048
+006278: 4406 0609                              |0016: aget v6, v6, v9
+00627c: 2c05 4601 0000                         |0018: sparse-switch v5, 0000015e // +00000146
+006282: 5281 5100                              |001b: iget v1, v8, Lcom/google/android/checkers/a;.x:I // field@0051
+006286: 6205 3900                              |001d: sget-object v5, Lcom/google/android/checkers/a;.M:[I // field@0039
+00628a: 1306 8000                              |001f: const/16 v6, #int 128 // #80
+00628e: 4405 0506                              |0021: aget v5, v5, v6
+006292: b751                                   |0023: xor-int/2addr v1, v5
+006294: 5285 3d00                              |0024: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+006298: b750                                   |0026: xor-int/2addr v0, v5
+00629a: 3900 ee00                              |0027: if-nez v0, 0115 // +00ee
+00629e: 5280 3e00                              |0029: iget v0, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+0062a2: b720                                   |002b: xor-int/2addr v0, v2
+0062a4: 3900 fb00                              |002c: if-nez v0, 0127 // +00fb
+0062a8: 5280 3f00                              |002e: iget v0, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+0062ac: b730                                   |0030: xor-int/2addr v0, v3
+0062ae: 3900 0801                              |0031: if-nez v0, 0139 // +0108
+0062b2: 5280 4000                              |0033: iget v0, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+0062b6: b740                                   |0035: xor-int/2addr v0, v4
+0062b8: 3900 1501                              |0036: if-nez v0, 014b // +0115
+0062bc: 5981 5100                              |0038: iput v1, v8, Lcom/google/android/checkers/a;.x:I // field@0051
+0062c0: 0e00                                   |003a: return-void
+0062c2: 1505 00f0                              |003b: const/high16 v5, #int -268435456 // #f000
+0062c6: b565                                   |003d: and-int/2addr v5, v6
+0062c8: 3805 3100                              |003e: if-eqz v5, 006f // +0031
+0062cc: 5285 3d00                              |0040: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+0062d0: 5487 3a00                              |0042: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+0062d4: 4407 0709                              |0044: aget v7, v7, v9
+0062d8: df07 07ff                              |0046: xor-int/lit8 v7, v7, #int -1 // #ff
+0062dc: b575                                   |0048: and-int/2addr v5, v7
+0062de: 5985 3d00                              |0049: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+0062e2: 5285 3e00                              |004b: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+0062e6: b665                                   |004d: or-int/2addr v5, v6
+0062e8: 5985 3e00                              |004e: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+0062ec: 3801 cbff                              |0050: if-eqz v1, 001b // -0035
+0062f0: 5285 3f00                              |0052: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+0062f4: 5486 3a00                              |0054: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+0062f8: 4406 0609                              |0056: aget v6, v6, v9
+0062fc: df06 06ff                              |0058: xor-int/lit8 v6, v6, #int -1 // #ff
+006300: b565                                   |005a: and-int/2addr v5, v6
+006302: 5985 3f00                              |005b: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+006306: 5285 4000                              |005d: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+00630a: 5486 3a00                              |005f: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+00630e: 4406 0609                              |0061: aget v6, v6, v9
+006312: df06 06ff                              |0063: xor-int/lit8 v6, v6, #int -1 // #ff
+006316: b565                                   |0065: and-int/2addr v5, v6
+006318: 5985 4000                              |0066: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+00631c: 5285 5000                              |0068: iget v5, v8, Lcom/google/android/checkers/a;.w:I // field@0050
+006320: 9101 0501                              |006a: sub-int v1, v5, v1
+006324: 5981 5000                              |006c: iput v1, v8, Lcom/google/android/checkers/a;.w:I // field@0050
+006328: 28ad                                   |006e: goto 001b // -0053
+00632a: 5285 3d00                              |006f: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+00632e: 5487 3a00                              |0071: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+006332: 4407 0709                              |0073: aget v7, v7, v9
+006336: df07 07ff                              |0075: xor-int/lit8 v7, v7, #int -1 // #ff
+00633a: b575                                   |0077: and-int/2addr v5, v7
+00633c: b665                                   |0078: or-int/2addr v5, v6
+00633e: 5985 3d00                              |0079: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+006342: 28d5                                   |007b: goto 0050 // -002b
+006344: 5285 3e00                              |007c: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+006348: 5487 3a00                              |007e: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+00634c: 4407 0709                              |0080: aget v7, v7, v9
+006350: df07 07ff                              |0082: xor-int/lit8 v7, v7, #int -1 // #ff
+006354: b575                                   |0084: and-int/2addr v5, v7
+006356: b665                                   |0085: or-int/2addr v5, v6
+006358: 5985 3e00                              |0086: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+00635c: 3801 93ff                              |0088: if-eqz v1, 001b // -006d
+006360: 5285 3f00                              |008a: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+006364: 5486 3a00                              |008c: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+006368: 4406 0609                              |008e: aget v6, v6, v9
+00636c: df06 06ff                              |0090: xor-int/lit8 v6, v6, #int -1 // #ff
+006370: b565                                   |0092: and-int/2addr v5, v6
+006372: 5985 3f00                              |0093: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+006376: 5285 4000                              |0095: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+00637a: 5486 3a00                              |0097: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+00637e: 4406 0609                              |0099: aget v6, v6, v9
+006382: df06 06ff                              |009b: xor-int/lit8 v6, v6, #int -1 // #ff
+006386: b565                                   |009d: and-int/2addr v5, v6
+006388: 5985 4000                              |009e: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+00638c: 5285 5000                              |00a0: iget v5, v8, Lcom/google/android/checkers/a;.w:I // field@0050
+006390: 9101 0501                              |00a2: sub-int v1, v5, v1
+006394: 5981 5000                              |00a4: iput v1, v8, Lcom/google/android/checkers/a;.w:I // field@0050
+006398: 2900 75ff                              |00a6: goto/16 001b // -008b
+00639c: dd05 060f                              |00a8: and-int/lit8 v5, v6, #int 15 // #0f
+0063a0: 3805 3200                              |00aa: if-eqz v5, 00dc // +0032
+0063a4: 5285 3f00                              |00ac: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+0063a8: 5487 3a00                              |00ae: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+0063ac: 4407 0709                              |00b0: aget v7, v7, v9
+0063b0: df07 07ff                              |00b2: xor-int/lit8 v7, v7, #int -1 // #ff
+0063b4: b575                                   |00b4: and-int/2addr v5, v7
+0063b6: 5985 3f00                              |00b5: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+0063ba: 5285 4000                              |00b7: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+0063be: b665                                   |00b9: or-int/2addr v5, v6
+0063c0: 5985 4000                              |00ba: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+0063c4: 3801 5fff                              |00bc: if-eqz v1, 001b // -00a1
+0063c8: 5285 3d00                              |00be: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+0063cc: 5486 3a00                              |00c0: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+0063d0: 4406 0609                              |00c2: aget v6, v6, v9
+0063d4: df06 06ff                              |00c4: xor-int/lit8 v6, v6, #int -1 // #ff
+0063d8: b565                                   |00c6: and-int/2addr v5, v6
+0063da: 5985 3d00                              |00c7: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+0063de: 5285 3e00                              |00c9: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+0063e2: 5486 3a00                              |00cb: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+0063e6: 4406 0609                              |00cd: aget v6, v6, v9
+0063ea: df06 06ff                              |00cf: xor-int/lit8 v6, v6, #int -1 // #ff
+0063ee: b565                                   |00d1: and-int/2addr v5, v6
+0063f0: 5985 3e00                              |00d2: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+0063f4: 5285 4f00                              |00d4: iget v5, v8, Lcom/google/android/checkers/a;.v:I // field@004f
+0063f8: 9101 0501                              |00d6: sub-int v1, v5, v1
+0063fc: 5981 4f00                              |00d8: iput v1, v8, Lcom/google/android/checkers/a;.v:I // field@004f
+006400: 2900 41ff                              |00da: goto/16 001b // -00bf
+006404: 5285 3f00                              |00dc: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+006408: 5487 3a00                              |00de: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+00640c: 4407 0709                              |00e0: aget v7, v7, v9
+006410: df07 07ff                              |00e2: xor-int/lit8 v7, v7, #int -1 // #ff
+006414: b575                                   |00e4: and-int/2addr v5, v7
+006416: b665                                   |00e5: or-int/2addr v5, v6
+006418: 5985 3f00                              |00e6: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
+00641c: 28d4                                   |00e8: goto 00bc // -002c
+00641e: 5285 4000                              |00e9: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+006422: 5487 3a00                              |00eb: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+006426: 4407 0709                              |00ed: aget v7, v7, v9
+00642a: df07 07ff                              |00ef: xor-int/lit8 v7, v7, #int -1 // #ff
+00642e: b575                                   |00f1: and-int/2addr v5, v7
+006430: b665                                   |00f2: or-int/2addr v5, v6
+006432: 5985 4000                              |00f3: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
+006436: 3801 26ff                              |00f5: if-eqz v1, 001b // -00da
+00643a: 5285 3d00                              |00f7: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+00643e: 5486 3a00                              |00f9: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+006442: 4406 0609                              |00fb: aget v6, v6, v9
+006446: df06 06ff                              |00fd: xor-int/lit8 v6, v6, #int -1 // #ff
+00644a: b565                                   |00ff: and-int/2addr v5, v6
+00644c: 5985 3d00                              |0100: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
+006450: 5285 3e00                              |0102: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+006454: 5486 3a00                              |0104: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
+006458: 4406 0609                              |0106: aget v6, v6, v9
+00645c: df06 06ff                              |0108: xor-int/lit8 v6, v6, #int -1 // #ff
+006460: b565                                   |010a: and-int/2addr v5, v6
+006462: 5985 3e00                              |010b: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
+006466: 5285 4f00                              |010d: iget v5, v8, Lcom/google/android/checkers/a;.v:I // field@004f
+00646a: 9101 0501                              |010f: sub-int v1, v5, v1
+00646e: 5981 4f00                              |0111: iput v1, v8, Lcom/google/android/checkers/a;.v:I // field@004f
+006472: 2900 08ff                              |0113: goto/16 001b // -00f8
+006476: 6205 3900                              |0115: sget-object v5, Lcom/google/android/checkers/a;.M:[I // field@0039
+00647a: 7110 9f00 0000                         |0117: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006480: 0a06                                   |011a: move-result v6
+006482: da06 0604                              |011b: mul-int/lit8 v6, v6, #int 4 // #04
+006486: d806 0600                              |011d: add-int/lit8 v6, v6, #int 0 // #00
+00648a: 4405 0506                              |011f: aget v5, v5, v6
+00648e: b751                                   |0121: xor-int/2addr v1, v5
+006490: d805 00ff                              |0122: add-int/lit8 v5, v0, #int -1 // #ff
+006494: b550                                   |0124: and-int/2addr v0, v5
+006496: 2900 02ff                              |0125: goto/16 0027 // -00fe
+00649a: 6202 3900                              |0127: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
+00649e: 7110 9f00 0000                         |0129: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0064a4: 0a05                                   |012c: move-result v5
+0064a6: da05 0504                              |012d: mul-int/lit8 v5, v5, #int 4 // #04
+0064aa: d805 0501                              |012f: add-int/lit8 v5, v5, #int 1 // #01
+0064ae: 4402 0205                              |0131: aget v2, v2, v5
+0064b2: b721                                   |0133: xor-int/2addr v1, v2
+0064b4: d802 00ff                              |0134: add-int/lit8 v2, v0, #int -1 // #ff
+0064b8: b520                                   |0136: and-int/2addr v0, v2
+0064ba: 2900 f5fe                              |0137: goto/16 002c // -010b
+0064be: 6202 3900                              |0139: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
+0064c2: 7110 9f00 0000                         |013b: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0064c8: 0a03                                   |013e: move-result v3
+0064ca: da03 0304                              |013f: mul-int/lit8 v3, v3, #int 4 // #04
+0064ce: d803 0302                              |0141: add-int/lit8 v3, v3, #int 2 // #02
+0064d2: 4402 0203                              |0143: aget v2, v2, v3
+0064d6: b721                                   |0145: xor-int/2addr v1, v2
+0064d8: d802 00ff                              |0146: add-int/lit8 v2, v0, #int -1 // #ff
+0064dc: b520                                   |0148: and-int/2addr v0, v2
+0064de: 2900 e8fe                              |0149: goto/16 0031 // -0118
+0064e2: 6202 3900                              |014b: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
+0064e6: 7110 9f00 0000                         |014d: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0064ec: 0a03                                   |0150: move-result v3
+0064ee: da03 0304                              |0151: mul-int/lit8 v3, v3, #int 4 // #04
+0064f2: d803 0303                              |0153: add-int/lit8 v3, v3, #int 3 // #03
+0064f6: 4402 0203                              |0155: aget v2, v2, v3
+0064fa: b721                                   |0157: xor-int/2addr v1, v2
+0064fc: d802 00ff                              |0158: add-int/lit8 v2, v0, #int -1 // #ff
+006500: b520                                   |015a: and-int/2addr v0, v2
+006502: 2900 dbfe                              |015b: goto/16 0036 // -0125
+006506: 0000                                   |015d: nop // spacer
+006508: 0002 0400 0001 0000 0002 0000 0004 ... |015e: sparse-switch-data (18 units)
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #17              : (in Lcom/google/android/checkers/a;)
+      name          : 'b'
+      type          : '(IIIIIIII)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 18
+      ins           : 9
+      outs          : 9
+      insns size    : 99 16-bit code units
+00652c:                                        |[00652c] com.google.android.checkers.a.b:(IIIIIIII)V
+00653c: 1210                                   |0000: const/4 v0, #int 1 // #1
+00653e: 6201 3400                              |0001: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+006542: 4401 010d                              |0003: aget v1, v1, v13
+006546: b5c1                                   |0005: and-int/2addr v1, v12
+006548: 3801 2500                              |0006: if-eqz v1, 002b // +0025
+00654c: 6201 3500                              |0008: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+006550: 4401 010d                              |000a: aget v1, v1, v13
+006554: b5b1                                   |000c: and-int/2addr v1, v11
+006556: 3801 1e00                              |000d: if-eqz v1, 002b // +001e
+00655a: d804 0d07                              |000f: add-int/lit8 v4, v13, #int 7 // #07
+00655e: 6200 3500                              |0011: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
+006562: 4405 000d                              |0013: aget v5, v0, v13
+006566: 6200 3400                              |0015: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+00656a: 4400 000d                              |0017: aget v0, v0, v13
+00656e: 9606 0f00                              |0019: or-int v6, v15, v0
+006572: d807 1001                              |001b: add-int/lit8 v7, v16, #int 1 // #01
+006576: 6200 3500                              |001d: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
+00657a: 4400 000d                              |001f: aget v0, v0, v13
+00657e: 9608 1100                              |0021: or-int v8, v17, v0
+006582: 0790                                   |0023: move-object v0, v9
+006584: 01a1                                   |0024: move v1, v10
+006586: 01b2                                   |0025: move v2, v11
+006588: 01c3                                   |0026: move v3, v12
+00658a: 7609 8600 0000                         |0027: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086
+006590: 1200                                   |002a: const/4 v0, #int 0 // #0
+006592: 6201 3600                              |002b: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+006596: 4401 010d                              |002d: aget v1, v1, v13
+00659a: b5c1                                   |002f: and-int/2addr v1, v12
+00659c: 3801 2500                              |0030: if-eqz v1, 0055 // +0025
+0065a0: 6201 3700                              |0032: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+0065a4: 4401 010d                              |0034: aget v1, v1, v13
+0065a8: b5b1                                   |0036: and-int/2addr v1, v11
+0065aa: 3801 1e00                              |0037: if-eqz v1, 0055 // +001e
+0065ae: d804 0d09                              |0039: add-int/lit8 v4, v13, #int 9 // #09
+0065b2: 6200 3700                              |003b: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
+0065b6: 4405 000d                              |003d: aget v5, v0, v13
+0065ba: 6200 3600                              |003f: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+0065be: 4400 000d                              |0041: aget v0, v0, v13
+0065c2: 9606 0f00                              |0043: or-int v6, v15, v0
+0065c6: d807 1001                              |0045: add-int/lit8 v7, v16, #int 1 // #01
+0065ca: 6200 3700                              |0047: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
+0065ce: 4400 000d                              |0049: aget v0, v0, v13
+0065d2: 9608 1100                              |004b: or-int v8, v17, v0
+0065d6: 0790                                   |004d: move-object v0, v9
+0065d8: 01a1                                   |004e: move v1, v10
+0065da: 01b2                                   |004f: move v2, v11
+0065dc: 01c3                                   |0050: move v3, v12
+0065de: 7609 8600 0000                         |0051: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086
+0065e4: 1200                                   |0054: const/4 v0, #int 0 // #0
+0065e6: 3800 0d00                              |0055: if-eqz v0, 0062 // +000d
+0065ea: 0790                                   |0057: move-object v0, v9
+0065ec: 01a1                                   |0058: move v1, v10
+0065ee: 01e2                                   |0059: move v2, v14
+0065f0: 01f3                                   |005a: move v3, v15
+0065f2: 0204 1000                              |005b: move/from16 v4, v16
+0065f6: 0205 1100                              |005d: move/from16 v5, v17
+0065fa: 7606 7e00 0000                         |005f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006600: 0e00                                   |0062: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #18              : (in Lcom/google/android/checkers/a;)
+      name          : 'b'
+      type          : '(IZI)Z'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 15
+      ins           : 4
+      outs          : 6
+      insns size    : 461 16-bit code units
+006604:                                        |[006604] com.google.android.checkers.a.b:(IZI)Z
+006614: 1404 e0e0 e000                         |0000: const v4, #float 0.000000 // #00e0e0e0
+00661a: 1216                                   |0003: const/4 v6, #int 1 // #1
+00661c: 1403 e0e0 e0e0                         |0004: const v3, #float -129633581999069331456.000000 // #e0e0e0e0
+006622: 130a 0008                              |0007: const/16 v10, #int 2048 // #800
+006626: 1309 0002                              |0009: const/16 v9, #int 512 // #200
+00662a: 380d e400                              |000b: if-eqz v13, 00ef // +00e4
+00662e: 52b0 3e00                              |000d: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e
+006632: 3900 1b00                              |000f: if-nez v0, 002a // +001b
+006636: 52b0 3d00                              |0011: iget v0, v11, Lcom/google/android/checkers/a;.d:I // field@003d
+00663a: e201 0e04                              |0013: ushr-int/lit8 v1, v14, #int 4 // #04
+00663e: 9502 0e03                              |0015: and-int v2, v14, v3
+006642: e202 0205                              |0017: ushr-int/lit8 v2, v2, #int 5 // #05
+006646: b621                                   |0019: or-int/2addr v1, v2
+006648: 1402 0007 0707                         |001a: const v2, #float 0.000000 // #07070700
+00664e: b5e2                                   |001d: and-int/2addr v2, v14
+006650: e202 0203                              |001e: ushr-int/lit8 v2, v2, #int 3 // #03
+006654: b621                                   |0020: or-int/2addr v1, v2
+006656: b510                                   |0021: and-int/2addr v0, v1
+006658: 3900 2f00                              |0022: if-nez v0, 0051 // +002f
+00665c: 52b0 3c00                              |0024: iget v0, v11, Lcom/google/android/checkers/a;.c:I // field@003c
+006660: 3800 a401                              |0026: if-eqz v0, 01ca // +01a4
+006664: 0160                                   |0028: move v0, v6
+006666: 0f00                                   |0029: return v0
+006668: 52b0 3e00                              |002a: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e
+00666c: 52b1 3d00                              |002c: iget v1, v11, Lcom/google/android/checkers/a;.d:I // field@003d
+006670: b610                                   |002e: or-int/2addr v0, v1
+006672: e201 0e04                              |002f: ushr-int/lit8 v1, v14, #int 4 // #04
+006676: 9502 0e03                              |0031: and-int v2, v14, v3
+00667a: e202 0205                              |0033: ushr-int/lit8 v2, v2, #int 5 // #05
+00667e: b621                                   |0035: or-int/2addr v1, v2
+006680: 1402 0007 0707                         |0036: const v2, #float 0.000000 // #07070700
+006686: b5e2                                   |0039: and-int/2addr v2, v14
+006688: e202 0203                              |003a: ushr-int/lit8 v2, v2, #int 3 // #03
+00668c: b621                                   |003c: or-int/2addr v1, v2
+00668e: b510                                   |003d: and-int/2addr v0, v1
+006690: 52b1 3e00                              |003e: iget v1, v11, Lcom/google/android/checkers/a;.e:I // field@003e
+006694: e002 0e04                              |0040: shl-int/lit8 v2, v14, #int 4 // #04
+006698: 1403 0707 0707                         |0042: const v3, #float 0.000000 // #07070707
+00669e: b5e3                                   |0045: and-int/2addr v3, v14
+0066a0: e003 0305                              |0046: shl-int/lit8 v3, v3, #int 5 // #05
+0066a4: b632                                   |0048: or-int/2addr v2, v3
+0066a6: 9503 0e04                              |0049: and-int v3, v14, v4
+0066aa: e003 0303                              |004b: shl-int/lit8 v3, v3, #int 3 // #03
+0066ae: b632                                   |004d: or-int/2addr v2, v3
+0066b0: b521                                   |004e: and-int/2addr v1, v2
+0066b2: b610                                   |004f: or-int/2addr v0, v1
+0066b4: 28d2                                   |0050: goto 0022 // -002e
+0066b6: 7110 9f00 0000                         |0051: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0066bc: 0a08                                   |0054: move-result v8
+0066be: 9803 0608                              |0055: shl-int v3, v6, v8
+0066c2: 9707 0003                              |0057: xor-int v7, v0, v3
+0066c6: 52b0 3e00                              |0059: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e
+0066ca: b530                                   |005b: and-int/2addr v0, v3
+0066cc: 3900 3400                              |005c: if-nez v0, 0090 // +0034
+0066d0: 6200 3400                              |005e: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+0066d4: 4400 0008                              |0060: aget v0, v0, v8
+0066d8: b5e0                                   |0062: and-int/2addr v0, v14
+0066da: 3800 1300                              |0063: if-eqz v0, 0076 // +0013
+0066de: 6200 3400                              |0065: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+0066e2: 4402 0008                              |0067: aget v2, v0, v8
+0066e6: 1304 0001                              |0069: const/16 v4, #int 256 // #100
+0066ea: 6200 3400                              |006b: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+0066ee: 4400 0008                              |006d: aget v0, v0, v8
+0066f2: 9605 0300                              |006f: or-int v5, v3, v0
+0066f6: 07b0                                   |0071: move-object v0, v11
+0066f8: 01c1                                   |0072: move v1, v12
+0066fa: 7606 7e00 0000                         |0073: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006700: 6200 3600                              |0076: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+006704: 4400 0008                              |0078: aget v0, v0, v8
+006708: b5e0                                   |007a: and-int/2addr v0, v14
+00670a: 3800 7100                              |007b: if-eqz v0, 00ec // +0071
+00670e: 6200 3600                              |007d: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+006712: 4402 0008                              |007f: aget v2, v0, v8
+006716: 1304 0001                              |0081: const/16 v4, #int 256 // #100
+00671a: 6200 3600                              |0083: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+00671e: 4400 0008                              |0085: aget v0, v0, v8
+006722: 9605 0300                              |0087: or-int v5, v3, v0
+006726: 07b0                                   |0089: move-object v0, v11
+006728: 01c1                                   |008a: move v1, v12
+00672a: 7606 7e00 0000                         |008b: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006730: 0170                                   |008e: move v0, v7
+006732: 2893                                   |008f: goto 0022 // -006d
+006734: 6200 3000                              |0090: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+006738: 4400 0008                              |0092: aget v0, v0, v8
+00673c: b5e0                                   |0094: and-int/2addr v0, v14
+00673e: 3800 1200                              |0095: if-eqz v0, 00a7 // +0012
+006742: 6200 3000                              |0097: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+006746: 4402 0008                              |0099: aget v2, v0, v8
+00674a: 6200 3000                              |009b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+00674e: 4400 0008                              |009d: aget v0, v0, v8
+006752: 9605 0300                              |009f: or-int v5, v3, v0
+006756: 07b0                                   |00a1: move-object v0, v11
+006758: 01c1                                   |00a2: move v1, v12
+00675a: 0194                                   |00a3: move v4, v9
+00675c: 7606 7e00 0000                         |00a4: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006762: 6200 3200                              |00a7: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+006766: 4400 0008                              |00a9: aget v0, v0, v8
+00676a: b5e0                                   |00ab: and-int/2addr v0, v14
+00676c: 3800 1200                              |00ac: if-eqz v0, 00be // +0012
+006770: 6200 3200                              |00ae: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+006774: 4402 0008                              |00b0: aget v2, v0, v8
+006778: 6200 3200                              |00b2: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+00677c: 4400 0008                              |00b4: aget v0, v0, v8
+006780: 9605 0300                              |00b6: or-int v5, v3, v0
+006784: 07b0                                   |00b8: move-object v0, v11
+006786: 01c1                                   |00b9: move v1, v12
+006788: 0194                                   |00ba: move v4, v9
+00678a: 7606 7e00 0000                         |00bb: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006790: 6200 3400                              |00be: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+006794: 4400 0008                              |00c0: aget v0, v0, v8
+006798: b5e0                                   |00c2: and-int/2addr v0, v14
+00679a: 3800 1200                              |00c3: if-eqz v0, 00d5 // +0012
+00679e: 6200 3400                              |00c5: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+0067a2: 4402 0008                              |00c7: aget v2, v0, v8
+0067a6: 6200 3400                              |00c9: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+0067aa: 4400 0008                              |00cb: aget v0, v0, v8
+0067ae: 9605 0300                              |00cd: or-int v5, v3, v0
+0067b2: 07b0                                   |00cf: move-object v0, v11
+0067b4: 01c1                                   |00d0: move v1, v12
+0067b6: 0194                                   |00d1: move v4, v9
+0067b8: 7606 7e00 0000                         |00d2: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+0067be: 6200 3600                              |00d5: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+0067c2: 4400 0008                              |00d7: aget v0, v0, v8
+0067c6: b5e0                                   |00d9: and-int/2addr v0, v14
+0067c8: 3800 1200                              |00da: if-eqz v0, 00ec // +0012
+0067cc: 6200 3600                              |00dc: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+0067d0: 4402 0008                              |00de: aget v2, v0, v8
+0067d4: 6200 3600                              |00e0: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+0067d8: 4400 0008                              |00e2: aget v0, v0, v8
+0067dc: 9605 0300                              |00e4: or-int v5, v3, v0
+0067e0: 07b0                                   |00e6: move-object v0, v11
+0067e2: 01c1                                   |00e7: move v1, v12
+0067e4: 0194                                   |00e8: move v4, v9
+0067e6: 7606 7e00 0000                         |00e9: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+0067ec: 0170                                   |00ec: move v0, v7
+0067ee: 2900 35ff                              |00ed: goto/16 0022 // -00cb
+0067f2: 52b0 4000                              |00ef: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040
+0067f6: 3900 5400                              |00f1: if-nez v0, 0145 // +0054
+0067fa: 52b0 3f00                              |00f3: iget v0, v11, Lcom/google/android/checkers/a;.f:I // field@003f
+0067fe: e001 0e04                              |00f5: shl-int/lit8 v1, v14, #int 4 // #04
+006802: 1402 0707 0707                         |00f7: const v2, #float 0.000000 // #07070707
+006808: b5e2                                   |00fa: and-int/2addr v2, v14
+00680a: e002 0205                              |00fb: shl-int/lit8 v2, v2, #int 5 // #05
+00680e: b621                                   |00fd: or-int/2addr v1, v2
+006810: 9502 0e04                              |00fe: and-int v2, v14, v4
+006814: e002 0203                              |0100: shl-int/lit8 v2, v2, #int 3 // #03
+006818: b621                                   |0102: or-int/2addr v1, v2
+00681a: b510                                   |0103: and-int/2addr v0, v1
+00681c: 3800 20ff                              |0104: if-eqz v0, 0024 // -00e0
+006820: 7110 9f00 0000                         |0106: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006826: 0a08                                   |0109: move-result v8
+006828: 9803 0608                              |010a: shl-int v3, v6, v8
+00682c: 9707 0003                              |010c: xor-int v7, v0, v3
+006830: 52b0 4000                              |010e: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040
+006834: b530                                   |0110: and-int/2addr v0, v3
+006836: 3900 5a00                              |0111: if-nez v0, 016b // +005a
+00683a: 6200 3000                              |0113: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+00683e: 4400 0008                              |0115: aget v0, v0, v8
+006842: b5e0                                   |0117: and-int/2addr v0, v14
+006844: 3800 1300                              |0118: if-eqz v0, 012b // +0013
+006848: 6200 3000                              |011a: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+00684c: 4402 0008                              |011c: aget v2, v0, v8
+006850: 1304 0004                              |011e: const/16 v4, #int 1024 // #400
+006854: 6200 3000                              |0120: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+006858: 4400 0008                              |0122: aget v0, v0, v8
+00685c: 9605 0300                              |0124: or-int v5, v3, v0
+006860: 07b0                                   |0126: move-object v0, v11
+006862: 01c1                                   |0127: move v1, v12
+006864: 7606 7e00 0000                         |0128: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+00686a: 6200 3200                              |012b: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+00686e: 4400 0008                              |012d: aget v0, v0, v8
+006872: b5e0                                   |012f: and-int/2addr v0, v14
+006874: 3800 9700                              |0130: if-eqz v0, 01c7 // +0097
+006878: 6200 3200                              |0132: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+00687c: 4402 0008                              |0134: aget v2, v0, v8
+006880: 1304 0004                              |0136: const/16 v4, #int 1024 // #400
+006884: 6200 3200                              |0138: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+006888: 4400 0008                              |013a: aget v0, v0, v8
+00688c: 9605 0300                              |013c: or-int v5, v3, v0
+006890: 07b0                                   |013e: move-object v0, v11
+006892: 01c1                                   |013f: move v1, v12
+006894: 7606 7e00 0000                         |0140: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+00689a: 0170                                   |0143: move v0, v7
+00689c: 28c0                                   |0144: goto 0104 // -0040
+00689e: 52b0 4000                              |0145: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040
+0068a2: 52b1 3f00                              |0147: iget v1, v11, Lcom/google/android/checkers/a;.f:I // field@003f
+0068a6: b610                                   |0149: or-int/2addr v0, v1
+0068a8: e001 0e04                              |014a: shl-int/lit8 v1, v14, #int 4 // #04
+0068ac: 1402 0707 0707                         |014c: const v2, #float 0.000000 // #07070707
+0068b2: b5e2                                   |014f: and-int/2addr v2, v14
+0068b4: e002 0205                              |0150: shl-int/lit8 v2, v2, #int 5 // #05
+0068b8: b621                                   |0152: or-int/2addr v1, v2
+0068ba: 9502 0e04                              |0153: and-int v2, v14, v4
+0068be: e002 0203                              |0155: shl-int/lit8 v2, v2, #int 3 // #03
+0068c2: b621                                   |0157: or-int/2addr v1, v2
+0068c4: b510                                   |0158: and-int/2addr v0, v1
+0068c6: 52b1 4000                              |0159: iget v1, v11, Lcom/google/android/checkers/a;.g:I // field@0040
+0068ca: e202 0e04                              |015b: ushr-int/lit8 v2, v14, #int 4 // #04
+0068ce: b5e3                                   |015d: and-int/2addr v3, v14
+0068d0: e203 0305                              |015e: ushr-int/lit8 v3, v3, #int 5 // #05
+0068d4: b632                                   |0160: or-int/2addr v2, v3
+0068d6: 1403 0007 0707                         |0161: const v3, #float 0.000000 // #07070700
+0068dc: b5e3                                   |0164: and-int/2addr v3, v14
+0068de: e203 0303                              |0165: ushr-int/lit8 v3, v3, #int 3 // #03
+0068e2: b632                                   |0167: or-int/2addr v2, v3
+0068e4: b521                                   |0168: and-int/2addr v1, v2
+0068e6: b610                                   |0169: or-int/2addr v0, v1
+0068e8: 289a                                   |016a: goto 0104 // -0066
+0068ea: 6200 3000                              |016b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+0068ee: 4400 0008                              |016d: aget v0, v0, v8
+0068f2: b5e0                                   |016f: and-int/2addr v0, v14
+0068f4: 3800 1200                              |0170: if-eqz v0, 0182 // +0012
+0068f8: 6200 3000                              |0172: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+0068fc: 4402 0008                              |0174: aget v2, v0, v8
+006900: 6200 3000                              |0176: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+006904: 4400 0008                              |0178: aget v0, v0, v8
+006908: 9605 0300                              |017a: or-int v5, v3, v0
+00690c: 07b0                                   |017c: move-object v0, v11
+00690e: 01c1                                   |017d: move v1, v12
+006910: 01a4                                   |017e: move v4, v10
+006912: 7606 7e00 0000                         |017f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006918: 6200 3200                              |0182: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+00691c: 4400 0008                              |0184: aget v0, v0, v8
+006920: b5e0                                   |0186: and-int/2addr v0, v14
+006922: 3800 1200                              |0187: if-eqz v0, 0199 // +0012
+006926: 6200 3200                              |0189: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+00692a: 4402 0008                              |018b: aget v2, v0, v8
+00692e: 6200 3200                              |018d: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+006932: 4400 0008                              |018f: aget v0, v0, v8
+006936: 9605 0300                              |0191: or-int v5, v3, v0
+00693a: 07b0                                   |0193: move-object v0, v11
+00693c: 01c1                                   |0194: move v1, v12
+00693e: 01a4                                   |0195: move v4, v10
+006940: 7606 7e00 0000                         |0196: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006946: 6200 3400                              |0199: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+00694a: 4400 0008                              |019b: aget v0, v0, v8
+00694e: b5e0                                   |019d: and-int/2addr v0, v14
+006950: 3800 1200                              |019e: if-eqz v0, 01b0 // +0012
+006954: 6200 3400                              |01a0: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+006958: 4402 0008                              |01a2: aget v2, v0, v8
+00695c: 6200 3400                              |01a4: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+006960: 4400 0008                              |01a6: aget v0, v0, v8
+006964: 9605 0300                              |01a8: or-int v5, v3, v0
+006968: 07b0                                   |01aa: move-object v0, v11
+00696a: 01c1                                   |01ab: move v1, v12
+00696c: 01a4                                   |01ac: move v4, v10
+00696e: 7606 7e00 0000                         |01ad: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006974: 6200 3600                              |01b0: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+006978: 4400 0008                              |01b2: aget v0, v0, v8
+00697c: b5e0                                   |01b4: and-int/2addr v0, v14
+00697e: 3800 1200                              |01b5: if-eqz v0, 01c7 // +0012
+006982: 6200 3600                              |01b7: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+006986: 4402 0008                              |01b9: aget v2, v0, v8
+00698a: 6200 3600                              |01bb: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+00698e: 4400 0008                              |01bd: aget v0, v0, v8
+006992: 9605 0300                              |01bf: or-int v5, v3, v0
+006996: 07b0                                   |01c1: move-object v0, v11
+006998: 01c1                                   |01c2: move v1, v12
+00699a: 01a4                                   |01c3: move v4, v10
+00699c: 7606 7e00 0000                         |01c4: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+0069a2: 0170                                   |01c7: move v0, v7
+0069a4: 2900 3cff                              |01c8: goto/16 0104 // -00c4
+0069a8: 1200                                   |01ca: const/4 v0, #int 0 // #0
+0069aa: 2900 5efe                              |01cb: goto/16 0029 // -01a2
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #19              : (in Lcom/google/android/checkers/a;)
+      name          : 'c'
+      type          : '(ZIIZ)I'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 8
+      ins           : 4
+      outs          : 1
+      insns size    : 54 16-bit code units
+0069b0:                                        |[0069b0] com.google.android.checkers.a.c:(ZIIZ)I
+0069c0: 7110 9f00 0500                         |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0069c6: 0a00                                   |0003: move-result v0
+0069c8: d801 05ff                              |0004: add-int/lit8 v1, v5, #int -1 // #ff
+0069cc: b551                                   |0006: and-int/2addr v1, v5
+0069ce: 7110 9f00 0100                         |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0069d4: 0a02                                   |000a: move-result v2
+0069d6: 7110 9f00 0600                         |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+0069dc: 0a01                                   |000e: move-result v1
+0069de: 3807 0800                              |000f: if-eqz v7, 0017 // +0008
+0069e2: d900 001f                              |0011: rsub-int/lit8 v0, v0, #int 31 // #1f
+0069e6: d902 021f                              |0013: rsub-int/lit8 v2, v2, #int 31 // #1f
+0069ea: d901 011f                              |0015: rsub-int/lit8 v1, v1, #int 31 // #1f
+0069ee: 3520 1100                              |0017: if-ge v0, v2, 0028 // +0011
+0069f2: 6203 3800                              |0019: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+0069f6: 4402 0302                              |001b: aget v2, v3, v2
+0069fa: b020                                   |001d: add-int/2addr v0, v2
+0069fc: 3804 1000                              |001e: if-eqz v4, 002e // +0010
+006a00: 6202 6500                              |0020: sget-object v2, Lcom/google/android/checkers/g;.m:[B // field@0065
+006a04: da00 0020                              |0022: mul-int/lit8 v0, v0, #int 32 // #20
+006a08: b010                                   |0024: add-int/2addr v0, v1
+006a0a: 4800 0200                              |0025: aget-byte v0, v2, v0
+006a0e: 0f00                                   |0027: return v0
+006a10: 6203 3800                              |0028: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+006a14: 4400 0300                              |002a: aget v0, v3, v0
+006a18: b020                                   |002c: add-int/2addr v0, v2
+006a1a: 28f1                                   |002d: goto 001e // -000f
+006a1c: 6202 6600                              |002e: sget-object v2, Lcom/google/android/checkers/g;.n:[B // field@0066
+006a20: da00 0020                              |0030: mul-int/lit8 v0, v0, #int 32 // #20
+006a24: b010                                   |0032: add-int/2addr v0, v1
+006a26: 4800 0200                              |0033: aget-byte v0, v2, v0
+006a2a: 28f2                                   |0035: goto 0027 // -000e
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #20              : (in Lcom/google/android/checkers/a;)
+      name          : 'c'
+      type          : '()V'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 2
+      ins           : 0
+      outs          : 2
+      insns size    : 8 16-bit code units
+006a2c:                                        |[006a2c] com.google.android.checkers.a.c:()V
+006a3c: 1600 f401                              |0000: const-wide/16 v0, #int 500 // #1f4
+006a40: 7120 ae00 1000                         |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@00ae
+006a46: 0e00                                   |0005: return-void
+006a48: 0d00                                   |0006: move-exception v0
+006a4a: 28fe                                   |0007: goto 0005 // -0002
+      catches       : 1
+        0x0002 - 0x0005
+          Ljava/lang/InterruptedException; -> 0x0006
+      positions     : 
+      locals        : 
+
+    #21              : (in Lcom/google/android/checkers/a;)
+      name          : 'c'
+      type          : '(IIIIIIII)V'
+      access        : 0x0012 (PRIVATE FINAL)
+      code          -
+      registers     : 18
+      ins           : 9
+      outs          : 9
+      insns size    : 203 16-bit code units
+006a58:                                        |[006a58] com.google.android.checkers.a.c:(IIIIIIII)V
+006a68: 1210                                   |0000: const/4 v0, #int 1 // #1
+006a6a: 6201 3000                              |0001: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
+006a6e: 4401 010d                              |0003: aget v1, v1, v13
+006a72: b5c1                                   |0005: and-int/2addr v1, v12
+006a74: 3801 2a00                              |0006: if-eqz v1, 0030 // +002a
+006a78: 6201 3100                              |0008: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
+006a7c: 4401 010d                              |000a: aget v1, v1, v13
+006a80: b5b1                                   |000c: and-int/2addr v1, v11
+006a82: 3801 2300                              |000d: if-eqz v1, 0030 // +0023
+006a86: 6200 3000                              |000f: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+006a8a: 4400 000d                              |0011: aget v0, v0, v13
+006a8e: 9703 0c00                              |0013: xor-int v3, v12, v0
+006a92: d804 0df7                              |0015: add-int/lit8 v4, v13, #int -9 // #f7
+006a96: 6200 3100                              |0017: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
+006a9a: 4405 000d                              |0019: aget v5, v0, v13
+006a9e: 6200 3000                              |001b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
+006aa2: 4400 000d                              |001d: aget v0, v0, v13
+006aa6: 9606 0f00                              |001f: or-int v6, v15, v0
+006aaa: d807 1001                              |0021: add-int/lit8 v7, v16, #int 1 // #01
+006aae: 6200 3100                              |0023: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
+006ab2: 4400 000d                              |0025: aget v0, v0, v13
+006ab6: 9608 1100                              |0027: or-int v8, v17, v0
+006aba: 0790                                   |0029: move-object v0, v9
+006abc: 01a1                                   |002a: move v1, v10
+006abe: 01b2                                   |002b: move v2, v11
+006ac0: 7609 8b00 0000                         |002c: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+006ac6: 1200                                   |002f: const/4 v0, #int 0 // #0
+006ac8: 6201 3200                              |0030: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
+006acc: 4401 010d                              |0032: aget v1, v1, v13
+006ad0: b5c1                                   |0034: and-int/2addr v1, v12
+006ad2: 3801 2a00                              |0035: if-eqz v1, 005f // +002a
+006ad6: 6201 3300                              |0037: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
+006ada: 4401 010d                              |0039: aget v1, v1, v13
+006ade: b5b1                                   |003b: and-int/2addr v1, v11
+006ae0: 3801 2300                              |003c: if-eqz v1, 005f // +0023
+006ae4: 6200 3200                              |003e: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+006ae8: 4400 000d                              |0040: aget v0, v0, v13
+006aec: 9703 0c00                              |0042: xor-int v3, v12, v0
+006af0: d804 0df9                              |0044: add-int/lit8 v4, v13, #int -7 // #f9
+006af4: 6200 3300                              |0046: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
+006af8: 4405 000d                              |0048: aget v5, v0, v13
+006afc: 6200 3200                              |004a: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
+006b00: 4400 000d                              |004c: aget v0, v0, v13
+006b04: 9606 0f00                              |004e: or-int v6, v15, v0
+006b08: d807 1001                              |0050: add-int/lit8 v7, v16, #int 1 // #01
+006b0c: 6200 3300                              |0052: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
+006b10: 4400 000d                              |0054: aget v0, v0, v13
+006b14: 9608 1100                              |0056: or-int v8, v17, v0
+006b18: 0790                                   |0058: move-object v0, v9
+006b1a: 01a1                                   |0059: move v1, v10
+006b1c: 01b2                                   |005a: move v2, v11
+006b1e: 7609 8b00 0000                         |005b: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+006b24: 1200                                   |005e: const/4 v0, #int 0 // #0
+006b26: 6201 3400                              |005f: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
+006b2a: 4401 010d                              |0061: aget v1, v1, v13
+006b2e: b5c1                                   |0063: and-int/2addr v1, v12
+006b30: 3801 2a00                              |0064: if-eqz v1, 008e // +002a
+006b34: 6201 3500                              |0066: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
+006b38: 4401 010d                              |0068: aget v1, v1, v13
+006b3c: b5b1                                   |006a: and-int/2addr v1, v11
+006b3e: 3801 2300                              |006b: if-eqz v1, 008e // +0023
+006b42: 6200 3400                              |006d: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+006b46: 4400 000d                              |006f: aget v0, v0, v13
+006b4a: 9703 0c00                              |0071: xor-int v3, v12, v0
+006b4e: d804 0d07                              |0073: add-int/lit8 v4, v13, #int 7 // #07
+006b52: 6200 3500                              |0075: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
+006b56: 4405 000d                              |0077: aget v5, v0, v13
+006b5a: 6200 3400                              |0079: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
+006b5e: 4400 000d                              |007b: aget v0, v0, v13
+006b62: 9606 0f00                              |007d: or-int v6, v15, v0
+006b66: d807 1001                              |007f: add-int/lit8 v7, v16, #int 1 // #01
+006b6a: 6200 3500                              |0081: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
+006b6e: 4400 000d                              |0083: aget v0, v0, v13
+006b72: 9608 1100                              |0085: or-int v8, v17, v0
+006b76: 0790                                   |0087: move-object v0, v9
+006b78: 01a1                                   |0088: move v1, v10
+006b7a: 01b2                                   |0089: move v2, v11
+006b7c: 7609 8b00 0000                         |008a: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+006b82: 1200                                   |008d: const/4 v0, #int 0 // #0
+006b84: 6201 3600                              |008e: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
+006b88: 4401 010d                              |0090: aget v1, v1, v13
+006b8c: b5c1                                   |0092: and-int/2addr v1, v12
+006b8e: 3801 2a00                              |0093: if-eqz v1, 00bd // +002a
+006b92: 6201 3700                              |0095: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
+006b96: 4401 010d                              |0097: aget v1, v1, v13
+006b9a: b5b1                                   |0099: and-int/2addr v1, v11
+006b9c: 3801 2300                              |009a: if-eqz v1, 00bd // +0023
+006ba0: 6200 3600                              |009c: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+006ba4: 4400 000d                              |009e: aget v0, v0, v13
+006ba8: 9703 0c00                              |00a0: xor-int v3, v12, v0
+006bac: d804 0d09                              |00a2: add-int/lit8 v4, v13, #int 9 // #09
+006bb0: 6200 3700                              |00a4: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
+006bb4: 4405 000d                              |00a6: aget v5, v0, v13
+006bb8: 6200 3600                              |00a8: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
+006bbc: 4400 000d                              |00aa: aget v0, v0, v13
+006bc0: 9606 0f00                              |00ac: or-int v6, v15, v0
+006bc4: d807 1001                              |00ae: add-int/lit8 v7, v16, #int 1 // #01
+006bc8: 6200 3700                              |00b0: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
+006bcc: 4400 000d                              |00b2: aget v0, v0, v13
+006bd0: 9608 1100                              |00b4: or-int v8, v17, v0
+006bd4: 0790                                   |00b6: move-object v0, v9
+006bd6: 01a1                                   |00b7: move v1, v10
+006bd8: 01b2                                   |00b8: move v2, v11
+006bda: 7609 8b00 0000                         |00b9: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
+006be0: 1200                                   |00bc: const/4 v0, #int 0 // #0
+006be2: 3800 0d00                              |00bd: if-eqz v0, 00ca // +000d
+006be6: 0790                                   |00bf: move-object v0, v9
+006be8: 01a1                                   |00c0: move v1, v10
+006bea: 01e2                                   |00c1: move v2, v14
+006bec: 01f3                                   |00c2: move v3, v15
+006bee: 0204 1000                              |00c3: move/from16 v4, v16
+006bf2: 0205 1100                              |00c5: move/from16 v5, v17
+006bf6: 7606 7e00 0000                         |00c7: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
+006bfc: 0e00                                   |00ca: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #22              : (in Lcom/google/android/checkers/a;)
+      name          : 'd'
+      type          : '(ZIIZ)I'
+      access        : 0x000a (PRIVATE STATIC)
+      code          -
+      registers     : 8
+      ins           : 4
+      outs          : 1
+      insns size    : 56 16-bit code units
+006c00:                                        |[006c00] com.google.android.checkers.a.d:(ZIIZ)I
+006c10: 7110 9f00 0500                         |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006c16: 0a00                                   |0003: move-result v0
+006c18: d801 05ff                              |0004: add-int/lit8 v1, v5, #int -1 // #ff
+006c1c: b551                                   |0006: and-int/2addr v1, v5
+006c1e: 7110 9f00 0100                         |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006c24: 0a02                                   |000a: move-result v2
+006c26: 7110 9f00 0600                         |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
+006c2c: 0a01                                   |000e: move-result v1
+006c2e: 3807 0800                              |000f: if-eqz v7, 0017 // +0008
+006c32: d900 001f                              |0011: rsub-int/lit8 v0, v0, #int 31 // #1f
+006c36: d902 021f                              |0013: rsub-int/lit8 v2, v2, #int 31 // #1f
+006c3a: d901 011f                              |0015: rsub-int/lit8 v1, v1, #int 31 // #1f
+006c3e: d801 01fc                              |0017: add-int/lit8 v1, v1, #int -4 // #fc
+006c42: 3520 1100                              |0019: if-ge v0, v2, 002a // +0011
+006c46: 6203 3800                              |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+006c4a: 4402 0302                              |001d: aget v2, v3, v2
+006c4e: b020                                   |001f: add-int/2addr v0, v2
+006c50: 3804 1000                              |0020: if-eqz v4, 0030 // +0010
+006c54: 6202 6700                              |0022: sget-object v2, Lcom/google/android/checkers/g;.o:[B // field@0067
+006c58: da00 001c                              |0024: mul-int/lit8 v0, v0, #int 28 // #1c
+006c5c: b010                                   |0026: add-int/2addr v0, v1
+006c5e: 4800 0200                              |0027: aget-byte v0, v2, v0
+006c62: 0f00                                   |0029: return v0
+006c64: 6203 3800                              |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
+006c68: 4400 0300                              |002c: aget v0, v3, v0
+006c6c: b020                                   |002e: add-int/2addr v0, v2
+006c6e: 28f1                                   |002f: goto 0020 // -000f
+006c70: 6202 6800                              |0030: sget-object v2, Lcom/google/android/checkers/g;.p:[B // field@0068
+006c74: da00 001c                              |0032: mul-int/lit8 v0, v0, #int 28 // #1c
+006c78: b010                                   |0034: add-int/2addr v0, v1
+006c7a: 4800 0200                              |0035: aget-byte v0, v2, v0
+006c7e: 28f2                                   |0037: goto 0029 // -000e
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(ZZ)I'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 4
+      ins           : 3
+      outs          : 3
+      insns size    : 8 16-bit code units
+006c80:                                        |[006c80] com.google.android.checkers.a.a:(ZZ)I
+006c90: 5c13 4c00                              |0000: iput-boolean v3, v1, Lcom/google/android/checkers/a;.s:Z // field@004c
+006c94: 1200                                   |0002: const/4 v0, #int 0 // #0
+006c96: 7030 7500 0102                         |0003: invoke-direct {v1, v0, v2}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075
+006c9c: 0a00                                   |0006: move-result v0
+006c9e: 0f00                                   |0007: return v0
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #1              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '()V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 4
+      ins           : 1
+      outs          : 3
+      insns size    : 45 16-bit code units
+006ca0:                                        |[006ca0] com.google.android.checkers.a.a:()V
+006cb0: 1302 0c00                              |0000: const/16 v2, #int 12 // #c
+006cb4: 1201                                   |0002: const/4 v1, #int 0 // #0
+006cb6: 1300 ff0f                              |0003: const/16 v0, #int 4095 // #fff
+006cba: 5930 3d00                              |0005: iput v0, v3, Lcom/google/android/checkers/a;.d:I // field@003d
+006cbe: 5931 3e00                              |0007: iput v1, v3, Lcom/google/android/checkers/a;.e:I // field@003e
+006cc2: 1500 f0ff                              |0009: const/high16 v0, #int -1048576 // #fff0
+006cc6: 5930 3f00                              |000b: iput v0, v3, Lcom/google/android/checkers/a;.f:I // field@003f
+006cca: 5931 4000                              |000d: iput v1, v3, Lcom/google/android/checkers/a;.g:I // field@0040
+006cce: 5932 4f00                              |000f: iput v2, v3, Lcom/google/android/checkers/a;.v:I // field@004f
+006cd2: 5932 5000                              |0011: iput v2, v3, Lcom/google/android/checkers/a;.w:I // field@0050
+006cd6: 7020 7600 1300                         |0013: invoke-direct {v3, v1}, Lcom/google/android/checkers/a;.a:(Z)I // method@0076
+006cdc: 0a00                                   |0016: move-result v0
+006cde: 5930 5100                              |0017: iput v0, v3, Lcom/google/android/checkers/a;.x:I // field@0051
+006ce2: 7030 7500 1301                         |0019: invoke-direct {v3, v1, v1}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075
+006ce8: 5530 2e00                              |001c: iget-boolean v0, v3, Lcom/google/android/checkers/a;.B:Z // field@002e
+006cec: 3800 0700                              |001e: if-eqz v0, 0025 // +0007
+006cf0: 0110                                   |0020: move v0, v1
+006cf2: 1502 1000                              |0021: const/high16 v2, #int 1048576 // #10
+006cf6: 3420 0300                              |0023: if-lt v0, v2, 0026 // +0003
+006cfa: 0e00                                   |0025: return-void
+006cfc: 5432 5200                              |0026: iget-object v2, v3, Lcom/google/android/checkers/a;.y:[I // field@0052
+006d00: 4b01 0200                              |0028: aput v1, v2, v0
+006d04: d800 0001                              |002a: add-int/lit8 v0, v0, #int 1 // #01
+006d08: 28f5                                   |002c: goto 0021 // -000b
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #2              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(I)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 2
+      ins           : 2
+      outs          : 2
+      insns size    : 4 16-bit code units
+006d0c:                                        |[006d0c] com.google.android.checkers.a.a:(I)V
+006d1c: 7020 8500 1000                         |0000: invoke-direct {v0, v1}, Lcom/google/android/checkers/a;.b:(I)V // method@0085
+006d22: 0e00                                   |0003: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #3              : (in Lcom/google/android/checkers/a;)
+      name          : 'a'
+      type          : '(IIIIZ)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 8
+      ins           : 6
+      outs          : 2
+      insns size    : 37 16-bit code units
+006d24:                                        |[006d24] com.google.android.checkers.a.a:(IIIIZ)V
+006d34: 5923 3d00                              |0000: iput v3, v2, Lcom/google/android/checkers/a;.d:I // field@003d
+006d38: 5924 3e00                              |0002: iput v4, v2, Lcom/google/android/checkers/a;.e:I // field@003e
+006d3c: 5925 3f00                              |0004: iput v5, v2, Lcom/google/android/checkers/a;.f:I // field@003f
+006d40: 5926 4000                              |0006: iput v6, v2, Lcom/google/android/checkers/a;.g:I // field@0040
+006d44: 5220 3d00                              |0008: iget v0, v2, Lcom/google/android/checkers/a;.d:I // field@003d
+006d48: 5221 3e00                              |000a: iget v1, v2, Lcom/google/android/checkers/a;.e:I // field@003e
+006d4c: b610                                   |000c: or-int/2addr v0, v1
+006d4e: 7110 9e00 0000                         |000d: invoke-static {v0}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+006d54: 0a00                                   |0010: move-result v0
+006d56: 5920 4f00                              |0011: iput v0, v2, Lcom/google/android/checkers/a;.v:I // field@004f
+006d5a: 5220 3f00                              |0013: iget v0, v2, Lcom/google/android/checkers/a;.f:I // field@003f
+006d5e: 5221 4000                              |0015: iget v1, v2, Lcom/google/android/checkers/a;.g:I // field@0040
+006d62: b610                                   |0017: or-int/2addr v0, v1
+006d64: 7110 9e00 0000                         |0018: invoke-static {v0}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
+006d6a: 0a00                                   |001b: move-result v0
+006d6c: 5920 5000                              |001c: iput v0, v2, Lcom/google/android/checkers/a;.w:I // field@0050
+006d70: 7020 7600 7200                         |001e: invoke-direct {v2, v7}, Lcom/google/android/checkers/a;.a:(Z)I // method@0076
+006d76: 0a00                                   |0021: move-result v0
+006d78: 5920 5100                              |0022: iput v0, v2, Lcom/google/android/checkers/a;.x:I // field@0051
+006d7c: 0e00                                   |0024: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+    #4              : (in Lcom/google/android/checkers/a;)
+      name          : 'b'
+      type          : '(ZZ)V'
+      access        : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
+      code          -
+      registers     : 4
+      ins           : 3
+      outs          : 1
+      insns size    : 16 16-bit code units
+006d80:                                        |[006d80] com.google.android.checkers.a.b:(ZZ)V
+006d90: 1d01                                   |0000: monitor-enter v1
+006d92: 5c12 4d00                              |0001: iput-boolean v2, v1, Lcom/google/android/checkers/a;.t:Z // field@004d
+006d96: 5c13 4c00                              |0003: iput-boolean v3, v1, Lcom/google/android/checkers/a;.s:Z // field@004c
+006d9a: 1210                                   |0005: const/4 v0, #int 1 // #1
+006d9c: 5c10 4400                              |0006: iput-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044
+006da0: 6e10 a100 0100                         |0008: invoke-virtual {v1}, Ljava/lang/Object;.notify:()V // method@00a1
+006da6: 1e01                                   |000b: monitor-exit v1
+006da8: 0e00                                   |000c: return-void
+006daa: 0d00                                   |000d: move-exception v0
+006dac: 1e01                                   |000e: monitor-exit v1
+006dae: 2700                                   |000f: throw v0
+      catches       : 1
+        0x0001 - 0x000b
+          <any> -> 0x000d
+      positions     : 
+      locals        : 
+
+    #5              : (in Lcom/google/android/checkers/a;)
+      name          : 'run'
+      type          : '()V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 24
+      ins           : 1
+      outs          : 7
+      insns size    : 526 16-bit code units
+006dbc:                                        |[006dbc] com.google.android.checkers.a.run:()V
+006dcc: 7601 8400 1700                         |0000: invoke-direct/range {v23}, Lcom/google/android/checkers/a;.b:()V // method@0084
+006dd2: 0800 1700                              |0003: move-object/from16 v0, v23
+006dd6: 5202 3c00                              |0005: iget v2, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+006dda: 1213                                   |0007: const/4 v3, #int 1 // #1
+006ddc: 3332 1100                              |0008: if-ne v2, v3, 0019 // +0011
+006de0: 7100 8a00 0000                         |000a: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a
+006de6: 0800 1700                              |000d: move-object/from16 v0, v23
+006dea: 5402 4300                              |000f: iget-object v2, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
+006dee: 1203                                   |0011: const/4 v3, #int 0 // #0
+006df0: 1204                                   |0012: const/4 v4, #int 0 // #0
+006df2: 12f5                                   |0013: const/4 v5, #int -1 // #ff
+006df4: 1216                                   |0014: const/4 v6, #int 1 // #1
+006df6: 6e56 5000 3254                         |0015: invoke-virtual {v2, v3, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050
+006dfc: 28e8                                   |0018: goto 0000 // -0018
+006dfe: 0800 1700                              |0019: move-object/from16 v0, v23
+006e02: 5202 4100                              |001b: iget v2, v0, Lcom/google/android/checkers/a;.h:I // field@0041
+006e06: 3902 1c00                              |001d: if-nez v2, 0039 // +001c
+006e0a: 7100 8a00 0000                         |001f: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a
+006e10: 0800 1700                              |0022: move-object/from16 v0, v23
+006e14: 5402 4200                              |0024: iget-object v2, v0, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042
+006e18: 0800 1700                              |0026: move-object/from16 v0, v23
+006e1c: 5203 3c00                              |0028: iget v3, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+006e20: 6e20 b000 3200                         |002a: invoke-virtual {v2, v3}, Ljava/util/Random;.nextInt:(I)I // method@00b0
+006e26: 0a02                                   |002d: move-result v2
+006e28: 0800 1700                              |002e: move-object/from16 v0, v23
+006e2c: 5403 4300                              |0030: iget-object v3, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
+006e30: 1204                                   |0032: const/4 v4, #int 0 // #0
+006e32: 1205                                   |0033: const/4 v5, #int 0 // #0
+006e34: 1216                                   |0034: const/4 v6, #int 1 // #1
+006e36: 6e56 5000 2354                         |0035: invoke-virtual {v3, v2, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050
+006e3c: 28c8                                   |0038: goto 0000 // -0038
+006e3e: 0800 1700                              |0039: move-object/from16 v0, v23
+006e42: 5202 3d00                              |003b: iget v2, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+006e46: 1303 ff0f                              |003d: const/16 v3, #int 4095 // #fff
+006e4a: 3332 2700                              |003f: if-ne v2, v3, 0066 // +0027
+006e4e: 7100 8a00 0000                         |0041: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a
+006e54: 0800 1700                              |0044: move-object/from16 v0, v23
+006e58: 5403 4200                              |0046: iget-object v3, v0, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042
+006e5c: 0800 1700                              |0048: move-object/from16 v0, v23
+006e60: 5204 3c00                              |004a: iget v4, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+006e64: 0800 1700                              |004c: move-object/from16 v0, v23
+006e68: 5502 4d00                              |004e: iget-boolean v2, v0, Lcom/google/android/checkers/a;.t:Z // field@004d
+006e6c: 3802 1400                              |0050: if-eqz v2, 0064 // +0014
+006e70: 1212                                   |0052: const/4 v2, #int 1 // #1
+006e72: 9102 0402                              |0053: sub-int v2, v4, v2
+006e76: 6e20 b000 2300                         |0055: invoke-virtual {v3, v2}, Ljava/util/Random;.nextInt:(I)I // method@00b0
+006e7c: 0a02                                   |0058: move-result v2
+006e7e: 0800 1700                              |0059: move-object/from16 v0, v23
+006e82: 5403 4300                              |005b: iget-object v3, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
+006e86: 1204                                   |005d: const/4 v4, #int 0 // #0
+006e88: 12e5                                   |005e: const/4 v5, #int -2 // #fe
+006e8a: 1216                                   |005f: const/4 v6, #int 1 // #1
+006e8c: 6e56 5000 2354                         |0060: invoke-virtual {v3, v2, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050
+006e92: 289d                                   |0063: goto 0000 // -0063
+006e94: 1202                                   |0064: const/4 v2, #int 0 // #0
+006e96: 28ee                                   |0065: goto 0053 // -0012
+006e98: 7100 ab00 0000                         |0066: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@00ab
+006e9e: 0b02                                   |0069: move-result-wide v2
+006ea0: 0800 1700                              |006a: move-object/from16 v0, v23
+006ea4: 5a02 4500                              |006c: iput-wide v2, v0, Lcom/google/android/checkers/a;.l:J // field@0045
+006ea8: 1202                                   |006e: const/4 v2, #int 0 // #0
+006eaa: 0800 1700                              |006f: move-object/from16 v0, v23
+006eae: 5902 4700                              |0071: iput v2, v0, Lcom/google/android/checkers/a;.n:I // field@0047
+006eb2: 1202                                   |0073: const/4 v2, #int 0 // #0
+006eb4: 0800 1700                              |0074: move-object/from16 v0, v23
+006eb8: 5c02 4600                              |0076: iput-boolean v2, v0, Lcom/google/android/checkers/a;.m:Z // field@0046
+006ebc: 0800 1700                              |0078: move-object/from16 v0, v23
+006ec0: 5502 4c00                              |007a: iget-boolean v2, v0, Lcom/google/android/checkers/a;.s:Z // field@004c
+006ec4: 3902 5100                              |007c: if-nez v2, 00cd // +0051
+006ec8: 6302 6a00                              |007e: sget-boolean v2, Lcom/google/android/checkers/g;.r:Z // field@006a
+006ecc: 3802 4d00                              |0080: if-eqz v2, 00cd // +004d
+006ed0: 1212                                   |0082: const/4 v2, #int 1 // #1
+006ed2: 0800 1700                              |0083: move-object/from16 v0, v23
+006ed6: 5c02 4e00                              |0085: iput-boolean v2, v0, Lcom/google/android/checkers/a;.u:Z // field@004e
+006eda: 0800 1700                              |0087: move-object/from16 v0, v23
+006ede: 520e 3c00                              |0089: iget v14, v0, Lcom/google/android/checkers/a;.c:I // field@003c
+006ee2: 120d                                   |008b: const/4 v13, #int 0 // #0
+006ee4: 120b                                   |008c: const/4 v11, #int 0 // #0
+006ee6: 120a                                   |008d: const/4 v10, #int 0 // #0
+006ee8: 1212                                   |008e: const/4 v2, #int 1 // #1
+006eea: 0800 1700                              |008f: move-object/from16 v0, v23
+006eee: 5902 2f00                              |0091: iput v2, v0, Lcom/google/android/checkers/a;.C:I // field@002f
+006ef2: 0800 1700                              |0093: move-object/from16 v0, v23
+006ef6: 520f 3d00                              |0095: iget v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+006efa: 0800 1700                              |0097: move-object/from16 v0, v23
+006efe: 5200 3e00                              |0099: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
+006f02: 0210 0000                              |009b: move/from16 v16, v0
+006f06: 0800 1700                              |009d: move-object/from16 v0, v23
+006f0a: 5200 3f00                              |009f: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
+006f0e: 0211 0000                              |00a1: move/from16 v17, v0
+006f12: 0800 1700                              |00a3: move-object/from16 v0, v23
+006f16: 5200 4000                              |00a5: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
+006f1a: 0212 0000                              |00a7: move/from16 v18, v0
+006f1e: 0800 1700                              |00a9: move-object/from16 v0, v23
+006f22: 5200 4f00                              |00ab: iget v0, v0, Lcom/google/android/checkers/a;.v:I // field@004f
+006f26: 0213 0000                              |00ad: move/from16 v19, v0
+006f2a: 0800 1700                              |00af: move-object/from16 v0, v23
+006f2e: 5200 5000                              |00b1: iget v0, v0, Lcom/google/android/checkers/a;.w:I // field@0050
+006f32: 0214 0000                              |00b3: move/from16 v20, v0
+006f36: 0800 1700                              |00b5: move-object/from16 v0, v23
+006f3a: 5200 5100                              |00b7: iget v0, v0, Lcom/google/android/checkers/a;.x:I // field@0051
+006f3e: 0215 0000                              |00b9: move/from16 v21, v0
+006f42: 1216                                   |00bb: const/4 v6, #int 1 // #1
+006f44: 1302 4000                              |00bc: const/16 v2, #int 64 // #40
+006f48: 3726 1100                              |00be: if-le v6, v2, 00cf // +0011
+006f4c: 0800 1700                              |00c0: move-object/from16 v0, v23
+006f50: 5402 4300                              |00c2: iget-object v2, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
+006f54: 0800 1700                              |00c4: move-object/from16 v0, v23
+006f58: 5203 2f00                              |00c6: iget v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f
+006f5c: 6e53 5000 d2ab                         |00c8: invoke-virtual {v2, v13, v11, v10, v3}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050
+006f62: 2900 35ff                              |00cb: goto/16 0000 // -00cb
+006f66: 1202                                   |00cd: const/4 v2, #int 0 // #0
+006f68: 28b5                                   |00ce: goto 0083 // -004b
+006f6a: 1309 0180                              |00cf: const/16 v9, #int -32767 // #8001
+006f6e: 120c                                   |00d1: const/4 v12, #int 0 // #0
+006f70: 34ec 1500                              |00d2: if-lt v12, v14, 00e7 // +0015
+006f74: 1302 0083                              |00d4: const/16 v2, #int -32000 // #8300
+006f78: 3729 eaff                              |00d6: if-le v9, v2, 00c0 // -0016
+006f7c: 1302 007d                              |00d8: const/16 v2, #int 32000 // #7d00
+006f80: 3529 e6ff                              |00da: if-ge v9, v2, 00c0 // -001a
+006f84: 1202                                   |00dc: const/4 v2, #int 0 // #0
+006f86: 0125                                   |00dd: move v5, v2
+006f88: 01d2                                   |00de: move v2, v13
+006f8a: d803 0eff                              |00df: add-int/lit8 v3, v14, #int -1 // #ff
+006f8e: 3435 6000                              |00e1: if-lt v5, v3, 0141 // +0060
+006f92: d806 0601                              |00e3: add-int/lit8 v6, v6, #int 1 // #01
+006f96: 012d                                   |00e5: move v13, v2
+006f98: 28d6                                   |00e6: goto 00bc // -002a
+006f9a: 0800 1700                              |00e7: move-object/from16 v0, v23
+006f9e: 7020 8500 c000                         |00e9: invoke-direct {v0, v12}, Lcom/google/android/checkers/a;.b:(I)V // method@0085
+006fa4: 1303 0180                              |00ec: const/16 v3, #int -32767 // #8001
+006fa8: 7b94                                   |00ee: neg-int v4, v9
+006faa: 1215                                   |00ef: const/4 v5, #int 1 // #1
+006fac: 1207                                   |00f0: const/4 v7, #int 0 // #0
+006fae: 0800 1700                              |00f1: move-object/from16 v0, v23
+006fb2: 5502 4d00                              |00f3: iget-boolean v2, v0, Lcom/google/android/checkers/a;.t:Z // field@004d
+006fb6: 3802 4a00                              |00f5: if-eqz v2, 013f // +004a
+006fba: 1208                                   |00f7: const/4 v8, #int 0 // #0
+006fbc: 0802 1700                              |00f8: move-object/from16 v2, v23
+006fc0: 7607 7400 0200                         |00fa: invoke-direct/range {v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIZ)I // method@0074
+006fc6: 0a02                                   |00fd: move-result v2
+006fc8: 7b22                                   |00fe: neg-int v2, v2
+006fca: 0800 1700                              |00ff: move-object/from16 v0, v23
+006fce: 5403 4a00                              |0101: iget-object v3, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
+006fd2: 4b02 030c                              |0103: aput v2, v3, v12
+006fd6: 0800 1700                              |0105: move-object/from16 v0, v23
+006fda: 590f 3d00                              |0107: iput v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d
+006fde: 0200 1000                              |0109: move/from16 v0, v16
+006fe2: 0801 1700                              |010b: move-object/from16 v1, v23
+006fe6: 5910 3e00                              |010d: iput v0, v1, Lcom/google/android/checkers/a;.e:I // field@003e
+006fea: 0200 1100                              |010f: move/from16 v0, v17
+006fee: 0801 1700                              |0111: move-object/from16 v1, v23
+006ff2: 5910 3f00                              |0113: iput v0, v1, Lcom/google/android/checkers/a;.f:I // field@003f
+006ff6: 0200 1200                              |0115: move/from16 v0, v18
+006ffa: 0801 1700                              |0117: move-object/from16 v1, v23
+006ffe: 5910 4000                              |0119: iput v0, v1, Lcom/google/android/checkers/a;.g:I // field@0040
+007002: 0200 1300                              |011b: move/from16 v0, v19
+007006: 0801 1700                              |011d: move-object/from16 v1, v23
+00700a: 5910 4f00                              |011f: iput v0, v1, Lcom/google/android/checkers/a;.v:I // field@004f
+00700e: 0200 1400                              |0121: move/from16 v0, v20
+007012: 0801 1700                              |0123: move-object/from16 v1, v23
+007016: 5910 5000                              |0125: iput v0, v1, Lcom/google/android/checkers/a;.w:I // field@0050
+00701a: 0200 1500                              |0127: move/from16 v0, v21
+00701e: 0801 1700                              |0129: move-object/from16 v1, v23
+007022: 5910 5100                              |012b: iput v0, v1, Lcom/google/android/checkers/a;.x:I // field@0051
+007026: 0800 1700                              |012d: move-object/from16 v0, v23
+00702a: 5503 4600                              |012f: iget-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046
+00702e: 3903 8fff                              |0131: if-nez v3, 00c0 // -0071
+007032: 3792 d500                              |0133: if-le v2, v9, 0208 // +00d5
+007036: 0163                                   |0135: move v3, v6
+007038: 0124                                   |0136: move v4, v2
+00703a: 01c5                                   |0137: move v5, v12
+00703c: d80c 0c01                              |0138: add-int/lit8 v12, v12, #int 1 // #01
+007040: 0129                                   |013a: move v9, v2
+007042: 013a                                   |013b: move v10, v3
+007044: 014b                                   |013c: move v11, v4
+007046: 015d                                   |013d: move v13, v5
+007048: 2894                                   |013e: goto 00d2 // -006c
+00704a: 1218                                   |013f: const/4 v8, #int 1 // #1
+00704c: 28b8                                   |0140: goto 00f8 // -0048
+00704e: 1213                                   |0141: const/4 v3, #int 1 // #1
+007050: d804 0eff                              |0142: add-int/lit8 v4, v14, #int -1 // #ff
+007054: 3445 0800                              |0144: if-lt v5, v4, 014c // +0008
+007058: 3903 9dff                              |0146: if-nez v3, 00e3 // -0063
+00705c: d803 0501                              |0148: add-int/lit8 v3, v5, #int 1 // #01
+007060: 0135                                   |014a: move v5, v3
+007062: 2894                                   |014b: goto 00df // -006c
+007064: 0800 1700                              |014c: move-object/from16 v0, v23
+007068: 5407 4a00                              |014e: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
+00706c: 4407 0704                              |0150: aget v7, v7, v4
+007070: 0800 1700                              |0152: move-object/from16 v0, v23
+007074: 5408 4a00                              |0154: iget-object v8, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
+007078: d809 04ff                              |0156: add-int/lit8 v9, v4, #int -1 // #ff
+00707c: 4408 0809                              |0158: aget v8, v8, v9
+007080: 3787 a800                              |015a: if-le v7, v8, 0202 // +00a8
+007084: 0800 1700                              |015c: move-object/from16 v0, v23
+007088: 5403 4a00                              |015e: iget-object v3, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
+00708c: 4403 0304                              |0160: aget v3, v3, v4
+007090: 0800 1700                              |0162: move-object/from16 v0, v23
+007094: 5407 4a00                              |0164: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
+007098: 0800 1700                              |0166: move-object/from16 v0, v23
+00709c: 5408 4a00                              |0168: iget-object v8, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
+0070a0: d809 04ff                              |016a: add-int/lit8 v9, v4, #int -1 // #ff
+0070a4: 4408 0809                              |016c: aget v8, v8, v9
+0070a8: 4b08 0704                              |016e: aput v8, v7, v4
+0070ac: 0800 1700                              |0170: move-object/from16 v0, v23
+0070b0: 5407 4a00                              |0172: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
+0070b4: d808 04ff                              |0174: add-int/lit8 v8, v4, #int -1 // #ff
+0070b8: 4b03 0708                              |0176: aput v3, v7, v8
+0070bc: 0800 1700                              |0178: move-object/from16 v0, v23
+0070c0: 5403 4800                              |017a: iget-object v3, v0, Lcom/google/android/checkers/a;.o:[I // field@0048
+0070c4: 4403 0304                              |017c: aget v3, v3, v4
+0070c8: 0800 1700                              |017e: move-object/from16 v0, v23
+0070cc: 5407 4800                              |0180: iget-object v7, v0, Lcom/google/android/checkers/a;.o:[I // field@0048
+0070d0: 0800 1700                              |0182: move-object/from16 v0, v23
+0070d4: 5408 4800                              |0184: iget-object v8, v0, Lcom/google/android/checkers/a;.o:[I // field@0048
+0070d8: d809 04ff                              |0186: add-int/lit8 v9, v4, #int -1 // #ff
+0070dc: 4408 0809                              |0188: aget v8, v8, v9
+0070e0: 4b08 0704                              |018a: aput v8, v7, v4
+0070e4: 0800 1700                              |018c: move-object/from16 v0, v23
+0070e8: 5407 4800                              |018e: iget-object v7, v0, Lcom/google/android/checkers/a;.o:[I // field@0048
+0070ec: d808 04ff                              |0190: add-int/lit8 v8, v4, #int -1 // #ff
+0070f0: 4b03 0708                              |0192: aput v3, v7, v8
+0070f4: 0800 1700                              |0194: move-object/from16 v0, v23
+0070f8: 5403 3a00                              |0196: iget-object v3, v0, Lcom/google/android/checkers/a;.a:[I // field@003a
+0070fc: 4403 0304                              |0198: aget v3, v3, v4
+007100: 0800 1700                              |019a: move-object/from16 v0, v23
+007104: 5407 3a00                              |019c: iget-object v7, v0, Lcom/google/android/checkers/a;.a:[I // field@003a
+007108: 0800 1700                              |019e: move-object/from16 v0, v23
+00710c: 5408 3a00                              |01a0: iget-object v8, v0, Lcom/google/android/checkers/a;.a:[I // field@003a
+007110: d809 04ff                              |01a2: add-int/lit8 v9, v4, #int -1 // #ff
+007114: 4408 0809                              |01a4: aget v8, v8, v9
+007118: 4b08 0704                              |01a6: aput v8, v7, v4
+00711c: 0800 1700                              |01a8: move-object/from16 v0, v23
+007120: 5407 3a00                              |01aa: iget-object v7, v0, Lcom/google/android/checkers/a;.a:[I // field@003a
+007124: d808 04ff                              |01ac: add-int/lit8 v8, v4, #int -1 // #ff
+007128: 4b03 0708                              |01ae: aput v3, v7, v8
+00712c: 0800 1700                              |01b0: move-object/from16 v0, v23
+007130: 5403 4900                              |01b2: iget-object v3, v0, Lcom/google/android/checkers/a;.p:[I // field@0049
+007134: 4403 0304                              |01b4: aget v3, v3, v4
+007138: 0800 1700                              |01b6: move-object/from16 v0, v23
+00713c: 5407 4900                              |01b8: iget-object v7, v0, Lcom/google/android/checkers/a;.p:[I // field@0049
+007140: 0800 1700                              |01ba: move-object/from16 v0, v23
+007144: 5408 4900                              |01bc: iget-object v8, v0, Lcom/google/android/checkers/a;.p:[I // field@0049
+007148: d809 04ff                              |01be: add-int/lit8 v9, v4, #int -1 // #ff
+00714c: 4408 0809                              |01c0: aget v8, v8, v9
+007150: 4b08 0704                              |01c2: aput v8, v7, v4
+007154: 0800 1700                              |01c4: move-object/from16 v0, v23
+007158: 5407 4900                              |01c6: iget-object v7, v0, Lcom/google/android/checkers/a;.p:[I // field@0049
+00715c: d808 04ff                              |01c8: add-int/lit8 v8, v4, #int -1 // #ff
+007160: 4b03 0708                              |01ca: aput v3, v7, v8
+007164: 0800 1700                              |01cc: move-object/from16 v0, v23
+007168: 5403 3b00                              |01ce: iget-object v3, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
+00716c: 4403 0304                              |01d0: aget v3, v3, v4
+007170: 0800 1700                              |01d2: move-object/from16 v0, v23
+007174: 5407 3b00                              |01d4: iget-object v7, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
+007178: 0800 1700                              |01d6: move-object/from16 v0, v23
+00717c: 5408 3b00                              |01d8: iget-object v8, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
+007180: d809 04ff                              |01da: add-int/lit8 v9, v4, #int -1 // #ff
+007184: 4408 0809                              |01dc: aget v8, v8, v9
+007188: 4b08 0704                              |01de: aput v8, v7, v4
+00718c: 0800 1700                              |01e0: move-object/from16 v0, v23
+007190: 5407 3b00                              |01e2: iget-object v7, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
+007194: d808 04ff                              |01e4: add-int/lit8 v8, v4, #int -1 // #ff
+007198: 4b03 0708                              |01e6: aput v3, v7, v8
+00719c: 3342 1300                              |01e8: if-ne v2, v4, 01fb // +0013
+0071a0: d802 02ff                              |01ea: add-int/lit8 v2, v2, #int -1 // #ff
+0071a4: 1203                                   |01ec: const/4 v3, #int 0 // #0
+0071a6: 0216 0300                              |01ed: move/from16 v22, v3
+0071aa: 0123                                   |01ef: move v3, v2
+0071ac: 0202 1600                              |01f0: move/from16 v2, v22
+0071b0: d804 04ff                              |01f2: add-int/lit8 v4, v4, #int -1 // #ff
+0071b4: 0216 0200                              |01f4: move/from16 v22, v2
+0071b8: 0132                                   |01f6: move v2, v3
+0071ba: 0203 1600                              |01f7: move/from16 v3, v22
+0071be: 2900 4bff                              |01f9: goto/16 0144 // -00b5
+0071c2: d803 04ff                              |01fb: add-int/lit8 v3, v4, #int -1 // #ff
+0071c6: 3332 efff                              |01fd: if-ne v2, v3, 01ec // -0011
+0071ca: d802 0201                              |01ff: add-int/lit8 v2, v2, #int 1 // #01
+0071ce: 28eb                                   |0201: goto 01ec // -0015
+0071d0: 0216 0300                              |0202: move/from16 v22, v3
+0071d4: 0123                                   |0204: move v3, v2
+0071d6: 0202 1600                              |0205: move/from16 v2, v22
+0071da: 28eb                                   |0207: goto 01f2 // -0015
+0071dc: 0192                                   |0208: move v2, v9
+0071de: 01a3                                   |0209: move v3, v10
+0071e0: 01b4                                   |020a: move v4, v11
+0071e2: 01d5                                   |020b: move v5, v13
+0071e4: 2900 2cff                              |020c: goto/16 0138 // -00d4
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  source_file_idx   : -1 (unknown)
+
+Class #3 header:
+class_idx           : 33
+access_flags        : 16 (0x0010)
+superclass_idx      : 46
+interfaces_off      : 29520 (0x007350)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 35082 (0x00890a)
+static_fields_size  : 0
+instance_fields_size: 1
+direct_methods_size : 1
+virtual_methods_size: 1
+
+Class #3            -
+  Class descriptor  : 'Lcom/google/android/checkers/b;'
+  Access flags      : 0x0010 (FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+    #0              : 'Landroid/content/DialogInterface$OnClickListener;'
+  Static fields     -
+  Instance fields   -
+    #0              : (in Lcom/google/android/checkers/b;)
+      name          : 'a'
+      type          : 'Lcom/google/android/checkers/CheckersView;'
+      access        : 0x1010 (FINAL SYNTHETIC)
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/b;)
+      name          : '<init>'
+      type          : '(Lcom/google/android/checkers/CheckersView;)V'
+      access        : 0x10000 (CONSTRUCTOR)
+      code          -
+      registers     : 2
+      ins           : 2
+      outs          : 1
+      insns size    : 6 16-bit code units
+0071e8:                                        |[0071e8] com.google.android.checkers.b.<init>:(Lcom/google/android/checkers/CheckersView;)V
+0071f8: 5b01 5400                              |0000: iput-object v1, v0, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054
+0071fc: 7010 a000 0000                         |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
+007202: 0e00                                   |0005: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/checkers/b;)
+      name          : 'onClick'
+      type          : '(Landroid/content/DialogInterface;I)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 4
+      ins           : 3
+      outs          : 1
+      insns size    : 14 16-bit code units
+007204:                                        |[007204] com.google.android.checkers.b.onClick:(Landroid/content/DialogInterface;I)V
+007214: 5410 5400                              |0000: iget-object v0, v1, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054
+007218: 7110 5900 0000                         |0002: invoke-static {v0}, Lcom/google/android/checkers/CheckersView;.a:(Lcom/google/android/checkers/CheckersView;)Z // method@0059
+00721e: 0a00                                   |0005: move-result v0
+007220: 3800 0700                              |0006: if-eqz v0, 000d // +0007
+007224: 5410 5400                              |0008: iget-object v0, v1, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054
+007228: 6e10 6d00 0000                         |000a: invoke-virtual {v0}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
+00722e: 0e00                                   |000d: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  source_file_idx   : -1 (unknown)
+
+Class #4 header:
+class_idx           : 34
+access_flags        : 16 (0x0010)
+superclass_idx      : 46
+interfaces_off      : 29520 (0x007350)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 35103 (0x00891f)
+static_fields_size  : 0
+instance_fields_size: 1
+direct_methods_size : 1
+virtual_methods_size: 1
+
+Class #4            -
+  Class descriptor  : 'Lcom/google/android/checkers/c;'
+  Access flags      : 0x0010 (FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+    #0              : 'Landroid/content/DialogInterface$OnClickListener;'
+  Static fields     -
+  Instance fields   -
+    #0              : (in Lcom/google/android/checkers/c;)
+      name          : 'a'
+      type          : 'Lcom/google/android/checkers/CheckersView;'
+      access        : 0x1010 (FINAL SYNTHETIC)
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/c;)
+      name          : '<init>'
+      type          : '(Lcom/google/android/checkers/CheckersView;)V'
+      access        : 0x10000 (CONSTRUCTOR)
+      code          -
+      registers     : 2
+      ins           : 2
+      outs          : 1
+      insns size    : 6 16-bit code units
+007230:                                        |[007230] com.google.android.checkers.c.<init>:(Lcom/google/android/checkers/CheckersView;)V
+007240: 5b01 5500                              |0000: iput-object v1, v0, Lcom/google/android/checkers/c;.a:Lcom/google/android/checkers/CheckersView; // field@0055
+007244: 7010 a000 0000                         |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
+00724a: 0e00                                   |0005: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/checkers/c;)
+      name          : 'onClick'
+      type          : '(Landroid/content/DialogInterface;I)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 3
+      ins           : 3
+      outs          : 0
+      insns size    : 1 16-bit code units
+00724c:                                        |[00724c] com.google.android.checkers.c.onClick:(Landroid/content/DialogInterface;I)V
+00725c: 0e00                                   |0000: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  source_file_idx   : -1 (unknown)
+
+Class #5 header:
+class_idx           : 35
+access_flags        : 16 (0x0010)
+superclass_idx      : 46
+interfaces_off      : 29520 (0x007350)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 35124 (0x008934)
+static_fields_size  : 0
+instance_fields_size: 1
+direct_methods_size : 1
+virtual_methods_size: 1
+
+Class #5            -
+  Class descriptor  : 'Lcom/google/android/checkers/d;'
+  Access flags      : 0x0010 (FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+    #0              : 'Landroid/content/DialogInterface$OnClickListener;'
+  Static fields     -
+  Instance fields   -
+    #0              : (in Lcom/google/android/checkers/d;)
+      name          : 'a'
+      type          : 'Lcom/google/android/checkers/CheckersView;'
+      access        : 0x1010 (FINAL SYNTHETIC)
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/d;)
+      name          : '<init>'
+      type          : '(Lcom/google/android/checkers/CheckersView;)V'
+      access        : 0x10000 (CONSTRUCTOR)
+      code          -
+      registers     : 2
+      ins           : 2
+      outs          : 1
+      insns size    : 6 16-bit code units
+007260:                                        |[007260] com.google.android.checkers.d.<init>:(Lcom/google/android/checkers/CheckersView;)V
+007270: 5b01 5600                              |0000: iput-object v1, v0, Lcom/google/android/checkers/d;.a:Lcom/google/android/checkers/CheckersView; // field@0056
+007274: 7010 a000 0000                         |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
+00727a: 0e00                                   |0005: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/checkers/d;)
+      name          : 'onClick'
+      type          : '(Landroid/content/DialogInterface;I)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 3
+      ins           : 3
+      outs          : 0
+      insns size    : 1 16-bit code units
+00727c:                                        |[00727c] com.google.android.checkers.d.onClick:(Landroid/content/DialogInterface;I)V
+00728c: 0e00                                   |0000: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  source_file_idx   : -1 (unknown)
+
+Class #6 header:
+class_idx           : 36
+access_flags        : 16 (0x0010)
+superclass_idx      : 46
+interfaces_off      : 29520 (0x007350)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 35145 (0x008949)
+static_fields_size  : 0
+instance_fields_size: 1
+direct_methods_size : 1
+virtual_methods_size: 1
+
+Class #6            -
+  Class descriptor  : 'Lcom/google/android/checkers/e;'
+  Access flags      : 0x0010 (FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+    #0              : 'Landroid/content/DialogInterface$OnClickListener;'
+  Static fields     -
+  Instance fields   -
+    #0              : (in Lcom/google/android/checkers/e;)
+      name          : 'a'
+      type          : 'Lcom/google/android/checkers/CheckersView;'
+      access        : 0x1010 (FINAL SYNTHETIC)
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/e;)
+      name          : '<init>'
+      type          : '(Lcom/google/android/checkers/CheckersView;)V'
+      access        : 0x10000 (CONSTRUCTOR)
+      code          -
+      registers     : 2
+      ins           : 2
+      outs          : 1
+      insns size    : 6 16-bit code units
+007290:                                        |[007290] com.google.android.checkers.e.<init>:(Lcom/google/android/checkers/CheckersView;)V
+0072a0: 5b01 5700                              |0000: iput-object v1, v0, Lcom/google/android/checkers/e;.a:Lcom/google/android/checkers/CheckersView; // field@0057
+0072a4: 7010 a000 0000                         |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
+0072aa: 0e00                                   |0005: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/checkers/e;)
+      name          : 'onClick'
+      type          : '(Landroid/content/DialogInterface;I)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 5
+      ins           : 3
+      outs          : 2
+      insns size    : 7 16-bit code units
+0072ac:                                        |[0072ac] com.google.android.checkers.e.onClick:(Landroid/content/DialogInterface;I)V
+0072bc: 5420 5700                              |0000: iget-object v0, v2, Lcom/google/android/checkers/e;.a:Lcom/google/android/checkers/CheckersView; // field@0057
+0072c0: 1211                                   |0002: const/4 v1, #int 1 // #1
+0072c2: 6e20 6800 1000                         |0003: invoke-virtual {v0, v1}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068
+0072c8: 0e00                                   |0006: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  source_file_idx   : -1 (unknown)
+
+Class #7 header:
+class_idx           : 37
+access_flags        : 16 (0x0010)
+superclass_idx      : 46
+interfaces_off      : 29520 (0x007350)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 35166 (0x00895e)
+static_fields_size  : 0
+instance_fields_size: 1
+direct_methods_size : 1
+virtual_methods_size: 1
+
+Class #7            -
+  Class descriptor  : 'Lcom/google/android/checkers/f;'
+  Access flags      : 0x0010 (FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+    #0              : 'Landroid/content/DialogInterface$OnClickListener;'
+  Static fields     -
+  Instance fields   -
+    #0              : (in Lcom/google/android/checkers/f;)
+      name          : 'a'
+      type          : 'Lcom/google/android/checkers/CheckersView;'
+      access        : 0x1010 (FINAL SYNTHETIC)
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/f;)
+      name          : '<init>'
+      type          : '(Lcom/google/android/checkers/CheckersView;)V'
+      access        : 0x10000 (CONSTRUCTOR)
+      code          -
+      registers     : 2
+      ins           : 2
+      outs          : 1
+      insns size    : 6 16-bit code units
+0072cc:                                        |[0072cc] com.google.android.checkers.f.<init>:(Lcom/google/android/checkers/CheckersView;)V
+0072dc: 5b01 5800                              |0000: iput-object v1, v0, Lcom/google/android/checkers/f;.a:Lcom/google/android/checkers/CheckersView; // field@0058
+0072e0: 7010 a000 0000                         |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
+0072e6: 0e00                                   |0005: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+    #0              : (in Lcom/google/android/checkers/f;)
+      name          : 'onClick'
+      type          : '(Landroid/content/DialogInterface;I)V'
+      access        : 0x0011 (PUBLIC FINAL)
+      code          -
+      registers     : 4
+      ins           : 3
+      outs          : 2
+      insns size    : 6 16-bit code units
+0072e8:                                        |[0072e8] com.google.android.checkers.f.onClick:(Landroid/content/DialogInterface;I)V
+0072f8: 5410 5800                              |0000: iget-object v0, v1, Lcom/google/android/checkers/f;.a:Lcom/google/android/checkers/CheckersView; // field@0058
+0072fc: 7120 5600 3000                         |0002: invoke-static {v0, v3}, Lcom/google/android/checkers/CheckersView;.a:(Lcom/google/android/checkers/CheckersView;I)V // method@0056
+007302: 0e00                                   |0005: return-void
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  source_file_idx   : -1 (unknown)
+
+Class #8 header:
+class_idx           : 38
+access_flags        : 17 (0x0011)
+superclass_idx      : 46
+interfaces_off      : 0 (0x000000)
+source_file_idx     : -1
+annotations_off     : 0 (0x000000)
+class_data_off      : 35187 (0x008973)
+static_fields_size  : 19
+instance_fields_size: 0
+direct_methods_size : 1
+virtual_methods_size: 0
+
+Class #8            -
+  Class descriptor  : 'Lcom/google/android/checkers/g;'
+  Access flags      : 0x0011 (PUBLIC FINAL)
+  Superclass        : 'Ljava/lang/Object;'
+  Interfaces        -
+  Static fields     -
+    #0              : (in Lcom/google/android/checkers/g;)
+      name          : 'a'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #1              : (in Lcom/google/android/checkers/g;)
+      name          : 'b'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #2              : (in Lcom/google/android/checkers/g;)
+      name          : 'c'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #3              : (in Lcom/google/android/checkers/g;)
+      name          : 'd'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #4              : (in Lcom/google/android/checkers/g;)
+      name          : 'e'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #5              : (in Lcom/google/android/checkers/g;)
+      name          : 'f'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #6              : (in Lcom/google/android/checkers/g;)
+      name          : 'g'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #7              : (in Lcom/google/android/checkers/g;)
+      name          : 'h'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #8              : (in Lcom/google/android/checkers/g;)
+      name          : 'i'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #9              : (in Lcom/google/android/checkers/g;)
+      name          : 'j'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #10              : (in Lcom/google/android/checkers/g;)
+      name          : 'k'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #11              : (in Lcom/google/android/checkers/g;)
+      name          : 'l'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #12              : (in Lcom/google/android/checkers/g;)
+      name          : 'm'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #13              : (in Lcom/google/android/checkers/g;)
+      name          : 'n'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #14              : (in Lcom/google/android/checkers/g;)
+      name          : 'o'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #15              : (in Lcom/google/android/checkers/g;)
+      name          : 'p'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #16              : (in Lcom/google/android/checkers/g;)
+      name          : 'q'
+      type          : '[B'
+      access        : 0x0009 (PUBLIC STATIC)
+    #17              : (in Lcom/google/android/checkers/g;)
+      name          : 'r'
+      type          : 'Z'
+      access        : 0x0009 (PUBLIC STATIC)
+    #18              : (in Lcom/google/android/checkers/g;)
+      name          : 's'
+      type          : 'Ljava/io/BufferedInputStream;'
+      access        : 0x0008 (STATIC)
+  Instance fields   -
+  Direct methods    -
+    #0              : (in Lcom/google/android/checkers/g;)
+      name          : 'a'
+      type          : '([B)Z'
+      access        : 0x0008 (STATIC)
+      code          -
+      registers     : 5
+      ins           : 1
+      outs          : 2
+      insns size    : 29 16-bit code units
+007304:                                        |[007304] com.google.android.checkers.g.a:([B)Z
+007314: 2141                                   |0000: array-length v1, v4
+007316: 1200                                   |0001: const/4 v0, #int 0 // #0
+007318: 3410 0400                              |0002: if-lt v0, v1, 0006 // +0004
+00731c: 1210                                   |0004: const/4 v0, #int 1 // #1
+00731e: 0f00                                   |0005: return v0
+007320: 6202 6b00                              |0006: sget-object v2, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b
+007324: 6e10 9c00 0200                         |0008: invoke-virtual {v2}, Ljava/io/BufferedInputStream;.read:()I // method@009c
+00732a: 0a02                                   |000b: move-result v2
+00732c: 12f3                                   |000c: const/4 v3, #int -1 // #ff
+00732e: 3332 0a00                              |000d: if-ne v2, v3, 0017 // +000a
+007332: 2200 2b00                              |000f: new-instance v0, Ljava/lang/Exception; // type@002b
+007336: 1a01 3401                              |0011: const-string v1, "tb eof" // string@0134
+00733a: 7020 9d00 1000                         |0013: invoke-direct {v0, v1}, Ljava/lang/Exception;.<init>:(Ljava/lang/String;)V // method@009d
+007340: 2700                                   |0016: throw v0
+007342: 8d22                                   |0017: int-to-byte v2, v2
+007344: 4f02 0400                              |0018: aput-byte v2, v4, v0
+007348: d800 0001                              |001a: add-int/lit8 v0, v0, #int 1 // #01
+00734c: 28e6                                   |001c: goto 0002 // -001a
+      catches       : (none)
+      positions     : 
+      locals        : 
+
+  Virtual methods   -
+  source_file_idx   : -1 (unknown)
+
diff --git a/test/dexdump/checkers.xml b/test/dexdump/checkers.xml
new file mode 100755
index 0000000..232254f
--- /dev/null
+++ b/test/dexdump/checkers.xml
@@ -0,0 +1,672 @@
+<api>
+<package name="com.google.android.checkers"
+>
+<class name="Checkers"
+ extends="android.app.Activity"
+ abstract="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<constructor name="Checkers"
+ type="com.google.android.checkers.Checkers"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</constructor>
+<method name="onConfigurationChanged"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="android.content.res.Configuration">
+</parameter>
+</method>
+<method name="onCreate"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="android.os.Bundle">
+</parameter>
+</method>
+<method name="onCreateOptionsMenu"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="android.view.Menu">
+</parameter>
+</method>
+<method name="onKeyDown"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="int">
+</parameter>
+<parameter name="arg1" type="android.view.KeyEvent">
+</parameter>
+</method>
+<method name="onOptionsItemSelected"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="android.view.MenuItem">
+</parameter>
+</method>
+<method name="onPause"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</method>
+<method name="onStop"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</method>
+<method name="onTrackballEvent"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="android.view.MotionEvent">
+</parameter>
+</method>
+</class>
+<class name="CheckersView"
+ extends="android.view.View"
+ abstract="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<constructor name="CheckersView"
+ type="com.google.android.checkers.CheckersView"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="android.content.Context">
+</parameter>
+<parameter name="arg1" type="android.content.SharedPreferences">
+</parameter>
+</constructor>
+<method name="a"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+</method>
+<method name="a"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="float">
+</parameter>
+<parameter name="arg1" type="float">
+</parameter>
+</method>
+<method name="a"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="int">
+</parameter>
+<parameter name="arg1" type="int">
+</parameter>
+<parameter name="arg2" type="int">
+</parameter>
+<parameter name="arg3" type="int">
+</parameter>
+</method>
+<method name="a"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="android.content.SharedPreferences.Editor">
+</parameter>
+</method>
+<method name="a"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="int">
+</parameter>
+</method>
+<method name="a"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="boolean">
+</parameter>
+</method>
+<method name="b"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+</method>
+<method name="b"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="boolean">
+</parameter>
+</method>
+<method name="c"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+</method>
+<method name="c"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="boolean">
+</parameter>
+</method>
+<method name="d"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="boolean">
+</parameter>
+</method>
+<method name="draw"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="android.graphics.Canvas">
+</parameter>
+</method>
+<method name="e"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="boolean">
+</parameter>
+</method>
+<method name="onSizeChanged"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="false"
+ visibility="protected"
+>
+<parameter name="arg0" type="int">
+</parameter>
+<parameter name="arg1" type="int">
+</parameter>
+<parameter name="arg2" type="int">
+</parameter>
+<parameter name="arg3" type="int">
+</parameter>
+</method>
+<method name="onTouchEvent"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="android.view.MotionEvent">
+</parameter>
+</method>
+<method name="setLevel"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="int">
+</parameter>
+</method>
+</class>
+<class name="a"
+ extends="java.lang.Thread"
+ abstract="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<field name="a"
+ type="int[]"
+ transient="false"
+ volatile="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="b"
+ type="int[]"
+ transient="false"
+ volatile="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="c"
+ type="int"
+ transient="false"
+ volatile="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="d"
+ type="int"
+ transient="false"
+ volatile="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="e"
+ type="int"
+ transient="false"
+ volatile="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="f"
+ type="int"
+ transient="false"
+ volatile="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="g"
+ type="int"
+ transient="false"
+ volatile="false"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="h"
+ type="int"
+ transient="false"
+ volatile="true"
+ static="false"
+ final="false"
+ visibility="public"
+>
+</field>
+<constructor name="a"
+ type="com.google.android.checkers.a"
+ static="false"
+ final="false"
+ visibility="public"
+>
+<parameter name="arg0" type="com.google.android.checkers.CheckersView">
+</parameter>
+</constructor>
+<method name="a"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="boolean">
+</parameter>
+<parameter name="arg1" type="boolean">
+</parameter>
+</method>
+<method name="a"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+</method>
+<method name="a"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="int">
+</parameter>
+</method>
+<method name="a"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="int">
+</parameter>
+<parameter name="arg1" type="int">
+</parameter>
+<parameter name="arg2" type="int">
+</parameter>
+<parameter name="arg3" type="int">
+</parameter>
+<parameter name="arg4" type="boolean">
+</parameter>
+</method>
+<method name="b"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="true"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<parameter name="arg0" type="boolean">
+</parameter>
+<parameter name="arg1" type="boolean">
+</parameter>
+</method>
+<method name="run"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+</method>
+</class>
+<class name="g"
+ extends="java.lang.Object"
+ abstract="false"
+ static="false"
+ final="true"
+ visibility="public"
+>
+<field name="a"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="b"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="c"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="d"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="e"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="f"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="g"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="h"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="i"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="j"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="k"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="l"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="m"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="n"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="o"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="p"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="q"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+<field name="r"
+ type="boolean"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="false"
+ visibility="public"
+>
+</field>
+</class>
+</package>
+</api>
diff --git a/test/dexdump/run-all-tests b/test/dexdump/run-all-tests
new file mode 100755
index 0000000..f5d8cd6
--- /dev/null
+++ b/test/dexdump/run-all-tests
@@ -0,0 +1,89 @@
+#!/bin/bash
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Set up prog to be the path of this script, including following symlinks,
+# and set up progdir to be the fully-qualified pathname of its directory.
+prog="$0"
+while [ -h "${prog}" ]; do
+    newProg=`/bin/ls -ld "${prog}"`
+    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
+    if expr "x${newProg}" : 'x/' >/dev/null; then
+        prog="${newProg}"
+    else
+        progdir=`dirname "${prog}"`
+        prog="${progdir}/${newProg}"
+    fi
+done
+oldwd=`pwd`
+progdir=`dirname "${prog}"`
+cd "${progdir}"
+progdir=`pwd`
+prog="${progdir}"/`basename "${prog}"`
+
+# Set up a temp directory for output.
+tmpdir=/tmp/test-$$
+mkdir ${tmpdir}
+
+# Set up binary and flags to test.
+DEXD="${ANDROID_HOST_OUT}/bin/dexdump2"
+FLAGS1="-dfh"
+FLAGS2="-l xml"
+
+# Run the tests.
+passed=0
+failed=0
+for i in *.dex; do
+    echo $i
+    basenm=`basename "${i}" .dex`
+    txtfile=${basenm}.txt
+    xmlfile=${basenm}.xml
+    genfile1=${tmpdir}/${txtfile}
+    genfile2=${tmpdir}/${xmlfile}
+    ${DEXD} ${FLAGS1} ${i} > ${genfile1}
+    cmp ${txtfile} ${genfile1}
+    if [ "$?" = "0" ]; then
+        ((passed += 1))
+    else
+        ((failed += 1))
+        echo failed: ${i}
+    fi
+    ${DEXD} ${FLAGS2} ${i} > ${genfile2}
+    cmp ${xmlfile} ${genfile2}
+    if [ "$?" = "0" ]; then
+        ((passed += 1))
+    else
+        ((failed += 1))
+        echo failed: ${i}
+    fi
+done
+
+# Report results.
+echo
+echo "passed: ${passed} test(s)"
+echo "failed: ${failed} test(s)"
+echo
+
+# Clean up, cd back to original dir.
+#rm -rf ${tmpdir}
+cd ${oldwd}
+
+# Return status.
+if [ "${failed}" != "0" ]; then
+  echo failed
+  exit 1
+fi
+exit 0
+