140d97edd:	d3 e2                	shl    %cl,%edx
140d97edf:	48 83 c1 08          	add    $0x8,%rcx
140d97ee3:	44 0b c2             	or     %edx,%r8d
140d97ee6:	48 83 f9 20          	cmp    $0x20,%rcx
140d97eea:	72 e4                	jb     0x140d97ed0
140d97eec:	44 89 43 30          	mov    %r8d,0x30(%rbx)
140d97ef0:	49 8b cb             	mov    %r11,%rcx
140d97ef3:	49 3b c1             	cmp    %r9,%rax
140d97ef6:	73 17                	jae    0x140d97f0f
140d97ef8:	42 0f b6 14 10       	movzbl (%rax,%r10,1),%edx
140d97efd:	48 ff c0             	inc    %rax
140d97f00:	d3 e2                	shl    %cl,%edx
140d97f02:	48 83 c1 08          	add    $0x8,%rcx
140d97f06:	44 0b da             	or     %edx,%r11d
140d97f09:	48 83 f9 20          	cmp    $0x20,%rcx
140d97f0d:	72 e4                	jb     0x140d97ef3
140d97f0f:	44 89 5b 34          	mov    %r11d,0x34(%rbx)
140d97f13:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140d97f18:	c3                   	ret
140d97f19:	cc                   	int3
140d97f1a:	cc                   	int3
140d97f1b:	cc                   	int3
140d97f1c:	cc                   	int3
140d97f1d:	cc                   	int3
140d97f1e:	cc                   	int3
140d97f1f:	cc                   	int3
140d97f20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d97f25:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140d97f2a:	55                   	push   %rbp
140d97f2b:	56                   	push   %rsi
140d97f2c:	57                   	push   %rdi
140d97f2d:	41 54                	push   %r12
140d97f2f:	41 55                	push   %r13
140d97f31:	41 56                	push   %r14
140d97f33:	41 57                	push   %r15
140d97f35:	b8 40 00 00 00       	mov    $0x40,%eax
140d97f3a:	e8 61 35 08 00       	call   0x140e1b4a0
140d97f3f:	48 2b e0             	sub    %rax,%rsp
140d97f42:	4c 8b a4 24 a0 00 00 	mov    0xa0(%rsp),%r12
140d97f49:	00
140d97f4a:	48 8b e9             	mov    %rcx,%rbp
140d97f4d:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140d97f54:	00
140d97f55:	48 8b da             	mov    %rdx,%rbx
140d97f58:	48 8d 50 01          	lea    0x1(%rax),%rdx
140d97f5c:	45 8b e8             	mov    %r8d,%r13d
140d97f5f:	44 0f b6 52 03       	movzbl 0x3(%rdx),%r10d
140d97f64:	4d 8b d9             	mov    %r9,%r11
140d97f67:	0f b6 4a 06          	movzbl 0x6(%rdx),%ecx
140d97f6b:	0f b6 38             	movzbl (%rax),%edi
140d97f6e:	0f b6 02             	movzbl (%rdx),%eax
140d97f71:	45 0f b6 74 24 01    	movzbl 0x1(%r12),%r14d
140d97f77:	45 0f b6 7c 24 04    	movzbl 0x4(%r12),%r15d
140d97f7d:	c1 e0 08             	shl    $0x8,%eax
140d97f80:	0b f8                	or     %eax,%edi
140d97f82:	c1 e1 08             	shl    $0x8,%ecx
140d97f85:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140d97f89:	c1 e0 10             	shl    $0x10,%eax
140d97f8c:	0b f8                	or     %eax,%edi
140d97f8e:	41 c1 e6 08          	shl    $0x8,%r14d
140d97f92:	0f b6 42 02          	movzbl 0x2(%rdx),%eax
140d97f96:	c1 e0 18             	shl    $0x18,%eax
140d97f99:	0b f8                	or     %eax,%edi
140d97f9b:	0f b6 42 04          	movzbl 0x4(%rdx),%eax
140d97f9f:	c1 e0 08             	shl    $0x8,%eax
140d97fa2:	44 0b d0             	or     %eax,%r10d
140d97fa5:	89 bc 24 90 00 00 00 	mov    %edi,0x90(%rsp)
140d97fac:	0f b6 42 05          	movzbl 0x5(%rdx),%eax
140d97fb0:	0b c8                	or     %eax,%ecx
140d97fb2:	48 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%rax
140d97fb9:	00
140d97fba:	44 0f b6 48 04       	movzbl 0x4(%rax),%r9d
140d97fbf:	48 8d 50 01          	lea    0x1(%rax),%rdx
140d97fc3:	c1 e1 10             	shl    $0x10,%ecx
140d97fc6:	44 0b d1             	or     %ecx,%r10d
140d97fc9:	0f b6 4a 06          	movzbl 0x6(%rdx),%ecx
140d97fcd:	44 0f b6 00          	movzbl (%rax),%r8d
140d97fd1:	0f b6 02             	movzbl (%rdx),%eax
140d97fd4:	c1 e0 08             	shl    $0x8,%eax
140d97fd7:	44 0b c0             	or     %eax,%r8d
140d97fda:	c1 e1 08             	shl    $0x8,%ecx
140d97fdd:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140d97fe1:	c1 e0 10             	shl    $0x10,%eax
140d97fe4:	44 0b c0             	or     %eax,%r8d
140d97fe7:	44 89 54 24 20       	mov    %r10d,0x20(%rsp)
140d97fec:	0f b6 42 02          	movzbl 0x2(%rdx),%eax
140d97ff0:	c1 e0 18             	shl    $0x18,%eax
140d97ff3:	44 0b c0             	or     %eax,%r8d
140d97ff6:	0f b6 42 04          	movzbl 0x4(%rdx),%eax
140d97ffa:	c1 e0 08             	shl    $0x8,%eax
140d97ffd:	44 0b c8             	or     %eax,%r9d
140d98000:	44 89 84 24 a8 00 00 	mov    %r8d,0xa8(%rsp)
140d98007:	00
140d98008:	0f b6 42 05          	movzbl 0x5(%rdx),%eax
140d9800c:	0b c8                	or     %eax,%ecx
140d9800e:	41 0f b6 04 24       	movzbl (%r12),%eax
140d98013:	44 0b f0             	or     %eax,%r14d
140d98016:	c1 e1 10             	shl    $0x10,%ecx
140d98019:	41 0f b6 44 24 02    	movzbl 0x2(%r12),%eax
140d9801f:	44 0b c9             	or     %ecx,%r9d
140d98022:	41 0f b6 4c 24 07    	movzbl 0x7(%r12),%ecx
140d98028:	c1 e0 10             	shl    $0x10,%eax
140d9802b:	44 0b f0             	or     %eax,%r14d
140d9802e:	c1 e1 08             	shl    $0x8,%ecx
140d98031:	41 0f b6 44 24 03    	movzbl 0x3(%r12),%eax
140d98037:	c1 e0 18             	shl    $0x18,%eax
140d9803a:	44 0b f0             	or     %eax,%r14d
140d9803d:	44 89 8c 24 b0 00 00 	mov    %r9d,0xb0(%rsp)
140d98044:	00
140d98045:	41 0f b6 44 24 05    	movzbl 0x5(%r12),%eax
140d9804b:	c1 e0 08             	shl    $0x8,%eax
140d9804e:	44 0b f8             	or     %eax,%r15d
140d98051:	41 0f b6 44 24 06    	movzbl 0x6(%r12),%eax
140d98057:	0b c8                	or     %eax,%ecx
140d98059:	c1 e1 10             	shl    $0x10,%ecx
140d9805c:	44 0b f9             	or     %ecx,%r15d
140d9805f:	83 bc 24 b8 00 00 00 	cmpl   $0x0,0xb8(%rsp)
140d98066:	00
140d98067:	0f 84 24 02 00 00    	je     0x140d98291
140d9806d:	41 8d 75 f8          	lea    -0x8(%r13),%esi
140d98071:	85 f6                	test   %esi,%esi
140d98073:	0f 88 10 01 00 00    	js     0x140d98189
140d98079:	44 8b a4 24 90 00 00 	mov    0x90(%rsp),%r12d
140d98080:	00
140d98081:	41 8b fd             	mov    %r13d,%edi
140d98084:	48 c1 ef 03          	shr    $0x3,%rdi
140d98088:	45 8b e9             	mov    %r9d,%r13d
140d9808b:	8b c7                	mov    %edi,%eax
140d9808d:	f7 d8                	neg    %eax
140d9808f:	8d 34 c6             	lea    (%rsi,%rax,8),%esi
140d98092:	89 b4 24 b8 00 00 00 	mov    %esi,0xb8(%rsp)
140d98099:	41 8b f0             	mov    %r8d,%esi
140d9809c:	0f 1f 40 00          	nopl   0x0(%rax)
140d980a0:	0f b6 55 00          	movzbl 0x0(%rbp),%edx
140d980a4:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140d980aa:	0f b6 4d 04          	movzbl 0x4(%rbp),%ecx
140d980ae:	0f b6 45 01          	movzbl 0x1(%rbp),%eax
140d980b2:	c1 e0 08             	shl    $0x8,%eax
140d980b5:	0b d0                	or     %eax,%edx
140d980b7:	0f b6 45 02          	movzbl 0x2(%rbp),%eax
140d980bb:	c1 e0 10             	shl    $0x10,%eax
140d980be:	0b d0                	or     %eax,%edx
140d980c0:	0f b6 45 03          	movzbl 0x3(%rbp),%eax
140d980c4:	c1 e0 18             	shl    $0x18,%eax
140d980c7:	0b d0                	or     %eax,%edx
140d980c9:	0f b6 45 05          	movzbl 0x5(%rbp),%eax
140d980cd:	c1 e0 08             	shl    $0x8,%eax
140d980d0:	41 33 d6             	xor    %r14d,%edx
140d980d3:	0b c8                	or     %eax,%ecx
140d980d5:	41 33 d4             	xor    %r12d,%edx
140d980d8:	0f b6 45 06          	movzbl 0x6(%rbp),%eax
140d980dc:	c1 e0 10             	shl    $0x10,%eax
140d980df:	0b c8                	or     %eax,%ecx
140d980e1:	89 54 24 28          	mov    %edx,0x28(%rsp)
140d980e5:	0f b6 45 07          	movzbl 0x7(%rbp),%eax
140d980e9:	49 8b d3             	mov    %r11,%rdx
140d980ec:	c1 e0 18             	shl    $0x18,%eax
140d980ef:	48 83 c5 08          	add    $0x8,%rbp
140d980f3:	0b c8                	or     %eax,%ecx
140d980f5:	41 33 cf             	xor    %r15d,%ecx
140d980f8:	41 33 ca             	xor    %r10d,%ecx
140d980fb:	89 4c 24 2c          	mov    %ecx,0x2c(%rsp)
140d980ff:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140d98104:	e8 a7 8d fa ff       	call   0x140d40eb0
140d98109:	44 8b 74 24 28       	mov    0x28(%rsp),%r14d
140d9810e:	44 8b 7c 24 2c       	mov    0x2c(%rsp),%r15d
140d98113:	44 33 f6             	xor    %esi,%r14d
140d98116:	44 8b 54 24 20       	mov    0x20(%rsp),%r10d
140d9811b:	45 33 fd             	xor    %r13d,%r15d
140d9811e:	4c 8b 9c 24 98 00 00 	mov    0x98(%rsp),%r11
140d98125:	00
140d98126:	41 8b c6             	mov    %r14d,%eax
140d98129:	c1 e8 08             	shr    $0x8,%eax
140d9812c:	44 88 33             	mov    %r14b,(%rbx)
140d9812f:	88 43 01             	mov    %al,0x1(%rbx)
140d98132:	41 8b c6             	mov    %r14d,%eax
140d98135:	c1 e8 10             	shr    $0x10,%eax
140d98138:	88 43 02             	mov    %al,0x2(%rbx)
140d9813b:	41 8b c6             	mov    %r14d,%eax
140d9813e:	c1 e8 18             	shr    $0x18,%eax
140d98141:	88 43 03             	mov    %al,0x3(%rbx)
140d98144:	41 8b c7             	mov    %r15d,%eax
140d98147:	c1 e8 08             	shr    $0x8,%eax
140d9814a:	88 43 05             	mov    %al,0x5(%rbx)
140d9814d:	41 8b c7             	mov    %r15d,%eax
140d98150:	c1 e8 10             	shr    $0x10,%eax
140d98153:	88 43 06             	mov    %al,0x6(%rbx)
140d98156:	41 8b c7             	mov    %r15d,%eax
140d98159:	c1 e8 18             	shr    $0x18,%eax
140d9815c:	88 43 07             	mov    %al,0x7(%rbx)
140d9815f:	44 88 7b 04          	mov    %r15b,0x4(%rbx)
140d98163:	48 83 c3 08          	add    $0x8,%rbx
140d98167:	48 83 ef 01          	sub    $0x1,%rdi
140d9816b:	0f 85 2f ff ff ff    	jne    0x140d980a0
140d98171:	4c 8b a4 24 a0 00 00 	mov    0xa0(%rsp),%r12
140d98178:	00
140d98179:	8b b4 24 b8 00 00 00 	mov    0xb8(%rsp),%esi
140d98180:	8b bc 24 90 00 00 00 	mov    0x90(%rsp),%edi
140d98187:	eb 03                	jmp    0x140d9818c
140d98189:	45 8b e9             	mov    %r9d,%r13d
140d9818c:	83 fe f8             	cmp    $0xfffffff8,%esi
140d9818f:	0f 84 2f 03 00 00    	je     0x140d984c4
140d98195:	8d 46 08             	lea    0x8(%rsi),%eax
140d98198:	83 c6 07             	add    $0x7,%esi
140d9819b:	48 63 c8             	movslq %eax,%rcx
140d9819e:	48 03 e9             	add    %rcx,%rbp
140d981a1:	33 c9                	xor    %ecx,%ecx
140d981a3:	8b d1                	mov    %ecx,%edx
140d981a5:	83 fe 07             	cmp    $0x7,%esi
140d981a8:	77 6a                	ja     0x140d98214
140d981aa:	4c 8d 0d 4f 7e 26 ff 	lea    -0xd981b1(%rip),%r9        # 0x140000000
140d981b1:	48 63 c6             	movslq %esi,%rax
140d981b4:	41 8b 84 81 2c 85 d9 	mov    0xd9852c(%r9,%rax,4),%eax
140d981bb:	00
140d981bc:	49 03 c1             	add    %r9,%rax
140d981bf:	ff e0                	jmp    *%rax
140d981c1:	0f b6 4d ff          	movzbl -0x1(%rbp),%ecx
140d981c5:	48 ff cd             	dec    %rbp
140d981c8:	c1 e1 18             	shl    $0x18,%ecx
140d981cb:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d981cf:	48 ff cd             	dec    %rbp
140d981d2:	c1 e0 10             	shl    $0x10,%eax
140d981d5:	0b c8                	or     %eax,%ecx
140d981d7:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d981db:	48 ff cd             	dec    %rbp
140d981de:	c1 e0 08             	shl    $0x8,%eax
140d981e1:	0b c8                	or     %eax,%ecx
140d981e3:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d981e7:	48 ff cd             	dec    %rbp
140d981ea:	0b c8                	or     %eax,%ecx
140d981ec:	0f b6 55 ff          	movzbl -0x1(%rbp),%edx
140d981f0:	48 ff cd             	dec    %rbp
140d981f3:	c1 e2 18             	shl    $0x18,%edx
140d981f6:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d981fa:	48 ff cd             	dec    %rbp
140d981fd:	c1 e0 10             	shl    $0x10,%eax
140d98200:	0b d0                	or     %eax,%edx
140d98202:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d98206:	48 ff cd             	dec    %rbp
140d98209:	c1 e0 08             	shl    $0x8,%eax
140d9820c:	0b d0                	or     %eax,%edx
140d9820e:	0f b6 45 ff          	movzbl -0x1(%rbp),%eax
140d98212:	0b d0                	or     %eax,%edx
140d98214:	41 33 d6             	xor    %r14d,%edx
140d98217:	41 33 cf             	xor    %r15d,%ecx
140d9821a:	33 d7                	xor    %edi,%edx
140d9821c:	41 33 ca             	xor    %r10d,%ecx
140d9821f:	89 54 24 28          	mov    %edx,0x28(%rsp)
140d98223:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140d98229:	89 4c 24 2c          	mov    %ecx,0x2c(%rsp)
140d9822d:	49 8b d3             	mov    %r11,%rdx
140d98230:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140d98235:	e8 76 8c fa ff       	call   0x140d40eb0
140d9823a:	44 8b 74 24 28       	mov    0x28(%rsp),%r14d
140d9823f:	44 33 b4 24 a8 00 00 	xor    0xa8(%rsp),%r14d
140d98246:	00
140d98247:	44 8b 7c 24 2c       	mov    0x2c(%rsp),%r15d
140d9824c:	41 8b c6             	mov    %r14d,%eax
140d9824f:	c1 e8 08             	shr    $0x8,%eax
140d98252:	45 33 fd             	xor    %r13d,%r15d
140d98255:	44 88 33             	mov    %r14b,(%rbx)
140d98258:	88 43 01             	mov    %al,0x1(%rbx)
140d9825b:	41 8b c6             	mov    %r14d,%eax
140d9825e:	c1 e8 10             	shr    $0x10,%eax
140d98261:	88 43 02             	mov    %al,0x2(%rbx)
140d98264:	41 8b c6             	mov    %r14d,%eax
140d98267:	c1 e8 18             	shr    $0x18,%eax
140d9826a:	88 43 03             	mov    %al,0x3(%rbx)
140d9826d:	41 8b c7             	mov    %r15d,%eax
140d98270:	c1 e8 08             	shr    $0x8,%eax
140d98273:	88 43 05             	mov    %al,0x5(%rbx)
140d98276:	41 8b c7             	mov    %r15d,%eax
140d98279:	c1 e8 10             	shr    $0x10,%eax
140d9827c:	88 43 06             	mov    %al,0x6(%rbx)
140d9827f:	41 8b c7             	mov    %r15d,%eax
140d98282:	c1 e8 18             	shr    $0x18,%eax
140d98285:	88 43 07             	mov    %al,0x7(%rbx)
140d98288:	44 88 7b 04          	mov    %r15b,0x4(%rbx)
140d9828c:	e9 33 02 00 00       	jmp    0x140d984c4
140d98291:	41 83 c5 f8          	add    $0xfffffff8,%r13d
140d98295:	45 85 ed             	test   %r13d,%r13d
140d98298:	0f 8e 21 01 00 00    	jle    0x140d983bf
140d9829e:	41 8d 45 ff          	lea    -0x1(%r13),%eax
140d982a2:	44 8b e7             	mov    %edi,%r12d
140d982a5:	c1 e8 03             	shr    $0x3,%eax
140d982a8:	ff c0                	inc    %eax
140d982aa:	8b c8                	mov    %eax,%ecx
140d982ac:	f7 d8                	neg    %eax
140d982ae:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140d982b3:	45 8d 6c c5 00       	lea    0x0(%r13,%rax,8),%r13d
140d982b8:	44 89 ac 24 b8 00 00 	mov    %r13d,0xb8(%rsp)
140d982bf:	00
140d982c0:	45 8b e8             	mov    %r8d,%r13d
140d982c3:	0f 1f 40 00          	nopl   0x0(%rax)
140d982c7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140d982ce:	00 00
140d982d0:	0f b6 45 01          	movzbl 0x1(%rbp),%eax
140d982d4:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140d982d9:	0f b6 75 00          	movzbl 0x0(%rbp),%esi
140d982dd:	45 33 c0             	xor    %r8d,%r8d
140d982e0:	0f b6 7d 04          	movzbl 0x4(%rbp),%edi
140d982e4:	49 8b d3             	mov    %r11,%rdx
140d982e7:	c1 e0 08             	shl    $0x8,%eax
140d982ea:	0b f0                	or     %eax,%esi
140d982ec:	0f b6 45 02          	movzbl 0x2(%rbp),%eax
140d982f0:	c1 e0 10             	shl    $0x10,%eax
140d982f3:	0b f0                	or     %eax,%esi
140d982f5:	0f b6 45 03          	movzbl 0x3(%rbp),%eax
140d982f9:	c1 e0 18             	shl    $0x18,%eax
140d982fc:	0b f0                	or     %eax,%esi
140d982fe:	8b c6                	mov    %esi,%eax
140d98300:	41 33 c5             	xor    %r13d,%eax
140d98303:	89 44 24 28          	mov    %eax,0x28(%rsp)
140d98307:	0f b6 45 05          	movzbl 0x5(%rbp),%eax
140d9830b:	c1 e0 08             	shl    $0x8,%eax
140d9830e:	0b f8                	or     %eax,%edi
140d98310:	0f b6 45 06          	movzbl 0x6(%rbp),%eax
140d98314:	c1 e0 10             	shl    $0x10,%eax
140d98317:	0b f8                	or     %eax,%edi
140d98319:	0f b6 45 07          	movzbl 0x7(%rbp),%eax
140d9831d:	c1 e0 18             	shl    $0x18,%eax
140d98320:	48 83 c5 08          	add    $0x8,%rbp
140d98324:	0b f8                	or     %eax,%edi
140d98326:	8b c7                	mov    %edi,%eax
140d98328:	41 33 c1             	xor    %r9d,%eax
140d9832b:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
140d9832f:	e8 7c 8b fa ff       	call   0x140d40eb0
140d98334:	8b 4c 24 28          	mov    0x28(%rsp),%ecx
140d98338:	8b 54 24 2c          	mov    0x2c(%rsp),%edx
140d9833c:	41 33 ce             	xor    %r14d,%ecx
140d9833f:	44 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%r9d
140d98346:	00
140d98347:	41 33 cc             	xor    %r12d,%ecx
140d9834a:	4c 8b 9c 24 98 00 00 	mov    0x98(%rsp),%r11
140d98351:	00
140d98352:	41 33 d7             	xor    %r15d,%edx
140d98355:	33 54 24 20          	xor    0x20(%rsp),%edx
140d98359:	8b c1                	mov    %ecx,%eax
140d9835b:	88 0b                	mov    %cl,(%rbx)
140d9835d:	44 8b f6             	mov    %esi,%r14d
140d98360:	c1 e8 08             	shr    $0x8,%eax
140d98363:	44 8b ff             	mov    %edi,%r15d
140d98366:	88 43 01             	mov    %al,0x1(%rbx)
140d98369:	8b c1                	mov    %ecx,%eax
140d9836b:	c1 e8 10             	shr    $0x10,%eax
140d9836e:	88 43 02             	mov    %al,0x2(%rbx)
140d98371:	8b c2                	mov    %edx,%eax
140d98373:	c1 e8 08             	shr    $0x8,%eax
140d98376:	88 43 05             	mov    %al,0x5(%rbx)
140d98379:	8b c2                	mov    %edx,%eax