1400611c1:	f3 0f 7f 45 df       	movdqu %xmm0,-0x21(%rbp)
1400611c6:	49 8b c4             	mov    %r12,%rax
1400611c9:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
1400611cd:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
1400611d1:	85 c9                	test   %ecx,%ecx
1400611d3:	0f 84 51 01 00 00    	je     0x14006132a
1400611d9:	49 8b d7             	mov    %r15,%rdx
1400611dc:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
1400611e0:	e8 fb 0d 00 00       	call   0x140061fe0
1400611e5:	4d 8b c7             	mov    %r15,%r8
1400611e8:	33 d2                	xor    %edx,%edx
1400611ea:	4c 8b 75 df          	mov    -0x21(%rbp),%r14
1400611ee:	49 8b ce             	mov    %r14,%rcx
1400611f1:	e8 20 91 00 00       	call   0x14006a316
1400611f6:	4f 8d 2c 3e          	lea    (%r14,%r15,1),%r13
1400611fa:	4c 89 6d e7          	mov    %r13,-0x19(%rbp)
1400611fe:	48 8b 45 ef          	mov    -0x11(%rbp),%rax
140061202:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
140061206:	e9 27 01 00 00       	jmp    0x140061332
14006120b:	41 8b ce             	mov    %r14d,%ecx
14006120e:	41 b8 07 00 00 80    	mov    $0x80000007,%r8d
140061214:	41 23 c8             	and    %r8d,%ecx
140061217:	7d 07                	jge    0x140061220
140061219:	2b cf                	sub    %edi,%ecx
14006121b:	83 c9 f8             	or     $0xfffffff8,%ecx
14006121e:	03 cf                	add    %edi,%ecx
140061220:	41 8b c6             	mov    %r14d,%eax
140061223:	2b c1                	sub    %ecx,%eax
140061225:	99                   	cltd
140061226:	83 e2 07             	and    $0x7,%edx
140061229:	03 c2                	add    %edx,%eax
14006122b:	c1 f8 03             	sar    $0x3,%eax
14006122e:	8b d7                	mov    %edi,%edx
140061230:	d2 e2                	shl    %cl,%dl
140061232:	48 63 c8             	movslq %eax,%rcx
140061235:	44 38 25 8c 25 04 00 	cmp    %r12b,0x4258c(%rip)        # 0x1400a37c8
14006123c:	74 0f                	je     0x14006124d
14006123e:	48 8b c6             	mov    %rsi,%rax
140061241:	48 2b c3             	sub    %rbx,%rax
140061244:	48 3b c8             	cmp    %rax,%rcx
140061247:	0f 83 6b 03 00 00    	jae    0x1400615b8
14006124d:	08 14 19             	or     %dl,(%rcx,%rbx,1)
140061250:	41 8d 46 01          	lea    0x1(%r14),%eax
140061254:	8b c8                	mov    %eax,%ecx
140061256:	41 23 c8             	and    %r8d,%ecx
140061259:	7d 07                	jge    0x140061262
14006125b:	2b cf                	sub    %edi,%ecx
14006125d:	83 c9 f8             	or     $0xfffffff8,%ecx
140061260:	03 cf                	add    %edi,%ecx
140061262:	2b c1                	sub    %ecx,%eax
140061264:	99                   	cltd
140061265:	83 e2 07             	and    $0x7,%edx
140061268:	03 c2                	add    %edx,%eax
14006126a:	c1 f8 03             	sar    $0x3,%eax
14006126d:	8b d7                	mov    %edi,%edx
14006126f:	d2 e2                	shl    %cl,%dl
140061271:	48 63 c8             	movslq %eax,%rcx
140061274:	44 38 25 4d 25 04 00 	cmp    %r12b,0x4254d(%rip)        # 0x1400a37c8
14006127b:	74 0f                	je     0x14006128c
14006127d:	48 8b c6             	mov    %rsi,%rax
140061280:	48 2b c3             	sub    %rbx,%rax
140061283:	48 3b c8             	cmp    %rax,%rcx
140061286:	0f 83 2c 03 00 00    	jae    0x1400615b8
14006128c:	08 14 19             	or     %dl,(%rcx,%rbx,1)
14006128f:	e9 f4 fe ff ff       	jmp    0x140061188
140061294:	41 8b ce             	mov    %r14d,%ecx
140061297:	41 b8 07 00 00 80    	mov    $0x80000007,%r8d
14006129d:	41 23 c8             	and    %r8d,%ecx
1400612a0:	7d 07                	jge    0x1400612a9
1400612a2:	2b cf                	sub    %edi,%ecx
1400612a4:	83 c9 f8             	or     $0xfffffff8,%ecx
1400612a7:	03 cf                	add    %edi,%ecx
1400612a9:	41 8b c6             	mov    %r14d,%eax
1400612ac:	2b c1                	sub    %ecx,%eax
1400612ae:	99                   	cltd
1400612af:	83 e2 07             	and    $0x7,%edx
1400612b2:	03 c2                	add    %edx,%eax
1400612b4:	c1 f8 03             	sar    $0x3,%eax
1400612b7:	8b d7                	mov    %edi,%edx
1400612b9:	d2 e2                	shl    %cl,%dl
1400612bb:	f6 d2                	not    %dl
1400612bd:	48 63 c8             	movslq %eax,%rcx
1400612c0:	44 38 25 01 25 04 00 	cmp    %r12b,0x42501(%rip)        # 0x1400a37c8
1400612c7:	74 0f                	je     0x1400612d8
1400612c9:	48 8b c6             	mov    %rsi,%rax
1400612cc:	48 2b c3             	sub    %rbx,%rax
1400612cf:	48 3b c8             	cmp    %rax,%rcx
1400612d2:	0f 83 e0 02 00 00    	jae    0x1400615b8
1400612d8:	20 14 19             	and    %dl,(%rcx,%rbx,1)
1400612db:	e9 70 ff ff ff       	jmp    0x140061250
1400612e0:	41 8b ce             	mov    %r14d,%ecx
1400612e3:	41 b8 07 00 00 80    	mov    $0x80000007,%r8d
1400612e9:	41 23 c8             	and    %r8d,%ecx
1400612ec:	7d 07                	jge    0x1400612f5
1400612ee:	2b cf                	sub    %edi,%ecx
1400612f0:	83 c9 f8             	or     $0xfffffff8,%ecx
1400612f3:	03 cf                	add    %edi,%ecx
1400612f5:	41 8b c6             	mov    %r14d,%eax
1400612f8:	2b c1                	sub    %ecx,%eax
1400612fa:	99                   	cltd
1400612fb:	83 e2 07             	and    $0x7,%edx
1400612fe:	03 c2                	add    %edx,%eax
140061300:	c1 f8 03             	sar    $0x3,%eax
140061303:	8b d7                	mov    %edi,%edx
140061305:	d2 e2                	shl    %cl,%dl
140061307:	48 63 c8             	movslq %eax,%rcx
14006130a:	44 38 25 b7 24 04 00 	cmp    %r12b,0x424b7(%rip)        # 0x1400a37c8
140061311:	74 0f                	je     0x140061322
140061313:	48 8b c6             	mov    %rsi,%rax
140061316:	48 2b c3             	sub    %rbx,%rax
140061319:	48 3b c8             	cmp    %rax,%rcx
14006131c:	0f 83 96 02 00 00    	jae    0x1400615b8
140061322:	08 14 19             	or     %dl,(%rcx,%rbx,1)
140061325:	e9 1d fe ff ff       	jmp    0x140061147
14006132a:	4c 8b 6d e7          	mov    -0x19(%rbp),%r13
14006132e:	4c 8b 75 df          	mov    -0x21(%rbp),%r14
140061332:	8a 0d 90 24 04 00    	mov    0x42490(%rip),%cl        # 0x1400a37c8
140061338:	84 c9                	test   %cl,%cl
14006133a:	74 15                	je     0x140061351
14006133c:	4d 3b ee             	cmp    %r14,%r13
14006133f:	74 09                	je     0x14006134a
140061341:	84 c9                	test   %cl,%cl
140061343:	74 0c                	je     0x140061351
140061345:	48 85 f6             	test   %rsi,%rsi
140061348:	75 07                	jne    0x140061351
14006134a:	ff 15 28 e1 00 00    	call   *0xe128(%rip)        # 0x14006f478
140061350:	cc                   	int3
140061351:	4c 8b e3             	mov    %rbx,%r12
140061354:	4d 8b fe             	mov    %r14,%r15
140061357:	48 85 db             	test   %rbx,%rbx
14006135a:	74 1c                	je     0x140061378
14006135c:	4d 85 f6             	test   %r14,%r14
14006135f:	74 17                	je     0x140061378
140061361:	ba 02 00 00 00       	mov    $0x2,%edx
140061366:	8b ce                	mov    %esi,%ecx
140061368:	e8 43 fa ff ff       	call   0x140060db0
14006136d:	39 45 77             	cmp    %eax,0x77(%rbp)
140061370:	7d 28                	jge    0x14006139a
140061372:	8a 0d 50 24 04 00    	mov    0x42450(%rip),%cl        # 0x1400a37c8
140061378:	33 ff                	xor    %edi,%edi
14006137a:	85 ff                	test   %edi,%edi
14006137c:	0f 84 ad 02 00 00    	je     0x14006162f
140061382:	84 c9                	test   %cl,%cl
140061384:	0f 84 49 01 00 00    	je     0x1400614d3
14006138a:	4d 3b ee             	cmp    %r14,%r13
14006138d:	0f 85 40 01 00 00    	jne    0x1400614d3
140061393:	ff 15 df e0 00 00    	call   *0xe0df(%rip)        # 0x14006f478
140061399:	90                   	nop
14006139a:	b8 56 55 55 55       	mov    $0x55555556,%eax
14006139f:	f7 ee                	imul   %esi
1400613a1:	8b ca                	mov    %edx,%ecx
1400613a3:	c1 e9 1f             	shr    $0x1f,%ecx
1400613a6:	03 ca                	add    %edx,%ecx
1400613a8:	89 4d cb             	mov    %ecx,-0x35(%rbp)
1400613ab:	44 8d 1c 8d 00 00 00 	lea    0x0(,%rcx,4),%r11d
1400613b2:	00
1400613b3:	44 89 5d c7          	mov    %r11d,-0x39(%rbp)
1400613b7:	b8 f3 1a ca 6b       	mov    $0x6bca1af3,%eax
1400613bc:	41 f7 eb             	imul   %r11d
1400613bf:	44 8b c2             	mov    %edx,%r8d
1400613c2:	41 c1 f8 05          	sar    $0x5,%r8d
1400613c6:	41 8b c0             	mov    %r8d,%eax
1400613c9:	c1 e8 1f             	shr    $0x1f,%eax
1400613cc:	45 33 d2             	xor    %r10d,%r10d
1400613cf:	44 03 c0             	add    %eax,%r8d
1400613d2:	44 89 45 7f          	mov    %r8d,0x7f(%rbp)
1400613d6:	41 8d 42 13          	lea    0x13(%r10),%eax
1400613da:	89 45 77             	mov    %eax,0x77(%rbp)
1400613dd:	45 8d 4a 04          	lea    0x4(%r10),%r9d
1400613e1:	78 79                	js     0x14006145c
1400613e3:	45 3b d0             	cmp    %r8d,%r10d
1400613e6:	75 15                	jne    0x1400613fd
1400613e8:	41 6b c8 4c          	imul   $0x4c,%r8d,%ecx
1400613ec:	41 8b c3             	mov    %r11d,%eax
1400613ef:	2b c1                	sub    %ecx,%eax
1400613f1:	99                   	cltd
1400613f2:	83 e2 03             	and    $0x3,%edx
1400613f5:	03 c2                	add    %edx,%eax
1400613f7:	c1 f8 02             	sar    $0x2,%eax
1400613fa:	89 45 77             	mov    %eax,0x77(%rbp)
1400613fd:	85 c0                	test   %eax,%eax
1400613ff:	7e 50                	jle    0x140061451
140061401:	44 8b d8             	mov    %eax,%r11d
140061404:	4c 8d 05 55 b1 01 00 	lea    0x1b155(%rip),%r8        # 0x14007c560
14006140b:	33 c9                	xor    %ecx,%ecx
14006140d:	8d 51 03             	lea    0x3(%rcx),%edx
140061410:	41 0f b6 04 24       	movzbl (%r12),%eax
140061415:	4c 03 e7             	add    %rdi,%r12
140061418:	0b c8                	or     %eax,%ecx
14006141a:	c1 e1 08             	shl    $0x8,%ecx
14006141d:	48 2b d7             	sub    %rdi,%rdx
140061420:	75 ee                	jne    0x140061410
140061422:	49 8b d1             	mov    %r9,%rdx
140061425:	8b c1                	mov    %ecx,%eax
140061427:	48 c1 e8 1a          	shr    $0x1a,%rax
14006142b:	42 8a 04 00          	mov    (%rax,%r8,1),%al
14006142f:	41 88 07             	mov    %al,(%r15)
140061432:	4c 03 ff             	add    %rdi,%r15
140061435:	c1 e1 06             	shl    $0x6,%ecx
140061438:	48 2b d7             	sub    %rdi,%rdx
14006143b:	75 e8                	jne    0x140061425
14006143d:	4c 2b df             	sub    %rdi,%r11
140061440:	44 8d 4a 04          	lea    0x4(%rdx),%r9d
140061444:	75 c5                	jne    0x14006140b
140061446:	44 8b 45 7f          	mov    0x7f(%rbp),%r8d
14006144a:	8b 45 77             	mov    0x77(%rbp),%eax
14006144d:	44 8b 5d c7          	mov    -0x39(%rbp),%r11d
140061451:	44 03 d7             	add    %edi,%r10d
140061454:	45 3b d0             	cmp    %r8d,%r10d
140061457:	7e 8d                	jle    0x1400613e6
140061459:	8b 4d cb             	mov    -0x35(%rbp),%ecx
14006145c:	8d 04 49             	lea    (%rcx,%rcx,2),%eax
14006145f:	2b f0                	sub    %eax,%esi
140061461:	8b c6                	mov    %esi,%eax
140061463:	8d 4e 01             	lea    0x1(%rsi),%ecx
140061466:	f7 d8                	neg    %eax
140061468:	45 1b c0             	sbb    %r8d,%r8d
14006146b:	44 23 c1             	and    %ecx,%r8d
14006146e:	74 58                	je     0x1400614c8
140061470:	33 d2                	xor    %edx,%edx
140061472:	33 c9                	xor    %ecx,%ecx
140061474:	3b ce                	cmp    %esi,%ecx
140061476:	7d 0a                	jge    0x140061482
140061478:	41 0f b6 04 24       	movzbl (%r12),%eax
14006147d:	4c 03 e7             	add    %rdi,%r12
140061480:	0b d0                	or     %eax,%edx
140061482:	c1 e2 08             	shl    $0x8,%edx
140061485:	03 cf                	add    %edi,%ecx
140061487:	83 f9 03             	cmp    $0x3,%ecx
14006148a:	7c e8                	jl     0x140061474
14006148c:	45 85 c0             	test   %r8d,%r8d
14006148f:	7e 22                	jle    0x1400614b3
140061491:	41 8b c8             	mov    %r8d,%ecx
140061494:	4c 8d 15 c5 b0 01 00 	lea    0x1b0c5(%rip),%r10        # 0x14007c560
14006149b:	8b c2                	mov    %edx,%eax
14006149d:	48 c1 e8 1a          	shr    $0x1a,%rax
1400614a1:	42 8a 04 10          	mov    (%rax,%r10,1),%al
1400614a5:	41 88 07             	mov    %al,(%r15)
1400614a8:	4c 03 ff             	add    %rdi,%r15
1400614ab:	c1 e2 06             	shl    $0x6,%edx
1400614ae:	48 2b cf             	sub    %rdi,%rcx
1400614b1:	75 e8                	jne    0x14006149b
1400614b3:	45 2b c8             	sub    %r8d,%r9d
1400614b6:	45 85 c9             	test   %r9d,%r9d
1400614b9:	7e 0d                	jle    0x1400614c8
1400614bb:	4d 63 c1             	movslq %r9d,%r8
1400614be:	b2 3d                	mov    $0x3d,%dl
1400614c0:	49 8b cf             	mov    %r15,%rcx
1400614c3:	e8 4e 8e 00 00       	call   0x14006a316
1400614c8:	8a 0d fa 22 04 00    	mov    0x422fa(%rip),%cl        # 0x1400a37c8
1400614ce:	e9 a7 fe ff ff       	jmp    0x14006137a
1400614d3:	4d 85 f6             	test   %r14,%r14
1400614d6:	74 70                	je     0x140061548
1400614d8:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
1400614dd:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400614e3:	41 83 cf ff          	or     $0xffffffff,%r15d
1400614e7:	45 8b cf             	mov    %r15d,%r9d
1400614ea:	4d 8b c6             	mov    %r14,%r8
1400614ed:	33 d2                	xor    %edx,%edx
1400614ef:	8d 4a 03             	lea    0x3(%rdx),%ecx
1400614f2:	ff 15 f8 db 00 00    	call   *0xdbf8(%rip)        # 0x14006f0f0
1400614f8:	8b f0                	mov    %eax,%esi
1400614fa:	8d 50 ff             	lea    -0x1(%rax),%edx
1400614fd:	33 c9                	xor    %ecx,%ecx
1400614ff:	ff 15 03 dd 07 00    	call   *0x7dd03(%rip)        # 0x1400df208
140061505:	48 8b f8             	mov    %rax,%rdi
140061508:	48 85 c0             	test   %rax,%rax
14006150b:	74 3d                	je     0x14006154a
14006150d:	89 74 24 28          	mov    %esi,0x28(%rsp)
140061511:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140061516:	45 8b cf             	mov    %r15d,%r9d
140061519:	4d 8b c6             	mov    %r14,%r8
14006151c:	33 d2                	xor    %edx,%edx
14006151e:	8d 4a 03             	lea    0x3(%rdx),%ecx
140061521:	ff 15 c9 db 00 00    	call   *0xdbc9(%rip)        # 0x14006f0f0
140061527:	3b c6                	cmp    %esi,%eax
140061529:	74 1f                	je     0x14006154a
14006152b:	48 89 7d 67          	mov    %rdi,0x67(%rbp)
14006152f:	45 33 c0             	xor    %r8d,%r8d
140061532:	33 d2                	xor    %edx,%edx
140061534:	48 8d 4d 67          	lea    0x67(%rbp),%rcx
140061538:	ff 15 4a dd 07 00    	call   *0x7dd4a(%rip)        # 0x1400df288
14006153e:	48 8b 4d 67          	mov    0x67(%rbp),%rcx
140061542:	ff 15 30 dd 07 00    	call   *0x7dd30(%rip)        # 0x1400df278
140061548:	33 ff                	xor    %edi,%edi
14006154a:	48 89 7d 67          	mov    %rdi,0x67(%rbp)
14006154e:	48 85 ff             	test   %rdi,%rdi
140061551:	75 09                	jne    0x14006155c
140061553:	4d 85 f6             	test   %r14,%r14
140061556:	0f 85 b9 00 00 00    	jne    0x140061615
14006155c:	48 8b d7             	mov    %rdi,%rdx
14006155f:	48 8b 75 6f          	mov    0x6f(%rbp),%rsi
140061563:	48 8b ce             	mov    %rsi,%rcx
140061566:	e8 d5 fc fb ff       	call   0x140021240
14006156b:	48 89 7d 67          	mov    %rdi,0x67(%rbp)
14006156f:	48 85 ff             	test   %rdi,%rdi
140061572:	74 1a                	je     0x14006158e
140061574:	45 33 c0             	xor    %r8d,%r8d
140061577:	33 d2                	xor    %edx,%edx
140061579:	48 8d 4d 67          	lea    0x67(%rbp),%rcx
14006157d:	ff 15 05 dd 07 00    	call   *0x7dd05(%rip)        # 0x1400df288
140061583:	48 8b 4d 67          	mov    0x67(%rbp),%rcx
140061587:	ff 15 eb dc 07 00    	call   *0x7dceb(%rip)        # 0x1400df278
14006158d:	90                   	nop
14006158e:	bf 00 10 00 00       	mov    $0x1000,%edi
140061593:	4d 85 f6             	test   %r14,%r14
140061596:	74 31                	je     0x1400615c9
140061598:	48 8b 4d cf          	mov    -0x31(%rbp),%rcx
14006159c:	49 2b ce             	sub    %r14,%rcx
14006159f:	49 8b c6             	mov    %r14,%rax
1400615a2:	48 3b cf             	cmp    %rdi,%rcx
1400615a5:	72 18                	jb     0x1400615bf
1400615a7:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
1400615ab:	49 2b c6             	sub    %r14,%rax
1400615ae:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1400615b2:	48 83 f8 1f          	cmp    $0x1f,%rax
1400615b6:	76 07                	jbe    0x1400615bf
1400615b8:	ff 15 ba de 00 00    	call   *0xdeba(%rip)        # 0x14006f478
1400615be:	cc                   	int3
1400615bf:	49 8b ce             	mov    %r14,%rcx
1400615c2:	ff 15 e0 df 00 00    	call   *0xdfe0(%rip)        # 0x14006f5a8
1400615c8:	90                   	nop
1400615c9:	48 85 db             	test   %rbx,%rbx
1400615cc:	74 30                	je     0x1400615fe
1400615ce:	48 8b c3             	mov    %rbx,%rax
1400615d1:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
1400615d5:	48 2b cb             	sub    %rbx,%rcx
1400615d8:	48 3b cf             	cmp    %rdi,%rcx
1400615db:	72 18                	jb     0x1400615f5
1400615dd:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1400615e1:	48 2b c3             	sub    %rbx,%rax
1400615e4:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1400615e8:	48 83 f8 1f          	cmp    $0x1f,%rax
1400615ec:	76 07                	jbe    0x1400615f5
1400615ee:	ff 15 84 de 00 00    	call   *0xde84(%rip)        # 0x14006f478
1400615f4:	cc                   	int3
1400615f5:	48 8b cb             	mov    %rbx,%rcx
1400615f8:	ff 15 aa df 00 00    	call   *0xdfaa(%rip)        # 0x14006f5a8
1400615fe:	48 8b c6             	mov    %rsi,%rax
140061601:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
140061608:	41 5f                	pop    %r15
14006160a:	41 5e                	pop    %r14
14006160c:	41 5d                	pop    %r13
14006160e:	41 5c                	pop    %r12
140061610:	5f                   	pop    %rdi
140061611:	5e                   	pop    %rsi
140061612:	5b                   	pop    %rbx
140061613:	5d                   	pop    %rbp
140061614:	c3                   	ret
140061615:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx