Other Linker Flags

优质
小牛编辑
126浏览
2023-12-01

链接静态库优化

Other Linker Flags (OTHER_LDFLAGS)作用效果及作用时机探究


一、准备

  • 文件目录结构

      .
      ├── OCStaticLib
      │   ├── OCTest.h
      │   ├── OCTest.m
      │   ├── OCTest.o
      │   ├── build.sh
      │   ├── libOCTest
      │   └── libOCTest.a
      ├── build.sh
      └── test.m
    
  • OCTest.m

    • 作为演示的静态库, 里面只提供了一个方法

      - (void)test:(_Nullable id)example {
          NSLog(@"__TestExample");
      }
      
  • test.m代码

    • 导入了OCTest.h, 但是并没有使用其任何功能(特意注释了代码来强调)

      #import <Foundation/Foundation.h>
      #import "OCTest.h"
      
      int main() {
          // OCTest *test = [OCTest new];
          // [test test:nil];
          NSLog(@"testApp ------");
          return 0;
      }
      
  • 外层的build.sh用来快速实现libOCTest.a链接, 并生成一个test的可执行文件

      # 链接OCTest到test.m中生成.o文件
      clang -x objective-c \
      -target x86_64-apple-macos11.1 \
      -fobjc-arc \
      -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk \
      -I./OCStaticLib \
      -c test.m \
      -o test.o
    
      # 将.o生成执行文件
      clang -target x86_64-apple-macos11.1 \
      -fobjc-arc \
      -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk \
      -L./OCStaticLib \
      -lOCTest \
      test.o -o test
    

二、执行脚本

  • 默认可能没有可执行脚本的权限, 需要先为其设置权限

      chmod +x ./build.sh
    

    然后在执行脚本即可

三、运行可执行文件

  • 利用脚本快速生成可执行文件后, 在终端进入lldb环境运行可执行文件来验证是否操作成功

      ❯ lldb
      (lldb) file test
      Current executable set to '/Users/shenyj/Documents/CodeForTest/lib/staticOCLib/test' (x86_64).
      (lldb) r
      Process 5606 launched: '/Users/shenyj/Documents/CodeForTest/lib/staticOCLib/test' (x86_64)
      2021-01-26 10:08:08.752770+0800 test[5606:120141] testApp ------
      Process 5606 exited with status = 0 (0x00000000)
      (lldb) q
    

    目前可以保证整个操作顺利进行

四、利用objdump查看可执行文件__TEXT

  • 执行objdump命令查看生成的可执行文件test

      ❯ objdump --macho -d test
    
  • 输出__TEXT

      test:
      (__TEXT,__text) section
      _main:
      100003f50:    55    pushq    %rbp
      100003f51:    48 89 e5    movq    %rsp, %rbp
      100003f54:    48 83 ec 10    subq    $16, %rsp
      100003f58:    48 8d 05 a9 00 00 00    leaq    169(%rip), %rax ## Objc cfstring ref: @"testApp ------"
      100003f5f:    c7 45 fc 00 00 00 00    movl    $0, -4(%rbp)
      100003f66:    48 89 c7    movq    %rax, %rdi
      100003f69:    b0 00    movb    $0, %al
      100003f6b:    e8 08 00 00 00    callq    0x100003f78 ## symbol stub for: _NSLog
      100003f70:    31 c0    xorl    %eax, %eax
      100003f72:    48 83 c4 10    addq    $16, %rsp
      100003f76:    5d    popq    %rbp
      100003f77:    c3    retq
    

    只看到一个_main函数的信息, 对这个结果先有个印象

    此时会默认执行noall_load, 没有使用的静态库不会被链接到可执行文件中 并没有OCTest这个静态库的方法

五、对比验证

  • test.m中注释掉的代码打开, 也就是打开OCTest这个类库的代码调用

  • 重复 步骤二 ~> 步骤四 的操作

  • 输出__TEXT

      test:
      (__TEXT,__text) section
      -[OCTest test:]:
      100003e80:    55    pushq    %rbp
      100003e81:    48 89 e5    movq    %rsp, %rbp
      100003e84:    48 83 ec 20    subq    $32, %rsp
      100003e88:    48 89 7d f8    movq    %rdi, -8(%rbp)
      100003e8c:    48 89 75 f0    movq    %rsi, -16(%rbp)
      100003e90:    48 c7 45 e8 00 00 00 00    movq    $0, -24(%rbp)
      100003e98:    48 8d 7d e8    leaq    -24(%rbp), %rdi
      100003e9c:    48 89 d6    movq    %rdx, %rsi
      100003e9f:    e8 a4 00 00 00    callq    0x100003f48 ## symbol stub for: _objc_storeStrong
      100003ea4:    48 8d 05 65 01 00 00    leaq    357(%rip), %rax ## Objc cfstring ref: @"__TestExample"
      100003eab:    48 89 c7    movq    %rax, %rdi
      100003eae:    b0 00    movb    $0, %al
      100003eb0:    e8 87 00 00 00    callq    0x100003f3c ## symbol stub for: _NSLog
      100003eb5:    31 c9    xorl    %ecx, %ecx
      100003eb7:    89 ce    movl    %ecx, %esi
      100003eb9:    48 8d 7d e8    leaq    -24(%rbp), %rdi
      100003ebd:    e8 86 00 00 00    callq    0x100003f48 ## symbol stub for: _objc_storeStrong
      100003ec2:    48 83 c4 20    addq    $32, %rsp
      100003ec6:    5d    popq    %rbp
      100003ec7:    c3    retq
      100003ec8:    90    nop
      100003ec9:    90    nop
      100003eca:    90    nop
      100003ecb:    90    nop
      100003ecc:    90    nop
      100003ecd:    90    nop
      100003ece:    90    nop
      100003ecf:    90    nop
      _main:
      100003ed0:    55    pushq    %rbp
      100003ed1:    48 89 e5    movq    %rsp, %rbp
      100003ed4:    48 83 ec 10    subq    $16, %rsp
      100003ed8:    c7 45 fc 00 00 00 00    movl    $0, -4(%rbp)
      100003edf:    48 8b 05 ea 41 00 00    movq    16874(%rip), %rax ## Objc class ref: OCTest
      100003ee6:    48 89 c7    movq    %rax, %rdi
      100003ee9:    e8 54 00 00 00    callq    0x100003f42 ## symbol stub for: _objc_opt_new
      100003eee:    31 c9    xorl    %ecx, %ecx
      100003ef0:    89 ca    movl    %ecx, %edx
      100003ef2:    48 89 45 f0    movq    %rax, -16(%rbp)
      100003ef6:    48 8b 45 f0    movq    -16(%rbp), %rax
      100003efa:    48 8b 35 c7 41 00 00    movq    16839(%rip), %rsi ## Objc selector ref: test:
      100003f01:    48 89 c7    movq    %rax, %rdi
      100003f04:    ff 15 f6 00 00 00    callq    *246(%rip) ## Objc message: +[OCTest test:]
      100003f0a:    48 8d 05 1f 01 00 00    leaq    287(%rip), %rax ## Objc cfstring ref: @"testApp ------"
      100003f11:    48 89 c7    movq    %rax, %rdi
      100003f14:    b0 00    movb    $0, %al
      100003f16:    e8 21 00 00 00    callq    0x100003f3c ## symbol stub for: _NSLog
      100003f1b:    31 c9    xorl    %ecx, %ecx
      100003f1d:    89 ce    movl    %ecx, %esi
      100003f1f:    c7 45 fc 00 00 00 00    movl    $0, -4(%rbp)
      100003f26:    48 8d 55 f0    leaq    -16(%rbp), %rdx
      100003f2a:    48 89 d7    movq    %rdx, %rdi
      100003f2d:    e8 16 00 00 00    callq    0x100003f48 ## symbol stub for: _objc_storeStrong
      100003f32:    8b 45 fc    movl    -4(%rbp), %eax
      100003f35:    48 83 c4 10    addq    $16, %rsp
      100003f39:    5d    popq    %rbp
      100003f3a:    c3    retq
    

通过对比发现, 在引入类库并使用其代码后, 编译链接生成的可执行文件代码变多了
链接的过程中, 会将所有的.o合并到一起 在链接静态库时, 链接器默认参数noall_load
所以没有被使用的静态库不会被链接到可执行文件中

  • 链接器为我们提供的参数

    • -all_load: Loads all members of static archive libraries.
    • -ObjC: Loads all members of static archive libraries that implement an Objective-C class or category.
    • -force_load: path_to_archive Loads all members of the specified static archive library. Note: -all_load: forces all members of all archives to be loaded. This option allows you to target a specific archive.
    • -noall_load: This is the default. This option is obsolete.

      这4种参数只作用于静态库, ld(链接器)在链接静态库时做的代码剥离
      -noall_load是默认参数

如果我们希望将未使用的静态库链接到可执行文件中, 可以通过-all_load参数告诉编译器不要做优化


验证-all_load参数

  1. 在脚本中增加-Xlinker -all_load参数

     SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk
    
     # 链接OCTest到test.m中生成.o文件
     clang -x objective-c \
     -target x86_64-apple-macos11.1 \
     -fobjc-arc \
     -isysroot $SYSROOT \
     -I./OCStaticLib \
     -c test.m \
     -o test.o
    
     # 将.o生成执行文件
     clang -target x86_64-apple-macos11.1 \
     -fobjc-arc \
     -isysroot $SYSROOT \
     -Xlinker -all_load \
     -L./OCStaticLib \
     -lOCTest \
     test.o -o test
    

    通过增加了-Xlinker -all_load参数, 那么即便没有使用libOCTest.a这个静态库, 也会被链接到可执行文件中
    生成可执行文件后再通过objdump来看一下执行文件, 不做任何代码优化剥离后的内容

  2. 因为使用了-all_load,信息较多, 通过终端输出不便于查找, 这里输出到一个txt文本中查看

     test:
     (__TEXT,__text) section
     -[OCTest test:]:
     100001220:    55    pushq    %rbp
     100001221:    48 89 e5    movq    %rsp, %rbp
     100001224:    48 83 ec 20    subq    $32, %rsp
     100001228:    48 89 7d f8    movq    %rdi, -8(%rbp)
     10000122c:    48 89 75 f0    movq    %rsi, -16(%rbp)
     100001230:    48 c7 45 e8 00 00 00 00    movq    $0, -24(%rbp)
     100001238:    48 8d 7d e8    leaq    -24(%rbp), %rdi
     10000123c:    48 89 d6    movq    %rdx, %rsi
     10000123f:    e8 9e 20 00 00    callq    0x1000032e2 ## symbol stub for: _objc_storeStrong
     100001244:    48 8d 05 cd 2d 00 00    leaq    11725(%rip), %rax ## Objc cfstring ref: @"__TestExample"
     10000124b:    48 89 c7    movq    %rax, %rdi
     10000124e:    b0 00    movb    $0, %al
     100001250:    e8 1b 20 00 00    callq    0x100003270 ## symbol stub for: _NSLog
     100001255:    31 c9    xorl    %ecx, %ecx
     100001257:    89 ce    movl    %ecx, %esi
     100001259:    48 8d 7d e8    leaq    -24(%rbp), %rdi
     10000125d:    e8 80 20 00 00    callq    0x1000032e2 ## symbol stub for: _objc_storeStrong
     100001262:    48 83 c4 20    addq    $32, %rsp
     100001266:    5d    popq    %rbp
     100001267:    c3    retq
     100001268:    90    nop
     100001269:    90    nop
     10000126a:    90    nop
     10000126b:    90    nop
     10000126c:    90    nop
     10000126d:    90    nop
     10000126e:    90    nop
     10000126f:    90    nop
     _main:
     100001270:    55    pushq    %rbp
     100001271:    48 89 e5    movq    %rsp, %rbp
     100001274:    48 83 ec 10    subq    $16, %rsp
     100001278:    48 8d 05 b9 2d 00 00    leaq    11705(%rip), %rax ## Objc cfstring ref: @"testApp ------"
     10000127f:    c7 45 fc 00 00 00 00    movl    $0, -4(%rbp)
     100001286:    48 89 c7    movq    %rax, %rdi
     100001289:    b0 00    movb    $0, %al
     10000128b:    e8 e0 1f 00 00    callq    0x100003270 ## symbol stub for: _NSLog
     100001290:    31 c0    xorl    %eax, %eax
     100001292:    48 83 c4 10    addq    $16, %rsp
     100001296:    5d    popq    %rbp
     100001297:    c3    retq
     100001298:    90    nop
     100001299:    90    nop
     10000129a:    90    nop
     10000129b:    90    nop
     10000129c:    90    nop
     10000129d:    90    nop
     10000129e:    90    nop
     10000129f:    90    nop
     ___multc3:
     1000012a0:    48 81 ec a8 00 00 00    subq    $168, %rsp
     1000012a7:    db ac 24 e0 00 00 00    fldt    224(%rsp)
     1000012ae:    db ac 24 d0 00 00 00    fldt    208(%rsp)
     1000012b5:    db ac 24 c0 00 00 00    fldt    192(%rsp)
     1000012bc:    db ac 24 b0 00 00 00    fldt    176(%rsp)
     1000012c3:    d9 c0    fld    %st(0)
     1000012c5:    d8 cb    fmul    %st(3), %st
     1000012c7:    d9 c2    fld    %st(2)
     1000012c9:    d8 cd    fmul    %st(5), %st
     1000012cb:    d9 c5    fld    %st(5)
     1000012cd:    db 7c 24 98    fstpt    -104(%rsp)
     1000012d1:    d9 cd    fxch    %st(5)
     1000012d3:    d8 ca    fmul    %st(2), %st
     1000012d5:    d9 c4    fld    %st(4)
     1000012d7:    db 7c 24 8c    fstpt    -116(%rsp)
     1000012db:    d9 cc    fxch    %st(4)
     1000012dd:    d8 cb    fmul    %st(3), %st
     1000012df:    d9 c5    fld    %st(5)
     1000012e1:    db 7c 24 a4    fstpt    -92(%rsp)
     1000012e5:    d9 cd    fxch    %st(5)
     1000012e7:    d8 e9    fsubr    %st(1), %st
     1000012e9:    d9 c4    fld    %st(4)
     1000012eb:    db bc 24 9c 00 00 00    fstpt    156(%rsp)
     1000012f2:    d9 c5    fld    %st(5)
     1000012f4:    db bc 24 90 00 00 00    fstpt    144(%rsp)
     1000012fb:    d9 cd    fxch    %st(5)
     1000012fd:    de c4    faddp    %st, %st(4)
     1000012ff:    d9 cc    fxch    %st(4)
     100001301:    db e8    fucomi    %st(0), %st
     100001303:    7b 5a    jnp    0x10000135f
     100001305:    d9 cb    fxch    %st(3)
     100001307:    db e8    fucomi    %st(0), %st
     100001309:    7b 5f    jnp    0x10000136a
     10000130b:    d9 cc    fxch    %st(4)
     10000130d:    db 7c 24 78    fstpt    120(%rsp)
     100001311:    d9 cb    fxch    %st(3)
     100001313:    db 7c 24 6c    fstpt    108(%rsp)
     100001317:    d9 c9    fxch    %st(1)
     100001319:    db bc 24 84 00 00 00    fstpt    132(%rsp)
     100001320:    d9 c1    fld    %st(1)
     100001322:    d9 e1    fabs
     100001324:    d9 05 8a 24 00 00    flds    9354(%rip)
     10000132a:    d9 c9    fxch    %st(1)
     10000132c:    db e9    fucomi    %st(1), %st
     10000132e:    dd d9    fstp    %st(1)
     100001330:    d9 c1    fld    %st(1)
     100001332:    d9 e1    fabs
     100001334:    73 4f    jae    0x100001385
     100001336:    31 c0    xorl    %eax, %eax
     100001338:    d9 05 76 24 00 00    flds    9334(%rip)
     10000133e:    d9 c9    fxch    %st(1)
     100001340:    db e9    fucomi    %st(1), %st
     100001342:    dd d9    fstp    %st(1)
     100001344:    73 3f    jae    0x100001385
     100001346:    dd d8    fstp    %st(0)
     100001348:    dd d8    fstp    %st(0)
     10000134a:    db 6c 24 98    fldt    -104(%rsp)
     10000134e:    db 6c 24 8c    fldt    -116(%rsp)
     100001352:    d9 c9    fxch    %st(1)
     100001354:    d9 cb    fxch    %st(3)
     100001356:    d9 ca    fxch    %st(2)
     100001358:    d9 c9    fxch    %st(1)
     10000135a:    e9 b5 00 00 00    jmp    0x100001414
     10000135f:    dd da    fstp    %st(2)
     100001361:    dd d8    fstp    %st(0)
     100001363:    dd da    fstp    %st(2)
     100001365:    e9 a5 01 00 00    jmp    0x10000150f
     10000136a:    dd da    fstp    %st(2)
     10000136c:    dd d8    fstp    %st(0)
     10000136e:    dd da    fstp    %st(2)
     100001370:    d9 ee    fldz
     100001372:    d9 ee    fldz
     100001374:    d9 ee    fldz
     100001376:    d9 ee    fldz
     100001378:    d9 ee    fldz
     10000137a:    d9 cd    fxch    %st(5)
     10000137c:    d9 ce    fxch    %st(6)
     10000137e:    d9 cd    fxch    %st(5)
     100001380:    e9 94 01 00 00    jmp    0x100001519
     100001385:    d9 05 29 24 00 00    flds    9257(%rip)
     10000138b:    d9 ca    fxch    %st(2)
     10000138d:    df ea    fucompi    %st(2), %st
     10000138f:    d9 e8    fld1
     100001391:    d9 ee    fldz
     100001393:    d9 c0    fld    %st(0)
     100001395:    db c2    fcmovnb    %st(2), %st
     100001397:    d9 ce    fxch    %st(6)
     100001399:    db 7c 24 60    fstpt    96(%rsp)
     10000139d:    d9 cd    fxch    %st(5)
     10000139f:    d9 e1    fabs
     1000013a1:    f6 44 24 69 80    testb    $-128, 105(%rsp)
     1000013a6:    d9 c0    fld    %st(0)
     1000013a8:    d9 e0    fchs
     1000013aa:    d9 c9    fxch    %st(1)
     1000013ac:    db c9    fcmovne    %st(1), %st
     1000013ae:    dd d9    fstp    %st(1)
     1000013b0:    d9 ca    fxch    %st(2)
     1000013b2:    df eb    fucompi    %st(3), %st
     1000013b4:    dd da    fstp    %st(2)
     1000013b6:    d9 c3    fld    %st(3)
     1000013b8:    db c2    fcmovnb    %st(2), %st
     1000013ba:    dd da    fstp    %st(2)
     1000013bc:    d9 ca    fxch    %st(2)
     1000013be:    db 7c 24 50    fstpt    80(%rsp)
     1000013c2:    d9 e1    fabs
     1000013c4:    f6 44 24 59 80    testb    $-128, 89(%rsp)
     1000013c9:    d9 c0    fld    %st(0)
     1000013cb:    d9 e0    fchs
     1000013cd:    d9 c9    fxch    %st(1)
     1000013cf:    db c9    fcmovne    %st(1), %st
     1000013d1:    dd d9    fstp    %st(1)
     1000013d3:    db 6c 24 8c    fldt    -116(%rsp)
     1000013d7:    d9 c0    fld    %st(0)
     1000013d9:    db 7c 24 30    fstpt    48(%rsp)
     1000013dd:    f6 44 24 39 80    testb    $-128, 57(%rsp)
     1000013e2:    d9 c3    fld    %st(3)
     1000013e4:    d9 e0    fchs
     1000013e6:    d9 c4    fld    %st(4)
     1000013e8:    db c9    fcmovne    %st(1), %st
     1000013ea:    d9 ca    fxch    %st(2)
     1000013ec:    db e8    fucomi    %st(0), %st
     1000013ee:    da da    fcmovu    %st(2), %st
     1000013f0:    dd da    fstp    %st(2)
     1000013f2:    db 6c 24 98    fldt    -104(%rsp)
     1000013f6:    d9 c0    fld    %st(0)
     1000013f8:    db 7c 24 40    fstpt    64(%rsp)
     1000013fc:    f6 44 24 49 80    testb    $-128, 73(%rsp)
     100001401:    d9 cd    fxch    %st(5)
     100001403:    db c9    fcmovne    %st(1), %st
     100001405:    dd d9    fstp    %st(1)
     100001407:    d9 cc    fxch    %st(4)
     100001409:    db e8    fucomi    %st(0), %st
     10000140b:    da dc    fcmovu    %st(4), %st
     10000140d:    dd dc    fstp    %st(4)
     10000140f:    b8 01 00 00 00    movl    $1, %eax
     100001414:    d9 c0    fld    %st(0)
     100001416:    d9 e1    fabs
     100001418:    d9 c4    fld    %st(4)
     10000141a:    d9 e1    fabs
     10000141c:    d9 05 92 23 00 00    flds    9106(%rip)
     100001422:    d9 c9    fxch    %st(1)
     100001424:    db e9    fucomi    %st(1), %st
     100001426:    dd d9    fstp    %st(1)
     100001428:    73 23    jae    0x10000144d
     10000142a:    d9 05 84 23 00 00    flds    9092(%rip)
     100001430:    d9 ca    fxch    %st(2)
     100001432:    db ea    fucomi    %st(2), %st
     100001434:    dd da    fstp    %st(2)
     100001436:    73 15    jae    0x10000144d
     100001438:    dd d9    fstp    %st(1)
     10000143a:    dd d8    fstp    %st(0)
     10000143c:    85 c0    testl    %eax, %eax
     10000143e:    0f 84 e9 00 00 00    je    0x10000152d
     100001444:    d9 cb    fxch    %st(3)
     100001446:    d9 c9    fxch    %st(1)
     100001448:    e9 a4 00 00 00    jmp    0x1000014f1
     10000144d:    d9 05 61 23 00 00    flds    9057(%rip)
     100001453:    d9 c0    fld    %st(0)
     100001455:    db 7c 24 98    fstpt    -104(%rsp)
     100001459:    d9 ca    fxch    %st(2)
     10000145b:    df ea    fucompi    %st(2), %st
     10000145d:    dd d9    fstp    %st(1)
     10000145f:    d9 e8    fld1
     100001461:    d9 c0    fld    %st(0)
     100001463:    db 7c 24 a4    fstpt    -92(%rsp)
     100001467:    d9 c9    fxch    %st(1)
     100001469:    db 7c 24 8c    fstpt    -116(%rsp)
     10000146d:    d9 ee    fldz
     10000146f:    d9 c0    fld    %st(0)
     100001471:    db c2    fcmovnb    %st(2), %st
     100001473:    dd da    fstp    %st(2)
     100001475:    d9 ca    fxch    %st(2)
     100001477:    db 7c 24 e0    fstpt    -32(%rsp)
     10000147b:    d9 e1    fabs
     10000147d:    f6 44 24 e9 80    testb    $-128, -23(%rsp)
     100001482:    d9 c0    fld    %st(0)
     100001484:    d9 e0    fchs
     100001486:    d9 c9    fxch    %st(1)
     100001488:    db c9    fcmovne    %st(1), %st
     10000148a:    dd d9    fstp    %st(1)
     10000148c:    db 6c 24 98    fldt    -104(%rsp)
     100001490:    db 6c 24 8c    fldt    -116(%rsp)
     100001494:    df e9    fucompi    %st(1), %st
     100001496:    dd d8    fstp    %st(0)
     100001498:    d9 c1    fld    %st(1)
     10000149a:    db 6c 24 a4    fldt    -92(%rsp)
     10000149e:    d9 c9    fxch    %st(1)
     1000014a0:    db c1    fcmovnb    %st(1), %st
     1000014a2:    dd d9    fstp    %st(1)
     1000014a4:    d9 cd    fxch    %st(5)
     1000014a6:    db 7c 24 d0    fstpt    -48(%rsp)
     1000014aa:    d9 cc    fxch    %st(4)
     1000014ac:    d9 e1    fabs
     1000014ae:    f6 44 24 d9 80    testb    $-128, -39(%rsp)
     1000014b3:    d9 c0    fld    %st(0)
     1000014b5:    d9 e0    fchs
     1000014b7:    d9 c9    fxch    %st(1)
     1000014b9:    db c9    fcmovne    %st(1), %st
     1000014bb:    dd d9    fstp    %st(1)
     1000014bd:    d9 c3    fld    %st(3)
     1000014bf:    db 7c 24 b0    fstpt    -80(%rsp)
     1000014c3:    f6 44 24 b9 80    testb    $-128, -71(%rsp)
     1000014c8:    d9 c1    fld    %st(1)
     1000014ca:    d9 e0    fchs
     1000014cc:    d9 c2    fld    %st(2)
     1000014ce:    db c9    fcmovne    %st(1), %st
     1000014d0:    d9 cd    fxch    %st(5)
     1000014d2:    db e8    fucomi    %st(0), %st
     1000014d4:    da dd    fcmovu    %st(5), %st
     1000014d6:    dd dd    fstp    %st(5)
     1000014d8:    d9 c3    fld    %st(3)
     1000014da:    db 7c 24 c0    fstpt    -64(%rsp)
     1000014de:    f6 44 24 c9 80    testb    $-128, -55(%rsp)
     1000014e3:    d9 ca    fxch    %st(2)
     1000014e5:    db ca    fcmovne    %st(2), %st
     1000014e7:    dd da    fstp    %st(2)
     1000014e9:    d9 ca    fxch    %st(2)
     1000014eb:    db e8    fucomi    %st(0), %st
     1000014ed:    da d9    fcmovu    %st(1), %st
     1000014ef:    dd d9    fstp    %st(1)
     1000014f1:    d9 c3    fld    %st(3)
     1000014f3:    d8 cb    fmul    %st(3), %st
     1000014f5:    d9 c2    fld    %st(2)
     1000014f7:    d8 ca    fmul    %st(2), %st
     1000014f9:    de e9    fsubrp    %st, %st(1)
     1000014fb:    d9 05 b3 22 00 00    flds    8883(%rip)
     100001501:    dc c9    fmul    %st, %st(1)
     100001503:    d9 cb    fxch    %st(3)
     100001505:    de cc    fmulp    %st, %st(4)
     100001507:    d9 cc    fxch    %st(4)
     100001509:    de c9    fmulp    %st, %st(1)
     10000150b:    de c2    faddp    %st, %st(2)
     10000150d:    de c9    fmulp    %st, %st(1)
     10000150f:    d9 ee    fldz
     100001511:    d9 ee    fldz
     100001513:    d9 ee    fldz
     100001515:    d9 ee    fldz
     100001517:    d9 ee    fldz
     100001519:    dd dc    fstp    %st(4)
     10000151b:    dd da    fstp    %st(2)
     10000151d:    dd d8    fstp    %st(0)
     10000151f:    dd d8    fstp    %st(0)
     100001521:    dd d8    fstp    %st(0)
     100001523:    d9 c9    fxch    %st(1)
     100001525:    48 81 c4 a8 00 00 00    addq    $168, %rsp
     10000152c:    c3    retq
     10000152d:    db 6c 24 78    fldt    120(%rsp)
     100001531:    d9 e1    fabs
     100001533:    db 7c 24 98    fstpt    -104(%rsp)
     100001537:    db 6c 24 a4    fldt    -92(%rsp)
     10000153b:    d9 e1    fabs
     10000153d:    db 7c 24 8c    fstpt    -116(%rsp)
     100001541:    db ac 24 9c 00 00 00    fldt    156(%rsp)
     100001548:    d9 e1    fabs
     10000154a:    db ac 24 90 00 00 00    fldt    144(%rsp)
     100001551:    d9 e1    fabs
     100001553:    d9 05 5b 22 00 00    flds    8795(%rip)
     100001559:    d9 c9    fxch    %st(1)
     10000155b:    df e9    fucompi    %st(1), %st
     10000155d:    dd d8    fstp    %st(0)
     10000155f:    db ac 24 84 00 00 00    fldt    132(%rsp)
     100001566:    d9 ee    fldz
     100001568:    d9 c9    fxch    %st(1)
     10000156a:    d9 ce    fxch    %st(6)
     10000156c:    d9 c9    fxch    %st(1)
     10000156e:    d9 cd    fxch    %st(5)
     100001570:    d9 c9    fxch    %st(1)
     100001572:    d9 cc    fxch    %st(4)
     100001574:    d9 ca    fxch    %st(2)
     100001576:    73 5c    jae    0x1000015d4
     100001578:    dd dd    fstp    %st(5)
     10000157a:    d9 05 34 22 00 00    flds    8756(%rip)
     100001580:    d9 cd    fxch    %st(5)
     100001582:    df ed    fucompi    %st(5), %st
     100001584:    dd dc    fstp    %st(4)
     100001586:    d9 ee    fldz
     100001588:    d9 ee    fldz
     10000158a:    d9 c9    fxch    %st(1)
     10000158c:    d9 cd    fxch    %st(5)
     10000158e:    d9 c9    fxch    %st(1)
     100001590:    73 42    jae    0x1000015d4
     100001592:    dd dd    fstp    %st(5)
     100001594:    dd dc    fstp    %st(4)
     100001596:    d9 05 18 22 00 00    flds    8728(%rip)
     10000159c:    db 6c 24 98    fldt    -104(%rsp)
     1000015a0:    df e9    fucompi    %st(1), %st
     1000015a2:    dd d8    fstp    %st(0)
     1000015a4:    d9 ee    fldz
     1000015a6:    d9 ee    fldz
     1000015a8:    d9 c9    fxch    %st(1)
     1000015aa:    d9 cd    fxch    %st(5)
     1000015ac:    d9 c9    fxch    %st(1)
     1000015ae:    73 24    jae    0x1000015d4
     1000015b0:    dd dd    fstp    %st(5)
     1000015b2:    dd dc    fstp    %st(4)
     1000015b4:    d9 05 fa 21 00 00    flds    8698(%rip)
     1000015ba:    db 6c 24 8c    fldt    -116(%rsp)
     1000015be:    df e9    fucompi    %st(1), %st
     1000015c0:    dd d8    fstp    %st(0)
     1000015c2:    db 6c 24 6c    fldt    108(%rsp)
     1000015c6:    d9 ee    fldz
     1000015c8:    d9 c9    fxch    %st(1)
     1000015ca:    d9 cd    fxch    %st(5)
     1000015cc:    d9 c9    fxch    %st(1)
     1000015ce:    0f 82 45 ff ff ff    jb    0x100001519
     1000015d4:    dd dd    fstp    %st(5)
     1000015d6:    dd dc    fstp    %st(4)
     1000015d8:    dd dc    fstp    %st(4)
     1000015da:    d9 c2    fld    %st(2)
     1000015dc:    db 7c 24 f0    fstpt    -16(%rsp)
     1000015e0:    f6 44 24 f9 80    testb    $-128, -7(%rsp)
     1000015e5:    d9 ee    fldz
     1000015e7:    d9 c0    fld    %st(0)
     1000015e9:    d9 e0    fchs
     1000015eb:    d9 c1    fld    %st(1)
     1000015ed:    db c9    fcmovne    %st(1), %st
     1000015ef:    d9 cd    fxch    %st(5)
     1000015f1:    db e8    fucomi    %st(0), %st
     1000015f3:    da dd    fcmovu    %st(5), %st
     1000015f5:    dd dd    fstp    %st(5)
     1000015f7:    d9 c5    fld    %st(5)
     1000015f9:    db 3c 24    fstpt    (%rsp)
     1000015fc:    f6 44 24 09 80    testb    $-128, 9(%rsp)
     100001601:    d9 c1    fld    %st(1)
     100001603:    db c9    fcmovne    %st(1), %st
     100001605:    d9 ce    fxch    %st(6)
     100001607:    db e8    fucomi    %st(0), %st
     100001609:    da de    fcmovu    %st(6), %st
     10000160b:    dd de    fstp    %st(6)
     10000160d:    d9 c2    fld    %st(2)
     10000160f:    db 7c 24 10    fstpt    16(%rsp)
     100001613:    f6 44 24 19 80    testb    $-128, 25(%rsp)
     100001618:    d9 c1    fld    %st(1)
     10000161a:    db c9    fcmovne    %st(1), %st
     10000161c:    d9 cb    fxch    %st(3)
     10000161e:    db e8    fucomi    %st(0), %st
     100001620:    da db    fcmovu    %st(3), %st
     100001622:    dd db    fstp    %st(3)
     100001624:    d9 c3    fld    %st(3)
     100001626:    db 7c 24 20    fstpt    32(%rsp)
     10000162a:    f6 44 24 29 80    testb    $-128, 41(%rsp)
     10000162f:    d9 c9    fxch    %st(1)
     100001631:    db c9    fcmovne    %st(1), %st
     100001633:    dd d9    fstp    %st(1)
     100001635:    d9 ca    fxch    %st(2)
     100001637:    db e8    fucomi    %st(0), %st
     100001639:    da da    fcmovu    %st(2), %st
     10000163b:    dd da    fstp    %st(2)
     10000163d:    d9 cb    fxch    %st(3)
     10000163f:    e9 ad fe ff ff    jmp    0x1000014f1
     100001644:    90    nop
     100001645:    90    nop
     100001646:    90    nop
     100001647:    90    nop
     100001648:    90    nop
     100001649:    90    nop
     10000164a:    90    nop
     10000164b:    90    nop
     10000164c:    90    nop
     10000164d:    90    nop
     10000164e:    90    nop
     10000164f:    90    nop
     ___bswapdi2:
     100001650:    48 89 f8    movq    %rdi, %rax
     100001653:    48 0f c8    bswapq    %rax
     100001656:    c3    retq
     100001657:    90    nop
     100001658:    90    nop
     100001659:    90    nop
     10000165a:    90    nop
     10000165b:    90    nop
     10000165c:    90    nop
     10000165d:    90    nop
     10000165e:    90    nop
     10000165f:    90    nop
     ___bswapsi2:
     100001660:    89 f8    movl    %edi, %eax
     100001662:    0f c8    bswapl    %eax
     100001664:    c3    retq
     100001665:    90    nop
     100001666:    90    nop
     100001667:    90    nop
     100001668:    90    nop
     100001669:    90    nop
     10000166a:    90    nop
     10000166b:    90    nop
     10000166c:    90    nop
     10000166d:    90    nop
     10000166e:    90    nop
     10000166f:    90    nop
     ___divtc3:
     100001670:    53    pushq    %rbx
     100001671:    48 81 ec e0 00 00 00    subq    $224, %rsp
     100001678:    db ac 24 20 01 00 00    fldt    288(%rsp)
     10000167f:    db ac 24 10 01 00 00    fldt    272(%rsp)
     100001686:    db ac 24 00 01 00 00    fldt    256(%rsp)
     10000168d:    db 7c 24 30    fstpt    48(%rsp)
     100001691:    db ac 24 f0 00 00 00    fldt    240(%rsp)
     100001698:    db 7c 24 3c    fstpt    60(%rsp)
     10000169c:    d9 c0    fld    %st(0)
     10000169e:    db 7c 24 24    fstpt    36(%rsp)
     1000016a2:    d9 e1    fabs
     1000016a4:    d9 c1    fld    %st(1)
     1000016a6:    db 7c 24 54    fstpt    84(%rsp)
     1000016aa:    d9 c9    fxch    %st(1)
     1000016ac:    d9 e1    fabs
     1000016ae:    db 7c 24 10    fstpt    16(%rsp)
     1000016b2:    db 3c 24    fstpt    (%rsp)
     1000016b5:    e8 ec 1b 00 00    callq    0x1000032a6 ## symbol stub for: _fmaxl
     1000016ba:    db 3c 24    fstpt    (%rsp)
     1000016bd:    e8 08 1c 00 00    callq    0x1000032ca ## symbol stub for: _logbl
     1000016c2:    d9 c0    fld    %st(0)
     1000016c4:    d9 e1    fabs
     1000016c6:    d9 05 e8 20 00 00    flds    8424(%rip)
     1000016cc:    d9 c1    fld    %st(1)
     1000016ce:    db bc 24 c8 00 00 00    fstpt    200(%rsp)
     1000016d5:    d9 c9    fxch    %st(1)
     1000016d7:    df e9    fucompi    %st(1), %st
     1000016d9:    dd d8    fstp    %st(0)
     1000016db:    d9 c0    fld    %st(0)
     1000016dd:    db bc 24 d4 00 00 00    fstpt    212(%rsp)
     1000016e4:    74 2c    je    0x100001712
     1000016e6:    db 4c 24 60    fisttpl    96(%rsp)
     1000016ea:    31 db    xorl    %ebx, %ebx
     1000016ec:    2b 5c 24 60    subl    96(%rsp), %ebx
     1000016f0:    db 6c 24 24    fldt    36(%rsp)
     1000016f4:    db 3c 24    fstpt    (%rsp)
     1000016f7:    89 df    movl    %ebx, %edi
     1000016f9:    e8 1a 1c 00 00    callq    0x100003318 ## symbol stub for: _scalbnl
     1000016fe:    db 7c 24 24    fstpt    36(%rsp)
     100001702:    db 6c 24 54    fldt    84(%rsp)
     100001706:    db 3c 24    fstpt    (%rsp)
     100001709:    89 df    movl    %ebx, %edi
     10000170b:    e8 08 1c 00 00    callq    0x100003318 ## symbol stub for: _scalbnl
     100001710:    eb 08    jmp    0x10000171a
     100001712:    dd d8    fstp    %st(0)
     100001714:    31 db    xorl    %ebx, %ebx
     100001716:    db 6c 24 54    fldt    84(%rsp)
     10000171a:    d9 c0    fld    %st(0)
     10000171c:    db 7c 24 54    fstpt    84(%rsp)
     100001720:    db 6c 24 24    fldt    36(%rsp)
     100001724:    d9 c0    fld    %st(0)
     100001726:    db 7c 24 24    fstpt    36(%rsp)
     10000172a:    d9 c0    fld    %st(0)
     10000172c:    d8 c9    fmul    %st(1), %st
     10000172e:    d9 c2    fld    %st(2)
     100001730:    d8 cb    fmul    %st(3), %st
     100001732:    de c1    faddp    %st, %st(1)
     100001734:    d9 c0    fld    %st(0)
     100001736:    db 7c 24 64    fstpt    100(%rsp)
     10000173a:    db 6c 24 3c    fldt    60(%rsp)
     10000173e:    de ca    fmulp    %st, %st(2)
     100001740:    db 6c 24 30    fldt    48(%rsp)
     100001744:    de cb    fmulp    %st, %st(3)
     100001746:    d9 ca    fxch    %st(2)
     100001748:    de c1    faddp    %st, %st(1)
     10000174a:    de f1    fdivp    %st, %st(1)
     10000174c:    db 3c 24    fstpt    (%rsp)
     10000174f:    89 df    movl    %ebx, %edi
     100001751:    e8 c2 1b 00 00    callq    0x100003318 ## symbol stub for: _scalbnl
     100001756:    db 7c 24 48    fstpt    72(%rsp)
     10000175a:    db 6c 24 24    fldt    36(%rsp)
     10000175e:    db 6c 24 30    fldt    48(%rsp)
     100001762:    de c9    fmulp    %st, %st(1)
     100001764:    db 6c 24 54    fldt    84(%rsp)
     100001768:    db 6c 24 3c    fldt    60(%rsp)
     10000176c:    de c9    fmulp    %st, %st(1)
     10000176e:    de e9    fsubrp    %st, %st(1)
     100001770:    db 6c 24 64    fldt    100(%rsp)
     100001774:    de f9    fdivrp    %st, %st(1)
     100001776:    db 3c 24    fstpt    (%rsp)
     100001779:    89 df    movl    %ebx, %edi
     10000177b:    e8 98 1b 00 00    callq    0x100003318 ## symbol stub for: _scalbnl
     100001780:    db 6c 24 48    fldt    72(%rsp)
     100001784:    db e8    fucomi    %st(0), %st
     100001786:    0f 8b 20 02 00 00    jnp    0x1000019ac
     10000178c:    d9 c9    fxch    %st(1)
     10000178e:    db e8    fucomi    %st(0), %st
     100001790:    0f 8b c3 01 00 00    jnp    0x100001959
     100001796:    dd d9    fstp    %st(1)
     100001798:    d9 ee    fldz
     10000179a:    db 6c 24 64    fldt    100(%rsp)
     10000179e:    df e9    fucompi    %st(1), %st
     1000017a0:    dd d8    fstp    %st(0)
     1000017a2:    75 1a    jne    0x1000017be
     1000017a4:    7a 18    jp    0x1000017be
     1000017a6:    db 6c 24 3c    fldt    60(%rsp)
     1000017aa:    df e8    fucompi    %st(0), %st
     1000017ac:    0f 8b b5 01 00 00    jnp    0x100001967
     1000017b2:    db 6c 24 30    fldt    48(%rsp)
     1000017b6:    df e8    fucompi    %st(0), %st
     1000017b8:    0f 8b a9 01 00 00    jnp    0x100001967
     1000017be:    db 6c 24 3c    fldt    60(%rsp)
     1000017c2:    d9 e1    fabs
     1000017c4:    d9 05 ea 1f 00 00    flds    8170(%rip)
     1000017ca:    d9 c9    fxch    %st(1)
     1000017cc:    db e9    fucomi    %st(1), %st
     1000017ce:    0f 93 c0    setae    %al
     1000017d1:    db 6c 24 30    fldt    48(%rsp)
     1000017d5:    d9 e1    fabs
     1000017d7:    db ea    fucomi    %st(2), %st
     1000017d9:    0f 93 c1    setae    %cl
     1000017dc:    db 6c 24 54    fldt    84(%rsp)
     1000017e0:    d9 c0    fld    %st(0)
     1000017e2:    d9 e1    fabs
     1000017e4:    db ec    fucomi    %st(4), %st
     1000017e6:    dd dc    fstp    %st(4)
     1000017e8:    db 6c 24 24    fldt    36(%rsp)
     1000017ec:    d9 e1    fabs
     1000017ee:    0f 84 95 00 00 00    je    0x100001889
     1000017f4:    d9 05 ba 1f 00 00    flds    8122(%rip)
     1000017fa:    d9 c9    fxch    %st(1)
     1000017fc:    db e9    fucomi    %st(1), %st
     1000017fe:    dd d9    fstp    %st(1)
     100001800:    0f 84 83 00 00 00    je    0x100001889
     100001806:    08 c8    orb    %cl, %al
     100001808:    74 7f    je    0x100001889
     10000180a:    dd dd    fstp    %st(5)
     10000180c:    dd db    fstp    %st(3)
     10000180e:    dd db    fstp    %st(3)
     100001810:    d9 05 9e 1f 00 00    flds    8094(%rip)
     100001816:    d9 c9    fxch    %st(1)
     100001818:    df e9    fucompi    %st(1), %st
     10000181a:    d9 e8    fld1
     10000181c:    d9 ee    fldz
     10000181e:    d9 c0    fld    %st(0)
     100001820:    db c2    fcmovnb    %st(2), %st
     100001822:    db 6c 24 3c    fldt    60(%rsp)
     100001826:    db bc 24 a0 00 00 00    fstpt    160(%rsp)
     10000182d:    d9 e1    fabs
     10000182f:    f6 84 24 a9 00 00 00 80    testb    $-128, 169(%rsp)
     100001837:    d9 c0    fld    %st(0)
     100001839:    d9 e0    fchs
     10000183b:    d9 c9    fxch    %st(1)
     10000183d:    db c9    fcmovne    %st(1), %st
     10000183f:    dd d9    fstp    %st(1)
     100001841:    d9 cd    fxch    %st(5)
     100001843:    df eb    fucompi    %st(3), %st
     100001845:    db c1    fcmovnb    %st(1), %st
     100001847:    dd d9    fstp    %st(1)
     100001849:    db 6c 24 30    fldt    48(%rsp)
     10000184d:    db bc 24 90 00 00 00    fstpt    144(%rsp)
     100001854:    d9 e1    fabs
     100001856:    f6 84 24 99 00 00 00 80    testb    $-128, 153(%rsp)
     10000185e:    d9 c0    fld    %st(0)
     100001860:    d9 e0    fchs
     100001862:    d9 c9    fxch    %st(1)
     100001864:    db c9    fcmovne    %st(1), %st
     100001866:    dd d9    fstp    %st(1)
     100001868:    db 6c 24 24    fldt    36(%rsp)
     10000186c:    d9 c4    fld    %st(4)
     10000186e:    d8 c9    fmul    %st(1), %st
     100001870:    d9 c2    fld    %st(2)
     100001872:    d8 cd    fmul    %st(5), %st
     100001874:    de c1    faddp    %st, %st(1)
     100001876:    d9 ca    fxch    %st(2)
     100001878:    de c9    fmulp    %st, %st(1)
     10000187a:    d9 cc    fxch    %st(4)
     10000187c:    de cb    fmulp    %st, %st(3)
     10000187e:    d9 cb    fxch    %st(3)
     100001880:    de e2    fsubp    %st, %st(2)
     100001882:    dc ca    fmul    %st, %st(2)
     100001884:    e9 ce 00 00 00    jmp    0x100001957
     100001889:    d9 05 25 1f 00 00    flds    7973(%rip)
     10000188f:    d9 cb    fxch    %st(3)
     100001891:    df eb    fucompi    %st(3), %st
     100001893:    dd da    fstp    %st(2)
     100001895:    0f 84 ff 00 00 00    je    0x10000199a
     10000189b:    d9 05 13 1f 00 00    flds    7955(%rip)
     1000018a1:    d9 cb    fxch    %st(3)
     1000018a3:    df eb    fucompi    %st(3), %st
     1000018a5:    dd da    fstp    %st(2)
     1000018a7:    0f 84 f5 00 00 00    je    0x1000019a2
     1000018ad:    d9 ee    fldz
     1000018af:    db ac 24 d4 00 00 00    fldt    212(%rsp)
     1000018b6:    df e9    fucompi    %st(1), %st
     1000018b8:    dd d8    fstp    %st(0)
     1000018ba:    0f 86 e2 00 00 00    jbe    0x1000019a2
     1000018c0:    d9 05 ee 1e 00 00    flds    7918(%rip)
     1000018c6:    db ac 24 c8 00 00 00    fldt    200(%rsp)
     1000018cd:    df e9    fucompi    %st(1), %st
     1000018cf:    dd d8    fstp    %st(0)
     1000018d1:    db 6c 24 48    fldt    72(%rsp)
     1000018d5:    d9 cb    fxch    %st(3)
     1000018d7:    d9 ca    fxch    %st(2)
     1000018d9:    0f 82 d3 00 00 00    jb    0x1000019b2
     1000018df:    dd dc    fstp    %st(4)
     1000018e1:    dd da    fstp    %st(2)
     1000018e3:    d9 05 cb 1e 00 00    flds    7883(%rip)
     1000018e9:    d9 ca    fxch    %st(2)
     1000018eb:    df ea    fucompi    %st(2), %st
     1000018ed:    d9 e8    fld1
     1000018ef:    d9 ee    fldz
     1000018f1:    d9 c0    fld    %st(0)
     1000018f3:    db c2    fcmovnb    %st(2), %st
     1000018f5:    db 6c 24 24    fldt    36(%rsp)
     1000018f9:    db 7c 24 70    fstpt    112(%rsp)
     1000018fd:    d9 e1    fabs
     1000018ff:    f6 44 24 79 80    testb    $-128, 121(%rsp)
     100001904:    d9 c0    fld    %st(0)
     100001906:    d9 e0    fchs
     100001908:    d9 c9    fxch    %st(1)
     10000190a:    db c9    fcmovne    %st(1), %st
     10000190c:    dd d9    fstp    %st(1)
     10000190e:    d9 cb    fxch    %st(3)
     100001910:    df ec    fucompi    %st(4), %st
     100001912:    dd db    fstp    %st(3)
     100001914:    d9 c2    fld    %st(2)
     100001916:    db c1    fcmovnb    %st(1), %st
     100001918:    dd d9    fstp    %st(1)
     10000191a:    d9 cb    fxch    %st(3)
     10000191c:    db bc 24 80 00 00 00    fstpt    128(%rsp)
     100001923:    d9 ca    fxch    %st(2)
     100001925:    d9 e1    fabs
     100001927:    f6 84 24 89 00 00 00 80    testb    $-128, 137(%rsp)
     10000192f:    d9 c0    fld    %st(0)
     100001931:    d9 e0    fchs
     100001933:    d9 c9    fxch    %st(1)
     100001935:    db c9    fcmovne    %st(1), %st
     100001937:    dd d9    fstp    %st(1)
     100001939:    db 6c 24 3c    fldt    60(%rsp)
     10000193d:    d9 c3    fld    %st(3)
     10000193f:    d8 c9    fmul    %st(1), %st
     100001941:    db 6c 24 30    fldt    48(%rsp)
     100001945:    d9 c3    fld    %st(3)
     100001947:    d8 c9    fmul    %st(1), %st
     100001949:    de c2    faddp    %st, %st(2)
     10000194b:    de cd    fmulp    %st, %st(5)
     10000194d:    d9 ca    fxch    %st(2)
     10000194f:    de c9    fmulp    %st, %st(1)
     100001951:    de eb    fsubrp    %st, %st(3)
     100001953:    d8 c9    fmul    %st(1), %st
     100001955:    d9 ca    fxch    %st(2)
     100001957:    de c9    fmulp    %st, %st(1)
     100001959:    d9 ee    fldz
     10000195b:    d9 ee    fldz
     10000195d:    d9 ee    fldz
     10000195f:    d9 cb    fxch    %st(3)
     100001961:    d9 cc    fxch    %st(4)
     100001963:    d9 cb    fxch    %st(3)
     100001965:    eb 4b    jmp    0x1000019b2
     100001967:    dd d8    fstp    %st(0)
     100001969:    db 6c 24 24    fldt    36(%rsp)
     10000196d:    db bc 24 b0 00 00 00    fstpt    176(%rsp)
     100001974:    f6 84 24 b9 00 00 00 80    testb    $-128, 185(%rsp)
     10000197c:    d9 05 36 1e 00 00    flds    7734(%rip)
     100001982:    d9 05 2c 1e 00 00    flds    7724(%rip)
     100001988:    db c9    fcmovne    %st(1), %st
     10000198a:    dd d9    fstp    %st(1)
     10000198c:    db 6c 24 3c    fldt    60(%rsp)
     100001990:    d8 c9    fmul    %st(1), %st
     100001992:    db 6c 24 30    fldt    48(%rsp)
     100001996:    de ca    fmulp    %st, %st(2)
     100001998:    eb 12    jmp    0x1000019ac
     10000199a:    dd db    fstp    %st(3)
     10000199c:    dd d8    fstp    %st(0)
     10000199e:    dd d8    fstp    %st(0)
     1000019a0:    eb 04    jmp    0x1000019a6
     1000019a2:    dd da    fstp    %st(2)
     1000019a4:    dd d9    fstp    %st(1)
     1000019a6:    dd d8    fstp    %st(0)
     1000019a8:    db 6c 24 48    fldt    72(%rsp)
     1000019ac:    d9 ee    fldz
     1000019ae:    d9 ee    fldz
     1000019b0:    d9 ee    fldz
     1000019b2:    dd da    fstp    %st(2)
     1000019b4:    dd d8    fstp    %st(0)
     1000019b6:    dd d8    fstp    %st(0)
     1000019b8:    48 81 c4 e0 00 00 00    addq    $224, %rsp
     1000019bf:    5b    popq    %rbx
     1000019c0:    c3    retq
     1000019c1:    90    nop
     1000019c2:    90    nop
     1000019c3:    90    nop
     1000019c4:    90    nop
     1000019c5:    90    nop
     1000019c6:    90    nop
     1000019c7:    90    nop
     1000019c8:    90    nop
     1000019c9:    90    nop
     1000019ca:    90    nop
     1000019cb:    90    nop
     1000019cc:    90    nop
     1000019cd:    90    nop
     1000019ce:    90    nop
     1000019cf:    90    nop
     ___extendhfsf2:
     1000019d0:    89 f8    movl    %edi, %eax
     1000019d2:    25 00 80 00 00    andl    $32768, %eax
     1000019d7:    81 e7 ff 7f 00 00    andl    $32767, %edi
     1000019dd:    8d 8f 00 fc ff ff    leal    -1024(%rdi), %ecx
     1000019e3:    0f b7 c9    movzwl    %cx, %ecx
     1000019e6:    81 f9 ff 77 00 00    cmpl    $30719, %ecx
     1000019ec:    77 13    ja    0x100001a01
     1000019ee:    c1 e7 0d    shll    $13, %edi
     1000019f1:    81 c7 00 00 00 38    addl    $939524096, %edi
     1000019f7:    c1 e0 10    shll    $16, %eax
     1000019fa:    09 f8    orl    %edi, %eax
     1000019fc:    66 0f 6e c0    movd    %eax, %xmm0
     100001a00:    c3    retq
     100001a01:    81 ff 00 7c 00 00    cmpl    $31744, %edi
     100001a07:    72 13    jb    0x100001a1c
     100001a09:    c1 e7 0d    shll    $13, %edi
     100001a0c:    81 cf 00 00 80 7f    orl    $2139095040, %edi
     100001a12:    c1 e0 10    shll    $16, %eax
     100001a15:    09 f8    orl    %edi, %eax
     100001a17:    66 0f 6e c0    movd    %eax, %xmm0
     100001a1b:    c3    retq
     100001a1c:    66 85 ff    testw    %di, %di
     100001a1f:    74 29    je    0x100001a4a
     100001a21:    0f bd d7    bsrl    %edi, %edx
     100001a24:    83 f2 1f    xorl    $31, %edx
     100001a27:    8d 4a f8    leal    -8(%rdx), %ecx
     100001a2a:    d3 e7    shll    %cl, %edi
     100001a2c:    81 f7 00 00 80 00    xorl    $8388608, %edi
     100001a32:    c1 e2 17    shll    $23, %edx
     100001a35:    b9 00 00 00 43    movl    $1124073472, %ecx
     100001a3a:    29 d1    subl    %edx, %ecx
     100001a3c:    09 f9    orl    %edi, %ecx
     100001a3e:    89 cf    movl    %ecx, %edi
     100001a40:    c1 e0 10    shll    $16, %eax
     100001a43:    09 f8    orl    %edi, %eax
     100001a45:    66 0f 6e c0    movd    %eax, %xmm0
     100001a49:    c3    retq
     100001a4a:    31 ff    xorl    %edi, %edi
     100001a4c:    c1 e0 10    shll    $16, %eax
     100001a4f:    09 f8    orl    %edi, %eax
     100001a51:    66 0f 6e c0    movd    %eax, %xmm0
     100001a55:    c3    retq
     100001a56:    66 2e 0f 1f 84 00 00 00 00 00    nopw    %cs:(%rax,%rax)
     ___gnu_h2f_ieee:
     100001a60:    e9 6b ff ff ff    jmp    ___extendhfsf2
     100001a65:    90    nop
     100001a66:    90    nop
     100001a67:    90    nop
     100001a68:    90    nop
     100001a69:    90    nop
     100001a6a:    90    nop
     100001a6b:    90    nop
     100001a6c:    90    nop
     100001a6d:    90    nop
     100001a6e:    90    nop
     100001a6f:    90    nop
     ___ffssi2:
     100001a70:    85 ff    testl    %edi, %edi
     100001a72:    74 06    je    0x100001a7a
     100001a74:    0f bc c7    bsfl    %edi, %eax
     100001a77:    ff c0    incl    %eax
     100001a79:    c3    retq
     100001a7a:    31 c0    xorl    %eax, %eax
     100001a7c:    c3    retq
     100001a7d:    90    nop
     100001a7e:    90    nop
     100001a7f:    90    nop
     ___compilerrt_abort_impl:
     100001a80:    50    pushq    %rax
     100001a81:    48 89 d0    movq    %rdx, %rax
     100001a84:    89 f2    movl    %esi, %edx
     100001a86:    48 89 fe    movq    %rdi, %rsi
     100001a89:    48 8d 0d ed 19 00 00    leaq    6637(%rip), %rcx ## literal pool for: "libcompiler_rt abort"
     100001a90:    48 89 c7    movq    %rax, %rdi
     100001a93:    e8 de 17 00 00    callq    0x100003276 ## symbol stub for: ___assert_rtn
     100001a98:    90    nop
     100001a99:    90    nop
     100001a9a:    90    nop
     100001a9b:    90    nop
     100001a9c:    90    nop
     100001a9d:    90    nop
     100001a9e:    90    nop
     100001a9f:    90    nop
     ___mulodi4:
     100001aa0:    49 89 d0    movq    %rdx, %r8
     100001aa3:    48 b8 00 00 00 00 00 00 00 80    movabsq    $-9223372036854775808, %rax
     100001aad:    c7 02 00 00 00 00    movl    $0, (%rdx)
     100001ab3:    48 89 f1    movq    %rsi, %rcx
     100001ab6:    48 0f af cf    imulq    %rdi, %rcx
     100001aba:    48 39 c7    cmpq    %rax, %rdi
     100001abd:    75 0a    jne    0x100001ac9
     100001abf:    48 83 fe 02    cmpq    $2, %rsi
     100001ac3:    73 6b    jae    0x100001b30
     100001ac5:    48 89 c8    movq    %rcx, %rax
     100001ac8:    c3    retq
     100001ac9:    48 39 c6    cmpq    %rax, %rsi
     100001acc:    75 08    jne    0x100001ad6
     100001ace:    48 83 ff 02    cmpq    $2, %rdi
     100001ad2:    72 f1    jb    0x100001ac5
     100001ad4:    eb 5a    jmp    0x100001b30
     100001ad6:    49 89 f9    movq    %rdi, %r9
     100001ad9:    49 f7 d9    negq    %r9
     100001adc:    4c 0f 4c cf    cmovlq    %rdi, %r9
     100001ae0:    49 89 f2    movq    %rsi, %r10
     100001ae3:    49 f7 da    negq    %r10
     100001ae6:    4c 0f 4c d6    cmovlq    %rsi, %r10
     100001aea:    49 83 f9 02    cmpq    $2, %r9
     100001aee:    7c d5    jl    0x100001ac5
     100001af0:    49 83 fa 02    cmpq    $2, %r10
     100001af4:    7c cf    jl    0x100001ac5
     100001af6:    48 c1 ff 3f    sarq    $63, %rdi
     100001afa:    48 c1 fe 3f    sarq    $63, %rsi
     100001afe:    48 39 f7    cmpq    %rsi, %rdi
     100001b01:    75 16    jne    0x100001b19
     100001b03:    48 b8 ff ff ff ff ff ff ff 7f    movabsq    $9223372036854775807, %rax
     100001b0d:    31 d2    xorl    %edx, %edx
     100001b0f:    49 f7 f2    divq    %r10
     100001b12:    49 39 c1    cmpq    %rax, %r9
     100001b15:    7e ae    jle    0x100001ac5
     100001b17:    eb 17    jmp    0x100001b30
     100001b19:    49 f7 da    negq    %r10
     100001b1c:    48 b8 00 00 00 00 00 00 00 80    movabsq    $-9223372036854775808, %rax
     100001b26:    48 99    cqto
     100001b28:    49 f7 fa    idivq    %r10
     100001b2b:    49 39 c1    cmpq    %rax, %r9
     100001b2e:    7e 95    jle    0x100001ac5
     100001b30:    41 c7 00 01 00 00 00    movl    $1, (%r8)
     100001b37:    48 89 c8    movq    %rcx, %rax
     100001b3a:    c3    retq
     100001b3b:    90    nop
     100001b3c:    90    nop
     100001b3d:    90    nop
     100001b3e:    90    nop
     100001b3f:    90    nop
     ___mulosi4:
     100001b40:    49 89 d0    movq    %rdx, %r8
     100001b43:    c7 02 00 00 00 00    movl    $0, (%rdx)
     100001b49:    89 f1    movl    %esi, %ecx
     100001b4b:    0f af cf    imull    %edi, %ecx
     100001b4e:    81 ff 00 00 00 80    cmpl    $2147483648, %edi
     100001b54:    75 08    jne    0x100001b5e
     100001b56:    83 fe 02    cmpl    $2, %esi
     100001b59:    73 5e    jae    0x100001bb9
     100001b5b:    89 c8    movl    %ecx, %eax
     100001b5d:    c3    retq
     100001b5e:    81 fe 00 00 00 80    cmpl    $2147483648, %esi
     100001b64:    75 07    jne    0x100001b6d
     100001b66:    83 ff 02    cmpl    $2, %edi
     100001b69:    72 f0    jb    0x100001b5b
     100001b6b:    eb 4c    jmp    0x100001bb9
     100001b6d:    41 89 f9    movl    %edi, %r9d
     100001b70:    41 f7 d9    negl    %r9d
     100001b73:    44 0f 4c cf    cmovll    %edi, %r9d
     100001b77:    41 89 f2    movl    %esi, %r10d
     100001b7a:    41 f7 da    negl    %r10d
     100001b7d:    44 0f 4c d6    cmovll    %esi, %r10d
     100001b81:    41 83 f9 02    cmpl    $2, %r9d
     100001b85:    7c d4    jl    0x100001b5b
     100001b87:    41 83 fa 02    cmpl    $2, %r10d
     100001b8b:    7c ce    jl    0x100001b5b
     100001b8d:    c1 ff 1f    sarl    $31, %edi
     100001b90:    c1 fe 1f    sarl    $31, %esi
     100001b93:    39 f7    cmpl    %esi, %edi
     100001b95:    75 11    jne    0x100001ba8
     100001b97:    b8 ff ff ff 7f    movl    $2147483647, %eax
     100001b9c:    31 d2    xorl    %edx, %edx
     100001b9e:    41 f7 f2    divl    %r10d
     100001ba1:    41 39 c1    cmpl    %eax, %r9d
     100001ba4:    7e b5    jle    0x100001b5b
     100001ba6:    eb 11    jmp    0x100001bb9
     100001ba8:    41 f7 da    negl    %r10d
     100001bab:    b8 00 00 00 80    movl    $2147483648, %eax
     100001bb0:    99    cltd
     100001bb1:    41 f7 fa    idivl    %r10d
     100001bb4:    41 39 c1    cmpl    %eax, %r9d
     100001bb7:    7e a2    jle    0x100001b5b
     100001bb9:    41 c7 00 01 00 00 00    movl    $1, (%r8)
     100001bc0:    89 c8    movl    %ecx, %eax
     100001bc2:    c3    retq
     100001bc3:    90    nop
     100001bc4:    90    nop
     100001bc5:    90    nop
     100001bc6:    90    nop
     100001bc7:    90    nop
     100001bc8:    90    nop
     100001bc9:    90    nop
     100001bca:    90    nop
     100001bcb:    90    nop
     100001bcc:    90    nop
     100001bcd:    90    nop
     100001bce:    90    nop
     100001bcf:    90    nop
     ___muloti4:
     100001bd0:    55    pushq    %rbp
     100001bd1:    41 57    pushq    %r15
     100001bd3:    41 56    pushq    %r14
     100001bd5:    41 55    pushq    %r13
     100001bd7:    41 54    pushq    %r12
     100001bd9:    53    pushq    %rbx
     100001bda:    50    pushq    %rax
     100001bdb:    4d 89 c7    movq    %r8, %r15
     100001bde:    48 89 d3    movq    %rdx, %rbx
     100001be1:    49 89 f4    movq    %rsi, %r12
     100001be4:    41 c7 00 00 00 00 00    movl    $0, (%r8)
     100001beb:    48 89 d6    movq    %rdx, %rsi
     100001bee:    49 0f af f4    imulq    %r12, %rsi
     100001bf2:    48 89 d0    movq    %rdx, %rax
     100001bf5:    48 f7 e7    mulq    %rdi
     100001bf8:    49 89 c6    movq    %rax, %r14
     100001bfb:    48 01 f2    addq    %rsi, %rdx
     100001bfe:    49 89 cd    movq    %rcx, %r13
     100001c01:    4c 0f af ef    imulq    %rdi, %r13
     100001c05:    49 01 d5    addq    %rdx, %r13
     100001c08:    48 b8 00 00 00 00 00 00 00 80    movabsq    $-9223372036854775808, %rax
     100001c12:    4c 89 e2    movq    %r12, %rdx
     100001c15:    48 31 c2    xorq    %rax, %rdx
     100001c18:    48 09 fa    orq    %rdi, %rdx
     100001c1b:    75 13    jne    0x100001c30
     100001c1d:    48 83 fb 02    cmpq    $2, %rbx
     100001c21:    48 83 d9 00    sbbq    $0, %rcx
     100001c25:    0f 83 b5 00 00 00    jae    0x100001ce0
     100001c2b:    e9 b7 00 00 00    jmp    0x100001ce7
     100001c30:    48 89 fd    movq    %rdi, %rbp
     100001c33:    48 31 c8    xorq    %rcx, %rax
     100001c36:    48 09 d8    orq    %rbx, %rax
     100001c39:    75 13    jne    0x100001c4e
     100001c3b:    48 83 fd 02    cmpq    $2, %rbp
     100001c3f:    49 83 dc 00    sbbq    $0, %r12
     100001c43:    0f 83 97 00 00 00    jae    0x100001ce0
     100001c49:    e9 99 00 00 00    jmp    0x100001ce7
     100001c4e:    4c 89 e0    movq    %r12, %rax
     100001c51:    48 c1 f8 3f    sarq    $63, %rax
     100001c55:    49 31 c4    xorq    %rax, %r12
     100001c58:    48 31 c5    xorq    %rax, %rbp
     100001c5b:    48 29 c5    subq    %rax, %rbp
     100001c5e:    49 19 c4    sbbq    %rax, %r12
     100001c61:    48 89 ca    movq    %rcx, %rdx
     100001c64:    48 c1 fa 3f    sarq    $63, %rdx
     100001c68:    48 31 d1    xorq    %rdx, %rcx
     100001c6b:    48 31 d3    xorq    %rdx, %rbx
     100001c6e:    48 29 d3    subq    %rdx, %rbx
     100001c71:    48 19 d1    sbbq    %rdx, %rcx
     100001c74:    48 83 fd 02    cmpq    $2, %rbp
     100001c78:    4c 89 e6    movq    %r12, %rsi
     100001c7b:    48 83 de 00    sbbq    $0, %rsi
     100001c7f:    7c 66    jl    0x100001ce7
     100001c81:    48 83 fb 02    cmpq    $2, %rbx
     100001c85:    48 89 ce    movq    %rcx, %rsi
     100001c88:    48 83 de 00    sbbq    $0, %rsi
     100001c8c:    7c 59    jl    0x100001ce7
     100001c8e:    48 31 d0    xorq    %rdx, %rax
     100001c91:    48 09 c0    orq    %rax, %rax
     100001c94:    75 23    jne    0x100001cb9
     100001c96:    48 be ff ff ff ff ff ff ff 7f    movabsq    $9223372036854775807, %rsi
     100001ca0:    48 c7 c7 ff ff ff ff    movq    $-1, %rdi
     100001ca7:    48 89 da    movq    %rbx, %rdx
     100001caa:    e8 d9 15 00 00    callq    0x100003288 ## symbol stub for: ___udivti3
     100001caf:    48 39 e8    cmpq    %rbp, %rax
     100001cb2:    4c 19 e2    sbbq    %r12, %rdx
     100001cb5:    7c 29    jl    0x100001ce0
     100001cb7:    eb 2e    jmp    0x100001ce7
     100001cb9:    31 c0    xorl    %eax, %eax
     100001cbb:    48 f7 db    negq    %rbx
     100001cbe:    48 19 c8    sbbq    %rcx, %rax
     100001cc1:    48 be 00 00 00 00 00 00 00 80    movabsq    $-9223372036854775808, %rsi
     100001ccb:    31 ff    xorl    %edi, %edi
     100001ccd:    48 89 da    movq    %rbx, %rdx
     100001cd0:    48 89 c1    movq    %rax, %rcx
     100001cd3:    e8 a4 15 00 00    callq    0x10000327c ## symbol stub for: ___divti3
     100001cd8:    48 39 e8    cmpq    %rbp, %rax
     100001cdb:    4c 19 e2    sbbq    %r12, %rdx
     100001cde:    7d 07    jge    0x100001ce7
     100001ce0:    41 c7 07 01 00 00 00    movl    $1, (%r15)
     100001ce7:    4c 89 f0    movq    %r14, %rax
     100001cea:    4c 89 ea    movq    %r13, %rdx
     100001ced:    48 83 c4 08    addq    $8, %rsp
     100001cf1:    5b    popq    %rbx
     100001cf2:    41 5c    popq    %r12
     100001cf4:    41 5d    popq    %r13
     100001cf6:    41 5e    popq    %r14
     100001cf8:    41 5f    popq    %r15
     100001cfa:    5d    popq    %rbp
     100001cfb:    c3    retq
     100001cfc:    90    nop
     100001cfd:    90    nop
     100001cfe:    90    nop
     100001cff:    90    nop
     ___isOSVersionAtLeast:
     100001d00:    55    pushq    %rbp
     100001d01:    41 56    pushq    %r14
     100001d03:    53    pushq    %rbx
     100001d04:    41 89 d6    movl    %edx, %r14d
     100001d07:    89 f5    movl    %esi, %ebp
     100001d09:    89 fb    movl    %edi, %ebx
     100001d0b:    48 83 3d 35 65 00 00 ff    cmpq    $-1, 25909(%rip)
     100001d13:    75 3a    jne    0x100001d4f
     100001d15:    8b 0d 35 65 00 00    movl    _GlobalMajor(%rip), %ecx
     100001d1b:    b8 01 00 00 00    movl    $1, %eax
     100001d20:    39 d9    cmpl    %ebx, %ecx
     100001d22:    7f 06    jg    0x100001d2a
     100001d24:    39 d9    cmpl    %ebx, %ecx
     100001d26:    7d 07    jge    0x100001d2f
     100001d28:    31 c0    xorl    %eax, %eax
     100001d2a:    5b    popq    %rbx
     100001d2b:    41 5e    popq    %r14
     100001d2d:    5d    popq    %rbp
     100001d2e:    c3    retq
     100001d2f:    39 2d 1f 65 00 00    cmpl    %ebp, _GlobalMinor(%rip)
     100001d35:    7f f3    jg    0x100001d2a
     100001d37:    b8 00 00 00 00    movl    $0, %eax
     100001d3c:    7c ec    jl    0x100001d2a
     100001d3e:    31 c0    xorl    %eax, %eax
     100001d40:    44 39 35 11 65 00 00    cmpl    %r14d, _GlobalSubminor(%rip)
     100001d47:    0f 9d c0    setge    %al
     100001d4a:    5b    popq    %rbx
     100001d4b:    41 5e    popq    %r14
     100001d4d:    5d    popq    %rbp
     100001d4e:    c3    retq
     100001d4f:    48 8d 3d f2 64 00 00    leaq    _CompatibilityDispatchOnceCounter(%rip), %rdi
     100001d56:    48 8d 15 23 00 00 00    leaq    _compatibilityInitializeAvailabilityCheck(%rip), %rdx
     100001d5d:    31 f6    xorl    %esi, %esi
     100001d5f:    e8 30 15 00 00    callq    0x100003294 ## symbol stub for: _dispatch_once_f
     100001d64:    8b 0d e6 64 00 00    movl    _GlobalMajor(%rip), %ecx
     100001d6a:    b8 01 00 00 00    movl    $1, %eax
     100001d6f:    39 d9    cmpl    %ebx, %ecx
     100001d71:    7e b1    jle    0x100001d24
     100001d73:    eb b5    jmp    0x100001d2a
     100001d75:    66 2e 0f 1f 84 00 00 00 00 00    nopw    %cs:(%rax,%rax)
     100001d7f:    90    nop
     _compatibilityInitializeAvailabilityCheck:
     100001d80:    bf 01 00 00 00    movl    $1, %edi
     100001d85:    e9 06 03 00 00    jmp    __initializeAvailabilityCheck
     100001d8a:    66 0f 1f 44 00 00    nopw    (%rax,%rax)
     ___isPlatformVersionAtLeast:
     100001d90:    55    pushq    %rbp
     100001d91:    41 57    pushq    %r15
     100001d93:    41 56    pushq    %r14
     100001d95:    41 54    pushq    %r12
     100001d97:    53    pushq    %rbx
     100001d98:    48 83 ec 10    subq    $16, %rsp
     100001d9c:    41 89 ce    movl    %ecx, %r14d
     100001d9f:    41 89 d4    movl    %edx, %r12d
     100001da2:    89 f3    movl    %esi, %ebx
     100001da4:    89 fd    movl    %edi, %ebp
     100001da6:    48 8b 05 53 22 00 00    movq    8787(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
     100001dad:    48 8b 00    movq    (%rax), %rax
     100001db0:    48 89 44 24 08    movq    %rax, 8(%rsp)
     100001db5:    48 83 3d a3 64 00 00 ff    cmpq    $-1, 25763(%rip)
     100001dbd:    75 35    jne    0x100001df4
     100001dbf:    48 8b 05 a2 64 00 00    movq    _AvailabilityVersionCheck(%rip), %rax
     100001dc6:    48 85 c0    testq    %rax, %rax
     100001dc9:    74 4a    je    0x100001e15
     100001dcb:    89 2c 24    movl    %ebp, (%rsp)
     100001dce:    c1 e3 10    shll    $16, %ebx
     100001dd1:    41 c1 e4 08    shll    $8, %r12d
     100001dd5:    41 0f b7 cc    movzwl    %r12w, %ecx
     100001dd9:    09 d9    orl    %ebx, %ecx
     100001ddb:    41 0f b6 d6    movzbl    %r14b, %edx
     100001ddf:    09 ca    orl    %ecx, %edx
     100001de1:    89 54 24 04    movl    %edx, 4(%rsp)
     100001de5:    48 89 e6    movq    %rsp, %rsi
     100001de8:    bf 01 00 00 00    movl    $1, %edi
     100001ded:    ff d0    callq    *%rax
     100001def:    41 89 c7    movl    %eax, %r15d
     100001df2:    eb 54    jmp    0x100001e48
     100001df4:    48 8d 3d 65 64 00 00    leaq    _DispatchOnceCounter(%rip), %rdi
     100001dfb:    48 8d 15 9e 00 00 00    leaq    _initializeAvailabilityCheck(%rip), %rdx
     100001e02:    31 f6    xorl    %esi, %esi
     100001e04:    e8 8b 14 00 00    callq    0x100003294 ## symbol stub for: _dispatch_once_f
     100001e09:    48 8b 05 58 64 00 00    movq    _AvailabilityVersionCheck(%rip), %rax
     100001e10:    48 85 c0    testq    %rax, %rax
     100001e13:    75 b6    jne    0x100001dcb
     100001e15:    41 b7 01    movb    $1, %r15b
     100001e18:    83 fd 01    cmpl    $1, %ebp
     100001e1b:    75 2b    jne    0x100001e48
     100001e1d:    48 83 3d 23 64 00 00 ff    cmpq    $-1, 25635(%rip)
     100001e25:    75 50    jne    0x100001e77
     100001e27:    8b 05 23 64 00 00    movl    _GlobalMajor(%rip), %eax
     100001e2d:    39 d8    cmpl    %ebx, %eax
     100001e2f:    7f 17    jg    0x100001e48
     100001e31:    39 d8    cmpl    %ebx, %eax
     100001e33:    7c 10    jl    0x100001e45
     100001e35:    8b 05 19 64 00 00    movl    _GlobalMinor(%rip), %eax
     100001e3b:    44 39 e0    cmpl    %r12d, %eax
     100001e3e:    7f 08    jg    0x100001e48
     100001e40:    44 39 e0    cmpl    %r12d, %eax
     100001e43:    7d 25    jge    0x100001e6a
     100001e45:    45 31 ff    xorl    %r15d, %r15d
     100001e48:    48 8b 05 b1 21 00 00    movq    8625(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
     100001e4f:    48 8b 00    movq    (%rax), %rax
     100001e52:    48 3b 44 24 08    cmpq    8(%rsp), %rax
     100001e57:    75 3f    jne    0x100001e98
     100001e59:    41 0f b6 c7    movzbl    %r15b, %eax
     100001e5d:    48 83 c4 10    addq    $16, %rsp
     100001e61:    5b    popq    %rbx
     100001e62:    41 5c    popq    %r12
     100001e64:    41 5e    popq    %r14
     100001e66:    41 5f    popq    %r15
     100001e68:    5d    popq    %rbp
     100001e69:    c3    retq
     100001e6a:    44 39 35 e7 63 00 00    cmpl    %r14d, _GlobalSubminor(%rip)
     100001e71:    41 0f 9d c7    setge    %r15b
     100001e75:    eb d1    jmp    0x100001e48
     100001e77:    48 8d 3d ca 63 00 00    leaq    _CompatibilityDispatchOnceCounter(%rip), %rdi
     100001e7e:    48 8d 15 fb fe ff ff    leaq    _compatibilityInitializeAvailabilityCheck(%rip), %rdx
     100001e85:    31 f6    xorl    %esi, %esi
     100001e87:    e8 08 14 00 00    callq    0x100003294 ## symbol stub for: _dispatch_once_f
     100001e8c:    8b 05 be 63 00 00    movl    _GlobalMajor(%rip), %eax
     100001e92:    39 d8    cmpl    %ebx, %eax
     100001e94:    7e 9b    jle    0x100001e31
     100001e96:    eb b0    jmp    0x100001e48
     100001e98:    e8 e5 13 00 00    callq    0x100003282 ## symbol stub for: ___stack_chk_fail
     100001e9d:    0f 1f 00    nopl    (%rax)
     _initializeAvailabilityCheck:
     100001ea0:    31 ff    xorl    %edi, %edi
     100001ea2:    e9 e9 01 00 00    jmp    __initializeAvailabilityCheck
     100001ea7:    66 0f 1f 84 00 00 00 00 00    nopw    (%rax,%rax)
     ___isPlatformOrVariantPlatformVersionAtLeast:
     100001eb0:    55    pushq    %rbp
     100001eb1:    41 57    pushq    %r15
     100001eb3:    41 56    pushq    %r14
     100001eb5:    41 55    pushq    %r13
     100001eb7:    41 54    pushq    %r12
     100001eb9:    53    pushq    %rbx
     100001eba:    48 83 ec 18    subq    $24, %rsp
     100001ebe:    45 89 cf    movl    %r9d, %r15d
     100001ec1:    45 89 c4    movl    %r8d, %r12d
     100001ec4:    41 89 d5    movl    %edx, %r13d
     100001ec7:    89 f3    movl    %esi, %ebx
     100001ec9:    89 fd    movl    %edi, %ebp
     100001ecb:    48 8b 05 2e 21 00 00    movq    8494(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
     100001ed2:    48 8b 00    movq    (%rax), %rax
     100001ed5:    48 89 44 24 10    movq    %rax, 16(%rsp)
     100001eda:    48 83 3d 7e 63 00 00 ff    cmpq    $-1, 25470(%rip)
     100001ee2:    0f 85 12 01 00 00    jne    0x100001ffa
     100001ee8:    8b 7c 24 58    movl    88(%rsp), %edi
     100001eec:    44 8b 74 24 50    movl    80(%rsp), %r14d
     100001ef1:    48 8b 05 70 63 00 00    movq    _AvailabilityVersionCheck(%rip), %rax
     100001ef8:    48 85 c0    testq    %rax, %rax
     100001efb:    74 68    je    0x100001f65
     100001efd:    89 2c 24    movl    %ebp, (%rsp)
     100001f00:    c1 e3 10    shll    $16, %ebx
     100001f03:    41 c1 e5 08    shll    $8, %r13d
     100001f07:    41 0f b7 f5    movzwl    %r13w, %esi
     100001f0b:    09 de    orl    %ebx, %esi
     100001f0d:    0f b6 d1    movzbl    %cl, %edx
     100001f10:    09 f2    orl    %esi, %edx
     100001f12:    89 54 24 04    movl    %edx, 4(%rsp)
     100001f16:    44 89 64 24 08    movl    %r12d, 8(%rsp)
     100001f1b:    41 c1 e7 10    shll    $16, %r15d
     100001f1f:    41 c1 e6 08    shll    $8, %r14d
     100001f23:    41 0f b7 ce    movzwl    %r14w, %ecx
     100001f27:    44 09 f9    orl    %r15d, %ecx
     100001f2a:    40 0f b6 d7    movzbl    %dil, %edx
     100001f2e:    09 ca    orl    %ecx, %edx
     100001f30:    89 54 24 0c    movl    %edx, 12(%rsp)
     100001f34:    48 89 e6    movq    %rsp, %rsi
     100001f37:    bf 02 00 00 00    movl    $2, %edi
     100001f3c:    ff d0    callq    *%rax
     100001f3e:    48 8b 0d bb 20 00 00    movq    8379(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard
     100001f45:    48 8b 09    movq    (%rcx), %rcx
     100001f48:    48 3b 4c 24 10    cmpq    16(%rsp), %rcx
     100001f4d:    0f 85 24 01 00 00    jne    0x100002077
     100001f53:    0f b6 c0    movzbl    %al, %eax
     100001f56:    48 83 c4 18    addq    $24, %rsp
     100001f5a:    5b    popq    %rbx
     100001f5b:    41 5c    popq    %r12
     100001f5d:    41 5d    popq    %r13
     100001f5f:    41 5e    popq    %r14
     100001f61:    41 5f    popq    %r15
     100001f63:    5d    popq    %rbp
     100001f64:    c3    retq
     100001f65:    83 fd 01    cmpl    $1, %ebp
     100001f68:    75 39    jne    0x100001fa3
     100001f6a:    48 83 3d d6 62 00 00 ff    cmpq    $-1, 25302(%rip)
     100001f72:    0f 85 a2 00 00 00    jne    0x10000201a
     100001f78:    8b 15 d2 62 00 00    movl    _GlobalMajor(%rip), %edx
     100001f7e:    b0 01    movb    $1, %al
     100001f80:    39 da    cmpl    %ebx, %edx
     100001f82:    7f ba    jg    0x100001f3e
     100001f84:    39 da    cmpl    %ebx, %edx
     100001f86:    7c 49    jl    0x100001fd1
     100001f88:    8b 15 c6 62 00 00    movl    _GlobalMinor(%rip), %edx
     100001f8e:    44 39 ea    cmpl    %r13d, %edx
     100001f91:    7f ab    jg    0x100001f3e
     100001f93:    44 39 ea    cmpl    %r13d, %edx
     100001f96:    7c 39    jl    0x100001fd1
     100001f98:    39 0d ba 62 00 00    cmpl    %ecx, _GlobalSubminor(%rip)
     100001f9e:    0f 9d c0    setge    %al
     100001fa1:    eb 9b    jmp    0x100001f3e
     100001fa3:    41 83 fc 01    cmpl    $1, %r12d
     100001fa7:    0f 85 cf 00 00 00    jne    0x10000207c
     100001fad:    48 83 3d 93 62 00 00 ff    cmpq    $-1, 25235(%rip)
     100001fb5:    0f 85 8d 00 00 00    jne    0x100002048
     100001fbb:    8b 0d 8f 62 00 00    movl    _GlobalMajor(%rip), %ecx
     100001fc1:    b0 01    movb    $1, %al
     100001fc3:    44 39 f9    cmpl    %r15d, %ecx
     100001fc6:    0f 8f 72 ff ff ff    jg    0x100001f3e
     100001fcc:    44 39 f9    cmpl    %r15d, %ecx
     100001fcf:    7d 07    jge    0x100001fd8
     100001fd1:    31 c0    xorl    %eax, %eax
     100001fd3:    e9 66 ff ff ff    jmp    0x100001f3e
     100001fd8:    8b 0d 76 62 00 00    movl    _GlobalMinor(%rip), %ecx
     100001fde:    44 39 f1    cmpl    %r14d, %ecx
     100001fe1:    0f 8f 57 ff ff ff    jg    0x100001f3e
     100001fe7:    44 39 f1    cmpl    %r14d, %ecx
     100001fea:    7c e5    jl    0x100001fd1
     100001fec:    39 3d 66 62 00 00    cmpl    %edi, _GlobalSubminor(%rip)
     100001ff2:    0f 9d c0    setge    %al
     100001ff5:    e9 44 ff ff ff    jmp    0x100001f3e
     100001ffa:    48 8d 3d 5f 62 00 00    leaq    _DispatchOnceCounter(%rip), %rdi
     100002001:    48 8d 15 98 fe ff ff    leaq    _initializeAvailabilityCheck(%rip), %rdx
     100002008:    31 f6    xorl    %esi, %esi
     10000200a:    41 89 ce    movl    %ecx, %r14d
     10000200d:    e8 82 12 00 00    callq    0x100003294 ## symbol stub for: _dispatch_once_f
     100002012:    44 89 f1    movl    %r14d, %ecx
     100002015:    e9 ce fe ff ff    jmp    0x100001ee8
     10000201a:    48 8d 3d 27 62 00 00    leaq    _CompatibilityDispatchOnceCounter(%rip), %rdi
     100002021:    48 8d 15 58 fd ff ff    leaq    _compatibilityInitializeAvailabilityCheck(%rip), %rdx
     100002028:    31 f6    xorl    %esi, %esi
     10000202a:    89 cd    movl    %ecx, %ebp
     10000202c:    e8 63 12 00 00    callq    0x100003294 ## symbol stub for: _dispatch_once_f
     100002031:    89 e9    movl    %ebp, %ecx
     100002033:    8b 15 17 62 00 00    movl    _GlobalMajor(%rip), %edx
     100002039:    b0 01    movb    $1, %al
     10000203b:    39 da    cmpl    %ebx, %edx
     10000203d:    0f 8f fb fe ff ff    jg    0x100001f3e
     100002043:    e9 3c ff ff ff    jmp    0x100001f84
     100002048:    89 fb    movl    %edi, %ebx
     10000204a:    48 8d 3d f7 61 00 00    leaq    _CompatibilityDispatchOnceCounter(%rip), %rdi
     100002051:    48 8d 15 28 fd ff ff    leaq    _compatibilityInitializeAvailabilityCheck(%rip), %rdx
     100002058:    31 f6    xorl    %esi, %esi
     10000205a:    e8 35 12 00 00    callq    0x100003294 ## symbol stub for: _dispatch_once_f
     10000205f:    89 df    movl    %ebx, %edi
     100002061:    8b 0d e9 61 00 00    movl    _GlobalMajor(%rip), %ecx
     100002067:    b0 01    movb    $1, %al
     100002069:    44 39 f9    cmpl    %r15d, %ecx
     10000206c:    0f 8f cc fe ff ff    jg    0x100001f3e
     100002072:    e9 55 ff ff ff    jmp    0x100001fcc
     100002077:    e8 06 12 00 00    callq    0x100003282 ## symbol stub for: ___stack_chk_fail
     10000207c:    e8 8f 11 00 00    callq    ___isPlatformOrVariantPlatformVersionAtLeast.cold.1
     100002081:    66 2e 0f 1f 84 00 00 00 00 00    nopw    %cs:(%rax,%rax)
     10000208b:    0f 1f 44 00 00    nopl    (%rax,%rax)
     __initializeAvailabilityCheck:
     100002090:    55    pushq    %rbp
     100002091:    41 57    pushq    %r15
     100002093:    41 56    pushq    %r14
     100002095:    41 55    pushq    %r13
     100002097:    41 54    pushq    %r12
     100002099:    53    pushq    %rbx
     10000209a:    48 83 ec 68    subq    $104, %rsp
     10000209e:    89 fb    movl    %edi, %ebx
     1000020a0:    48 8b 05 59 1f 00 00    movq    8025(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
     1000020a7:    48 8b 00    movq    (%rax), %rax
     1000020aa:    48 89 44 24 60    movq    %rax, 96(%rsp)
     1000020af:    48 83 3d b1 61 00 00 00    cmpq    $0, 25009(%rip)
     1000020b7:    74 08    je    0x1000020c1
     1000020b9:    84 db    testb    %bl, %bl
     1000020bb:    0f 84 df 02 00 00    je    0x1000023a0
     1000020c1:    48 8d 35 ae 14 00 00    leaq    5294(%rip), %rsi ## literal pool for: "_availability_version_check"
     1000020c8:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     1000020cf:    e8 c6 11 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     1000020d4:    48 89 05 8d 61 00 00    movq    %rax, _AvailabilityVersionCheck(%rip)
     1000020db:    48 85 c0    testq    %rax, %rax
     1000020de:    74 08    je    0x1000020e8
     1000020e0:    84 db    testb    %bl, %bl
     1000020e2:    0f 84 b8 02 00 00    je    0x1000023a0
     1000020e8:    48 8d 35 a3 14 00 00    leaq    5283(%rip), %rsi ## literal pool for: "kCFAllocatorNull"
     1000020ef:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     1000020f6:    e8 9f 11 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     1000020fb:    48 85 c0    testq    %rax, %rax
     1000020fe:    0f 84 9c 02 00 00    je    0x1000023a0
     100002104:    48 8b 18    movq    (%rax), %rbx
     100002107:    48 8d 35 95 14 00 00    leaq    5269(%rip), %rsi ## literal pool for: "CFDataCreateWithBytesNoCopy"
     10000210e:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     100002115:    e8 80 11 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     10000211a:    48 85 c0    testq    %rax, %rax
     10000211d:    0f 84 7d 02 00 00    je    0x1000023a0
     100002123:    49 89 c6    movq    %rax, %r14
     100002126:    48 8d 35 92 14 00 00    leaq    5266(%rip), %rsi ## literal pool for: "CFPropertyListCreateWithData"
     10000212d:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     100002134:    e8 61 11 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     100002139:    49 89 c7    movq    %rax, %r15
     10000213c:    48 8d 35 99 14 00 00    leaq    5273(%rip), %rsi ## literal pool for: "CFPropertyListCreateFromXMLData"
     100002143:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     10000214a:    e8 4b 11 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     10000214f:    49 89 c5    movq    %rax, %r13
     100002152:    4c 89 f8    movq    %r15, %rax
     100002155:    4c 09 e8    orq    %r13, %rax
     100002158:    0f 84 42 02 00 00    je    0x1000023a0
     10000215e:    48 8d 35 97 14 00 00    leaq    5271(%rip), %rsi ## literal pool for: "CFStringCreateWithCStringNoCopy"
     100002165:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     10000216c:    e8 29 11 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     100002171:    48 85 c0    testq    %rax, %rax
     100002174:    0f 84 26 02 00 00    je    0x1000023a0
     10000217a:    48 89 c5    movq    %rax, %rbp
     10000217d:    48 8d 35 98 14 00 00    leaq    5272(%rip), %rsi ## literal pool for: "CFDictionaryGetValue"
     100002184:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     10000218b:    e8 0a 11 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     100002190:    48 85 c0    testq    %rax, %rax
     100002193:    0f 84 07 02 00 00    je    0x1000023a0
     100002199:    49 89 c4    movq    %rax, %r12
     10000219c:    48 8d 35 8e 14 00 00    leaq    5262(%rip), %rsi ## literal pool for: "CFGetTypeID"
     1000021a3:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     1000021aa:    e8 eb 10 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     1000021af:    48 89 44 24 38    movq    %rax, 56(%rsp)
     1000021b4:    48 85 c0    testq    %rax, %rax
     1000021b7:    0f 84 e3 01 00 00    je    0x1000023a0
     1000021bd:    48 8d 35 79 14 00 00    leaq    5241(%rip), %rsi ## literal pool for: "CFStringGetTypeID"
     1000021c4:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     1000021cb:    e8 ca 10 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     1000021d0:    48 89 44 24 30    movq    %rax, 48(%rsp)
     1000021d5:    48 85 c0    testq    %rax, %rax
     1000021d8:    0f 84 c2 01 00 00    je    0x1000023a0
     1000021de:    48 8d 35 6a 14 00 00    leaq    5226(%rip), %rsi ## literal pool for: "CFStringGetCString"
     1000021e5:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     1000021ec:    e8 a9 10 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     1000021f1:    48 89 44 24 28    movq    %rax, 40(%rsp)
     1000021f6:    48 85 c0    testq    %rax, %rax
     1000021f9:    0f 84 a1 01 00 00    je    0x1000023a0
     1000021ff:    48 8d 35 5c 14 00 00    leaq    5212(%rip), %rsi ## literal pool for: "CFRelease"
     100002206:    48 c7 c7 fe ff ff ff    movq    $-2, %rdi
     10000220d:    e8 88 10 00 00    callq    0x10000329a ## symbol stub for: _dlsym
     100002212:    48 89 44 24 20    movq    %rax, 32(%rsp)
     100002217:    48 85 c0    testq    %rax, %rax
     10000221a:    0f 84 80 01 00 00    je    0x1000023a0
     100002220:    48 8d 3d 45 14 00 00    leaq    5189(%rip), %rdi ## literal pool for: "/System/Library/CoreServices/SystemVersion.plist"
     100002227:    48 8d 35 6f 14 00 00    leaq    5231(%rip), %rsi ## literal pool for: "r"
     10000222e:    e8 79 10 00 00    callq    0x1000032ac ## symbol stub for: _fopen
     100002233:    48 85 c0    testq    %rax, %rax
     100002236:    0f 84 64 01 00 00    je    0x1000023a0
     10000223c:    48 89 c7    movq    %rax, %rdi
     10000223f:    48 89 44 24 18    movq    %rax, 24(%rsp)
     100002244:    31 f6    xorl    %esi, %esi
     100002246:    ba 02 00 00 00    movl    $2, %edx
     10000224b:    e8 6e 10 00 00    callq    0x1000032be ## symbol stub for: _fseek
     100002250:    48 8b 7c 24 18    movq    24(%rsp), %rdi
     100002255:    e8 6a 10 00 00    callq    0x1000032c4 ## symbol stub for: _ftell
     10000225a:    31 ff    xorl    %edi, %edi
     10000225c:    48 89 44 24 10    movq    %rax, 16(%rsp)
     100002261:    48 85 c0    testq    %rax, %rax
     100002264:    0f 88 27 01 00 00    js    0x100002391
     10000226a:    48 8b 7c 24 18    movq    24(%rsp), %rdi
     10000226f:    e8 9e 10 00 00    callq    0x100003312 ## symbol stub for: _rewind
     100002274:    48 8b 7c 24 10    movq    16(%rsp), %rdi
     100002279:    e8 52 10 00 00    callq    0x1000032d0 ## symbol stub for: _malloc
     10000227e:    48 85 c0    testq    %rax, %rax
     100002281:    74 5b    je    0x1000022de
     100002283:    be 01 00 00 00    movl    $1, %esi
     100002288:    48 89 c7    movq    %rax, %rdi
     10000228b:    48 89 44 24 08    movq    %rax, 8(%rsp)
     100002290:    48 8b 54 24 10    movq    16(%rsp), %rdx
     100002295:    48 8b 4c 24 18    movq    24(%rsp), %rcx
     10000229a:    e8 13 10 00 00    callq    0x1000032b2 ## symbol stub for: _fread
     10000229f:    48 3b 44 24 10    cmpq    16(%rsp), %rax
     1000022a4:    0f 85 e2 00 00 00    jne    0x10000238c
     1000022aa:    31 ff    xorl    %edi, %edi
     1000022ac:    48 8b 74 24 08    movq    8(%rsp), %rsi
     1000022b1:    48 8b 54 24 10    movq    16(%rsp), %rdx
     1000022b6:    48 89 d9    movq    %rbx, %rcx
     1000022b9:    41 ff d6    callq    *%r14
     1000022bc:    48 85 c0    testq    %rax, %rax
     1000022bf:    0f 84 c7 00 00 00    je    0x10000238c
     1000022c5:    49 89 c6    movq    %rax, %r14
     1000022c8:    31 ff    xorl    %edi, %edi
     1000022ca:    48 89 c6    movq    %rax, %rsi
     1000022cd:    31 d2    xorl    %edx, %edx
     1000022cf:    31 c9    xorl    %ecx, %ecx
     1000022d1:    4d 85 ff    testq    %r15, %r15
     1000022d4:    74 0f    je    0x1000022e5
     1000022d6:    45 31 c0    xorl    %r8d, %r8d
     1000022d9:    41 ff d7    callq    *%r15
     1000022dc:    eb 0a    jmp    0x1000022e8
     1000022de:    31 ff    xorl    %edi, %edi
     1000022e0:    e9 ac 00 00 00    jmp    0x100002391
     1000022e5:    41 ff d5    callq    *%r13
     1000022e8:    49 89 c7    movq    %rax, %r15
     1000022eb:    4c 8b 6c 24 20    movq    32(%rsp), %r13
     1000022f0:    48 85 c0    testq    %rax, %rax
     1000022f3:    0f 84 8d 00 00 00    je    0x100002386
     1000022f9:    48 8d 35 9f 13 00 00    leaq    5023(%rip), %rsi ## literal pool for: "ProductVersion"
     100002300:    31 ff    xorl    %edi, %edi
     100002302:    ba 00 06 00 00    movl    $1536, %edx
     100002307:    48 89 d9    movq    %rbx, %rcx
     10000230a:    ff d5    callq    *%rbp
     10000230c:    48 85 c0    testq    %rax, %rax
     10000230f:    74 6f    je    0x100002380
     100002311:    48 89 c5    movq    %rax, %rbp
     100002314:    4c 89 ff    movq    %r15, %rdi
     100002317:    48 89 c6    movq    %rax, %rsi
     10000231a:    41 ff d4    callq    *%r12
     10000231d:    48 89 c3    movq    %rax, %rbx
     100002320:    48 89 ef    movq    %rbp, %rdi
     100002323:    41 ff d5    callq    *%r13
     100002326:    48 85 db    testq    %rbx, %rbx
     100002329:    74 55    je    0x100002380
     10000232b:    48 89 df    movq    %rbx, %rdi
     10000232e:    ff 54 24 38    callq    *56(%rsp)
     100002332:    48 89 c5    movq    %rax, %rbp
     100002335:    ff 54 24 30    callq    *48(%rsp)
     100002339:    48 39 c5    cmpq    %rax, %rbp
     10000233c:    75 42    jne    0x100002380
     10000233e:    48 8d 74 24 40    leaq    64(%rsp), %rsi
     100002343:    ba 20 00 00 00    movl    $32, %edx
     100002348:    48 89 df    movq    %rbx, %rdi
     10000234b:    b9 00 01 00 08    movl    $134217984, %ecx
     100002350:    ff 54 24 28    callq    *40(%rsp)
     100002354:    84 c0    testb    %al, %al
     100002356:    74 28    je    0x100002380
     100002358:    48 8d 35 4f 13 00 00    leaq    4943(%rip), %rsi ## literal pool for: "%d.%d.%d"
     10000235f:    48 8d 15 ea 5e 00 00    leaq    _GlobalMajor(%rip), %rdx
     100002366:    48 8d 0d e7 5e 00 00    leaq    _GlobalMinor(%rip), %rcx
     10000236d:    4c 8d 05 e4 5e 00 00    leaq    _GlobalSubminor(%rip), %r8
     100002374:    48 8d 7c 24 40    leaq    64(%rsp), %rdi
     100002379:    31 c0    xorl    %eax, %eax
     10000237b:    e8 9e 0f 00 00    callq    0x10000331e ## symbol stub for: _sscanf
     100002380:    4c 89 ff    movq    %r15, %rdi
     100002383:    41 ff d5    callq    *%r13
     100002386:    4c 89 f7    movq    %r14, %rdi
     100002389:    41 ff d5    callq    *%r13
     10000238c:    48 8b 7c 24 08    movq    8(%rsp), %rdi
     100002391:    e8 22 0f 00 00    callq    0x1000032b8 ## symbol stub for: _free
     100002396:    48 8b 7c 24 18    movq    24(%rsp), %rdi
     10000239b:    e8 00 0f 00 00    callq    0x1000032a0 ## symbol stub for: _fclose
     1000023a0:    48 8b 05 59 1c 00 00    movq    7257(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
     1000023a7:    48 8b 00    movq    (%rax), %rax
     1000023aa:    48 3b 44 24 60    cmpq    96(%rsp), %rax
     1000023af:    75 0f    jne    0x1000023c0
     1000023b1:    48 83 c4 68    addq    $104, %rsp
     1000023b5:    5b    popq    %rbx
     1000023b6:    41 5c    popq    %r12
     1000023b8:    41 5d    popq    %r13
     1000023ba:    41 5e    popq    %r14
     1000023bc:    41 5f    popq    %r15
     1000023be:    5d    popq    %rbp
     1000023bf:    c3    retq
     1000023c0:    e8 bd 0e 00 00    callq    0x100003282 ## symbol stub for: ___stack_chk_fail
     1000023c5:    66 2e 0f 1f 84 00 00 00 00 00    nopw    %cs:(%rax,%rax)
     1000023cf:    90    nop
     ___truncdfhf2:
     1000023d0:    66 48 0f 7e c0    movq    %xmm0, %rax
     1000023d5:    48 ba ff ff ff ff ff ff ff 7f    movabsq    $9223372036854775807, %rdx
     1000023df:    48 21 c2    andq    %rax, %rdx
     1000023e2:    48 b9 00 00 00 00 00 00 f0 c0    movabsq    $-4544132024016830464, %rcx
     1000023ec:    48 01 d1    addq    %rdx, %rcx
     1000023ef:    48 be 00 00 00 00 00 00 10 bf    movabsq    $-4679240012837945344, %rsi
     1000023f9:    48 01 d6    addq    %rdx, %rsi
     1000023fc:    48 39 f1    cmpq    %rsi, %rcx
     1000023ff:    73 3a    jae    0x10000243b
     100002401:    48 be 00 00 00 00 00 02 00 00    movabsq    $2199023255552, %rsi
     10000240b:    48 89 c2    movq    %rax, %rdx
     10000240e:    48 c1 ea 2a    shrq    $42, %rdx
     100002412:    8d 8a 00 40 00 00    leal    16384(%rdx), %ecx
     100002418:    48 bf ff ff ff ff ff 03 00 00    movabsq    $4398046511103, %rdi
     100002422:    48 21 c7    andq    %rax, %rdi
     100002425:    48 39 f7    cmpq    %rsi, %rdi
     100002428:    0f 86 a9 00 00 00    jbe    0x1000024d7
     10000242e:    81 c2 01 40 00 00    addl    $16385, %edx
     100002434:    89 d1    movl    %edx, %ecx
     100002436:    e9 a7 00 00 00    jmp    0x1000024e2
     10000243b:    48 b9 01 00 00 00 00 00 f0 7f    movabsq    $9218868437227405313, %rcx
     100002445:    48 39 ca    cmpq    %rcx, %rdx
     100002448:    72 18    jb    0x100002462
     10000244a:    48 89 c1    movq    %rax, %rcx
     10000244d:    48 c1 e9 2a    shrq    $42, %rcx
     100002451:    81 e1 ff 01 00 00    andl    $511, %ecx
     100002457:    81 c9 00 7e 00 00    orl    $32256, %ecx
     10000245d:    e9 80 00 00 00    jmp    0x1000024e2
     100002462:    48 c1 ea 34    shrq    $52, %rdx
     100002466:    66 b9 00 7c    movw    $31744, %cx
     10000246a:    81 fa 0e 04 00 00    cmpl    $1038, %edx
     100002470:    77 70    ja    0x1000024e2
     100002472:    81 fa bd 03 00 00    cmpl    $957, %edx
     100002478:    73 04    jae    0x10000247e
     10000247a:    31 c9    xorl    %ecx, %ecx
     10000247c:    eb 64    jmp    0x1000024e2
     10000247e:    48 b9 ff ff ff ff ff ff 0f 00    movabsq    $4503599627370495, %rcx
     100002488:    48 89 c6    movq    %rax, %rsi
     10000248b:    48 21 ce    andq    %rcx, %rsi
     10000248e:    48 8d 7c 0e 01    leaq    1(%rsi,%rcx), %rdi
     100002493:    49 b8 00 00 00 00 00 02 00 00    movabsq    $2199023255552, %r8
     10000249d:    8d 4a 4f    leal    79(%rdx), %ecx
     1000024a0:    48 89 fe    movq    %rdi, %rsi
     1000024a3:    48 d3 e6    shlq    %cl, %rsi
     1000024a6:    45 31 c9    xorl    %r9d, %r9d
     1000024a9:    48 85 f6    testq    %rsi, %rsi
     1000024ac:    41 0f 95 c1    setne    %r9b
     1000024b0:    b1 f1    movb    $-15, %cl
     1000024b2:    28 d1    subb    %dl, %cl
     1000024b4:    48 d3 ef    shrq    %cl, %rdi
     1000024b7:    48 ba ff ff ff ff ff 03 00 00    movabsq    $4398046511103, %rdx
     1000024c1:    48 21 fa    andq    %rdi, %rdx
     1000024c4:    48 89 f9    movq    %rdi, %rcx
     1000024c7:    48 c1 e9 2a    shrq    $42, %rcx
     1000024cb:    4c 09 ca    orq    %r9, %rdx
     1000024ce:    4c 39 c2    cmpq    %r8, %rdx
     1000024d1:    76 04    jbe    0x1000024d7
     1000024d3:    ff c1    incl    %ecx
     1000024d5:    eb 0b    jmp    0x1000024e2
     1000024d7:    75 09    jne    0x1000024e2
     1000024d9:    89 ca    movl    %ecx, %edx
     1000024db:    83 e2 01    andl    $1, %edx
     1000024de:    01 ca    addl    %ecx, %edx
     1000024e0:    89 d1    movl    %edx, %ecx
     1000024e2:    48 c1 e8 30    shrq    $48, %rax
     1000024e6:    25 00 80 00 00    andl    $32768, %eax
     1000024eb:    09 c1    orl    %eax, %ecx
     1000024ed:    0f b7 c1    movzwl    %cx, %eax
     1000024f0:    c3    retq
     1000024f1:    90    nop
     1000024f2:    90    nop
     1000024f3:    90    nop
     1000024f4:    90    nop
     1000024f5:    90    nop
     1000024f6:    90    nop
     1000024f7:    90    nop
     1000024f8:    90    nop
     1000024f9:    90    nop
     1000024fa:    90    nop
     1000024fb:    90    nop
     1000024fc:    90    nop
     1000024fd:    90    nop
     1000024fe:    90    nop
     1000024ff:    90    nop
     ___truncsfhf2:
     100002500:    66 0f 7e c0    movd    %xmm0, %eax
     100002504:    89 c2    movl    %eax, %edx
     100002506:    81 e2 ff ff ff 7f    andl    $2147483647, %edx
     10000250c:    8d 8a 00 00 80 c7    leal    -947912704(%rdx), %ecx
     100002512:    8d b2 00 00 80 b8    leal    -1199570944(%rdx), %esi
     100002518:    39 f1    cmpl    %esi, %ecx
     10000251a:    73 23    jae    0x10000253f
     10000251c:    89 c1    movl    %eax, %ecx
     10000251e:    c1 e9 0d    shrl    $13, %ecx
     100002521:    0f b7 c9    movzwl    %cx, %ecx
     100002524:    89 c2    movl    %eax, %edx
     100002526:    81 e2 ff 1f 00 00    andl    $8191, %edx
     10000252c:    81 fa 01 10 00 00    cmpl    $4097, %edx
     100002532:    72 26    jb    0x10000255a
     100002534:    81 c1 01 40 fe ff    addl    $4294852609, %ecx
     10000253a:    e9 93 00 00 00    jmp    0x1000025d2
     10000253f:    81 fa 01 00 80 7f    cmpl    $2139095041, %edx
     100002545:    72 2b    jb    0x100002572
     100002547:    89 c1    movl    %eax, %ecx
     100002549:    c1 e9 0d    shrl    $13, %ecx
     10000254c:    81 e1 ff 01 00 00    andl    $511, %ecx
     100002552:    81 c9 00 7e 00 00    orl    $32256, %ecx
     100002558:    eb 78    jmp    0x1000025d2
     10000255a:    81 c1 00 40 fe ff    addl    $4294852608, %ecx
     100002560:    81 fa 00 10 00 00    cmpl    $4096, %edx
     100002566:    75 6a    jne    0x1000025d2
     100002568:    0f b7 d1    movzwl    %cx, %edx
     10000256b:    83 e1 01    andl    $1, %ecx
     10000256e:    01 d1    addl    %edx, %ecx
     100002570:    eb 60    jmp    0x1000025d2
     100002572:    b9 00 7c 00 00    movl    $31744, %ecx
     100002577:    81 fa ff ff 7f 47    cmpl    $1199570943, %edx
     10000257d:    77 53    ja    0x1000025d2
     10000257f:    31 c9    xorl    %ecx, %ecx
     100002581:    81 fa 00 00 00 2d    cmpl    $754974720, %edx
     100002587:    72 49    jb    0x1000025d2
     100002589:    c1 ea 17    shrl    $23, %edx
     10000258c:    89 c6    movl    %eax, %esi
     10000258e:    81 e6 ff ff 7f 00    andl    $8388607, %esi
     100002594:    81 ce 00 00 80 00    orl    $8388608, %esi
     10000259a:    8d 4a af    leal    -81(%rdx), %ecx
     10000259d:    89 f7    movl    %esi, %edi
     10000259f:    d3 e7    shll    %cl, %edi
     1000025a1:    45 31 c0    xorl    %r8d, %r8d
     1000025a4:    85 ff    testl    %edi, %edi
     1000025a6:    41 0f 95 c0    setne    %r8b
     1000025aa:    b1 71    movb    $113, %cl
     1000025ac:    28 d1    subb    %dl, %cl
     1000025ae:    d3 ee    shrl    %cl, %esi
     1000025b0:    89 f1    movl    %esi, %ecx
     1000025b2:    c1 e9 0d    shrl    $13, %ecx
     1000025b5:    81 e6 ff 1f 00 00    andl    $8191, %esi
     1000025bb:    44 09 c6    orl    %r8d, %esi
     1000025be:    81 fe 01 10 00 00    cmpl    $4097, %esi
     1000025c4:    72 04    jb    0x1000025ca
     1000025c6:    ff c1    incl    %ecx
     1000025c8:    eb 08    jmp    0x1000025d2
     1000025ca:    81 fe 00 10 00 00    cmpl    $4096, %esi
     1000025d0:    74 96    je    0x100002568
     1000025d2:    c1 e8 10    shrl    $16, %eax
     1000025d5:    25 00 80 00 00    andl    $32768, %eax
     1000025da:    09 c8    orl    %ecx, %eax
     1000025dc:    0f b7 c0    movzwl    %ax, %eax
     1000025df:    c3    retq
     ___gnu_f2h_ieee:
     1000025e0:    e9 1b ff ff ff    jmp    ___truncsfhf2
     1000025e5:    90    nop
     1000025e6:    90    nop
     1000025e7:    90    nop
     1000025e8:    90    nop
     1000025e9:    90    nop
     1000025ea:    90    nop
     1000025eb:    90    nop
     1000025ec:    90    nop
     1000025ed:    90    nop
     1000025ee:    90    nop
     1000025ef:    90    nop
     ___emutls_get_address:
     1000025f0:    41 57    pushq    %r15
     1000025f2:    41 56    pushq    %r14
     1000025f4:    41 55    pushq    %r13
     1000025f6:    41 54    pushq    %r12
     1000025f8:    53    pushq    %rbx
     1000025f9:    49 89 fe    movq    %rdi, %r14
     1000025fc:    4c 8b 6f 10    movq    16(%rdi), %r13
     100002600:    4d 85 ed    testq    %r13, %r13
     100002603:    74 6c    je    0x100002671
     100002605:    48 8b 3d 6c 5c 00 00    movq    _emutls_pthread_key(%rip), %rdi
     10000260c:    e8 d7 0c 00 00    callq    0x1000032e8 ## symbol stub for: _pthread_getspecific
     100002611:    48 85 c0    testq    %rax, %rax
     100002614:    0f 84 b5 00 00 00    je    0x1000026cf
     10000261a:    49 89 c7    movq    %rax, %r15
     10000261d:    4c 8b 60 08    movq    8(%rax), %r12
     100002621:    4d 39 ec    cmpq    %r13, %r12
     100002624:    0f 83 fa 00 00 00    jae    0x100002724
     10000262a:    49 8d 5d 11    leaq    17(%r13), %rbx
     10000262e:    48 83 e3 f0    andq    $-16, %rbx
     100002632:    48 8d 34 dd f0 ff ff ff    leaq    -16(,%rbx,8), %rsi
     10000263a:    48 83 c6 10    addq    $16, %rsi
     10000263e:    4c 89 ff    movq    %r15, %rdi
     100002641:    e8 c6 0c 00 00    callq    0x10000330c ## symbol stub for: _realloc
     100002646:    48 85 c0    testq    %rax, %rax
     100002649:    0f 84 4e 01 00 00    je    0x10000279d
     10000264f:    49 89 c7    movq    %rax, %r15
     100002652:    48 83 c3 fe    addq    $-2, %rbx
     100002656:    4a 8d 7c e0 10    leaq    16(%rax,%r12,8), %rdi
     10000265b:    48 89 da    movq    %rbx, %rdx
     10000265e:    4c 29 e2    subq    %r12, %rdx
     100002661:    48 c1 e2 03    shlq    $3, %rdx
     100002665:    31 f6    xorl    %esi, %esi
     100002667:    e8 70 0c 00 00    callq    0x1000032dc ## symbol stub for: _memset
     10000266c:    e9 a0 00 00 00    jmp    0x100002711
     100002671:    48 8d 3d 80 5b 00 00    leaq    _emutls_init_once.once(%rip), %rdi
     100002678:    48 8d 35 31 01 00 00    leaq    _emutls_init(%rip), %rsi
     10000267f:    e8 7c 0c 00 00    callq    0x100003300 ## symbol stub for: _pthread_once
     100002684:    48 8d 3d 7d 5b 00 00    leaq    _emutls_mutex(%rip), %rdi
     10000268b:    e8 64 0c 00 00    callq    0x1000032f4 ## symbol stub for: _pthread_mutex_lock
     100002690:    4d 8b 6e 10    movq    16(%r14), %r13
     100002694:    4d 85 ed    testq    %r13, %r13
     100002697:    75 15    jne    0x1000026ae
     100002699:    4c 8b 2d d0 5b 00 00    movq    _emutls_num_object(%rip), %r13
     1000026a0:    49 ff c5    incq    %r13
     1000026a3:    4c 89 2d c6 5b 00 00    movq    %r13, _emutls_num_object(%rip)
     1000026aa:    4d 89 6e 10    movq    %r13, 16(%r14)
     1000026ae:    48 8d 3d 53 5b 00 00    leaq    _emutls_mutex(%rip), %rdi
     1000026b5:    e8 40 0c 00 00    callq    0x1000032fa ## symbol stub for: _pthread_mutex_unlock
     1000026ba:    48 8b 3d b7 5b 00 00    movq    _emutls_pthread_key(%rip), %rdi
     1000026c1:    e8 22 0c 00 00    callq    0x1000032e8 ## symbol stub for: _pthread_getspecific
     1000026c6:    48 85 c0    testq    %rax, %rax
     1000026c9:    0f 85 4b ff ff ff    jne    0x10000261a
     1000026cf:    49 8d 5d 11    leaq    17(%r13), %rbx
     1000026d3:    48 83 e3 f0    andq    $-16, %rbx
     1000026d7:    4c 8d 24 dd f0 ff ff ff    leaq    -16(,%rbx,8), %r12
     1000026df:    49 8d 7c 24 10    leaq    16(%r12), %rdi
     1000026e4:    e8 e7 0b 00 00    callq    0x1000032d0 ## symbol stub for: _malloc
     1000026e9:    48 85 c0    testq    %rax, %rax
     1000026ec:    0f 84 ab 00 00 00    je    0x10000279d
     1000026f2:    49 89 c7    movq    %rax, %r15
     1000026f5:    48 83 c3 fe    addq    $-2, %rbx
     1000026f9:    48 89 c7    movq    %rax, %rdi
     1000026fc:    48 83 c7 10    addq    $16, %rdi
     100002700:    31 f6    xorl    %esi, %esi
     100002702:    4c 89 e2    movq    %r12, %rdx
     100002705:    e8 d2 0b 00 00    callq    0x1000032dc ## symbol stub for: _memset
     10000270a:    49 c7 07 00 00 00 00    movq    $0, (%r15)
     100002711:    49 89 5f 08    movq    %rbx, 8(%r15)
     100002715:    48 8b 3d 5c 5b 00 00    movq    _emutls_pthread_key(%rip), %rdi
     10000271c:    4c 89 fe    movq    %r15, %rsi
     10000271f:    e8 e2 0b 00 00    callq    0x100003306 ## symbol stub for: _pthread_setspecific
     100002724:    4b 8b 5c ef 08    movq    8(%r15,%r13,8), %rbx
     100002729:    48 85 db    testq    %rbx, %rbx
     10000272c:    75 62    jne    0x100002790
     10000272e:    49 8b 46 08    movq    8(%r14), %rax
     100002732:    48 83 f8 08    cmpq    $8, %rax
     100002736:    bb 08 00 00 00    movl    $8, %ebx
     10000273b:    48 0f 47 d8    cmovaq    %rax, %rbx
     10000273f:    48 8d 43 ff    leaq    -1(%rbx), %rax
     100002743:    48 85 c3    testq    %rax, %rbx
     100002746:    75 55    jne    0x10000279d
     100002748:    4d 8b 26    movq    (%r14), %r12
     10000274b:    4a 8d 7c 23 07    leaq    7(%rbx,%r12), %rdi
     100002750:    e8 7b 0b 00 00    callq    0x1000032d0 ## symbol stub for: _malloc
     100002755:    48 85 c0    testq    %rax, %rax
     100002758:    74 43    je    0x10000279d
     10000275a:    48 8d 4b 07    leaq    7(%rbx), %rcx
     10000275e:    48 01 c1    addq    %rax, %rcx
     100002761:    48 f7 db    negq    %rbx
     100002764:    48 21 cb    andq    %rcx, %rbx
     100002767:    48 89 43 f8    movq    %rax, -8(%rbx)
     10000276b:    49 8b 76 18    movq    24(%r14), %rsi
     10000276f:    48 89 df    movq    %rbx, %rdi
     100002772:    48 85 f6    testq    %rsi, %rsi
     100002775:    74 0a    je    0x100002781
     100002777:    4c 89 e2    movq    %r12, %rdx
     10000277a:    e8 57 0b 00 00    callq    0x1000032d6 ## symbol stub for: _memcpy
     10000277f:    eb 0a    jmp    0x10000278b
     100002781:    31 f6    xorl    %esi, %esi
     100002783:    4c 89 e2    movq    %r12, %rdx
     100002786:    e8 51 0b 00 00    callq    0x1000032dc ## symbol stub for: _memset
     10000278b:    4b 89 5c ef 08    movq    %rbx, 8(%r15,%r13,8)
     100002790:    48 89 d8    movq    %rbx, %rax
     100002793:    5b    popq    %rbx
     100002794:    41 5c    popq    %r12
     100002796:    41 5d    popq    %r13
     100002798:    41 5e    popq    %r14
     10000279a:    41 5f    popq    %r15
     10000279c:    c3    retq
     10000279d:    e8 ec 0a 00 00    callq    0x10000328e ## symbol stub for: _abort
     1000027a2:    66 2e 0f 1f 84 00 00 00 00 00    nopw    %cs:(%rax,%rax)
     1000027ac:    0f 1f 40 00    nopl    (%rax)
     _emutls_init:
     1000027b0:    50    pushq    %rax
     1000027b1:    48 8d 3d c0 5a 00 00    leaq    _emutls_pthread_key(%rip), %rdi
     1000027b8:    48 8d 35 11 00 00 00    leaq    _emutls_key_destructor(%rip), %rsi
     1000027bf:    e8 2a 0b 00 00    callq    0x1000032ee ## symbol stub for: _pthread_key_create
     1000027c4:    85 c0    testl    %eax, %eax
     1000027c6:    75 02    jne    0x1000027ca
     1000027c8:    58    popq    %rax
     1000027c9:    c3    retq
     1000027ca:    e8 bf 0a 00 00    callq    0x10000328e ## symbol stub for: _abort
     1000027cf:    90    nop
     _emutls_key_destructor:
     1000027d0:    41 56    pushq    %r14
     1000027d2:    53    pushq    %rbx
     1000027d3:    50    pushq    %rax
     1000027d4:    49 89 fe    movq    %rdi, %r14
     1000027d7:    48 8b 07    movq    (%rdi), %rax
     1000027da:    48 85 c0    testq    %rax, %rax
     1000027dd:    74 1c    je    0x1000027fb
     1000027df:    48 ff c8    decq    %rax
     1000027e2:    49 89 06    movq    %rax, (%r14)
     1000027e5:    48 8b 3d 8c 5a 00 00    movq    _emutls_pthread_key(%rip), %rdi
     1000027ec:    4c 89 f6    movq    %r14, %rsi
     1000027ef:    48 83 c4 08    addq    $8, %rsp
     1000027f3:    5b    popq    %rbx
     1000027f4:    41 5e    popq    %r14
     1000027f6:    e9 0b 0b 00 00    jmp    0x100003306 ## symbol stub for: _pthread_setspecific
     1000027fb:    49 8b 46 08    movq    8(%r14), %rax
     1000027ff:    48 85 c0    testq    %rax, %rax
     100002802:    74 2d    je    0x100002831
     100002804:    31 db    xorl    %ebx, %ebx
     100002806:    eb 10    jmp    0x100002818
     100002808:    0f 1f 84 00 00 00 00 00    nopl    (%rax,%rax)
     100002810:    48 ff c3    incq    %rbx
     100002813:    48 39 c3    cmpq    %rax, %rbx
     100002816:    73 19    jae    0x100002831
     100002818:    49 8b 4c de 10    movq    16(%r14,%rbx,8), %rcx
     10000281d:    48 85 c9    testq    %rcx, %rcx
     100002820:    74 ee    je    0x100002810
     100002822:    48 8b 79 f8    movq    -8(%rcx), %rdi
     100002826:    e8 8d 0a 00 00    callq    0x1000032b8 ## symbol stub for: _free
     10000282b:    49 8b 46 08    movq    8(%r14), %rax
     10000282f:    eb df    jmp    0x100002810
     100002831:    4c 89 f7    movq    %r14, %rdi
     100002834:    48 83 c4 08    addq    $8, %rsp
     100002838:    5b    popq    %rbx
     100002839:    41 5e    popq    %r14
     10000283b:    e9 78 0a 00 00    jmp    0x1000032b8 ## symbol stub for: _free
     _atomic_flag_clear:
     100002840:    31 c0    xorl    %eax, %eax
     100002842:    86 07    xchgb    %al, (%rdi)
     100002844:    c3    retq
     100002845:    90    nop
     100002846:    90    nop
     100002847:    90    nop
     100002848:    90    nop
     100002849:    90    nop
     10000284a:    90    nop
     10000284b:    90    nop
     10000284c:    90    nop
     10000284d:    90    nop
     10000284e:    90    nop
     10000284f:    90    nop
     _atomic_flag_clear_explicit:
     100002850:    83 fe 03    cmpl    $3, %esi
     100002853:    74 0a    je    0x10000285f
     100002855:    83 fe 05    cmpl    $5, %esi
     100002858:    75 05    jne    0x10000285f
     10000285a:    31 c0    xorl    %eax, %eax
     10000285c:    86 07    xchgb    %al, (%rdi)
     10000285e:    c3    retq
     10000285f:    c6 07 00    movb    $0, (%rdi)
     100002862:    c3    retq
     100002863:    90    nop
     100002864:    90    nop
     100002865:    90    nop
     100002866:    90    nop
     100002867:    90    nop
     100002868:    90    nop
     100002869:    90    nop
     10000286a:    90    nop
     10000286b:    90    nop
     10000286c:    90    nop
     10000286d:    90    nop
     10000286e:    90    nop
     10000286f:    90    nop
     _atomic_flag_test_and_set:
     100002870:    b0 01    movb    $1, %al
     100002872:    86 07    xchgb    %al, (%rdi)
     100002874:    24 01    andb    $1, %al
     100002876:    c3    retq
     100002877:    90    nop
     100002878:    90    nop
     100002879:    90    nop
     10000287a:    90    nop
     10000287b:    90    nop
     10000287c:    90    nop
     10000287d:    90    nop
     10000287e:    90    nop
     10000287f:    90    nop
     _atomic_flag_test_and_set_explicit:
     100002880:    ff ce    decl    %esi
     100002882:    83 fe 04    cmpl    $4, %esi
     100002885:    77 10    ja    0x100002897
     100002887:    48 8d 05 12 00 00 00    leaq    18(%rip), %rax
     10000288e:    48 63 0c b0    movslq    (%rax,%rsi,4), %rcx
     100002892:    48 01 c1    addq    %rax, %rcx
     100002895:    ff e1    jmpq    *%rcx
     100002897:    b0 01    movb    $1, %al
     100002899:    86 07    xchgb    %al, (%rdi)
     10000289b:    24 01    andb    $1, %al
     10000289d:    c3    retq
     10000289e:    66 90    nop
     1000028a0:    f7 ff ff ff    .long 4294967287    @ KIND_JUMP_TABLE32
     1000028a4:    f7 ff ff ff    .long 4294967287    @ KIND_JUMP_TABLE32
     1000028a8:    f7 ff ff ff    .long 4294967287    @ KIND_JUMP_TABLE32
     1000028ac:    f7 ff ff ff    .long 4294967287    @ KIND_JUMP_TABLE32
     1000028b0:    f7 ff ff ff    .long 4294967287    @ KIND_JUMP_TABLE32
     1000028b4:    90    nop
     1000028b5:    90    nop
     1000028b6:    90    nop
     1000028b7:    90    nop
     1000028b8:    90    nop
     1000028b9:    90    nop
     1000028ba:    90    nop
     1000028bb:    90    nop
     1000028bc:    90    nop
     1000028bd:    90    nop
     1000028be:    90    nop
     1000028bf:    90    nop
     _atomic_signal_fence:
     1000028c0:    ff cf    decl    %edi
     1000028c2:    83 ff 04    cmpl    $4, %edi
     1000028c5:    77 10    ja    0x1000028d7
     1000028c7:    48 8d 05 0a 00 00 00    leaq    10(%rip), %rax
     1000028ce:    48 63 0c b8    movslq    (%rax,%rdi,4), %rcx
     1000028d2:    48 01 c1    addq    %rax, %rcx
     1000028d5:    ff e1    jmpq    *%rcx
     1000028d7:    c3    retq
     1000028d8:    ff ff ff ff    .long 4294967295    @ KIND_JUMP_TABLE32
     1000028dc:    ff ff ff ff    .long 4294967295    @ KIND_JUMP_TABLE32
     1000028e0:    ff ff ff ff    .long 4294967295    @ KIND_JUMP_TABLE32
     1000028e4:    ff ff ff ff    .long 4294967295    @ KIND_JUMP_TABLE32
     1000028e8:    ff ff ff ff    .long 4294967295    @ KIND_JUMP_TABLE32
     1000028ec:    90    nop
     1000028ed:    90    nop
     1000028ee:    90    nop
     1000028ef:    90    nop
     _atomic_thread_fence:
     1000028f0:    ff cf    decl    %edi
     1000028f2:    83 ff 04    cmpl    $4, %edi
     1000028f5:    77 14    ja    0x10000290b
     1000028f7:    48 8d 05 0e 00 00 00    leaq    14(%rip), %rax
     1000028fe:    48 63 0c b8    movslq    (%rax,%rdi,4), %rcx
     100002902:    48 01 c1    addq    %rax, %rcx
     100002905:    ff e1    jmpq    *%rcx
     100002907:    c3    retq
     100002908:    0f ae f0    mfence
     10000290b:    c3    retq
     10000290c:    fb ff ff ff    .long 4294967291    @ KIND_JUMP_TABLE32
     100002910:    fb ff ff ff    .long 4294967291    @ KIND_JUMP_TABLE32
     100002914:    fb ff ff ff    .long 4294967291    @ KIND_JUMP_TABLE32
     100002918:    fb ff ff ff    .long 4294967291    @ KIND_JUMP_TABLE32
     10000291c:    fc ff ff ff    .long 4294967292    @ KIND_JUMP_TABLE32
     ___chkstk_darwin_probe:
     100002920:    51    pushq    %rcx
     100002921:    50    pushq    %rax
     100002922:    48 3d 00 10 00 00    cmpq    $4096, %rax
     100002928:    48 8d 4c 24 18    leaq    24(%rsp), %rcx
     10000292d:    72 18    jb    0x100002947
     10000292f:    48 81 e9 00 10 00 00    subq    $4096, %rcx
     100002936:    48 85 09    testq    %rcx, (%rcx)
     100002939:    48 2d 00 10 00 00    subq    $4096, %rax
     10000293f:    48 3d 00 10 00 00    cmpq    $4096, %rax
     100002945:    77 e8    ja    0x10000292f
     100002947:    48 29 c1    subq    %rax, %rcx
     10000294a:    48 85 09    testq    %rcx, (%rcx)
     10000294d:    58    popq    %rax
     10000294e:    59    popq    %rcx
     10000294f:    c3    retq
     ____chkstk_darwin:
     100002950:    e9 cb ff ff ff    jmp    ___chkstk_darwin_probe
     100002955:    90    nop
     100002956:    90    nop
     100002957:    90    nop
     100002958:    90    nop
     100002959:    90    nop
     10000295a:    90    nop
     10000295b:    90    nop
     10000295c:    90    nop
     10000295d:    90    nop
     10000295e:    90    nop
     10000295f:    90    nop
     ___cpu_indicator_init:
     100002960:    55    pushq    %rbp
     100002961:    41 57    pushq    %r15
     100002963:    41 56    pushq    %r14
     100002965:    41 55    pushq    %r13
     100002967:    41 54    pushq    %r12
     100002969:    53    pushq    %rbx
     10000296a:    50    pushq    %rax
     10000296b:    31 c0    xorl    %eax, %eax
     10000296d:    83 3d 0c 59 00 00 00    cmpl    $0, 22796(%rip)
     100002974:    0f 85 e7 05 00 00    jne    0x100002f61
     10000297a:    31 c0    xorl    %eax, %eax
     10000297c:    48 89 de    movq    %rbx, %rsi
     10000297f:    0f a2    cpuid
     100002981:    48 87 f3    xchgq    %rbx, %rsi
     100002984:    85 c0    testl    %eax, %eax
     100002986:    0f 84 10 01 00 00    je    0x100002a9c
     10000298c:    41 89 f1    movl    %esi, %r9d
     10000298f:    41 89 c2    movl    %eax, %r10d
     100002992:    b8 01 00 00 00    movl    $1, %eax
     100002997:    48 89 de    movq    %rbx, %rsi
     10000299a:    0f a2    cpuid
     10000299c:    48 87 f3    xchgq    %rbx, %rsi
     10000299f:    41 89 c8    movl    %ecx, %r8d
     1000029a2:    41 89 c7    movl    %eax, %r15d
     1000029a5:    41 c1 ef 08    shrl    $8, %r15d
     1000029a9:    41 83 e7 0f    andl    $15, %r15d
     1000029ad:    41 89 c3    movl    %eax, %r11d
     1000029b0:    41 c1 eb 04    shrl    $4, %r11d
     1000029b4:    41 83 e3 0f    andl    $15, %r11d
     1000029b8:    41 83 ff 06    cmpl    $6, %r15d
     1000029bc:    89 74 24 04    movl    %esi, 4(%rsp)
     1000029c0:    74 13    je    0x1000029d5
     1000029c2:    41 83 ff 0f    cmpl    $15, %r15d
     1000029c6:    75 18    jne    0x1000029e0
     1000029c8:    89 c1    movl    %eax, %ecx
     1000029ca:    c1 e9 14    shrl    $20, %ecx
     1000029cd:    44 0f b6 f9    movzbl    %cl, %r15d
     1000029d1:    41 83 c7 0f    addl    $15, %r15d
     1000029d5:    c1 e8 0c    shrl    $12, %eax
     1000029d8:    25 f0 00 00 00    andl    $240, %eax
     1000029dd:    41 09 c3    orl    %eax, %r11d
     1000029e0:    89 d0    movl    %edx, %eax
     1000029e2:    c1 e8 0f    shrl    $15, %eax
     1000029e5:    83 e0 01    andl    $1, %eax
     1000029e8:    c1 ea 16    shrl    $22, %edx
     1000029eb:    41 89 d6    movl    %edx, %r14d
     1000029ee:    41 83 e6 02    andl    $2, %r14d
     1000029f2:    41 89 d4    movl    %edx, %r12d
     1000029f5:    41 83 e4 08    andl    $8, %r12d
     1000029f9:    83 e2 10    andl    $16, %edx
     1000029fc:    44 89 c3    movl    %r8d, %ebx
     1000029ff:    c1 e3 05    shll    $5, %ebx
     100002a02:    83 e3 20    andl    $32, %ebx
     100002a05:    44 89 c5    movl    %r8d, %ebp
     100002a08:    83 e5 02    andl    $2, %ebp
     100002a0b:    c1 e5 12    shll    $18, %ebp
     100002a0e:    09 dd    orl    %ebx, %ebp
     100002a10:    44 89 c3    movl    %r8d, %ebx
     100002a13:    c1 eb 03    shrl    $3, %ebx
     100002a16:    83 e3 40    andl    $64, %ebx
     100002a19:    09 eb    orl    %ebp, %ebx
     100002a1b:    44 89 c7    movl    %r8d, %edi
     100002a1e:    81 e7 00 10 00 00    andl    $4096, %edi
     100002a24:    44 89 c6    movl    %r8d, %esi
     100002a27:    c1 ee 0c    shrl    $12, %esi
     100002a2a:    41 89 f5    movl    %esi, %r13d
     100002a2d:    41 81 e5 80 00 00 00    andl    $128, %r13d
     100002a34:    81 e6 00 01 00 00    andl    $256, %esi
     100002a3a:    44 89 c5    movl    %r8d, %ebp
     100002a3d:    c1 ed 15    shrl    $21, %ebp
     100002a40:    83 e5 04    andl    $4, %ebp
     100002a43:    44 89 c1    movl    %r8d, %ecx
     100002a46:    c1 e9 07    shrl    $7, %ecx
     100002a49:    81 e1 00 00 04 00    andl    $262144, %ecx
     100002a4f:    09 c1    orl    %eax, %ecx
     100002a51:    44 09 f1    orl    %r14d, %ecx
     100002a54:    44 09 e1    orl    %r12d, %ecx
     100002a57:    09 d1    orl    %edx, %ecx
     100002a59:    8d 3c bb    leal    (%rbx,%rdi,4), %edi
     100002a5c:    44 09 ef    orl    %r13d, %edi
     100002a5f:    09 f7    orl    %esi, %edi
     100002a61:    09 ef    orl    %ebp, %edi
     100002a63:    09 cf    orl    %ecx, %edi
     100002a65:    41 81 e0 00 00 00 18    andl    $402653184, %r8d
     100002a6c:    31 ed    xorl    %ebp, %ebp
     100002a6e:    41 81 f8 00 00 00 18    cmpl    $402653184, %r8d
     100002a75:    75 39    jne    0x100002ab0
     100002a77:    31 c9    xorl    %ecx, %ecx
     100002a79:    0f 01 d0    xgetbv
     100002a7c:    83 e0 06    andl    $6, %eax
     100002a7f:    89 f9    movl    %edi, %ecx
     100002a81:    81 c9 00 02 00 00    orl    $512, %ecx
     100002a87:    83 f8 06    cmpl    $6, %eax
     100002a8a:    41 0f 94 c6    sete    %r14b
     100002a8e:    0f 44 f9    cmovel    %ecx, %edi
     100002a91:    41 83 fa 07    cmpl    $7, %r10d
     100002a95:    73 26    jae    0x100002abd
     100002a97:    e9 2e 01 00 00    jmp    0x100002bca
     100002a9c:    c7 05 da 57 00 00 03 00 00 00    movl    $3, 22490(%rip)
     100002aa6:    b8 ff ff ff ff    movl    $4294967295, %eax
     100002aab:    e9 b1 04 00 00    jmp    0x100002f61
     100002ab0:    45 31 f6    xorl    %r14d, %r14d
     100002ab3:    41 83 fa 07    cmpl    $7, %r10d
     100002ab7:    0f 82 0d 01 00 00    jb    0x100002bca
     100002abd:    b8 07 00 00 00    movl    $7, %eax
     100002ac2:    31 c9    xorl    %ecx, %ecx
     100002ac4:    48 89 de    movq    %rbx, %rsi
     100002ac7:    0f a2    cpuid
     100002ac9:    48 87 f3    xchgq    %rbx, %rsi
     100002acc:    41 89 d2    movl    %edx, %r10d
     100002acf:    89 f2    movl    %esi, %edx
     100002ad1:    83 e2 08    andl    $8, %edx
     100002ad4:    c1 e2 0d    shll    $13, %edx
     100002ad7:    09 fa    orl    %edi, %edx
     100002ad9:    89 d0    movl    %edx, %eax
     100002adb:    0d 00 04 00 00    orl    $1024, %eax
     100002ae0:    40 f6 c6 20    testb    $32, %sil
     100002ae4:    0f 44 c2    cmovel    %edx, %eax
     100002ae7:    89 f7    movl    %esi, %edi
     100002ae9:    c1 e7 09    shll    $9, %edi
     100002aec:    81 e7 00 00 02 00    andl    $131072, %edi
     100002af2:    89 f3    movl    %esi, %ebx
     100002af4:    d1 eb    shrl    %ebx
     100002af6:    89 dd    movl    %ebx, %ebp
     100002af8:    81 e5 00 80 00 00    andl    $32768, %ebp
     100002afe:    09 fd    orl    %edi, %ebp
     100002b00:    89 f7    movl    %esi, %edi
     100002b02:    c1 e7 05    shll    $5, %edi
     100002b05:    81 e7 00 00 40 00    andl    $4194304, %edi
     100002b0b:    09 ef    orl    %ebp, %edi
     100002b0d:    89 f5    movl    %esi, %ebp
     100002b0f:    c1 e5 06    shll    $6, %ebp
     100002b12:    81 e5 00 00 00 08    andl    $134217728, %ebp
     100002b18:    09 fd    orl    %edi, %ebp
     100002b1a:    81 e3 00 00 00 02    andl    $33554432, %ebx
     100002b20:    09 eb    orl    %ebp, %ebx
     100002b22:    89 f7    movl    %esi, %edi
     100002b24:    c1 ef 03    shrl    $3, %edi
     100002b27:    81 e7 00 00 00 01    andl    $16777216, %edi
     100002b2d:    09 df    orl    %ebx, %edi
     100002b2f:    89 f5    movl    %esi, %ebp
     100002b31:    c1 ed 05    shrl    $5, %ebp
     100002b34:    81 e5 00 00 80 00    andl    $8388608, %ebp
     100002b3a:    09 fd    orl    %edi, %ebp
     100002b3c:    89 f3    movl    %esi, %ebx
     100002b3e:    c1 eb 09    shrl    $9, %ebx
     100002b41:    81 e3 00 00 20 00    andl    $2097152, %ebx
     100002b47:    09 eb    orl    %ebp, %ebx
     100002b49:    89 cf    movl    %ecx, %edi
     100002b4b:    c1 e9 08    shrl    $8, %ecx
     100002b4e:    83 e1 01    andl    $1, %ecx
     100002b51:    44 8d 61 02    leal    2(%rcx), %r12d
     100002b55:    f7 c7 00 04 00 00    testl    $1024, %edi
     100002b5b:    44 0f 44 e1    cmovel    %ecx, %r12d
     100002b5f:    45 84 f6    testb    %r14b, %r14b
     100002b62:    0f 44 c2    cmovel    %edx, %eax
     100002b65:    44 0f 44 e1    cmovel    %ecx, %r12d
     100002b69:    09 d8    orl    %ebx, %eax
     100002b6b:    89 c3    movl    %eax, %ebx
     100002b6d:    81 cb 00 00 10 00    orl    $1048576, %ebx
     100002b73:    85 f6    testl    %esi, %esi
     100002b75:    0f 49 d8    cmovnsl    %eax, %ebx
     100002b78:    b8 07 00 00 00    movl    $7, %eax
     100002b7d:    b9 01 00 00 00    movl    $1, %ecx
     100002b82:    48 89 de    movq    %rbx, %rsi
     100002b85:    0f a2    cpuid
     100002b87:    48 87 f3    xchgq    %rbx, %rsi
     100002b8a:    89 fd    movl    %edi, %ebp
     100002b8c:    c1 ed 09    shrl    $9, %ebp
     100002b8f:    89 f9    movl    %edi, %ecx
     100002b91:    c1 e1 10    shll    $16, %ecx
     100002b94:    81 e1 00 00 00 40    andl    $1073741824, %ecx
     100002b9a:    41 c1 e2 1a    shll    $26, %r10d
     100002b9e:    44 89 d2    movl    %r10d, %edx
     100002ba1:    81 e2 00 00 00 10    andl    $268435456, %edx
     100002ba7:    41 81 e2 00 00 00 20    andl    $536870912, %r10d
     100002bae:    83 e7 c2    andl    $-62, %edi
     100002bb1:    c1 e7 19    shll    $25, %edi
     100002bb4:    09 cf    orl    %ecx, %edi
     100002bb6:    09 d7    orl    %edx, %edi
     100002bb8:    44 09 d7    orl    %r10d, %edi
     100002bbb:    09 df    orl    %ebx, %edi
     100002bbd:    d1 e8    shrl    %eax
     100002bbf:    83 e0 10    andl    $16, %eax
     100002bc2:    83 e5 0c    andl    $12, %ebp
     100002bc5:    09 c5    orl    %eax, %ebp
     100002bc7:    44 09 e5    orl    %r12d, %ebp
     100002bca:    b8 00 00 00 80    movl    $2147483648, %eax
     100002bcf:    48 89 de    movq    %rbx, %rsi
     100002bd2:    0f a2    cpuid
     100002bd4:    48 87 f3    xchgq    %rbx, %rsi
     100002bd7:    3d 01 00 00 80    cmpl    $2147483649, %eax
     100002bdc:    73 75    jae    0x100002c53
     100002bde:    89 3d a8 56 00 00    movl    %edi, 22184(%rip)
     100002be4:    89 2d a6 56 00 00    movl    %ebp, ___cpu_features2(%rip)
     100002bea:    41 81 f9 41 75 74 68    cmpl    $1752462657, %r9d
     100002bf1:    0f 84 a8 00 00 00    je    0x100002c9f
     100002bf7:    b8 03 00 00 00    movl    $3, %eax
     100002bfc:    41 81 f9 47 65 6e 75    cmpl    $1970169159, %r9d
     100002c03:    0f 85 3e 03 00 00    jne    0x100002f47
     100002c09:    b8 01 00 00 00    movl    $1, %eax
     100002c0e:    80 7c 24 04 00    cmpb    $0, 4(%rsp)
     100002c13:    0f 85 2e 03 00 00    jne    0x100002f47
     100002c19:    41 83 ff 06    cmpl    $6, %r15d
     100002c1d:    0f 85 24 03 00 00    jne    0x100002f47
     100002c23:    41 83 c3 f1    addl    $-15, %r11d
     100002c27:    41 81 fb 8f 00 00 00    cmpl    $143, %r11d
     100002c2e:    0f 87 13 03 00 00    ja    0x100002f47
     100002c34:    48 8d 0d 61 03 00 00    leaq    865(%rip), %rcx
     100002c3b:    4a 63 14 99    movslq    (%rcx,%r11,4), %rdx
     100002c3f:    48 01 ca    addq    %rcx, %rdx
     100002c42:    ff e2    jmpq    *%rdx
     100002c44:    c7 05 36 56 00 00 06 00 00 00    movl    $6, ___cpu_model(%rip)
     100002c4e:    e9 f4 02 00 00    jmp    0x100002f47
     100002c53:    b8 01 00 00 80    movl    $2147483649, %eax
     100002c58:    48 89 de    movq    %rbx, %rsi
     100002c5b:    0f a2    cpuid
     100002c5d:    48 87 f3    xchgq    %rbx, %rsi
     100002c60:    89 c8    movl    %ecx, %eax
     100002c62:    83 e0 40    andl    $64, %eax
     100002c65:    c1 e0 05    shll    $5, %eax
     100002c68:    09 f8    orl    %edi, %eax
     100002c6a:    8d 14 8d 00 00 00 00    leal    (,%rcx,4), %edx
     100002c71:    81 e2 00 20 00 00    andl    $8192, %edx
     100002c77:    c1 e9 04    shrl    $4, %ecx
     100002c7a:    81 e1 00 10 00 00    andl    $4096, %ecx
     100002c80:    09 d1    orl    %edx, %ecx
     100002c82:    09 c1    orl    %eax, %ecx
     100002c84:    89 cf    movl    %ecx, %edi
     100002c86:    89 3d 00 56 00 00    movl    %edi, 22016(%rip)
     100002c8c:    89 2d fe 55 00 00    movl    %ebp, ___cpu_features2(%rip)
     100002c92:    41 81 f9 41 75 74 68    cmpl    $1752462657, %r9d
     100002c99:    0f 85 58 ff ff ff    jne    0x100002bf7
     100002c9f:    b8 02 00 00 00    movl    $2, %eax
     100002ca4:    41 83 c7 f0    addl    $-16, %r15d
     100002ca8:    41 83 ff 07    cmpl    $7, %r15d
     100002cac:    0f 87 95 02 00 00    ja    0x100002f47
     100002cb2:    48 8d 0d c3 02 00 00    leaq    707(%rip), %rcx
     100002cb9:    4a 63 14 b9    movslq    (%rcx,%r15,4), %rdx
     100002cbd:    48 01 ca    addq    %rcx, %rdx
     100002cc0:    ff e2    jmpq    *%rdx
     100002cc2:    c7 05 b8 55 00 00 04 00 00 00    movl    $4, ___cpu_model(%rip)
     100002ccc:    41 83 fb 08    cmpl    $8, %r11d
     100002cd0:    0f 84 d1 00 00 00    je    0x100002da7
     100002cd6:    41 83 fb 04    cmpl    $4, %r11d
     100002cda:    0f 84 d6 00 00 00    je    0x100002db6
     100002ce0:    41 83 fb 02    cmpl    $2, %r11d
     100002ce4:    0f 85 5d 02 00 00    jne    0x100002f47
     100002cea:    c7 05 94 55 00 00 04 00 00 00    movl    $4, 21908(%rip)
     100002cf4:    e9 4e 02 00 00    jmp    0x100002f47
     100002cf9:    c7 05 81 55 00 00 05 00 00 00    movl    $5, ___cpu_model(%rip)
     100002d03:    44 89 d9    movl    %r11d, %ecx
     100002d06:    83 e1 e0    andl    $-32, %ecx
     100002d09:    83 f9 60    cmpl    $96, %ecx
     100002d0c:    75 61    jne    0x100002d6f
     100002d0e:    c7 05 70 55 00 00 0a 00 00 00    movl    $10, 21872(%rip)
     100002d18:    e9 2a 02 00 00    jmp    0x100002f47
     100002d1d:    c7 05 5d 55 00 00 08 00 00 00    movl    $8, ___cpu_model(%rip)
     100002d27:    e9 1b 02 00 00    jmp    0x100002f47
     100002d2c:    c7 05 4e 55 00 00 09 00 00 00    movl    $9, ___cpu_model(%rip)
     100002d36:    e9 0c 02 00 00    jmp    0x100002f47
     100002d3b:    c7 05 3f 55 00 00 0a 00 00 00    movl    $10, ___cpu_model(%rip)
     100002d45:    41 83 fb 71    cmpl    $113, %r11d
     100002d49:    74 3e    je    0x100002d89
     100002d4b:    44 89 d9    movl    %r11d, %ecx
     100002d4e:    83 e1 f0    andl    $-16, %ecx
     100002d51:    83 f9 30    cmpl    $48, %ecx
     100002d54:    74 33    je    0x100002d89
     100002d56:    41 83 fb 0f    cmpl    $15, %r11d
     100002d5a:    0f 87 e7 01 00 00    ja    0x100002f47
     100002d60:    c7 05 1e 55 00 00 0b 00 00 00    movl    $11, 21790(%rip)
     100002d6a:    e9 d8 01 00 00    jmp    0x100002f47
     100002d6f:    44 89 d9    movl    %r11d, %ecx
     100002d72:    83 e1 f0    andl    $-16, %ecx
     100002d75:    83 f9 30    cmpl    $48, %ecx
     100002d78:    75 4b    jne    0x100002dc5
     100002d7a:    c7 05 04 55 00 00 09 00 00 00    movl    $9, 21764(%rip)
     100002d84:    e9 be 01 00 00    jmp    0x100002f47
     100002d89:    c7 05 f5 54 00 00 14 00 00 00    movl    $20, 21749(%rip)
     100002d93:    e9 af 01 00 00    jmp    0x100002f47
     100002d98:    c7 05 e2 54 00 00 01 00 00 00    movl    $1, ___cpu_model(%rip)
     100002da2:    e9 a0 01 00 00    jmp    0x100002f47
     100002da7:    c7 05 d7 54 00 00 06 00 00 00    movl    $6, 21719(%rip)
     100002db1:    e9 91 01 00 00    jmp    0x100002f47
     100002db6:    c7 05 c8 54 00 00 05 00 00 00    movl    $5, 21704(%rip)
     100002dc0:    e9 82 01 00 00    jmp    0x100002f47
     100002dc5:    41 83 fb 02    cmpl    $2, %r11d
     100002dc9:    0f 84 9f 00 00 00    je    0x100002e6e
     100002dcf:    83 f9 10    cmpl    $16, %ecx
     100002dd2:    0f 84 96 00 00 00    je    0x100002e6e
     100002dd8:    41 83 fb 0f    cmpl    $15, %r11d
     100002ddc:    0f 87 65 01 00 00    ja    0x100002f47
     100002de2:    c7 05 9c 54 00 00 07 00 00 00    movl    $7, 21660(%rip)
     100002dec:    e9 56 01 00 00    jmp    0x100002f47
     100002df1:    c7 05 89 54 00 00 02 00 00 00    movl    $2, ___cpu_model(%rip)
     100002dfb:    e9 47 01 00 00    jmp    0x100002f47
     100002e00:    48 b9 03 00 00 00 01 00 00 00    movabsq    $4294967299, %rcx
     100002e0a:    48 89 0d 73 54 00 00    movq    %rcx, 21619(%rip)
     100002e11:    e9 31 01 00 00    jmp    0x100002f47
     100002e16:    48 b9 03 00 00 00 0d 00 00 00    movabsq    $55834574851, %rcx
     100002e20:    48 89 0d 5d 54 00 00    movq    %rcx, 21597(%rip)
     100002e27:    e9 1b 01 00 00    jmp    0x100002f47
     100002e2c:    48 b9 03 00 00 00 0e 00 00 00    movabsq    $60129542147, %rcx
     100002e36:    48 89 0d 47 54 00 00    movq    %rcx, 21575(%rip)
     100002e3d:    e9 05 01 00 00    jmp    0x100002f47
     100002e42:    48 b9 03 00 00 00 0f 00 00 00    movabsq    $64424509443, %rcx
     100002e4c:    48 89 0d 31 54 00 00    movq    %rcx, 21553(%rip)
     100002e53:    e9 ef 00 00 00    jmp    0x100002f47
     100002e58:    48 b9 03 00 00 00 02 00 00 00    movabsq    $8589934595, %rcx
     100002e62:    48 89 0d 1b 54 00 00    movq    %rcx, 21531(%rip)
     100002e69:    e9 d9 00 00 00    jmp    0x100002f47
     100002e6e:    c7 05 10 54 00 00 08 00 00 00    movl    $8, 21520(%rip)
     100002e78:    e9 ca 00 00 00    jmp    0x100002f47
     100002e7d:    48 b9 03 00 00 00 12 00 00 00    movabsq    $77309411331, %rcx
     100002e87:    48 89 0d f6 53 00 00    movq    %rcx, 21494(%rip)
     100002e8e:    e9 b4 00 00 00    jmp    0x100002f47
     100002e93:    48 b9 03 00 00 00 03 00 00 00    movabsq    $12884901891, %rcx
     100002e9d:    48 89 0d e0 53 00 00    movq    %rcx, 21472(%rip)
     100002ea4:    e9 9e 00 00 00    jmp    0x100002f47
     100002ea9:    48 b9 03 00 00 00 0c 00 00 00    movabsq    $51539607555, %rcx
     100002eb3:    48 89 0d ca 53 00 00    movq    %rcx, 21450(%rip)
     100002eba:    e9 88 00 00 00    jmp    0x100002f47
     100002ebf:    c7 05 bb 53 00 00 0c 00 00 00    movl    $12, ___cpu_model(%rip)
     100002ec9:    eb 7c    jmp    0x100002f47
     100002ecb:    48 b9 03 00 00 00 13 00 00 00    movabsq    $81604378627, %rcx
     100002ed5:    48 89 0d a8 53 00 00    movq    %rcx, 21416(%rip)
     100002edc:    eb 69    jmp    0x100002f47
     100002ede:    c7 05 9c 53 00 00 03 00 00 00    movl    $3, ___cpu_model(%rip)
     100002ee8:    40 f6 c5 04    testb    $4, %bpl
     100002eec:    75 4f    jne    0x100002f3d
     100002eee:    c7 05 90 53 00 00 10 00 00 00    movl    $16, 21392(%rip)
     100002ef8:    eb 4d    jmp    0x100002f47
     100002efa:    c7 05 80 53 00 00 07 00 00 00    movl    $7, ___cpu_model(%rip)
     100002f04:    eb 41    jmp    0x100002f47
     100002f06:    48 b9 03 00 00 00 11 00 00 00    movabsq    $73014444035, %rcx
     100002f10:    48 89 0d 6d 53 00 00    movq    %rcx, 21357(%rip)
     100002f17:    eb 2e    jmp    0x100002f47
     100002f19:    c7 05 61 53 00 00 0e 00 00 00    movl    $14, ___cpu_model(%rip)
     100002f23:    eb 22    jmp    0x100002f47
     100002f25:    c7 05 55 53 00 00 0d 00 00 00    movl    $13, ___cpu_model(%rip)
     100002f2f:    eb 16    jmp    0x100002f47
     100002f31:    c7 05 49 53 00 00 0b 00 00 00    movl    $11, ___cpu_model(%rip)
     100002f3b:    eb 0a    jmp    0x100002f47
     100002f3d:    c7 05 41 53 00 00 15 00 00 00    movl    $21, 21313(%rip)
     100002f47:    89 05 33 53 00 00    movl    %eax, ___cpu_model(%rip)
     100002f4d:    83 3d 30 53 00 00 0f    cmpl    $15, 21296(%rip)
     100002f54:    73 1a    jae    0x100002f70
     100002f56:    31 c0    xorl    %eax, %eax
     100002f58:    83 3d 29 53 00 00 16    cmpl    $22, 21289(%rip)
     100002f5f:    73 14    jae    0x100002f75
     100002f61:    48 83 c4 08    addq    $8, %rsp
     100002f65:    5b    popq    %rbx
     100002f66:    41 5c    popq    %r12
     100002f68:    41 5d    popq    %r13
     100002f6a:    41 5e    popq    %r14
     100002f6c:    41 5f    popq    %r15
     100002f6e:    5d    popq    %rbp
     100002f6f:    c3    retq
     100002f70:    e8 bb 02 00 00    callq    ___cpu_indicator_init.cold.1
     100002f75:    e8 d6 02 00 00    callq    ___cpu_indicator_init.cold.2
     100002f7a:    66 90    nop
     100002f7c:    46 fd ff ff    .long 4294966598    @ KIND_JUMP_TABLE32
     100002f80:    cb ff ff ff    .long 4294967243    @ KIND_JUMP_TABLE32
     100002f84:    cb ff ff ff    .long 4294967243    @ KIND_JUMP_TABLE32
     100002f88:    cb ff ff ff    .long 4294967243    @ KIND_JUMP_TABLE32
     100002f8c:    a1 fd ff ff    .long 4294966689    @ KIND_JUMP_TABLE32
     100002f90:    7d fd ff ff    .long 4294966653    @ KIND_JUMP_TABLE32
     100002f94:    b0 fd ff ff    .long 4294966704    @ KIND_JUMP_TABLE32
     100002f98:    bf fd ff ff    .long 4294966719    @ KIND_JUMP_TABLE32
     100002f9c:    55 fe ff ff    .long 4294966869    @ KIND_JUMP_TABLE32
     100002fa0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fa4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fa8:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fac:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fb0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fb4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fb8:    55 fe ff ff    .long 4294966869    @ KIND_JUMP_TABLE32
     100002fbc:    55 fe ff ff    .long 4294966869    @ KIND_JUMP_TABLE32
     100002fc0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fc4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fc8:    64 fe ff ff    .long 4294966884    @ KIND_JUMP_TABLE32
     100002fcc:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fd0:    fc fd ff ff    .long 4294966780    @ KIND_JUMP_TABLE32
     100002fd4:    55 fe ff ff    .long 4294966869    @ KIND_JUMP_TABLE32
     100002fd8:    64 fe ff ff    .long 4294966884    @ KIND_JUMP_TABLE32
     100002fdc:    64 fe ff ff    .long 4294966884    @ KIND_JUMP_TABLE32
     100002fe0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fe4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fe8:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002fec:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002ff0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100002ff4:    bc fe ff ff    .long 4294966972    @ KIND_JUMP_TABLE32
     100002ff8:    fc fd ff ff    .long 4294966780    @ KIND_JUMP_TABLE32
     100002ffc:    fc fd ff ff    .long 4294966780    @ KIND_JUMP_TABLE32
     100003000:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003004:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003008:    f7 fe ff ff    .long 4294967031    @ KIND_JUMP_TABLE32
     10000300c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003010:    bc fe ff ff    .long 4294966972    @ KIND_JUMP_TABLE32
     100003014:    f7 fe ff ff    .long 4294967031    @ KIND_JUMP_TABLE32
     100003018:    64 fe ff ff    .long 4294966884    @ KIND_JUMP_TABLE32
     10000301c:    bc fe ff ff    .long 4294966972    @ KIND_JUMP_TABLE32
     100003020:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003024:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003028:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     10000302c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003030:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003034:    fc fd ff ff    .long 4294966780    @ KIND_JUMP_TABLE32
     100003038:    fc fd ff ff    .long 4294966780    @ KIND_JUMP_TABLE32
     10000303c:    a8 fc ff ff    .long 4294966440    @ KIND_JUMP_TABLE32
     100003040:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003044:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003048:    0d ff ff ff    .long 4294967053    @ KIND_JUMP_TABLE32
     10000304c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003050:    7a fe ff ff    .long 4294966906    @ KIND_JUMP_TABLE32
     100003054:    90 fe ff ff    .long 4294966928    @ KIND_JUMP_TABLE32
     100003058:    0d ff ff ff    .long 4294967053    @ KIND_JUMP_TABLE32
     10000305c:    7a fe ff ff    .long 4294966906    @ KIND_JUMP_TABLE32
     100003060:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003064:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003068:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     10000306c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003070:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003074:    7a fe ff ff    .long 4294966906    @ KIND_JUMP_TABLE32
     100003078:    7a fe ff ff    .long 4294966906    @ KIND_JUMP_TABLE32
     10000307c:    90 fe ff ff    .long 4294966928    @ KIND_JUMP_TABLE32
     100003080:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003084:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003088:    a8 fc ff ff    .long 4294966440    @ KIND_JUMP_TABLE32
     10000308c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003090:    a8 fc ff ff    .long 4294966440    @ KIND_JUMP_TABLE32
     100003094:    a8 fc ff ff    .long 4294966440    @ KIND_JUMP_TABLE32
     100003098:    a6 fe ff ff    .long 4294966950    @ KIND_JUMP_TABLE32
     10000309c:    90 fe ff ff    .long 4294966928    @ KIND_JUMP_TABLE32
     1000030a0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030a4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030a8:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030ac:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030b0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030b4:    42 ff ff ff    .long 4294967106    @ KIND_JUMP_TABLE32
     1000030b8:    90 fe ff ff    .long 4294966928    @ KIND_JUMP_TABLE32
     1000030bc:    5e ff ff ff    .long 4294967134    @ KIND_JUMP_TABLE32
     1000030c0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030c4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030c8:    a8 fc ff ff    .long 4294966440    @ KIND_JUMP_TABLE32
     1000030cc:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030d0:    23 ff ff ff    .long 4294967075    @ KIND_JUMP_TABLE32
     1000030d4:    a8 fc ff ff    .long 4294966440    @ KIND_JUMP_TABLE32
     1000030d8:    a6 fe ff ff    .long 4294966950    @ KIND_JUMP_TABLE32
     1000030dc:    23 ff ff ff    .long 4294967075    @ KIND_JUMP_TABLE32
     1000030e0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030e4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030e8:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030ec:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030f0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030f4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000030f8:    6a ff ff ff    .long 4294967146    @ KIND_JUMP_TABLE32
     1000030fc:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003100:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003104:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003108:    2f ff ff ff    .long 4294967087    @ KIND_JUMP_TABLE32
     10000310c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003110:    2f ff ff ff    .long 4294967087    @ KIND_JUMP_TABLE32
     100003114:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003118:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     10000311c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003120:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003124:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003128:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     10000312c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003130:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003134:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003138:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     10000313c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003140:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003144:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003148:    89 ff ff ff    .long 4294967177    @ KIND_JUMP_TABLE32
     10000314c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003150:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003154:    e1 fe ff ff    .long 4294967009    @ KIND_JUMP_TABLE32
     100003158:    e1 fe ff ff    .long 4294967009    @ KIND_JUMP_TABLE32
     10000315c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003160:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003164:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003168:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     10000316c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003170:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003174:    95 ff ff ff    .long 4294967189    @ KIND_JUMP_TABLE32
     100003178:    7d ff ff ff    .long 4294967165    @ KIND_JUMP_TABLE32
     10000317c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003180:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003184:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003188:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     10000318c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003190:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003194:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     100003198:    a6 fe ff ff    .long 4294966950    @ KIND_JUMP_TABLE32
     10000319c:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031a0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031a4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031a8:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031ac:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031b0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031b4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031b8:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031bc:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031c0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031c4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031c8:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031cc:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031d0:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031d4:    ab ff ff ff    .long 4294967211    @ KIND_JUMP_TABLE32
     1000031d8:    a6 fe ff ff    .long 4294966950    @ KIND_JUMP_TABLE32
     1000031dc:    0f 1f 40 00    nopl    (%rax)
     ___fe_getround:
     1000031e0:    d9 7c 24 fe    fnstcw    -2(%rsp)
     1000031e4:    0f b7 44 24 fe    movzwl    -2(%rsp), %eax
     1000031e9:    c1 e8 0a    shrl    $10, %eax
     1000031ec:    83 e0 03    andl    $3, %eax
     1000031ef:    c3    retq
     ___fe_raise_inexact:
     1000031f0:    c7 44 24 fc 00 00 40 40    movl    $1077936128, -4(%rsp)
     1000031f8:    d9 e8    fld1
     1000031fa:    d8 74 24 fc    fdivs    -4(%rsp)
     1000031fe:    dd d8    fstp    %st(0)
     100003200:    31 c0    xorl    %eax, %eax
     100003202:    c3    retq
     100003203:    90    nop
     100003204:    90    nop
     100003205:    90    nop
     100003206:    90    nop
     100003207:    90    nop
     100003208:    90    nop
     100003209:    90    nop
     10000320a:    90    nop
     10000320b:    90    nop
     10000320c:    90    nop
     10000320d:    90    nop
     10000320e:    90    nop
     10000320f:    90    nop
     ___isPlatformOrVariantPlatformVersionAtLeast.cold.1:
     100003210:    50    pushq    %rax
     100003211:    48 8d 3d 7a 02 00 00    leaq    634(%rip), %rdi ## literal pool for: "__isPlatformOrVariantPlatformVersionAtLeast"
     100003218:    48 8d 35 9f 02 00 00    leaq    671(%rip), %rsi ## literal pool for: "/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/clang/clang-1200.0.32.29/compiler-rt/lib/builtins/os_version_check.c"
     10000321f:    48 8d 0d 1b 03 00 00    leaq    795(%rip), %rcx ## literal pool for: "Platform2 == PLATFORM_MACOS && \"unexpected platform\""
     100003226:    ba 32 01 00 00    movl    $306, %edx
     10000322b:    e8 46 00 00 00    callq    0x100003276 ## symbol stub for: ___assert_rtn
     ___cpu_indicator_init.cold.1:
     100003230:    50    pushq    %rax
     100003231:    48 8d 3d 7f 04 00 00    leaq    1151(%rip), %rdi ## literal pool for: "__cpu_indicator_init"
     100003238:    48 8d 35 8d 04 00 00    leaq    1165(%rip), %rsi ## literal pool for: "/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/clang/clang-1200.0.32.29/compiler-rt/lib/builtins/cpu_model.c"
     10000323f:    48 8d 0d 02 05 00 00    leaq    1282(%rip), %rcx ## literal pool for: "__cpu_model.__cpu_type < CPU_TYPE_MAX"
     100003246:    ba b9 02 00 00    movl    $697, %edx
     10000324b:    e8 26 00 00 00    callq    0x100003276 ## symbol stub for: ___assert_rtn
     ___cpu_indicator_init.cold.2:
     100003250:    50    pushq    %rax
     100003251:    48 8d 3d 5f 04 00 00    leaq    1119(%rip), %rdi ## literal pool for: "__cpu_indicator_init"
     100003258:    48 8d 35 6d 04 00 00    leaq    1133(%rip), %rsi ## literal pool for: "/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/clang/clang-1200.0.32.29/compiler-rt/lib/builtins/cpu_model.c"
     10000325f:    48 8d 0d 08 05 00 00    leaq    1288(%rip), %rcx ## literal pool for: "__cpu_model.__cpu_subtype < CPU_SUBTYPE_MAX"
     100003266:    ba ba 02 00 00    movl    $698, %edx
     10000326b:    e8 06 00 00 00    callq    0x100003276 ## symbol stub for: ___assert_rtn
    

实际开发关联

  • 例如在我们使用分类的情况下, 通过设置-ObjC就是告诉链接器不要剥离代码

    • 通过xcconfig来取代build settings设置

        // 都不要剥离
        OTHER_LDFLAGS=Xlinker -all_load
      
        // OC相关的代码不要剥离, 其他的该剥离剥离
        OTHER_LDFLAGS=Xlinker -Objc
      
        // 指定哪些静态库不要剥离, 所以需要配置静态库路径
        OTHER_LDFLAGS=Xlinker -force_load
        LGSTATIC_FRAMEWORK_PATH=${BUILD_DIR}/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}/xxxStaticFramework.framework/xxxFramework
      
      • 其中Xlinker的作用

        • OTHER_LDFLAGS通过clangld传递参数
        • 并不是给clang的参数, clang没有这些参数(-ObjC...), 通过Xlinker告诉clang传递给ld