14016b1b0:	41 57                	push   %r15
14016b1b2:	41 56                	push   %r14
14016b1b4:	41 55                	push   %r13
14016b1b6:	41 54                	push   %r12
14016b1b8:	55                   	push   %rbp
14016b1b9:	57                   	push   %rdi
14016b1ba:	56                   	push   %rsi
14016b1bb:	53                   	push   %rbx
14016b1bc:	48 81 ec a8 00 00 00 	sub    $0xa8,%rsp
14016b1c3:	4c 8b 25 26 d9 0c 00 	mov    0xcd926(%rip),%r12        # 0x140238af0
14016b1ca:	48 8b b4 24 38 01 00 	mov    0x138(%rsp),%rsi
14016b1d1:	00
14016b1d2:	4c 8b 84 24 10 01 00 	mov    0x110(%rsp),%r8
14016b1d9:	00
14016b1da:	48 8b bc 24 18 01 00 	mov    0x118(%rsp),%rdi
14016b1e1:	00
14016b1e2:	4c 8b bc 24 20 01 00 	mov    0x120(%rsp),%r15
14016b1e9:	00
14016b1ea:	48 8b ac 24 28 01 00 	mov    0x128(%rsp),%rbp
14016b1f1:	00
14016b1f2:	4c 8b b4 24 30 01 00 	mov    0x130(%rsp),%r14
14016b1f9:	00
14016b1fa:	49 8b 04 24          	mov    (%r12),%rax
14016b1fe:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
14016b205:	00
14016b206:	31 c0                	xor    %eax,%eax
14016b208:	49 89 d5             	mov    %rdx,%r13
14016b20b:	4c 89 cb             	mov    %r9,%rbx
14016b20e:	48 85 f6             	test   %rsi,%rsi
14016b211:	0f 84 68 01 00 00    	je     0x14016b37f
14016b217:	41 8b 51 08          	mov    0x8(%r9),%edx
14016b21b:	81 fa 00 00 f0 3f    	cmp    $0x3ff00000,%edx
14016b221:	77 17                	ja     0x14016b23a
14016b223:	81 7f 08 00 00 f0 3f 	cmpl   $0x3ff00000,0x8(%rdi)
14016b22a:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
14016b22f:	77 09                	ja     0x14016b23a
14016b231:	81 7d 08 00 00 f0 3f 	cmpl   $0x3ff00000,0x8(%rbp)
14016b238:	76 66                	jbe    0x14016b2a0
14016b23a:	0f b6 16             	movzbl (%rsi),%edx
14016b23d:	31 c0                	xor    %eax,%eax
14016b23f:	f6 c2 01             	test   $0x1,%dl
14016b242:	74 3c                	je     0x14016b280
14016b244:	48 8b 13             	mov    (%rbx),%rdx
14016b247:	49 89 55 00          	mov    %rdx,0x0(%r13)
14016b24b:	8b 53 08             	mov    0x8(%rbx),%edx
14016b24e:	41 89 55 08          	mov    %edx,0x8(%r13)
14016b252:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
14016b259:	48 8b 94 24 98 00 00 	mov    0x98(%rsp),%rdx
14016b260:	00
14016b261:	49 2b 14 24          	sub    (%r12),%rdx
14016b265:	0f 85 2e 01 00 00    	jne    0x14016b399
14016b26b:	48 81 c4 a8 00 00 00 	add    $0xa8,%rsp
14016b272:	5b                   	pop    %rbx
14016b273:	5e                   	pop    %rsi
14016b274:	5f                   	pop    %rdi
14016b275:	5d                   	pop    %rbp
14016b276:	41 5c                	pop    %r12
14016b278:	41 5d                	pop    %r13
14016b27a:	41 5e                	pop    %r14
14016b27c:	41 5f                	pop    %r15
14016b27e:	c3                   	ret
14016b27f:	90                   	nop
14016b280:	d0 ea                	shr    $1,%dl
14016b282:	48 89 fb             	mov    %rdi,%rbx
14016b285:	83 e2 03             	and    $0x3,%edx
14016b288:	80 fa 01             	cmp    $0x1,%dl
14016b28b:	74 b7                	je     0x14016b244
14016b28d:	48 89 eb             	mov    %rbp,%rbx
14016b290:	80 fa 02             	cmp    $0x2,%dl
14016b293:	74 af                	je     0x14016b244
14016b295:	48 89 fb             	mov    %rdi,%rbx
14016b298:	b8 02 00 00 00       	mov    $0x2,%eax
14016b29d:	eb a5                	jmp    0x14016b244
14016b29f:	90                   	nop
14016b2a0:	49 8b 09             	mov    (%r9),%rcx
14016b2a3:	e8 18 81 04 00       	call   0x1401b33c0
14016b2a8:	85 c0                	test   %eax,%eax
14016b2aa:	75 8e                	jne    0x14016b23a
14016b2ac:	8b 57 08             	mov    0x8(%rdi),%edx
14016b2af:	48 8b 0f             	mov    (%rdi),%rcx
14016b2b2:	e8 09 81 04 00       	call   0x1401b33c0
14016b2b7:	85 c0                	test   %eax,%eax
14016b2b9:	0f 85 7b ff ff ff    	jne    0x14016b23a
14016b2bf:	8b 55 08             	mov    0x8(%rbp),%edx
14016b2c2:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
14016b2c6:	e8 f5 80 04 00       	call   0x1401b33c0
14016b2cb:	85 c0                	test   %eax,%eax
14016b2cd:	0f 85 67 ff ff ff    	jne    0x14016b23a
14016b2d3:	0f b6 06             	movzbl (%rsi),%eax
14016b2d6:	66 0f ef c0          	pxor   %xmm0,%xmm0
14016b2da:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
14016b2df:	c7 44 24 74 00 00 00 	movl   $0x0,0x74(%rsp)
14016b2e6:	00
14016b2e7:	0f 11 44 24 64       	movups %xmm0,0x64(%rsp)
14016b2ec:	d0 e8                	shr    $1,%al
14016b2ee:	c7 44 24 6c 02 00 00 	movl   $0x2,0x6c(%rsp)
14016b2f5:	00
14016b2f6:	83 e0 03             	and    $0x3,%eax
14016b2f9:	0f 11 44 24 44       	movups %xmm0,0x44(%rsp)
14016b2fe:	89 44 24 70          	mov    %eax,0x70(%rsp)
14016b302:	8b 46 0c             	mov    0xc(%rsi),%eax
14016b305:	0f 11 44 24 54       	movups %xmm0,0x54(%rsp)
14016b30a:	89 44 24 40          	mov    %eax,0x40(%rsp)
14016b30e:	8b 46 08             	mov    0x8(%rsi),%eax
14016b311:	85 c0                	test   %eax,%eax
14016b313:	78 5b                	js     0x14016b370
14016b315:	89 44 24 74          	mov    %eax,0x74(%rsp)
14016b319:	8b 84 24 40 01 00 00 	mov    0x140(%rsp),%eax
14016b320:	85 c0                	test   %eax,%eax
14016b322:	7e 0b                	jle    0x14016b32f
14016b324:	8b 84 24 40 01 00 00 	mov    0x140(%rsp),%eax
14016b32b:	89 44 24 68          	mov    %eax,0x68(%rsp)
14016b32f:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
14016b334:	48 89 fa             	mov    %rdi,%rdx
14016b337:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
14016b33c:	48 89 d9             	mov    %rbx,%rcx
14016b33f:	4c 89 44 24 78       	mov    %r8,0x78(%rsp)
14016b344:	49 89 e8             	mov    %rbp,%r8
14016b347:	4c 89 bc 24 80 00 00 	mov    %r15,0x80(%rsp)
14016b34e:	00
14016b34f:	4c 89 b4 24 88 00 00 	mov    %r14,0x88(%rsp)
14016b356:	00
14016b357:	e8 b4 8f 06 00       	call   0x1401d4310
14016b35c:	ba 01 00 00 00       	mov    $0x1,%edx
14016b361:	85 c0                	test   %eax,%eax
14016b363:	0f 4f c2             	cmovg  %edx,%eax
14016b366:	e9 ee fe ff ff       	jmp    0x14016b259
14016b36b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14016b370:	48 8b 05 e9 dc 0c 00 	mov    0xcdce9(%rip),%rax        # 0x140239060
14016b377:	8b 00                	mov    (%rax),%eax
14016b379:	85 c0                	test   %eax,%eax
14016b37b:	79 98                	jns    0x14016b315
14016b37d:	eb 9a                	jmp    0x14016b319
14016b37f:	41 b8 73 00 00 00    	mov    $0x73,%r8d
14016b385:	48 8d 15 04 8f 0b 00 	lea    0xb8f04(%rip),%rdx        # 0x140224290
14016b38c:	48 8d 0d 08 8f 0b 00 	lea    0xb8f08(%rip),%rcx        # 0x14022429b
14016b393:	ff 15 3f 40 14 00    	call   *0x14403f(%rip)        # 0x1402af3d8
14016b399:	e8 d2 94 07 00       	call   0x1401e4870
14016b39e:	90                   	nop
14016b39f:	90                   	nop
14016b3a0:	41 54                	push   %r12
14016b3a2:	55                   	push   %rbp
14016b3a3:	57                   	push   %rdi
14016b3a4:	56                   	push   %rsi
14016b3a5:	53                   	push   %rbx
14016b3a6:	48 83 c4 80          	add    $0xffffffffffffff80,%rsp
14016b3aa:	48 8b 1d 3f d7 0c 00 	mov    0xcd73f(%rip),%rbx        # 0x140238af0
14016b3b1:	48 8b 84 24 f8 00 00 	mov    0xf8(%rsp),%rax
14016b3b8:	00
14016b3b9:	4c 8b 9c 24 d0 00 00 	mov    0xd0(%rsp),%r11
14016b3c0:	00
14016b3c1:	48 8b b4 24 d8 00 00 	mov    0xd8(%rsp),%rsi
14016b3c8:	00
14016b3c9:	48 8b bc 24 e0 00 00 	mov    0xe0(%rsp),%rdi
14016b3d0:	00
14016b3d1:	48 8b ac 24 e8 00 00 	mov    0xe8(%rsp),%rbp
14016b3d8:	00
14016b3d9:	4c 8b a4 24 f0 00 00 	mov    0xf0(%rsp),%r12
14016b3e0:	00
14016b3e1:	49 89 ca             	mov    %rcx,%r10
14016b3e4:	48 89 d1             	mov    %rdx,%rcx
14016b3e7:	48 8b 13             	mov    (%rbx),%rdx
14016b3ea:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
14016b3ef:	31 d2                	xor    %edx,%edx
14016b3f1:	48 85 c0             	test   %rax,%rax
14016b3f4:	74 68                	je     0x14016b45e
14016b3f6:	48 8b 10             	mov    (%rax),%rdx
14016b3f9:	48 8b 40 08          	mov    0x8(%rax),%rax
14016b3fd:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
14016b402:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
14016b407:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
14016b40c:	89 d0                	mov    %edx,%eax
14016b40e:	83 c8 06             	or     $0x6,%eax
14016b411:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
14016b416:	48 89 ca             	mov    %rcx,%rdx
14016b419:	4c 89 d1             	mov    %r10,%rcx
14016b41c:	88 44 24 60          	mov    %al,0x60(%rsp)
14016b420:	8b 84 24 00 01 00 00 	mov    0x100(%rsp),%eax
14016b427:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14016b42c:	89 44 24 50          	mov    %eax,0x50(%rsp)
14016b430:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
14016b435:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14016b43a:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
14016b43f:	4c 89 5c 24 20       	mov    %r11,0x20(%rsp)
14016b444:	e8 67 fd ff ff       	call   0x14016b1b0
14016b449:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
14016b44e:	48 2b 13             	sub    (%rbx),%rdx
14016b451:	75 25                	jne    0x14016b478
14016b453:	48 83 ec 80          	sub    $0xffffffffffffff80,%rsp
14016b457:	5b                   	pop    %rbx
14016b458:	5e                   	pop    %rsi
14016b459:	5f                   	pop    %rdi
14016b45a:	5d                   	pop    %rbp
14016b45b:	41 5c                	pop    %r12
14016b45d:	c3                   	ret
14016b45e:	41 b8 a0 00 00 00    	mov    $0xa0,%r8d
14016b464:	48 8d 15 25 8e 0b 00 	lea    0xb8e25(%rip),%rdx        # 0x140224290
14016b46b:	48 8d 0d 29 8e 0b 00 	lea    0xb8e29(%rip),%rcx        # 0x14022429b
14016b472:	ff 15 60 3f 14 00    	call   *0x143f60(%rip)        # 0x1402af3d8
14016b478:	e8 f3 93 07 00       	call   0x1401e4870
14016b47d:	90                   	nop
14016b47e:	66 90                	xchg   %ax,%ax
14016b480:	48 83 ec 28          	sub    $0x28,%rsp
14016b484:	48 8b 0d 85 ef 13 00 	mov    0x13ef85(%rip),%rcx        # 0x1402aa410
14016b48b:	e8 a0 3f ea ff       	call   0x14000f430
14016b490:	48 c7 05 75 ef 13 00 	movq   $0x0,0x13ef75(%rip)        # 0x1402aa410
14016b497:	00 00 00 00
14016b49b:	48 83 c4 28          	add    $0x28,%rsp
14016b49f:	c3                   	ret
14016b4a0:	41 57                	push   %r15
14016b4a2:	41 56                	push   %r14
14016b4a4:	41 55                	push   %r13
14016b4a6:	41 54                	push   %r12
14016b4a8:	55                   	push   %rbp
14016b4a9:	57                   	push   %rdi
14016b4aa:	56                   	push   %rsi
14016b4ab:	53                   	push   %rbx
14016b4ac:	48 81 ec a8 00 00 00 	sub    $0xa8,%rsp
14016b4b3:	48 8b 84 24 18 01 00 	mov    0x118(%rsp),%rax
14016b4ba:	00
14016b4bb:	4c 8b a4 24 10 01 00 	mov    0x110(%rsp),%r12
14016b4c2:	00
14016b4c3:	4c 8b ac 24 20 01 00 	mov    0x120(%rsp),%r13
14016b4ca:	00
14016b4cb:	48 8b 9c 24 30 01 00 	mov    0x130(%rsp),%rbx
14016b4d2:	00
14016b4d3:	48 8b b4 24 38 01 00 	mov    0x138(%rsp),%rsi
14016b4da:	00
14016b4db:	48 89 d7             	mov    %rdx,%rdi
14016b4de:	48 8b 15 0b d6 0c 00 	mov    0xcd60b(%rip),%rdx        # 0x140238af0
14016b4e5:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
14016b4ea:	48 8b 84 24 28 01 00 	mov    0x128(%rsp),%rax
14016b4f1:	00
14016b4f2:	48 89 4c 24 68       	mov    %rcx,0x68(%rsp)
14016b4f7:	4c 8b 3a             	mov    (%rdx),%r15
14016b4fa:	4c 89 bc 24 98 00 00 	mov    %r15,0x98(%rsp)
14016b501:	00
14016b502:	4c 8b 3d 07 ef 13 00 	mov    0x13ef07(%rip),%r15        # 0x1402aa410
14016b509:	4c 89 44 24 60       	mov    %r8,0x60(%rsp)
14016b50e:	4c 89 4c 24 70       	mov    %r9,0x70(%rsp)
14016b513:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
14016b51a:	00
14016b51b:	4d 85 ff             	test   %r15,%r15
14016b51e:	0f 84 8c 02 00 00    	je     0x14016b7b0
14016b524:	48 85 f6             	test   %rsi,%rsi
14016b527:	0f 84 cb 01 00 00    	je     0x14016b6f8
14016b52d:	f6 06 08             	testb  $0x8,(%rsi)
14016b530:	0f 85 8a 01 00 00    	jne    0x14016b6c0
14016b536:	4d 89 f8             	mov    %r15,%r8
14016b539:	48 89 fa             	mov    %rdi,%rdx
14016b53c:	48 89 d9             	mov    %rbx,%rcx
14016b53f:	e8 ac 41 ea ff       	call   0x14000f6f0
14016b544:	49 8b 47 08          	mov    0x8(%r15),%rax
14016b548:	4c 8b 70 18          	mov    0x18(%rax),%r14
14016b54c:	48 8b 68 08          	mov    0x8(%rax),%rbp
14016b550:	4d 85 f6             	test   %r14,%r14
14016b553:	74 63                	je     0x14016b5b8
14016b555:	4c 8b 1d c4 3e 14 00 	mov    0x143ec4(%rip),%r11        # 0x1402af420
14016b55c:	4c 89 9c 24 88 00 00 	mov    %r11,0x88(%rsp)
14016b563:	00
14016b564:	41 ff d3             	call   *%r11
14016b567:	48 8d 94 24 90 00 00 	lea    0x90(%rsp),%rdx
14016b56e:	00
14016b56f:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
14016b575:	4c 89 f1             	mov    %r14,%rcx
14016b578:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
14016b57e:	e8 45 e9 07 00       	call   0x1401e9ec8
14016b583:	4c 8b 9c 24 88 00 00 	mov    0x88(%rsp),%r11
14016b58a:	00
14016b58b:	89 c3                	mov    %eax,%ebx
14016b58d:	41 ff d3             	call   *%r11
14016b590:	8b 10                	mov    (%rax),%edx
14016b592:	85 d2                	test   %edx,%edx
14016b594:	0f 85 de 01 00 00    	jne    0x14016b778
14016b59a:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
14016b5a1:	00
14016b5a2:	80 38 00             	cmpb   $0x0,(%rax)
14016b5a5:	0f 85 cd 01 00 00    	jne    0x14016b778
14016b5ab:	49 39 c6             	cmp    %rax,%r14
14016b5ae:	0f 84 c4 01 00 00    	je     0x14016b778
14016b5b4:	85 db                	test   %ebx,%ebx
14016b5b6:	7f 08                	jg     0x14016b5c0
14016b5b8:	bb 07 00 00 00       	mov    $0x7,%ebx
14016b5bd:	0f 1f 00             	nopl   (%rax)
14016b5c0:	48 83 3d 38 ee 13 00 	cmpq   $0x0,0x13ee38(%rip)        # 0x1402aa400
14016b5c7:	00
14016b5c8:	0f 84 3a 01 00 00    	je     0x14016b708
14016b5ce:	48 8b 0d 8b d9 0c 00 	mov    0xcd98b(%rip),%rcx        # 0x140238f60
14016b5d5:	48 8d 05 b4 7d 08 00 	lea    0x87db4(%rip),%rax        # 0x1401f3390
14016b5dc:	49 89 ce             	mov    %rcx,%r14
14016b5df:	48 39 cd             	cmp    %rcx,%rbp
14016b5e2:	74 15                	je     0x14016b5f9
14016b5e4:	48 83 e8 30          	sub    $0x30,%rax
14016b5e8:	48 3b 2d 61 d9 0c 00 	cmp    0xcd961(%rip),%rbp        # 0x140238f50
14016b5ef:	74 08                	je     0x14016b5f9
14016b5f1:	48 89 e9             	mov    %rbp,%rcx
14016b5f4:	e8 d7 f4 ff ff       	call   0x14016aad0
14016b5f9:	f6 06 01             	testb  $0x1,(%rsi)
14016b5fc:	74 42                	je     0x14016b640
14016b5fe:	4c 8b 48 18          	mov    0x18(%rax),%r9
14016b602:	4d 85 c9             	test   %r9,%r9
14016b605:	74 39                	je     0x14016b640
14016b607:	48 83 3d f1 ed 13 00 	cmpq   $0x0,0x13edf1(%rip)        # 0x1402aa400
14016b60e:	00
14016b60f:	0f 84 23 01 00 00    	je     0x14016b738
14016b615:	48 8d 05 74 7d 08 00 	lea    0x87d74(%rip),%rax        # 0x1401f3390
14016b61c:	4d 39 f1             	cmp    %r14,%r9
14016b61f:	74 1f                	je     0x14016b640
14016b621:	48 83 e8 30          	sub    $0x30,%rax
14016b625:	4c 3b 0d 24 d9 0c 00 	cmp    0xcd924(%rip),%r9        # 0x140238f50
14016b62c:	74 12                	je     0x14016b640
14016b62e:	4c 89 c9             	mov    %r9,%rcx
14016b631:	e8 9a f4 ff ff       	call   0x14016aad0
14016b636:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14016b63d:	00 00 00
14016b640:	8b 56 04             	mov    0x4(%rsi),%edx
14016b643:	49 89 f8             	mov    %rdi,%r8
14016b646:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
14016b64b:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
14016b650:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
14016b657:	00
14016b658:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
14016b65d:	8d 0c 13             	lea    (%rbx,%rdx,1),%ecx
14016b660:	85 d2                	test   %edx,%edx
14016b662:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
14016b667:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
14016b66c:	0f 45 d9             	cmovne %ecx,%ebx
14016b66f:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
14016b674:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14016b679:	48 89 c1             	mov    %rax,%rcx
14016b67c:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
14016b680:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
14016b685:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14016b68a:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14016b68f:	ff 50 10             	call   *0x10(%rax)
14016b692:	48 8b 3d 57 d4 0c 00 	mov    0xcd457(%rip),%rdi        # 0x140238af0
14016b699:	48 8b 94 24 98 00 00 	mov    0x98(%rsp),%rdx
14016b6a0:	00
14016b6a1:	48 2b 17             	sub    (%rdi),%rdx
14016b6a4:	0f 85 2b 01 00 00    	jne    0x14016b7d5
14016b6aa:	48 81 c4 a8 00 00 00 	add    $0xa8,%rsp
14016b6b1:	5b                   	pop    %rbx
14016b6b2:	5e                   	pop    %rsi
14016b6b3:	5f                   	pop    %rdi
14016b6b4:	5d                   	pop    %rbp
14016b6b5:	41 5c                	pop    %r12
14016b6b7:	41 5d                	pop    %r13
14016b6b9:	41 5e                	pop    %r14
14016b6bb:	41 5f                	pop    %r15
14016b6bd:	c3                   	ret