1400163e9:	c3                   	ret
1400163ea:	cc                   	int3
1400163eb:	cc                   	int3
1400163ec:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
1400163f1:	8b 44 24 08          	mov    0x8(%rsp),%eax
1400163f5:	c3                   	ret
1400163f6:	cc                   	int3
1400163f7:	cc                   	int3
1400163f8:	89 4c 24 10          	mov    %ecx,0x10(%rsp)
1400163fc:	0f ae 54 24 10       	ldmxcsr 0x10(%rsp)
140016401:	c3                   	ret
140016402:	cc                   	int3
140016403:	cc                   	int3
140016404:	89 4c 24 10          	mov    %ecx,0x10(%rsp)
140016408:	0f ae 54 24 10       	ldmxcsr 0x10(%rsp)
14001640d:	c3                   	ret
14001640e:	cc                   	int3
14001640f:	cc                   	int3
140016410:	f6 c1 3f             	test   $0x3f,%cl
140016413:	74 17                	je     0x14001642c
140016415:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
14001641a:	8b 44 24 08          	mov    0x8(%rsp),%eax
14001641e:	83 e1 3f             	and    $0x3f,%ecx
140016421:	0b c1                	or     %ecx,%eax
140016423:	89 44 24 08          	mov    %eax,0x8(%rsp)
140016427:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
14001642c:	c3                   	ret
14001642d:	cc                   	int3
14001642e:	cc                   	int3
14001642f:	cc                   	int3
140016430:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
140016435:	8b 44 24 08          	mov    0x8(%rsp),%eax
140016439:	83 e0 3f             	and    $0x3f,%eax
14001643c:	c3                   	ret
14001643d:	cc                   	int3
14001643e:	cc                   	int3
14001643f:	cc                   	int3
140016440:	48 83 ec 48          	sub    $0x48,%rsp
140016444:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140016449:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%rsp)
140016450:	00
140016451:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140016456:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
14001645b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140016460:	e8 0b 00 00 00       	call   0x140016470
140016465:	48 83 c4 48          	add    $0x48,%rsp
140016469:	c3                   	ret
14001646a:	cc                   	int3
14001646b:	cc                   	int3
14001646c:	cc                   	int3
14001646d:	cc                   	int3
14001646e:	cc                   	int3
14001646f:	cc                   	int3
140016470:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140016475:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14001647a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14001647f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140016484:	55                   	push   %rbp
140016485:	48 8b ec             	mov    %rsp,%rbp
140016488:	48 83 ec 20          	sub    $0x20,%rsp
14001648c:	48 8b da             	mov    %rdx,%rbx
14001648f:	41 8b f9             	mov    %r9d,%edi
140016492:	33 d2                	xor    %edx,%edx
140016494:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
140016499:	89 51 04             	mov    %edx,0x4(%rcx)
14001649c:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400164a0:	89 50 08             	mov    %edx,0x8(%rax)
1400164a3:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400164a7:	89 50 0c             	mov    %edx,0xc(%rax)
1400164aa:	41 f6 c0 10          	test   $0x10,%r8b
1400164ae:	74 0d                	je     0x1400164bd
1400164b0:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400164b4:	be 8f 00 00 c0       	mov    $0xc000008f,%esi
1400164b9:	83 48 04 01          	orl    $0x1,0x4(%rax)
1400164bd:	41 f6 c0 02          	test   $0x2,%r8b
1400164c1:	74 0d                	je     0x1400164d0
1400164c3:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400164c7:	be 93 00 00 c0       	mov    $0xc0000093,%esi
1400164cc:	83 48 04 02          	orl    $0x2,0x4(%rax)
1400164d0:	41 f6 c0 01          	test   $0x1,%r8b
1400164d4:	74 0d                	je     0x1400164e3
1400164d6:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400164da:	be 91 00 00 c0       	mov    $0xc0000091,%esi
1400164df:	83 48 04 04          	orl    $0x4,0x4(%rax)
1400164e3:	41 f6 c0 04          	test   $0x4,%r8b
1400164e7:	74 0d                	je     0x1400164f6
1400164e9:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400164ed:	be 8e 00 00 c0       	mov    $0xc000008e,%esi
1400164f2:	83 48 04 08          	orl    $0x8,0x4(%rax)
1400164f6:	41 f6 c0 08          	test   $0x8,%r8b
1400164fa:	74 0d                	je     0x140016509
1400164fc:	48 8b 45 10          	mov    0x10(%rbp),%rax
140016500:	be 90 00 00 c0       	mov    $0xc0000090,%esi
140016505:	83 48 04 10          	orl    $0x10,0x4(%rax)
140016509:	48 8b 55 10          	mov    0x10(%rbp),%rdx
14001650d:	48 8b 0b             	mov    (%rbx),%rcx
140016510:	48 c1 e9 07          	shr    $0x7,%rcx
140016514:	c1 e1 04             	shl    $0x4,%ecx
140016517:	f7 d1                	not    %ecx
140016519:	33 4a 08             	xor    0x8(%rdx),%ecx
14001651c:	83 e1 10             	and    $0x10,%ecx
14001651f:	31 4a 08             	xor    %ecx,0x8(%rdx)
140016522:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140016526:	48 8b 0b             	mov    (%rbx),%rcx
140016529:	48 c1 e9 09          	shr    $0x9,%rcx
14001652d:	c1 e1 03             	shl    $0x3,%ecx
140016530:	f7 d1                	not    %ecx
140016532:	33 4a 08             	xor    0x8(%rdx),%ecx
140016535:	83 e1 08             	and    $0x8,%ecx
140016538:	31 4a 08             	xor    %ecx,0x8(%rdx)
14001653b:	48 8b 55 10          	mov    0x10(%rbp),%rdx
14001653f:	48 8b 0b             	mov    (%rbx),%rcx
140016542:	48 c1 e9 0a          	shr    $0xa,%rcx
140016546:	c1 e1 02             	shl    $0x2,%ecx
140016549:	f7 d1                	not    %ecx
14001654b:	33 4a 08             	xor    0x8(%rdx),%ecx
14001654e:	83 e1 04             	and    $0x4,%ecx
140016551:	31 4a 08             	xor    %ecx,0x8(%rdx)
140016554:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140016558:	48 8b 0b             	mov    (%rbx),%rcx
14001655b:	48 c1 e9 0b          	shr    $0xb,%rcx
14001655f:	03 c9                	add    %ecx,%ecx
140016561:	f7 d1                	not    %ecx
140016563:	33 4a 08             	xor    0x8(%rdx),%ecx
140016566:	83 e1 02             	and    $0x2,%ecx
140016569:	31 4a 08             	xor    %ecx,0x8(%rdx)
14001656c:	8b 0b                	mov    (%rbx),%ecx
14001656e:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140016572:	48 c1 e9 0c          	shr    $0xc,%rcx
140016576:	f7 d1                	not    %ecx
140016578:	33 4a 08             	xor    0x8(%rdx),%ecx
14001657b:	83 e1 01             	and    $0x1,%ecx
14001657e:	31 4a 08             	xor    %ecx,0x8(%rdx)
140016581:	e8 aa fe ff ff       	call   0x140016430
140016586:	48 8b d0             	mov    %rax,%rdx
140016589:	a8 01                	test   $0x1,%al
14001658b:	74 08                	je     0x140016595
14001658d:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140016591:	83 49 0c 10          	orl    $0x10,0xc(%rcx)
140016595:	f6 c2 04             	test   $0x4,%dl
140016598:	74 08                	je     0x1400165a2
14001659a:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001659e:	83 49 0c 08          	orl    $0x8,0xc(%rcx)
1400165a2:	f6 c2 08             	test   $0x8,%dl
1400165a5:	74 08                	je     0x1400165af
1400165a7:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400165ab:	83 48 0c 04          	orl    $0x4,0xc(%rax)
1400165af:	f6 c2 10             	test   $0x10,%dl
1400165b2:	74 08                	je     0x1400165bc
1400165b4:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400165b8:	83 48 0c 02          	orl    $0x2,0xc(%rax)
1400165bc:	f6 c2 20             	test   $0x20,%dl
1400165bf:	74 08                	je     0x1400165c9
1400165c1:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400165c5:	83 48 0c 01          	orl    $0x1,0xc(%rax)
1400165c9:	8b 03                	mov    (%rbx),%eax
1400165cb:	25 00 60 00 00       	and    $0x6000,%eax
1400165d0:	74 41                	je     0x140016613
1400165d2:	48 3d 00 20 00 00    	cmp    $0x2000,%rax
1400165d8:	74 29                	je     0x140016603
1400165da:	48 3d 00 40 00 00    	cmp    $0x4000,%rax
1400165e0:	74 11                	je     0x1400165f3
1400165e2:	48 3d 00 60 00 00    	cmp    $0x6000,%rax
1400165e8:	75 30                	jne    0x14001661a
1400165ea:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400165ee:	83 08 03             	orl    $0x3,(%rax)
1400165f1:	eb 27                	jmp    0x14001661a
1400165f3:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400165f7:	83 20 fe             	andl   $0xfffffffe,(%rax)
1400165fa:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400165fe:	83 08 02             	orl    $0x2,(%rax)
140016601:	eb 17                	jmp    0x14001661a
140016603:	48 8b 45 10          	mov    0x10(%rbp),%rax
140016607:	83 20 fd             	andl   $0xfffffffd,(%rax)
14001660a:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001660e:	83 08 01             	orl    $0x1,(%rax)
140016611:	eb 07                	jmp    0x14001661a
140016613:	48 8b 45 10          	mov    0x10(%rbp),%rax
140016617:	83 20 fc             	andl   $0xfffffffc,(%rax)
14001661a:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001661e:	c1 e7 05             	shl    $0x5,%edi
140016621:	33 39                	xor    (%rcx),%edi
140016623:	81 e7 e0 ff 01 00    	and    $0x1ffe0,%edi
140016629:	31 39                	xor    %edi,(%rcx)
14001662b:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001662f:	48 8b 7d 38          	mov    0x38(%rbp),%rdi
140016633:	83 48 20 01          	orl    $0x1,0x20(%rax)
140016637:	83 7d 40 00          	cmpl   $0x0,0x40(%rbp)
14001663b:	74 30                	je     0x14001666d
14001663d:	48 8b 45 10          	mov    0x10(%rbp),%rax
140016641:	83 60 20 e1          	andl   $0xffffffe1,0x20(%rax)
140016645:	48 8b 45 30          	mov    0x30(%rbp),%rax
140016649:	8b 08                	mov    (%rax),%ecx
14001664b:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001664f:	89 48 10             	mov    %ecx,0x10(%rax)
140016652:	48 8b 45 10          	mov    0x10(%rbp),%rax
140016656:	83 48 60 01          	orl    $0x1,0x60(%rax)
14001665a:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001665e:	83 60 60 e1          	andl   $0xffffffe1,0x60(%rax)
140016662:	48 8b 45 10          	mov    0x10(%rbp),%rax
140016666:	8b 0f                	mov    (%rdi),%ecx
140016668:	89 48 50             	mov    %ecx,0x50(%rax)
14001666b:	eb 42                	jmp    0x1400166af
14001666d:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140016671:	8b 41 20             	mov    0x20(%rcx),%eax
140016674:	83 e0 e3             	and    $0xffffffe3,%eax
140016677:	83 c8 02             	or     $0x2,%eax
14001667a:	89 41 20             	mov    %eax,0x20(%rcx)
14001667d:	48 8b 45 30          	mov    0x30(%rbp),%rax
140016681:	48 8b 08             	mov    (%rax),%rcx
140016684:	48 8b 45 10          	mov    0x10(%rbp),%rax
140016688:	48 89 48 10          	mov    %rcx,0x10(%rax)
14001668c:	48 8b 45 10          	mov    0x10(%rbp),%rax
140016690:	83 48 60 01          	orl    $0x1,0x60(%rax)
140016694:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140016698:	8b 42 60             	mov    0x60(%rdx),%eax
14001669b:	83 e0 e3             	and    $0xffffffe3,%eax
14001669e:	83 c8 02             	or     $0x2,%eax
1400166a1:	89 42 60             	mov    %eax,0x60(%rdx)
1400166a4:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400166a8:	48 8b 17             	mov    (%rdi),%rdx
1400166ab:	48 89 50 50          	mov    %rdx,0x50(%rax)
1400166af:	e8 98 fc ff ff       	call   0x14001634c
1400166b4:	33 d2                	xor    %edx,%edx
1400166b6:	4c 8d 4d 10          	lea    0x10(%rbp),%r9
1400166ba:	8b ce                	mov    %esi,%ecx
1400166bc:	44 8d 42 01          	lea    0x1(%rdx),%r8d
1400166c0:	ff 15 0a 1b 00 00    	call   *0x1b0a(%rip)        # 0x1400181d0
1400166c6:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
1400166ca:	f6 41 08 10          	testb  $0x10,0x8(%rcx)
1400166ce:	74 07                	je     0x1400166d7
1400166d0:	48 81 23 7f ff ff ff 	andq   $0xffffffffffffff7f,(%rbx)
1400166d7:	f6 41 08 08          	testb  $0x8,0x8(%rcx)
1400166db:	74 07                	je     0x1400166e4
1400166dd:	48 81 23 ff fd ff ff 	andq   $0xfffffffffffffdff,(%rbx)
1400166e4:	f6 41 08 04          	testb  $0x4,0x8(%rcx)
1400166e8:	74 07                	je     0x1400166f1
1400166ea:	48 81 23 ff fb ff ff 	andq   $0xfffffffffffffbff,(%rbx)
1400166f1:	f6 41 08 02          	testb  $0x2,0x8(%rcx)
1400166f5:	74 07                	je     0x1400166fe
1400166f7:	48 81 23 ff f7 ff ff 	andq   $0xfffffffffffff7ff,(%rbx)
1400166fe:	f6 41 08 01          	testb  $0x1,0x8(%rcx)
140016702:	74 07                	je     0x14001670b
140016704:	48 81 23 ff ef ff ff 	andq   $0xffffffffffffefff,(%rbx)
14001670b:	8b 01                	mov    (%rcx),%eax
14001670d:	83 e0 03             	and    $0x3,%eax
140016710:	74 38                	je     0x14001674a
140016712:	83 e8 01             	sub    $0x1,%eax
140016715:	74 23                	je     0x14001673a
140016717:	83 e8 01             	sub    $0x1,%eax
14001671a:	74 0e                	je     0x14001672a
14001671c:	83 f8 01             	cmp    $0x1,%eax
14001671f:	75 30                	jne    0x140016751
140016721:	48 81 0b 00 60 00 00 	orq    $0x6000,(%rbx)
140016728:	eb 27                	jmp    0x140016751
14001672a:	48 81 23 ff df ff ff 	andq   $0xffffffffffffdfff,(%rbx)
140016731:	48 81 0b 00 40 00 00 	orq    $0x4000,(%rbx)
140016738:	eb 17                	jmp    0x140016751
14001673a:	48 81 23 ff bf ff ff 	andq   $0xffffffffffffbfff,(%rbx)
140016741:	48 81 0b 00 20 00 00 	orq    $0x2000,(%rbx)
140016748:	eb 07                	jmp    0x140016751
14001674a:	48 81 23 ff 9f ff ff 	andq   $0xffffffffffff9fff,(%rbx)
140016751:	83 7d 40 00          	cmpl   $0x0,0x40(%rbp)
140016755:	74 07                	je     0x14001675e
140016757:	8b 41 50             	mov    0x50(%rcx),%eax
14001675a:	89 07                	mov    %eax,(%rdi)
14001675c:	eb 07                	jmp    0x140016765
14001675e:	48 8b 41 50          	mov    0x50(%rcx),%rax
140016762:	48 89 07             	mov    %rax,(%rdi)
140016765:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14001676a:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14001676f:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140016774:	48 83 c4 20          	add    $0x20,%rsp
140016778:	5d                   	pop    %rbp
140016779:	c3                   	ret
14001677a:	cc                   	int3
14001677b:	cc                   	int3
14001677c:	cc                   	int3
14001677d:	cc                   	int3
14001677e:	cc                   	int3
14001677f:	cc                   	int3
140016780:	48 83 ec 28          	sub    $0x28,%rsp
140016784:	83 e9 01             	sub    $0x1,%ecx
140016787:	74 1a                	je     0x1400167a3
140016789:	83 e9 01             	sub    $0x1,%ecx
14001678c:	74 05                	je     0x140016793
14001678e:	83 f9 01             	cmp    $0x1,%ecx
140016791:	75 1b                	jne    0x1400167ae
140016793:	e8 68 55 ff ff       	call   0x14000bd00
140016798:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14001679e:	48 83 c4 28          	add    $0x28,%rsp
1400167a2:	c3                   	ret
1400167a3:	e8 58 55 ff ff       	call   0x14000bd00
1400167a8:	c7 00 21 00 00 00    	movl   $0x21,(%rax)
1400167ae:	48 83 c4 28          	add    $0x28,%rsp
1400167b2:	c3                   	ret
1400167b3:	cc                   	int3
1400167b4:	cc                   	int3
1400167b5:	cc                   	int3
1400167b6:	cc                   	int3
1400167b7:	cc                   	int3
1400167b8:	cc                   	int3
1400167b9:	cc                   	int3
1400167ba:	cc                   	int3
1400167bb:	cc                   	int3
1400167bc:	cc                   	int3
1400167bd:	cc                   	int3
1400167be:	cc                   	int3
1400167bf:	cc                   	int3
1400167c0:	4c 63 41 3c          	movslq 0x3c(%rcx),%r8
1400167c4:	45 33 c9             	xor    %r9d,%r9d
1400167c7:	4c 03 c1             	add    %rcx,%r8
1400167ca:	4c 8b d2             	mov    %rdx,%r10
1400167cd:	41 0f b7 40 14       	movzwl 0x14(%r8),%eax
1400167d2:	45 0f b7 58 06       	movzwl 0x6(%r8),%r11d
1400167d7:	48 83 c0 18          	add    $0x18,%rax
1400167db:	49 03 c0             	add    %r8,%rax
1400167de:	45 85 db             	test   %r11d,%r11d
1400167e1:	74 1e                	je     0x140016801
1400167e3:	8b 50 0c             	mov    0xc(%rax),%edx
1400167e6:	4c 3b d2             	cmp    %rdx,%r10
1400167e9:	72 0a                	jb     0x1400167f5
1400167eb:	8b 48 08             	mov    0x8(%rax),%ecx
1400167ee:	03 ca                	add    %edx,%ecx
1400167f0:	4c 3b d1             	cmp    %rcx,%r10
1400167f3:	72 0e                	jb     0x140016803
1400167f5:	41 ff c1             	inc    %r9d
1400167f8:	48 83 c0 28          	add    $0x28,%rax
1400167fc:	45 3b cb             	cmp    %r11d,%r9d
1400167ff:	72 e2                	jb     0x1400167e3
140016801:	33 c0                	xor    %eax,%eax
140016803:	c3                   	ret
140016804:	cc                   	int3
140016805:	cc                   	int3
140016806:	cc                   	int3
140016807:	cc                   	int3
140016808:	cc                   	int3
140016809:	cc                   	int3
14001680a:	cc                   	int3
14001680b:	cc                   	int3
14001680c:	cc                   	int3
14001680d:	cc                   	int3
14001680e:	cc                   	int3
14001680f:	cc                   	int3
140016810:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016815:	57                   	push   %rdi
140016816:	48 83 ec 20          	sub    $0x20,%rsp
14001681a:	48 8b d9             	mov    %rcx,%rbx
14001681d:	48 8d 3d dc 97 fe ff 	lea    -0x16824(%rip),%rdi        # 0x140000000
140016824:	48 8b cf             	mov    %rdi,%rcx