140019676:	45 33 c0             	xor    %r8d,%r8d
140019679:	88 44 24 20          	mov    %al,0x20(%rsp)
14001967d:	45 32 e4             	xor    %r12b,%r12b
140019680:	e8 ef f1 ff ff       	call   0x140018874
140019685:	8b 18                	mov    (%rax),%ebx
140019687:	4c 8b 78 08          	mov    0x8(%rax),%r15
14001968b:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
140019690:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
140019694:	48 85 c9             	test   %rcx,%rcx
140019697:	74 12                	je     0x1400196ab
140019699:	48 83 65 e0 00       	andq   $0x0,-0x20(%rbp)
14001969e:	48 8b 01             	mov    (%rcx),%rax
1400196a1:	48 8b 40 08          	mov    0x8(%rax),%rax
1400196a5:	ff 15 dd 5f 05 00    	call   *0x55fdd(%rip)        # 0x14006f688
1400196ab:	85 db                	test   %ebx,%ebx
1400196ad:	75 7a                	jne    0x140019729
1400196af:	48 8b 17             	mov    (%rdi),%rdx
1400196b2:	48 8d 45 48          	lea    0x48(%rbp),%rax
1400196b6:	49 8b 4f 10          	mov    0x10(%r15),%rcx
1400196ba:	4c 8d 4d 50          	lea    0x50(%rbp),%r9
1400196be:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400196c3:	45 33 c0             	xor    %r8d,%r8d
1400196c6:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400196cc:	ff 15 ee 59 0c 00    	call   *0xc59ee(%rip)        # 0x1400df0c0
1400196d2:	8b d8                	mov    %eax,%ebx
1400196d4:	39 75 48             	cmp    %esi,0x48(%rbp)
1400196d7:	73 0b                	jae    0x1400196e4
1400196d9:	8b 45 50             	mov    0x50(%rbp),%eax
1400196dc:	ff c8                	dec    %eax
1400196de:	83 f8 01             	cmp    $0x1,%eax
1400196e1:	0f 46 de             	cmovbe %esi,%ebx
1400196e4:	81 fb f2 03 00 00    	cmp    $0x3f2,%ebx
1400196ea:	74 11                	je     0x1400196fd
1400196ec:	81 fb fa 03 00 00    	cmp    $0x3fa,%ebx
1400196f2:	74 09                	je     0x1400196fd
1400196f4:	83 fb 06             	cmp    $0x6,%ebx
1400196f7:	74 04                	je     0x1400196fd
1400196f9:	33 c0                	xor    %eax,%eax
1400196fb:	eb 05                	jmp    0x140019702
1400196fd:	b8 01 00 00 00       	mov    $0x1,%eax
140019702:	85 c0                	test   %eax,%eax
140019704:	74 23                	je     0x140019729
140019706:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14001970a:	48 8d 15 1f a3 0a 00 	lea    0xaa31f(%rip),%rdx        # 0x1400c3a30
140019711:	0f b7 41 0a          	movzwl 0xa(%rcx),%eax
140019715:	83 e0 1f             	and    $0x1f,%eax
140019718:	48 c1 e0 05          	shl    $0x5,%rax
14001971c:	48 83 24 10 00       	andq   $0x0,(%rax,%rdx,1)
140019721:	e8 c2 17 00 00       	call   0x14001aee8
140019726:	41 b4 01             	mov    $0x1,%r12b
140019729:	4d 85 ff             	test   %r15,%r15
14001972c:	74 10                	je     0x14001973e
14001972e:	49 8b 07             	mov    (%r15),%rax
140019731:	49 8b cf             	mov    %r15,%rcx
140019734:	48 8b 40 08          	mov    0x8(%rax),%rax
140019738:	ff 15 4a 5f 05 00    	call   *0x55f4a(%rip)        # 0x14006f688
14001973e:	41 ff c6             	inc    %r14d
140019741:	45 84 e4             	test   %r12b,%r12b
140019744:	0f 85 0e ff ff ff    	jne    0x140019658
14001974a:	48 8b 75 60          	mov    0x60(%rbp),%rsi
14001974e:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140019752:	85 db                	test   %ebx,%ebx
140019754:	74 22                	je     0x140019778
140019756:	e8 ed 0b 00 00       	call   0x14001a348
14001975b:	44 8b 4d 48          	mov    0x48(%rbp),%r9d
14001975f:	48 ff c6             	inc    %rsi
140019762:	48 8d 05 9e a6 08 00 	lea    0x8a69e(%rip),%rax        # 0x1400a3e07
140019769:	48 89 75 60          	mov    %rsi,0x60(%rbp)
14001976d:	48 3b f0             	cmp    %rax,%rsi
140019770:	0f 85 b3 fe ff ff    	jne    0x140019629
140019776:	eb 09                	jmp    0x140019781
140019778:	e8 cb 0b 00 00       	call   0x14001a348
14001977d:	44 8b 4d 48          	mov    0x48(%rbp),%r9d
140019781:	85 db                	test   %ebx,%ebx
140019783:	75 2e                	jne    0x1400197b3
140019785:	44 8d 7b 02          	lea    0x2(%rbx),%r15d
140019789:	44 39 7d 50          	cmp    %r15d,0x50(%rbp)
14001978d:	74 0a                	je     0x140019799
14001978f:	8a 47 1c             	mov    0x1c(%rdi),%al
140019792:	24 0f                	and    $0xf,%al
140019794:	41 3a c7             	cmp    %r15b,%al
140019797:	75 25                	jne    0x1400197be
140019799:	41 81 f9 82 00 00 00 	cmp    $0x82,%r9d
1400197a0:	73 08                	jae    0x1400197aa
1400197a2:	41 b9 08 02 00 00    	mov    $0x208,%r9d
1400197a8:	eb 14                	jmp    0x1400197be
1400197aa:	41 81 c1 04 01 00 00 	add    $0x104,%r9d
1400197b1:	eb 0b                	jmp    0x1400197be
1400197b3:	48 8b cf             	mov    %rdi,%rcx
1400197b6:	e8 e5 15 00 00       	call   0x14001ada0
1400197bb:	44 8b c8             	mov    %eax,%r9d
1400197be:	41 8b c1             	mov    %r9d,%eax
1400197c1:	48 83 c4 58          	add    $0x58,%rsp
1400197c5:	41 5f                	pop    %r15
1400197c7:	41 5e                	pop    %r14
1400197c9:	41 5d                	pop    %r13
1400197cb:	41 5c                	pop    %r12
1400197cd:	5f                   	pop    %rdi
1400197ce:	5e                   	pop    %rsi
1400197cf:	5b                   	pop    %rbx
1400197d0:	5d                   	pop    %rbp
1400197d1:	c3                   	ret
1400197d2:	90                   	nop
1400197d3:	90                   	nop
1400197d4:	48 8b c4             	mov    %rsp,%rax
1400197d7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400197db:	44 89 40 18          	mov    %r8d,0x18(%rax)
1400197df:	48 89 50 10          	mov    %rdx,0x10(%rax)
1400197e3:	55                   	push   %rbp
1400197e4:	56                   	push   %rsi
1400197e5:	57                   	push   %rdi
1400197e6:	41 54                	push   %r12
1400197e8:	41 55                	push   %r13
1400197ea:	41 56                	push   %r14
1400197ec:	41 57                	push   %r15
1400197ee:	48 83 ec 60          	sub    $0x60,%rsp
1400197f2:	83 60 98 00          	andl   $0x0,-0x68(%rax)
1400197f6:	48 8d 35 07 a6 08 00 	lea    0x8a607(%rip),%rsi        # 0x1400a3e04
1400197fd:	4d 8b f9             	mov    %r9,%r15
140019800:	4c 8b f1             	mov    %rcx,%r14
140019803:	8a 0e                	mov    (%rsi),%cl
140019805:	49 8b d6             	mov    %r14,%rdx
140019808:	83 cb ff             	or     $0xffffffff,%ebx
14001980b:	e8 54 fd ff ff       	call   0x140019564
140019810:	44 8b e8             	mov    %eax,%r13d
140019813:	83 f8 ff             	cmp    $0xffffffff,%eax
140019816:	0f 84 45 01 00 00    	je     0x140019961
14001981c:	48 8d 15 ed 00 0c 00 	lea    0xc00ed(%rip),%rdx        # 0x1400d9910
140019823:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140019828:	e8 87 0b 00 00       	call   0x14001a3b4
14001982d:	33 ed                	xor    %ebp,%ebp
14001982f:	83 fd 04             	cmp    $0x4,%ebp
140019832:	0f 8d 1f 01 00 00    	jge    0x140019957
140019838:	41 8a 46 18          	mov    0x18(%r14),%al
14001983c:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140019841:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140019847:	45 8b cd             	mov    %r13d,%r9d
14001984a:	49 8b 56 10          	mov    0x10(%r14),%rdx
14001984e:	45 33 c0             	xor    %r8d,%r8d
140019851:	88 44 24 20          	mov    %al,0x20(%rsp)
140019855:	45 32 e4             	xor    %r12b,%r12b
140019858:	e8 17 f0 ff ff       	call   0x140018874
14001985d:	8b 18                	mov    (%rax),%ebx
14001985f:	48 8b 78 08          	mov    0x8(%rax),%rdi
140019863:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
140019868:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14001986d:	48 85 c9             	test   %rcx,%rcx
140019870:	74 13                	je     0x140019885
140019872:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
140019878:	48 8b 01             	mov    (%rcx),%rax
14001987b:	48 8b 40 08          	mov    0x8(%rax),%rax
14001987f:	ff 15 03 5e 05 00    	call   *0x55e03(%rip)        # 0x14006f688
140019885:	85 db                	test   %ebx,%ebx
140019887:	0f 85 aa 00 00 00    	jne    0x140019937
14001988d:	8b 84 24 b0 00 00 00 	mov    0xb0(%rsp),%eax
140019894:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
140019899:	41 89 07             	mov    %eax,(%r15)
14001989c:	45 33 c0             	xor    %r8d,%r8d
14001989f:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
1400198a6:	00
1400198a7:	49 8b 16             	mov    (%r14),%rdx
1400198aa:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1400198ae:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
1400198b3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400198b8:	ff 15 02 58 0c 00    	call   *0xc5802(%rip)        # 0x1400df0c0
1400198be:	8b d8                	mov    %eax,%ebx
1400198c0:	3d f2 03 00 00       	cmp    $0x3f2,%eax
1400198c5:	74 10                	je     0x1400198d7
1400198c7:	3d fa 03 00 00       	cmp    $0x3fa,%eax
1400198cc:	74 09                	je     0x1400198d7
1400198ce:	83 f8 06             	cmp    $0x6,%eax
1400198d1:	74 04                	je     0x1400198d7
1400198d3:	33 c0                	xor    %eax,%eax
1400198d5:	eb 05                	jmp    0x1400198dc
1400198d7:	b8 01 00 00 00       	mov    $0x1,%eax
1400198dc:	85 c0                	test   %eax,%eax
1400198de:	74 25                	je     0x140019905
1400198e0:	49 8b 4e 10          	mov    0x10(%r14),%rcx
1400198e4:	48 8d 15 45 a1 0a 00 	lea    0xaa145(%rip),%rdx        # 0x1400c3a30
1400198eb:	0f b7 41 0a          	movzwl 0xa(%rcx),%eax
1400198ef:	83 e0 1f             	and    $0x1f,%eax
1400198f2:	48 c1 e0 05          	shl    $0x5,%rax
1400198f6:	48 83 24 10 00       	andq   $0x0,(%rax,%rdx,1)
1400198fb:	e8 e8 15 00 00       	call   0x14001aee8
140019900:	41 b4 01             	mov    $0x1,%r12b
140019903:	eb 32                	jmp    0x140019937
140019905:	85 db                	test   %ebx,%ebx
140019907:	75 2e                	jne    0x140019937
140019909:	41 0f b7 4e 1c       	movzwl 0x1c(%r14),%ecx
14001990e:	8b c1                	mov    %ecx,%eax
140019910:	83 e0 0f             	and    $0xf,%eax
140019913:	39 44 24 30          	cmp    %eax,0x30(%rsp)
140019917:	74 1a                	je     0x140019933
140019919:	83 7c 24 30 03       	cmpl   $0x3,0x30(%rsp)
14001991e:	75 0e                	jne    0x14001992e
140019920:	41 83 3f 04          	cmpl   $0x4,(%r15)
140019924:	75 08                	jne    0x14001992e
140019926:	80 e1 0f             	and    $0xf,%cl
140019929:	80 f9 04             	cmp    $0x4,%cl
14001992c:	74 05                	je     0x140019933
14001992e:	bb 02 00 00 00       	mov    $0x2,%ebx
140019933:	85 db                	test   %ebx,%ebx
140019935:	74 57                	je     0x14001998e
140019937:	48 85 ff             	test   %rdi,%rdi
14001993a:	74 10                	je     0x14001994c
14001993c:	48 8b 07             	mov    (%rdi),%rax
14001993f:	48 8b cf             	mov    %rdi,%rcx
140019942:	48 8b 40 08          	mov    0x8(%rax),%rax
140019946:	ff 15 3c 5d 05 00    	call   *0x55d3c(%rip)        # 0x14006f688
14001994c:	ff c5                	inc    %ebp
14001994e:	45 84 e4             	test   %r12b,%r12b
140019951:	0f 85 d8 fe ff ff    	jne    0x14001982f
140019957:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
14001995c:	e8 e7 09 00 00       	call   0x14001a348
140019961:	48 ff c6             	inc    %rsi
140019964:	48 8d 05 9c a4 08 00 	lea    0x8a49c(%rip),%rax        # 0x1400a3e07
14001996b:	48 3b f0             	cmp    %rax,%rsi
14001996e:	0f 85 8f fe ff ff    	jne    0x140019803
140019974:	8b c3                	mov    %ebx,%eax
140019976:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
14001997d:	00
14001997e:	48 83 c4 60          	add    $0x60,%rsp
140019982:	41 5f                	pop    %r15
140019984:	41 5e                	pop    %r14
140019986:	41 5d                	pop    %r13
140019988:	41 5c                	pop    %r12
14001998a:	5f                   	pop    %rdi
14001998b:	5e                   	pop    %rsi
14001998c:	5d                   	pop    %rbp
14001998d:	c3                   	ret
14001998e:	48 85 ff             	test   %rdi,%rdi
140019991:	74 10                	je     0x1400199a3
140019993:	48 8b 07             	mov    (%rdi),%rax
140019996:	48 8b cf             	mov    %rdi,%rcx
140019999:	48 8b 40 08          	mov    0x8(%rax),%rax
14001999d:	ff 15 e5 5c 05 00    	call   *0x55ce5(%rip)        # 0x14006f688
1400199a3:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1400199a8:	e8 9b 09 00 00       	call   0x14001a348
1400199ad:	33 c0                	xor    %eax,%eax
1400199af:	eb c5                	jmp    0x140019976
1400199b1:	cc                   	int3
1400199b2:	90                   	nop
1400199b3:	90                   	nop
1400199b4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400199b9:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
1400199be:	55                   	push   %rbp
1400199bf:	56                   	push   %rsi
1400199c0:	57                   	push   %rdi
1400199c1:	41 54                	push   %r12
1400199c3:	41 55                	push   %r13
1400199c5:	41 56                	push   %r14
1400199c7:	41 57                	push   %r15
1400199c9:	48 8b ec             	mov    %rsp,%rbp
1400199cc:	48 83 ec 70          	sub    $0x70,%rsp
1400199d0:	4c 8b e1             	mov    %rcx,%r12
1400199d3:	41 8b c1             	mov    %r9d,%eax
1400199d6:	33 c9                	xor    %ecx,%ecx
1400199d8:	4c 8b ea             	mov    %rdx,%r13
1400199db:	45 85 c0             	test   %r8d,%r8d
1400199de:	74 03                	je     0x1400199e3
1400199e0:	66 89 0a             	mov    %cx,(%rdx)
1400199e3:	45 8b c0             	mov    %r8d,%r8d
1400199e6:	4d 03 c0             	add    %r8,%r8
1400199e9:	49 3b c0             	cmp    %r8,%rax
1400199ec:	0f 82 25 02 00 00    	jb     0x140019c17
1400199f2:	48 8d 35 0b a4 08 00 	lea    0x8a40b(%rip),%rsi        # 0x1400a3e04
1400199f9:	8a 0e                	mov    (%rsi),%cl
1400199fb:	49 8b d4             	mov    %r12,%rdx
1400199fe:	83 cb ff             	or     $0xffffffff,%ebx
140019a01:	e8 5e fb ff ff       	call   0x140019564
140019a06:	89 45 d8             	mov    %eax,-0x28(%rbp)
140019a09:	8b f8                	mov    %eax,%edi
140019a0b:	83 f8 ff             	cmp    $0xffffffff,%eax
140019a0e:	0f 84 b6 01 00 00    	je     0x140019bca
140019a14:	48 8d 15 f5 fe 0b 00 	lea    0xbfef5(%rip),%rdx        # 0x1400d9910
140019a1b:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140019a1f:	e8 90 09 00 00       	call   0x14001a3b4
140019a24:	45 33 c0             	xor    %r8d,%r8d
140019a27:	45 8b f8             	mov    %r8d,%r15d
140019a2a:	41 83 ff 04          	cmp    $0x4,%r15d
140019a2e:	0f 8d 8d 01 00 00    	jge    0x140019bc1
140019a34:	41 8a 44 24 18       	mov    0x18(%r12),%al
140019a39:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140019a3d:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
140019a42:	45 8a f0             	mov    %r8b,%r14b
140019a45:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140019a4a:	44 8b cf             	mov    %edi,%r9d
140019a4d:	44 88 45 50          	mov    %r8b,0x50(%rbp)
140019a51:	45 33 c0             	xor    %r8d,%r8d
140019a54:	88 44 24 20          	mov    %al,0x20(%rsp)
140019a58:	e8 17 ee ff ff       	call   0x140018874
140019a5d:	45 33 c0             	xor    %r8d,%r8d
140019a60:	8b 18                	mov    (%rax),%ebx
140019a62:	48 8b 78 08          	mov    0x8(%rax),%rdi
140019a66:	4c 89 40 08          	mov    %r8,0x8(%rax)
140019a6a:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140019a6e:	48 85 c9             	test   %rcx,%rcx
140019a71:	74 14                	je     0x140019a87
140019a73:	4c 89 45 e8          	mov    %r8,-0x18(%rbp)
140019a77:	48 8b 01             	mov    (%rcx),%rax
140019a7a:	48 8b 40 08          	mov    0x8(%rax),%rax
140019a7e:	ff 15 04 5c 05 00    	call   *0x55c04(%rip)        # 0x14006f688
140019a84:	45 33 c0             	xor    %r8d,%r8d
140019a87:	85 db                	test   %ebx,%ebx
140019a89:	0f 85 0b 01 00 00    	jne    0x140019b9a
140019a8f:	8b 45 58             	mov    0x58(%rbp),%eax
140019a92:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
140019a98:	45 8a 74 24 1c       	mov    0x1c(%r12),%r14b
140019a9d:	33 d2                	xor    %edx,%edx
140019a9f:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140019aa3:	41 80 e6 0f          	and    $0xf,%r14b
140019aa7:	89 45 d0             	mov    %eax,-0x30(%rbp)
140019aaa:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
140019aae:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140019ab3:	48 8d 45 d4          	lea    -0x2c(%rbp),%rax
140019ab7:	44 89 45 d4          	mov    %r8d,-0x2c(%rbp)
140019abb:	4d 8b 04 24          	mov    (%r12),%r8
140019abf:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140019ac4:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140019ac9:	ff 15 d1 55 0c 00    	call   *0xc55d1(%rip)        # 0x1400df0a0
140019acf:	8b 4d d4             	mov    -0x2c(%rbp),%ecx
140019ad2:	ba 02 00 00 00       	mov    $0x2,%edx
140019ad7:	8b d8                	mov    %eax,%ebx
140019ad9:	39 55 d0             	cmp    %edx,-0x30(%rbp)
140019adc:	73 09                	jae    0x140019ae7
140019ade:	8d 41 ff             	lea    -0x1(%rcx),%eax
140019ae1:	83 f8 01             	cmp    $0x1,%eax
140019ae4:	0f 46 da             	cmovbe %edx,%ebx
140019ae7:	41 b9 f2 03 00 00    	mov    $0x3f2,%r9d
140019aed:	41 3b d9             	cmp    %r9d,%ebx
140019af0:	74 15                	je     0x140019b07
140019af2:	81 fb fa 03 00 00    	cmp    $0x3fa,%ebx
140019af8:	74 0d                	je     0x140019b07
140019afa:	83 fb 06             	cmp    $0x6,%ebx
140019afd:	74 08                	je     0x140019b07
140019aff:	45 33 c0             	xor    %r8d,%r8d
140019b02:	41 8b c0             	mov    %r8d,%eax
140019b05:	eb 08                	jmp    0x140019b0f
140019b07:	b8 01 00 00 00       	mov    $0x1,%eax
140019b0c:	45 33 c0             	xor    %r8d,%r8d
140019b0f:	85 c0                	test   %eax,%eax
140019b11:	75 39                	jne    0x140019b4c
140019b13:	85 db                	test   %ebx,%ebx
140019b15:	75 35                	jne    0x140019b4c
140019b17:	8d 41 ff             	lea    -0x1(%rcx),%eax
140019b1a:	83 f8 01             	cmp    $0x1,%eax
140019b1d:	77 0f                	ja     0x140019b2e
140019b1f:	8b 45 d0             	mov    -0x30(%rbp),%eax
140019b22:	48 d1 e8             	shr    $1,%rax
140019b25:	66 45 89 44 45 fe    	mov    %r8w,-0x2(%r13,%rax,2)