14098a633:	74 7c                	je     0x14098a6b1
14098a635:	53                   	push   %rbx
14098a636:	48 83 ec 20          	sub    $0x20,%rsp
14098a63a:	8b 41 48             	mov    0x48(%rcx),%eax
14098a63d:	48 8b d9             	mov    %rcx,%rbx
14098a640:	85 c0                	test   %eax,%eax
14098a642:	74 09                	je     0x14098a64d
14098a644:	ff c8                	dec    %eax
14098a646:	89 41 48             	mov    %eax,0x48(%rcx)
14098a649:	85 c0                	test   %eax,%eax
14098a64b:	75 5f                	jne    0x14098a6ac
14098a64d:	83 79 30 00          	cmpl   $0x0,0x30(%rcx)
14098a651:	76 0c                	jbe    0x14098a65f
14098a653:	c7 41 30 01 00 00 00 	movl   $0x1,0x30(%rcx)
14098a65a:	e8 61 fe ff ff       	call   0x14098a4c0
14098a65f:	83 7b 34 01          	cmpl   $0x1,0x34(%rbx)
14098a663:	75 08                	jne    0x14098a66d
14098a665:	48 8b cb             	mov    %rbx,%rcx
14098a668:	e8 83 0a 00 00       	call   0x14098b0f0
14098a66d:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
14098a671:	48 85 c9             	test   %rcx,%rcx
14098a674:	74 0e                	je     0x14098a684
14098a676:	80 7b 38 00          	cmpb   $0x0,0x38(%rbx)
14098a67a:	75 08                	jne    0x14098a684
14098a67c:	48 8b d3             	mov    %rbx,%rdx
14098a67f:	e8 2c 4b 00 00       	call   0x14098f1b0
14098a684:	41 b9 05 00 00 00    	mov    $0x5,%r9d
14098a68a:	45 33 c0             	xor    %r8d,%r8d
14098a68d:	33 d2                	xor    %edx,%edx
14098a68f:	48 8b cb             	mov    %rbx,%rcx
14098a692:	e8 99 63 00 00       	call   0x140990a30
14098a697:	48 8b 0b             	mov    (%rbx),%rcx
14098a69a:	48 85 c9             	test   %rcx,%rcx
14098a69d:	74 05                	je     0x14098a6a4
14098a69f:	e8 8c ff ff ff       	call   0x14098a630
14098a6a4:	48 8b cb             	mov    %rbx,%rcx
14098a6a7:	e8 e4 69 4a 00       	call   0x140e31090
14098a6ac:	48 83 c4 20          	add    $0x20,%rsp
14098a6b0:	5b                   	pop    %rbx
14098a6b1:	c3                   	ret
14098a6b2:	cc                   	int3
14098a6b3:	cc                   	int3
14098a6b4:	cc                   	int3
14098a6b5:	cc                   	int3
14098a6b6:	cc                   	int3
14098a6b7:	cc                   	int3
14098a6b8:	cc                   	int3
14098a6b9:	cc                   	int3
14098a6ba:	cc                   	int3
14098a6bb:	cc                   	int3
14098a6bc:	cc                   	int3
14098a6bd:	cc                   	int3
14098a6be:	cc                   	int3
14098a6bf:	cc                   	int3
14098a6c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14098a6c5:	57                   	push   %rdi
14098a6c6:	48 83 ec 20          	sub    $0x20,%rsp
14098a6ca:	48 8b f9             	mov    %rcx,%rdi
14098a6cd:	b9 58 00 00 00       	mov    $0x58,%ecx
14098a6d2:	e8 55 80 4a 00       	call   0x140e3272c
14098a6d7:	48 8b d8             	mov    %rax,%rbx
14098a6da:	48 85 c0             	test   %rax,%rax
14098a6dd:	75 1b                	jne    0x14098a6fa
14098a6df:	45 33 c0             	xor    %r8d,%r8d
14098a6e2:	8d 50 0e             	lea    0xe(%rax),%edx
14098a6e5:	48 8b cf             	mov    %rdi,%rcx
14098a6e8:	e8 a3 d2 ff ff       	call   0x140987990
14098a6ed:	33 c0                	xor    %eax,%eax
14098a6ef:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14098a6f4:	48 83 c4 20          	add    $0x20,%rsp
14098a6f8:	5f                   	pop    %rdi
14098a6f9:	c3                   	ret
14098a6fa:	33 ff                	xor    %edi,%edi
14098a6fc:	c7 40 48 01 00 00 00 	movl   $0x1,0x48(%rax)
14098a703:	48 8d 48 18          	lea    0x18(%rax),%rcx
14098a707:	48 89 38             	mov    %rdi,(%rax)
14098a70a:	48 89 78 08          	mov    %rdi,0x8(%rax)
14098a70e:	48 89 78 10          	mov    %rdi,0x10(%rax)
14098a712:	48 89 78 30          	mov    %rdi,0x30(%rax)
14098a716:	40 88 78 38          	mov    %dil,0x38(%rax)
14098a71a:	48 89 78 40          	mov    %rdi,0x40(%rax)
14098a71e:	e8 fd d1 ff ff       	call   0x140987920
14098a723:	48 8b c3             	mov    %rbx,%rax
14098a726:	66 89 7b 4c          	mov    %di,0x4c(%rbx)
14098a72a:	48 89 7b 50          	mov    %rdi,0x50(%rbx)
14098a72e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14098a733:	48 83 c4 20          	add    $0x20,%rsp
14098a737:	5f                   	pop    %rdi
14098a738:	c3                   	ret
14098a739:	cc                   	int3
14098a73a:	cc                   	int3
14098a73b:	cc                   	int3
14098a73c:	cc                   	int3
14098a73d:	cc                   	int3
14098a73e:	cc                   	int3
14098a73f:	cc                   	int3
14098a740:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14098a745:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14098a74a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14098a74f:	57                   	push   %rdi
14098a750:	48 83 ec 30          	sub    $0x30,%rsp
14098a754:	48 8b e9             	mov    %rcx,%rbp
14098a757:	49 8b d8             	mov    %r8,%rbx
14098a75a:	b9 58 00 00 00       	mov    $0x58,%ecx
14098a75f:	48 8b f2             	mov    %rdx,%rsi
14098a762:	e8 c5 7f 4a 00       	call   0x140e3272c
14098a767:	48 8b f8             	mov    %rax,%rdi
14098a76a:	48 85 c0             	test   %rax,%rax
14098a76d:	75 12                	jne    0x14098a781
14098a76f:	45 33 c0             	xor    %r8d,%r8d
14098a772:	8d 50 0e             	lea    0xe(%rax),%edx
14098a775:	48 8b cb             	mov    %rbx,%rcx
14098a778:	e8 13 d2 ff ff       	call   0x140987990
14098a77d:	33 c0                	xor    %eax,%eax
14098a77f:	eb 71                	jmp    0x14098a7f2
14098a781:	33 db                	xor    %ebx,%ebx
14098a783:	c7 40 48 01 00 00 00 	movl   $0x1,0x48(%rax)
14098a78a:	48 8d 48 18          	lea    0x18(%rax),%rcx
14098a78e:	48 89 18             	mov    %rbx,(%rax)
14098a791:	48 89 58 08          	mov    %rbx,0x8(%rax)
14098a795:	48 89 58 10          	mov    %rbx,0x10(%rax)
14098a799:	48 89 58 30          	mov    %rbx,0x30(%rax)
14098a79d:	88 58 38             	mov    %bl,0x38(%rax)
14098a7a0:	48 89 58 40          	mov    %rbx,0x40(%rax)
14098a7a4:	e8 77 d1 ff ff       	call   0x140987920
14098a7a9:	66 89 5f 4c          	mov    %bx,0x4c(%rdi)
14098a7ad:	44 8d 4b 0e          	lea    0xe(%rbx),%r9d
14098a7b1:	48 89 5f 50          	mov    %rbx,0x50(%rdi)
14098a7b5:	45 33 c0             	xor    %r8d,%r8d
14098a7b8:	33 d2                	xor    %edx,%edx
14098a7ba:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
14098a7be:	48 8b ce             	mov    %rsi,%rcx
14098a7c1:	48 89 77 10          	mov    %rsi,0x10(%rdi)
14098a7c5:	48 8b c5             	mov    %rbp,%rax
14098a7c8:	ff 15 52 92 5f 00    	call   *0x5f9252(%rip)        # 0x140f83a20
14098a7ce:	ba ff ff ff ff       	mov    $0xffffffff,%edx
14098a7d3:	48 8b d8             	mov    %rax,%rbx
14098a7d6:	8d 4a 0f             	lea    0xf(%rdx),%ecx
14098a7d9:	e8 22 05 00 00       	call   0x14098ad00
14098a7de:	48 0b d8             	or     %rax,%rbx
14098a7e1:	48 89 5f 28          	mov    %rbx,0x28(%rdi)
14098a7e5:	7d 08                	jge    0x14098a7ef
14098a7e7:	48 c7 47 28 3f 00 00 	movq   $0x3f,0x28(%rdi)
14098a7ee:	00
14098a7ef:	48 8b c7             	mov    %rdi,%rax
14098a7f2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14098a7f7:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14098a7fc:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14098a801:	48 83 c4 30          	add    $0x30,%rsp
14098a805:	5f                   	pop    %rdi
14098a806:	c3                   	ret
14098a807:	cc                   	int3
14098a808:	cc                   	int3
14098a809:	cc                   	int3
14098a80a:	cc                   	int3
14098a80b:	cc                   	int3
14098a80c:	cc                   	int3
14098a80d:	cc                   	int3
14098a80e:	cc                   	int3
14098a80f:	cc                   	int3
14098a810:	ff 41 48             	incl   0x48(%rcx)
14098a813:	c3                   	ret
14098a814:	cc                   	int3
14098a815:	cc                   	int3
14098a816:	cc                   	int3
14098a817:	cc                   	int3
14098a818:	cc                   	int3
14098a819:	cc                   	int3
14098a81a:	cc                   	int3
14098a81b:	cc                   	int3
14098a81c:	cc                   	int3
14098a81d:	cc                   	int3
14098a81e:	cc                   	int3
14098a81f:	cc                   	int3
14098a820:	40 53                	rex push %rbx
14098a822:	48 83 ec 20          	sub    $0x20,%rsp
14098a826:	80 79 38 00          	cmpb   $0x0,0x38(%rcx)
14098a82a:	48 8b d9             	mov    %rcx,%rbx
14098a82d:	75 16                	jne    0x14098a845
14098a82f:	83 79 34 03          	cmpl   $0x3,0x34(%rcx)
14098a833:	75 1b                	jne    0x14098a850
14098a835:	45 33 c0             	xor    %r8d,%r8d
14098a838:	48 83 c1 18          	add    $0x18,%rcx
14098a83c:	41 8d 50 17          	lea    0x17(%r8),%edx
14098a840:	e8 4b d1 ff ff       	call   0x140987990
14098a845:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098a84a:	48 83 c4 20          	add    $0x20,%rsp
14098a84e:	5b                   	pop    %rbx
14098a84f:	c3                   	ret
14098a850:	83 79 30 00          	cmpl   $0x0,0x30(%rcx)
14098a854:	76 24                	jbe    0x14098a87a
14098a856:	e8 a5 f8 81 ff       	call   0x1401aa100
14098a85b:	a8 40                	test   $0x40,%al
14098a85d:	75 70                	jne    0x14098a8cf
14098a85f:	45 33 c0             	xor    %r8d,%r8d
14098a862:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14098a866:	41 8d 50 1d          	lea    0x1d(%r8),%edx
14098a86a:	e8 21 d1 ff ff       	call   0x140987990
14098a86f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098a874:	48 83 c4 20          	add    $0x20,%rsp
14098a878:	5b                   	pop    %rbx
14098a879:	c3                   	ret
14098a87a:	48 8b 09             	mov    (%rcx),%rcx
14098a87d:	48 85 c9             	test   %rcx,%rcx
14098a880:	74 20                	je     0x14098a8a2
14098a882:	e8 99 ff ff ff       	call   0x14098a820
14098a887:	85 c0                	test   %eax,%eax
14098a889:	79 17                	jns    0x14098a8a2
14098a88b:	48 8b 13             	mov    (%rbx),%rdx
14098a88e:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14098a892:	e8 39 d0 ff ff       	call   0x1409878d0
14098a897:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098a89c:	48 83 c4 20          	add    $0x20,%rsp
14098a8a0:	5b                   	pop    %rbx
14098a8a1:	c3                   	ret
14098a8a2:	45 33 c9             	xor    %r9d,%r9d
14098a8a5:	45 33 c0             	xor    %r8d,%r8d
14098a8a8:	33 d2                	xor    %edx,%edx
14098a8aa:	48 8b cb             	mov    %rbx,%rcx
14098a8ad:	e8 7e 61 00 00       	call   0x140990a30
14098a8b2:	48 85 c0             	test   %rax,%rax
14098a8b5:	79 18                	jns    0x14098a8cf
14098a8b7:	48 8b 0b             	mov    (%rbx),%rcx
14098a8ba:	48 85 c9             	test   %rcx,%rcx
14098a8bd:	74 86                	je     0x14098a845
14098a8bf:	e8 fc fb ff ff       	call   0x14098a4c0
14098a8c4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098a8c9:	48 83 c4 20          	add    $0x20,%rsp
14098a8cd:	5b                   	pop    %rbx
14098a8ce:	c3                   	ret
14098a8cf:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14098a8d3:	66 c7 43 4c 00 00    	movw   $0x0,0x4c(%rbx)
14098a8d9:	e8 92 cf ff ff       	call   0x140987870
14098a8de:	ff 43 30             	incl   0x30(%rbx)
14098a8e1:	33 c0                	xor    %eax,%eax
14098a8e3:	48 c7 43 50 00 00 00 	movq   $0x0,0x50(%rbx)
14098a8ea:	00
14098a8eb:	48 83 c4 20          	add    $0x20,%rsp
14098a8ef:	5b                   	pop    %rbx
14098a8f0:	c3                   	ret
14098a8f1:	cc                   	int3
14098a8f2:	cc                   	int3
14098a8f3:	cc                   	int3
14098a8f4:	cc                   	int3
14098a8f5:	cc                   	int3
14098a8f6:	cc                   	int3
14098a8f7:	cc                   	int3
14098a8f8:	cc                   	int3
14098a8f9:	cc                   	int3
14098a8fa:	cc                   	int3
14098a8fb:	cc                   	int3
14098a8fc:	cc                   	int3
14098a8fd:	cc                   	int3
14098a8fe:	cc                   	int3
14098a8ff:	cc                   	int3
14098a900:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14098a905:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14098a90a:	57                   	push   %rdi
14098a90b:	48 83 ec 20          	sub    $0x20,%rsp
14098a90f:	80 79 38 00          	cmpb   $0x0,0x38(%rcx)
14098a913:	49 8b f0             	mov    %r8,%rsi
14098a916:	48 8b ea             	mov    %rdx,%rbp
14098a919:	48 8b f9             	mov    %rcx,%rdi
14098a91c:	0f 85 f3 00 00 00    	jne    0x14098aa15
14098a922:	83 79 30 00          	cmpl   $0x0,0x30(%rcx)
14098a926:	0f 86 d9 00 00 00    	jbe    0x14098aa05
14098a92c:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14098a933:	ff ff 7f
14098a936:	4c 3b c0             	cmp    %rax,%r8
14098a939:	0f 87 c6 00 00 00    	ja     0x14098aa05
14098a93f:	4d 85 c0             	test   %r8,%r8
14098a942:	74 09                	je     0x14098a94d
14098a944:	48 85 d2             	test   %rdx,%rdx
14098a947:	0f 84 b8 00 00 00    	je     0x14098aa05
14098a94d:	80 79 4d 00          	cmpb   $0x0,0x4d(%rcx)
14098a951:	0f 85 be 00 00 00    	jne    0x14098aa15
14098a957:	80 79 4c 00          	cmpb   $0x0,0x4c(%rcx)
14098a95b:	0f 85 92 00 00 00    	jne    0x14098a9f3
14098a961:	48 85 f6             	test   %rsi,%rsi
14098a964:	0f 84 89 00 00 00    	je     0x14098a9f3
14098a96a:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14098a96f:	33 db                	xor    %ebx,%ebx
14098a971:	48 85 f6             	test   %rsi,%rsi
14098a974:	74 31                	je     0x14098a9a7
14098a976:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14098a97d:	00 00 00
14098a980:	4c 8b c6             	mov    %rsi,%r8
14098a983:	48 8d 14 2b          	lea    (%rbx,%rbp,1),%rdx
14098a987:	4c 2b c3             	sub    %rbx,%r8
14098a98a:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14098a990:	48 8b cf             	mov    %rdi,%rcx
14098a993:	e8 98 60 00 00       	call   0x140990a30
14098a998:	48 85 c0             	test   %rax,%rax
14098a99b:	78 42                	js     0x14098a9df
14098a99d:	74 3a                	je     0x14098a9d9
14098a99f:	48 03 d8             	add    %rax,%rbx
14098a9a2:	48 3b de             	cmp    %rsi,%rbx
14098a9a5:	72 d9                	jb     0x14098a980
14098a9a7:	48 8b 4f 50          	mov    0x50(%rdi),%rcx
14098a9ab:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098a9b2:	48 8d 14 19          	lea    (%rcx,%rbx,1),%rdx
14098a9b6:	48 3b d1             	cmp    %rcx,%rdx
14098a9b9:	48 0f 42 d0          	cmovb  %rax,%rdx
14098a9bd:	48 89 57 50          	mov    %rdx,0x50(%rdi)
14098a9c1:	48 8b c3             	mov    %rbx,%rax
14098a9c4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14098a9c9:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14098a9ce:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14098a9d3:	48 83 c4 20          	add    $0x20,%rsp
14098a9d7:	5f                   	pop    %rdi
14098a9d8:	c3                   	ret
14098a9d9:	c6 47 4c 01          	movb   $0x1,0x4c(%rdi)
14098a9dd:	eb c8                	jmp    0x14098a9a7
14098a9df:	48 85 db             	test   %rbx,%rbx
14098a9e2:	c6 47 4d 01          	movb   $0x1,0x4d(%rdi)
14098a9e6:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098a9ed:	48 0f 44 d8          	cmove  %rax,%rbx
14098a9f1:	eb ce                	jmp    0x14098a9c1
14098a9f3:	33 c0                	xor    %eax,%eax
14098a9f5:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14098a9fa:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14098a9ff:	48 83 c4 20          	add    $0x20,%rsp
14098aa03:	5f                   	pop    %rdi
14098aa04:	c3                   	ret
14098aa05:	45 33 c0             	xor    %r8d,%r8d
14098aa08:	48 83 c1 18          	add    $0x18,%rcx
14098aa0c:	41 8d 50 12          	lea    0x12(%r8),%edx
14098aa10:	e8 7b cf ff ff       	call   0x140987990
14098aa15:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14098aa1a:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098aa21:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14098aa26:	48 83 c4 20          	add    $0x20,%rsp
14098aa2a:	5f                   	pop    %rdi
14098aa2b:	c3                   	ret
14098aa2c:	cc                   	int3
14098aa2d:	cc                   	int3
14098aa2e:	cc                   	int3
14098aa2f:	cc                   	int3
14098aa30:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14098aa35:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14098aa3a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14098aa3f:	57                   	push   %rdi
14098aa40:	41 56                	push   %r14
14098aa42:	41 57                	push   %r15
14098aa44:	48 83 ec 20          	sub    $0x20,%rsp
14098aa48:	49 8b d9             	mov    %r9,%rbx
14098aa4b:	45 8b f0             	mov    %r8d,%r14d
14098aa4e:	45 33 c9             	xor    %r9d,%r9d
14098aa51:	48 8b ea             	mov    %rdx,%rbp
14098aa54:	48 8b f1             	mov    %rcx,%rsi