140e04815:	48 3b d9             	cmp    %rcx,%rbx
140e04818:	0f 8e 86 00 00 00    	jle    0x140e048a4
140e0481e:	49 8b c2             	mov    %r10,%rax
140e04821:	48 f7 d8             	neg    %rax
140e04824:	4c 3b c8             	cmp    %rax,%r9
140e04827:	7e 7b                	jle    0x140e048a4
140e04829:	48 8b cb             	mov    %rbx,%rcx
140e0482c:	48 f7 d9             	neg    %rcx
140e0482f:	48 0f 48 cb          	cmovs  %rbx,%rcx
140e04833:	49 3b c8             	cmp    %r8,%rcx
140e04836:	7f 0f                	jg     0x140e04847
140e04838:	49 8b c1             	mov    %r9,%rax
140e0483b:	48 f7 d8             	neg    %rax
140e0483e:	49 0f 48 c1          	cmovs  %r9,%rax
140e04842:	49 3b c2             	cmp    %r10,%rax
140e04845:	7e 62                	jle    0x140e048a9
140e04847:	45 84 ed             	test   %r13b,%r13b
140e0484a:	74 14                	je     0x140e04860
140e0484c:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
140e04850:	48 99                	cqto
140e04852:	83 e2 03             	and    $0x3,%edx
140e04855:	48 8d 0c 02          	lea    (%rdx,%rax,1),%rcx
140e04859:	48 c1 f9 02          	sar    $0x2,%rcx
140e0485d:	48 ff c1             	inc    %rcx
140e04860:	49 8b c3             	mov    %r11,%rax
140e04863:	48 f7 d8             	neg    %rax
140e04866:	49 0f 48 c3          	cmovs  %r11,%rax
140e0486a:	48 3b c1             	cmp    %rcx,%rax
140e0486d:	48 0f 4c c8          	cmovl  %rax,%rcx
140e04871:	48 8d 14 8d 00 00 00 	lea    0x0(,%rcx,4),%rdx
140e04878:	00
140e04879:	48 8b c1             	mov    %rcx,%rax
140e0487c:	48 85 db             	test   %rbx,%rbx
140e0487f:	78 0f                	js     0x140e04890
140e04881:	45 84 ed             	test   %r13b,%r13b
140e04884:	48 0f 45 c2          	cmovne %rdx,%rax
140e04888:	48 2b d8             	sub    %rax,%rbx
140e0488b:	4c 03 c9             	add    %rcx,%r9
140e0488e:	eb 0d                	jmp    0x140e0489d
140e04890:	45 84 ed             	test   %r13b,%r13b
140e04893:	48 0f 45 c2          	cmovne %rdx,%rax
140e04897:	48 03 d8             	add    %rax,%rbx
140e0489a:	4c 2b c9             	sub    %rcx,%r9
140e0489d:	33 d2                	xor    %edx,%edx
140e0489f:	e9 45 ff ff ff       	jmp    0x140e047e9
140e048a4:	4c 8b c1             	mov    %rcx,%r8
140e048a7:	eb 27                	jmp    0x140e048d0
140e048a9:	4a 8d 04 8d 00 00 00 	lea    0x0(,%r9,4),%rax
140e048b0:	00
140e048b1:	45 84 ed             	test   %r13b,%r13b
140e048b4:	4c 0f 45 c8          	cmovne %rax,%r9
140e048b8:	49 03 d9             	add    %r9,%rbx
140e048bb:	49 3b d8             	cmp    %r8,%rbx
140e048be:	7f 10                	jg     0x140e048d0
140e048c0:	49 f7 d8             	neg    %r8
140e048c3:	49 8b c0             	mov    %r8,%rax
140e048c6:	4c 8b c3             	mov    %rbx,%r8
140e048c9:	48 3b d8             	cmp    %rax,%rbx
140e048cc:	4c 0f 4c c0          	cmovl  %rax,%r8
140e048d0:	4d 85 c0             	test   %r8,%r8
140e048d3:	0f 84 80 00 00 00    	je     0x140e04959
140e048d9:	41 8a c5             	mov    %r13b,%al
140e048dc:	f6 d8                	neg    %al
140e048de:	1a c9                	sbb    %cl,%cl
140e048e0:	80 e1 0b             	and    $0xb,%cl
140e048e3:	80 c1 65             	add    $0x65,%cl
140e048e6:	41 88 0c 24          	mov    %cl,(%r12)
140e048ea:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140e048f0:	4d 03 e2             	add    %r10,%r12
140e048f3:	4d 85 c0             	test   %r8,%r8
140e048f6:	79 08                	jns    0x140e04900
140e048f8:	41 c6 04 24 2d       	movb   $0x2d,(%r12)
140e048fd:	4d 03 e2             	add    %r10,%r12
140e04900:	49 8b cc             	mov    %r12,%rcx
140e04903:	4d 8b c8             	mov    %r8,%r9
140e04906:	49 f7 d9             	neg    %r9
140e04909:	4d 0f 48 c8          	cmovs  %r8,%r9
140e0490d:	4d 85 c9             	test   %r9,%r9
140e04910:	74 3d                	je     0x140e0494f
140e04912:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140e04919:	66 66 66
140e0491c:	49 f7 e9             	imul   %r9
140e0491f:	48 c1 fa 02          	sar    $0x2,%rdx
140e04923:	48 8b c2             	mov    %rdx,%rax
140e04926:	48 c1 e8 3f          	shr    $0x3f,%rax
140e0492a:	48 03 d0             	add    %rax,%rdx
140e0492d:	8a c2                	mov    %dl,%al
140e0492f:	c0 e0 02             	shl    $0x2,%al
140e04932:	44 8d 04 10          	lea    (%rax,%rdx,1),%r8d
140e04936:	45 02 c0             	add    %r8b,%r8b
140e04939:	45 2a c8             	sub    %r8b,%r9b
140e0493c:	41 80 c1 30          	add    $0x30,%r9b
140e04940:	45 88 0c 24          	mov    %r9b,(%r12)
140e04944:	4d 03 e2             	add    %r10,%r12
140e04947:	4c 8b ca             	mov    %rdx,%r9
140e0494a:	48 85 d2             	test   %rdx,%rdx
140e0494d:	75 c3                	jne    0x140e04912
140e0494f:	49 8b d4             	mov    %r12,%rdx
140e04952:	e8 f9 86 ff ff       	call   0x140dfd050
140e04957:	33 d2                	xor    %edx,%edx
140e04959:	41 88 14 24          	mov    %dl,(%r12)
140e0495d:	41 f6 dd             	neg    %r13b
140e04960:	1a c0                	sbb    %al,%al
140e04962:	24 06                	and    $0x6,%al
140e04964:	04 0a                	add    $0xa,%al
140e04966:	88 44 24 36          	mov    %al,0x36(%rsp)
140e0496a:	8a 44 24 30          	mov    0x30(%rsp),%al
140e0496e:	88 44 24 37          	mov    %al,0x37(%rsp)
140e04972:	0f b7 5c 24 36       	movzwl 0x36(%rsp),%ebx
140e04977:	eb 0b                	jmp    0x140e04984
140e04979:	66 83 64 24 33 00    	andw   $0x0,0x33(%rsp)
140e0497f:	0f b7 5c 24 33       	movzwl 0x33(%rsp),%ebx
140e04984:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
140e04988:	e8 c3 30 39 ff       	call   0x140197a50
140e0498d:	0f b7 c3             	movzwl %bx,%eax
140e04990:	48 8b 4d 0f          	mov    0xf(%rbp),%rcx
140e04994:	48 33 cc             	xor    %rsp,%rcx
140e04997:	e8 64 6b 01 00       	call   0x140e1b500
140e0499c:	48 8b 9c 24 48 01 00 	mov    0x148(%rsp),%rbx
140e049a3:	00
140e049a4:	48 81 c4 00 01 00 00 	add    $0x100,%rsp
140e049ab:	41 5f                	pop    %r15
140e049ad:	41 5e                	pop    %r14
140e049af:	41 5d                	pop    %r13
140e049b1:	41 5c                	pop    %r12
140e049b3:	5f                   	pop    %rdi
140e049b4:	5e                   	pop    %rsi
140e049b5:	5d                   	pop    %rbp
140e049b6:	c3                   	ret
140e049b7:	cc                   	int3
140e049b8:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140e049bd:	55                   	push   %rbp
140e049be:	56                   	push   %rsi
140e049bf:	57                   	push   %rdi
140e049c0:	41 54                	push   %r12
140e049c2:	41 55                	push   %r13
140e049c4:	41 56                	push   %r14
140e049c6:	41 57                	push   %r15
140e049c8:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
140e049cd:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
140e049d4:	48 8b 05 25 45 5b 00 	mov    0x5b4525(%rip),%rax        # 0x1413b8f00
140e049db:	48 33 c4             	xor    %rsp,%rax
140e049de:	48 89 45 0f          	mov    %rax,0xf(%rbp)
140e049e2:	45 8b f1             	mov    %r9d,%r14d
140e049e5:	44 89 4d 87          	mov    %r9d,-0x79(%rbp)
140e049e9:	4d 8b e8             	mov    %r8,%r13
140e049ec:	4c 89 45 8f          	mov    %r8,-0x71(%rbp)
140e049f0:	48 8b da             	mov    %rdx,%rbx
140e049f3:	4c 8b e1             	mov    %rcx,%r12
140e049f6:	48 8b 75 7f          	mov    0x7f(%rbp),%rsi
140e049fa:	48 8b ce             	mov    %rsi,%rcx
140e049fd:	e8 ea 30 00 00       	call   0x140e07aec
140e04a02:	48 8b f8             	mov    %rax,%rdi
140e04a05:	48 8b 08             	mov    (%rax),%rcx
140e04a08:	48 8b 41 28          	mov    0x28(%rcx),%rax
140e04a0c:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140e04a10:	48 8b cf             	mov    %rdi,%rcx
140e04a13:	ff 15 07 f0 17 00    	call   *0x17f007(%rip)        # 0x140f83a20
140e04a19:	90                   	nop
140e04a1a:	48 83 7d c7 00       	cmpq   $0x0,-0x39(%rbp)
140e04a1f:	75 0c                	jne    0x140e04a2d
140e04a21:	33 ff                	xor    %edi,%edi
140e04a23:	44 0f b7 ff          	movzwl %di,%r15d
140e04a27:	66 89 7d 83          	mov    %di,-0x7d(%rbp)
140e04a2b:	eb 1a                	jmp    0x140e04a47
140e04a2d:	48 8b 07             	mov    (%rdi),%rax
140e04a30:	48 8b cf             	mov    %rdi,%rcx
140e04a33:	48 8b 40 20          	mov    0x20(%rax),%rax
140e04a37:	ff 15 e3 ef 17 00    	call   *0x17efe3(%rip)        # 0x140f83a20
140e04a3d:	44 0f b7 f8          	movzwl %ax,%r15d
140e04a41:	66 89 45 83          	mov    %ax,-0x7d(%rbp)
140e04a45:	33 ff                	xor    %edi,%edi
140e04a47:	48 8b ce             	mov    %rsi,%rcx
140e04a4a:	e8 4d 21 00 00       	call   0x140e06b9c
140e04a4f:	4c 8b d0             	mov    %rax,%r10
140e04a52:	48 8b 08             	mov    (%rax),%rcx
140e04a55:	48 8b 41 58          	mov    0x58(%rcx),%rax
140e04a59:	4c 8d 4d d7          	lea    -0x29(%rbp),%r9
140e04a5d:	4c 8d 05 17 be 3d 00 	lea    0x3dbe17(%rip),%r8        # 0x1411e087b
140e04a64:	48 8d 15 f5 bd 3d 00 	lea    0x3dbdf5(%rip),%rdx        # 0x1411e0860
140e04a6b:	49 8b ca             	mov    %r10,%rcx
140e04a6e:	ff 15 ac ef 17 00    	call   *0x17efac(%rip)        # 0x140f83a20
140e04a74:	40 88 7d 80          	mov    %dil,-0x80(%rbp)
140e04a78:	be ff ff 00 00       	mov    $0xffff,%esi
140e04a7d:	66 45 85 ff          	test   %r15w,%r15w
140e04a81:	0f 84 ed 00 00 00    	je     0x140e04b74
140e04a87:	49 8b d5             	mov    %r13,%rdx
140e04a8a:	48 8b cb             	mov    %rbx,%rcx
140e04a8d:	e8 16 26 01 00       	call   0x140e170a8
140e04a92:	84 c0                	test   %al,%al
140e04a94:	0f 85 da 00 00 00    	jne    0x140e04b74
140e04a9a:	48 8d 7b 0a          	lea    0xa(%rbx),%rdi
140e04a9e:	48 8b f7             	mov    %rdi,%rsi
140e04aa1:	45 33 c0             	xor    %r8d,%r8d
140e04aa4:	41 be ff ff 00 00    	mov    $0xffff,%r14d
140e04aaa:	44 38 43 08          	cmp    %r8b,0x8(%rbx)
140e04aae:	75 47                	jne    0x140e04af7
140e04ab0:	48 8b 0b             	mov    (%rbx),%rcx
140e04ab3:	48 85 c9             	test   %rcx,%rcx
140e04ab6:	74 38                	je     0x140e04af0
140e04ab8:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04abc:	48 8b 10             	mov    (%rax),%rdx
140e04abf:	48 85 d2             	test   %rdx,%rdx
140e04ac2:	74 0e                	je     0x140e04ad2
140e04ac4:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04ac8:	44 39 00             	cmp    %r8d,(%rax)
140e04acb:	7e 05                	jle    0x140e04ad2
140e04acd:	0f b7 02             	movzwl (%rdx),%eax
140e04ad0:	eb 10                	jmp    0x140e04ae2
140e04ad2:	48 8b 01             	mov    (%rcx),%rax
140e04ad5:	48 8b 40 30          	mov    0x30(%rax),%rax
140e04ad9:	ff 15 41 ef 17 00    	call   *0x17ef41(%rip)        # 0x140f83a20
140e04adf:	45 33 c0             	xor    %r8d,%r8d
140e04ae2:	66 44 3b f0          	cmp    %ax,%r14w
140e04ae6:	74 08                	je     0x140e04af0
140e04ae8:	66 89 06             	mov    %ax,(%rsi)
140e04aeb:	48 8b fe             	mov    %rsi,%rdi
140e04aee:	eb 03                	jmp    0x140e04af3
140e04af0:	4c 89 03             	mov    %r8,(%rbx)
140e04af3:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140e04af7:	66 44 39 3f          	cmp    %r15w,(%rdi)
140e04afb:	75 6c                	jne    0x140e04b69
140e04afd:	48 8b 0b             	mov    (%rbx),%rcx
140e04b00:	48 85 c9             	test   %rcx,%rcx
140e04b03:	74 42                	je     0x140e04b47
140e04b05:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04b09:	4c 39 00             	cmp    %r8,(%rax)
140e04b0c:	74 1e                	je     0x140e04b2c
140e04b0e:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04b12:	44 39 00             	cmp    %r8d,(%rax)
140e04b15:	7e 15                	jle    0x140e04b2c
140e04b17:	ff 08                	decl   (%rax)
140e04b19:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04b1d:	48 8b 11             	mov    (%rcx),%rdx
140e04b20:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04b24:	48 89 01             	mov    %rax,(%rcx)
140e04b27:	0f b7 02             	movzwl (%rdx),%eax
140e04b2a:	eb 10                	jmp    0x140e04b3c
140e04b2c:	48 8b 01             	mov    (%rcx),%rax
140e04b2f:	48 8b 40 38          	mov    0x38(%rax),%rax
140e04b33:	ff 15 e7 ee 17 00    	call   *0x17eee7(%rip)        # 0x140f83a20
140e04b39:	45 33 c0             	xor    %r8d,%r8d
140e04b3c:	66 44 3b f0          	cmp    %ax,%r14w
140e04b40:	74 05                	je     0x140e04b47
140e04b42:	41 8a c0             	mov    %r8b,%al
140e04b45:	eb 05                	jmp    0x140e04b4c
140e04b47:	4c 89 03             	mov    %r8,(%rbx)
140e04b4a:	b0 01                	mov    $0x1,%al
140e04b4c:	88 43 08             	mov    %al,0x8(%rbx)
140e04b4f:	c6 45 80 01          	movb   $0x1,-0x80(%rbp)
140e04b53:	49 8b d5             	mov    %r13,%rdx
140e04b56:	48 8b cb             	mov    %rbx,%rcx
140e04b59:	e8 4a 25 01 00       	call   0x140e170a8
140e04b5e:	45 33 c0             	xor    %r8d,%r8d
140e04b61:	84 c0                	test   %al,%al
140e04b63:	0f 84 41 ff ff ff    	je     0x140e04aaa
140e04b69:	44 8b 75 87          	mov    -0x79(%rbp),%r14d
140e04b6d:	33 ff                	xor    %edi,%edi
140e04b6f:	be ff ff 00 00       	mov    $0xffff,%esi
140e04b74:	4c 89 65 87          	mov    %r12,-0x79(%rbp)
140e04b78:	49 8b d5             	mov    %r13,%rdx
140e04b7b:	48 8b cb             	mov    %rbx,%rcx
140e04b7e:	e8 25 25 01 00       	call   0x140e170a8
140e04b83:	84 c0                	test   %al,%al
140e04b85:	0f 85 5c 01 00 00    	jne    0x140e04ce7
140e04b8b:	8a 4b 08             	mov    0x8(%rbx),%cl
140e04b8e:	84 c9                	test   %cl,%cl
140e04b90:	75 42                	jne    0x140e04bd4
140e04b92:	48 8b 0b             	mov    (%rbx),%rcx
140e04b95:	48 85 c9             	test   %rcx,%rcx
140e04b98:	74 31                	je     0x140e04bcb
140e04b9a:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04b9e:	48 8b 10             	mov    (%rax),%rdx
140e04ba1:	48 85 d2             	test   %rdx,%rdx
140e04ba4:	74 0d                	je     0x140e04bb3
140e04ba6:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04baa:	39 38                	cmp    %edi,(%rax)
140e04bac:	7e 05                	jle    0x140e04bb3
140e04bae:	0f b7 02             	movzwl (%rdx),%eax
140e04bb1:	eb 0d                	jmp    0x140e04bc0
140e04bb3:	48 8b 01             	mov    (%rcx),%rax
140e04bb6:	48 8b 40 30          	mov    0x30(%rax),%rax
140e04bba:	ff 15 60 ee 17 00    	call   *0x17ee60(%rip)        # 0x140f83a20
140e04bc0:	66 3b f0             	cmp    %ax,%si
140e04bc3:	74 06                	je     0x140e04bcb
140e04bc5:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e04bc9:	eb 03                	jmp    0x140e04bce
140e04bcb:	48 89 3b             	mov    %rdi,(%rbx)
140e04bce:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140e04bd2:	b1 01                	mov    $0x1,%cl
140e04bd4:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
140e04bd8:	66 3b 45 05          	cmp    0x5(%rbp),%ax
140e04bdc:	75 60                	jne    0x140e04c3e
140e04bde:	41 c6 04 24 2b       	movb   $0x2b,(%r12)
140e04be3:	49 8d 44 24 01       	lea    0x1(%r12),%rax
140e04be8:	48 89 45 87          	mov    %rax,-0x79(%rbp)
140e04bec:	48 8b 0b             	mov    (%rbx),%rcx
140e04bef:	48 85 c9             	test   %rcx,%rcx
140e04bf2:	74 3d                	je     0x140e04c31
140e04bf4:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04bf8:	48 39 38             	cmp    %rdi,(%rax)
140e04bfb:	74 1d                	je     0x140e04c1a
140e04bfd:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04c01:	39 38                	cmp    %edi,(%rax)
140e04c03:	7e 15                	jle    0x140e04c1a
140e04c05:	ff 08                	decl   (%rax)
140e04c07:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04c0b:	48 8b 11             	mov    (%rcx),%rdx
140e04c0e:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04c12:	48 89 01             	mov    %rax,(%rcx)
140e04c15:	0f b7 02             	movzwl (%rdx),%eax
140e04c18:	eb 0d                	jmp    0x140e04c27
140e04c1a:	48 8b 01             	mov    (%rcx),%rax
140e04c1d:	48 8b 40 38          	mov    0x38(%rax),%rax
140e04c21:	ff 15 f9 ed 17 00    	call   *0x17edf9(%rip)        # 0x140f83a20
140e04c27:	66 3b f0             	cmp    %ax,%si
140e04c2a:	74 05                	je     0x140e04c31
140e04c2c:	40 8a c7             	mov    %dil,%al
140e04c2f:	eb 05                	jmp    0x140e04c36
140e04c31:	48 89 3b             	mov    %rdi,(%rbx)
140e04c34:	b0 01                	mov    $0x1,%al
140e04c36:	88 43 08             	mov    %al,0x8(%rbx)
140e04c39:	e9 a9 00 00 00       	jmp    0x140e04ce7
140e04c3e:	84 c9                	test   %cl,%cl
140e04c40:	75 44                	jne    0x140e04c86
140e04c42:	48 8b 0b             	mov    (%rbx),%rcx
140e04c45:	48 85 c9             	test   %rcx,%rcx
140e04c48:	74 31                	je     0x140e04c7b
140e04c4a:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04c4e:	48 8b 10             	mov    (%rax),%rdx
140e04c51:	48 85 d2             	test   %rdx,%rdx
140e04c54:	74 0d                	je     0x140e04c63
140e04c56:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04c5a:	39 38                	cmp    %edi,(%rax)
140e04c5c:	7e 05                	jle    0x140e04c63
140e04c5e:	0f b7 02             	movzwl (%rdx),%eax
140e04c61:	eb 0d                	jmp    0x140e04c70
140e04c63:	48 8b 01             	mov    (%rcx),%rax
140e04c66:	48 8b 40 30          	mov    0x30(%rax),%rax
140e04c6a:	ff 15 b0 ed 17 00    	call   *0x17edb0(%rip)        # 0x140f83a20
140e04c70:	66 3b f0             	cmp    %ax,%si
140e04c73:	74 06                	je     0x140e04c7b
140e04c75:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e04c79:	eb 07                	jmp    0x140e04c82
140e04c7b:	48 89 3b             	mov    %rdi,(%rbx)
140e04c7e:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
140e04c82:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140e04c86:	66 3b 45 03          	cmp    0x3(%rbp),%ax
140e04c8a:	75 5b                	jne    0x140e04ce7
140e04c8c:	41 c6 04 24 2d       	movb   $0x2d,(%r12)