140579670:	40 53                	rex push %rbx
140579672:	48 83 ec 20          	sub    $0x20,%rsp
140579676:	48 83 b9 88 00 00 00 	cmpq   $0x0,0x88(%rcx)
14057967d:	00
14057967e:	48 8b d9             	mov    %rcx,%rbx
140579681:	74 7d                	je     0x140579700
140579683:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140579688:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14057968f:	00
140579690:	48 8b 93 80 00 00 00 	mov    0x80(%rbx),%rdx
140579697:	48 8b 43 78          	mov    0x78(%rbx),%rax
14057969b:	48 8b ca             	mov    %rdx,%rcx
14057969e:	48 ff c8             	dec    %rax
1405796a1:	48 d1 e9             	shr    $1,%rcx
1405796a4:	48 23 c8             	and    %rax,%rcx
1405796a7:	83 e2 01             	and    $0x1,%edx
1405796aa:	48 8b 43 70          	mov    0x70(%rbx),%rax
1405796ae:	48 8b 04 c8          	mov    (%rax,%rcx,8),%rax
1405796b2:	48 8b 3c d0          	mov    (%rax,%rdx,8),%rdi
1405796b6:	48 8b d3             	mov    %rbx,%rdx
1405796b9:	48 8b cf             	mov    %rdi,%rcx
1405796bc:	48 8b 07             	mov    (%rdi),%rax
1405796bf:	48 8b 40 08          	mov    0x8(%rax),%rax
1405796c3:	ff 15 57 a3 a0 00    	call   *0xa0a357(%rip)        # 0x140f83a20
1405796c9:	48 8b 07             	mov    (%rdi),%rax
1405796cc:	ba 01 00 00 00       	mov    $0x1,%edx
1405796d1:	48 8b cf             	mov    %rdi,%rcx
1405796d4:	48 8b 00             	mov    (%rax),%rax
1405796d7:	ff 15 43 a3 a0 00    	call   *0xa0a343(%rip)        # 0x140f83a20
1405796dd:	48 83 ab 88 00 00 00 	subq   $0x1,0x88(%rbx)
1405796e4:	01
1405796e5:	74 09                	je     0x1405796f0
1405796e7:	48 ff 83 80 00 00 00 	incq   0x80(%rbx)
1405796ee:	eb a0                	jmp    0x140579690
1405796f0:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1405796f5:	48 c7 83 80 00 00 00 	movq   $0x0,0x80(%rbx)
1405796fc:	00 00 00 00
140579700:	48 83 c4 20          	add    $0x20,%rsp
140579704:	5b                   	pop    %rbx
140579705:	c3                   	ret
140579706:	cc                   	int3
140579707:	cc                   	int3
140579708:	cc                   	int3
140579709:	cc                   	int3
14057970a:	cc                   	int3
14057970b:	cc                   	int3
14057970c:	cc                   	int3
14057970d:	cc                   	int3
14057970e:	cc                   	int3
14057970f:	cc                   	int3
140579710:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140579715:	53                   	push   %rbx
140579716:	56                   	push   %rsi
140579717:	57                   	push   %rdi
140579718:	48 83 ec 20          	sub    $0x20,%rsp
14057971c:	49 8b f8             	mov    %r8,%rdi
14057971f:	48 8b d9             	mov    %rcx,%rbx
140579722:	49 8b 00             	mov    (%r8),%rax
140579725:	49 c7 00 00 00 00 00 	movq   $0x0,(%r8)
14057972c:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140579731:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140579736:	4c 8b c2             	mov    %rdx,%r8
140579739:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
14057973e:	e8 7d 00 00 00       	call   0x1405797c0
140579743:	90                   	nop
140579744:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140579748:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
14057974d:	e8 4e 0b 00 00       	call   0x14057a2a0
140579752:	48 8b f0             	mov    %rax,%rsi
140579755:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
14057975a:	48 85 db             	test   %rbx,%rbx
14057975d:	74 16                	je     0x140579775
14057975f:	48 8b cb             	mov    %rbx,%rcx
140579762:	e8 29 84 22 00       	call   0x1407a1b90
140579767:	ba 38 00 00 00       	mov    $0x38,%edx
14057976c:	48 8b cb             	mov    %rbx,%rcx
14057976f:	e8 d0 19 8a 00       	call   0x140e1b144
140579774:	90                   	nop
140579775:	48 8b 0f             	mov    (%rdi),%rcx
140579778:	48 85 c9             	test   %rcx,%rcx
14057977b:	74 20                	je     0x14057979d
14057977d:	8b 41 10             	mov    0x10(%rcx),%eax
140579780:	ff c8                	dec    %eax
140579782:	89 41 10             	mov    %eax,0x10(%rcx)
140579785:	85 c0                	test   %eax,%eax
140579787:	7f 14                	jg     0x14057979d
140579789:	78 1d                	js     0x1405797a8
14057978b:	48 8b 01             	mov    (%rcx),%rax
14057978e:	ba 01 00 00 00       	mov    $0x1,%edx
140579793:	48 8b 00             	mov    (%rax),%rax
140579796:	ff 15 84 a2 a0 00    	call   *0xa0a284(%rip)        # 0x140f83a20
14057979c:	90                   	nop
14057979d:	48 8b c6             	mov    %rsi,%rax
1405797a0:	48 83 c4 20          	add    $0x20,%rsp
1405797a4:	5f                   	pop    %rdi
1405797a5:	5e                   	pop    %rsi
1405797a6:	5b                   	pop    %rbx
1405797a7:	c3                   	ret
1405797a8:	b9 02 00 00 00       	mov    $0x2,%ecx
1405797ad:	e8 4e 0f 21 00       	call   0x14078a700
1405797b2:	cc                   	int3
1405797b3:	cc                   	int3
1405797b4:	cc                   	int3
1405797b5:	cc                   	int3
1405797b6:	cc                   	int3
1405797b7:	cc                   	int3
1405797b8:	cc                   	int3
1405797b9:	cc                   	int3
1405797ba:	cc                   	int3
1405797bb:	cc                   	int3
1405797bc:	cc                   	int3
1405797bd:	cc                   	int3
1405797be:	cc                   	int3
1405797bf:	cc                   	int3
1405797c0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1405797c5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1405797ca:	53                   	push   %rbx
1405797cb:	55                   	push   %rbp
1405797cc:	56                   	push   %rsi
1405797cd:	57                   	push   %rdi
1405797ce:	41 56                	push   %r14
1405797d0:	48 83 ec 30          	sub    $0x30,%rsp
1405797d4:	49 8b f1             	mov    %r9,%rsi
1405797d7:	49 8b e8             	mov    %r8,%rbp
1405797da:	48 8b fa             	mov    %rdx,%rdi
1405797dd:	4c 8b f1             	mov    %rcx,%r14
1405797e0:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
1405797e7:	00
1405797e8:	b9 40 00 00 00       	mov    $0x40,%ecx
1405797ed:	e8 16 19 8a 00       	call   0x140e1b108
1405797f2:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1405797f7:	48 85 c0             	test   %rax,%rax
1405797fa:	74 12                	je     0x14057980e
1405797fc:	ba 0d 00 00 00       	mov    $0xd,%edx
140579801:	48 8b c8             	mov    %rax,%rcx
140579804:	e8 f7 7e 1b 00       	call   0x140731700
140579809:	48 8b d8             	mov    %rax,%rbx
14057980c:	eb 02                	jmp    0x140579810
14057980e:	33 db                	xor    %ebx,%ebx
140579810:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140579815:	c7 44 24 20 02 00 00 	movl   $0x2,0x20(%rsp)
14057981c:	00
14057981d:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
140579821:	48 85 c9             	test   %rcx,%rcx
140579824:	74 1c                	je     0x140579842
140579826:	8b 41 10             	mov    0x10(%rcx),%eax
140579829:	ff c0                	inc    %eax
14057982b:	89 41 10             	mov    %eax,0x10(%rcx)
14057982e:	83 f8 01             	cmp    $0x1,%eax
140579831:	0f 8e c2 00 00 00    	jle    0x1405798f9
140579837:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14057983c:	0f 84 bf 00 00 00    	je     0x140579901
140579842:	48 89 4c 24 70       	mov    %rcx,0x70(%rsp)
140579847:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
14057984c:	48 8b cb             	mov    %rbx,%rcx
14057984f:	e8 6c ac 1b 00       	call   0x1407344c0
140579854:	48 8b 06             	mov    (%rsi),%rax
140579857:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
14057985e:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140579863:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
140579868:	48 8b cb             	mov    %rbx,%rcx
14057986b:	e8 50 ac 1b 00       	call   0x1407344c0
140579870:	41 b1 01             	mov    $0x1,%r9b
140579873:	4c 8b c3             	mov    %rbx,%r8
140579876:	48 8b d7             	mov    %rdi,%rdx
140579879:	49 8b 4e 08          	mov    0x8(%r14),%rcx
14057987d:	e8 de 60 2b 00       	call   0x14082f960
140579882:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
140579889:	00
14057988a:	48 83 3f 00          	cmpq   $0x0,(%rdi)
14057988e:	74 7c                	je     0x14057990c
140579890:	48 85 db             	test   %rbx,%rbx
140579893:	74 23                	je     0x1405798b8
140579895:	8b 43 10             	mov    0x10(%rbx),%eax
140579898:	ff c8                	dec    %eax
14057989a:	89 43 10             	mov    %eax,0x10(%rbx)
14057989d:	85 c0                	test   %eax,%eax
14057989f:	7f 17                	jg     0x1405798b8
1405798a1:	78 7d                	js     0x140579920
1405798a3:	48 8b 03             	mov    (%rbx),%rax
1405798a6:	ba 01 00 00 00       	mov    $0x1,%edx
1405798ab:	48 8b cb             	mov    %rbx,%rcx
1405798ae:	48 8b 00             	mov    (%rax),%rax
1405798b1:	ff 15 69 a1 a0 00    	call   *0xa0a169(%rip)        # 0x140f83a20
1405798b7:	90                   	nop
1405798b8:	48 8b 0e             	mov    (%rsi),%rcx
1405798bb:	48 85 c9             	test   %rcx,%rcx
1405798be:	74 20                	je     0x1405798e0
1405798c0:	8b 41 10             	mov    0x10(%rcx),%eax
1405798c3:	ff c8                	dec    %eax
1405798c5:	89 41 10             	mov    %eax,0x10(%rcx)
1405798c8:	85 c0                	test   %eax,%eax
1405798ca:	7f 14                	jg     0x1405798e0
1405798cc:	78 20                	js     0x1405798ee
1405798ce:	48 8b 01             	mov    (%rcx),%rax
1405798d1:	ba 01 00 00 00       	mov    $0x1,%edx
1405798d6:	48 8b 00             	mov    (%rax),%rax
1405798d9:	ff 15 41 a1 a0 00    	call   *0xa0a141(%rip)        # 0x140f83a20
1405798df:	90                   	nop
1405798e0:	48 8b c7             	mov    %rdi,%rax
1405798e3:	48 83 c4 30          	add    $0x30,%rsp
1405798e7:	41 5e                	pop    %r14
1405798e9:	5f                   	pop    %rdi
1405798ea:	5e                   	pop    %rsi
1405798eb:	5d                   	pop    %rbp
1405798ec:	5b                   	pop    %rbx
1405798ed:	c3                   	ret
1405798ee:	b9 02 00 00 00       	mov    $0x2,%ecx
1405798f3:	e8 08 0e 21 00       	call   0x14078a700
1405798f8:	90                   	nop
1405798f9:	33 c9                	xor    %ecx,%ecx
1405798fb:	e8 00 0e 21 00       	call   0x14078a700
140579900:	cc                   	int3
140579901:	b9 01 00 00 00       	mov    $0x1,%ecx
140579906:	e8 f5 0d 21 00       	call   0x14078a700
14057990b:	90                   	nop
14057990c:	48 8d 15 45 6a a9 00 	lea    0xa96a45(%rip),%rdx        # 0x141010358
140579913:	48 8b 0d de 7b eb 00 	mov    0xeb7bde(%rip),%rcx        # 0x1414314f8
14057991a:	e8 f1 a2 21 00       	call   0x140793c10
14057991f:	90                   	nop
140579920:	b9 02 00 00 00       	mov    $0x2,%ecx
140579925:	e8 d6 0d 21 00       	call   0x14078a700
14057992a:	cc                   	int3
14057992b:	cc                   	int3
14057992c:	cc                   	int3
14057992d:	cc                   	int3
14057992e:	cc                   	int3
14057992f:	cc                   	int3
140579930:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140579935:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14057993a:	56                   	push   %rsi
14057993b:	57                   	push   %rdi
14057993c:	41 54                	push   %r12
14057993e:	41 56                	push   %r14
140579940:	41 57                	push   %r15
140579942:	48 83 ec 70          	sub    $0x70,%rsp
140579946:	4d 8b f1             	mov    %r9,%r14
140579949:	49 8b d8             	mov    %r8,%rbx
14057994c:	48 8b f2             	mov    %rdx,%rsi
14057994f:	48 8b f9             	mov    %rcx,%rdi
140579952:	45 33 e4             	xor    %r12d,%r12d
140579955:	4c 39 61 40          	cmp    %r12,0x40(%rcx)
140579959:	75 49                	jne    0x1405799a4
14057995b:	48 63 49 04          	movslq 0x4(%rcx),%rcx
14057995f:	48 c1 e1 05          	shl    $0x5,%rcx
140579963:	e8 c4 8d 8b 00       	call   0x140e3272c
140579968:	48 89 47 40          	mov    %rax,0x40(%rdi)
14057996c:	48 85 c0             	test   %rax,%rax
14057996f:	74 05                	je     0x140579976
140579971:	8b 47 04             	mov    0x4(%rdi),%eax
140579974:	eb 03                	jmp    0x140579979
140579976:	41 8b c4             	mov    %r12d,%eax
140579979:	83 e8 01             	sub    $0x1,%eax
14057997c:	48 63 c8             	movslq %eax,%rcx
14057997f:	78 23                	js     0x1405799a4
140579981:	48 8b d1             	mov    %rcx,%rdx
140579984:	48 c1 e2 05          	shl    $0x5,%rdx
140579988:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14057998f:	00
140579990:	48 8b 47 40          	mov    0x40(%rdi),%rax
140579994:	66 c7 04 02 ff ff    	movw   $0xffff,(%rdx,%rax,1)
14057999a:	48 8d 52 e0          	lea    -0x20(%rdx),%rdx
14057999e:	48 83 e9 01          	sub    $0x1,%rcx
1405799a2:	79 ec                	jns    0x140579990
1405799a4:	bd ff ff ff ff       	mov    $0xffffffff,%ebp
1405799a9:	48 3b dd             	cmp    %rbp,%rbx
1405799ac:	0f 87 fb 02 00 00    	ja     0x140579cad
1405799b2:	c7 84 24 b0 00 00 00 	movl   $0xffffffff,0xb0(%rsp)
1405799b9:	ff ff ff ff
1405799bd:	c7 84 24 a0 00 00 00 	movl   $0xffffffff,0xa0(%rsp)
1405799c4:	ff ff ff ff
1405799c8:	48 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%rax
1405799cf:	00
1405799d0:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1405799d5:	48 8d 84 24 b0 00 00 	lea    0xb0(%rsp),%rax
1405799dc:	00
1405799dd:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1405799e2:	4d 8b ce             	mov    %r14,%r9
1405799e5:	44 8b c3             	mov    %ebx,%r8d
1405799e8:	48 8b d6             	mov    %rsi,%rdx
1405799eb:	48 8b cf             	mov    %rdi,%rcx
1405799ee:	e8 3d 0a 00 00       	call   0x14057a430
1405799f3:	85 c0                	test   %eax,%eax
1405799f5:	0f 88 ce 00 00 00    	js     0x140579ac9
1405799fb:	4c 63 f0             	movslq %eax,%r14
1405799fe:	49 c1 e6 05          	shl    $0x5,%r14
140579a02:	48 8b 47 40          	mov    0x40(%rdi),%rax
140579a06:	4d 8b 64 06 10       	mov    0x10(%r14,%rax,1),%r12
140579a0b:	48 8b ac 24 c0 00 00 	mov    0xc0(%rsp),%rbp
140579a12:	00
140579a13:	49 89 6c 06 10       	mov    %rbp,0x10(%r14,%rax,1)
140579a18:	80 bc 24 c8 00 00 00 	cmpb   $0x0,0xc8(%rsp)
140579a1f:	00
140579a20:	75 08                	jne    0x140579a2a
140579a22:	48 8b ce             	mov    %rsi,%rcx
140579a25:	e8 1a 17 8a 00       	call   0x140e1b144
140579a2a:	48 8b 47 48          	mov    0x48(%rdi),%rax
140579a2e:	48 85 c0             	test   %rax,%rax
140579a31:	0f 84 4c 02 00 00    	je     0x140579c83
140579a37:	48 8b 30             	mov    (%rax),%rsi
140579a3a:	4c 8b 78 08          	mov    0x8(%rax),%r15
140579a3e:	49 3b f7             	cmp    %r15,%rsi
140579a41:	0f 84 3c 02 00 00    	je     0x140579c83
140579a47:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140579a4e:	00 00
140579a50:	48 8b 1e             	mov    (%rsi),%rbx
140579a53:	48 8b 47 40          	mov    0x40(%rdi),%rax
140579a57:	45 8b 44 06 08       	mov    0x8(%r14,%rax,1),%r8d
140579a5c:	41 8b 4c 06 04       	mov    0x4(%r14,%rax,1),%ecx
140579a61:	48 8d 50 18          	lea    0x18(%rax),%rdx
140579a65:	49 03 d6             	add    %r14,%rdx
140579a68:	83 f9 08             	cmp    $0x8,%ecx
140579a6b:	76 03                	jbe    0x140579a70
140579a6d:	48 8b 12             	mov    (%rdx),%rdx
140579a70:	44 39 43 18          	cmp    %r8d,0x18(%rbx)
140579a74:	75 23                	jne    0x140579a99
140579a76:	8b 43 14             	mov    0x14(%rbx),%eax
140579a79:	3b c1                	cmp    %ecx,%eax
140579a7b:	75 1c                	jne    0x140579a99
140579a7d:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
140579a81:	83 f8 08             	cmp    $0x8,%eax
140579a84:	76 03                	jbe    0x140579a89
140579a86:	48 8b 09             	mov    (%rcx),%rcx
140579a89:	4c 8b c0             	mov    %rax,%r8
140579a8c:	e8 bf 5f 96 00       	call   0x140edfa50
140579a91:	85 c0                	test   %eax,%eax
140579a93:	75 04                	jne    0x140579a99
140579a95:	48 89 6b 20          	mov    %rbp,0x20(%rbx)
140579a99:	48 8b 0b             	mov    (%rbx),%rcx
140579a9c:	48 8b 59 08          	mov    0x8(%rcx),%rbx
140579aa0:	4c 8b 47 40          	mov    0x40(%rdi),%r8
140579aa4:	4d 03 c6             	add    %r14,%r8
140579aa7:	48 8b d3             	mov    %rbx,%rdx
140579aaa:	48 8b 09             	mov    (%rcx),%rcx
140579aad:	e8 be eb ff ff       	call   0x140578670
140579ab2:	48 3b c3             	cmp    %rbx,%rax
140579ab5:	74 04                	je     0x140579abb
140579ab7:	48 89 68 10          	mov    %rbp,0x10(%rax)
140579abb:	48 83 c6 08          	add    $0x8,%rsi
140579abf:	49 3b f7             	cmp    %r15,%rsi
140579ac2:	75 8c                	jne    0x140579a50
140579ac4:	e9 ba 01 00 00       	jmp    0x140579c83
140579ac9:	0f b7 57 0c          	movzwl 0xc(%rdi),%edx
140579acd:	66 85 d2             	test   %dx,%dx
140579ad0:	74 43                	je     0x140579b15
140579ad2:	48 8b 47 48          	mov    0x48(%rdi),%rax
140579ad6:	48 85 c0             	test   %rax,%rax
140579ad9:	74 0d                	je     0x140579ae8
140579adb:	48 8b 48 08          	mov    0x8(%rax),%rcx
140579adf:	48 2b 08             	sub    (%rax),%rcx