140215ccd:	4c 8b ce             	mov    %rsi,%r9
140215cd0:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
140215cd5:	48 8b d7             	mov    %rdi,%rdx
140215cd8:	49 8b cf             	mov    %r15,%rcx
140215cdb:	e8 70 95 00 00       	call   0x14021f250
140215ce0:	90                   	nop
140215ce1:	48 8b 55 08          	mov    0x8(%rbp),%rdx
140215ce5:	48 83 fa 0f          	cmp    $0xf,%rdx
140215ce9:	0f 86 98 02 00 00    	jbe    0x140215f87
140215cef:	48 ff c2             	inc    %rdx
140215cf2:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
140215cf6:	48 8b c1             	mov    %rcx,%rax
140215cf9:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140215d00:	0f 82 11 01 00 00    	jb     0x140215e17
140215d06:	48 83 c2 27          	add    $0x27,%rdx
140215d0a:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140215d0e:	48 2b c1             	sub    %rcx,%rax
140215d11:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140215d15:	48 83 f8 1f          	cmp    $0x1f,%rax
140215d19:	0f 87 98 02 00 00    	ja     0x140215fb7
140215d1f:	e9 f3 00 00 00       	jmp    0x140215e17
140215d24:	85 d2                	test   %edx,%edx
140215d26:	0f 8e f5 00 00 00    	jle    0x140215e21
140215d2c:	44 0f b6 45 a6       	movzbl -0x5a(%rbp),%r8d
140215d31:	41 2b c3             	sub    %r11d,%eax
140215d34:	41 8b ce             	mov    %r14d,%ecx
140215d37:	41 f6 c0 08          	test   $0x8,%r8b
140215d3b:	0f 45 c8             	cmovne %eax,%ecx
140215d3e:	89 4d 98             	mov    %ecx,-0x68(%rbp)
140215d41:	85 c9                	test   %ecx,%ecx
140215d43:	44 0f 4f f1          	cmovg  %ecx,%r14d
140215d47:	41 8d 46 01          	lea    0x1(%r14),%eax
140215d4b:	48 03 f0             	add    %rax,%rsi
140215d4e:	41 d0 e8             	shr    $1,%r8b
140215d51:	41 80 e0 01          	and    $0x1,%r8b
140215d55:	48 8b d3             	mov    %rbx,%rdx
140215d58:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140215d5c:	e8 2f b0 00 00       	call   0x140220d90
140215d61:	90                   	nop
140215d62:	8b 55 94             	mov    -0x6c(%rbp),%edx
140215d65:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140215d69:	e8 d2 e4 00 00       	call   0x140224240
140215d6e:	8b c8                	mov    %eax,%ecx
140215d70:	48 03 f1             	add    %rcx,%rsi
140215d73:	48 8d 45 90          	lea    -0x70(%rbp),%rax
140215d77:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140215d7c:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
140215d80:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140215d85:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
140215d89:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140215d8e:	48 8d 45 ac          	lea    -0x54(%rbp),%rax
140215d92:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140215d97:	48 8d 45 92          	lea    -0x6e(%rbp),%rax
140215d9b:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140215da0:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
140215da4:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140215da9:	48 8d 45 98          	lea    -0x68(%rbp),%rax
140215dad:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140215db2:	48 8d 45 91          	lea    -0x6f(%rbp),%rax
140215db6:	48 89 45 80          	mov    %rax,-0x80(%rbp)
140215dba:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
140215dbf:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140215dc4:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140215dc9:	4c 8b ce             	mov    %rsi,%r9
140215dcc:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
140215dd1:	48 8b d7             	mov    %rdi,%rdx
140215dd4:	49 8b cf             	mov    %r15,%rcx
140215dd7:	e8 a4 9a 00 00       	call   0x14021f880
140215ddc:	90                   	nop
140215ddd:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140215de1:	48 83 fa 0f          	cmp    $0xf,%rdx
140215de5:	0f 86 9c 01 00 00    	jbe    0x140215f87
140215deb:	48 ff c2             	inc    %rdx
140215dee:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
140215df2:	48 8b c1             	mov    %rcx,%rax
140215df5:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140215dfc:	72 19                	jb     0x140215e17
140215dfe:	48 83 c2 27          	add    $0x27,%rdx
140215e02:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140215e06:	48 2b c1             	sub    %rcx,%rax
140215e09:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140215e0d:	48 83 f8 1f          	cmp    $0x1f,%rax
140215e11:	0f 87 9a 01 00 00    	ja     0x140215fb1
140215e17:	e8 28 53 c0 00       	call   0x140e1b144
140215e1c:	e9 66 01 00 00       	jmp    0x140215f87
140215e21:	f7 da                	neg    %edx
140215e23:	89 55 a8             	mov    %edx,-0x58(%rbp)
140215e26:	8b ca                	mov    %edx,%ecx
140215e28:	45 85 db             	test   %r11d,%r11d
140215e2b:	75 0f                	jne    0x140215e3c
140215e2d:	85 c0                	test   %eax,%eax
140215e2f:	78 0b                	js     0x140215e3c
140215e31:	3b c2                	cmp    %edx,%eax
140215e33:	7d 07                	jge    0x140215e3c
140215e35:	8b d0                	mov    %eax,%edx
140215e37:	89 45 a8             	mov    %eax,-0x58(%rbp)
140215e3a:	8b c8                	mov    %eax,%ecx
140215e3c:	85 c9                	test   %ecx,%ecx
140215e3e:	75 0f                	jne    0x140215e4f
140215e40:	45 85 db             	test   %r11d,%r11d
140215e43:	75 0a                	jne    0x140215e4f
140215e45:	f6 45 a6 08          	testb  $0x8,-0x5a(%rbp)
140215e49:	75 04                	jne    0x140215e4f
140215e4b:	32 c0                	xor    %al,%al
140215e4d:	eb 02                	jmp    0x140215e51
140215e4f:	b0 01                	mov    $0x1,%al
140215e51:	88 45 93             	mov    %al,-0x6d(%rbp)
140215e54:	0f b6 c0             	movzbl %al,%eax
140215e57:	ff c2                	inc    %edx
140215e59:	03 c2                	add    %edx,%eax
140215e5b:	48 03 f0             	add    %rax,%rsi
140215e5e:	48 8d 45 90          	lea    -0x70(%rbp),%rax
140215e62:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
140215e66:	48 8d 45 91          	lea    -0x6f(%rbp),%rax
140215e6a:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140215e6e:	48 8d 45 93          	lea    -0x6d(%rbp),%rax
140215e72:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140215e76:	48 8d 45 92          	lea    -0x6e(%rbp),%rax
140215e7a:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140215e7e:	48 8d 45 a8          	lea    -0x58(%rbp),%rax
140215e82:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
140215e86:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
140215e8a:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140215e8e:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
140215e92:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
140215e96:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
140215e9a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140215e9f:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140215ea4:	4c 8b ce             	mov    %rsi,%r9
140215ea7:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
140215eac:	48 8b d7             	mov    %rdi,%rdx
140215eaf:	49 8b cf             	mov    %r15,%rcx
140215eb2:	e8 79 9e 00 00       	call   0x14021fd30
140215eb7:	e9 cb 00 00 00       	jmp    0x140215f87
140215ebc:	45 8b d6             	mov    %r14d,%r10d
140215ebf:	0f b6 55 a6          	movzbl -0x5a(%rbp),%edx
140215ec3:	f6 c2 08             	test   $0x8,%dl
140215ec6:	74 0c                	je     0x140215ed4
140215ec8:	41 2b c3             	sub    %r11d,%eax
140215ecb:	44 0f 49 d0          	cmovns %eax,%r10d
140215ecf:	49 03 f2             	add    %r10,%rsi
140215ed2:	eb 0d                	jmp    0x140215ee1
140215ed4:	41 83 fb 01          	cmp    $0x1,%r11d
140215ed8:	75 07                	jne    0x140215ee1
140215eda:	45 32 c0             	xor    %r8b,%r8b
140215edd:	44 88 45 92          	mov    %r8b,-0x6e(%rbp)
140215ee1:	41 8b c1             	mov    %r9d,%eax
140215ee4:	f7 d8                	neg    %eax
140215ee6:	41 0f 48 c1          	cmovs  %r9d,%eax
140215eea:	b9 02 00 00 00       	mov    $0x2,%ecx
140215eef:	83 f8 64             	cmp    $0x64,%eax
140215ef2:	7c 0f                	jl     0x140215f03
140215ef4:	49 8b ce             	mov    %r14,%rcx
140215ef7:	3d e8 03 00 00       	cmp    $0x3e8,%eax
140215efc:	0f 9d c1             	setge  %cl
140215eff:	48 83 c1 03          	add    $0x3,%rcx
140215f03:	45 84 c0             	test   %r8b,%r8b
140215f06:	41 0f 95 c6          	setne  %r14b
140215f0a:	49 83 c6 02          	add    $0x2,%r14
140215f0e:	4c 03 f1             	add    %rcx,%r14
140215f11:	49 03 f6             	add    %r14,%rsi
140215f14:	0f b6 44 24 30       	movzbl 0x30(%rsp),%eax
140215f19:	88 45 b8             	mov    %al,-0x48(%rbp)
140215f1c:	4c 89 65 c0          	mov    %r12,-0x40(%rbp)
140215f20:	44 89 5d c8          	mov    %r11d,-0x38(%rbp)
140215f24:	44 88 45 cc          	mov    %r8b,-0x34(%rbp)
140215f28:	44 89 55 d0          	mov    %r10d,-0x30(%rbp)
140215f2c:	44 88 6d d4          	mov    %r13b,-0x2c(%rbp)
140215f30:	f6 d2                	not    %dl
140215f32:	80 e2 01             	and    $0x1,%dl
140215f35:	c0 e2 05             	shl    $0x5,%dl
140215f38:	80 ca 45             	or     $0x45,%dl
140215f3b:	88 55 d5             	mov    %dl,-0x2b(%rbp)
140215f3e:	44 89 4d d8          	mov    %r9d,-0x28(%rbp)
140215f42:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140215f47:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140215f4b:	83 38 00             	cmpl   $0x0,(%rax)
140215f4e:	7e 24                	jle    0x140215f74
140215f50:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140215f55:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140215f5a:	4c 8b ce             	mov    %rsi,%r9
140215f5d:	4c 8b c0             	mov    %rax,%r8
140215f60:	48 8b d7             	mov    %rdi,%rdx
140215f63:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140215f68:	e8 73 8d 00 00       	call   0x14021ece0
140215f6d:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140215f72:	eb 10                	jmp    0x140215f84
140215f74:	4c 8b c7             	mov    %rdi,%r8
140215f77:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140215f7c:	e8 af c0 00 00       	call   0x140222030
140215f81:	48 8b 00             	mov    (%rax),%rax
140215f84:	49 89 07             	mov    %rax,(%r15)
140215f87:	49 8b c7             	mov    %r15,%rax
140215f8a:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140215f8e:	48 33 cc             	xor    %rsp,%rcx
140215f91:	e8 6a 55 c0 00       	call   0x140e1b500
140215f96:	48 8b 9c 24 68 01 00 	mov    0x168(%rsp),%rbx
140215f9d:	00
140215f9e:	48 81 c4 20 01 00 00 	add    $0x120,%rsp
140215fa5:	41 5f                	pop    %r15
140215fa7:	41 5e                	pop    %r14
140215fa9:	41 5d                	pop    %r13
140215fab:	41 5c                	pop    %r12
140215fad:	5f                   	pop    %rdi
140215fae:	5e                   	pop    %rsi
140215faf:	5d                   	pop    %rbp
140215fb0:	c3                   	ret
140215fb1:	e8 ee 41 c1 00       	call   0x140e2a1a4
140215fb6:	cc                   	int3
140215fb7:	e8 e8 41 c1 00       	call   0x140e2a1a4
140215fbc:	cc                   	int3
140215fbd:	cc                   	int3
140215fbe:	cc                   	int3
140215fbf:	cc                   	int3
140215fc0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140215fc5:	55                   	push   %rbp
140215fc6:	56                   	push   %rsi
140215fc7:	57                   	push   %rdi
140215fc8:	41 54                	push   %r12
140215fca:	41 55                	push   %r13
140215fcc:	41 56                	push   %r14
140215fce:	41 57                	push   %r15
140215fd0:	48 8d 6c 24 e0       	lea    -0x20(%rsp),%rbp
140215fd5:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
140215fdc:	48 8b 05 1d 2f 1a 01 	mov    0x11a2f1d(%rip),%rax        # 0x1413b8f00
140215fe3:	48 33 c4             	xor    %rsp,%rax
140215fe6:	48 89 45 10          	mov    %rax,0x10(%rbp)
140215fea:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
140215fef:	4d 8b f8             	mov    %r8,%r15
140215ff2:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140215ff7:	48 8b fa             	mov    %rdx,%rdi
140215ffa:	4c 8b e1             	mov    %rcx,%r12
140215ffd:	48 8b 85 80 00 00 00 	mov    0x80(%rbp),%rax
140216004:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
140216008:	48 8b d0             	mov    %rax,%rdx
14021600b:	48 c1 ea 30          	shr    $0x30,%rdx
14021600f:	4d 8b 28             	mov    (%r8),%r13
140216012:	4c 89 6d 88          	mov    %r13,-0x78(%rbp)
140216016:	45 8b 48 08          	mov    0x8(%r8),%r9d
14021601a:	44 89 4d 94          	mov    %r9d,-0x6c(%rbp)
14021601e:	c6 45 92 30          	movb   $0x30,-0x6e(%rbp)
140216022:	4c 8b d8             	mov    %rax,%r11
140216025:	49 c1 eb 28          	shr    $0x28,%r11
140216029:	44 88 5d 90          	mov    %r11b,-0x70(%rbp)
14021602d:	45 33 f6             	xor    %r14d,%r14d
140216030:	41 8b ce             	mov    %r14d,%ecx
140216033:	45 84 db             	test   %r11b,%r11b
140216036:	0f 95 c1             	setne  %cl
140216039:	41 8d 34 09          	lea    (%r9,%rcx,1),%esi
14021603d:	48 8b 9d 88 00 00 00 	mov    0x88(%rbp),%rbx
140216044:	f6 c2 02             	test   $0x2,%dl
140216047:	74 1f                	je     0x140216068
140216049:	48 8b cb             	mov    %rbx,%rcx
14021604c:	e8 3f ee ff ff       	call   0x140214e90
140216051:	44 0f b6 c0          	movzbl %al,%r8d
140216055:	4c 8b 6d 88          	mov    -0x78(%rbp),%r13
140216059:	44 8b 4d 94          	mov    -0x6c(%rbp),%r9d
14021605d:	44 0f b6 5d 90       	movzbl -0x70(%rbp),%r11d
140216062:	48 8b 45 a0          	mov    -0x60(%rbp),%rax
140216066:	eb 03                	jmp    0x14021606b
140216068:	41 b0 2e             	mov    $0x2e,%r8b
14021606b:	44 88 45 91          	mov    %r8b,-0x6f(%rbp)
14021606f:	45 8b 7f 0c          	mov    0xc(%r15),%r15d
140216073:	43 8d 14 0f          	lea    (%r15,%r9,1),%edx
140216077:	44 8d 52 ff          	lea    -0x1(%rdx),%r10d
14021607b:	48 8b c8             	mov    %rax,%rcx
14021607e:	48 c1 e9 20          	shr    $0x20,%rcx
140216082:	80 f9 01             	cmp    $0x1,%cl
140216085:	0f 84 40 03 00 00    	je     0x1402163cb
14021608b:	84 c9                	test   %cl,%cl
14021608d:	75 1d                	jne    0x1402160ac
14021608f:	41 83 fa fc          	cmp    $0xfffffffc,%r10d
140216093:	0f 8c 32 03 00 00    	jl     0x1402163cb
140216099:	b9 10 00 00 00       	mov    $0x10,%ecx
14021609e:	85 c0                	test   %eax,%eax
1402160a0:	0f 4f c8             	cmovg  %eax,%ecx
1402160a3:	44 3b d1             	cmp    %ecx,%r10d
1402160a6:	0f 8d 1f 03 00 00    	jge    0x1402163cb
1402160ac:	89 55 a8             	mov    %edx,-0x58(%rbp)
1402160af:	45 85 ff             	test   %r15d,%r15d
1402160b2:	0f 88 7a 01 00 00    	js     0x140216232
1402160b8:	49 03 f7             	add    %r15,%rsi
1402160bb:	2b c2                	sub    %edx,%eax
1402160bd:	89 45 98             	mov    %eax,-0x68(%rbp)
1402160c0:	44 0f b6 45 a6       	movzbl -0x5a(%rbp),%r8d
1402160c5:	41 f6 c0 08          	test   $0x8,%r8b
1402160c9:	74 1a                	je     0x1402160e5
1402160cb:	48 ff c6             	inc    %rsi
1402160ce:	85 c0                	test   %eax,%eax
1402160d0:	7f 0e                	jg     0x1402160e0
1402160d2:	80 7d a4 02          	cmpb   $0x2,-0x5c(%rbp)
1402160d6:	74 0d                	je     0x1402160e5
1402160d8:	b8 01 00 00 00       	mov    $0x1,%eax
1402160dd:	89 45 98             	mov    %eax,-0x68(%rbp)
1402160e0:	8b c8                	mov    %eax,%ecx
1402160e2:	48 03 f1             	add    %rcx,%rsi
1402160e5:	41 d0 e8             	shr    $1,%r8b
1402160e8:	41 80 e0 01          	and    $0x1,%r8b
1402160ec:	48 8b d3             	mov    %rbx,%rdx
1402160ef:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
1402160f3:	e8 98 ac 00 00       	call   0x140220d90
1402160f8:	90                   	nop
1402160f9:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
1402160fd:	4c 8b 4d e8          	mov    -0x18(%rbp),%r9
140216101:	4c 8b 55 00          	mov    0x0(%rbp),%r10
140216105:	49 83 fa 0f          	cmp    $0xf,%r10
140216109:	49 0f 47 d1          	cmova  %r9,%rdx
14021610d:	41 8b ce             	mov    %r14d,%ecx
140216110:	44 8b 7d a8          	mov    -0x58(%rbp),%r15d
140216114:	0f b6 5d 08          	movzbl 0x8(%rbp),%ebx
140216118:	4c 8b 5d f8          	mov    -0x8(%rbp),%r11
14021611c:	0f 1f 40 00          	nopl   0x0(%rax)
140216120:	84 db                	test   %bl,%bl
140216122:	74 42                	je     0x140216166
140216124:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
140216128:	49 83 fa 0f          	cmp    $0xf,%r10
14021612c:	49 0f 47 c1          	cmova  %r9,%rax
140216130:	49 03 c3             	add    %r11,%rax
140216133:	48 3b d0             	cmp    %rax,%rdx
140216136:	75 18                	jne    0x140216150
140216138:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
14021613c:	49 83 fa 0f          	cmp    $0xf,%r10
140216140:	49 0f 47 c1          	cmova  %r9,%rax
140216144:	41 0f be 44 03 ff    	movsbl -0x1(%r11,%rax,1),%eax
14021614a:	03 c8                	add    %eax,%ecx
14021614c:	8b c1                	mov    %ecx,%eax
14021614e:	eb 1b                	jmp    0x14021616b
140216150:	44 0f be 02          	movsbl (%rdx),%r8d
140216154:	41 8d 40 ff          	lea    -0x1(%r8),%eax
140216158:	3c 7d                	cmp    $0x7d,%al
14021615a:	77 0a                	ja     0x140216166
14021615c:	48 ff c2             	inc    %rdx
14021615f:	41 03 c8             	add    %r8d,%ecx
140216162:	8b c1                	mov    %ecx,%eax
140216164:	eb 05                	jmp    0x14021616b
140216166:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
14021616b:	44 3b f8             	cmp    %eax,%r15d
14021616e:	7e 05                	jle    0x140216175
140216170:	41 ff c6             	inc    %r14d
140216173:	eb ab                	jmp    0x140216120
140216175:	41 8b c6             	mov    %r14d,%eax
140216178:	48 03 f0             	add    %rax,%rsi
14021617b:	48 8d 45 90          	lea    -0x70(%rbp),%rax
14021617f:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140216184:	48 8d 45 88          	lea    -0x78(%rbp),%rax
140216188:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14021618d:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
140216191:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140216196:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
14021619b:	48 89 44 24 58       	mov    %rax,0x58(%rsp)