140195efa:	03 d7                	add    %edi,%edx
140195efc:	4c 03 c8             	add    %rax,%r9
140195eff:	8b ca                	mov    %edx,%ecx
140195f01:	83 e1 3f             	and    $0x3f,%ecx
140195f04:	49 8b c0             	mov    %r8,%rax
140195f07:	48 d3 e0             	shl    %cl,%rax
140195f0a:	41 8b ca             	mov    %r10d,%ecx
140195f0d:	48 d3 e8             	shr    %cl,%rax
140195f10:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
140195f14:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140195f1a:	66 41 89 01          	mov    %ax,(%r9)
140195f1e:	44 0f b6 41 06       	movzbl 0x6(%rcx),%r8d
140195f23:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
140195f27:	44 03 c2             	add    %edx,%r8d
140195f2a:	4c 03 c8             	add    %rax,%r9
140195f2d:	41 8b c8             	mov    %r8d,%ecx
140195f30:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140195f35:	83 e1 3f             	and    $0x3f,%ecx
140195f38:	48 d3 e0             	shl    %cl,%rax
140195f3b:	41 8b ca             	mov    %r10d,%ecx
140195f3e:	48 d3 e8             	shr    %cl,%rax
140195f41:	49 8d 14 83          	lea    (%r11,%rax,4),%rdx
140195f45:	4c 89 4c 24 78       	mov    %r9,0x78(%rsp)
140195f4a:	0f b7 42 04          	movzwl 0x4(%rdx),%eax
140195f4e:	66 41 89 01          	mov    %ax,(%r9)
140195f52:	44 0f b6 4a 06       	movzbl 0x6(%rdx),%r9d
140195f57:	0f b6 42 07          	movzbl 0x7(%rdx),%eax
140195f5b:	45 03 c8             	add    %r8d,%r9d
140195f5e:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
140195f63:	41 8b c9             	mov    %r9d,%ecx
140195f66:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
140195f6b:	48 03 d0             	add    %rax,%rdx
140195f6e:	83 e1 3f             	and    $0x3f,%ecx
140195f71:	49 8b c0             	mov    %r8,%rax
140195f74:	48 d3 e0             	shl    %cl,%rax
140195f77:	41 8b ca             	mov    %r10d,%ecx
140195f7a:	44 8b 95 a8 00 00 00 	mov    0xa8(%rbp),%r10d
140195f81:	48 d3 e8             	shr    %cl,%rax
140195f84:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
140195f88:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140195f8e:	66 89 02             	mov    %ax,(%rdx)
140195f91:	0f b6 79 06          	movzbl 0x6(%rcx),%edi
140195f95:	41 03 f9             	add    %r9d,%edi
140195f98:	44 0f b6 49 07       	movzbl 0x7(%rcx),%r9d
140195f9d:	4c 03 ca             	add    %rdx,%r9
140195fa0:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
140195fa4:	e9 7f fe ff ff       	jmp    0x140195e28
140195fa9:	83 ff 40             	cmp    $0x40,%edi
140195fac:	76 0e                	jbe    0x140195fbc
140195fae:	4c 8d 2d cb f2 1a 00 	lea    0x1af2cb(%rip),%r13        # 0x140345280
140195fb5:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
140195fba:	eb 6f                	jmp    0x14019602b
140195fbc:	4c 3b 6d f8          	cmp    -0x8(%rbp),%r13
140195fc0:	72 1c                	jb     0x140195fde
140195fc2:	8b c7                	mov    %edi,%eax
140195fc4:	48 c1 e8 03          	shr    $0x3,%rax
140195fc8:	4c 2b e8             	sub    %rax,%r13
140195fcb:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
140195fd0:	83 e7 07             	and    $0x7,%edi
140195fd3:	49 8b 45 00          	mov    0x0(%r13),%rax
140195fd7:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140195fdc:	eb 4d                	jmp    0x14019602b
140195fde:	4c 3b ea             	cmp    %rdx,%r13
140195fe1:	74 48                	je     0x14019602b
140195fe3:	8b c7                	mov    %edi,%eax
140195fe5:	49 8b cd             	mov    %r13,%rcx
140195fe8:	c1 e8 03             	shr    $0x3,%eax
140195feb:	48 2b c8             	sub    %rax,%rcx
140195fee:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140195ff3:	48 3b ca             	cmp    %rdx,%rcx
140195ff6:	73 07                	jae    0x140195fff
140195ff8:	49 8b cd             	mov    %r13,%rcx
140195ffb:	2b ca                	sub    %edx,%ecx
140195ffd:	eb 05                	jmp    0x140196004
140195fff:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140196004:	8b c1                	mov    %ecx,%eax
140196006:	4c 2b e8             	sub    %rax,%r13
140196009:	6b c1 f8             	imul   $0xfffffff8,%ecx,%eax
14019600c:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
140196011:	03 f8                	add    %eax,%edi
140196013:	49 8b 45 00          	mov    0x0(%r13),%rax
140196017:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14019601c:	eb 09                	jmp    0x140196027
14019601e:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
140196022:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140196027:	48 8b 4d 98          	mov    -0x68(%rbp),%rcx
14019602b:	48 8b c1             	mov    %rcx,%rax
14019602e:	49 2b c1             	sub    %r9,%rax
140196031:	48 83 f8 02          	cmp    $0x2,%rax
140196035:	0f 82 62 01 00 00    	jb     0x14019619d
14019603b:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
140196040:	48 83 c1 fe          	add    $0xfffffffffffffffe,%rcx
140196044:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
140196049:	4c 8b e1             	mov    %rcx,%r12
14019604c:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140196052:	83 ff 40             	cmp    $0x40,%edi
140196055:	76 11                	jbe    0x140196068
140196057:	4c 8d 2d 22 f2 1a 00 	lea    0x1af222(%rip),%r13        # 0x140345280
14019605e:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
140196065:	00
140196066:	eb 70                	jmp    0x1401960d8
140196068:	4c 3b 6d f8          	cmp    -0x8(%rbp),%r13
14019606c:	72 16                	jb     0x140196084
14019606e:	8b c7                	mov    %edi,%eax
140196070:	48 c1 e8 03          	shr    $0x3,%rax
140196074:	4c 2b e8             	sub    %rax,%r13
140196077:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
14019607e:	00
14019607f:	83 e7 07             	and    $0x7,%edi
140196082:	eb 50                	jmp    0x1401960d4
140196084:	4c 3b ea             	cmp    %rdx,%r13
140196087:	75 19                	jne    0x1401960a2
140196089:	41 8b d2             	mov    %r10d,%edx
14019608c:	83 ff 40             	cmp    $0x40,%edi
14019608f:	73 07                	jae    0x140196098
140196091:	44 89 44 24 20       	mov    %r8d,0x20(%rsp)
140196096:	eb 43                	jmp    0x1401960db
140196098:	c7 44 24 20 02 00 00 	movl   $0x2,0x20(%rsp)
14019609f:	00
1401960a0:	eb 39                	jmp    0x1401960db
1401960a2:	8b d7                	mov    %edi,%edx
1401960a4:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
1401960ab:	00
1401960ac:	c1 ea 03             	shr    $0x3,%edx
1401960af:	49 8b cd             	mov    %r13,%rcx
1401960b2:	8b c2                	mov    %edx,%eax
1401960b4:	48 2b c8             	sub    %rax,%rcx
1401960b7:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
1401960bb:	48 3b c8             	cmp    %rax,%rcx
1401960be:	73 0a                	jae    0x1401960ca
1401960c0:	49 8b d5             	mov    %r13,%rdx
1401960c3:	44 89 44 24 20       	mov    %r8d,0x20(%rsp)
1401960c8:	2b d0                	sub    %eax,%edx
1401960ca:	8b c2                	mov    %edx,%eax
1401960cc:	4c 2b e8             	sub    %rax,%r13
1401960cf:	6b c2 f8             	imul   $0xfffffff8,%edx,%eax
1401960d2:	03 f8                	add    %eax,%edi
1401960d4:	4d 8b 7d 00          	mov    0x0(%r13),%r15
1401960d8:	41 8b d2             	mov    %r10d,%edx
1401960db:	33 c9                	xor    %ecx,%ecx
1401960dd:	f7 da                	neg    %edx
1401960df:	4d 3b cc             	cmp    %r12,%r9
1401960e2:	0f 96 c1             	setbe  %cl
1401960e5:	33 c0                	xor    %eax,%eax
1401960e7:	39 44 24 20          	cmp    %eax,0x20(%rsp)
1401960eb:	0f 94 c0             	sete   %al
1401960ee:	85 c8                	test   %ecx,%eax
1401960f0:	74 3a                	je     0x14019612c
1401960f2:	8b cf                	mov    %edi,%ecx
1401960f4:	49 8b d7             	mov    %r15,%rdx
1401960f7:	83 e1 3f             	and    $0x3f,%ecx
1401960fa:	48 d3 e2             	shl    %cl,%rdx
1401960fd:	41 8b ca             	mov    %r10d,%ecx
140196100:	f7 d9                	neg    %ecx
140196102:	83 e1 3f             	and    $0x3f,%ecx
140196105:	48 d3 ea             	shr    %cl,%rdx
140196108:	41 0f b7 44 93 04    	movzwl 0x4(%r11,%rdx,4),%eax
14019610e:	66 41 89 01          	mov    %ax,(%r9)
140196112:	41 0f b6 44 93 06    	movzbl 0x6(%r11,%rdx,4),%eax
140196118:	03 f8                	add    %eax,%edi
14019611a:	41 0f b6 44 93 07    	movzbl 0x7(%r11,%rdx,4),%eax
140196120:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
140196124:	4c 03 c8             	add    %rax,%r9
140196127:	e9 26 ff ff ff       	jmp    0x140196052
14019612c:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140196131:	4d 3b cc             	cmp    %r12,%r9
140196134:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
140196139:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
14019613e:	4c 8b 7d 88          	mov    -0x78(%rbp),%r15
140196142:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
140196147:	77 54                	ja     0x14019619d
140196149:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
14019614e:	83 e2 3f             	and    $0x3f,%edx
140196151:	89 54 24 70          	mov    %edx,0x70(%rsp)
140196155:	44 8b 6c 24 70       	mov    0x70(%rsp),%r13d
14019615a:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
14019615f:	90                   	nop
140196160:	8b cf                	mov    %edi,%ecx
140196162:	48 8b c2             	mov    %rdx,%rax
140196165:	83 e1 3f             	and    $0x3f,%ecx
140196168:	48 d3 e0             	shl    %cl,%rax
14019616b:	41 8b cd             	mov    %r13d,%ecx
14019616e:	48 d3 e8             	shr    %cl,%rax
140196171:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
140196175:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
14019617b:	66 41 89 01          	mov    %ax,(%r9)
14019617f:	0f b6 41 06          	movzbl 0x6(%rcx),%eax
140196183:	03 f8                	add    %eax,%edi
140196185:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
140196189:	4c 03 c8             	add    %rax,%r9
14019618c:	4d 3b cc             	cmp    %r12,%r9
14019618f:	76 cf                	jbe    0x140196160
140196191:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
140196196:	4c 8b 6c 24 38       	mov    0x38(%rsp),%r13
14019619b:	eb 05                	jmp    0x1401961a2
14019619d:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
1401961a2:	4c 3b 4d 98          	cmp    -0x68(%rbp),%r9
1401961a6:	73 46                	jae    0x1401961ee
1401961a8:	8b cf                	mov    %edi,%ecx
1401961aa:	83 e1 3f             	and    $0x3f,%ecx
1401961ad:	48 d3 e2             	shl    %cl,%rdx
1401961b0:	41 8b ca             	mov    %r10d,%ecx
1401961b3:	f7 d9                	neg    %ecx
1401961b5:	83 e1 3f             	and    $0x3f,%ecx
1401961b8:	48 d3 ea             	shr    %cl,%rdx
1401961bb:	41 0f b6 44 93 04    	movzbl 0x4(%r11,%rdx,4),%eax
1401961c1:	41 88 01             	mov    %al,(%r9)
1401961c4:	41 80 7c 93 07 01    	cmpb   $0x1,0x7(%r11,%rdx,4)
1401961ca:	75 0a                	jne    0x1401961d6
1401961cc:	41 0f b6 44 93 06    	movzbl 0x6(%r11,%rdx,4),%eax
1401961d2:	03 f8                	add    %eax,%edi
1401961d4:	eb 18                	jmp    0x1401961ee
1401961d6:	83 ff 40             	cmp    $0x40,%edi
1401961d9:	73 13                	jae    0x1401961ee
1401961db:	41 0f b6 44 93 06    	movzbl 0x6(%r11,%rdx,4),%eax
1401961e1:	03 f8                	add    %eax,%edi
1401961e3:	b8 40 00 00 00       	mov    $0x40,%eax
1401961e8:	83 ff 40             	cmp    $0x40,%edi
1401961eb:	0f 47 f8             	cmova  %eax,%edi
1401961ee:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
1401961f2:	4c 8b 4c 24 68       	mov    0x68(%rsp),%r9
1401961f7:	48 8b c1             	mov    %rcx,%rax
1401961fa:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1401961fe:	49 2b c1             	sub    %r9,%rax
140196201:	48 83 f8 08          	cmp    $0x8,%rax
140196205:	0f 82 75 03 00 00    	jb     0x140196580
14019620b:	41 83 fa 0b          	cmp    $0xb,%r10d
14019620f:	0f 87 d2 01 00 00    	ja     0x1401963e7
140196215:	83 fb 40             	cmp    $0x40,%ebx
140196218:	76 16                	jbe    0x140196230
14019621a:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
14019621f:	4c 8d 25 5a f0 1a 00 	lea    0x1af05a(%rip),%r12        # 0x140345280
140196226:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
14019622d:	00
14019622e:	eb 77                	jmp    0x1401962a7
140196230:	4c 3b 65 20          	cmp    0x20(%rbp),%r12
140196234:	72 16                	jb     0x14019624c
140196236:	8b c3                	mov    %ebx,%eax
140196238:	48 c1 e8 03          	shr    $0x3,%rax
14019623c:	4c 2b e0             	sub    %rax,%r12
14019623f:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
140196246:	00
140196247:	83 e3 07             	and    $0x7,%ebx
14019624a:	eb 52                	jmp    0x14019629e
14019624c:	4c 3b e2             	cmp    %rdx,%r12
14019624f:	75 13                	jne    0x140196264
140196251:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140196256:	83 fb 40             	cmp    $0x40,%ebx
140196259:	1b c0                	sbb    %eax,%eax
14019625b:	83 c0 02             	add    $0x2,%eax
14019625e:	89 44 24 20          	mov    %eax,0x20(%rsp)
140196262:	eb 48                	jmp    0x1401962ac
140196264:	4c 8b 45 18          	mov    0x18(%rbp),%r8
140196268:	8b d3                	mov    %ebx,%edx
14019626a:	c1 ea 03             	shr    $0x3,%edx
14019626d:	49 8b cc             	mov    %r12,%rcx
140196270:	8b c2                	mov    %edx,%eax
140196272:	48 2b c8             	sub    %rax,%rcx
140196275:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
14019627c:	00
14019627d:	49 3b c8             	cmp    %r8,%rcx
140196280:	73 0e                	jae    0x140196290
140196282:	49 8b d4             	mov    %r12,%rdx
140196285:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
14019628c:	00
14019628d:	41 2b d0             	sub    %r8d,%edx
140196290:	8b c2                	mov    %edx,%eax
140196292:	4c 2b e0             	sub    %rax,%r12
140196295:	6b c2 f8             	imul   $0xfffffff8,%edx,%eax
140196298:	48 8b 55 18          	mov    0x18(%rbp),%rdx
14019629c:	03 d8                	add    %eax,%ebx
14019629e:	4d 8b 04 24          	mov    (%r12),%r8
1401962a2:	4c 89 44 24 50       	mov    %r8,0x50(%rsp)
1401962a7:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1401962ac:	48 8b 45 a0          	mov    -0x60(%rbp),%rax
1401962b0:	33 c9                	xor    %ecx,%ecx
1401962b2:	4c 8b 7d 88          	mov    -0x78(%rbp),%r15
1401962b6:	48 83 c0 f7          	add    $0xfffffffffffffff7,%rax
1401962ba:	4c 3b c8             	cmp    %rax,%r9
1401962bd:	0f 92 c1             	setb   %cl
1401962c0:	33 c0                	xor    %eax,%eax
1401962c2:	39 44 24 20          	cmp    %eax,0x20(%rsp)
1401962c6:	0f 94 c0             	sete   %al
1401962c9:	85 c8                	test   %ecx,%eax
1401962cb:	0f 84 24 03 00 00    	je     0x1401965f5
1401962d1:	49 8b c0             	mov    %r8,%rax
1401962d4:	8b cb                	mov    %ebx,%ecx
1401962d6:	83 e1 3f             	and    $0x3f,%ecx
1401962d9:	41 f7 da             	neg    %r10d
1401962dc:	48 d3 e0             	shl    %cl,%rax
1401962df:	41 83 e2 3f          	and    $0x3f,%r10d
1401962e3:	41 8b ca             	mov    %r10d,%ecx
1401962e6:	48 d3 e8             	shr    %cl,%rax
1401962e9:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
1401962ed:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
1401962f3:	66 41 89 01          	mov    %ax,(%r9)
1401962f7:	0f b6 51 06          	movzbl 0x6(%rcx),%edx
1401962fb:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
1401962ff:	03 d3                	add    %ebx,%edx
140196301:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140196306:	4c 03 c8             	add    %rax,%r9
140196309:	49 8b c0             	mov    %r8,%rax
14019630c:	8b ca                	mov    %edx,%ecx
14019630e:	83 e1 3f             	and    $0x3f,%ecx
140196311:	48 d3 e0             	shl    %cl,%rax
140196314:	41 8b ca             	mov    %r10d,%ecx
140196317:	48 d3 e8             	shr    %cl,%rax
14019631a:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
14019631e:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140196324:	66 41 89 01          	mov    %ax,(%r9)
140196328:	44 0f b6 41 06       	movzbl 0x6(%rcx),%r8d
14019632d:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
140196331:	44 03 c2             	add    %edx,%r8d
140196334:	4c 03 c8             	add    %rax,%r9
140196337:	41 8b c8             	mov    %r8d,%ecx
14019633a:	83 e1 3f             	and    $0x3f,%ecx
14019633d:	4c 89 4c 24 68       	mov    %r9,0x68(%rsp)
140196342:	48 8b c3             	mov    %rbx,%rax
140196345:	48 d3 e0             	shl    %cl,%rax
140196348:	41 8b ca             	mov    %r10d,%ecx
14019634b:	48 d3 e8             	shr    %cl,%rax
14019634e:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
140196352:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140196358:	66 41 89 01          	mov    %ax,(%r9)
14019635c:	44 0f b6 49 06       	movzbl 0x6(%rcx),%r9d
140196361:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
140196365:	45 03 c8             	add    %r8d,%r9d
140196368:	4c 8b 44 24 68       	mov    0x68(%rsp),%r8
14019636d:	41 8b c9             	mov    %r9d,%ecx
140196370:	4c 03 c0             	add    %rax,%r8
140196373:	83 e1 3f             	and    $0x3f,%ecx
140196376:	48 8b c3             	mov    %rbx,%rax
140196379:	4c 89 44 24 68       	mov    %r8,0x68(%rsp)
14019637e:	48 d3 e0             	shl    %cl,%rax
140196381:	41 8b ca             	mov    %r10d,%ecx
140196384:	48 d3 e8             	shr    %cl,%rax
140196387:	49 8d 14 83          	lea    (%r11,%rax,4),%rdx
14019638b:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140196391:	66 41 89 00          	mov    %ax,(%r8)
140196395:	0f b6 42 07          	movzbl 0x7(%rdx),%eax
140196399:	44 0f b6 42 06       	movzbl 0x6(%rdx),%r8d
14019639e:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1401963a2:	45 03 c1             	add    %r9d,%r8d
1401963a5:	4c 8b 4c 24 68       	mov    0x68(%rsp),%r9
1401963aa:	41 8b c8             	mov    %r8d,%ecx
1401963ad:	4c 03 c8             	add    %rax,%r9
1401963b0:	83 e1 3f             	and    $0x3f,%ecx
1401963b3:	48 8b c3             	mov    %rbx,%rax
1401963b6:	48 d3 e0             	shl    %cl,%rax
1401963b9:	41 8b ca             	mov    %r10d,%ecx