140039080:	44 89 5c 24 58       	mov    %r11d,0x58(%rsp)
140039085:	45 1b ff             	sbb    %r15d,%r15d
140039088:	44 89 5c 24 60       	mov    %r11d,0x60(%rsp)
14003908d:	45 23 f8             	and    %r8d,%r15d
140039090:	45 8b f3             	mov    %r11d,%r14d
140039093:	44 89 7c 24 54       	mov    %r15d,0x54(%rsp)
140039098:	48 85 c9             	test   %rcx,%rcx
14003909b:	0f 84 64 04 00 00    	je     0x140039505
1400390a1:	48 85 d2             	test   %rdx,%rdx
1400390a4:	75 09                	jne    0x1400390af
1400390a6:	4d 85 c9             	test   %r9,%r9
1400390a9:	0f 84 56 04 00 00    	je     0x140039505
1400390af:	44 0f b6 21          	movzbl (%rcx),%r12d
1400390b3:	48 8d 79 01          	lea    0x1(%rcx),%rdi
1400390b7:	8a 94 24 20 01 00 00 	mov    0x120(%rsp),%dl
1400390be:	45 84 e4             	test   %r12b,%r12b
1400390c1:	79 0c                	jns    0x1400390cf
1400390c3:	41 8b f4             	mov    %r12d,%esi
1400390c6:	44 8a e2             	mov    %dl,%r12b
1400390c9:	0f ba f6 07          	btr    $0x7,%esi
1400390cd:	eb 15                	jmp    0x1400390e4
1400390cf:	41 f6 c4 40          	test   $0x40,%r12b
1400390d3:	74 09                	je     0x1400390de
1400390d5:	0f b7 37             	movzwl (%rdi),%esi
1400390d8:	48 83 c7 02          	add    $0x2,%rdi
1400390dc:	eb 06                	jmp    0x1400390e4
1400390de:	0f b6 37             	movzbl (%rdi),%esi
1400390e1:	48 ff c7             	inc    %rdi
1400390e4:	48 8b ef             	mov    %rdi,%rbp
1400390e7:	41 f6 c4 30          	test   $0x30,%r12b
1400390eb:	0f 84 9e 00 00 00    	je     0x14003918f
1400390f1:	41 f6 c4 10          	test   $0x10,%r12b
1400390f5:	74 0a                	je     0x140039101
1400390f7:	44 0f b7 1f          	movzwl (%rdi),%r11d
1400390fb:	48 83 c7 02          	add    $0x2,%rdi
1400390ff:	eb 07                	jmp    0x140039108
140039101:	44 0f b6 1f          	movzbl (%rdi),%r11d
140039105:	48 ff c7             	inc    %rdi
140039108:	44 89 5c 24 58       	mov    %r11d,0x58(%rsp)
14003910d:	45 85 ff             	test   %r15d,%r15d
140039110:	7e 7a                	jle    0x14003918c
140039112:	0f ae e8             	lfence
140039115:	8a 84 24 40 01 00 00 	mov    0x140(%rsp),%al
14003911c:	41 8d 5b 01          	lea    0x1(%r11),%ebx
140039120:	4c 89 54 24 48       	mov    %r10,0x48(%rsp)
140039125:	44 3b fb             	cmp    %ebx,%r15d
140039128:	88 44 24 40          	mov    %al,0x40(%rsp)
14003912c:	8a 84 24 38 01 00 00 	mov    0x138(%rsp),%al
140039133:	41 0f 4c df          	cmovl  %r15d,%ebx
140039137:	88 44 24 38          	mov    %al,0x38(%rsp)
14003913b:	45 33 c9             	xor    %r9d,%r9d
14003913e:	8a 84 24 30 01 00 00 	mov    0x130(%rsp),%al
140039145:	44 8b c3             	mov    %ebx,%r8d
140039148:	88 44 24 30          	mov    %al,0x30(%rsp)
14003914c:	8a 84 24 28 01 00 00 	mov    0x128(%rsp),%al
140039153:	88 44 24 28          	mov    %al,0x28(%rsp)
140039157:	88 54 24 20          	mov    %dl,0x20(%rsp)
14003915b:	49 8b d5             	mov    %r13,%rdx
14003915e:	8b ce                	mov    %esi,%ecx
140039160:	48 03 cd             	add    %rbp,%rcx
140039163:	e8 d4 fe ff ff       	call   0x14003903c
140039168:	4c 8b 54 24 68       	mov    0x68(%rsp),%r10
14003916d:	8d 43 ff             	lea    -0x1(%rbx),%eax
140039170:	4c 8b 4c 24 70       	mov    0x70(%rsp),%r9
140039175:	48 63 c8             	movslq %eax,%rcx
140039178:	b8 01 00 00 00       	mov    $0x1,%eax
14003917d:	2b c3                	sub    %ebx,%eax
14003917f:	44 03 f8             	add    %eax,%r15d
140039182:	44 89 7c 24 54       	mov    %r15d,0x54(%rsp)
140039187:	4d 8d 6c 4d 00       	lea    0x0(%r13,%rcx,2),%r13
14003918c:	45 33 db             	xor    %r11d,%r11d
14003918f:	41 83 ff 01          	cmp    $0x1,%r15d
140039193:	7f 09                	jg     0x14003919e
140039195:	4d 85 c9             	test   %r9,%r9
140039198:	0f 84 67 03 00 00    	je     0x140039505
14003919e:	41 0f b6 d4          	movzbl %r12b,%edx
1400391a2:	41 b0 01             	mov    $0x1,%r8b
1400391a5:	8b ca                	mov    %edx,%ecx
1400391a7:	41 8a db             	mov    %r11b,%bl
1400391aa:	c1 e9 02             	shr    $0x2,%ecx
1400391ad:	83 e1 03             	and    $0x3,%ecx
1400391b0:	83 e9 01             	sub    $0x1,%ecx
1400391b3:	74 1d                	je     0x1400391d2
1400391b5:	83 e9 01             	sub    $0x1,%ecx
1400391b8:	74 11                	je     0x1400391cb
1400391ba:	83 f9 01             	cmp    $0x1,%ecx
1400391bd:	74 05                	je     0x1400391c4
1400391bf:	45 8a c3             	mov    %r11b,%r8b
1400391c2:	eb 0e                	jmp    0x1400391d2
1400391c4:	8a 1f                	mov    (%rdi),%bl
1400391c6:	48 ff c7             	inc    %rdi
1400391c9:	eb 07                	jmp    0x1400391d2
1400391cb:	8a 9c 24 28 01 00 00 	mov    0x128(%rsp),%bl
1400391d2:	83 e2 03             	and    $0x3,%edx
1400391d5:	83 ea 01             	sub    $0x1,%edx
1400391d8:	0f 84 2c 01 00 00    	je     0x14003930a
1400391de:	83 ea 01             	sub    $0x1,%edx
1400391e1:	0f 84 19 01 00 00    	je     0x140039300
1400391e7:	83 fa 01             	cmp    $0x1,%edx
1400391ea:	0f 84 08 01 00 00    	je     0x1400392f8
1400391f0:	45 84 c0             	test   %r8b,%r8b
1400391f3:	0f 84 b9 00 00 00    	je     0x1400392b2
1400391f9:	8a 84 24 38 01 00 00 	mov    0x138(%rsp),%al
140039200:	3a d8                	cmp    %al,%bl
140039202:	75 42                	jne    0x140039246
140039204:	84 c0                	test   %al,%al
140039206:	74 3e                	je     0x140039246
140039208:	2b ef                	sub    %edi,%ebp
14003920a:	03 ee                	add    %esi,%ebp
14003920c:	4c 63 c5             	movslq %ebp,%r8
14003920f:	85 ed                	test   %ebp,%ebp
140039211:	0f 8e c9 02 00 00    	jle    0x1400394e0
140039217:	49 8b d3             	mov    %r11,%rdx
14003921a:	45 8d 4f ff          	lea    -0x1(%r15),%r9d
14003921e:	45 3b f1             	cmp    %r9d,%r14d
140039221:	0f 8d b9 02 00 00    	jge    0x1400394e0
140039227:	0f b6 04 3a          	movzbl (%rdx,%rdi,1),%eax
14003922b:	41 ff c6             	inc    %r14d
14003922e:	41 0f b7 0c 42       	movzwl (%r10,%rax,2),%ecx
140039233:	66 41 89 4c 55 00    	mov    %cx,0x0(%r13,%rdx,2)
140039239:	48 ff c2             	inc    %rdx
14003923c:	49 3b d0             	cmp    %r8,%rdx
14003923f:	7c dd                	jl     0x14003921e
140039241:	e9 9a 02 00 00       	jmp    0x1400394e0
140039246:	45 84 c0             	test   %r8b,%r8b
140039249:	74 67                	je     0x1400392b2
14003924b:	2b f7                	sub    %edi,%esi
14003924d:	03 f5                	add    %ebp,%esi
14003924f:	48 63 ee             	movslq %esi,%rbp
140039252:	85 f6                	test   %esi,%esi
140039254:	0f 8e 86 02 00 00    	jle    0x1400394e0
14003925a:	4d 8b c3             	mov    %r11,%r8
14003925d:	41 b1 80             	mov    $0x80,%r9b
140039260:	45 8d 5f ff          	lea    -0x1(%r15),%r11d
140039264:	45 3b f3             	cmp    %r11d,%r14d
140039267:	0f 8d 70 02 00 00    	jge    0x1400394dd
14003926d:	41 0f b6 0c 38       	movzbl (%r8,%rdi,1),%ecx
140039272:	41 84 d9             	test   %bl,%r9b
140039275:	76 0d                	jbe    0x140039284
140039277:	41 3a c9             	cmp    %r9b,%cl
14003927a:	72 12                	jb     0x14003928e
14003927c:	80 e1 7f             	and    $0x7f,%cl
14003927f:	0f b6 d1             	movzbl %cl,%edx
140039282:	eb 18                	jmp    0x14003929c
140039284:	41 3a c9             	cmp    %r9b,%cl
140039287:	73 05                	jae    0x14003928e
140039289:	0f b7 d1             	movzwl %cx,%edx
14003928c:	eb 0e                	jmp    0x14003929c
14003928e:	8a c3                	mov    %bl,%al
140039290:	24 7f                	and    $0x7f,%al
140039292:	0f b6 d0             	movzbl %al,%edx
140039295:	66 c1 e2 08          	shl    $0x8,%dx
140039299:	66 0b d1             	or     %cx,%dx
14003929c:	66 43 89 54 45 00    	mov    %dx,0x0(%r13,%r8,2)
1400392a2:	41 ff c6             	inc    %r14d
1400392a5:	49 ff c0             	inc    %r8
1400392a8:	4c 3b c5             	cmp    %rbp,%r8
1400392ab:	7c b7                	jl     0x140039264
1400392ad:	e9 2b 02 00 00       	jmp    0x1400394dd
1400392b2:	2b f7                	sub    %edi,%esi
1400392b4:	8d 04 2e             	lea    (%rsi,%rbp,1),%eax
1400392b7:	99                   	cltd
1400392b8:	2b c2                	sub    %edx,%eax
1400392ba:	d1 f8                	sar    $1,%eax
1400392bc:	48 63 e8             	movslq %eax,%rbp
1400392bf:	85 c0                	test   %eax,%eax
1400392c1:	0f 8e 19 02 00 00    	jle    0x1400394e0
1400392c7:	49 8b d3             	mov    %r11,%rdx
1400392ca:	45 8d 4f ff          	lea    -0x1(%r15),%r9d
1400392ce:	49 8b cd             	mov    %r13,%rcx
1400392d1:	49 2b fd             	sub    %r13,%rdi
1400392d4:	45 3b f1             	cmp    %r9d,%r14d
1400392d7:	0f 8d 03 02 00 00    	jge    0x1400394e0
1400392dd:	0f b7 04 39          	movzwl (%rcx,%rdi,1),%eax
1400392e1:	41 ff c6             	inc    %r14d
1400392e4:	66 89 01             	mov    %ax,(%rcx)
1400392e7:	48 ff c2             	inc    %rdx
1400392ea:	48 83 c1 02          	add    $0x2,%rcx
1400392ee:	48 3b d5             	cmp    %rbp,%rdx
1400392f1:	7c e1                	jl     0x1400392d4
1400392f3:	e9 e8 01 00 00       	jmp    0x1400394e0
1400392f8:	44 8a 27             	mov    (%rdi),%r12b
1400392fb:	48 ff c7             	inc    %rdi
1400392fe:	eb 0d                	jmp    0x14003930d
140039300:	44 8a a4 24 30 01 00 	mov    0x130(%rsp),%r12b
140039307:	00
140039308:	eb 03                	jmp    0x14003930d
14003930a:	41 b4 60             	mov    $0x60,%r12b
14003930d:	44 8a 1f             	mov    (%rdi),%r11b
140039310:	41 ba 05 00 00 00    	mov    $0x5,%r10d
140039316:	45 8a c6             	mov    %r14b,%r8b
140039319:	41 8d 52 1b          	lea    0x1b(%r10),%edx
14003931d:	41 80 e3 1f          	and    $0x1f,%r11b
140039321:	76 65                	jbe    0x140039388
140039323:	44 8b fa             	mov    %edx,%r15d
140039326:	4c 8d 35 d3 6c fc ff 	lea    -0x3932d(%rip),%r14        # 0x140000000
14003932d:	45 3a c7             	cmp    %r15b,%r8b
140039330:	73 47                	jae    0x140039379
140039332:	41 8b c2             	mov    %r10d,%eax
140039335:	99                   	cltd
140039336:	83 e2 07             	and    $0x7,%edx
140039339:	03 c2                	add    %edx,%eax
14003933b:	8b c8                	mov    %eax,%ecx
14003933d:	83 e0 07             	and    $0x7,%eax
140039340:	2b c2                	sub    %edx,%eax
140039342:	c1 f9 03             	sar    $0x3,%ecx
140039345:	4c 63 c8             	movslq %eax,%r9
140039348:	48 63 c9             	movslq %ecx,%rcx
14003934b:	85 c0                	test   %eax,%eax
14003934d:	75 06                	jne    0x140039355
14003934f:	0f b6 14 39          	movzbl (%rcx,%rdi,1),%edx
140039353:	eb 10                	jmp    0x140039365
140039355:	43 8b 94 8e 00 18 26 	mov    0x261800(%r14,%r9,4),%edx
14003935c:	00
14003935d:	23 14 39             	and    (%rcx,%rdi,1),%edx
140039360:	41 8b c9             	mov    %r9d,%ecx
140039363:	d3 ea                	shr    %cl,%edx
140039365:	41 0f b6 c0          	movzbl %r8b,%eax
140039369:	41 83 c2 08          	add    $0x8,%r10d
14003936d:	41 fe c0             	inc    %r8b
140039370:	88 54 04 78          	mov    %dl,0x78(%rsp,%rax,1)
140039374:	45 3a c3             	cmp    %r11b,%r8b
140039377:	72 b4                	jb     0x14003932d
140039379:	44 8b 74 24 60       	mov    0x60(%rsp),%r14d
14003937e:	ba 20 00 00 00       	mov    $0x20,%edx
140039383:	44 8b 7c 24 54       	mov    0x54(%rsp),%r15d
140039388:	8a c3                	mov    %bl,%al
14003938a:	b9 a0 00 00 00       	mov    $0xa0,%ecx
14003938f:	41 b1 80             	mov    $0x80,%r9b
140039392:	41 22 c1             	and    %r9b,%al
140039395:	88 44 24 50          	mov    %al,0x50(%rsp)
140039399:	0f 46 ca             	cmovbe %edx,%ecx
14003939c:	41 0f b6 c0          	movzbl %r8b,%eax
1400393a0:	41 fe c3             	inc    %r11b
1400393a3:	41 b8 00 00 00 00    	mov    $0x0,%r8d
1400393a9:	88 4c 04 78          	mov    %cl,0x78(%rsp,%rax,1)
1400393ad:	41 8b c2             	mov    %r10d,%eax
1400393b0:	99                   	cltd
1400393b1:	41 ff c2             	inc    %r10d
1400393b4:	83 e2 07             	and    $0x7,%edx
1400393b7:	03 c2                	add    %edx,%eax
1400393b9:	8b c8                	mov    %eax,%ecx
1400393bb:	83 e0 07             	and    $0x7,%eax
1400393be:	2b c2                	sub    %edx,%eax
1400393c0:	c1 f9 03             	sar    $0x3,%ecx
1400393c3:	48 63 c9             	movslq %ecx,%rcx
1400393c6:	8a 14 39             	mov    (%rcx,%rdi,1),%dl
1400393c9:	8b c8                	mov    %eax,%ecx
1400393cb:	b8 01 00 00 00       	mov    $0x1,%eax
1400393d0:	d3 e0                	shl    %cl,%eax
1400393d2:	84 d0                	test   %dl,%al
1400393d4:	41 0f b6 c3          	movzbl %r11b,%eax
1400393d8:	41 0f 95 c0          	setne  %r8b
1400393dc:	2b e8                	sub    %eax,%ebp
1400393de:	2b ef                	sub    %edi,%ebp
1400393e0:	b8 67 66 66 66       	mov    $0x66666667,%eax
1400393e5:	03 ee                	add    %esi,%ebp
1400393e7:	8d 0c ed 02 00 00 00 	lea    0x2(,%rbp,8),%ecx
1400393ee:	f7 e9                	imul   %ecx
1400393f0:	d1 fa                	sar    $1,%edx
1400393f2:	8b c2                	mov    %edx,%eax
1400393f4:	c1 e8 1f             	shr    $0x1f,%eax
1400393f7:	03 d0                	add    %eax,%edx
1400393f9:	41 2b d0             	sub    %r8d,%edx
1400393fc:	48 63 ea             	movslq %edx,%rbp
1400393ff:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
140039404:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
140039409:	85 d2                	test   %edx,%edx
14003940b:	0f 8e cc 00 00 00    	jle    0x1400394dd
140039411:	41 8d 6f ff          	lea    -0x1(%r15),%ebp
140039415:	33 f6                	xor    %esi,%esi
140039417:	44 8a 7c 24 50       	mov    0x50(%rsp),%r15b
14003941c:	44 3b f5             	cmp    %ebp,%r14d
14003941f:	0f 8d ae 00 00 00    	jge    0x1400394d3
140039425:	41 8b c2             	mov    %r10d,%eax
140039428:	99                   	cltd
140039429:	83 e2 07             	and    $0x7,%edx
14003942c:	03 c2                	add    %edx,%eax
14003942e:	8b c8                	mov    %eax,%ecx
140039430:	83 e0 07             	and    $0x7,%eax
140039433:	2b c2                	sub    %edx,%eax
140039435:	c1 f9 03             	sar    $0x3,%ecx
140039438:	4c 63 c0             	movslq %eax,%r8
14003943b:	48 63 d1             	movslq %ecx,%rdx
14003943e:	85 c0                	test   %eax,%eax
140039440:	75 09                	jne    0x14003944b
140039442:	0f b6 14 3a          	movzbl (%rdx,%rdi,1),%edx
140039446:	83 e2 1f             	and    $0x1f,%edx
140039449:	eb 31                	jmp    0x14003947c
14003944b:	48 8d 0d ae 6b fc ff 	lea    -0x39452(%rip),%rcx        # 0x140000000
140039452:	41 83 f8 03          	cmp    $0x3,%r8d
140039456:	7f 14                	jg     0x14003946c
140039458:	42 0f b6 84 81 e0 17 	movzbl 0x2617e0(%rcx,%r8,4),%eax
14003945f:	26 00
140039461:	41 8a c8             	mov    %r8b,%cl
140039464:	0f b6 14 3a          	movzbl (%rdx,%rdi,1),%edx
140039468:	23 d0                	and    %eax,%edx
14003946a:	eb 0e                	jmp    0x14003947a
14003946c:	8b 14 3a             	mov    (%rdx,%rdi,1),%edx
14003946f:	42 23 94 81 e0 17 26 	and    0x2617e0(%rcx,%r8,4),%edx
140039476:	00
140039477:	41 8b c8             	mov    %r8d,%ecx
14003947a:	d3 ea                	shr    %cl,%edx
14003947c:	41 83 c2 05          	add    $0x5,%r10d
140039480:	41 3a d3             	cmp    %r11b,%dl
140039483:	73 09                	jae    0x14003948e
140039485:	0f b6 c2             	movzbl %dl,%eax
140039488:	8a 54 04 78          	mov    0x78(%rsp,%rax,1),%dl
14003948c:	eb 06                	jmp    0x140039494
14003948e:	41 2a d3             	sub    %r11b,%dl
140039491:	41 02 d4             	add    %r12b,%dl
140039494:	45 84 ff             	test   %r15b,%r15b
140039497:	74 0d                	je     0x1400394a6
140039499:	41 3a d1             	cmp    %r9b,%dl
14003949c:	72 0d                	jb     0x1400394ab
14003949e:	80 e2 7f             	and    $0x7f,%dl
1400394a1:	0f b6 ca             	movzbl %dl,%ecx
1400394a4:	eb 16                	jmp    0x1400394bc
1400394a6:	41 3a d1             	cmp    %r9b,%dl
1400394a9:	72 f6                	jb     0x1400394a1
1400394ab:	8a c3                	mov    %bl,%al
1400394ad:	24 7f                	and    $0x7f,%al
1400394af:	0f b6 c8             	movzbl %al,%ecx
1400394b2:	66 c1 e1 08          	shl    $0x8,%cx
1400394b6:	0f b6 c2             	movzbl %dl,%eax
1400394b9:	66 0b c8             	or     %ax,%cx
1400394bc:	66 41 89 4c 75 00    	mov    %cx,0x0(%r13,%rsi,2)
1400394c2:	41 ff c6             	inc    %r14d
1400394c5:	48 ff c6             	inc    %rsi
1400394c8:	48 3b 74 24 68       	cmp    0x68(%rsp),%rsi
1400394cd:	0f 8c 49 ff ff ff    	jl     0x14003941c
1400394d3:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1400394d8:	44 8b 7c 24 54       	mov    0x54(%rsp),%r15d
1400394dd:	45 33 db             	xor    %r11d,%r11d
1400394e0:	45 85 ff             	test   %r15d,%r15d
1400394e3:	7e 0e                	jle    0x1400394f3
1400394e5:	45 3b f7             	cmp    %r15d,%r14d
1400394e8:	7d 09                	jge    0x1400394f3
1400394ea:	49 63 c6             	movslq %r14d,%rax
1400394ed:	66 45 89 5c 45 00    	mov    %r11w,0x0(%r13,%rax,2)
1400394f3:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1400394f8:	48 85 c9             	test   %rcx,%rcx
1400394fb:	74 08                	je     0x140039505
1400394fd:	8b 44 24 58          	mov    0x58(%rsp),%eax
140039501:	03 c5                	add    %ebp,%eax
140039503:	89 01                	mov    %eax,(%rcx)
140039505:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
14003950c:	00
14003950d:	48 33 cc             	xor    %rsp,%rcx
140039510:	e8 5b b2 1c 00       	call   0x140204770