140037778:	41 56                	push   %r14
14003777a:	41 57                	push   %r15
14003777c:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
140037781:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140037788:	48 8b 05 89 a8 03 00 	mov    0x3a889(%rip),%rax        # 0x140072018
14003778f:	48 33 c4             	xor    %rsp,%rax
140037792:	48 89 45 17          	mov    %rax,0x17(%rbp)
140037796:	4c 8b f2             	mov    %rdx,%r14
140037799:	41 b8 ca 01 00 00    	mov    $0x1ca,%r8d
14003779f:	33 d2                	xor    %edx,%edx
1400377a1:	48 8b d9             	mov    %rcx,%rbx
1400377a4:	e8 f7 ff fe ff       	call   0x1400277a0
1400377a9:	45 33 ed             	xor    %r13d,%r13d
1400377ac:	4c 8d 65 bf          	lea    -0x41(%rbp),%r12
1400377b0:	41 8b fd             	mov    %r13d,%edi
1400377b3:	41 8d 75 01          	lea    0x1(%r13),%esi
1400377b7:	45 8b fd             	mov    %r13d,%r15d
1400377ba:	48 83 ff 04          	cmp    $0x4,%rdi
1400377be:	0f 83 7a 01 00 00    	jae    0x14003793e
1400377c4:	41 83 ff 02          	cmp    $0x2,%r15d
1400377c8:	74 11                	je     0x1400377db
1400377ca:	48 8d 15 bf af 01 00 	lea    0x1afbf(%rip),%rdx        # 0x140052790
1400377d1:	49 8b ce             	mov    %r14,%rcx
1400377d4:	e8 4b 9f 00 00       	call   0x140041724
1400377d9:	eb 0e                	jmp    0x1400377e9
1400377db:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
1400377df:	48 ff c0             	inc    %rax
1400377e2:	66 45 39 2c 46       	cmp    %r13w,(%r14,%rax,2)
1400377e7:	75 f6                	jne    0x1400377df
1400377e9:	4d 89 74 24 f8       	mov    %r14,-0x8(%r12)
1400377ee:	48 03 fe             	add    %rsi,%rdi
1400377f1:	4d 8d 34 46          	lea    (%r14,%rax,2),%r14
1400377f5:	49 89 04 24          	mov    %rax,(%r12)
1400377f9:	41 0f b7 06          	movzwl (%r14),%eax
1400377fd:	49 83 c6 02          	add    $0x2,%r14
140037801:	45 89 7c 24 08       	mov    %r15d,0x8(%r12)
140037806:	8b c8                	mov    %eax,%ecx
140037808:	49 83 c4 18          	add    $0x18,%r12
14003780c:	85 c0                	test   %eax,%eax
14003780e:	74 0e                	je     0x14003781e
140037810:	83 e9 2d             	sub    $0x2d,%ecx
140037813:	74 a2                	je     0x1400377b7
140037815:	2b ce                	sub    %esi,%ecx
140037817:	74 6a                	je     0x140037883
140037819:	83 f9 31             	cmp    $0x31,%ecx
14003781c:	74 99                	je     0x1400377b7
14003781e:	48 2b fe             	sub    %rsi,%rdi
140037821:	0f 84 09 01 00 00    	je     0x140037930
140037827:	48 2b fe             	sub    %rsi,%rdi
14003782a:	0f 84 b8 00 00 00    	je     0x1400378e8
140037830:	48 2b fe             	sub    %rsi,%rdi
140037833:	74 59                	je     0x14003788e
140037835:	48 3b fe             	cmp    %rsi,%rdi
140037838:	0f 85 00 01 00 00    	jne    0x14003793e
14003783e:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140037842:	48 8b cb             	mov    %rbx,%rcx
140037845:	e8 66 01 00 00       	call   0x1400379b0
14003784a:	84 c0                	test   %al,%al
14003784c:	0f 84 d6 00 00 00    	je     0x140037928
140037852:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140037856:	48 8b cb             	mov    %rbx,%rcx
140037859:	e8 d2 02 00 00       	call   0x140037b30
14003785e:	84 c0                	test   %al,%al
140037860:	0f 84 c2 00 00 00    	je     0x140037928
140037866:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
14003786a:	48 8b cb             	mov    %rbx,%rcx
14003786d:	e8 ca 01 00 00       	call   0x140037a3c
140037872:	84 c0                	test   %al,%al
140037874:	0f 84 ae 00 00 00    	je     0x140037928
14003787a:	48 8d 55 ff          	lea    -0x1(%rbp),%rdx
14003787e:	e9 99 00 00 00       	jmp    0x14003791c
140037883:	41 bf 02 00 00 00    	mov    $0x2,%r15d
140037889:	e9 2c ff ff ff       	jmp    0x1400377ba
14003788e:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140037892:	48 8b cb             	mov    %rbx,%rcx
140037895:	e8 16 01 00 00       	call   0x1400379b0
14003789a:	84 c0                	test   %al,%al
14003789c:	0f 84 86 00 00 00    	je     0x140037928
1400378a2:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
1400378a6:	48 8b cb             	mov    %rbx,%rcx
1400378a9:	e8 82 02 00 00       	call   0x140037b30
1400378ae:	84 c0                	test   %al,%al
1400378b0:	74 20                	je     0x1400378d2
1400378b2:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
1400378b6:	48 8b cb             	mov    %rbx,%rcx
1400378b9:	e8 7e 01 00 00       	call   0x140037a3c
1400378be:	84 c0                	test   %al,%al
1400378c0:	75 69                	jne    0x14003792b
1400378c2:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
1400378c6:	48 8b cb             	mov    %rbx,%rcx
1400378c9:	e8 9a 00 00 00       	call   0x140037968
1400378ce:	84 c0                	test   %al,%al
1400378d0:	75 59                	jne    0x14003792b
1400378d2:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
1400378d6:	48 8b cb             	mov    %rbx,%rcx
1400378d9:	e8 5e 01 00 00       	call   0x140037a3c
1400378de:	84 c0                	test   %al,%al
1400378e0:	74 46                	je     0x140037928
1400378e2:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
1400378e6:	eb 34                	jmp    0x14003791c
1400378e8:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
1400378ec:	48 8b cb             	mov    %rbx,%rcx
1400378ef:	e8 bc 00 00 00       	call   0x1400379b0
1400378f4:	84 c0                	test   %al,%al
1400378f6:	74 30                	je     0x140037928
1400378f8:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
1400378fc:	48 8b cb             	mov    %rbx,%rcx
1400378ff:	e8 2c 02 00 00       	call   0x140037b30
140037904:	84 c0                	test   %al,%al
140037906:	75 23                	jne    0x14003792b
140037908:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
14003790c:	48 8b cb             	mov    %rbx,%rcx
14003790f:	e8 28 01 00 00       	call   0x140037a3c
140037914:	84 c0                	test   %al,%al
140037916:	75 13                	jne    0x14003792b
140037918:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
14003791c:	48 8b cb             	mov    %rbx,%rcx
14003791f:	e8 44 00 00 00       	call   0x140037968
140037924:	84 c0                	test   %al,%al
140037926:	75 03                	jne    0x14003792b
140037928:	41 8a f5             	mov    %r13b,%sil
14003792b:	40 8a c6             	mov    %sil,%al
14003792e:	eb 10                	jmp    0x140037940
140037930:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140037934:	48 8b cb             	mov    %rbx,%rcx
140037937:	e8 74 00 00 00       	call   0x1400379b0
14003793c:	eb 02                	jmp    0x140037940
14003793e:	32 c0                	xor    %al,%al
140037940:	48 8b 4d 17          	mov    0x17(%rbp),%rcx
140037944:	48 33 cc             	xor    %rsp,%rcx
140037947:	e8 b4 d1 fe ff       	call   0x140024b00
14003794c:	48 8b 9c 24 e0 00 00 	mov    0xe0(%rsp),%rbx
140037953:	00
140037954:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
14003795b:	41 5f                	pop    %r15
14003795d:	41 5e                	pop    %r14
14003795f:	41 5d                	pop    %r13
140037961:	41 5c                	pop    %r12
140037963:	5f                   	pop    %rdi
140037964:	5e                   	pop    %rsi
140037965:	5d                   	pop    %rbp
140037966:	c3                   	ret
140037967:	cc                   	int3
140037968:	48 83 ec 38          	sub    $0x38,%rsp
14003796c:	83 7a 10 02          	cmpl   $0x2,0x10(%rdx)
140037970:	74 07                	je     0x140037979
140037972:	32 c0                	xor    %al,%al
140037974:	48 83 c4 38          	add    $0x38,%rsp
140037978:	c3                   	ret
140037979:	4c 8b 4a 08          	mov    0x8(%rdx),%r9
14003797d:	48 81 c1 00 01 00 00 	add    $0x100,%rcx
140037984:	4c 8b 02             	mov    (%rdx),%r8
140037987:	ba 10 00 00 00       	mov    $0x10,%edx
14003798c:	e8 c7 8c 00 00       	call   0x140040658
140037991:	85 c0                	test   %eax,%eax
140037993:	75 04                	jne    0x140037999
140037995:	b0 01                	mov    $0x1,%al
140037997:	eb db                	jmp    0x140037974
140037999:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14003799f:	45 33 c9             	xor    %r9d,%r9d
1400379a2:	45 33 c0             	xor    %r8d,%r8d
1400379a5:	33 d2                	xor    %edx,%edx
1400379a7:	33 c9                	xor    %ecx,%ecx
1400379a9:	e8 46 3c ff ff       	call   0x14002b5f4
1400379ae:	cc                   	int3
1400379af:	cc                   	int3
1400379b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400379b5:	57                   	push   %rdi
1400379b6:	48 83 ec 30          	sub    $0x30,%rsp
1400379ba:	83 7a 10 00          	cmpl   $0x0,0x10(%rdx)
1400379be:	48 8b da             	mov    %rdx,%rbx
1400379c1:	48 8b f9             	mov    %rcx,%rdi
1400379c4:	75 50                	jne    0x140037a16
1400379c6:	48 8b 52 08          	mov    0x8(%rdx),%rdx
1400379ca:	48 8d 42 fe          	lea    -0x2(%rdx),%rax
1400379ce:	48 83 f8 01          	cmp    $0x1,%rax
1400379d2:	77 42                	ja     0x140037a16
1400379d4:	48 8b 0b             	mov    (%rbx),%rcx
1400379d7:	e8 e4 01 00 00       	call   0x140037bc0
1400379dc:	84 c0                	test   %al,%al
1400379de:	74 36                	je     0x140037a16
1400379e0:	4c 8b 4b 08          	mov    0x8(%rbx),%r9
1400379e4:	ba 40 00 00 00       	mov    $0x40,%edx
1400379e9:	4c 8b 03             	mov    (%rbx),%r8
1400379ec:	48 8b cf             	mov    %rdi,%rcx
1400379ef:	e8 64 8c 00 00       	call   0x140040658
1400379f4:	85 c0                	test   %eax,%eax
1400379f6:	75 2b                	jne    0x140037a23
1400379f8:	4c 8b 4b 08          	mov    0x8(%rbx),%r9
1400379fc:	48 8d 8f 20 01 00 00 	lea    0x120(%rdi),%rcx
140037a03:	4c 8b 03             	mov    (%rbx),%r8
140037a06:	8d 50 55             	lea    0x55(%rax),%edx
140037a09:	e8 4a 8c 00 00       	call   0x140040658
140037a0e:	85 c0                	test   %eax,%eax
140037a10:	75 11                	jne    0x140037a23
140037a12:	b0 01                	mov    $0x1,%al
140037a14:	eb 02                	jmp    0x140037a18
140037a16:	32 c0                	xor    %al,%al
140037a18:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140037a1d:	48 83 c4 30          	add    $0x30,%rsp
140037a21:	5f                   	pop    %rdi
140037a22:	c3                   	ret
140037a23:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140037a29:	45 33 c9             	xor    %r9d,%r9d
140037a2c:	45 33 c0             	xor    %r8d,%r8d
140037a2f:	33 d2                	xor    %edx,%edx
140037a31:	33 c9                	xor    %ecx,%ecx
140037a33:	e8 bc 3b ff ff       	call   0x14002b5f4
140037a38:	cc                   	int3
140037a39:	cc                   	int3
140037a3a:	cc                   	int3
140037a3b:	cc                   	int3
140037a3c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140037a41:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140037a46:	56                   	push   %rsi
140037a47:	57                   	push   %rdi
140037a48:	41 56                	push   %r14
140037a4a:	48 83 ec 30          	sub    $0x30,%rsp
140037a4e:	83 7a 10 00          	cmpl   $0x0,0x10(%rdx)
140037a52:	48 8b da             	mov    %rdx,%rbx
140037a55:	48 8b e9             	mov    %rcx,%rbp
140037a58:	0f 85 a7 00 00 00    	jne    0x140037b05
140037a5e:	ba 02 00 00 00       	mov    $0x2,%edx
140037a63:	48 39 53 08          	cmp    %rdx,0x8(%rbx)
140037a67:	75 0c                	jne    0x140037a75
140037a69:	48 8b 0b             	mov    (%rbx),%rcx
140037a6c:	e8 4f 01 00 00       	call   0x140037bc0
140037a71:	84 c0                	test   %al,%al
140037a73:	75 37                	jne    0x140037aac
140037a75:	48 83 7b 08 03       	cmpq   $0x3,0x8(%rbx)
140037a7a:	0f 85 85 00 00 00    	jne    0x140037b05
140037a80:	4c 8b 33             	mov    (%rbx),%r14
140037a83:	33 ff                	xor    %edi,%edi
140037a85:	41 0f b7 34 7e       	movzwl (%r14,%rdi,2),%esi
140037a8a:	e8 61 a7 ff ff       	call   0x1400321f0
140037a8f:	b9 ff 00 00 00       	mov    $0xff,%ecx
140037a94:	66 3b f1             	cmp    %cx,%si
140037a97:	77 6c                	ja     0x140037b05
140037a99:	0f b7 04 70          	movzwl (%rax,%rsi,2),%eax
140037a9d:	0f ba e0 02          	bt     $0x2,%eax
140037aa1:	73 62                	jae    0x140037b05
140037aa3:	48 ff c7             	inc    %rdi
140037aa6:	48 83 ff 03          	cmp    $0x3,%rdi
140037aaa:	72 d9                	jb     0x140037a85
140037aac:	4c 8b 4b 08          	mov    0x8(%rbx),%r9
140037ab0:	48 8d 8d 80 00 00 00 	lea    0x80(%rbp),%rcx
140037ab7:	4c 8b 03             	mov    (%rbx),%r8
140037aba:	ba 40 00 00 00       	mov    $0x40,%edx
140037abf:	e8 94 8b 00 00       	call   0x140040658
140037ac4:	85 c0                	test   %eax,%eax
140037ac6:	75 52                	jne    0x140037b1a
140037ac8:	8d 78 55             	lea    0x55(%rax),%edi
140037acb:	8b d7                	mov    %edi,%edx
140037acd:	44 8d 48 01          	lea    0x1(%rax),%r9d
140037ad1:	4c 8d 05 90 63 01 00 	lea    0x16390(%rip),%r8        # 0x14004de68
140037ad8:	48 8d 8d 20 01 00 00 	lea    0x120(%rbp),%rcx
140037adf:	e8 48 9b 00 00       	call   0x14004162c
140037ae4:	85 c0                	test   %eax,%eax
140037ae6:	75 32                	jne    0x140037b1a
140037ae8:	4c 8b 4b 08          	mov    0x8(%rbx),%r9
140037aec:	48 8d 8d 20 01 00 00 	lea    0x120(%rbp),%rcx
140037af3:	4c 8b 03             	mov    (%rbx),%r8
140037af6:	8b d7                	mov    %edi,%edx
140037af8:	e8 2f 9b 00 00       	call   0x14004162c
140037afd:	85 c0                	test   %eax,%eax
140037aff:	75 19                	jne    0x140037b1a
140037b01:	b0 01                	mov    $0x1,%al
140037b03:	eb 02                	jmp    0x140037b07
140037b05:	32 c0                	xor    %al,%al
140037b07:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140037b0c:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140037b11:	48 83 c4 30          	add    $0x30,%rsp
140037b15:	41 5e                	pop    %r14
140037b17:	5f                   	pop    %rdi
140037b18:	5e                   	pop    %rsi
140037b19:	c3                   	ret
140037b1a:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140037b20:	45 33 c9             	xor    %r9d,%r9d
140037b23:	45 33 c0             	xor    %r8d,%r8d
140037b26:	33 d2                	xor    %edx,%edx
140037b28:	33 c9                	xor    %ecx,%ecx
140037b2a:	e8 c5 3a ff ff       	call   0x14002b5f4
140037b2f:	cc                   	int3
140037b30:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140037b35:	57                   	push   %rdi
140037b36:	48 83 ec 30          	sub    $0x30,%rsp
140037b3a:	83 7a 10 00          	cmpl   $0x0,0x10(%rdx)
140037b3e:	48 8b da             	mov    %rdx,%rbx
140037b41:	48 8b f9             	mov    %rcx,%rdi
140037b44:	75 56                	jne    0x140037b9c
140037b46:	ba 04 00 00 00       	mov    $0x4,%edx
140037b4b:	48 39 53 08          	cmp    %rdx,0x8(%rbx)
140037b4f:	75 4b                	jne    0x140037b9c
140037b51:	48 8b 0b             	mov    (%rbx),%rcx
140037b54:	e8 67 00 00 00       	call   0x140037bc0
140037b59:	84 c0                	test   %al,%al
140037b5b:	74 3f                	je     0x140037b9c
140037b5d:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140037b63:	4c 8d 05 fe 62 01 00 	lea    0x162fe(%rip),%r8        # 0x14004de68
140037b6a:	48 8d 8f 20 01 00 00 	lea    0x120(%rdi),%rcx
140037b71:	41 8d 51 54          	lea    0x54(%r9),%edx
140037b75:	e8 b2 9a 00 00       	call   0x14004162c
140037b7a:	85 c0                	test   %eax,%eax
140037b7c:	75 2b                	jne    0x140037ba9
140037b7e:	4c 8b 4b 08          	mov    0x8(%rbx),%r9
140037b82:	8d 50 55             	lea    0x55(%rax),%edx
140037b85:	4c 8b 03             	mov    (%rbx),%r8
140037b88:	48 8d 8f 20 01 00 00 	lea    0x120(%rdi),%rcx
140037b8f:	e8 98 9a 00 00       	call   0x14004162c
140037b94:	85 c0                	test   %eax,%eax
140037b96:	75 11                	jne    0x140037ba9
140037b98:	b0 01                	mov    $0x1,%al
140037b9a:	eb 02                	jmp    0x140037b9e
140037b9c:	32 c0                	xor    %al,%al
140037b9e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140037ba3:	48 83 c4 30          	add    $0x30,%rsp
140037ba7:	5f                   	pop    %rdi
140037ba8:	c3                   	ret
140037ba9:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140037baf:	45 33 c9             	xor    %r9d,%r9d
140037bb2:	45 33 c0             	xor    %r8d,%r8d
140037bb5:	33 d2                	xor    %edx,%edx
140037bb7:	33 c9                	xor    %ecx,%ecx
140037bb9:	e8 36 3a ff ff       	call   0x14002b5f4
140037bbe:	cc                   	int3
140037bbf:	cc                   	int3
140037bc0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140037bc5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140037bca:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140037bcf:	41 56                	push   %r14
140037bd1:	48 83 ec 20          	sub    $0x20,%rsp
140037bd5:	33 db                	xor    %ebx,%ebx
140037bd7:	48 8b fa             	mov    %rdx,%rdi
140037bda:	4c 8b f1             	mov    %rcx,%r14
140037bdd:	48 85 d2             	test   %rdx,%rdx
140037be0:	74 2b                	je     0x140037c0d
140037be2:	41 0f b7 34 5e       	movzwl (%r14,%rbx,2),%esi
140037be7:	e8 04 a6 ff ff       	call   0x1400321f0
140037bec:	48 8b d0             	mov    %rax,%rdx
140037bef:	b8 ff 00 00 00       	mov    $0xff,%eax
140037bf4:	66 3b f0             	cmp    %ax,%si
140037bf7:	77 2c                	ja     0x140037c25
140037bf9:	0f b7 0c 72          	movzwl (%rdx,%rsi,2),%ecx
140037bfd:	f7 c1 03 01 00 00    	test   $0x103,%ecx
140037c03:	74 20                	je     0x140037c25
140037c05:	48 ff c3             	inc    %rbx
140037c08:	48 3b df             	cmp    %rdi,%rbx
140037c0b:	72 d5                	jb     0x140037be2
140037c0d:	b0 01                	mov    $0x1,%al
140037c0f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx