14004267c:	83 e0 01             	and    $0x1,%eax
14004267f:	48 8b 8c 24 10 01 00 	mov    0x110(%rsp),%rcx
140042686:	00
140042687:	48 33 cc             	xor    %rsp,%rcx
14004268a:	e8 71 24 fe ff       	call   0x140024b00
14004268f:	4c 8d 9c 24 20 01 00 	lea    0x120(%rsp),%r11
140042696:	00
140042697:	49 8b 5b 18          	mov    0x18(%r11),%rbx
14004269b:	49 8b 6b 20          	mov    0x20(%r11),%rbp
14004269f:	49 8b 73 28          	mov    0x28(%r11),%rsi
1400426a3:	49 8b e3             	mov    %r11,%rsp
1400426a6:	5f                   	pop    %rdi
1400426a7:	c3                   	ret
1400426a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400426ad:	57                   	push   %rdi
1400426ae:	48 83 ec 20          	sub    $0x20,%rsp
1400426b2:	48 8b d9             	mov    %rcx,%rbx
1400426b5:	e8 76 62 ff ff       	call   0x140038930
1400426ba:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
1400426be:	4d 8b c8             	mov    %r8,%r9
1400426c1:	33 ff                	xor    %edi,%edi
1400426c3:	48 8d 90 98 00 00 00 	lea    0x98(%rax),%rdx
1400426ca:	48 8b 02             	mov    (%rdx),%rax
1400426cd:	49 ff c1             	inc    %r9
1400426d0:	66 42 39 3c 48       	cmp    %di,(%rax,%r9,2)
1400426d5:	75 f6                	jne    0x1400426cd
1400426d7:	8b c7                	mov    %edi,%eax
1400426d9:	49 83 f9 03          	cmp    $0x3,%r9
1400426dd:	0f 94 c0             	sete   %al
1400426e0:	89 42 18             	mov    %eax,0x18(%rdx)
1400426e3:	48 8b 42 08          	mov    0x8(%rdx),%rax
1400426e7:	49 ff c0             	inc    %r8
1400426ea:	66 42 39 3c 40       	cmp    %di,(%rax,%r8,2)
1400426ef:	75 f6                	jne    0x1400426e7
1400426f1:	49 83 f8 03          	cmp    $0x3,%r8
1400426f5:	8b c7                	mov    %edi,%eax
1400426f7:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1400426fd:	0f 94 c0             	sete   %al
140042700:	89 42 1c             	mov    %eax,0x1c(%rdx)
140042703:	89 7b 04             	mov    %edi,0x4(%rbx)
140042706:	39 7a 18             	cmp    %edi,0x18(%rdx)
140042709:	75 2b                	jne    0x140042736
14004270b:	48 8b 0a             	mov    (%rdx),%rcx
14004270e:	44 8b d7             	mov    %edi,%r10d
140042711:	44 0f b7 09          	movzwl (%rcx),%r9d
140042715:	49 03 c8             	add    %r8,%rcx
140042718:	41 8d 41 bf          	lea    -0x41(%r9),%eax
14004271c:	66 83 f8 19          	cmp    $0x19,%ax
140042720:	76 0c                	jbe    0x14004272e
140042722:	66 41 83 e9 61       	sub    $0x61,%r9w
140042727:	66 41 83 f9 19       	cmp    $0x19,%r9w
14004272c:	77 05                	ja     0x140042733
14004272e:	41 ff c2             	inc    %r10d
140042731:	eb de                	jmp    0x140042711
140042733:	45 8b c2             	mov    %r10d,%r8d
140042736:	44 89 42 14          	mov    %r8d,0x14(%rdx)
14004273a:	48 8d 0d cf 00 00 00 	lea    0xcf(%rip),%rcx        # 0x140042810
140042741:	ba 01 00 00 00       	mov    $0x1,%edx
140042746:	ff 15 8c 9c 00 00    	call   *0x9c8c(%rip)        # 0x14004c3d8
14004274c:	8b 0b                	mov    (%rbx),%ecx
14004274e:	f6 c1 07             	test   $0x7,%cl
140042751:	0f 95 c2             	setne  %dl
140042754:	0f ba e1 09          	bt     $0x9,%ecx
140042758:	0f 92 c0             	setb   %al
14004275b:	22 d0                	and    %al,%dl
14004275d:	0f ba e1 08          	bt     $0x8,%ecx
140042761:	0f 92 c0             	setb   %al
140042764:	84 d0                	test   %dl,%al
140042766:	75 02                	jne    0x14004276a
140042768:	89 3b                	mov    %edi,(%rbx)
14004276a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14004276f:	48 83 c4 20          	add    $0x20,%rsp
140042773:	5f                   	pop    %rdi
140042774:	c3                   	ret
140042775:	cc                   	int3
140042776:	cc                   	int3
140042777:	cc                   	int3
140042778:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14004277d:	57                   	push   %rdi
14004277e:	48 83 ec 20          	sub    $0x20,%rsp
140042782:	48 8b d9             	mov    %rcx,%rbx
140042785:	e8 a6 61 ff ff       	call   0x140038930
14004278a:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14004278e:	4c 8b d0             	mov    %rax,%r10
140042791:	33 ff                	xor    %edi,%edi
140042793:	48 8b 90 98 00 00 00 	mov    0x98(%rax),%rdx
14004279a:	49 ff c0             	inc    %r8
14004279d:	66 42 39 3c 42       	cmp    %di,(%rdx,%r8,2)
1400427a2:	75 f6                	jne    0x14004279a
1400427a4:	8b c7                	mov    %edi,%eax
1400427a6:	49 83 f8 03          	cmp    $0x3,%r8
1400427aa:	b9 02 00 00 00       	mov    $0x2,%ecx
1400427af:	0f 94 c0             	sete   %al
1400427b2:	41 89 82 b0 00 00 00 	mov    %eax,0xb0(%r10)
1400427b9:	74 28                	je     0x1400427e3
1400427bb:	44 8b cf             	mov    %edi,%r9d
1400427be:	44 0f b7 02          	movzwl (%rdx),%r8d
1400427c2:	48 03 d1             	add    %rcx,%rdx
1400427c5:	41 8d 40 bf          	lea    -0x41(%r8),%eax
1400427c9:	66 83 f8 19          	cmp    $0x19,%ax
1400427cd:	76 0c                	jbe    0x1400427db
1400427cf:	66 41 83 e8 61       	sub    $0x61,%r8w
1400427d4:	66 41 83 f8 19       	cmp    $0x19,%r8w
1400427d9:	77 05                	ja     0x1400427e0
1400427db:	41 ff c1             	inc    %r9d
1400427de:	eb de                	jmp    0x1400427be
1400427e0:	41 8b c9             	mov    %r9d,%ecx
1400427e3:	41 89 8a ac 00 00 00 	mov    %ecx,0xac(%r10)
1400427ea:	ba 01 00 00 00       	mov    $0x1,%edx
1400427ef:	48 8d 0d 6a 02 00 00 	lea    0x26a(%rip),%rcx        # 0x140042a60
1400427f6:	ff 15 dc 9b 00 00    	call   *0x9bdc(%rip)        # 0x14004c3d8
1400427fc:	f6 03 04             	testb  $0x4,(%rbx)
1400427ff:	75 02                	jne    0x140042803
140042801:	89 3b                	mov    %edi,(%rbx)
140042803:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140042808:	48 83 c4 20          	add    $0x20,%rsp
14004280c:	5f                   	pop    %rdi
14004280d:	c3                   	ret
14004280e:	cc                   	int3
14004280f:	cc                   	int3
140042810:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140042815:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14004281a:	56                   	push   %rsi
14004281b:	57                   	push   %rdi
14004281c:	41 56                	push   %r14
14004281e:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
140042825:	48 8b 05 ec f7 02 00 	mov    0x2f7ec(%rip),%rax        # 0x140072018
14004282c:	48 33 c4             	xor    %rsp,%rax
14004282f:	48 89 84 24 10 01 00 	mov    %rax,0x110(%rsp)
140042836:	00
140042837:	48 8b d9             	mov    %rcx,%rbx
14004283a:	e8 f1 60 ff ff       	call   0x140038930
14004283f:	48 8d b0 98 00 00 00 	lea    0x98(%rax),%rsi
140042846:	e8 e5 60 ff ff       	call   0x140038930
14004284b:	48 8b cb             	mov    %rbx,%rcx
14004284e:	48 8b b8 a0 03 00 00 	mov    0x3a0(%rax),%rdi
140042855:	e8 0e 03 00 00       	call   0x140042b68
14004285a:	8b 4e 1c             	mov    0x1c(%rsi),%ecx
14004285d:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140042862:	f7 d9                	neg    %ecx
140042864:	41 b9 78 00 00 00    	mov    $0x78,%r9d
14004286a:	8b c8                	mov    %eax,%ecx
14004286c:	8b d8                	mov    %eax,%ebx
14004286e:	1b d2                	sbb    %edx,%edx
140042870:	81 e2 05 f0 ff ff    	and    $0xfffff005,%edx
140042876:	81 c2 02 10 00 00    	add    $0x1002,%edx
14004287c:	ff 15 3e 9b 00 00    	call   *0x9b3e(%rip)        # 0x14004c3c0
140042882:	45 33 f6             	xor    %r14d,%r14d
140042885:	85 c0                	test   %eax,%eax
140042887:	0f 84 9a 01 00 00    	je     0x140042a27
14004288d:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140042891:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140042896:	e8 e5 68 ff ff       	call   0x140039180
14004289b:	48 83 cd ff          	or     $0xffffffffffffffff,%rbp
14004289f:	85 c0                	test   %eax,%eax
1400428a1:	0f 85 b5 00 00 00    	jne    0x14004295c
1400428a7:	8b 46 18             	mov    0x18(%rsi),%eax
1400428aa:	45 8d 4e 78          	lea    0x78(%r14),%r9d
1400428ae:	f7 d8                	neg    %eax
1400428b0:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1400428b5:	8b cb                	mov    %ebx,%ecx
1400428b7:	1b d2                	sbb    %edx,%edx
1400428b9:	81 e2 02 f0 ff ff    	and    $0xfffff002,%edx
1400428bf:	81 c2 01 10 00 00    	add    $0x1001,%edx
1400428c5:	ff 15 f5 9a 00 00    	call   *0x9af5(%rip)        # 0x14004c3c0
1400428cb:	85 c0                	test   %eax,%eax
1400428cd:	0f 84 54 01 00 00    	je     0x140042a27
1400428d3:	48 8b 0e             	mov    (%rsi),%rcx
1400428d6:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400428db:	e8 a0 68 ff ff       	call   0x140039180
1400428e0:	8b 0f                	mov    (%rdi),%ecx
1400428e2:	85 c0                	test   %eax,%eax
1400428e4:	75 0b                	jne    0x1400428f1
1400428e6:	81 c9 04 03 00 00    	or     $0x304,%ecx
1400428ec:	89 5f 04             	mov    %ebx,0x4(%rdi)
1400428ef:	eb 66                	jmp    0x140042957
1400428f1:	f6 c1 02             	test   $0x2,%cl
1400428f4:	75 66                	jne    0x14004295c
1400428f6:	44 39 76 14          	cmp    %r14d,0x14(%rsi)
1400428fa:	74 39                	je     0x140042935
1400428fc:	4c 63 46 14          	movslq 0x14(%rsi),%r8
140042900:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140042905:	48 8b 0e             	mov    (%rsi),%rcx
140042908:	e8 97 44 00 00       	call   0x140046da4
14004290d:	8b 0f                	mov    (%rdi),%ecx
14004290f:	85 c0                	test   %eax,%eax
140042911:	75 22                	jne    0x140042935
140042913:	83 c9 02             	or     $0x2,%ecx
140042916:	89 5f 08             	mov    %ebx,0x8(%rdi)
140042919:	89 0f                	mov    %ecx,(%rdi)
14004291b:	48 8b c5             	mov    %rbp,%rax
14004291e:	48 8b 0e             	mov    (%rsi),%rcx
140042921:	48 ff c0             	inc    %rax
140042924:	66 44 39 34 41       	cmp    %r14w,(%rcx,%rax,2)
140042929:	75 f6                	jne    0x140042921
14004292b:	3b 46 14             	cmp    0x14(%rsi),%eax
14004292e:	75 2c                	jne    0x14004295c
140042930:	89 5f 04             	mov    %ebx,0x4(%rdi)
140042933:	eb 27                	jmp    0x14004295c
140042935:	f6 c1 01             	test   $0x1,%cl
140042938:	75 22                	jne    0x14004295c
14004293a:	41 8b d6             	mov    %r14d,%edx
14004293d:	48 8d 05 84 3e 01 00 	lea    0x13e84(%rip),%rax        # 0x1400567c8
140042944:	66 3b 18             	cmp    (%rax),%bx
140042947:	74 13                	je     0x14004295c
140042949:	ff c2                	inc    %edx
14004294b:	48 83 c0 02          	add    $0x2,%rax
14004294f:	83 fa 0a             	cmp    $0xa,%edx
140042952:	72 f0                	jb     0x140042944
140042954:	83 c9 01             	or     $0x1,%ecx
140042957:	89 5f 08             	mov    %ebx,0x8(%rdi)
14004295a:	89 0f                	mov    %ecx,(%rdi)
14004295c:	8b 07                	mov    (%rdi),%eax
14004295e:	b9 00 03 00 00       	mov    $0x300,%ecx
140042963:	23 c1                	and    %ecx,%eax
140042965:	3b c1                	cmp    %ecx,%eax
140042967:	0f 84 ae 00 00 00    	je     0x140042a1b
14004296d:	8b 46 18             	mov    0x18(%rsi),%eax
140042970:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140042975:	f7 d8                	neg    %eax
140042977:	41 b9 78 00 00 00    	mov    $0x78,%r9d
14004297d:	8b cb                	mov    %ebx,%ecx
14004297f:	1b d2                	sbb    %edx,%edx
140042981:	81 e2 02 f0 ff ff    	and    $0xfffff002,%edx
140042987:	81 c2 01 10 00 00    	add    $0x1001,%edx
14004298d:	ff 15 2d 9a 00 00    	call   *0x9a2d(%rip)        # 0x14004c3c0
140042993:	85 c0                	test   %eax,%eax
140042995:	0f 84 8c 00 00 00    	je     0x140042a27
14004299b:	48 8b 0e             	mov    (%rsi),%rcx
14004299e:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400429a3:	e8 d8 67 ff ff       	call   0x140039180
1400429a8:	85 c0                	test   %eax,%eax
1400429aa:	75 35                	jne    0x1400429e1
1400429ac:	8b 07                	mov    (%rdi),%eax
1400429ae:	0f ba e8 09          	bts    $0x9,%eax
1400429b2:	89 07                	mov    %eax,(%rdi)
1400429b4:	44 39 76 18          	cmp    %r14d,0x18(%rsi)
1400429b8:	74 08                	je     0x1400429c2
1400429ba:	0f ba e8 08          	bts    $0x8,%eax
1400429be:	89 07                	mov    %eax,(%rdi)
1400429c0:	eb 50                	jmp    0x140042a12
1400429c2:	44 39 76 14          	cmp    %r14d,0x14(%rsi)
1400429c6:	74 f2                	je     0x1400429ba
1400429c8:	48 8b 0e             	mov    (%rsi),%rcx
1400429cb:	48 ff c5             	inc    %rbp
1400429ce:	66 44 39 34 69       	cmp    %r14w,(%rcx,%rbp,2)
1400429d3:	75 f6                	jne    0x1400429cb
1400429d5:	3b 6e 14             	cmp    0x14(%rsi),%ebp
1400429d8:	75 e0                	jne    0x1400429ba
1400429da:	ba 01 00 00 00       	mov    $0x1,%edx
1400429df:	eb 1f                	jmp    0x140042a00
1400429e1:	44 39 76 18          	cmp    %r14d,0x18(%rsi)
1400429e5:	75 34                	jne    0x140042a1b
1400429e7:	44 39 76 14          	cmp    %r14d,0x14(%rsi)
1400429eb:	74 2e                	je     0x140042a1b
1400429ed:	48 8b 0e             	mov    (%rsi),%rcx
1400429f0:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400429f5:	e8 86 67 ff ff       	call   0x140039180
1400429fa:	85 c0                	test   %eax,%eax
1400429fc:	75 1d                	jne    0x140042a1b
1400429fe:	33 d2                	xor    %edx,%edx
140042a00:	4c 8b c7             	mov    %rdi,%r8
140042a03:	8b cb                	mov    %ebx,%ecx
140042a05:	e8 5e 02 00 00       	call   0x140042c68
140042a0a:	85 c0                	test   %eax,%eax
140042a0c:	74 0d                	je     0x140042a1b
140042a0e:	0f ba 2f 08          	btsl   $0x8,(%rdi)
140042a12:	44 39 77 04          	cmp    %r14d,0x4(%rdi)
140042a16:	75 03                	jne    0x140042a1b
140042a18:	89 5f 04             	mov    %ebx,0x4(%rdi)
140042a1b:	8b 07                	mov    (%rdi),%eax
140042a1d:	c1 e8 02             	shr    $0x2,%eax
140042a20:	f7 d0                	not    %eax
140042a22:	83 e0 01             	and    $0x1,%eax
140042a25:	eb 08                	jmp    0x140042a2f
140042a27:	44 89 37             	mov    %r14d,(%rdi)
140042a2a:	b8 01 00 00 00       	mov    $0x1,%eax
140042a2f:	48 8b 8c 24 10 01 00 	mov    0x110(%rsp),%rcx
140042a36:	00
140042a37:	48 33 cc             	xor    %rsp,%rcx
140042a3a:	e8 c1 20 fe ff       	call   0x140024b00
140042a3f:	4c 8d 9c 24 20 01 00 	lea    0x120(%rsp),%r11
140042a46:	00
140042a47:	49 8b 5b 28          	mov    0x28(%r11),%rbx
140042a4b:	49 8b 6b 30          	mov    0x30(%r11),%rbp
140042a4f:	49 8b e3             	mov    %r11,%rsp
140042a52:	41 5e                	pop    %r14
140042a54:	5f                   	pop    %rdi
140042a55:	5e                   	pop    %rsi
140042a56:	c3                   	ret
140042a57:	cc                   	int3
140042a58:	cc                   	int3
140042a59:	cc                   	int3
140042a5a:	cc                   	int3
140042a5b:	cc                   	int3
140042a5c:	cc                   	int3
140042a5d:	cc                   	int3
140042a5e:	cc                   	int3
140042a5f:	cc                   	int3
140042a60:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140042a65:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140042a6a:	57                   	push   %rdi
140042a6b:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
140042a72:	48 8b 05 9f f5 02 00 	mov    0x2f59f(%rip),%rax        # 0x140072018
140042a79:	48 33 c4             	xor    %rsp,%rax
140042a7c:	48 89 84 24 10 01 00 	mov    %rax,0x110(%rsp)
140042a83:	00
140042a84:	48 8b d9             	mov    %rcx,%rbx
140042a87:	e8 a4 5e ff ff       	call   0x140038930
140042a8c:	48 8b f0             	mov    %rax,%rsi
140042a8f:	e8 9c 5e ff ff       	call   0x140038930
140042a94:	48 8b cb             	mov    %rbx,%rcx
140042a97:	48 8b b8 a0 03 00 00 	mov    0x3a0(%rax),%rdi
140042a9e:	e8 c5 00 00 00       	call   0x140042b68
140042aa3:	8b 8e b0 00 00 00    	mov    0xb0(%rsi),%ecx
140042aa9:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140042aae:	f7 d9                	neg    %ecx
140042ab0:	41 b9 78 00 00 00    	mov    $0x78,%r9d
140042ab6:	8b c8                	mov    %eax,%ecx
140042ab8:	8b d8                	mov    %eax,%ebx
140042aba:	1b d2                	sbb    %edx,%edx
140042abc:	81 e2 02 f0 ff ff    	and    $0xfffff002,%edx
140042ac2:	81 c2 01 10 00 00    	add    $0x1001,%edx
140042ac8:	ff 15 f2 98 00 00    	call   *0x98f2(%rip)        # 0x14004c3c0
140042ace:	85 c0                	test   %eax,%eax
140042ad0:	75 09                	jne    0x140042adb
140042ad2:	21 07                	and    %eax,(%rdi)
140042ad4:	b8 01 00 00 00       	mov    $0x1,%eax
140042ad9:	eb 68                	jmp    0x140042b43
140042adb:	48 8b 8e 98 00 00 00 	mov    0x98(%rsi),%rcx
140042ae2:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140042ae7:	e8 94 66 ff ff       	call   0x140039180
140042aec:	8b 8e b0 00 00 00    	mov    0xb0(%rsi),%ecx
140042af2:	85 c0                	test   %eax,%eax
140042af4:	75 09                	jne    0x140042aff
140042af6:	85 c9                	test   %ecx,%ecx
140042af8:	75 36                	jne    0x140042b30
140042afa:	8d 51 01             	lea    0x1(%rcx),%edx
140042afd:	eb 23                	jmp    0x140042b22
140042aff:	85 c9                	test   %ecx,%ecx
140042b01:	75 36                	jne    0x140042b39
140042b03:	39 8e ac 00 00 00    	cmp    %ecx,0xac(%rsi)
140042b09:	74 2e                	je     0x140042b39
140042b0b:	48 8b 8e 98 00 00 00 	mov    0x98(%rsi),%rcx
140042b12:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140042b17:	e8 64 66 ff ff       	call   0x140039180
140042b1c:	85 c0                	test   %eax,%eax
140042b1e:	75 19                	jne    0x140042b39
140042b20:	33 d2                	xor    %edx,%edx
140042b22:	4c 8b c7             	mov    %rdi,%r8