char *js0n(char *key, int klen, char *json, int jlen, int *vlen) {
  char *val = 0;
  char *cur, *end, *start;
  int index = 1;
  int depth = 0;
  int utf8_remain = 0;
  static void *gostruct[] = {
      [0 ... 255] = &&l_bad,  ['\t'] = &&l_loop,      [' '] = &&l_loop,
      ['\r'] = &&l_loop,      ['\n'] = &&l_loop,      ['"'] = &&l_qup,
      [':'] = &&l_loop,       [','] = &&l_loop,       ['['] = &&l_up,
      [']'] = &&l_down,       ['{'] = &&l_up,         ['}'] = &&l_down,
      ['-'] = &&l_bare,       [48 ... 57] = &&l_bare, [65 ... 90] = &&l_bare,
      [97 ... 122] = &&l_bare};
  static void *gobare[] = {
      [0 ... 31] = &&l_bad,   [32 ... 126] = &&l_loop, ['\t'] = &&l_unbare,
      [' '] = &&l_unbare,     ['\r'] = &&l_unbare,     ['\n'] = &&l_unbare,
      [','] = &&l_unbare,     [']'] = &&l_unbare,      ['}'] = &&l_unbare,
      [127 ... 255] = &&l_bad};
  static void *gostring[] = {
      [0 ... 31] = &&l_bad,       [127] = &&l_bad,
      [32 ... 126] = &&l_loop,    ['\\'] = &&l_esc,
      ['"'] = &&l_qdown,          [128 ... 191] = &&l_bad,
      [192 ... 223] = &&l_utf8_2, [224 ... 239] = &&l_utf8_3,
      [240 ... 247] = &&l_utf8_4, [248 ... 255] = &&l_bad};
  static void *goutf8_continue[] = {[0 ... 127] = &&l_bad,
                                    [128 ... 191] = &&l_utf_continue,
                                    [192 ... 255] = &&l_bad};
  static void *goesc[] = {
      [0 ... 255] = &&l_bad, ['"'] = &&l_unesc, ['\\'] = &&l_unesc,
      ['/'] = &&l_unesc,     ['b'] = &&l_unesc, ['f'] = &&l_unesc,
      ['n'] = &&l_unesc,     ['r'] = &&l_unesc, ['t'] = &&l_unesc,
      ['u'] = &&l_unesc};
  void **go = gostruct;
  if (!json || jlen <= 0 || !vlen)
    return 0;
  *vlen = 0;
  if (!key) {
    if (klen < 0)
      return 0;
    index = klen;
    klen = 0;
  } else {
    if (klen <= 0)
      klen = strlen(key);
  }
  for (start = cur = json, end = cur + jlen; cur < end; cur++) {
    goto *go[(unsigned char)*cur];
  l_loop:;
  }
  if (depth)
    *vlen = jlen;
  return 0;
l_bad:
  *vlen = cur - json;
  return 0;
l_up:
  if (depth == 1) {
    if (!index) {
      val = cur + 0;
    } else {
      if (klen && index == 1)
        start = cur + 0;
      else
        index--;
    }
  };
  ++depth;
  goto l_loop;
l_down:
  --depth;
  if (depth == 1) {
    if (val && !index) {
      *vlen = (cur + 0 + 1) - val;
      return val;
    };
    if (klen)
      index = (start && klen == (cur - start) && strncmp(key, start, klen) == 0)
                  ? 0
                  : 1;
  };
  goto l_loop;
l_qup:
  if (depth == 1) {
    if (!index) {
      val = cur + 1;
    } else {
      if (klen && index == 1)
        start = cur + 1;
      else
        index--;
    }
  };
  go = gostring;
  goto l_loop;
l_qdown:
  if (depth == 1) {
    if (val && !index) {
      *vlen = (cur + -1 + 1) - val;
      return val;
    };
    if (klen)
      index = (start && klen == (cur - start) && strncmp(key, start, klen) == 0)
                  ? 0
                  : 1;
  };
  go = gostruct;
  goto l_loop;
l_esc:
  go = goesc;
  goto l_loop;
l_unesc:
  go = gostring;
  goto l_loop;
l_bare:
  if (depth == 1) {
    if (!index) {
      val = cur + 0;
    } else {
      if (klen && index == 1)
        start = cur + 0;
      else
        index--;
    }
  };
  go = gobare;
  goto l_loop;
l_unbare:
  if (depth == 1) {
    if (val && !index) {
      *vlen = (cur + -1 + 1) - val;
      return val;
    };
    if (klen)
      index = (start && klen == (cur - start) && strncmp(key, start, klen) == 0)
                  ? 0
                  : 1;
  };
  go = gostruct;
  goto *go[(unsigned char)*cur];
l_utf8_2:
  go = goutf8_continue;
  utf8_remain = 1;
  goto l_loop;
l_utf8_3:
  go = goutf8_continue;
  utf8_remain = 2;
  goto l_loop;
l_utf8_4:
  go = goutf8_continue;
  utf8_remain = 3;
  goto l_loop;
l_utf_continue:
  if (!--utf8_remain)
    go = gostring;
  goto l_loop;
}


x86 assembly (clang, -O0):
<js0n>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
mov    %rdi,-0x10(%rbp)
mov    %esi,-0x14(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %ecx,-0x24(%rbp)
mov    %r8,-0x30(%rbp)
movq   $0x0,-0x38(%rbp)
movl   $0x1,-0x54(%rbp)
movl   $0x0,-0x58(%rbp)
movl   $0x0,-0x5c(%rbp)
lea    0x2edf(%rip),%rax
mov    %rax,-0x68(%rbp)
cmpq   $0x0,-0x20(%rbp)
je     8185 <js0n+0x65>
cmpl   $0x0,-0x24(%rbp)
jle    8185 <js0n+0x65>
cmpq   $0x0,-0x30(%rbp)
jne    8192 <js0n+0x72>
movq   $0x0,-0x8(%rbp)
jmp    868b <js0n+0x56b>
mov    -0x30(%rbp),%rax
movl   $0x0,(%rax)
cmpq   $0x0,-0x10(%rbp)
jne    81d0 <js0n+0xb0>
cmpl   $0x0,-0x14(%rbp)
jge    81be <js0n+0x9e>
movq   $0x0,-0x8(%rbp)
jmp    868b <js0n+0x56b>
mov    -0x14(%rbp),%eax
mov    %eax,-0x54(%rbp)
movl   $0x0,-0x14(%rbp)
jmp    81eb <js0n+0xcb>
cmpl   $0x0,-0x14(%rbp)
jg     81e6 <js0n+0xc6>
mov    -0x10(%rbp),%rdi
call   8040 <strlen@plt>
mov    %eax,-0x14(%rbp)
jmp    81eb <js0n+0xcb>
mov    -0x20(%rbp),%rax
mov    %rax,-0x40(%rbp)
mov    %rax,-0x50(%rbp)
mov    -0x40(%rbp),%rax
movslq -0x24(%rbp),%rcx
add    %rcx,%rax
mov    %rax,-0x48(%rbp)
mov    -0x40(%rbp),%rax
cmp    -0x48(%rbp),%rax
jae    8242 <js0n+0x122>
mov    -0x68(%rbp),%rax
mov    -0x40(%rbp),%rcx
movzbl (%rcx),%ecx
mov    (%rax,%rcx,8),%rax
mov    %rax,-0x70(%rbp)
jmp    8698 <js0n+0x578>
jmp    8231 <js0n+0x111>
mov    -0x40(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x40(%rbp)
jmp    8206 <js0n+0xe6>
cmpl   $0x0,-0x58(%rbp)
je     8255 <js0n+0x135>
mov    -0x24(%rbp),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,(%rax)
movq   $0x0,-0x8(%rbp)
jmp    868b <js0n+0x56b>
mov    -0x40(%rbp),%rax
mov    -0x20(%rbp),%rcx
sub    %rcx,%rax
mov    %eax,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,(%rax)
movq   $0x0,-0x8(%rbp)
jmp    868b <js0n+0x56b>
cmpl   $0x1,-0x58(%rbp)
jne    82d7 <js0n+0x1b7>
cmpl   $0x0,-0x54(%rbp)
jne    82a3 <js0n+0x183>
mov    -0x40(%rbp),%rax
mov    %rax,-0x38(%rbp)
jmp    82d2 <js0n+0x1b2>
cmpl   $0x0,-0x14(%rbp)
je     82c4 <js0n+0x1a4>
cmpl   $0x1,-0x54(%rbp)
jne    82c4 <js0n+0x1a4>
mov    -0x40(%rbp),%rax
mov    %rax,-0x50(%rbp)
jmp    82cd <js0n+0x1ad>
mov    -0x54(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x54(%rbp)
jmp    82d2 <js0n+0x1b2>
jmp    82d7 <js0n+0x1b7>
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
jmp    822c <js0n+0x10c>
mov    -0x58(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x58(%rbp)
cmpl   $0x1,-0x58(%rbp)
jne    839a <js0n+0x27a>
cmpq   $0x0,-0x38(%rbp)
je     8331 <js0n+0x211>
cmpl   $0x0,-0x54(%rbp)
jne    8331 <js0n+0x211>
mov    -0x40(%rbp),%rax
add    $0x1,%rax
mov    -0x38(%rbp),%rcx
sub    %rcx,%rax
mov    %eax,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x38(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    868b <js0n+0x56b>
cmpl   $0x0,-0x14(%rbp)
je     8395 <js0n+0x275>
xor    %eax,%eax
cmpq   $0x0,-0x50(%rbp)
mov    %al,-0x71(%rbp)
je     8382 <js0n+0x262>
movslq -0x14(%rbp),%rcx
mov    -0x40(%rbp),%rdx
mov    -0x50(%rbp),%rax
sub    %rax,%rdx
xor    %eax,%eax
cmp    %rdx,%rcx
mov    %al,-0x71(%rbp)
jne    8382 <js0n+0x262>
mov    -0x10(%rbp),%rdi
mov    -0x50(%rbp),%rsi
movslq -0x14(%rbp),%rdx
call   8030 <strncmp@plt>
cmp    $0x0,%eax
sete   %al
mov    %al,-0x71(%rbp)
mov    -0x71(%rbp),%dl
mov    $0x1,%eax
xor    %ecx,%ecx
test   $0x1,%dl
cmovne %ecx,%eax
mov    %eax,-0x54(%rbp)
jmp    839a <js0n+0x27a>
jmp    822c <js0n+0x10c>
cmpl   $0x1,-0x58(%rbp)
jne    83fc <js0n+0x2dc>
cmpl   $0x0,-0x54(%rbp)
jne    83c4 <js0n+0x2a4>
mov    -0x40(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x38(%rbp)
jmp    83f7 <js0n+0x2d7>
cmpl   $0x0,-0x14(%rbp)
je     83e9 <js0n+0x2c9>
cmpl   $0x1,-0x54(%rbp)
jne    83e9 <js0n+0x2c9>
mov    -0x40(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x50(%rbp)
jmp    83f2 <js0n+0x2d2>
mov    -0x54(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x54(%rbp)
jmp    83f7 <js0n+0x2d7>
jmp    83fc <js0n+0x2dc>
lea    0x3c3d(%rip),%rax
mov    %rax,-0x68(%rbp)
jmp    822c <js0n+0x10c>
cmpl   $0x1,-0x58(%rbp)
jne    84bc <js0n+0x39c>
cmpq   $0x0,-0x38(%rbp)
je     8453 <js0n+0x333>
cmpl   $0x0,-0x54(%rbp)
jne    8453 <js0n+0x333>
mov    -0x40(%rbp),%rax
add    $0xffffffffffffffff,%rax
add    $0x1,%rax
mov    -0x38(%rbp),%rcx
sub    %rcx,%rax
mov    %eax,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x38(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    868b <js0n+0x56b>
cmpl   $0x0,-0x14(%rbp)
je     84b7 <js0n+0x397>
xor    %eax,%eax
cmpq   $0x0,-0x50(%rbp)
mov    %al,-0x72(%rbp)
je     84a4 <js0n+0x384>
movslq -0x14(%rbp),%rcx
mov    -0x40(%rbp),%rdx
mov    -0x50(%rbp),%rax
sub    %rax,%rdx
xor    %eax,%eax
cmp    %rdx,%rcx
mov    %al,-0x72(%rbp)
jne    84a4 <js0n+0x384>
mov    -0x10(%rbp),%rdi
mov    -0x50(%rbp),%rsi
movslq -0x14(%rbp),%rdx
call   8030 <strncmp@plt>
cmp    $0x0,%eax
sete   %al
mov    %al,-0x72(%rbp)
mov    -0x72(%rbp),%dl
mov    $0x1,%eax
xor    %ecx,%ecx
test   $0x1,%dl
cmovne %ecx,%eax
mov    %eax,-0x54(%rbp)
jmp    84bc <js0n+0x39c>
lea    0x2b7d(%rip),%rax
mov    %rax,-0x68(%rbp)
jmp    822c <js0n+0x10c>
lea    0x4b6d(%rip),%rax
mov    %rax,-0x68(%rbp)
jmp    822c <js0n+0x10c>
lea    0x3b5d(%rip),%rax
mov    %rax,-0x68(%rbp)
jmp    822c <js0n+0x10c>
cmpl   $0x1,-0x58(%rbp)
jne    8541 <js0n+0x421>
cmpl   $0x0,-0x54(%rbp)
jne    850d <js0n+0x3ed>
mov    -0x40(%rbp),%rax
mov    %rax,-0x38(%rbp)
jmp    853c <js0n+0x41c>
cmpl   $0x0,-0x14(%rbp)
je     852e <js0n+0x40e>
cmpl   $0x1,-0x54(%rbp)
jne    852e <js0n+0x40e>
mov    -0x40(%rbp),%rax
mov    %rax,-0x50(%rbp)
jmp    8537 <js0n+0x417>
mov    -0x54(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x54(%rbp)
jmp    853c <js0n+0x41c>
jmp    8541 <js0n+0x421>
lea    0x32f8(%rip),%rax
mov    %rax,-0x68(%rbp)
jmp    822c <js0n+0x10c>
cmpl   $0x1,-0x58(%rbp)
jne    8601 <js0n+0x4e1>
cmpq   $0x0,-0x38(%rbp)
je     8598 <js0n+0x478>
cmpl   $0x0,-0x54(%rbp)
jne    8598 <js0n+0x478>
mov    -0x40(%rbp),%rax
add    $0xffffffffffffffff,%rax
add    $0x1,%rax
mov    -0x38(%rbp),%rcx
sub    %rcx,%rax
mov    %eax,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x38(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    868b <js0n+0x56b>
cmpl   $0x0,-0x14(%rbp)
je     85fc <js0n+0x4dc>
xor    %eax,%eax
cmpq   $0x0,-0x50(%rbp)
mov    %al,-0x73(%rbp)
je     85e9 <js0n+0x4c9>
movslq -0x14(%rbp),%rcx
mov    -0x40(%rbp),%rdx
mov    -0x50(%rbp),%rax
sub    %rax,%rdx
xor    %eax,%eax
cmp    %rdx,%rcx
mov    %al,-0x73(%rbp)
jne    85e9 <js0n+0x4c9>
mov    -0x10(%rbp),%rdi
mov    -0x50(%rbp),%rsi
movslq -0x14(%rbp),%rdx
call   8030 <strncmp@plt>
cmp    $0x0,%eax
sete   %al
mov    %al,-0x73(%rbp)
mov    -0x73(%rbp),%dl
mov    $0x1,%eax
xor    %ecx,%ecx
test   $0x1,%dl
cmovne %ecx,%eax
mov    %eax,-0x54(%rbp)
jmp    8601 <js0n+0x4e1>
lea    0x2a38(%rip),%rax
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
mov    -0x40(%rbp),%rcx
movzbl (%rcx),%ecx
mov    (%rax,%rcx,8),%rax
mov    %rax,-0x70(%rbp)
jmp    8698 <js0n+0x578>
lea    0x4215(%rip),%rax
mov    %rax,-0x68(%rbp)
movl   $0x1,-0x5c(%rbp)
jmp    822c <js0n+0x10c>
lea    0x41fe(%rip),%rax
mov    %rax,-0x68(%rbp)
movl   $0x2,-0x5c(%rbp)
jmp    822c <js0n+0x10c>
lea    0x41e7(%rip),%rax
mov    %rax,-0x68(%rbp)
movl   $0x3,-0x5c(%rbp)
jmp    822c <js0n+0x10c>
mov    -0x5c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x5c(%rbp)
cmp    $0x0,%eax
jne    8686 <js0n+0x566>
lea    0x39be(%rip),%rax
mov    %rax,-0x68(%rbp)
jmp    822c <js0n+0x10c>
mov    -0x8(%rbp),%rax
add    $0x80,%rsp
pop    %rbp
ret
mov    -0x70(%rbp),%rax
jmp    *%rax

x86 assembly (clang, -O2):
<js0n>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x58,%rsp
xor    %r10d,%r10d
test   %rdx,%rdx
je     857b <js0n+0x45b>
test   %ecx,%ecx
jle    857b <js0n+0x45b>
test   %r8,%r8
je     857b <js0n+0x45b>
mov    %rdx,%r9
movl   $0x0,(%r8)
test   %rdi,%rdi
je     816b <js0n+0x4b>
test   %esi,%esi
jle    817c <js0n+0x5c>
movl   $0x1,0x8(%rsp)
mov    %esi,%r11d
jmp    81a2 <js0n+0x82>
xor    %r11d,%r11d
test   %esi,%esi
js     8596 <js0n+0x476>
mov    %esi,0x8(%rsp)
jmp    81a2 <js0n+0x82>
movl   $0x1,0x8(%rsp)
mov    %rdi,%rbx
mov    %r8,%r15
mov    %ecx,%ebp
mov    %r9,%r14
call   8040 <strlen@plt>
mov    %rbx,%rdi
mov    %r14,%r9
mov    %ebp,%ecx
mov    %r15,%r8
mov    %rax,%r11
mov    %ecx,%eax
add    %r9,%rax
mov    %rax,0x50(%rsp)
movslq %r11d,%rax
mov    %rax,0x18(%rsp)
xor    %eax,%eax
mov    %rax,0x30(%rsp)
lea    0x245e(%rip),%r15
mov    %r15,0x20(%rsp)
xor    %ebx,%ebx
mov    %r9,0x10(%rsp)
mov    %r9,%r12
xor    %r10d,%r10d
jmp    81f6 <js0n+0xd6>
mov    $0x1,%eax
mov    %rax,0x30(%rsp)
lea    0x3c39(%rip),%r15
add    $0x1,%r12
cmp    0x50(%rsp),%r12
jae    858d <js0n+0x46d>
movzbl (%r12),%eax
lea    (%r15,%rax,8),%rsi
mov    0x10(%rsp),%rbp
test   %rbp,%rbp
sete   %dl
mov    %r12,%r14
sub    %rbp,%r14
cmp    0x18(%rsp),%r14
setne  %r13b
mov    0x20(%rsp),%rbp
lea    0x0(%rbp,%rax,8),%rbp
or     %dl,%r13b
test   %r10,%r10
sete   %dl
cmpl   $0x0,0x8(%rsp)
setne  %al
or     %dl,%al
jmp    *(%rsi)
cmp    $0x1,%ebx
jne    824a <js0n+0x12a>
test   %al,%al
je     8572 <js0n+0x452>
test   %r11d,%r11d
jne    8252 <js0n+0x132>
mov    0x20(%rsp),%r15
jmp    *0x0(%rbp)
test   %r13b,%r13b
je     825b <js0n+0x13b>
xor    %eax,%eax
jmp    82a5 <js0n+0x185>
mov    %rdi,%r15
mov    0x10(%rsp),%rsi
mov    0x18(%rsp),%rdx
mov    %r8,0x8(%rsp)
mov    %ecx,0x44(%rsp)
mov    %r9,0x38(%rsp)
mov    %r10,0x48(%rsp)
mov    %r11,0x28(%rsp)
call   8030 <strncmp@plt>
mov    0x28(%rsp),%r11
mov    0x48(%rsp),%r10
mov    %r15,%rdi
mov    0x38(%rsp),%r9
mov    0x44(%rsp),%ecx
mov    0x8(%rsp),%r8
test   %eax,%eax
sete   %al
xor    $0x1,%al
movzbl %al,%eax
test   %r10,%r10
sete   %dl
mov    %eax,0x8(%rsp)
test   %eax,%eax
setne  %al
or     %dl,%al
mov    0x20(%rsp),%r15
jmp    *0x0(%rbp)
jmp    84e3 <js0n+0x3c3>
mov    0x30(%rsp),%rax
add    $0xffffffff,%eax
mov    %rax,0x30(%rsp)
lea    0x3344(%rip),%rax
cmove  %rax,%r15
jmp    81e7 <js0n+0xc7>
mov    $0x3,%eax
jmp    81db <js0n+0xbb>
mov    $0x2,%eax
jmp    81db <js0n+0xbb>
jmp    81e7 <js0n+0xc7>
lea    0x431b(%rip),%r15
jmp    81e7 <js0n+0xc7>
cmp    $0x1,%ebx
jne    84ef <js0n+0x3cf>
test   %r10,%r10
je     8323 <js0n+0x203>
cmpl   $0x0,0x8(%rsp)
je     8572 <js0n+0x452>
mov    $0x1,%ebx
test   %r11d,%r11d
je     84ef <js0n+0x3cf>
xor    %eax,%eax
cmpq   $0x0,0x10(%rsp)
je     8382 <js0n+0x262>
cmp    0x18(%rsp),%r14
jne    8382 <js0n+0x262>
mov    %rdi,%rbp
mov    0x10(%rsp),%rsi
mov    0x18(%rsp),%rdx
mov    %r8,0x8(%rsp)
mov    %ecx,%r13d
mov    %r9,%r15
mov    %r10,%r14
mov    %r11,0x28(%rsp)
call   8030 <strncmp@plt>
mov    0x28(%rsp),%r11
mov    %r14,%r10
mov    %rbp,%rdi
mov    %r15,%r9
mov    %r13d,%ecx
mov    0x8(%rsp),%r8
test   %eax,%eax
sete   %al
xor    $0x1,%al
movzbl %al,%eax
mov    %eax,0x8(%rsp)
mov    0x20(%rsp),%r15
jmp    81e7 <js0n+0xc7>
add    $0xffffffff,%ebx
cmp    $0x1,%ebx
jne    81e7 <js0n+0xc7>
test   %r10,%r10
je     83b1 <js0n+0x291>
cmpl   $0x0,0x8(%rsp)
je     859b <js0n+0x47b>
mov    $0x1,%ebx
test   %r11d,%r11d
je     81e7 <js0n+0xc7>
xor    %eax,%eax
cmpq   $0x0,0x10(%rsp)
je     8412 <js0n+0x2f2>
cmp    0x18(%rsp),%r14
jne    8412 <js0n+0x2f2>
mov    %rdi,%r14
mov    0x10(%rsp),%rsi
mov    0x18(%rsp),%rdx
mov    %r8,0x8(%rsp)
mov    %ecx,%ebp
mov    %r9,0x38(%rsp)
mov    %r10,%r13
mov    %r11,0x28(%rsp)
call   8030 <strncmp@plt>
mov    0x28(%rsp),%r11
mov    %r13,%r10
mov    %r14,%rdi
mov    0x38(%rsp),%r9
mov    %ebp,%ecx
mov    0x8(%rsp),%r8
test   %eax,%eax
sete   %al
xor    $0x1,%al
movzbl %al,%eax
mov    %eax,0x8(%rsp)
jmp    81e7 <js0n+0xc7>
cmp    $0x1,%ebx
jne    845c <js0n+0x33c>
mov    0x8(%rsp),%esi
test   %esi,%esi
je     8505 <js0n+0x3e5>
test   %r11d,%r11d
setne  %al
cmp    $0x1,%esi
sete   %dl
add    $0xffffffff,%esi
test   %dl,%al
mov    0x10(%rsp),%rax
cmovne %r12,%rax
mov    %rax,0x10(%rsp)
mov    $0x1,%eax
cmovne %eax,%esi
mov    %esi,0x8(%rsp)
add    $0x1,%ebx
jmp    81e7 <js0n+0xc7>
cmp    $0x1,%ebx
jne    84f9 <js0n+0x3d9>
mov    0x8(%rsp),%esi
test   %esi,%esi
je     8518 <js0n+0x3f8>
test   %r11d,%r11d
setne  %al
cmp    $0x1,%esi
sete   %dl
add    $0xffffffff,%esi
test   %dl,%al
mov    0x10(%rsp),%rax
cmovne %r12,%rax
mov    %rax,0x10(%rsp)
mov    $0x1,%ebx
cmovne %ebx,%esi
mov    %esi,0x8(%rsp)
lea    0x2975(%rip),%r15
jmp    81e7 <js0n+0xc7>
cmp    $0x1,%ebx
jne    84e3 <js0n+0x3c3>
mov    0x8(%rsp),%eax
test   %eax,%eax
je     8534 <js0n+0x414>
test   %r11d,%r11d
je     8552 <js0n+0x432>
cmp    $0x1,%eax
jne    8552 <js0n+0x432>
lea    0x1(%r12),%rax
mov    %rax,0x10(%rsp)
movl   $0x1,0x8(%rsp)
jmp    8559 <js0n+0x439>
lea    0x3136(%rip),%r15
jmp    81e7 <js0n+0xc7>
mov    0x20(%rsp),%r15
jmp    81e7 <js0n+0xc7>
lea    0x2920(%rip),%r15
jmp    81e7 <js0n+0xc7>
movl   $0x0,0x8(%rsp)
mov    %r12,%r10
add    $0x1,%ebx
jmp    81e7 <js0n+0xc7>
mov    $0x1,%ebx
movl   $0x0,0x8(%rsp)
mov    %r12,%r10
lea    0x28f1(%rip),%r15
jmp    81e7 <js0n+0xc7>
lea    0x1(%r12),%r10
mov    $0x1,%ebx
movl   $0x0,0x8(%rsp)
lea    0x30d3(%rip),%r15
jmp    81e7 <js0n+0xc7>
add    $0xffffffff,%eax
mov    %eax,0x8(%rsp)
mov    $0x1,%ebx
lea    0x30bb(%rip),%r15
jmp    81e7 <js0n+0xc7>
sub    %r9d,%r12d
xor    %r10d,%r10d
jmp    8575 <js0n+0x455>
sub    %r10d,%r12d
mov    %r12d,%ecx
mov    %ecx,(%r8)
mov    %r10,%rax
add    $0x58,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
xor    %r10d,%r10d
test   %ebx,%ebx
jne    8578 <js0n+0x458>
jmp    857b <js0n+0x45b>
xor    %r10d,%r10d
jmp    857b <js0n+0x45b>
sub    %r10d,%r12d
add    $0x1,%r12d
jmp    8575 <js0n+0x455>

LLVM IR (-O0):
@js0n.gostruct = internal global [256 x i8*] [i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %159), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %83), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %109), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %233), i8* blockaddress(@js0n, %83), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %109), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75)]
@js0n.gobare = internal global [256 x i8*] [i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %257), i8* blockaddress(@js0n, %257), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %257), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %257), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %257), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %257), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %257), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75)]
@js0n.gostring = internal global [256 x i8*] [i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %183), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %231), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %64), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %311), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %312), i8* blockaddress(@js0n, %313), i8* blockaddress(@js0n, %313), i8* blockaddress(@js0n, %313), i8* blockaddress(@js0n, %313), i8* blockaddress(@js0n, %313), i8* blockaddress(@js0n, %313), i8* blockaddress(@js0n, %313), i8* blockaddress(@js0n, %313), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75)]
@js0n.goutf8_continue = internal global [256 x i8*] [i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %314), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75)]
@js0n.goesc = internal global [256 x i8*] [i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %232), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75), i8* blockaddress(@js0n, %75)]
define i8* @js0n(i8* %0, i32 %1, i8* %2, i32 %3, i32* %4) {
%6 = alloca i8*
%7 = alloca i8*
%8 = alloca i32
%9 = alloca i8*
%10 = alloca i32
%11 = alloca i32*
%12 = alloca i8*
%13 = alloca i8*
%14 = alloca i8*
%15 = alloca i8*
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i8**
store i8* %0, i8** %7
store i32 %1, i32* %8
store i8* %2, i8** %9
store i32 %3, i32* %10
store i32* %4, i32** %11
store i8* null, i8** %12
store i32 1, i32* %16
store i32 0, i32* %17
store i32 0, i32* %18
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), i8*** %19
%20 = load i8*, i8** %9
%21 = icmp ne i8* %20, null
br i1 %21, label %22, label %28
22: ; preds = %5
%23 = load i32, i32* %10
%24 = icmp sle i32 %23, 0
br i1 %24, label %28, label %25
25: ; preds = %22
%26 = load i32*, i32** %11
%27 = icmp ne i32* %26, null
br i1 %27, label %29, label %28
28: ; preds = %25, %22, %5
store i8* null, i8** %6
br label %320
29: ; preds = %25
%30 = load i32*, i32** %11
store i32 0, i32* %30
%31 = load i8*, i8** %7
%32 = icmp ne i8* %31, null
br i1 %32, label %39, label %33
33: ; preds = %29
%34 = load i32, i32* %8
%35 = icmp slt i32 %34, 0
br i1 %35, label %36, label %37
36: ; preds = %33
store i8* null, i8** %6
br label %320
37: ; preds = %33
%38 = load i32, i32* %8
store i32 %38, i32* %16
store i32 0, i32* %8
br label %47
39: ; preds = %29
%40 = load i32, i32* %8
%41 = icmp sle i32 %40, 0
br i1 %41, label %42, label %46
42: ; preds = %39
%43 = load i8*, i8** %7
%44 = call i64 @strlen(i8* %43)
%45 = trunc i64 %44 to i32
store i32 %45, i32* %8
br label %46
46: ; preds = %42, %39
br label %47
47: ; preds = %46, %37
%48 = load i8*, i8** %9
store i8* %48, i8** %13
store i8* %48, i8** %15
%49 = load i8*, i8** %13
%50 = load i32, i32* %10
%51 = sext i32 %50 to i64
%52 = getelementptr inbounds i8, i8* %49, i64 %51
store i8* %52, i8** %14
br label %53
53: ; preds = %65, %47
%54 = load i8*, i8** %13
%55 = load i8*, i8** %14
%56 = icmp ult i8* %54, %55
br i1 %56, label %57, label %68
57: ; preds = %53
%58 = load i8**, i8*** %19
%59 = load i8*, i8** %13
%60 = load i8, i8* %59
%61 = zext i8 %60 to i64
%62 = getelementptr inbounds i8*, i8** %58, i64 %61
%63 = load i8*, i8** %62
br label %322
64: ; preds = %319, %313, %312, %311, %256, %232, %231, %230, %182, %158, %106, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322
br label %65
65: ; preds = %64
%66 = load i8*, i8** %13
%67 = getelementptr inbounds i8, i8* %66, i32 1
store i8* %67, i8** %13
br label %53
68: ; preds = %53
%69 = load i32, i32* %17
%70 = icmp ne i32 %69, 0
br i1 %70, label %71, label %74
71: ; preds = %68
%72 = load i32, i32* %10
%73 = load i32*, i32** %11
store i32 %72, i32* %73
br label %74
74: ; preds = %71, %68
store i8* null, i8** %6
br label %320
75: ; preds = %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322
%76 = load i8*, i8** %13
%77 = load i8*, i8** %9
%78 = ptrtoint i8* %76 to i64
%79 = ptrtoint i8* %77 to i64
%80 = sub i64 %78, %79
%81 = trunc i64 %80 to i32
%82 = load i32*, i32** %11
store i32 %81, i32* %82
store i8* null, i8** %6
br label %320
83: ; preds = %322, %322
%84 = load i32, i32* %17
%85 = icmp eq i32 %84, 1
br i1 %85, label %86, label %106
86: ; preds = %83
%87 = load i32, i32* %16
%88 = icmp ne i32 %87, 0
br i1 %88, label %92, label %89
89: ; preds = %86
%90 = load i8*, i8** %13
%91 = getelementptr inbounds i8, i8* %90, i64 0
store i8* %91, i8** %12
br label %105
92: ; preds = %86
%93 = load i32, i32* %8
%94 = icmp ne i32 %93, 0
br i1 %94, label %95, label %101
95: ; preds = %92
%96 = load i32, i32* %16
%97 = icmp eq i32 %96, 1
br i1 %97, label %98, label %101
98: ; preds = %95
%99 = load i8*, i8** %13
%100 = getelementptr inbounds i8, i8* %99, i64 0
store i8* %100, i8** %15
br label %104
101: ; preds = %95, %92
%102 = load i32, i32* %16
%103 = add nsw i32 %102, -1
store i32 %103, i32* %16
br label %104
104: ; preds = %101, %98
br label %105
105: ; preds = %104, %89
br label %106
106: ; preds = %105, %83
%107 = load i32, i32* %17
%108 = add nsw i32 %107, 1
store i32 %108, i32* %17
br label %64
109: ; preds = %322, %322
%110 = load i32, i32* %17
%111 = add nsw i32 %110, -1
store i32 %111, i32* %17
%112 = load i32, i32* %17
%113 = icmp eq i32 %112, 1
br i1 %113, label %114, label %158
114: ; preds = %109
%115 = load i8*, i8** %12
%116 = icmp ne i8* %115, null
br i1 %116, label %117, label %131
117: ; preds = %114
%118 = load i32, i32* %16
%119 = icmp ne i32 %118, 0
br i1 %119, label %131, label %120
120: ; preds = %117
%121 = load i8*, i8** %13
%122 = getelementptr inbounds i8, i8* %121, i64 0
%123 = getelementptr inbounds i8, i8* %122, i64 1
%124 = load i8*, i8** %12
%125 = ptrtoint i8* %123 to i64
%126 = ptrtoint i8* %124 to i64
%127 = sub i64 %125, %126
%128 = trunc i64 %127 to i32
%129 = load i32*, i32** %11
store i32 %128, i32* %129
%130 = load i8*, i8** %12
store i8* %130, i8** %6
br label %320
131: ; preds = %117, %114
%132 = load i32, i32* %8
%133 = icmp ne i32 %132, 0
br i1 %133, label %134, label %157
134: ; preds = %131
%135 = load i8*, i8** %15
%136 = icmp ne i8* %135, null
br i1 %136, label %137, label %153
137: ; preds = %134
%138 = load i32, i32* %8
%139 = sext i32 %138 to i64
%140 = load i8*, i8** %13
%141 = load i8*, i8** %15
%142 = ptrtoint i8* %140 to i64
%143 = ptrtoint i8* %141 to i64
%144 = sub i64 %142, %143
%145 = icmp eq i64 %139, %144
br i1 %145, label %146, label %153
146: ; preds = %137
%147 = load i8*, i8** %7
%148 = load i8*, i8** %15
%149 = load i32, i32* %8
%150 = sext i32 %149 to i64
%151 = call i32 @strncmp(i8* %147, i8* %148, i64 %150)
%152 = icmp eq i32 %151, 0
br label %153
153: ; preds = %146, %137, %134
%154 = phi i1 [ false, %137 ], [ false, %134 ], [ %152, %146 ]
%155 = zext i1 %154 to i64
%156 = select i1 %154, i32 0, i32 1
store i32 %156, i32* %16
br label %157
157: ; preds = %153, %131
br label %158
158: ; preds = %157, %109
br label %64
159: ; preds = %322
%160 = load i32, i32* %17
%161 = icmp eq i32 %160, 1
br i1 %161, label %162, label %182
162: ; preds = %159
%163 = load i32, i32* %16
%164 = icmp ne i32 %163, 0
br i1 %164, label %168, label %165
165: ; preds = %162
%166 = load i8*, i8** %13
%167 = getelementptr inbounds i8, i8* %166, i64 1
store i8* %167, i8** %12
br label %181
168: ; preds = %162
%169 = load i32, i32* %8
%170 = icmp ne i32 %169, 0
br i1 %170, label %171, label %177
171: ; preds = %168
%172 = load i32, i32* %16
%173 = icmp eq i32 %172, 1
br i1 %173, label %174, label %177
174: ; preds = %171
%175 = load i8*, i8** %13
%176 = getelementptr inbounds i8, i8* %175, i64 1
store i8* %176, i8** %15
br label %180
177: ; preds = %171, %168
%178 = load i32, i32* %16
%179 = add nsw i32 %178, -1
store i32 %179, i32* %16
br label %180
180: ; preds = %177, %174
br label %181
181: ; preds = %180, %165
br label %182
182: ; preds = %181, %159
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), i8*** %19
br label %64
183: ; preds = %322
%184 = load i32, i32* %17
%185 = icmp eq i32 %184, 1
br i1 %185, label %186, label %230
186: ; preds = %183
%187 = load i8*, i8** %12
%188 = icmp ne i8* %187, null
br i1 %188, label %189, label %203
189: ; preds = %186
%190 = load i32, i32* %16
%191 = icmp ne i32 %190, 0
br i1 %191, label %203, label %192
192: ; preds = %189
%193 = load i8*, i8** %13
%194 = getelementptr inbounds i8, i8* %193, i64 -1
%195 = getelementptr inbounds i8, i8* %194, i64 1
%196 = load i8*, i8** %12
%197 = ptrtoint i8* %195 to i64
%198 = ptrtoint i8* %196 to i64
%199 = sub i64 %197, %198
%200 = trunc i64 %199 to i32
%201 = load i32*, i32** %11
store i32 %200, i32* %201
%202 = load i8*, i8** %12
store i8* %202, i8** %6
br label %320
203: ; preds = %189, %186
%204 = load i32, i32* %8
%205 = icmp ne i32 %204, 0
br i1 %205, label %206, label %229
206: ; preds = %203
%207 = load i8*, i8** %15
%208 = icmp ne i8* %207, null
br i1 %208, label %209, label %225
209: ; preds = %206
%210 = load i32, i32* %8
%211 = sext i32 %210 to i64
%212 = load i8*, i8** %13
%213 = load i8*, i8** %15
%214 = ptrtoint i8* %212 to i64
%215 = ptrtoint i8* %213 to i64
%216 = sub i64 %214, %215
%217 = icmp eq i64 %211, %216
br i1 %217, label %218, label %225
218: ; preds = %209
%219 = load i8*, i8** %7
%220 = load i8*, i8** %15
%221 = load i32, i32* %8
%222 = sext i32 %221 to i64
%223 = call i32 @strncmp(i8* %219, i8* %220, i64 %222)
%224 = icmp eq i32 %223, 0
br label %225
225: ; preds = %218, %209, %206
%226 = phi i1 [ false, %209 ], [ false, %206 ], [ %224, %218 ]
%227 = zext i1 %226 to i64
%228 = select i1 %226, i32 0, i32 1
store i32 %228, i32* %16
br label %229
229: ; preds = %225, %203
br label %230
230: ; preds = %229, %183
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), i8*** %19
br label %64
231: ; preds = %322
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.goesc, i64 0, i64 0), i8*** %19
br label %64
232: ; preds = %322, %322, %322, %322, %322, %322, %322, %322, %322
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), i8*** %19
br label %64
233: ; preds = %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322
%234 = load i32, i32* %17
%235 = icmp eq i32 %234, 1
br i1 %235, label %236, label %256
236: ; preds = %233
%237 = load i32, i32* %16
%238 = icmp ne i32 %237, 0
br i1 %238, label %242, label %239
239: ; preds = %236
%240 = load i8*, i8** %13
%241 = getelementptr inbounds i8, i8* %240, i64 0
store i8* %241, i8** %12
br label %255
242: ; preds = %236
%243 = load i32, i32* %8
%244 = icmp ne i32 %243, 0
br i1 %244, label %245, label %251
245: ; preds = %242
%246 = load i32, i32* %16
%247 = icmp eq i32 %246, 1
br i1 %247, label %248, label %251
248: ; preds = %245
%249 = load i8*, i8** %13
%250 = getelementptr inbounds i8, i8* %249, i64 0
store i8* %250, i8** %15
br label %254
251: ; preds = %245, %242
%252 = load i32, i32* %16
%253 = add nsw i32 %252, -1
store i32 %253, i32* %16
br label %254
254: ; preds = %251, %248
br label %255
255: ; preds = %254, %239
br label %256
256: ; preds = %255, %233
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gobare, i64 0, i64 0), i8*** %19
br label %64
257: ; preds = %322, %322, %322, %322, %322, %322, %322
%258 = load i32, i32* %17
%259 = icmp eq i32 %258, 1
br i1 %259, label %260, label %304
260: ; preds = %257
%261 = load i8*, i8** %12
%262 = icmp ne i8* %261, null
br i1 %262, label %263, label %277
263: ; preds = %260
%264 = load i32, i32* %16
%265 = icmp ne i32 %264, 0
br i1 %265, label %277, label %266
266: ; preds = %263
%267 = load i8*, i8** %13
%268 = getelementptr inbounds i8, i8* %267, i64 -1
%269 = getelementptr inbounds i8, i8* %268, i64 1
%270 = load i8*, i8** %12
%271 = ptrtoint i8* %269 to i64
%272 = ptrtoint i8* %270 to i64
%273 = sub i64 %271, %272
%274 = trunc i64 %273 to i32
%275 = load i32*, i32** %11
store i32 %274, i32* %275
%276 = load i8*, i8** %12
store i8* %276, i8** %6
br label %320
277: ; preds = %263, %260
%278 = load i32, i32* %8
%279 = icmp ne i32 %278, 0
br i1 %279, label %280, label %303
280: ; preds = %277
%281 = load i8*, i8** %15
%282 = icmp ne i8* %281, null
br i1 %282, label %283, label %299
283: ; preds = %280
%284 = load i32, i32* %8
%285 = sext i32 %284 to i64
%286 = load i8*, i8** %13
%287 = load i8*, i8** %15
%288 = ptrtoint i8* %286 to i64
%289 = ptrtoint i8* %287 to i64
%290 = sub i64 %288, %289
%291 = icmp eq i64 %285, %290
br i1 %291, label %292, label %299
292: ; preds = %283
%293 = load i8*, i8** %7
%294 = load i8*, i8** %15
%295 = load i32, i32* %8
%296 = sext i32 %295 to i64
%297 = call i32 @strncmp(i8* %293, i8* %294, i64 %296)
%298 = icmp eq i32 %297, 0
br label %299
299: ; preds = %292, %283, %280
%300 = phi i1 [ false, %283 ], [ false, %280 ], [ %298, %292 ]
%301 = zext i1 %300 to i64
%302 = select i1 %300, i32 0, i32 1
store i32 %302, i32* %16
br label %303
303: ; preds = %299, %277
br label %304
304: ; preds = %303, %257
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), i8*** %19
%305 = load i8**, i8*** %19
%306 = load i8*, i8** %13
%307 = load i8, i8* %306
%308 = zext i8 %307 to i64
%309 = getelementptr inbounds i8*, i8** %305, i64 %308
%310 = load i8*, i8** %309
br label %322
311: ; preds = %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.goutf8_continue, i64 0, i64 0), i8*** %19
store i32 1, i32* %18
br label %64
312: ; preds = %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.goutf8_continue, i64 0, i64 0), i8*** %19
store i32 2, i32* %18
br label %64
313: ; preds = %322, %322, %322, %322, %322, %322, %322, %322
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.goutf8_continue, i64 0, i64 0), i8*** %19
store i32 3, i32* %18
br label %64
314: ; preds = %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322, %322
%315 = load i32, i32* %18
%316 = add nsw i32 %315, -1
store i32 %316, i32* %18
%317 = icmp ne i32 %316, 0
br i1 %317, label %319, label %318
318: ; preds = %314
store i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), i8*** %19
br label %319
319: ; preds = %318, %314
br label %64
320: ; preds = %266, %192, %120, %75, %74, %36, %28
%321 = load i8*, i8** %6
ret i8* %321
322: ; preds = %304, %57
%323 = phi i8* [ %63, %57 ], [ %310, %304 ]
indirectbr i8* %323, [label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %64, label %64, label %75, label %75, label %64, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %64, label %75, label %159, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %64, label %233, label %75, label %75, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %64, label %75, label %75, label %75, label %75, label %75, label %75, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %83, label %75, label %109, label %75, label %75, label %75, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %233, label %83, label %75, label %109, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %257, label %257, label %75, label %75, label %257, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %257, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %257, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %257, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %257, label %64, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %64, label %64, label %183, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %231, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %64, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %311, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %312, label %313, label %313, label %313, label %313, label %313, label %313, label %313, label %313, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %314, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %232, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %232, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %232, label %75, label %75, label %75, label %75, label %75, label %232, label %75, label %75, label %75, label %232, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %232, label %75, label %75, label %75, label %232, label %75, label %232, label %232, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75, label %75]
}

LLVM IR (-O2):
@js0n.gostruct = internal unnamed_addr constant [256 x i8*] [i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %108), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %70), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %84), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %143), i8* blockaddress(@js0n, %70), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %84), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65)]
@js0n.gobare = internal unnamed_addr constant [256 x i8*] [i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %152), i8* blockaddress(@js0n, %152), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %152), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %152), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %152), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %152), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %152), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65)]
@js0n.gostring = internal unnamed_addr constant [256 x i8*] [i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %120), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %141), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %54), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %169), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %170), i8* blockaddress(@js0n, %171), i8* blockaddress(@js0n, %171), i8* blockaddress(@js0n, %171), i8* blockaddress(@js0n, %171), i8* blockaddress(@js0n, %171), i8* blockaddress(@js0n, %171), i8* blockaddress(@js0n, %171), i8* blockaddress(@js0n, %171), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65)]
@js0n.goutf8_continue = internal unnamed_addr constant [256 x i8*] [i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %172), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65)]
@js0n.goesc = internal unnamed_addr constant [256 x i8*] [i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %142), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65), i8* blockaddress(@js0n, %65)]
define i8* @js0n(i8* %0, i32 %1, i8* %2, i32 %3, i32* writeonly %4) {
%6 = icmp ne i8* %2, null
%7 = icmp sgt i32 %3, 0
%8 = and i1 %6, %7
%9 = icmp ne i32* %4, null
%10 = and i1 %8, %9
br i1 %10, label %11, label %179
11: ; preds = %5
store i32 0, i32* %4
%12 = icmp eq i8* %0, null
br i1 %12, label %13, label %15
13: ; preds = %11
%14 = icmp slt i32 %1, 0
br i1 %14, label %179, label %20
15: ; preds = %11
%16 = icmp slt i32 %1, 1
br i1 %16, label %17, label %20
17: ; preds = %15
%18 = tail call i64 @strlen(i8* %0)
%19 = trunc i64 %18 to i32
br label %20
20: ; preds = %17, %15, %13
%21 = phi i32 [ %19, %17 ], [ %1, %15 ], [ 0, %13 ]
%22 = phi i32 [ 1, %17 ], [ 1, %15 ], [ %1, %13 ]
%23 = zext i32 %3 to i64
%24 = getelementptr inbounds i8, i8* %2, i64 %23
%25 = icmp eq i32 %21, 0
%26 = sext i32 %21 to i64
%27 = icmp ne i32 %21, 0
br label %28
28: ; preds = %20, %54
%29 = phi i8** [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), %20 ], [ %60, %54 ]
%30 = phi i32 [ 0, %20 ], [ %59, %54 ]
%31 = phi i32 [ 0, %20 ], [ %58, %54 ]
%32 = phi i32 [ %22, %20 ], [ %57, %54 ]
%33 = phi i8* [ %2, %20 ], [ %56, %54 ]
%34 = phi i8* [ %2, %20 ], [ %61, %54 ]
%35 = phi i8* [ null, %20 ], [ %55, %54 ]
%36 = load i8, i8* %34
%37 = zext i8 %36 to i64
%38 = getelementptr inbounds i8*, i8** %29, i64 %37
%39 = icmp eq i32 %31, 1
%40 = icmp eq i8* %35, null
%41 = icmp eq i8* %33, null
%42 = ptrtoint i8* %34 to i64
%43 = ptrtoint i8* %33 to i64
%44 = sub i64 %42, %43
%45 = icmp ne i64 %44, %26
%46 = getelementptr inbounds [256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 %37
%47 = select i1 %41, i1 true, i1 %45
br label %48
48: ; preds = %165, %28
%49 = phi i32 [ %168, %165 ], [ %32, %28 ]
%50 = phi i8** [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), %165 ], [ %29, %28 ]
%51 = phi i8** [ %46, %165 ], [ %38, %28 ]
%52 = icmp ne i32 %49, 0
%53 = select i1 %40, i1 true, i1 %52
br label %181
54: ; preds = %146, %172, %143, %144, %120, %137, %129, %108, %116, %118, %111, %181, %84, %104, %96, %79, %141, %142, %169, %170, %171
%55 = phi i8* [ %80, %79 ], [ %35, %104 ], [ %35, %96 ], [ %35, %84 ], [ %35, %141 ], [ %35, %181 ], [ %35, %169 ], [ %35, %170 ], [ %35, %171 ], [ %35, %142 ], [ %35, %116 ], [ %35, %118 ], [ %112, %111 ], [ %35, %108 ], [ %35, %129 ], [ %35, %137 ], [ %35, %120 ], [ %35, %143 ], [ %34, %144 ], [ %35, %172 ], [ %35, %146 ]
%56 = phi i8* [ %81, %79 ], [ %33, %104 ], [ %33, %96 ], [ %33, %84 ], [ %33, %141 ], [ %33, %181 ], [ %33, %169 ], [ %33, %170 ], [ %33, %171 ], [ %33, %142 ], [ %117, %116 ], [ %33, %118 ], [ %33, %111 ], [ %33, %108 ], [ %33, %129 ], [ %33, %137 ], [ %33, %120 ], [ %33, %143 ], [ %33, %144 ], [ %33, %172 ], [ %150, %146 ]
%57 = phi i32 [ %82, %79 ], [ %107, %104 ], [ %49, %96 ], [ %49, %84 ], [ %49, %141 ], [ %49, %181 ], [ %49, %169 ], [ %49, %170 ], [ %49, %171 ], [ %49, %142 ], [ 1, %116 ], [ %119, %118 ], [ 0, %111 ], [ %49, %108 ], [ %49, %129 ], [ %140, %137 ], [ %49, %120 ], [ %49, %143 ], [ 0, %144 ], [ %49, %172 ], [ %151, %146 ]
%58 = phi i32 [ %83, %79 ], [ 1, %104 ], [ 1, %96 ], [ %85, %84 ], [ %31, %141 ], [ %31, %181 ], [ %31, %169 ], [ %31, %170 ], [ %31, %171 ], [ %31, %142 ], [ 1, %116 ], [ 1, %118 ], [ 1, %111 ], [ %31, %108 ], [ 1, %129 ], [ 1, %137 ], [ %31, %120 ], [ %31, %143 ], [ 1, %144 ], [ %31, %172 ], [ 1, %146 ]
%59 = phi i32 [ %30, %79 ], [ %30, %104 ], [ %30, %96 ], [ %30, %84 ], [ %30, %141 ], [ %30, %181 ], [ 1, %169 ], [ 2, %170 ], [ 3, %171 ], [ %30, %142 ], [ %30, %116 ], [ %30, %118 ], [ %30, %111 ], [ %30, %108 ], [ %30, %129 ], [ %30, %137 ], [ %30, %120 ], [ %30, %143 ], [ %30, %144 ], [ %173, %172 ], [ %30, %146 ]
%60 = phi i8** [ %182, %79 ], [ %182, %104 ], [ %182, %96 ], [ %182, %84 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.goesc, i64 0, i64 0), %141 ], [ %182, %181 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.goutf8_continue, i64 0, i64 0), %169 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.goutf8_continue, i64 0, i64 0), %170 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.goutf8_continue, i64 0, i64 0), %171 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), %142 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), %116 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), %118 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), %111 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), %108 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), %129 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), %137 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), %120 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gobare, i64 0, i64 0), %143 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gobare, i64 0, i64 0), %144 ], [ %175, %172 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gobare, i64 0, i64 0), %146 ]
%61 = getelementptr inbounds i8, i8* %34, i64 1
%62 = icmp ult i8* %61, %24
br i1 %62, label %28, label %63
63: ; preds = %54
%64 = icmp eq i32 %58, 0
br i1 %64, label %179, label %176
65: ; preds = %181
%66 = ptrtoint i8* %34 to i64
%67 = ptrtoint i8* %2 to i64
%68 = sub i64 %66, %67
%69 = trunc i64 %68 to i32
br label %176
70: ; preds = %181
br i1 %39, label %71, label %79
71: ; preds = %70
%72 = icmp eq i32 %49, 0
br i1 %72, label %79, label %73
73: ; preds = %71
%74 = icmp eq i32 %49, 1
%75 = select i1 %27, i1 %74, i1 false
%76 = add nsw i32 %49, -1
%77 = select i1 %75, i8* %34, i8* %33
%78 = select i1 %75, i32 1, i32 %76
br label %79
79: ; preds = %73, %71, %70
%80 = phi i8* [ %35, %70 ], [ %34, %71 ], [ %35, %73 ]
%81 = phi i8* [ %33, %70 ], [ %33, %71 ], [ %77, %73 ]
%82 = phi i32 [ %49, %70 ], [ 0, %71 ], [ %78, %73 ]
%83 = add nsw i32 %31, 1
br label %54
84: ; preds = %181
%85 = add nsw i32 %31, -1
%86 = icmp eq i32 %85, 1
br i1 %86, label %87, label %54
87: ; preds = %84
%88 = icmp ne i32 %49, 0
%89 = select i1 %40, i1 true, i1 %88
br i1 %89, label %96, label %90
90: ; preds = %87
%91 = getelementptr inbounds i8, i8* %34, i64 1
%92 = ptrtoint i8* %91 to i64
%93 = ptrtoint i8* %35 to i64
%94 = sub i64 %92, %93
%95 = trunc i64 %94 to i32
br label %176
96: ; preds = %87
br i1 %25, label %54, label %97
97: ; preds = %96
%98 = icmp ne i8* %33, null
%99 = icmp eq i64 %44, %26
%100 = select i1 %98, i1 %99, i1 false
br i1 %100, label %101, label %104
101: ; preds = %97
%102 = tail call i32 @strncmp(i8* %0, i8* %33, i64 %26)
%103 = icmp eq i32 %102, 0
br label %104
104: ; preds = %101, %97
%105 = phi i1 [ false, %97 ], [ %103, %101 ]
%106 = xor i1 %105, true
%107 = zext i1 %106 to i32
br label %54
108: ; preds = %181
br i1 %39, label %109, label %54
109: ; preds = %108
%110 = icmp eq i32 %49, 0
br i1 %110, label %111, label %113
111: ; preds = %109
%112 = getelementptr inbounds i8, i8* %34, i64 1
br label %54
113: ; preds = %109
%114 = icmp eq i32 %49, 1
%115 = select i1 %27, i1 %114, i1 false
br i1 %115, label %116, label %118
116: ; preds = %113
%117 = getelementptr inbounds i8, i8* %34, i64 1
br label %54
118: ; preds = %113
%119 = add nsw i32 %49, -1
br label %54
120: ; preds = %181
br i1 %39, label %121, label %54
121: ; preds = %120
%122 = icmp ne i32 %49, 0
%123 = select i1 %40, i1 true, i1 %122
br i1 %123, label %129, label %124
124: ; preds = %121
%125 = ptrtoint i8* %34 to i64
%126 = ptrtoint i8* %35 to i64
%127 = sub i64 %125, %126
%128 = trunc i64 %127 to i32
br label %176
129: ; preds = %121
br i1 %25, label %54, label %130
130: ; preds = %129
%131 = icmp ne i8* %33, null
%132 = icmp eq i64 %44, %26
%133 = select i1 %131, i1 %132, i1 false
br i1 %133, label %134, label %137
134: ; preds = %130
%135 = tail call i32 @strncmp(i8* %0, i8* %33, i64 %26)
%136 = icmp eq i32 %135, 0
br label %137
137: ; preds = %134, %130
%138 = phi i1 [ false, %130 ], [ %136, %134 ]
%139 = xor i1 %138, true
%140 = zext i1 %139 to i32
br label %54
141: ; preds = %181
br label %54
142: ; preds = %181
br label %54
143: ; preds = %181
br i1 %39, label %144, label %54
144: ; preds = %143
%145 = icmp eq i32 %49, 0
br i1 %145, label %54, label %146
146: ; preds = %144
%147 = icmp eq i32 %49, 1
%148 = select i1 %27, i1 %147, i1 false
%149 = add nsw i32 %49, -1
%150 = select i1 %148, i8* %34, i8* %33
%151 = select i1 %148, i32 1, i32 %149
br label %54
152: ; preds = %181
br i1 %39, label %153, label %160
153: ; preds = %152
br i1 %53, label %159, label %154
154: ; preds = %153
%155 = ptrtoint i8* %34 to i64
%156 = ptrtoint i8* %35 to i64
%157 = sub i64 %155, %156
%158 = trunc i64 %157 to i32
br label %176
159: ; preds = %153
br i1 %25, label %160, label %161
160: ; preds = %159, %152
br label %181
161: ; preds = %159
br i1 %47, label %165, label %162
162: ; preds = %161
%163 = tail call i32 @strncmp(i8* %0, i8* %33, i64 %26)
%164 = icmp eq i32 %163, 0
br label %165
165: ; preds = %161, %162
%166 = phi i1 [ false, %161 ], [ %164, %162 ]
%167 = xor i1 %166, true
%168 = zext i1 %167 to i32
br label %48
169: ; preds = %181
br label %54
170: ; preds = %181
br label %54
171: ; preds = %181
br label %54
172: ; preds = %181
%173 = add nsw i32 %30, -1
%174 = icmp eq i32 %173, 0
%175 = select i1 %174, i8** getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostring, i64 0, i64 0), i8** %182
br label %54
176: ; preds = %63, %65, %90, %124, %154
%177 = phi i32 [ %158, %154 ], [ %128, %124 ], [ %95, %90 ], [ %69, %65 ], [ %3, %63 ]
%178 = phi i8* [ %35, %154 ], [ %35, %124 ], [ %35, %90 ], [ null, %65 ], [ null, %63 ]
store i32 %177, i32* %4
br label %179
179: ; preds = %176, %63, %13, %5
%180 = phi i8* [ null, %5 ], [ null, %13 ], [ null, %63 ], [ %178, %176 ]
ret i8* %180
181: ; preds = %160, %48
%182 = phi i8** [ %50, %48 ], [ getelementptr inbounds ([256 x i8*], [256 x i8*]* @js0n.gostruct, i64 0, i64 0), %160 ]
%183 = phi i8** [ %51, %48 ], [ %46, %160 ]
%184 = load i8*, i8** %183
indirectbr i8* %184, [label %65, label %142, label %172, label %171, label %170, label %169, label %54, label %141, label %120, label %152, label %84, label %70, label %143, label %108]
}