Skip to content

Other Linker Flags

ShenYj edited this page Feb 15, 2022 · 6 revisions

链接静态库优化

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是默认参数, 这两点还可以通过 探索静态库符号冲突动态库原理-因-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
  • 探索静态库符号冲突

Getting Started

Social

Clone this wiki locally