1402157f6:	41 8d 46 01          	lea    0x1(%r14),%eax
1402157fa:	48 03 f0             	add    %rax,%rsi
1402157fd:	41 d0 e8             	shr    $1,%r8b
140215800:	41 80 e0 01          	and    $0x1,%r8b
140215804:	48 8b d3             	mov    %rbx,%rdx
140215807:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
14021580b:	e8 80 b5 00 00       	call   0x140220d90
140215810:	90                   	nop
140215811:	8b 55 94             	mov    -0x6c(%rbp),%edx
140215814:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
140215818:	e8 23 ea 00 00       	call   0x140224240
14021581d:	8b c8                	mov    %eax,%ecx
14021581f:	48 03 f1             	add    %rcx,%rsi
140215822:	48 8d 45 90          	lea    -0x70(%rbp),%rax
140215826:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14021582b:	48 8d 45 98          	lea    -0x68(%rbp),%rax
14021582f:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140215834:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
140215838:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
14021583d:	48 8d 45 ac          	lea    -0x54(%rbp),%rax
140215841:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140215846:	48 8d 45 92          	lea    -0x6e(%rbp),%rax
14021584a:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
14021584f:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
140215853:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140215858:	48 8d 45 9c          	lea    -0x64(%rbp),%rax
14021585c:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140215861:	48 8d 45 91          	lea    -0x6f(%rbp),%rax
140215865:	48 89 45 80          	mov    %rax,-0x80(%rbp)
140215869:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
14021586e:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140215873:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140215878:	4c 8b ce             	mov    %rsi,%r9
14021587b:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
140215880:	48 8b d7             	mov    %rdi,%rdx
140215883:	49 8b cf             	mov    %r15,%rcx
140215886:	e8 65 9e 00 00       	call   0x14021f6f0
14021588b:	90                   	nop
14021588c:	48 8b 55 c8          	mov    -0x38(%rbp),%rdx
140215890:	48 83 fa 0f          	cmp    $0xf,%rdx
140215894:	0f 86 9c 01 00 00    	jbe    0x140215a36
14021589a:	48 ff c2             	inc    %rdx
14021589d:	48 8b 4d b0          	mov    -0x50(%rbp),%rcx
1402158a1:	48 8b c1             	mov    %rcx,%rax
1402158a4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1402158ab:	72 19                	jb     0x1402158c6
1402158ad:	48 83 c2 27          	add    $0x27,%rdx
1402158b1:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1402158b5:	48 2b c1             	sub    %rcx,%rax
1402158b8:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1402158bc:	48 83 f8 1f          	cmp    $0x1f,%rax
1402158c0:	0f 87 9a 01 00 00    	ja     0x140215a60
1402158c6:	e8 79 58 c0 00       	call   0x140e1b144
1402158cb:	e9 66 01 00 00       	jmp    0x140215a36
1402158d0:	f7 da                	neg    %edx
1402158d2:	89 55 a8             	mov    %edx,-0x58(%rbp)
1402158d5:	8b ca                	mov    %edx,%ecx
1402158d7:	45 85 d2             	test   %r10d,%r10d
1402158da:	75 0f                	jne    0x1402158eb
1402158dc:	85 c0                	test   %eax,%eax
1402158de:	78 0b                	js     0x1402158eb
1402158e0:	3b c2                	cmp    %edx,%eax
1402158e2:	7d 07                	jge    0x1402158eb
1402158e4:	8b d0                	mov    %eax,%edx
1402158e6:	89 45 a8             	mov    %eax,-0x58(%rbp)
1402158e9:	8b c8                	mov    %eax,%ecx
1402158eb:	85 c9                	test   %ecx,%ecx
1402158ed:	75 0f                	jne    0x1402158fe
1402158ef:	45 85 d2             	test   %r10d,%r10d
1402158f2:	75 0a                	jne    0x1402158fe
1402158f4:	f6 45 a6 08          	testb  $0x8,-0x5a(%rbp)
1402158f8:	75 04                	jne    0x1402158fe
1402158fa:	32 c0                	xor    %al,%al
1402158fc:	eb 02                	jmp    0x140215900
1402158fe:	b0 01                	mov    $0x1,%al
140215900:	88 45 93             	mov    %al,-0x6d(%rbp)
140215903:	0f b6 c0             	movzbl %al,%eax
140215906:	ff c2                	inc    %edx
140215908:	03 c2                	add    %edx,%eax
14021590a:	48 03 f0             	add    %rax,%rsi
14021590d:	48 8d 45 90          	lea    -0x70(%rbp),%rax
140215911:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
140215915:	48 8d 45 91          	lea    -0x6f(%rbp),%rax
140215919:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
14021591d:	48 8d 45 93          	lea    -0x6d(%rbp),%rax
140215921:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140215925:	48 8d 45 92          	lea    -0x6e(%rbp),%rax
140215929:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
14021592d:	48 8d 45 a8          	lea    -0x58(%rbp),%rax
140215931:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140215935:	48 8d 45 98          	lea    -0x68(%rbp),%rax
140215939:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
14021593d:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
140215941:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140215945:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
140215949:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14021594e:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140215953:	4c 8b ce             	mov    %rsi,%r9
140215956:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
14021595b:	48 8b d7             	mov    %rdi,%rdx
14021595e:	49 8b cf             	mov    %r15,%rcx
140215961:	e8 3a a2 00 00       	call   0x14021fba0
140215966:	e9 cb 00 00 00       	jmp    0x140215a36
14021596b:	45 8b de             	mov    %r14d,%r11d
14021596e:	0f b6 55 a6          	movzbl -0x5a(%rbp),%edx
140215972:	f6 c2 08             	test   $0x8,%dl
140215975:	74 0c                	je     0x140215983
140215977:	41 2b c2             	sub    %r10d,%eax
14021597a:	44 0f 49 d8          	cmovns %eax,%r11d
14021597e:	49 03 f3             	add    %r11,%rsi
140215981:	eb 0d                	jmp    0x140215990
140215983:	41 83 fa 01          	cmp    $0x1,%r10d
140215987:	75 07                	jne    0x140215990
140215989:	45 32 c0             	xor    %r8b,%r8b
14021598c:	44 88 45 92          	mov    %r8b,-0x6e(%rbp)
140215990:	41 8b c1             	mov    %r9d,%eax
140215993:	f7 d8                	neg    %eax
140215995:	41 0f 48 c1          	cmovs  %r9d,%eax
140215999:	b9 02 00 00 00       	mov    $0x2,%ecx
14021599e:	83 f8 64             	cmp    $0x64,%eax
1402159a1:	7c 0f                	jl     0x1402159b2
1402159a3:	49 8b ce             	mov    %r14,%rcx
1402159a6:	3d e8 03 00 00       	cmp    $0x3e8,%eax
1402159ab:	0f 9d c1             	setge  %cl
1402159ae:	48 83 c1 03          	add    $0x3,%rcx
1402159b2:	45 84 c0             	test   %r8b,%r8b
1402159b5:	41 0f 95 c6          	setne  %r14b
1402159b9:	49 83 c6 02          	add    $0x2,%r14
1402159bd:	4c 03 f1             	add    %rcx,%r14
1402159c0:	49 03 f6             	add    %r14,%rsi
1402159c3:	0f b6 44 24 30       	movzbl 0x30(%rsp),%eax
1402159c8:	88 45 b0             	mov    %al,-0x50(%rbp)
1402159cb:	44 89 65 b4          	mov    %r12d,-0x4c(%rbp)
1402159cf:	44 89 55 b8          	mov    %r10d,-0x48(%rbp)
1402159d3:	44 88 45 bc          	mov    %r8b,-0x44(%rbp)
1402159d7:	44 89 5d c0          	mov    %r11d,-0x40(%rbp)
1402159db:	44 88 6d c4          	mov    %r13b,-0x3c(%rbp)
1402159df:	f6 d2                	not    %dl
1402159e1:	80 e2 01             	and    $0x1,%dl
1402159e4:	c0 e2 05             	shl    $0x5,%dl
1402159e7:	80 ca 45             	or     $0x45,%dl
1402159ea:	88 55 c5             	mov    %dl,-0x3b(%rbp)
1402159ed:	44 89 4d c8          	mov    %r9d,-0x38(%rbp)
1402159f1:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1402159f6:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
1402159fa:	83 38 00             	cmpl   $0x0,(%rax)
1402159fd:	7e 24                	jle    0x140215a23
1402159ff:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140215a04:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140215a09:	4c 8b ce             	mov    %rsi,%r9
140215a0c:	4c 8b c0             	mov    %rax,%r8
140215a0f:	48 8b d7             	mov    %rdi,%rdx
140215a12:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140215a17:	e8 34 91 00 00       	call   0x14021eb50
140215a1c:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140215a21:	eb 10                	jmp    0x140215a33
140215a23:	4c 8b c7             	mov    %rdi,%r8
140215a26:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140215a2b:	e8 e0 c4 00 00       	call   0x140221f10
140215a30:	48 8b 00             	mov    (%rax),%rax
140215a33:	49 89 07             	mov    %rax,(%r15)
140215a36:	49 8b c7             	mov    %r15,%rax
140215a39:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140215a3d:	48 33 cc             	xor    %rsp,%rcx
140215a40:	e8 bb 5a c0 00       	call   0x140e1b500
140215a45:	48 8b 9c 24 68 01 00 	mov    0x168(%rsp),%rbx
140215a4c:	00
140215a4d:	48 81 c4 20 01 00 00 	add    $0x120,%rsp
140215a54:	41 5f                	pop    %r15
140215a56:	41 5e                	pop    %r14
140215a58:	41 5d                	pop    %r13
140215a5a:	41 5c                	pop    %r12
140215a5c:	5f                   	pop    %rdi
140215a5d:	5e                   	pop    %rsi
140215a5e:	5d                   	pop    %rbp
140215a5f:	c3                   	ret
140215a60:	e8 3f 47 c1 00       	call   0x140e2a1a4
140215a65:	cc                   	int3
140215a66:	e8 39 47 c1 00       	call   0x140e2a1a4
140215a6b:	cc                   	int3
140215a6c:	cc                   	int3
140215a6d:	cc                   	int3
140215a6e:	cc                   	int3
140215a6f:	cc                   	int3
140215a70:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140215a75:	55                   	push   %rbp
140215a76:	56                   	push   %rsi
140215a77:	57                   	push   %rdi
140215a78:	41 54                	push   %r12
140215a7a:	41 55                	push   %r13
140215a7c:	41 56                	push   %r14
140215a7e:	41 57                	push   %r15
140215a80:	48 8d 6c 24 e0       	lea    -0x20(%rsp),%rbp
140215a85:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
140215a8c:	48 8b 05 6d 34 1a 01 	mov    0x11a346d(%rip),%rax        # 0x1413b8f00
140215a93:	48 33 c4             	xor    %rsp,%rax
140215a96:	48 89 45 18          	mov    %rax,0x18(%rbp)
140215a9a:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
140215a9f:	4c 89 44 24 40       	mov    %r8,0x40(%rsp)
140215aa4:	48 8b fa             	mov    %rdx,%rdi
140215aa7:	4c 8b f9             	mov    %rcx,%r15
140215aaa:	48 8b 85 80 00 00 00 	mov    0x80(%rbp),%rax
140215ab1:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
140215ab5:	4c 8b d0             	mov    %rax,%r10
140215ab8:	49 c1 ea 30          	shr    $0x30,%r10
140215abc:	4c 8b c8             	mov    %rax,%r9
140215abf:	49 c1 e9 28          	shr    $0x28,%r9
140215ac3:	4d 8b 20             	mov    (%r8),%r12
140215ac6:	4c 89 65 b0          	mov    %r12,-0x50(%rbp)
140215aca:	49 8b cc             	mov    %r12,%rcx
140215acd:	48 83 c9 01          	or     $0x1,%rcx
140215ad1:	45 33 f6             	xor    %r14d,%r14d
140215ad4:	44 89 75 a8          	mov    %r14d,-0x58(%rbp)
140215ad8:	48 0f bd c9          	bsr    %rcx,%rcx
140215adc:	48 63 d1             	movslq %ecx,%rdx
140215adf:	4c 8d 1d 1a a5 de ff 	lea    -0x215ae6(%rip),%r11        # 0x140000000
140215ae6:	46 0f b6 84 1a 00 d1 	movzbl 0xfad100(%rdx,%r11,1),%r8d
140215aed:	fa 00
140215aef:	41 8b d6             	mov    %r14d,%edx
140215af2:	4f 3b a4 c3 40 d1 fa 	cmp    0xfad140(%r11,%r8,8),%r12
140215af9:	00
140215afa:	0f 92 c2             	setb   %dl
140215afd:	45 8b d8             	mov    %r8d,%r11d
140215b00:	44 2b da             	sub    %edx,%r11d
140215b03:	44 89 5d 94          	mov    %r11d,-0x6c(%rbp)
140215b07:	41 b5 30             	mov    $0x30,%r13b
140215b0a:	44 88 6d 91          	mov    %r13b,-0x6f(%rbp)
140215b0e:	0f b6 4d a5          	movzbl -0x5b(%rbp),%ecx
140215b12:	88 4c 24 30          	mov    %cl,0x30(%rsp)
140215b16:	88 4d 90             	mov    %cl,-0x70(%rbp)
140215b19:	41 8b ce             	mov    %r14d,%ecx
140215b1c:	45 84 c9             	test   %r9b,%r9b
140215b1f:	0f 95 c1             	setne  %cl
140215b22:	41 8d 34 0b          	lea    (%r11,%rcx,1),%esi
140215b26:	48 8b 9d 88 00 00 00 	mov    0x88(%rbp),%rbx
140215b2d:	41 f6 c2 02          	test   $0x2,%r10b
140215b31:	74 27                	je     0x140215b5a
140215b33:	48 8b cb             	mov    %rbx,%rcx
140215b36:	e8 55 f3 ff ff       	call   0x140214e90
140215b3b:	44 0f b6 c0          	movzbl %al,%r8d
140215b3f:	4c 8b 65 b0          	mov    -0x50(%rbp),%r12
140215b43:	44 8b 5d 94          	mov    -0x6c(%rbp),%r11d
140215b47:	44 0f b6 6d 91       	movzbl -0x6f(%rbp),%r13d
140215b4c:	0f b6 45 90          	movzbl -0x70(%rbp),%eax
140215b50:	88 44 24 30          	mov    %al,0x30(%rsp)
140215b54:	48 8b 45 a0          	mov    -0x60(%rbp),%rax
140215b58:	eb 03                	jmp    0x140215b5d
140215b5a:	41 b0 2e             	mov    $0x2e,%r8b
140215b5d:	44 88 45 92          	mov    %r8b,-0x6e(%rbp)
140215b61:	4c 8b 54 24 40       	mov    0x40(%rsp),%r10
140215b66:	45 8b 52 08          	mov    0x8(%r10),%r10d
140215b6a:	43 8d 14 1a          	lea    (%r10,%r11,1),%edx
140215b6e:	44 8d 4a ff          	lea    -0x1(%rdx),%r9d
140215b72:	48 8b c8             	mov    %rax,%rcx
140215b75:	48 c1 e9 20          	shr    $0x20,%rcx
140215b79:	80 f9 01             	cmp    $0x1,%cl
140215b7c:	0f 84 3a 03 00 00    	je     0x140215ebc
140215b82:	84 c9                	test   %cl,%cl
140215b84:	75 1d                	jne    0x140215ba3
140215b86:	41 83 f9 fc          	cmp    $0xfffffffc,%r9d
140215b8a:	0f 8c 2c 03 00 00    	jl     0x140215ebc
140215b90:	b9 10 00 00 00       	mov    $0x10,%ecx
140215b95:	85 c0                	test   %eax,%eax
140215b97:	0f 4f c8             	cmovg  %eax,%ecx
140215b9a:	44 3b c9             	cmp    %ecx,%r9d
140215b9d:	0f 8d 19 03 00 00    	jge    0x140215ebc
140215ba3:	89 55 ac             	mov    %edx,-0x54(%rbp)
140215ba6:	45 85 d2             	test   %r10d,%r10d
140215ba9:	0f 88 75 01 00 00    	js     0x140215d24
140215baf:	49 03 f2             	add    %r10,%rsi
140215bb2:	2b c2                	sub    %edx,%eax
140215bb4:	89 45 98             	mov    %eax,-0x68(%rbp)
140215bb7:	44 0f b6 45 a6       	movzbl -0x5a(%rbp),%r8d
140215bbc:	41 f6 c0 08          	test   $0x8,%r8b
140215bc0:	74 1a                	je     0x140215bdc
140215bc2:	48 ff c6             	inc    %rsi
140215bc5:	85 c0                	test   %eax,%eax
140215bc7:	7f 0e                	jg     0x140215bd7
140215bc9:	80 7d a4 02          	cmpb   $0x2,-0x5c(%rbp)
140215bcd:	74 0d                	je     0x140215bdc
140215bcf:	b8 01 00 00 00       	mov    $0x1,%eax
140215bd4:	89 45 98             	mov    %eax,-0x68(%rbp)
140215bd7:	8b c8                	mov    %eax,%ecx
140215bd9:	48 03 f1             	add    %rcx,%rsi
140215bdc:	41 d0 e8             	shr    $1,%r8b
140215bdf:	41 80 e0 01          	and    $0x1,%r8b
140215be3:	48 8b d3             	mov    %rbx,%rdx
140215be6:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140215bea:	e8 a1 b1 00 00       	call   0x140220d90
140215bef:	90                   	nop
140215bf0:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
140215bf4:	4c 8b 4d f0          	mov    -0x10(%rbp),%r9
140215bf8:	4c 8b 55 08          	mov    0x8(%rbp),%r10
140215bfc:	49 83 fa 0f          	cmp    $0xf,%r10
140215c00:	49 0f 47 d1          	cmova  %r9,%rdx
140215c04:	41 8b ce             	mov    %r14d,%ecx
140215c07:	44 8b 65 ac          	mov    -0x54(%rbp),%r12d
140215c0b:	0f b6 5d 10          	movzbl 0x10(%rbp),%ebx
140215c0f:	4c 8b 5d 00          	mov    0x0(%rbp),%r11
140215c13:	84 db                	test   %bl,%bl
140215c15:	74 42                	je     0x140215c59
140215c17:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
140215c1b:	49 83 fa 0f          	cmp    $0xf,%r10
140215c1f:	49 0f 47 c1          	cmova  %r9,%rax
140215c23:	49 03 c3             	add    %r11,%rax
140215c26:	48 3b d0             	cmp    %rax,%rdx
140215c29:	75 18                	jne    0x140215c43
140215c2b:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
140215c2f:	49 83 fa 0f          	cmp    $0xf,%r10
140215c33:	49 0f 47 c1          	cmova  %r9,%rax
140215c37:	41 0f be 44 03 ff    	movsbl -0x1(%r11,%rax,1),%eax
140215c3d:	03 c8                	add    %eax,%ecx
140215c3f:	8b c1                	mov    %ecx,%eax
140215c41:	eb 1b                	jmp    0x140215c5e
140215c43:	44 0f be 02          	movsbl (%rdx),%r8d
140215c47:	41 8d 40 ff          	lea    -0x1(%r8),%eax
140215c4b:	3c 7d                	cmp    $0x7d,%al
140215c4d:	77 0a                	ja     0x140215c59
140215c4f:	48 ff c2             	inc    %rdx
140215c52:	41 03 c8             	add    %r8d,%ecx
140215c55:	8b c1                	mov    %ecx,%eax
140215c57:	eb 05                	jmp    0x140215c5e
140215c59:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140215c5e:	44 3b e0             	cmp    %eax,%r12d
140215c61:	7e 05                	jle    0x140215c68
140215c63:	41 ff c6             	inc    %r14d
140215c66:	eb ab                	jmp    0x140215c13
140215c68:	41 8b c6             	mov    %r14d,%eax
140215c6b:	48 03 f0             	add    %rax,%rsi
140215c6e:	48 8d 45 90          	lea    -0x70(%rbp),%rax
140215c72:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140215c77:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
140215c7b:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140215c80:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
140215c84:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140215c89:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140215c8e:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140215c93:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
140215c97:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140215c9c:	48 8d 45 a0          	lea    -0x60(%rbp),%rax
140215ca0:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140215ca5:	48 8d 45 92          	lea    -0x6e(%rbp),%rax
140215ca9:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140215cae:	48 8d 45 98          	lea    -0x68(%rbp),%rax
140215cb2:	48 89 45 80          	mov    %rax,-0x80(%rbp)
140215cb6:	48 8d 45 91          	lea    -0x6f(%rbp),%rax
140215cba:	48 89 45 88          	mov    %rax,-0x78(%rbp)
140215cbe:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
140215cc3:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140215cc8:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)