140281a6c:	49 8b 5f 08          	mov    0x8(%r15),%rbx
140281a70:	4c 8b e3             	mov    %rbx,%r12
140281a73:	4d 2b e6             	sub    %r14,%r12
140281a76:	49 c1 fc 05          	sar    $0x5,%r12
140281a7a:	4c 0f af e1          	imul   %rcx,%r12
140281a7e:	be e0 00 00 00       	mov    $0xe0,%esi
140281a83:	49 3b fc             	cmp    %r12,%rdi
140281a86:	77 7a                	ja     0x140281b02
140281a88:	48 69 df e0 00 00 00 	imul   $0xe0,%rdi,%rbx
140281a8f:	49 03 de             	add    %r14,%rbx
140281a92:	48 85 ff             	test   %rdi,%rdi
140281a95:	74 17                	je     0x140281aae
140281a97:	48 8b d5             	mov    %rbp,%rdx
140281a9a:	49 8b ce             	mov    %r14,%rcx
140281a9d:	e8 fe 04 00 00       	call   0x140281fa0
140281aa2:	4c 03 f6             	add    %rsi,%r14
140281aa5:	48 03 ee             	add    %rsi,%rbp
140281aa8:	48 83 ef 01          	sub    $0x1,%rdi
140281aac:	75 e9                	jne    0x140281a97
140281aae:	49 8b 6f 08          	mov    0x8(%r15),%rbp
140281ab2:	48 8b fb             	mov    %rbx,%rdi
140281ab5:	48 3b dd             	cmp    %rbp,%rbx
140281ab8:	74 10                	je     0x140281aca
140281aba:	48 8b cf             	mov    %rdi,%rcx
140281abd:	e8 ee 46 e7 ff       	call   0x1400f61b0
140281ac2:	48 03 fe             	add    %rsi,%rdi
140281ac5:	48 3b fd             	cmp    %rbp,%rdi
140281ac8:	75 f0                	jne    0x140281aba
140281aca:	49 89 5f 08          	mov    %rbx,0x8(%r15)
140281ace:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140281ad3:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140281ad8:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140281add:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140281ae2:	48 83 c4 40          	add    $0x40,%rsp
140281ae6:	41 5f                	pop    %r15
140281ae8:	41 5e                	pop    %r14
140281aea:	41 5c                	pop    %r12
140281aec:	c3                   	ret
140281aed:	48 8b d5             	mov    %rbp,%rdx
140281af0:	49 8b ce             	mov    %r14,%rcx
140281af3:	e8 a8 04 00 00       	call   0x140281fa0
140281af8:	4c 03 f6             	add    %rsi,%r14
140281afb:	48 03 ee             	add    %rsi,%rbp
140281afe:	49 8b 5f 08          	mov    0x8(%r15),%rbx
140281b02:	4c 3b f3             	cmp    %rbx,%r14
140281b05:	75 e6                	jne    0x140281aed
140281b07:	49 2b fc             	sub    %r12,%rdi
140281b0a:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140281b0f:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140281b14:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140281b19:	74 1c                	je     0x140281b37
140281b1b:	48 8b d5             	mov    %rbp,%rdx
140281b1e:	48 8b cb             	mov    %rbx,%rcx
140281b21:	e8 1a 56 ff ff       	call   0x140277140
140281b26:	48 03 de             	add    %rsi,%rbx
140281b29:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140281b2e:	48 03 ee             	add    %rsi,%rbp
140281b31:	48 83 ef 01          	sub    $0x1,%rdi
140281b35:	75 e4                	jne    0x140281b1b
140281b37:	eb 91                	jmp    0x140281aca
140281b39:	cc                   	int3
140281b3a:	90                   	nop
140281b3b:	90                   	nop
140281b3c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140281b41:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140281b46:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140281b4b:	57                   	push   %rdi
140281b4c:	41 56                	push   %r14
140281b4e:	41 57                	push   %r15
140281b50:	48 83 ec 20          	sub    $0x20,%rsp
140281b54:	48 8b 19             	mov    (%rcx),%rbx
140281b57:	48 8b f9             	mov    %rcx,%rdi
140281b5a:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140281b5e:	49 bf cd cc cc cc cc 	movabs $0xcccccccccccccccd,%r15
140281b65:	cc cc cc
140281b68:	48 2b cb             	sub    %rbx,%rcx
140281b6b:	49 8b f0             	mov    %r8,%rsi
140281b6e:	48 c1 f9 04          	sar    $0x4,%rcx
140281b72:	4c 8b f2             	mov    %rdx,%r14
140281b75:	49 0f af cf          	imul   %r15,%rcx
140281b79:	4c 3b c1             	cmp    %rcx,%r8
140281b7c:	0f 86 a4 00 00 00    	jbe    0x140281c26
140281b82:	48 bd 33 33 33 33 33 	movabs $0x333333333333333,%rbp
140281b89:	33 33 03
140281b8c:	4c 3b c5             	cmp    %rbp,%r8
140281b8f:	0f 87 95 01 00 00    	ja     0x140281d2a
140281b95:	48 8b d1             	mov    %rcx,%rdx
140281b98:	48 8b c5             	mov    %rbp,%rax
140281b9b:	48 d1 ea             	shr    $1,%rdx
140281b9e:	48 2b c2             	sub    %rdx,%rax
140281ba1:	48 3b c8             	cmp    %rax,%rcx
140281ba4:	77 0b                	ja     0x140281bb1
140281ba6:	48 8d 2c 0a          	lea    (%rdx,%rcx,1),%rbp
140281baa:	49 3b e8             	cmp    %r8,%rbp
140281bad:	49 0f 42 e8          	cmovb  %r8,%rbp
140281bb1:	48 85 db             	test   %rbx,%rbx
140281bb4:	74 56                	je     0x140281c0c
140281bb6:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140281bba:	48 8b cb             	mov    %rbx,%rcx
140281bbd:	e8 f6 1f e7 ff       	call   0x1400f3bb8
140281bc2:	48 8b 0f             	mov    (%rdi),%rcx
140281bc5:	48 8b 47 10          	mov    0x10(%rdi),%rax
140281bc9:	48 2b c1             	sub    %rcx,%rax
140281bcc:	48 c1 f8 04          	sar    $0x4,%rax
140281bd0:	49 0f af c7          	imul   %r15,%rax
140281bd4:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
140281bd8:	48 c1 e0 04          	shl    $0x4,%rax
140281bdc:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140281be2:	72 14                	jb     0x140281bf8
140281be4:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140281be8:	48 2b ca             	sub    %rdx,%rcx
140281beb:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140281bef:	48 83 f8 1f          	cmp    $0x1f,%rax
140281bf3:	77 2a                	ja     0x140281c1f
140281bf5:	48 8b ca             	mov    %rdx,%rcx
140281bf8:	ff 15 c2 ac 88 00    	call   *0x88acc2(%rip)        # 0x140b0c8c0
140281bfe:	48 83 27 00          	andq   $0x0,(%rdi)
140281c02:	48 83 67 08 00       	andq   $0x0,0x8(%rdi)
140281c07:	48 83 67 10 00       	andq   $0x0,0x10(%rdi)
140281c0c:	48 8b d5             	mov    %rbp,%rdx
140281c0f:	48 8b cf             	mov    %rdi,%rcx
140281c12:	e8 79 08 00 00       	call   0x140282490
140281c17:	4c 8b 07             	mov    (%rdi),%r8
140281c1a:	e9 f7 00 00 00       	jmp    0x140281d16
140281c1f:	ff 15 73 ad 88 00    	call   *0x88ad73(%rip)        # 0x140b0c998
140281c25:	cc                   	int3
140281c26:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140281c2a:	49 8b e8             	mov    %r8,%rbp
140281c2d:	48 2b eb             	sub    %rbx,%rbp
140281c30:	48 c1 fd 04          	sar    $0x4,%rbp
140281c34:	49 0f af ef          	imul   %r15,%rbp
140281c38:	48 3b f5             	cmp    %rbp,%rsi
140281c3b:	0f 87 cd 00 00 00    	ja     0x140281d0e
140281c41:	48 8d 2c b6          	lea    (%rsi,%rsi,4),%rbp
140281c45:	48 c1 e5 04          	shl    $0x4,%rbp
140281c49:	48 03 eb             	add    %rbx,%rbp
140281c4c:	48 85 f6             	test   %rsi,%rsi
140281c4f:	74 4d                	je     0x140281c9e
140281c51:	49 83 c6 28          	add    $0x28,%r14
140281c55:	41 8b 46 d8          	mov    -0x28(%r14),%eax
140281c59:	49 8d 56 e0          	lea    -0x20(%r14),%rdx
140281c5d:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140281c61:	89 03                	mov    %eax,(%rbx)
140281c63:	e8 8c 62 d8 ff       	call   0x140007ef4
140281c68:	49 8b 06             	mov    (%r14),%rax
140281c6b:	4d 8d 76 50          	lea    0x50(%r14),%r14
140281c6f:	48 89 43 28          	mov    %rax,0x28(%rbx)
140281c73:	48 8d 5b 50          	lea    0x50(%rbx),%rbx
140281c77:	41 0f b7 46 b8       	movzwl -0x48(%r14),%eax
140281c7c:	66 89 43 e0          	mov    %ax,-0x20(%rbx)
140281c80:	49 8b 46 c0          	mov    -0x40(%r14),%rax
140281c84:	48 89 43 e8          	mov    %rax,-0x18(%rbx)
140281c88:	49 8b 46 c8          	mov    -0x38(%r14),%rax
140281c8c:	48 89 43 f0          	mov    %rax,-0x10(%rbx)
140281c90:	49 8b 46 d0          	mov    -0x30(%r14),%rax
140281c94:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140281c98:	48 83 ee 01          	sub    $0x1,%rsi
140281c9c:	75 b7                	jne    0x140281c55
140281c9e:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140281ca2:	48 8b cd             	mov    %rbp,%rcx
140281ca5:	e8 0e 1f e7 ff       	call   0x1400f3bb8
140281caa:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140281cae:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140281cb3:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140281cb8:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140281cbd:	48 83 c4 20          	add    $0x20,%rsp
140281cc1:	41 5f                	pop    %r15
140281cc3:	41 5e                	pop    %r14
140281cc5:	5f                   	pop    %rdi
140281cc6:	c3                   	ret
140281cc7:	41 8b 06             	mov    (%r14),%eax
140281cca:	49 8d 56 08          	lea    0x8(%r14),%rdx
140281cce:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140281cd2:	89 03                	mov    %eax,(%rbx)
140281cd4:	e8 1b 62 d8 ff       	call   0x140007ef4
140281cd9:	49 8b 46 28          	mov    0x28(%r14),%rax
140281cdd:	48 89 43 28          	mov    %rax,0x28(%rbx)
140281ce1:	41 0f b7 46 30       	movzwl 0x30(%r14),%eax
140281ce6:	66 89 43 30          	mov    %ax,0x30(%rbx)
140281cea:	49 8b 46 38          	mov    0x38(%r14),%rax
140281cee:	48 89 43 38          	mov    %rax,0x38(%rbx)
140281cf2:	49 8b 46 40          	mov    0x40(%r14),%rax
140281cf6:	48 89 43 40          	mov    %rax,0x40(%rbx)
140281cfa:	49 8b 46 48          	mov    0x48(%r14),%rax
140281cfe:	48 89 43 48          	mov    %rax,0x48(%rbx)
140281d02:	48 83 c3 50          	add    $0x50,%rbx
140281d06:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140281d0a:	49 83 c6 50          	add    $0x50,%r14
140281d0e:	49 3b d8             	cmp    %r8,%rbx
140281d11:	75 b4                	jne    0x140281cc7
140281d13:	48 2b f5             	sub    %rbp,%rsi
140281d16:	4c 8b cf             	mov    %rdi,%r9
140281d19:	48 8b d6             	mov    %rsi,%rdx
140281d1c:	49 8b ce             	mov    %r14,%rcx
140281d1f:	e8 f8 13 00 00       	call   0x14028311c
140281d24:	48 89 47 08          	mov    %rax,0x8(%rdi)
140281d28:	eb 84                	jmp    0x140281cae
140281d2a:	e8 39 a0 d9 ff       	call   0x14001bd68
140281d2f:	cc                   	int3
140281d30:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140281d35:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140281d3a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140281d3f:	57                   	push   %rdi
140281d40:	41 54                	push   %r12
140281d42:	41 55                	push   %r13
140281d44:	41 56                	push   %r14
140281d46:	41 57                	push   %r15
140281d48:	48 83 ec 20          	sub    $0x20,%rsp
140281d4c:	4c 8b 61 10          	mov    0x10(%rcx),%r12
140281d50:	48 bf fe ff ff ff ff 	movabs $0x7ffffffffffffffe,%rdi
140281d57:	ff ff 7f
140281d5a:	48 8b c7             	mov    %rdi,%rax
140281d5d:	49 8b e9             	mov    %r9,%rbp
140281d60:	49 2b c4             	sub    %r12,%rax
140281d63:	48 8b f1             	mov    %rcx,%rsi
140281d66:	48 3b c2             	cmp    %rdx,%rax
140281d69:	0f 82 3e 01 00 00    	jb     0x140281ead
140281d6f:	4c 8b 69 18          	mov    0x18(%rcx),%r13
140281d73:	49 8d 1c 14          	lea    (%r12,%rdx,1),%rbx
140281d77:	48 8b d3             	mov    %rbx,%rdx
140281d7a:	48 83 ca 07          	or     $0x7,%rdx
140281d7e:	48 3b d7             	cmp    %rdi,%rdx
140281d81:	77 1f                	ja     0x140281da2
140281d83:	49 8b cd             	mov    %r13,%rcx
140281d86:	48 8b c7             	mov    %rdi,%rax
140281d89:	48 d1 e9             	shr    $1,%rcx
140281d8c:	48 2b c1             	sub    %rcx,%rax
140281d8f:	4c 3b e8             	cmp    %rax,%r13
140281d92:	77 0e                	ja     0x140281da2
140281d94:	4a 8d 04 29          	lea    (%rcx,%r13,1),%rax
140281d98:	48 8b fa             	mov    %rdx,%rdi
140281d9b:	48 3b d0             	cmp    %rax,%rdx
140281d9e:	48 0f 42 f8          	cmovb  %rax,%rdi
140281da2:	48 ff c7             	inc    %rdi
140281da5:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140281daa:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
140281daf:	e8 34 21 d8 ff       	call   0x140003ee8
140281db4:	48 89 5e 10          	mov    %rbx,0x10(%rsi)
140281db8:	48 8d 4f ff          	lea    -0x1(%rdi),%rcx
140281dbc:	48 89 4e 18          	mov    %rcx,0x18(%rsi)
140281dc0:	4c 8d 3c 6d 00 00 00 	lea    0x0(,%rbp,2),%r15
140281dc7:	00
140281dc8:	48 8b c8             	mov    %rax,%rcx
140281dcb:	4c 8b f0             	mov    %rax,%r14
140281dce:	4d 8b c7             	mov    %r15,%r8
140281dd1:	49 83 fd 07          	cmp    $0x7,%r13
140281dd5:	76 76                	jbe    0x140281e4d
140281dd7:	48 8b 1e             	mov    (%rsi),%rbx
140281dda:	48 8b d3             	mov    %rbx,%rdx
140281ddd:	e8 be 00 87 00       	call   0x140af1ea0
140281de2:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
140281de7:	4b 8d 3c 37          	lea    (%r15,%r14,1),%rdi
140281deb:	4d 85 c0             	test   %r8,%r8
140281dee:	74 0b                	je     0x140281dfb
140281df0:	0f b7 44 24 78       	movzwl 0x78(%rsp),%eax
140281df5:	49 8b c8             	mov    %r8,%rcx
140281df8:	66 f3 ab             	rep stos %ax,%es:(%rdi)
140281dfb:	49 8d 04 28          	lea    (%r8,%rbp,1),%rax
140281dff:	4c 2b e5             	sub    %rbp,%r12
140281e02:	4a 8d 14 3b          	lea    (%rbx,%r15,1),%rdx
140281e06:	49 8d 0c 46          	lea    (%r14,%rax,2),%rcx
140281e0a:	4e 8d 04 65 02 00 00 	lea    0x2(,%r12,2),%r8
140281e11:	00
140281e12:	e8 89 00 87 00       	call   0x140af1ea0
140281e17:	4a 8d 04 6d 02 00 00 	lea    0x2(,%r13,2),%rax
140281e1e:	00
140281e1f:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140281e25:	72 14                	jb     0x140281e3b
140281e27:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
140281e2b:	48 2b d9             	sub    %rcx,%rbx
140281e2e:	48 8d 43 f8          	lea    -0x8(%rbx),%rax
140281e32:	48 83 f8 1f          	cmp    $0x1f,%rax
140281e36:	77 0e                	ja     0x140281e46
140281e38:	48 8b d9             	mov    %rcx,%rbx
140281e3b:	48 8b cb             	mov    %rbx,%rcx
140281e3e:	ff 15 7c aa 88 00    	call   *0x88aa7c(%rip)        # 0x140b0c8c0
140281e44:	eb 44                	jmp    0x140281e8a
140281e46:	ff 15 4c ab 88 00    	call   *0x88ab4c(%rip)        # 0x140b0c998
140281e4c:	cc                   	int3
140281e4d:	48 8b d6             	mov    %rsi,%rdx
140281e50:	e8 4b 00 87 00       	call   0x140af1ea0
140281e55:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
140281e5a:	4b 8d 3c 37          	lea    (%r15,%r14,1),%rdi
140281e5e:	4d 85 c0             	test   %r8,%r8
140281e61:	74 0b                	je     0x140281e6e
140281e63:	0f b7 44 24 78       	movzwl 0x78(%rsp),%eax
140281e68:	49 8b c8             	mov    %r8,%rcx
140281e6b:	66 f3 ab             	rep stos %ax,%es:(%rdi)
140281e6e:	49 8d 04 28          	lea    (%r8,%rbp,1),%rax
140281e72:	4c 2b e5             	sub    %rbp,%r12
140281e75:	49 8d 14 37          	lea    (%r15,%rsi,1),%rdx
140281e79:	49 8d 0c 46          	lea    (%r14,%rax,2),%rcx
140281e7d:	4e 8d 04 65 02 00 00 	lea    0x2(,%r12,2),%r8
140281e84:	00
140281e85:	e8 16 00 87 00       	call   0x140af1ea0
140281e8a:	4c 89 36             	mov    %r14,(%rsi)
140281e8d:	48 8b c6             	mov    %rsi,%rax
140281e90:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140281e95:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140281e9a:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140281e9f:	48 83 c4 20          	add    $0x20,%rsp
140281ea3:	41 5f                	pop    %r15
140281ea5:	41 5e                	pop    %r14
140281ea7:	41 5d                	pop    %r13
140281ea9:	41 5c                	pop    %r12
140281eab:	5f                   	pop    %rdi
140281eac:	c3                   	ret
140281ead:	e8 be 1e d8 ff       	call   0x140003d70
140281eb2:	cc                   	int3
140281eb3:	90                   	nop
140281eb4:	90                   	nop
140281eb5:	90                   	nop
140281eb6:	90                   	nop
140281eb7:	90                   	nop
140281eb8:	90                   	nop
140281eb9:	90                   	nop
140281eba:	90                   	nop
140281ebb:	90                   	nop
140281ebc:	90                   	nop
140281ebd:	90                   	nop
140281ebe:	90                   	nop
140281ebf:	90                   	nop
140281ec0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140281ec5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140281eca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140281ecf:	57                   	push   %rdi
140281ed0:	48 83 ec 20          	sub    $0x20,%rsp
140281ed4:	48 8b da             	mov    %rdx,%rbx
140281ed7:	48 8b f9             	mov    %rcx,%rdi
140281eda:	48 3b ca             	cmp    %rdx,%rcx
140281edd:	74 13                	je     0x140281ef2
140281edf:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140281ee3:	4c 2b 02             	sub    (%rdx),%r8
140281ee6:	48 8b 12             	mov    (%rdx),%rdx
140281ee9:	49 c1 f8 04          	sar    $0x4,%r8
140281eed:	e8 b2 00 db ff       	call   0x140031fa4
140281ef2:	0f b7 43 18          	movzwl 0x18(%rbx),%eax
140281ef6:	48 8d 53 20          	lea    0x20(%rbx),%rdx
140281efa:	48 8d 4f 20          	lea    0x20(%rdi),%rcx
140281efe:	66 89 47 18          	mov    %ax,0x18(%rdi)
140281f02:	48 3b ca             	cmp    %rdx,%rcx
140281f05:	74 21                	je     0x140281f28
140281f07:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140281f0b:	48 b8 b7 6d db b6 6d 	movabs $0x6db6db6db6db6db7,%rax
140281f12:	db b6 6d
140281f15:	4c 2b 02             	sub    (%rdx),%r8
140281f18:	48 8b 12             	mov    (%rdx),%rdx
140281f1b:	49 c1 f8 05          	sar    $0x5,%r8
140281f1f:	4c 0f af c0          	imul   %rax,%r8
140281f23:	e8 b8 fa ff ff       	call   0x1402819e0