140d4086e:	0f b7 c8             	movzwl %ax,%ecx
140d40871:	44 33 d9             	xor    %ecx,%r11d
140d40874:	c1 e1 10             	shl    $0x10,%ecx
140d40877:	44 33 d1             	xor    %ecx,%r10d
140d4087a:	41 8b c3             	mov    %r11d,%eax
140d4087d:	c1 e8 02             	shr    $0x2,%eax
140d40880:	41 33 c2             	xor    %r10d,%eax
140d40883:	25 33 33 33 33       	and    $0x33333333,%eax
140d40888:	44 33 d0             	xor    %eax,%r10d
140d4088b:	8d 04 85 00 00 00 00 	lea    0x0(,%rax,4),%eax
140d40892:	44 33 d8             	xor    %eax,%r11d
140d40895:	41 8b c2             	mov    %r10d,%eax
140d40898:	c1 e8 08             	shr    $0x8,%eax
140d4089b:	41 33 c3             	xor    %r11d,%eax
140d4089e:	25 ff 00 ff 00       	and    $0xff00ff,%eax
140d408a3:	44 33 d8             	xor    %eax,%r11d
140d408a6:	c1 e0 08             	shl    $0x8,%eax
140d408a9:	44 33 d0             	xor    %eax,%r10d
140d408ac:	41 8b cb             	mov    %r11d,%ecx
140d408af:	d1 e9                	shr    $1,%ecx
140d408b1:	41 33 ca             	xor    %r10d,%ecx
140d408b4:	81 e1 55 55 55 55    	and    $0x55555555,%ecx
140d408ba:	8b c1                	mov    %ecx,%eax
140d408bc:	41 33 c2             	xor    %r10d,%eax
140d408bf:	89 06                	mov    %eax,(%rsi)
140d408c1:	8d 04 09             	lea    (%rcx,%rcx,1),%eax
140d408c4:	48 8b ce             	mov    %rsi,%rcx
140d408c7:	41 33 c3             	xor    %r11d,%eax
140d408ca:	89 46 04             	mov    %eax,0x4(%rsi)
140d408cd:	e8 6e 19 00 00       	call   0x140d42240
140d408d2:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140d408d8:	48 8b d3             	mov    %rbx,%rdx
140d408db:	48 8b ce             	mov    %rsi,%rcx
140d408de:	e8 5d 19 00 00       	call   0x140d42240
140d408e3:	45 33 c0             	xor    %r8d,%r8d
140d408e6:	48 8b d7             	mov    %rdi,%rdx
140d408e9:	48 8b ce             	mov    %rsi,%rcx
140d408ec:	e8 4f 19 00 00       	call   0x140d42240
140d408f1:	44 8b 46 04          	mov    0x4(%rsi),%r8d
140d408f5:	41 8b c0             	mov    %r8d,%eax
140d408f8:	8b 16                	mov    (%rsi),%edx
140d408fa:	d1 e8                	shr    $1,%eax
140d408fc:	33 c2                	xor    %edx,%eax
140d408fe:	25 55 55 55 55       	and    $0x55555555,%eax
140d40903:	33 d0                	xor    %eax,%edx
140d40905:	03 c0                	add    %eax,%eax
140d40907:	44 33 c0             	xor    %eax,%r8d
140d4090a:	8b c2                	mov    %edx,%eax
140d4090c:	c1 e8 08             	shr    $0x8,%eax
140d4090f:	41 33 c0             	xor    %r8d,%eax
140d40912:	25 ff 00 ff 00       	and    $0xff00ff,%eax
140d40917:	44 33 c0             	xor    %eax,%r8d
140d4091a:	c1 e0 08             	shl    $0x8,%eax
140d4091d:	33 d0                	xor    %eax,%edx
140d4091f:	41 8b c0             	mov    %r8d,%eax
140d40922:	c1 e8 02             	shr    $0x2,%eax
140d40925:	33 c2                	xor    %edx,%eax
140d40927:	25 33 33 33 33       	and    $0x33333333,%eax
140d4092c:	33 d0                	xor    %eax,%edx
140d4092e:	8d 04 85 00 00 00 00 	lea    0x0(,%rax,4),%eax
140d40935:	44 33 c0             	xor    %eax,%r8d
140d40938:	8b c2                	mov    %edx,%eax
140d4093a:	c1 e8 10             	shr    $0x10,%eax
140d4093d:	41 33 c0             	xor    %r8d,%eax
140d40940:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140d40945:	0f b7 c8             	movzwl %ax,%ecx
140d40948:	44 33 c1             	xor    %ecx,%r8d
140d4094b:	c1 e1 10             	shl    $0x10,%ecx
140d4094e:	33 d1                	xor    %ecx,%edx
140d40950:	41 8b c8             	mov    %r8d,%ecx
140d40953:	c1 e9 04             	shr    $0x4,%ecx
140d40956:	33 ca                	xor    %edx,%ecx
140d40958:	81 e1 0f 0f 0f 0f    	and    $0xf0f0f0f,%ecx
140d4095e:	8b c1                	mov    %ecx,%eax
140d40960:	c1 e1 04             	shl    $0x4,%ecx
140d40963:	33 c2                	xor    %edx,%eax
140d40965:	41 33 c8             	xor    %r8d,%ecx
140d40968:	89 06                	mov    %eax,(%rsi)
140d4096a:	89 4e 04             	mov    %ecx,0x4(%rsi)
140d4096d:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140d40972:	48 83 c4 20          	add    $0x20,%rsp
140d40976:	5f                   	pop    %rdi
140d40977:	c3                   	ret
140d40978:	cc                   	int3
140d40979:	cc                   	int3
140d4097a:	cc                   	int3
140d4097b:	cc                   	int3
140d4097c:	cc                   	int3
140d4097d:	cc                   	int3
140d4097e:	cc                   	int3
140d4097f:	cc                   	int3
140d40980:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140d40985:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140d4098a:	55                   	push   %rbp
140d4098b:	56                   	push   %rsi
140d4098c:	57                   	push   %rdi
140d4098d:	41 54                	push   %r12
140d4098f:	41 55                	push   %r13
140d40991:	41 56                	push   %r14
140d40993:	41 57                	push   %r15
140d40995:	b8 20 00 00 00       	mov    $0x20,%eax
140d4099a:	e8 01 ab 0d 00       	call   0x140e1b4a0
140d4099f:	48 2b e0             	sub    %rax,%rsp
140d409a2:	4c 8b a4 24 90 00 00 	mov    0x90(%rsp),%r12
140d409a9:	00
140d409aa:	41 8d 70 f8          	lea    -0x8(%r8),%esi
140d409ae:	4c 8b 9c 24 80 00 00 	mov    0x80(%rsp),%r11
140d409b5:	00
140d409b6:	48 8b e9             	mov    %rcx,%rbp
140d409b9:	4d 8b d1             	mov    %r9,%r10
140d409bc:	48 8b da             	mov    %rdx,%rbx
140d409bf:	41 0f b6 04 24       	movzbl (%r12),%eax
140d409c4:	45 0f b6 74 24 01    	movzbl 0x1(%r12),%r14d
140d409ca:	45 0f b6 7c 24 04    	movzbl 0x4(%r12),%r15d
140d409d0:	41 0f b6 4c 24 07    	movzbl 0x7(%r12),%ecx
140d409d6:	41 c1 e6 08          	shl    $0x8,%r14d
140d409da:	44 0b f0             	or     %eax,%r14d
140d409dd:	c1 e1 08             	shl    $0x8,%ecx
140d409e0:	41 0f b6 44 24 02    	movzbl 0x2(%r12),%eax
140d409e6:	c1 e0 10             	shl    $0x10,%eax
140d409e9:	44 0b f0             	or     %eax,%r14d
140d409ec:	41 0f b6 44 24 03    	movzbl 0x3(%r12),%eax
140d409f2:	c1 e0 18             	shl    $0x18,%eax
140d409f5:	44 0b f0             	or     %eax,%r14d
140d409f8:	41 0f b6 44 24 05    	movzbl 0x5(%r12),%eax
140d409fe:	c1 e0 08             	shl    $0x8,%eax
140d40a01:	44 0b f8             	or     %eax,%r15d
140d40a04:	41 0f b6 44 24 06    	movzbl 0x6(%r12),%eax
140d40a0a:	0b c8                	or     %eax,%ecx
140d40a0c:	c1 e1 10             	shl    $0x10,%ecx
140d40a0f:	44 0b f9             	or     %ecx,%r15d
140d40a12:	83 bc 24 98 00 00 00 	cmpl   $0x0,0x98(%rsp)
140d40a19:	00
140d40a1a:	0f 84 f2 01 00 00    	je     0x140d40c12
140d40a20:	4c 8b ac 24 88 00 00 	mov    0x88(%rsp),%r13
140d40a27:	00
140d40a28:	85 f6                	test   %esi,%esi
140d40a2a:	0f 88 ed 00 00 00    	js     0x140d40b1d
140d40a30:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
140d40a35:	41 8b f8             	mov    %r8d,%edi
140d40a38:	48 c1 ef 03          	shr    $0x3,%rdi
140d40a3c:	8b c7                	mov    %edi,%eax
140d40a3e:	f7 d8                	neg    %eax
140d40a40:	8d 34 c6             	lea    (%rsi,%rax,8),%esi
140d40a43:	0f 1f 40 00          	nopl   0x0(%rax)
140d40a47:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140d40a4e:	00 00
140d40a50:	0f b6 55 00          	movzbl 0x0(%rbp),%edx
140d40a54:	4d 8b cd             	mov    %r13,%r9
140d40a57:	0f b6 4d 04          	movzbl 0x4(%rbp),%ecx
140d40a5b:	4d 8b c3             	mov    %r11,%r8
140d40a5e:	0f b6 45 01          	movzbl 0x1(%rbp),%eax
140d40a62:	c1 e0 08             	shl    $0x8,%eax
140d40a65:	0b d0                	or     %eax,%edx
140d40a67:	0f b6 45 02          	movzbl 0x2(%rbp),%eax
140d40a6b:	c1 e0 10             	shl    $0x10,%eax
140d40a6e:	0b d0                	or     %eax,%edx
140d40a70:	0f b6 45 03          	movzbl 0x3(%rbp),%eax
140d40a74:	c1 e0 18             	shl    $0x18,%eax
140d40a77:	0b d0                	or     %eax,%edx
140d40a79:	0f b6 45 05          	movzbl 0x5(%rbp),%eax
140d40a7d:	c1 e0 08             	shl    $0x8,%eax
140d40a80:	41 33 d6             	xor    %r14d,%edx
140d40a83:	0b c8                	or     %eax,%ecx
140d40a85:	89 54 24 60          	mov    %edx,0x60(%rsp)
140d40a89:	0f b6 45 06          	movzbl 0x6(%rbp),%eax
140d40a8d:	49 8b d4             	mov    %r12,%rdx
140d40a90:	c1 e0 10             	shl    $0x10,%eax
140d40a93:	0b c8                	or     %eax,%ecx
140d40a95:	0f b6 45 07          	movzbl 0x7(%rbp),%eax
140d40a99:	c1 e0 18             	shl    $0x18,%eax
140d40a9c:	48 83 c5 08          	add    $0x8,%rbp
140d40aa0:	0b c8                	or     %eax,%ecx
140d40aa2:	41 33 cf             	xor    %r15d,%ecx
140d40aa5:	89 4c 24 64          	mov    %ecx,0x64(%rsp)
140d40aa9:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140d40aae:	e8 ad 29 00 00       	call   0x140d43460
140d40ab3:	44 8b 74 24 60       	mov    0x60(%rsp),%r14d
140d40ab8:	41 8b c6             	mov    %r14d,%eax
140d40abb:	44 8b 7c 24 64       	mov    0x64(%rsp),%r15d
140d40ac0:	4c 8b 9c 24 80 00 00 	mov    0x80(%rsp),%r11
140d40ac7:	00
140d40ac8:	c1 e8 08             	shr    $0x8,%eax
140d40acb:	44 88 33             	mov    %r14b,(%rbx)
140d40ace:	88 43 01             	mov    %al,0x1(%rbx)
140d40ad1:	41 8b c6             	mov    %r14d,%eax
140d40ad4:	c1 e8 10             	shr    $0x10,%eax
140d40ad7:	88 43 02             	mov    %al,0x2(%rbx)
140d40ada:	41 8b c6             	mov    %r14d,%eax
140d40add:	c1 e8 18             	shr    $0x18,%eax
140d40ae0:	88 43 03             	mov    %al,0x3(%rbx)
140d40ae3:	41 8b c7             	mov    %r15d,%eax
140d40ae6:	c1 e8 08             	shr    $0x8,%eax
140d40ae9:	88 43 05             	mov    %al,0x5(%rbx)
140d40aec:	41 8b c7             	mov    %r15d,%eax
140d40aef:	c1 e8 10             	shr    $0x10,%eax
140d40af2:	88 43 06             	mov    %al,0x6(%rbx)
140d40af5:	41 8b c7             	mov    %r15d,%eax
140d40af8:	c1 e8 18             	shr    $0x18,%eax
140d40afb:	88 43 07             	mov    %al,0x7(%rbx)
140d40afe:	44 88 7b 04          	mov    %r15b,0x4(%rbx)
140d40b02:	48 83 c3 08          	add    $0x8,%rbx
140d40b06:	48 83 ef 01          	sub    $0x1,%rdi
140d40b0a:	0f 85 40 ff ff ff    	jne    0x140d40a50
140d40b10:	4c 8b a4 24 90 00 00 	mov    0x90(%rsp),%r12
140d40b17:	00
140d40b18:	4c 8b 54 24 78       	mov    0x78(%rsp),%r10
140d40b1d:	83 fe f8             	cmp    $0xfffffff8,%esi
140d40b20:	0f 84 d9 02 00 00    	je     0x140d40dff
140d40b26:	8d 46 08             	lea    0x8(%rsi),%eax
140d40b29:	83 c6 07             	add    $0x7,%esi
140d40b2c:	48 63 c8             	movslq %eax,%rcx
140d40b2f:	48 03 e9             	add    %rcx,%rbp
140d40b32:	33 c9                	xor    %ecx,%ecx
140d40b34:	8b d1                	mov    %ecx,%edx
140d40b36:	83 fe 07             	cmp    $0x7,%esi
140d40b39:	77 6a                	ja     0x140d40ba5
140d40b3b:	4c 8d 05 be f4 2b ff 	lea    -0xd40b42(%rip),%r8        # 0x140000000
140d40b42:	48 63 c6             	movslq %esi,%rax
140d40b45:	41 8b 84 80 64 0e d4 	mov    0xd40e64(%r8,%rax,4),%eax
140d40b4c:	00
140d40b4d:	49 03 c0             	add    %r8,%rax
140d40b50:	ff e0                	jmp    *%rax
140d40b52:	0f b6 4d ff          	movzbl -0x1(%rbp),%ecx
140d40b56:	48 ff cd             	dec    %rbp
140d40b59:	c1 e1 18             	shl    $0x18,%ecx
140d40b5c:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d40b60:	48 ff cd             	dec    %rbp
140d40b63:	c1 e0 10             	shl    $0x10,%eax
140d40b66:	0b c8                	or     %eax,%ecx
140d40b68:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d40b6c:	48 ff cd             	dec    %rbp
140d40b6f:	c1 e0 08             	shl    $0x8,%eax
140d40b72:	0b c8                	or     %eax,%ecx
140d40b74:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d40b78:	48 ff cd             	dec    %rbp
140d40b7b:	0b c8                	or     %eax,%ecx
140d40b7d:	0f b6 55 ff          	movzbl -0x1(%rbp),%edx
140d40b81:	48 ff cd             	dec    %rbp
140d40b84:	c1 e2 18             	shl    $0x18,%edx
140d40b87:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d40b8b:	48 ff cd             	dec    %rbp
140d40b8e:	c1 e0 10             	shl    $0x10,%eax
140d40b91:	0b d0                	or     %eax,%edx
140d40b93:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d40b97:	48 ff cd             	dec    %rbp
140d40b9a:	c1 e0 08             	shl    $0x8,%eax
140d40b9d:	0b d0                	or     %eax,%edx
140d40b9f:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d40ba3:	0b d0                	or     %eax,%edx
140d40ba5:	41 33 d6             	xor    %r14d,%edx
140d40ba8:	41 33 cf             	xor    %r15d,%ecx
140d40bab:	89 54 24 60          	mov    %edx,0x60(%rsp)
140d40baf:	4d 8b cd             	mov    %r13,%r9
140d40bb2:	89 4c 24 64          	mov    %ecx,0x64(%rsp)
140d40bb6:	49 8b d2             	mov    %r10,%rdx
140d40bb9:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140d40bbe:	4d 8b c3             	mov    %r11,%r8
140d40bc1:	e8 9a 28 00 00       	call   0x140d43460
140d40bc6:	44 8b 74 24 60       	mov    0x60(%rsp),%r14d
140d40bcb:	41 8b c6             	mov    %r14d,%eax
140d40bce:	44 8b 7c 24 64       	mov    0x64(%rsp),%r15d
140d40bd3:	c1 e8 08             	shr    $0x8,%eax
140d40bd6:	44 88 33             	mov    %r14b,(%rbx)
140d40bd9:	88 43 01             	mov    %al,0x1(%rbx)
140d40bdc:	41 8b c6             	mov    %r14d,%eax
140d40bdf:	c1 e8 10             	shr    $0x10,%eax
140d40be2:	88 43 02             	mov    %al,0x2(%rbx)
140d40be5:	41 8b c6             	mov    %r14d,%eax
140d40be8:	c1 e8 18             	shr    $0x18,%eax
140d40beb:	88 43 03             	mov    %al,0x3(%rbx)
140d40bee:	41 8b c7             	mov    %r15d,%eax
140d40bf1:	c1 e8 08             	shr    $0x8,%eax
140d40bf4:	88 43 05             	mov    %al,0x5(%rbx)
140d40bf7:	41 8b c7             	mov    %r15d,%eax
140d40bfa:	c1 e8 10             	shr    $0x10,%eax
140d40bfd:	88 43 06             	mov    %al,0x6(%rbx)
140d40c00:	41 8b c7             	mov    %r15d,%eax
140d40c03:	c1 e8 18             	shr    $0x18,%eax
140d40c06:	88 43 07             	mov    %al,0x7(%rbx)
140d40c09:	44 88 7b 04          	mov    %r15b,0x4(%rbx)
140d40c0d:	e9 ed 01 00 00       	jmp    0x140d40dff
140d40c12:	48 8b 94 24 88 00 00 	mov    0x88(%rsp),%rdx
140d40c19:	00
140d40c1a:	85 f6                	test   %esi,%esi
140d40c1c:	0f 88 f2 00 00 00    	js     0x140d40d14
140d40c22:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
140d40c27:	45 8b e8             	mov    %r8d,%r13d
140d40c2a:	49 c1 ed 03          	shr    $0x3,%r13
140d40c2e:	41 8b c5             	mov    %r13d,%eax
140d40c31:	f7 d8                	neg    %eax
140d40c33:	8d 34 c6             	lea    (%rsi,%rax,8),%esi
140d40c36:	89 b4 24 98 00 00 00 	mov    %esi,0x98(%rsp)
140d40c3d:	0f 1f 00             	nopl   (%rax)
140d40c40:	0f b6 45 01          	movzbl 0x1(%rbp),%eax
140d40c44:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140d40c49:	0f b6 75 00          	movzbl 0x0(%rbp),%esi
140d40c4d:	4c 8b ca             	mov    %rdx,%r9
140d40c50:	0f b6 7d 04          	movzbl 0x4(%rbp),%edi
140d40c54:	4d 8b c3             	mov    %r11,%r8
140d40c57:	c1 e0 08             	shl    $0x8,%eax
140d40c5a:	49 8b d4             	mov    %r12,%rdx
140d40c5d:	0b f0                	or     %eax,%esi
140d40c5f:	0f b6 45 02          	movzbl 0x2(%rbp),%eax
140d40c63:	c1 e0 10             	shl    $0x10,%eax
140d40c66:	0b f0                	or     %eax,%esi
140d40c68:	0f b6 45 03          	movzbl 0x3(%rbp),%eax
140d40c6c:	c1 e0 18             	shl    $0x18,%eax
140d40c6f:	0b f0                	or     %eax,%esi
140d40c71:	0f b6 45 05          	movzbl 0x5(%rbp),%eax
140d40c75:	c1 e0 08             	shl    $0x8,%eax
140d40c78:	0b f8                	or     %eax,%edi
140d40c7a:	89 74 24 60          	mov    %esi,0x60(%rsp)
140d40c7e:	0f b6 45 06          	movzbl 0x6(%rbp),%eax
140d40c82:	c1 e0 10             	shl    $0x10,%eax
140d40c85:	0b f8                	or     %eax,%edi
140d40c87:	0f b6 45 07          	movzbl 0x7(%rbp),%eax
140d40c8b:	c1 e0 18             	shl    $0x18,%eax
140d40c8e:	48 83 c5 08          	add    $0x8,%rbp
140d40c92:	0b f8                	or     %eax,%edi
140d40c94:	89 7c 24 64          	mov    %edi,0x64(%rsp)
140d40c98:	e8 83 fb ff ff       	call   0x140d40820
140d40c9d:	8b 54 24 64          	mov    0x64(%rsp),%edx
140d40ca1:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
140d40ca5:	41 33 d7             	xor    %r15d,%edx
140d40ca8:	4c 8b 9c 24 80 00 00 	mov    0x80(%rsp),%r11
140d40caf:	00
140d40cb0:	41 33 ce             	xor    %r14d,%ecx
140d40cb3:	88 0b                	mov    %cl,(%rbx)
140d40cb5:	8b c1                	mov    %ecx,%eax
140d40cb7:	c1 e8 08             	shr    $0x8,%eax
140d40cba:	44 8b f6             	mov    %esi,%r14d
140d40cbd:	88 43 01             	mov    %al,0x1(%rbx)
140d40cc0:	44 8b ff             	mov    %edi,%r15d
140d40cc3:	88 53 04             	mov    %dl,0x4(%rbx)
140d40cc6:	8b c1                	mov    %ecx,%eax
140d40cc8:	c1 e8 10             	shr    $0x10,%eax
140d40ccb:	88 43 02             	mov    %al,0x2(%rbx)
140d40cce:	8b c2                	mov    %edx,%eax
140d40cd0:	c1 e8 08             	shr    $0x8,%eax
140d40cd3:	88 43 05             	mov    %al,0x5(%rbx)
140d40cd6:	8b c2                	mov    %edx,%eax
140d40cd8:	c1 ea 18             	shr    $0x18,%edx
140d40cdb:	c1 e8 10             	shr    $0x10,%eax
140d40cde:	c1 e9 18             	shr    $0x18,%ecx
140d40ce1:	88 53 07             	mov    %dl,0x7(%rbx)
140d40ce4:	48 8b 94 24 88 00 00 	mov    0x88(%rsp),%rdx
140d40ceb:	00
140d40cec:	88 43 06             	mov    %al,0x6(%rbx)
140d40cef:	88 4b 03             	mov    %cl,0x3(%rbx)