140294e5c:	e8 0f ed ff ff       	call   0x140293b70
140294e61:	44 8b 46 04          	mov    0x4(%rsi),%r8d
140294e65:	41 8b c0             	mov    %r8d,%eax
140294e68:	8b 16                	mov    (%rsi),%edx
140294e6a:	d1 e8                	shr    $1,%eax
140294e6c:	33 c2                	xor    %edx,%eax
140294e6e:	25 55 55 55 55       	and    $0x55555555,%eax
140294e73:	33 d0                	xor    %eax,%edx
140294e75:	03 c0                	add    %eax,%eax
140294e77:	44 33 c0             	xor    %eax,%r8d
140294e7a:	8b c2                	mov    %edx,%eax
140294e7c:	c1 e8 08             	shr    $0x8,%eax
140294e7f:	41 33 c0             	xor    %r8d,%eax
140294e82:	25 ff 00 ff 00       	and    $0xff00ff,%eax
140294e87:	44 33 c0             	xor    %eax,%r8d
140294e8a:	c1 e0 08             	shl    $0x8,%eax
140294e8d:	33 d0                	xor    %eax,%edx
140294e8f:	41 8b c0             	mov    %r8d,%eax
140294e92:	c1 e8 02             	shr    $0x2,%eax
140294e95:	33 c2                	xor    %edx,%eax
140294e97:	25 33 33 33 33       	and    $0x33333333,%eax
140294e9c:	33 d0                	xor    %eax,%edx
140294e9e:	8d 04 85 00 00 00 00 	lea    0x0(,%rax,4),%eax
140294ea5:	44 33 c0             	xor    %eax,%r8d
140294ea8:	8b c2                	mov    %edx,%eax
140294eaa:	c1 e8 10             	shr    $0x10,%eax
140294ead:	41 33 c0             	xor    %r8d,%eax
140294eb0:	0f b7 c8             	movzwl %ax,%ecx
140294eb3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140294eb8:	44 33 c1             	xor    %ecx,%r8d
140294ebb:	c1 e1 10             	shl    $0x10,%ecx
140294ebe:	33 d1                	xor    %ecx,%edx
140294ec0:	41 8b c8             	mov    %r8d,%ecx
140294ec3:	c1 e9 04             	shr    $0x4,%ecx
140294ec6:	33 ca                	xor    %edx,%ecx
140294ec8:	81 e1 0f 0f 0f 0f    	and    $0xf0f0f0f,%ecx
140294ece:	8b c1                	mov    %ecx,%eax
140294ed0:	c1 e1 04             	shl    $0x4,%ecx
140294ed3:	33 c2                	xor    %edx,%eax
140294ed5:	41 33 c8             	xor    %r8d,%ecx
140294ed8:	89 06                	mov    %eax,(%rsi)
140294eda:	89 4e 04             	mov    %ecx,0x4(%rsi)
140294edd:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140294ee2:	48 83 c4 20          	add    $0x20,%rsp
140294ee6:	5f                   	pop    %rdi
140294ee7:	c3                   	ret
140294ee8:	cc                   	int3
140294ee9:	cc                   	int3
140294eea:	cc                   	int3
140294eeb:	cc                   	int3
140294eec:	cc                   	int3
140294eed:	cc                   	int3
140294eee:	cc                   	int3
140294eef:	cc                   	int3
140294ef0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140294ef5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140294efa:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140294eff:	56                   	push   %rsi
140294f00:	57                   	push   %rdi
140294f01:	41 54                	push   %r12
140294f03:	41 56                	push   %r14
140294f05:	41 57                	push   %r15
140294f07:	b8 30 00 00 00       	mov    $0x30,%eax
140294f0c:	e8 cf 56 06 00       	call   0x1402fa5e0
140294f11:	48 2b e0             	sub    %rax,%rsp
140294f14:	4c 8b a4 24 80 00 00 	mov    0x80(%rsp),%r12
140294f1b:	00
140294f1c:	41 8d 70 f8          	lea    -0x8(%r8),%esi
140294f20:	48 8b e9             	mov    %rcx,%rbp
140294f23:	48 8b da             	mov    %rdx,%rbx
140294f26:	41 0f b6 04 24       	movzbl (%r12),%eax
140294f2b:	45 0f b6 74 24 01    	movzbl 0x1(%r12),%r14d
140294f31:	45 0f b6 7c 24 04    	movzbl 0x4(%r12),%r15d
140294f37:	41 0f b6 4c 24 07    	movzbl 0x7(%r12),%ecx
140294f3d:	41 c1 e6 08          	shl    $0x8,%r14d
140294f41:	44 0b f0             	or     %eax,%r14d
140294f44:	c1 e1 08             	shl    $0x8,%ecx
140294f47:	41 0f b6 44 24 02    	movzbl 0x2(%r12),%eax
140294f4d:	c1 e0 10             	shl    $0x10,%eax
140294f50:	44 0b f0             	or     %eax,%r14d
140294f53:	41 0f b6 44 24 03    	movzbl 0x3(%r12),%eax
140294f59:	c1 e0 18             	shl    $0x18,%eax
140294f5c:	44 0b f0             	or     %eax,%r14d
140294f5f:	41 0f b6 44 24 05    	movzbl 0x5(%r12),%eax
140294f65:	c1 e0 08             	shl    $0x8,%eax
140294f68:	44 0b f8             	or     %eax,%r15d
140294f6b:	41 0f b6 44 24 06    	movzbl 0x6(%r12),%eax
140294f71:	0b c8                	or     %eax,%ecx
140294f73:	c1 e1 10             	shl    $0x10,%ecx
140294f76:	44 0b f9             	or     %ecx,%r15d
140294f79:	83 bc 24 88 00 00 00 	cmpl   $0x0,0x88(%rsp)
140294f80:	00
140294f81:	0f 84 d5 01 00 00    	je     0x14029515c
140294f87:	85 f6                	test   %esi,%esi
140294f89:	0f 88 d8 00 00 00    	js     0x140295067
140294f8f:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
140294f94:	41 8b f8             	mov    %r8d,%edi
140294f97:	48 c1 ef 03          	shr    $0x3,%rdi
140294f9b:	8b c7                	mov    %edi,%eax
140294f9d:	f7 d8                	neg    %eax
140294f9f:	8d 34 c6             	lea    (%rsi,%rax,8),%esi
140294fa2:	0f b6 55 00          	movzbl 0x0(%rbp),%edx
140294fa6:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140294fac:	0f b6 4d 04          	movzbl 0x4(%rbp),%ecx
140294fb0:	0f b6 45 01          	movzbl 0x1(%rbp),%eax
140294fb4:	c1 e0 08             	shl    $0x8,%eax
140294fb7:	0b d0                	or     %eax,%edx
140294fb9:	0f b6 45 02          	movzbl 0x2(%rbp),%eax
140294fbd:	c1 e0 10             	shl    $0x10,%eax
140294fc0:	0b d0                	or     %eax,%edx
140294fc2:	0f b6 45 03          	movzbl 0x3(%rbp),%eax
140294fc6:	c1 e0 18             	shl    $0x18,%eax
140294fc9:	0b d0                	or     %eax,%edx
140294fcb:	0f b6 45 05          	movzbl 0x5(%rbp),%eax
140294fcf:	c1 e0 08             	shl    $0x8,%eax
140294fd2:	41 33 d6             	xor    %r14d,%edx
140294fd5:	0b c8                	or     %eax,%ecx
140294fd7:	89 54 24 20          	mov    %edx,0x20(%rsp)
140294fdb:	0f b6 45 06          	movzbl 0x6(%rbp),%eax
140294fdf:	49 8b d4             	mov    %r12,%rdx
140294fe2:	c1 e0 10             	shl    $0x10,%eax
140294fe5:	0b c8                	or     %eax,%ecx
140294fe7:	0f b6 45 07          	movzbl 0x7(%rbp),%eax
140294feb:	c1 e0 18             	shl    $0x18,%eax
140294fee:	48 83 c5 08          	add    $0x8,%rbp
140294ff2:	0b c8                	or     %eax,%ecx
140294ff4:	41 33 cf             	xor    %r15d,%ecx
140294ff7:	89 4c 24 24          	mov    %ecx,0x24(%rsp)
140294ffb:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140295000:	e8 db d7 ff ff       	call   0x1402927e0
140295005:	44 8b 74 24 20       	mov    0x20(%rsp),%r14d
14029500a:	41 8b c6             	mov    %r14d,%eax
14029500d:	44 8b 7c 24 24       	mov    0x24(%rsp),%r15d
140295012:	c1 e8 08             	shr    $0x8,%eax
140295015:	44 88 33             	mov    %r14b,(%rbx)
140295018:	88 43 01             	mov    %al,0x1(%rbx)
14029501b:	41 8b c6             	mov    %r14d,%eax
14029501e:	c1 e8 10             	shr    $0x10,%eax
140295021:	88 43 02             	mov    %al,0x2(%rbx)
140295024:	41 8b c6             	mov    %r14d,%eax
140295027:	c1 e8 18             	shr    $0x18,%eax
14029502a:	88 43 03             	mov    %al,0x3(%rbx)
14029502d:	41 8b c7             	mov    %r15d,%eax
140295030:	c1 e8 08             	shr    $0x8,%eax
140295033:	88 43 05             	mov    %al,0x5(%rbx)
140295036:	41 8b c7             	mov    %r15d,%eax
140295039:	c1 e8 10             	shr    $0x10,%eax
14029503c:	88 43 06             	mov    %al,0x6(%rbx)
14029503f:	41 8b c7             	mov    %r15d,%eax
140295042:	c1 e8 18             	shr    $0x18,%eax
140295045:	88 43 07             	mov    %al,0x7(%rbx)
140295048:	44 88 7b 04          	mov    %r15b,0x4(%rbx)
14029504c:	48 83 c3 08          	add    $0x8,%rbx
140295050:	48 83 ef 01          	sub    $0x1,%rdi
140295054:	0f 85 48 ff ff ff    	jne    0x140294fa2
14029505a:	4c 8b a4 24 80 00 00 	mov    0x80(%rsp),%r12
140295061:	00
140295062:	4c 8b 4c 24 78       	mov    0x78(%rsp),%r9
140295067:	83 fe f8             	cmp    $0xfffffff8,%esi
14029506a:	0f 84 ce 02 00 00    	je     0x14029533e
140295070:	8d 46 08             	lea    0x8(%rsi),%eax
140295073:	83 c6 07             	add    $0x7,%esi
140295076:	48 63 c8             	movslq %eax,%rcx
140295079:	48 03 e9             	add    %rcx,%rbp
14029507c:	33 c9                	xor    %ecx,%ecx
14029507e:	8b d1                	mov    %ecx,%edx
140295080:	83 fe 07             	cmp    $0x7,%esi
140295083:	77 6a                	ja     0x1402950ef
140295085:	4c 8d 05 74 af d6 ff 	lea    -0x29508c(%rip),%r8        # 0x140000000
14029508c:	48 63 c6             	movslq %esi,%rax
14029508f:	41 8b 84 80 a4 53 29 	mov    0x2953a4(%r8,%rax,4),%eax
140295096:	00
140295097:	49 03 c0             	add    %r8,%rax
14029509a:	ff e0                	jmp    *%rax
14029509c:	0f b6 4d ff          	movzbl -0x1(%rbp),%ecx
1402950a0:	48 ff cd             	dec    %rbp
1402950a3:	c1 e1 18             	shl    $0x18,%ecx
1402950a6:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
1402950aa:	48 ff cd             	dec    %rbp
1402950ad:	c1 e0 10             	shl    $0x10,%eax
1402950b0:	0b c8                	or     %eax,%ecx
1402950b2:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
1402950b6:	48 ff cd             	dec    %rbp
1402950b9:	c1 e0 08             	shl    $0x8,%eax
1402950bc:	0b c8                	or     %eax,%ecx
1402950be:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
1402950c2:	48 ff cd             	dec    %rbp
1402950c5:	0b c8                	or     %eax,%ecx
1402950c7:	0f b6 55 ff          	movzbl -0x1(%rbp),%edx
1402950cb:	48 ff cd             	dec    %rbp
1402950ce:	c1 e2 18             	shl    $0x18,%edx
1402950d1:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
1402950d5:	48 ff cd             	dec    %rbp
1402950d8:	c1 e0 10             	shl    $0x10,%eax
1402950db:	0b d0                	or     %eax,%edx
1402950dd:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
1402950e1:	48 ff cd             	dec    %rbp
1402950e4:	c1 e0 08             	shl    $0x8,%eax
1402950e7:	0b d0                	or     %eax,%edx
1402950e9:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
1402950ed:	0b d0                	or     %eax,%edx
1402950ef:	41 33 d6             	xor    %r14d,%edx
1402950f2:	41 33 cf             	xor    %r15d,%ecx
1402950f5:	89 54 24 20          	mov    %edx,0x20(%rsp)
1402950f9:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1402950ff:	89 4c 24 24          	mov    %ecx,0x24(%rsp)
140295103:	49 8b d1             	mov    %r9,%rdx
140295106:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14029510b:	e8 d0 d6 ff ff       	call   0x1402927e0
140295110:	44 8b 74 24 20       	mov    0x20(%rsp),%r14d
140295115:	41 8b c6             	mov    %r14d,%eax
140295118:	44 8b 7c 24 24       	mov    0x24(%rsp),%r15d
14029511d:	c1 e8 08             	shr    $0x8,%eax
140295120:	44 88 33             	mov    %r14b,(%rbx)
140295123:	88 43 01             	mov    %al,0x1(%rbx)
140295126:	41 8b c6             	mov    %r14d,%eax
140295129:	c1 e8 10             	shr    $0x10,%eax
14029512c:	88 43 02             	mov    %al,0x2(%rbx)
14029512f:	41 8b c6             	mov    %r14d,%eax
140295132:	c1 e8 18             	shr    $0x18,%eax
140295135:	88 43 03             	mov    %al,0x3(%rbx)
140295138:	41 8b c7             	mov    %r15d,%eax
14029513b:	c1 e8 08             	shr    $0x8,%eax
14029513e:	88 43 05             	mov    %al,0x5(%rbx)
140295141:	41 8b c7             	mov    %r15d,%eax
140295144:	c1 e8 10             	shr    $0x10,%eax
140295147:	88 43 06             	mov    %al,0x6(%rbx)
14029514a:	41 8b c7             	mov    %r15d,%eax
14029514d:	c1 e8 18             	shr    $0x18,%eax
140295150:	88 43 07             	mov    %al,0x7(%rbx)
140295153:	44 88 7b 04          	mov    %r15b,0x4(%rbx)
140295157:	e9 e2 01 00 00       	jmp    0x14029533e
14029515c:	4c 89 6c 24 60       	mov    %r13,0x60(%rsp)
140295161:	85 f6                	test   %esi,%esi
140295163:	0f 88 e8 00 00 00    	js     0x140295251
140295169:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
14029516e:	45 8b e8             	mov    %r8d,%r13d
140295171:	49 c1 ed 03          	shr    $0x3,%r13
140295175:	41 8b c5             	mov    %r13d,%eax
140295178:	f7 d8                	neg    %eax
14029517a:	8d 34 c6             	lea    (%rsi,%rax,8),%esi
14029517d:	89 b4 24 88 00 00 00 	mov    %esi,0x88(%rsp)
140295184:	0f 1f 40 00          	nopl   0x0(%rax)
140295188:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14029518f:	00
140295190:	0f b6 45 01          	movzbl 0x1(%rbp),%eax
140295194:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140295199:	0f b6 75 00          	movzbl 0x0(%rbp),%esi
14029519d:	45 33 c0             	xor    %r8d,%r8d
1402951a0:	0f b6 7d 04          	movzbl 0x4(%rbp),%edi
1402951a4:	49 8b d4             	mov    %r12,%rdx
1402951a7:	c1 e0 08             	shl    $0x8,%eax
1402951aa:	0b f0                	or     %eax,%esi
1402951ac:	0f b6 45 02          	movzbl 0x2(%rbp),%eax
1402951b0:	c1 e0 10             	shl    $0x10,%eax
1402951b3:	0b f0                	or     %eax,%esi
1402951b5:	0f b6 45 03          	movzbl 0x3(%rbp),%eax
1402951b9:	c1 e0 18             	shl    $0x18,%eax
1402951bc:	0b f0                	or     %eax,%esi
1402951be:	0f b6 45 05          	movzbl 0x5(%rbp),%eax
1402951c2:	c1 e0 08             	shl    $0x8,%eax
1402951c5:	0b f8                	or     %eax,%edi
1402951c7:	89 74 24 20          	mov    %esi,0x20(%rsp)
1402951cb:	0f b6 45 06          	movzbl 0x6(%rbp),%eax
1402951cf:	c1 e0 10             	shl    $0x10,%eax
1402951d2:	0b f8                	or     %eax,%edi
1402951d4:	0f b6 45 07          	movzbl 0x7(%rbp),%eax
1402951d8:	c1 e0 18             	shl    $0x18,%eax
1402951db:	48 83 c5 08          	add    $0x8,%rbp
1402951df:	0b f8                	or     %eax,%edi
1402951e1:	89 7c 24 24          	mov    %edi,0x24(%rsp)
1402951e5:	e8 f6 d5 ff ff       	call   0x1402927e0
1402951ea:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
1402951ee:	8b 54 24 24          	mov    0x24(%rsp),%edx
1402951f2:	41 33 ce             	xor    %r14d,%ecx
1402951f5:	88 0b                	mov    %cl,(%rbx)
1402951f7:	41 33 d7             	xor    %r15d,%edx
1402951fa:	8b c1                	mov    %ecx,%eax
1402951fc:	88 53 04             	mov    %dl,0x4(%rbx)
1402951ff:	c1 e8 08             	shr    $0x8,%eax
140295202:	44 8b f6             	mov    %esi,%r14d
140295205:	88 43 01             	mov    %al,0x1(%rbx)
140295208:	44 8b ff             	mov    %edi,%r15d
14029520b:	8b c1                	mov    %ecx,%eax
14029520d:	c1 e9 18             	shr    $0x18,%ecx
140295210:	c1 e8 10             	shr    $0x10,%eax
140295213:	88 43 02             	mov    %al,0x2(%rbx)
140295216:	8b c2                	mov    %edx,%eax
140295218:	c1 e8 08             	shr    $0x8,%eax
14029521b:	88 43 05             	mov    %al,0x5(%rbx)
14029521e:	8b c2                	mov    %edx,%eax
140295220:	c1 e8 10             	shr    $0x10,%eax
140295223:	c1 ea 18             	shr    $0x18,%edx
140295226:	88 43 06             	mov    %al,0x6(%rbx)
140295229:	88 4b 03             	mov    %cl,0x3(%rbx)
14029522c:	88 53 07             	mov    %dl,0x7(%rbx)
14029522f:	48 83 c3 08          	add    $0x8,%rbx
140295233:	49 83 ed 01          	sub    $0x1,%r13
140295237:	0f 85 53 ff ff ff    	jne    0x140295190
14029523d:	4c 8b a4 24 80 00 00 	mov    0x80(%rsp),%r12
140295244:	00
140295245:	8b b4 24 88 00 00 00 	mov    0x88(%rsp),%esi
14029524c:	4c 8b 4c 24 78       	mov    0x78(%rsp),%r9
140295251:	83 fe f8             	cmp    $0xfffffff8,%esi
140295254:	0f 84 df 00 00 00    	je     0x140295339
14029525a:	0f b6 4d 07          	movzbl 0x7(%rbp),%ecx
14029525e:	45 33 c0             	xor    %r8d,%r8d
140295261:	0f b6 45 01          	movzbl 0x1(%rbp),%eax
140295265:	49 8b d1             	mov    %r9,%rdx
140295268:	0f b6 7d 00          	movzbl 0x0(%rbp),%edi
14029526c:	44 0f b6 6d 04       	movzbl 0x4(%rbp),%r13d
140295271:	c1 e0 08             	shl    $0x8,%eax
140295274:	0b f8                	or     %eax,%edi
140295276:	c1 e1 08             	shl    $0x8,%ecx
140295279:	0f b6 45 02          	movzbl 0x2(%rbp),%eax
14029527d:	c1 e0 10             	shl    $0x10,%eax
140295280:	0b f8                	or     %eax,%edi
140295282:	0f b6 45 03          	movzbl 0x3(%rbp),%eax
140295286:	c1 e0 18             	shl    $0x18,%eax
140295289:	0b f8                	or     %eax,%edi
14029528b:	0f b6 45 05          	movzbl 0x5(%rbp),%eax
14029528f:	c1 e0 08             	shl    $0x8,%eax
140295292:	44 0b e8             	or     %eax,%r13d
140295295:	89 7c 24 20          	mov    %edi,0x20(%rsp)
140295299:	0f b6 45 06          	movzbl 0x6(%rbp),%eax
14029529d:	0b c8                	or     %eax,%ecx
14029529f:	c1 e1 10             	shl    $0x10,%ecx
1402952a2:	44 0b e9             	or     %ecx,%r13d
1402952a5:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1402952aa:	44 89 6c 24 24       	mov    %r13d,0x24(%rsp)
1402952af:	e8 2c d5 ff ff       	call   0x1402927e0
1402952b4:	44 8b 4c 24 20       	mov    0x20(%rsp),%r9d
1402952b9:	8d 46 08             	lea    0x8(%rsi),%eax
1402952bc:	8b 54 24 24          	mov    0x24(%rsp),%edx
1402952c0:	45 33 ce             	xor    %r14d,%r9d
1402952c3:	48 63 c8             	movslq %eax,%rcx
1402952c6:	41 33 d7             	xor    %r15d,%edx
1402952c9:	48 03 d9             	add    %rcx,%rbx
1402952cc:	83 c6 07             	add    $0x7,%esi
1402952cf:	83 fe 07             	cmp    $0x7,%esi
1402952d2:	77 5f                	ja     0x140295333
1402952d4:	4c 8d 05 25 ad d6 ff 	lea    -0x2952db(%rip),%r8        # 0x140000000
1402952db:	48 63 c6             	movslq %esi,%rax
1402952de:	41 8b 84 80 c4 53 29 	mov    0x2953c4(%r8,%rax,4),%eax
1402952e5:	00
1402952e6:	49 03 c0             	add    %r8,%rax
1402952e9:	ff e0                	jmp    *%rax
1402952eb:	48 ff cb             	dec    %rbx
1402952ee:	8b c2                	mov    %edx,%eax
1402952f0:	c1 e8 18             	shr    $0x18,%eax