140058634:	53                   	push   %rbx
140058635:	48 83 ec 28          	sub    $0x28,%rsp
140058639:	48 89 ce             	mov    %rcx,%rsi
14005863c:	48 8b 41 78          	mov    0x78(%rcx),%rax
140058640:	48 85 c0             	test   %rax,%rax
140058643:	74 42                	je     0x140058687
140058645:	48 8b 56 50          	mov    0x50(%rsi),%rdx
140058649:	48 89 d7             	mov    %rdx,%rdi
14005864c:	48 2b 7e 68          	sub    0x68(%rsi),%rdi
140058650:	41 89 f8             	mov    %edi,%r8d
140058653:	49 83 f8 7e          	cmp    $0x7e,%r8
140058657:	0f 87 c4 00 00 00    	ja     0x140058721
14005865d:	48 3b 46 40          	cmp    0x40(%rsi),%rax
140058661:	0f 82 ba 00 00 00    	jb     0x140058721
140058667:	4c 29 c2             	sub    %r8,%rdx
14005866a:	48 8d 4a fd          	lea    -0x3(%rdx),%rcx
14005866e:	e8 fd 54 04 00       	call   0x14009db70
140058673:	48 83 46 50 fd       	addq   $0xfffffffffffffffd,0x50(%rsi)
140058678:	48 8b 46 78          	mov    0x78(%rsi),%rax
14005867c:	40 88 38             	mov    %dil,(%rax)
14005867f:	48 c7 46 78 00 00 00 	movq   $0x0,0x78(%rsi)
140058686:	00
140058687:	48 8b 5e 60          	mov    0x60(%rsi),%rbx
14005868b:	48 8d 7b 28          	lea    0x28(%rbx),%rdi
14005868f:	48 8b 43 28          	mov    0x28(%rbx),%rax
140058693:	48 85 c0             	test   %rax,%rax
140058696:	0f 84 d5 00 00 00    	je     0x140058771
14005869c:	48 8b 08             	mov    (%rax),%rcx
14005869f:	48 85 c9             	test   %rcx,%rcx
1400586a2:	0f 85 f1 00 00 00    	jne    0x140058799
1400586a8:	48 8d 56 38          	lea    0x38(%rsi),%rdx
1400586ac:	c7 80 88 02 00 00 00 	movl   $0x0,0x288(%rax)
1400586b3:	00 00 00
1400586b6:	48 89 d9             	mov    %rbx,%rcx
1400586b9:	49 89 f8             	mov    %rdi,%r8
1400586bc:	e8 ff b5 ff ff       	call   0x140053cc0
1400586c1:	48 8b 4e 60          	mov    0x60(%rsi),%rcx
1400586c5:	e8 26 ba ff ff       	call   0x1400540f0
1400586ca:	48 8b 46 28          	mov    0x28(%rsi),%rax
1400586ce:	48 85 c0             	test   %rax,%rax
1400586d1:	74 38                	je     0x14005870b
1400586d3:	66 83 7e 30 00       	cmpw   $0x0,0x30(%rsi)
1400586d8:	74 31                	je     0x14005870b
1400586da:	80 7e 74 00          	cmpb   $0x0,0x74(%rsi)
1400586de:	75 2b                	jne    0x14005870b
1400586e0:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1400586e4:	48 3b 4e 50          	cmp    0x50(%rsi),%rcx
1400586e8:	0f 84 ca 00 00 00    	je     0x1400587b8
1400586ee:	c6 46 74 01          	movb   $0x1,0x74(%rsi)
1400586f2:	0f b7 48 06          	movzwl 0x6(%rax),%ecx
1400586f6:	8d 51 01             	lea    0x1(%rcx),%edx
1400586f9:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
1400586ff:	81 e1 00 fc ff ff    	and    $0xfffffc00,%ecx
140058705:	09 d1                	or     %edx,%ecx
140058707:	66 89 48 06          	mov    %cx,0x6(%rax)
14005870b:	48 8b 86 80 00 00 00 	mov    0x80(%rsi),%rax
140058712:	48 85 c0             	test   %rax,%rax
140058715:	75 33                	jne    0x14005874a
140058717:	48 83 c4 28          	add    $0x28,%rsp
14005871b:	5b                   	pop    %rbx
14005871c:	5f                   	pop    %rdi
14005871d:	5e                   	pop    %rsi
14005871e:	41 5e                	pop    %r14
140058720:	c3                   	ret
140058721:	89 f9                	mov    %edi,%ecx
140058723:	80 c9 80             	or     $0x80,%cl
140058726:	88 08                	mov    %cl,(%rax)
140058728:	89 f9                	mov    %edi,%ecx
14005872a:	c1 e9 07             	shr    $0x7,%ecx
14005872d:	80 c9 80             	or     $0x80,%cl
140058730:	88 48 01             	mov    %cl,0x1(%rax)
140058733:	89 f9                	mov    %edi,%ecx
140058735:	c1 e9 0e             	shr    $0xe,%ecx
140058738:	80 c9 80             	or     $0x80,%cl
14005873b:	88 48 02             	mov    %cl,0x2(%rax)
14005873e:	c1 ef 15             	shr    $0x15,%edi
140058741:	40 88 78 03          	mov    %dil,0x3(%rax)
140058745:	e9 35 ff ff ff       	jmp    0x14005867f
14005874a:	80 78 0e 00          	cmpb   $0x0,0xe(%rax)
14005874e:	74 c7                	je     0x140058717
140058750:	4c 8d 8e 80 00 00 00 	lea    0x80(%rsi),%r9
140058757:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14005875b:	44 8b 46 1c          	mov    0x1c(%rsi),%r8d
14005875f:	0f b7 56 18          	movzwl 0x18(%rsi),%edx
140058763:	48 83 c4 28          	add    $0x28,%rsp
140058767:	5b                   	pop    %rbx
140058768:	5f                   	pop    %rdi
140058769:	5e                   	pop    %rsi
14005876a:	41 5e                	pop    %r14
14005876c:	e9 9f 7a fc ff       	jmp    0x140020210
140058771:	b9 90 02 00 00       	mov    $0x290,%ecx
140058776:	e8 19 57 01 00       	call   0x14006de94
14005877b:	48 85 c0             	test   %rax,%rax
14005877e:	74 46                	je     0x1400587c6
140058780:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140058787:	c7 80 88 02 00 00 00 	movl   $0x0,0x288(%rax)
14005878e:	00 00 00
140058791:	48 89 07             	mov    %rax,(%rdi)
140058794:	e9 0f ff ff ff       	jmp    0x1400586a8
140058799:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1400587a0:	4c 8b 31             	mov    (%rcx),%r14
1400587a3:	e8 28 57 01 00       	call   0x14006ded0
1400587a8:	4c 89 f1             	mov    %r14,%rcx
1400587ab:	4d 85 f6             	test   %r14,%r14
1400587ae:	75 f0                	jne    0x1400587a0
1400587b0:	48 8b 07             	mov    (%rdi),%rax
1400587b3:	e9 f0 fe ff ff       	jmp    0x1400586a8
1400587b8:	48 8d 4e f8          	lea    -0x8(%rsi),%rcx
1400587bc:	e8 2f 81 fc ff       	call   0x1400208f0
1400587c1:	e9 45 ff ff ff       	jmp    0x14005870b
1400587c6:	0f 0b                	ud2
1400587c8:	cc                   	int3
1400587c9:	cc                   	int3
1400587ca:	cc                   	int3
1400587cb:	cc                   	int3
1400587cc:	cc                   	int3
1400587cd:	cc                   	int3
1400587ce:	cc                   	int3
1400587cf:	cc                   	int3
1400587d0:	41 56                	push   %r14
1400587d2:	56                   	push   %rsi
1400587d3:	57                   	push   %rdi
1400587d4:	53                   	push   %rbx
1400587d5:	48 83 ec 38          	sub    $0x38,%rsp
1400587d9:	44 89 c7             	mov    %r8d,%edi
1400587dc:	89 d3                	mov    %edx,%ebx
1400587de:	48 89 ce             	mov    %rcx,%rsi
1400587e1:	48 8b 05 58 88 0a 00 	mov    0xa8858(%rip),%rax        # 0x140101040
1400587e8:	48 31 e0             	xor    %rsp,%rax
1400587eb:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400587f0:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
1400587f5:	0f 85 85 00 00 00    	jne    0x140058880
1400587fb:	c1 e3 03             	shl    $0x3,%ebx
1400587fe:	48 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%rax
140058805:	aa aa aa
140058808:	48 89 44 24 27       	mov    %rax,0x27(%rsp)
14005880d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140058812:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
140058817:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
14005881d:	73 6e                	jae    0x14005888d
14005881f:	48 89 c1             	mov    %rax,%rcx
140058822:	89 da                	mov    %ebx,%edx
140058824:	88 11                	mov    %dl,(%rcx)
140058826:	40 88 79 01          	mov    %dil,0x1(%rcx)
14005882a:	48 f7 d8             	neg    %rax
14005882d:	48 8d 1c 01          	lea    (%rcx,%rax,1),%rbx
140058831:	48 83 c3 02          	add    $0x2,%rbx
140058835:	48 8b 3e             	mov    (%rsi),%rdi
140058838:	41 89 d8             	mov    %ebx,%r8d
14005883b:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
14005883f:	4e 8d 34 01          	lea    (%rcx,%r8,1),%r14
140058843:	4c 3b 77 10          	cmp    0x10(%rdi),%r14
140058847:	77 6b                	ja     0x1400588b4
140058849:	4d 85 c0             	test   %r8,%r8
14005884c:	74 0a                	je     0x140058858
14005884e:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140058853:	e8 18 53 04 00       	call   0x14009db70
140058858:	4c 89 77 18          	mov    %r14,0x18(%rdi)
14005885c:	01 5e 20             	add    %ebx,0x20(%rsi)
14005885f:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140058864:	48 31 e1             	xor    %rsp,%rcx
140058867:	48 3b 0d d2 87 0a 00 	cmp    0xa87d2(%rip),%rcx        # 0x140101040
14005886e:	74 06                	je     0x140058876
140058870:	e8 5b 6a 01 00       	call   0x14006f2d0
140058875:	cc                   	int3
140058876:	48 83 c4 38          	add    $0x38,%rsp
14005887a:	5b                   	pop    %rbx
14005887b:	5f                   	pop    %rdi
14005887c:	5e                   	pop    %rsi
14005887d:	41 5e                	pop    %r14
14005887f:	c3                   	ret
140058880:	48 89 f1             	mov    %rsi,%rcx
140058883:	e8 c8 b5 ff ff       	call   0x140053e50
140058888:	e9 6e ff ff ff       	jmp    0x1400587fb
14005888d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140058892:	89 da                	mov    %ebx,%edx
140058894:	41 89 d8             	mov    %ebx,%r8d
140058897:	41 80 c8 80          	or     $0x80,%r8b
14005889b:	44 88 01             	mov    %r8b,(%rcx)
14005889e:	48 ff c1             	inc    %rcx
1400588a1:	c1 ea 07             	shr    $0x7,%edx
1400588a4:	81 fb ff 3f 00 00    	cmp    $0x3fff,%ebx
1400588aa:	89 d3                	mov    %edx,%ebx
1400588ac:	0f 86 72 ff ff ff    	jbe    0x140058824
1400588b2:	eb e0                	jmp    0x140058894
1400588b4:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400588b9:	48 89 f9             	mov    %rdi,%rcx
1400588bc:	e8 4f c1 ff ff       	call   0x140054a10
1400588c1:	eb 99                	jmp    0x14005885c
1400588c3:	cc                   	int3
1400588c4:	cc                   	int3
1400588c5:	cc                   	int3
1400588c6:	cc                   	int3
1400588c7:	cc                   	int3
1400588c8:	cc                   	int3
1400588c9:	cc                   	int3
1400588ca:	cc                   	int3
1400588cb:	cc                   	int3
1400588cc:	cc                   	int3
1400588cd:	cc                   	int3
1400588ce:	cc                   	int3
1400588cf:	cc                   	int3
1400588d0:	41 56                	push   %r14
1400588d2:	56                   	push   %rsi
1400588d3:	57                   	push   %rdi
1400588d4:	53                   	push   %rbx
1400588d5:	48 83 ec 38          	sub    $0x38,%rsp
1400588d9:	4c 89 c7             	mov    %r8,%rdi
1400588dc:	89 d3                	mov    %edx,%ebx
1400588de:	48 89 ce             	mov    %rcx,%rsi
1400588e1:	48 8b 05 58 87 0a 00 	mov    0xa8758(%rip),%rax        # 0x140101040
1400588e8:	48 31 e0             	xor    %rsp,%rax
1400588eb:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400588f0:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
1400588f5:	0f 85 b1 00 00 00    	jne    0x1400589ac
1400588fb:	c1 e3 03             	shl    $0x3,%ebx
1400588fe:	48 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%rax
140058905:	aa aa aa
140058908:	48 89 44 24 27       	mov    %rax,0x27(%rsp)
14005890d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140058912:	4c 8d 74 24 20       	lea    0x20(%rsp),%r14
140058917:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
14005891d:	0f 83 a5 00 00 00    	jae    0x1400589c8
140058923:	41 88 1e             	mov    %bl,(%r14)
140058926:	49 8d 46 01          	lea    0x1(%r14),%rax
14005892a:	48 81 ff 80 00 00 00 	cmp    $0x80,%rdi
140058931:	72 1e                	jb     0x140058951
140058933:	48 89 f9             	mov    %rdi,%rcx
140058936:	89 ca                	mov    %ecx,%edx
140058938:	80 ca 80             	or     $0x80,%dl
14005893b:	88 10                	mov    %dl,(%rax)
14005893d:	48 c1 ef 07          	shr    $0x7,%rdi
140058941:	48 ff c0             	inc    %rax
140058944:	48 81 f9 ff 3f 00 00 	cmp    $0x3fff,%rcx
14005894b:	77 e6                	ja     0x140058933
14005894d:	4c 8d 70 ff          	lea    -0x1(%rax),%r14
140058951:	40 88 38             	mov    %dil,(%rax)
140058954:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
140058959:	49 29 c6             	sub    %rax,%r14
14005895c:	49 83 c6 02          	add    $0x2,%r14
140058960:	48 8b 3e             	mov    (%rsi),%rdi
140058963:	45 89 f0             	mov    %r14d,%r8d
140058966:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
14005896a:	4a 8d 1c 01          	lea    (%rcx,%r8,1),%rbx
14005896e:	48 3b 5f 10          	cmp    0x10(%rdi),%rbx
140058972:	77 45                	ja     0x1400589b9
140058974:	4d 85 c0             	test   %r8,%r8
140058977:	74 0a                	je     0x140058983
140058979:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14005897e:	e8 ed 51 04 00       	call   0x14009db70
140058983:	48 89 5f 18          	mov    %rbx,0x18(%rdi)
140058987:	44 01 76 20          	add    %r14d,0x20(%rsi)
14005898b:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140058990:	48 31 e1             	xor    %rsp,%rcx
140058993:	48 3b 0d a6 86 0a 00 	cmp    0xa86a6(%rip),%rcx        # 0x140101040
14005899a:	74 06                	je     0x1400589a2
14005899c:	e8 2f 69 01 00       	call   0x14006f2d0
1400589a1:	cc                   	int3
1400589a2:	48 83 c4 38          	add    $0x38,%rsp
1400589a6:	5b                   	pop    %rbx
1400589a7:	5f                   	pop    %rdi
1400589a8:	5e                   	pop    %rsi
1400589a9:	41 5e                	pop    %r14
1400589ab:	c3                   	ret
1400589ac:	48 89 f1             	mov    %rsi,%rcx
1400589af:	e8 9c b4 ff ff       	call   0x140053e50
1400589b4:	e9 42 ff ff ff       	jmp    0x1400588fb
1400589b9:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400589be:	48 89 f9             	mov    %rdi,%rcx
1400589c1:	e8 4a c0 ff ff       	call   0x140054a10
1400589c6:	eb bf                	jmp    0x140058987
1400589c8:	89 d8                	mov    %ebx,%eax
1400589ca:	89 c1                	mov    %eax,%ecx
1400589cc:	80 c9 80             	or     $0x80,%cl
1400589cf:	41 88 0e             	mov    %cl,(%r14)
1400589d2:	49 ff c6             	inc    %r14
1400589d5:	c1 eb 07             	shr    $0x7,%ebx
1400589d8:	3d ff 3f 00 00       	cmp    $0x3fff,%eax
1400589dd:	89 d8                	mov    %ebx,%eax
1400589df:	0f 86 3e ff ff ff    	jbe    0x140058923
1400589e5:	eb e3                	jmp    0x1400589ca
1400589e7:	cc                   	int3
1400589e8:	cc                   	int3
1400589e9:	cc                   	int3
1400589ea:	cc                   	int3
1400589eb:	cc                   	int3
1400589ec:	cc                   	int3
1400589ed:	cc                   	int3
1400589ee:	cc                   	int3
1400589ef:	cc                   	int3
1400589f0:	41 57                	push   %r15
1400589f2:	41 56                	push   %r14
1400589f4:	41 54                	push   %r12
1400589f6:	56                   	push   %rsi
1400589f7:	57                   	push   %rdi
1400589f8:	53                   	push   %rbx
1400589f9:	48 83 ec 28          	sub    $0x28,%rsp
1400589fd:	48 89 cf             	mov    %rcx,%rdi
140058a00:	49 bc f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%r12
140058a07:	ff ff 7f
140058a0a:	4d 39 e1             	cmp    %r12,%r9
140058a0d:	77 53                	ja     0x140058a62
140058a0f:	4d 89 ce             	mov    %r9,%r14
140058a12:	4c 89 c3             	mov    %r8,%rbx
140058a15:	48 89 d6             	mov    %rdx,%rsi
140058a18:	49 83 f9 16          	cmp    $0x16,%r9
140058a1c:	77 4c                	ja     0x140058a6a
140058a1e:	44 88 77 17          	mov    %r14b,0x17(%rdi)
140058a22:	49 89 d8             	mov    %rbx,%r8
140058a25:	49 29 f0             	sub    %rsi,%r8
140058a28:	78 36                	js     0x140058a60
140058a2a:	4e 8d 34 07          	lea    (%rdi,%r8,1),%r14
140058a2e:	48 39 fe             	cmp    %rdi,%rsi
140058a31:	0f 92 c0             	setb   %al
140058a34:	4c 39 f6             	cmp    %r14,%rsi
140058a37:	0f 93 c1             	setae  %cl
140058a3a:	08 c1                	or     %al,%cl
140058a3c:	74 22                	je     0x140058a60
140058a3e:	48 39 f3             	cmp    %rsi,%rbx
140058a41:	74 0b                	je     0x140058a4e
140058a43:	48 89 f9             	mov    %rdi,%rcx
140058a46:	48 89 f2             	mov    %rsi,%rdx
140058a49:	e8 22 51 04 00       	call   0x14009db70
140058a4e:	41 c6 06 00          	movb   $0x0,(%r14)
140058a52:	48 83 c4 28          	add    $0x28,%rsp
140058a56:	5b                   	pop    %rbx
140058a57:	5f                   	pop    %rdi
140058a58:	5e                   	pop    %rsi
140058a59:	41 5c                	pop    %r12
140058a5b:	41 5e                	pop    %r14
140058a5d:	41 5f                	pop    %r15
140058a5f:	c3                   	ret
140058a60:	0f 0b                	ud2
140058a62:	48 89 f9             	mov    %rdi,%rcx
140058a65:	e8 d6 68 04 00       	call   0x14009f340
140058a6a:	4c 89 f0             	mov    %r14,%rax
140058a6d:	48 83 c8 07          	or     $0x7,%rax
140058a71:	48 8d 48 01          	lea    0x1(%rax),%rcx
140058a75:	48 83 f8 17          	cmp    $0x17,%rax
140058a79:	41 bf 19 00 00 00    	mov    $0x19,%r15d
140058a7f:	4c 0f 45 f9          	cmovne %rcx,%r15
140058a83:	4c 89 f9             	mov    %r15,%rcx
140058a86:	e8 09 54 01 00       	call   0x14006de94
140058a8b:	48 89 07             	mov    %rax,(%rdi)
140058a8e:	49 83 c4 09          	add    $0x9,%r12
140058a92:	4d 09 fc             	or     %r15,%r12
140058a95:	4c 89 67 10          	mov    %r12,0x10(%rdi)
140058a99:	4c 89 77 08          	mov    %r14,0x8(%rdi)
140058a9d:	48 89 c7             	mov    %rax,%rdi
140058aa0:	eb 80                	jmp    0x140058a22