1401d653c:	48 85 c9             	test   %rcx,%rcx
1401d653f:	74 35                	je     0x1401d6576
1401d6541:	48 8b 45 b7          	mov    -0x49(%rbp),%rax
1401d6545:	48 2b c1             	sub    %rcx,%rax
1401d6548:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1401d654c:	48 8b d1             	mov    %rcx,%rdx
1401d654f:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1401d6555:	72 18                	jb     0x1401d656f
1401d6557:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401d655b:	48 2b d1             	sub    %rcx,%rdx
1401d655e:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1401d6562:	48 83 f8 1f          	cmp    $0x1f,%rax
1401d6566:	76 07                	jbe    0x1401d656f
1401d6568:	ff 15 2a 64 93 00    	call   *0x93642a(%rip)        # 0x140b0c998
1401d656e:	cc                   	int3
1401d656f:	ff 15 4b 63 93 00    	call   *0x93634b(%rip)        # 0x140b0c8c0
1401d6575:	90                   	nop
1401d6576:	48 8b c6             	mov    %rsi,%rax
1401d6579:	48 8b 9c 24 18 01 00 	mov    0x118(%rsp),%rbx
1401d6580:	00
1401d6581:	48 81 c4 d0 00 00 00 	add    $0xd0,%rsp
1401d6588:	41 5f                	pop    %r15
1401d658a:	41 5e                	pop    %r14
1401d658c:	41 5d                	pop    %r13
1401d658e:	41 5c                	pop    %r12
1401d6590:	5f                   	pop    %rdi
1401d6591:	5e                   	pop    %rsi
1401d6592:	5d                   	pop    %rbp
1401d6593:	c3                   	ret
1401d6594:	ba 0e 00 00 00       	mov    $0xe,%edx
1401d6599:	e8 32 13 00 00       	call   0x1401d78d0
1401d659e:	90                   	nop
1401d659f:	eb 03                	jmp    0x1401d65a4
1401d65a1:	90                   	nop
1401d65a2:	90                   	nop
1401d65a3:	90                   	nop
1401d65a4:	90                   	nop
1401d65a5:	e8 b6 80 f3 ff       	call   0x14010e660
1401d65aa:	cc                   	int3
1401d65ab:	90                   	nop
1401d65ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401d65b1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401d65b6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401d65bb:	57                   	push   %rdi
1401d65bc:	48 83 ec 50          	sub    $0x50,%rsp
1401d65c0:	48 8b f2             	mov    %rdx,%rsi
1401d65c3:	48 8b d9             	mov    %rcx,%rbx
1401d65c6:	48 8b 39             	mov    (%rcx),%rdi
1401d65c9:	48 8b 47 08          	mov    0x8(%rdi),%rax
1401d65cd:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401d65d2:	33 ed                	xor    %ebp,%ebp
1401d65d4:	89 6c 24 38          	mov    %ebp,0x38(%rsp)
1401d65d8:	4c 8b c7             	mov    %rdi,%r8
1401d65db:	40 38 68 19          	cmp    %bpl,0x19(%rax)
1401d65df:	75 2a                	jne    0x1401d660b
1401d65e1:	8b 0a                	mov    (%rdx),%ecx
1401d65e3:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401d65e8:	39 48 20             	cmp    %ecx,0x20(%rax)
1401d65eb:	7d 0a                	jge    0x1401d65f7
1401d65ed:	89 6c 24 38          	mov    %ebp,0x38(%rsp)
1401d65f1:	48 8b 40 10          	mov    0x10(%rax),%rax
1401d65f5:	eb 0e                	jmp    0x1401d6605
1401d65f7:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
1401d65fe:	00
1401d65ff:	4c 8b c0             	mov    %rax,%r8
1401d6602:	48 8b 00             	mov    (%rax),%rax
1401d6605:	40 38 68 19          	cmp    %bpl,0x19(%rax)
1401d6609:	74 d8                	je     0x1401d65e3
1401d660b:	41 38 68 19          	cmp    %bpl,0x19(%r8)
1401d660f:	75 08                	jne    0x1401d6619
1401d6611:	41 8b 40 20          	mov    0x20(%r8),%eax
1401d6615:	39 02                	cmp    %eax,(%rdx)
1401d6617:	7d 75                	jge    0x1401d668e
1401d6619:	48 b8 8e e3 38 8e e3 	movabs $0x38e38e38e38e38e,%rax
1401d6620:	38 8e 03
1401d6623:	48 39 43 08          	cmp    %rax,0x8(%rbx)
1401d6627:	74 7e                	je     0x1401d66a7
1401d6629:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1401d662e:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
1401d6633:	b9 48 00 00 00       	mov    $0x48,%ecx
1401d6638:	ff 15 8a 62 93 00    	call   *0x93628a(%rip)        # 0x140b0c8c8
1401d663e:	4c 8b c0             	mov    %rax,%r8
1401d6641:	48 85 c0             	test   %rax,%rax
1401d6644:	75 07                	jne    0x1401d664d
1401d6646:	ff 15 4c 5e 93 00    	call   *0x935e4c(%rip)        # 0x140b0c498
1401d664c:	90                   	nop
1401d664d:	8b 06                	mov    (%rsi),%eax
1401d664f:	41 89 40 20          	mov    %eax,0x20(%r8)
1401d6653:	49 89 68 28          	mov    %rbp,0x28(%r8)
1401d6657:	49 89 68 30          	mov    %rbp,0x30(%r8)
1401d665b:	49 89 68 38          	mov    %rbp,0x38(%r8)
1401d665f:	49 89 68 40          	mov    %rbp,0x40(%r8)
1401d6663:	49 89 38             	mov    %rdi,(%r8)
1401d6666:	49 89 78 08          	mov    %rdi,0x8(%r8)
1401d666a:	49 89 78 10          	mov    %rdi,0x10(%r8)
1401d666e:	66 41 89 68 18       	mov    %bp,0x18(%r8)
1401d6673:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
1401d6678:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
1401d667e:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401d6683:	48 8b cb             	mov    %rbx,%rcx
1401d6686:	e8 55 08 e3 ff       	call   0x140006ee0
1401d668b:	4c 8b c0             	mov    %rax,%r8
1401d668e:	49 8d 40 28          	lea    0x28(%r8),%rax
1401d6692:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1401d6697:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1401d669c:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1401d66a1:	48 83 c4 50          	add    $0x50,%rsp
1401d66a5:	5f                   	pop    %rdi
1401d66a6:	c3                   	ret
1401d66a7:	e8 28 d7 e2 ff       	call   0x140003dd4
1401d66ac:	cc                   	int3
1401d66ad:	90                   	nop
1401d66ae:	90                   	nop
1401d66af:	90                   	nop
1401d66b0:	4c 2b c2             	sub    %rdx,%r8
1401d66b3:	48 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rcx
1401d66ba:	9c f2 cb
1401d66bd:	49 d1 f8             	sar    $1,%r8
1401d66c0:	41 b9 00 00 00 00    	mov    $0x0,%r9d
1401d66c6:	4d 03 c0             	add    %r8,%r8
1401d66c9:	74 1e                	je     0x1401d66e9
1401d66cb:	42 0f b6 04 0a       	movzbl (%rdx,%r9,1),%eax
1401d66d0:	49 ba b3 01 00 00 00 	movabs $0x100000001b3,%r10
1401d66d7:	01 00 00
1401d66da:	48 33 c8             	xor    %rax,%rcx
1401d66dd:	49 ff c1             	inc    %r9
1401d66e0:	49 0f af ca          	imul   %r10,%rcx
1401d66e4:	4d 3b c8             	cmp    %r8,%r9
1401d66e7:	72 e2                	jb     0x1401d66cb
1401d66e9:	8b c1                	mov    %ecx,%eax
1401d66eb:	c3                   	ret
1401d66ec:	90                   	nop
1401d66ed:	90                   	nop
1401d66ee:	90                   	nop
1401d66ef:	90                   	nop
1401d66f0:	48 8b c4             	mov    %rsp,%rax
1401d66f3:	48 89 58 08          	mov    %rbx,0x8(%rax)
1401d66f7:	48 89 68 18          	mov    %rbp,0x18(%rax)
1401d66fb:	48 89 50 10          	mov    %rdx,0x10(%rax)
1401d66ff:	56                   	push   %rsi
1401d6700:	57                   	push   %rdi
1401d6701:	41 56                	push   %r14
1401d6703:	48 83 ec 40          	sub    $0x40,%rsp
1401d6707:	49 8b f1             	mov    %r9,%rsi
1401d670a:	49 8b e8             	mov    %r8,%rbp
1401d670d:	48 8b da             	mov    %rdx,%rbx
1401d6710:	45 33 f6             	xor    %r14d,%r14d
1401d6713:	44 89 70 d8          	mov    %r14d,-0x28(%rax)
1401d6717:	0f 57 c0             	xorps  %xmm0,%xmm0
1401d671a:	0f 11 02             	movups %xmm0,(%rdx)
1401d671d:	4c 89 72 10          	mov    %r14,0x10(%rdx)
1401d6721:	48 c7 42 18 07 00 00 	movq   $0x7,0x18(%rdx)
1401d6728:	00
1401d6729:	66 44 89 32          	mov    %r14w,(%rdx)
1401d672d:	c7 40 d8 01 00 00 00 	movl   $0x1,-0x28(%rax)
1401d6734:	49 8b c1             	mov    %r9,%rax
1401d6737:	49 2b c0             	sub    %r8,%rax
1401d673a:	48 d1 f8             	sar    $1,%rax
1401d673d:	74 4b                	je     0x1401d678a
1401d673f:	48 8d 79 10          	lea    0x10(%rcx),%rdi
1401d6743:	45 33 c0             	xor    %r8d,%r8d
1401d6746:	48 8b d0             	mov    %rax,%rdx
1401d6749:	48 8b cb             	mov    %rbx,%rcx
1401d674c:	e8 27 01 00 00       	call   0x1401d6878
1401d6751:	48 8b cb             	mov    %rbx,%rcx
1401d6754:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
1401d6759:	76 03                	jbe    0x1401d675e
1401d675b:	48 8b 0b             	mov    (%rbx),%rcx
1401d675e:	48 8b 43 10          	mov    0x10(%rbx),%rax
1401d6762:	48 8d 14 41          	lea    (%rcx,%rax,2),%rdx
1401d6766:	48 8b cb             	mov    %rbx,%rcx
1401d6769:	76 03                	jbe    0x1401d676e
1401d676b:	48 8b 0b             	mov    (%rbx),%rcx
1401d676e:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401d6773:	4c 8b ce             	mov    %rsi,%r9
1401d6776:	4c 8b c5             	mov    %rbp,%r8
1401d6779:	ff 15 41 5f 93 00    	call   *0x935f41(%rip)        # 0x140b0c6c0
1401d677f:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1401d6783:	76 05                	jbe    0x1401d678a
1401d6785:	48 85 c0             	test   %rax,%rax
1401d6788:	75 b9                	jne    0x1401d6743
1401d678a:	45 33 c0             	xor    %r8d,%r8d
1401d678d:	48 8b d0             	mov    %rax,%rdx
1401d6790:	48 8b cb             	mov    %rbx,%rcx
1401d6793:	e8 e0 00 00 00       	call   0x1401d6878
1401d6798:	48 8b c3             	mov    %rbx,%rax
1401d679b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1401d67a0:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
1401d67a5:	48 83 c4 40          	add    $0x40,%rsp
1401d67a9:	41 5e                	pop    %r14
1401d67ab:	5f                   	pop    %rdi
1401d67ac:	5e                   	pop    %rsi
1401d67ad:	c3                   	ret
1401d67ae:	90                   	nop
1401d67af:	90                   	nop
1401d67b0:	40 53                	rex push %rbx
1401d67b2:	48 83 ec 30          	sub    $0x30,%rsp
1401d67b6:	4d 8b d1             	mov    %r9,%r10
1401d67b9:	48 8d 41 10          	lea    0x10(%rcx),%rax
1401d67bd:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
1401d67c2:	4d 8b d8             	mov    %r8,%r11
1401d67c5:	48 8b da             	mov    %rdx,%rbx
1401d67c8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401d67cd:	4d 8b c2             	mov    %r10,%r8
1401d67d0:	49 8b d3             	mov    %r11,%rdx
1401d67d3:	48 8b cb             	mov    %rbx,%rcx
1401d67d6:	ff 15 c4 5e 93 00    	call   *0x935ec4(%rip)        # 0x140b0c6a0
1401d67dc:	8b c8                	mov    %eax,%ecx
1401d67de:	33 c0                	xor    %eax,%eax
1401d67e0:	85 c9                	test   %ecx,%ecx
1401d67e2:	0f 95 c0             	setne  %al
1401d67e5:	83 ca ff             	or     $0xffffffff,%edx
1401d67e8:	85 c9                	test   %ecx,%ecx
1401d67ea:	0f 48 c2             	cmovs  %edx,%eax
1401d67ed:	48 83 c4 30          	add    $0x30,%rsp
1401d67f1:	5b                   	pop    %rbx
1401d67f2:	c3                   	ret
1401d67f3:	90                   	nop
1401d67f4:	48 83 ec 28          	sub    $0x28,%rsp
1401d67f8:	48 8b 49 18          	mov    0x18(%rcx),%rcx
1401d67fc:	48 85 c9             	test   %rcx,%rcx
1401d67ff:	74 29                	je     0x1401d682a
1401d6801:	48 8b 01             	mov    (%rcx),%rax
1401d6804:	48 8b 40 10          	mov    0x10(%rax),%rax
1401d6808:	ff 15 2a 64 93 00    	call   *0x93642a(%rip)        # 0x140b0cc38
1401d680e:	4c 8b c0             	mov    %rax,%r8
1401d6811:	48 85 c0             	test   %rax,%rax
1401d6814:	74 14                	je     0x1401d682a
1401d6816:	48 8b 08             	mov    (%rax),%rcx
1401d6819:	ba 01 00 00 00       	mov    $0x1,%edx
1401d681e:	48 8b 01             	mov    (%rcx),%rax
1401d6821:	49 8b c8             	mov    %r8,%rcx
1401d6824:	ff 15 0e 64 93 00    	call   *0x93640e(%rip)        # 0x140b0cc38
1401d682a:	48 83 c4 28          	add    $0x28,%rsp
1401d682e:	c3                   	ret
1401d682f:	90                   	nop
1401d6830:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401d6835:	57                   	push   %rdi
1401d6836:	48 83 ec 20          	sub    $0x20,%rsp
1401d683a:	48 8d 05 1f 92 94 00 	lea    0x94921f(%rip),%rax        # 0x140b1fa60
1401d6841:	48 8b f9             	mov    %rcx,%rdi
1401d6844:	48 89 01             	mov    %rax,(%rcx)
1401d6847:	8b da                	mov    %edx,%ebx
1401d6849:	48 8b 49 18          	mov    0x18(%rcx),%rcx
1401d684d:	ff 15 6d 60 93 00    	call   *0x93606d(%rip)        # 0x140b0c8c0
1401d6853:	48 8b cf             	mov    %rdi,%rcx
1401d6856:	ff 15 84 5e 93 00    	call   *0x935e84(%rip)        # 0x140b0c6e0
1401d685c:	f6 c3 01             	test   $0x1,%bl
1401d685f:	74 08                	je     0x1401d6869
1401d6861:	48 8b cf             	mov    %rdi,%rcx
1401d6864:	e8 6b 8d 91 00       	call   0x140aef5d4
1401d6869:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401d686e:	48 8b c7             	mov    %rdi,%rax
1401d6871:	48 83 c4 20          	add    $0x20,%rsp
1401d6875:	5f                   	pop    %rdi
1401d6876:	c3                   	ret
1401d6877:	90                   	nop
1401d6878:	40 57                	rex push %rdi
1401d687a:	48 83 ec 30          	sub    $0x30,%rsp
1401d687e:	4c 8b ca             	mov    %rdx,%r9
1401d6881:	4c 8b d1             	mov    %rcx,%r10
1401d6884:	48 8b 51 10          	mov    0x10(%rcx),%rdx
1401d6888:	4c 3b ca             	cmp    %rdx,%r9
1401d688b:	77 12                	ja     0x1401d689f
1401d688d:	4c 89 49 10          	mov    %r9,0x10(%rcx)
1401d6891:	48 83 79 18 07       	cmpq   $0x7,0x18(%rcx)
1401d6896:	76 03                	jbe    0x1401d689b
1401d6898:	4c 8b 11             	mov    (%rcx),%r10
1401d689b:	33 d2                	xor    %edx,%edx
1401d689d:	eb 32                	jmp    0x1401d68d1
1401d689f:	49 8b 42 18          	mov    0x18(%r10),%rax
1401d68a3:	49 8b c9             	mov    %r9,%rcx
1401d68a6:	48 2b ca             	sub    %rdx,%rcx
1401d68a9:	48 2b c2             	sub    %rdx,%rax
1401d68ac:	48 3b c8             	cmp    %rax,%rcx
1401d68af:	77 27                	ja     0x1401d68d8
1401d68b1:	49 83 7a 18 07       	cmpq   $0x7,0x18(%r10)
1401d68b6:	4d 89 4a 10          	mov    %r9,0x10(%r10)
1401d68ba:	76 03                	jbe    0x1401d68bf
1401d68bc:	4d 8b 12             	mov    (%r10),%r10
1401d68bf:	49 8d 3c 52          	lea    (%r10,%rdx,2),%rdi
1401d68c3:	33 d2                	xor    %edx,%edx
1401d68c5:	48 85 c9             	test   %rcx,%rcx
1401d68c8:	74 07                	je     0x1401d68d1
1401d68ca:	41 0f b7 c0          	movzwl %r8w,%eax
1401d68ce:	66 f3 ab             	rep stos %ax,%es:(%rdi)
1401d68d1:	66 43 89 14 4a       	mov    %dx,(%r10,%r9,2)
1401d68d6:	eb 14                	jmp    0x1401d68ec
1401d68d8:	4c 8b c9             	mov    %rcx,%r9
1401d68db:	66 44 89 44 24 20    	mov    %r8w,0x20(%rsp)
1401d68e1:	48 8b d1             	mov    %rcx,%rdx
1401d68e4:	49 8b ca             	mov    %r10,%rcx
1401d68e7:	e8 28 2e fd ff       	call   0x1401a9714
1401d68ec:	48 83 c4 30          	add    $0x30,%rsp
1401d68f0:	5f                   	pop    %rdi
1401d68f1:	c3                   	ret
1401d68f2:	90                   	nop
1401d68f3:	90                   	nop
1401d68f4:	48 8b c4             	mov    %rsp,%rax
1401d68f7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1401d68fb:	48 89 70 10          	mov    %rsi,0x10(%rax)
1401d68ff:	48 89 78 18          	mov    %rdi,0x18(%rax)
1401d6903:	4c 89 60 20          	mov    %r12,0x20(%rax)
1401d6907:	55                   	push   %rbp
1401d6908:	41 56                	push   %r14
1401d690a:	41 57                	push   %r15
1401d690c:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
1401d6910:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
1401d6917:	4d 8b f8             	mov    %r8,%r15
1401d691a:	48 8b fa             	mov    %rdx,%rdi
1401d691d:	48 8b f1             	mov    %rcx,%rsi
1401d6920:	45 33 f6             	xor    %r14d,%r14d
1401d6923:	48 8b 01             	mov    (%rcx),%rax
1401d6926:	48 8b 40 40          	mov    0x40(%rax),%rax
1401d692a:	ff 15 08 63 93 00    	call   *0x936308(%rip)        # 0x140b0cc38
1401d6930:	48 85 c0             	test   %rax,%rax
1401d6933:	0f 84 28 02 00 00    	je     0x1401d6b61
1401d6939:	41 83 cc ff          	or     $0xffffffff,%r12d
1401d693d:	48 8b 06             	mov    (%rsi),%rax
1401d6940:	4d 8b c6             	mov    %r14,%r8
1401d6943:	48 8d 55 0f          	lea    0xf(%rbp),%rdx
1401d6947:	48 8b ce             	mov    %rsi,%rcx
1401d694a:	48 8b 40 30          	mov    0x30(%rax),%rax
1401d694e:	ff 15 e4 62 93 00    	call   *0x9362e4(%rip)        # 0x140b0cc38
1401d6954:	48 8b d0             	mov    %rax,%rdx
1401d6957:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
1401d695b:	e8 1c 0e e9 ff       	call   0x14006777c
1401d6960:	90                   	nop
1401d6961:	48 8b 5d 17          	mov    0x17(%rbp),%rbx
1401d6965:	48 85 db             	test   %rbx,%rbx
1401d6968:	74 39                	je     0x1401d69a3
1401d696a:	41 8b c4             	mov    %r12d,%eax
1401d696d:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1401d6972:	41 03 c4             	add    %r12d,%eax
1401d6975:	75 2c                	jne    0x1401d69a3
1401d6977:	48 8b 03             	mov    (%rbx),%rax
1401d697a:	48 8b cb             	mov    %rbx,%rcx
1401d697d:	48 8b 00             	mov    (%rax),%rax
1401d6980:	ff 15 b2 62 93 00    	call   *0x9362b2(%rip)        # 0x140b0cc38
1401d6986:	41 8b c4             	mov    %r12d,%eax
1401d6989:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1401d698e:	41 03 c4             	add    %r12d,%eax
1401d6991:	75 10                	jne    0x1401d69a3
1401d6993:	48 8b 03             	mov    (%rbx),%rax
1401d6996:	48 8b cb             	mov    %rbx,%rcx
1401d6999:	48 8b 40 08          	mov    0x8(%rax),%rax
1401d699d:	ff 15 95 62 93 00    	call   *0x936295(%rip)        # 0x140b0cc38
1401d69a3:	48 8b 45 df          	mov    -0x21(%rbp),%rax
1401d69a7:	48 85 c0             	test   %rax,%rax
1401d69aa:	0f 85 4e 02 00 00    	jne    0x1401d6bfe