14057835b:	4d 2b c4             	sub    %r12,%r8
14057835e:	49 8b d4             	mov    %r12,%rdx
140578361:	e8 aa 6c 96 00       	call   0x140edf010
140578366:	90                   	nop
140578367:	48 8b 0f             	mov    (%rdi),%rcx
14057836a:	48 85 c9             	test   %rcx,%rcx
14057836d:	74 31                	je     0x1405783a0
14057836f:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140578373:	48 2b d1             	sub    %rcx,%rdx
140578376:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
14057837a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140578381:	72 18                	jb     0x14057839b
140578383:	48 83 c2 27          	add    $0x27,%rdx
140578387:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14057838b:	49 2b c8             	sub    %r8,%rcx
14057838e:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140578392:	48 83 f8 1f          	cmp    $0x1f,%rax
140578396:	77 3d                	ja     0x1405783d5
140578398:	49 8b c8             	mov    %r8,%rcx
14057839b:	e8 a4 2d 8a 00       	call   0x140e1b144
1405783a0:	48 89 1f             	mov    %rbx,(%rdi)
1405783a3:	49 c1 e6 05          	shl    $0x5,%r14
1405783a7:	4c 03 f3             	add    %rbx,%r14
1405783aa:	4c 89 77 08          	mov    %r14,0x8(%rdi)
1405783ae:	48 8d 0c 1e          	lea    (%rsi,%rbx,1),%rcx
1405783b2:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
1405783b6:	49 8b c7             	mov    %r15,%rax
1405783b9:	48 83 c4 20          	add    $0x20,%rsp
1405783bd:	41 5f                	pop    %r15
1405783bf:	41 5e                	pop    %r14
1405783c1:	41 5d                	pop    %r13
1405783c3:	41 5c                	pop    %r12
1405783c5:	5f                   	pop    %rdi
1405783c6:	5e                   	pop    %rsi
1405783c7:	5b                   	pop    %rbx
1405783c8:	c3                   	ret
1405783c9:	e8 c2 4d c2 ff       	call   0x14019d190
1405783ce:	cc                   	int3
1405783cf:	e8 bc 51 c2 ff       	call   0x14019d590
1405783d4:	cc                   	int3
1405783d5:	e8 ca 1d 8b 00       	call   0x140e2a1a4
1405783da:	cc                   	int3
1405783db:	cc                   	int3
1405783dc:	cc                   	int3
1405783dd:	cc                   	int3
1405783de:	cc                   	int3
1405783df:	cc                   	int3
1405783e0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1405783e5:	53                   	push   %rbx
1405783e6:	56                   	push   %rsi
1405783e7:	57                   	push   %rdi
1405783e8:	41 54                	push   %r12
1405783ea:	41 55                	push   %r13
1405783ec:	41 56                	push   %r14
1405783ee:	41 57                	push   %r15
1405783f0:	48 83 ec 40          	sub    $0x40,%rsp
1405783f4:	4d 8b f0             	mov    %r8,%r14
1405783f7:	48 8b fa             	mov    %rdx,%rdi
1405783fa:	4c 8b f9             	mov    %rcx,%r15
1405783fd:	4c 8b 09             	mov    (%rcx),%r9
140578400:	49 2b d1             	sub    %r9,%rdx
140578403:	49 bb 25 49 92 24 49 	movabs $0x4924924924924925,%r11
14057840a:	92 24 49
14057840d:	49 8b c3             	mov    %r11,%rax
140578410:	48 f7 ea             	imul   %rdx
140578413:	48 8b da             	mov    %rdx,%rbx
140578416:	48 c1 fb 04          	sar    $0x4,%rbx
14057841a:	48 8b c3             	mov    %rbx,%rax
14057841d:	48 c1 e8 3f          	shr    $0x3f,%rax
140578421:	48 03 d8             	add    %rax,%rbx
140578424:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140578428:	49 2b c9             	sub    %r9,%rcx
14057842b:	49 8b c3             	mov    %r11,%rax
14057842e:	48 f7 e9             	imul   %rcx
140578431:	48 c1 fa 04          	sar    $0x4,%rdx
140578435:	48 8b c2             	mov    %rdx,%rax
140578438:	48 c1 e8 3f          	shr    $0x3f,%rax
14057843c:	48 03 d0             	add    %rax,%rdx
14057843f:	49 ba 92 24 49 92 24 	movabs $0x492492492492492,%r10
140578446:	49 92 04
140578449:	49 3b d2             	cmp    %r10,%rdx
14057844c:	0f 84 08 02 00 00    	je     0x14057865a
140578452:	4c 8d 42 01          	lea    0x1(%rdx),%r8
140578456:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
14057845b:	49 8b 4f 10          	mov    0x10(%r15),%rcx
14057845f:	49 2b c9             	sub    %r9,%rcx
140578462:	49 8b c3             	mov    %r11,%rax
140578465:	48 f7 e9             	imul   %rcx
140578468:	48 c1 fa 04          	sar    $0x4,%rdx
14057846c:	48 8b c2             	mov    %rdx,%rax
14057846f:	48 c1 e8 3f          	shr    $0x3f,%rax
140578473:	48 03 d0             	add    %rax,%rdx
140578476:	48 8b ca             	mov    %rdx,%rcx
140578479:	48 d1 e9             	shr    $1,%rcx
14057847c:	49 8b c2             	mov    %r10,%rax
14057847f:	48 2b c1             	sub    %rcx,%rax
140578482:	48 3b d0             	cmp    %rax,%rdx
140578485:	0f 87 c9 01 00 00    	ja     0x140578654
14057848b:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
14057848f:	49 8b c8             	mov    %r8,%rcx
140578492:	49 3b c0             	cmp    %r8,%rax
140578495:	48 0f 43 c8          	cmovae %rax,%rcx
140578499:	49 3b ca             	cmp    %r10,%rcx
14057849c:	0f 87 b2 01 00 00    	ja     0x140578654
1405784a2:	4c 6b e1 38          	imul   $0x38,%rcx,%r12
1405784a6:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1405784ab:	4d 85 e4             	test   %r12,%r12
1405784ae:	75 09                	jne    0x1405784b9
1405784b0:	33 f6                	xor    %esi,%esi
1405784b2:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1405784b7:	eb 3e                	jmp    0x1405784f7
1405784b9:	49 81 fc 00 10 00 00 	cmp    $0x1000,%r12
1405784c0:	72 2a                	jb     0x1405784ec
1405784c2:	49 8d 4c 24 27       	lea    0x27(%r12),%rcx
1405784c7:	49 3b cc             	cmp    %r12,%rcx
1405784ca:	0f 86 84 01 00 00    	jbe    0x140578654
1405784d0:	e8 33 2c 8a 00       	call   0x140e1b108
1405784d5:	48 85 c0             	test   %rax,%rax
1405784d8:	0f 84 82 01 00 00    	je     0x140578660
1405784de:	48 8d 70 27          	lea    0x27(%rax),%rsi
1405784e2:	48 83 e6 e0          	and    $0xffffffffffffffe0,%rsi
1405784e6:	48 89 46 f8          	mov    %rax,-0x8(%rsi)
1405784ea:	eb 0b                	jmp    0x1405784f7
1405784ec:	49 8b cc             	mov    %r12,%rcx
1405784ef:	e8 14 2c 8a 00       	call   0x140e1b108
1405784f4:	48 8b f0             	mov    %rax,%rsi
1405784f7:	48 89 b4 24 88 00 00 	mov    %rsi,0x88(%rsp)
1405784fe:	00
1405784ff:	4c 6b eb 38          	imul   $0x38,%rbx,%r13
140578503:	4c 03 ee             	add    %rsi,%r13
140578506:	49 8d 45 38          	lea    0x38(%r13),%rax
14057850a:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14057850f:	49 8b d6             	mov    %r14,%rdx
140578512:	49 8b cd             	mov    %r13,%rcx
140578515:	e8 c6 94 22 00       	call   0x1407a19e0
14057851a:	4c 89 ac 24 98 00 00 	mov    %r13,0x98(%rsp)
140578521:	00
140578522:	4d 8b 77 08          	mov    0x8(%r15),%r14
140578526:	49 8b 1f             	mov    (%r15),%rbx
140578529:	49 3b fe             	cmp    %r14,%rdi
14057852c:	75 2c                	jne    0x14057855a
14057852e:	48 8b fe             	mov    %rsi,%rdi
140578531:	49 3b de             	cmp    %r14,%rbx
140578534:	74 7f                	je     0x1405785b5
140578536:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14057853d:	00 00 00
140578540:	48 8b d3             	mov    %rbx,%rdx
140578543:	48 8b cf             	mov    %rdi,%rcx
140578546:	e8 95 94 22 00       	call   0x1407a19e0
14057854b:	48 83 c7 38          	add    $0x38,%rdi
14057854f:	48 83 c3 38          	add    $0x38,%rbx
140578553:	49 3b de             	cmp    %r14,%rbx
140578556:	75 e8                	jne    0x140578540
140578558:	eb 5b                	jmp    0x1405785b5
14057855a:	4c 8b f6             	mov    %rsi,%r14
14057855d:	48 3b df             	cmp    %rdi,%rbx
140578560:	74 18                	je     0x14057857a
140578562:	48 8b d3             	mov    %rbx,%rdx
140578565:	49 8b ce             	mov    %r14,%rcx
140578568:	e8 73 94 22 00       	call   0x1407a19e0
14057856d:	49 83 c6 38          	add    $0x38,%r14
140578571:	48 83 c3 38          	add    $0x38,%rbx
140578575:	48 3b df             	cmp    %rdi,%rbx
140578578:	75 e8                	jne    0x140578562
14057857a:	48 89 b4 24 98 00 00 	mov    %rsi,0x98(%rsp)
140578581:	00
140578582:	49 8b 5f 08          	mov    0x8(%r15),%rbx
140578586:	48 3b fb             	cmp    %rbx,%rdi
140578589:	74 2a                	je     0x1405785b5
14057858b:	4d 8b f5             	mov    %r13,%r14
14057858e:	4c 2b f7             	sub    %rdi,%r14
140578591:	49 83 c6 38          	add    $0x38,%r14
140578595:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14057859c:	00 00 00 00
1405785a0:	49 8d 0c 3e          	lea    (%r14,%rdi,1),%rcx
1405785a4:	48 8b d7             	mov    %rdi,%rdx
1405785a7:	e8 34 94 22 00       	call   0x1407a19e0
1405785ac:	48 83 c7 38          	add    $0x38,%rdi
1405785b0:	48 3b fb             	cmp    %rbx,%rdi
1405785b3:	75 eb                	jne    0x1405785a0
1405785b5:	49 8b 1f             	mov    (%r15),%rbx
1405785b8:	48 85 db             	test   %rbx,%rbx
1405785bb:	74 6c                	je     0x140578629
1405785bd:	49 8b 7f 08          	mov    0x8(%r15),%rdi
1405785c1:	48 3b df             	cmp    %rdi,%rbx
1405785c4:	74 11                	je     0x1405785d7
1405785c6:	48 8b cb             	mov    %rbx,%rcx
1405785c9:	e8 c2 95 22 00       	call   0x1407a1b90
1405785ce:	48 83 c3 38          	add    $0x38,%rbx
1405785d2:	48 3b df             	cmp    %rdi,%rbx
1405785d5:	75 ef                	jne    0x1405785c6
1405785d7:	4d 8b 07             	mov    (%r15),%r8
1405785da:	49 8b 4f 10          	mov    0x10(%r15),%rcx
1405785de:	49 2b c8             	sub    %r8,%rcx
1405785e1:	48 b8 25 49 92 24 49 	movabs $0x4924924924924925,%rax
1405785e8:	92 24 49
1405785eb:	48 f7 e9             	imul   %rcx
1405785ee:	48 c1 fa 04          	sar    $0x4,%rdx
1405785f2:	48 8b c2             	mov    %rdx,%rax
1405785f5:	48 c1 e8 3f          	shr    $0x3f,%rax
1405785f9:	48 03 d0             	add    %rax,%rdx
1405785fc:	48 6b d2 38          	imul   $0x38,%rdx,%rdx
140578600:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140578607:	72 18                	jb     0x140578621
140578609:	48 83 c2 27          	add    $0x27,%rdx
14057860d:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140578611:	4c 2b c1             	sub    %rcx,%r8
140578614:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140578618:	48 83 f8 1f          	cmp    $0x1f,%rax
14057861c:	77 42                	ja     0x140578660
14057861e:	4c 8b c1             	mov    %rcx,%r8
140578621:	49 8b c8             	mov    %r8,%rcx
140578624:	e8 1b 2b 8a 00       	call   0x140e1b144
140578629:	49 89 37             	mov    %rsi,(%r15)
14057862c:	48 6b 4c 24 28 38    	imul   $0x38,0x28(%rsp),%rcx
140578632:	48 03 ce             	add    %rsi,%rcx
140578635:	49 89 4f 08          	mov    %rcx,0x8(%r15)
140578639:	49 8d 0c 34          	lea    (%r12,%rsi,1),%rcx
14057863d:	49 89 4f 10          	mov    %rcx,0x10(%r15)
140578641:	49 8b c5             	mov    %r13,%rax
140578644:	48 83 c4 40          	add    $0x40,%rsp
140578648:	41 5f                	pop    %r15
14057864a:	41 5e                	pop    %r14
14057864c:	41 5d                	pop    %r13
14057864e:	41 5c                	pop    %r12
140578650:	5f                   	pop    %rdi
140578651:	5e                   	pop    %rsi
140578652:	5b                   	pop    %rbx
140578653:	c3                   	ret
140578654:	e8 37 4b c2 ff       	call   0x14019d190
140578659:	cc                   	int3
14057865a:	e8 31 4f c2 ff       	call   0x14019d590
14057865f:	cc                   	int3
140578660:	e8 3f 1b 8b 00       	call   0x140e2a1a4
140578665:	cc                   	int3
140578666:	cc                   	int3
140578667:	cc                   	int3
140578668:	cc                   	int3
140578669:	cc                   	int3
14057866a:	cc                   	int3
14057866b:	cc                   	int3
14057866c:	cc                   	int3
14057866d:	cc                   	int3
14057866e:	cc                   	int3
14057866f:	cc                   	int3
140578670:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140578675:	55                   	push   %rbp
140578676:	48 83 ec 20          	sub    $0x20,%rsp
14057867a:	48 8b ea             	mov    %rdx,%rbp
14057867d:	48 8b d9             	mov    %rcx,%rbx
140578680:	48 3b ca             	cmp    %rdx,%rcx
140578683:	74 71                	je     0x1405786f6
140578685:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
14057868a:	41 8b 70 04          	mov    0x4(%r8),%esi
14057868e:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140578693:	49 8d 78 18          	lea    0x18(%r8),%rdi
140578697:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14057869c:	45 8b 70 08          	mov    0x8(%r8),%r14d
1405786a0:	48 8b d7             	mov    %rdi,%rdx
1405786a3:	83 fe 08             	cmp    $0x8,%esi
1405786a6:	76 03                	jbe    0x1405786ab
1405786a8:	48 8b 17             	mov    (%rdi),%rdx
1405786ab:	44 39 73 08          	cmp    %r14d,0x8(%rbx)
1405786af:	75 1f                	jne    0x1405786d0
1405786b1:	8b 43 04             	mov    0x4(%rbx),%eax
1405786b4:	3b c6                	cmp    %esi,%eax
1405786b6:	75 18                	jne    0x1405786d0
1405786b8:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
1405786bc:	83 f8 08             	cmp    $0x8,%eax
1405786bf:	76 03                	jbe    0x1405786c4
1405786c1:	48 8b 09             	mov    (%rcx),%rcx
1405786c4:	4c 8b c0             	mov    %rax,%r8
1405786c7:	e8 84 73 96 00       	call   0x140edfa50
1405786cc:	85 c0                	test   %eax,%eax
1405786ce:	74 09                	je     0x1405786d9
1405786d0:	48 83 c3 20          	add    $0x20,%rbx
1405786d4:	48 3b dd             	cmp    %rbp,%rbx
1405786d7:	75 c7                	jne    0x1405786a0
1405786d9:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1405786de:	48 8b c3             	mov    %rbx,%rax
1405786e1:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
1405786e6:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
1405786eb:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1405786f0:	48 83 c4 20          	add    $0x20,%rsp
1405786f4:	5d                   	pop    %rbp
1405786f5:	c3                   	ret
1405786f6:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1405786fb:	48 8b c1             	mov    %rcx,%rax
1405786fe:	48 83 c4 20          	add    $0x20,%rsp
140578702:	5d                   	pop    %rbp
140578703:	c3                   	ret
140578704:	cc                   	int3
140578705:	cc                   	int3
140578706:	cc                   	int3
140578707:	cc                   	int3
140578708:	cc                   	int3
140578709:	cc                   	int3
14057870a:	cc                   	int3
14057870b:	cc                   	int3
14057870c:	cc                   	int3
14057870d:	cc                   	int3
14057870e:	cc                   	int3
14057870f:	cc                   	int3
140578710:	40 53                	rex push %rbx
140578712:	48 83 ec 20          	sub    $0x20,%rsp
140578716:	48 8b 41 08          	mov    0x8(%rcx),%rax
14057871a:	48 8b d9             	mov    %rcx,%rbx
14057871d:	48 3b 41 10          	cmp    0x10(%rcx),%rax
140578721:	74 1a                	je     0x14057873d
140578723:	48 8b c8             	mov    %rax,%rcx
140578726:	e8 b5 92 22 00       	call   0x1407a19e0
14057872b:	48 8b 43 08          	mov    0x8(%rbx),%rax
14057872f:	48 8d 50 38          	lea    0x38(%rax),%rdx
140578733:	48 89 53 08          	mov    %rdx,0x8(%rbx)
140578737:	48 83 c4 20          	add    $0x20,%rsp
14057873b:	5b                   	pop    %rbx
14057873c:	c3                   	ret
14057873d:	4c 8b c2             	mov    %rdx,%r8
140578740:	48 8b d0             	mov    %rax,%rdx
140578743:	48 83 c4 20          	add    $0x20,%rsp
140578747:	5b                   	pop    %rbx
140578748:	e9 93 fc ff ff       	jmp    0x1405783e0
14057874d:	cc                   	int3
14057874e:	cc                   	int3
14057874f:	cc                   	int3
140578750:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140578755:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14057875a:	56                   	push   %rsi
14057875b:	57                   	push   %rdi
14057875c:	41 56                	push   %r14
14057875e:	48 83 ec 20          	sub    $0x20,%rsp
140578762:	49 8b d8             	mov    %r8,%rbx
140578765:	48 8b c2             	mov    %rdx,%rax
140578768:	4c 8b f1             	mov    %rcx,%r14
14057876b:	48 8b d3             	mov    %rbx,%rdx
14057876e:	48 8b c8             	mov    %rax,%rcx
140578771:	4d 8b c1             	mov    %r9,%r8
140578774:	49 8b e9             	mov    %r9,%rbp
140578777:	e8 f4 fe ff ff       	call   0x140578670
14057877c:	48 8b f8             	mov    %rax,%rdi
14057877f:	48 8b f0             	mov    %rax,%rsi
140578782:	48 3b c3             	cmp    %rbx,%rax
140578785:	74 75                	je     0x1405787fc
140578787:	48 83 c7 20          	add    $0x20,%rdi
14057878b:	48 3b fb             	cmp    %rbx,%rdi
14057878e:	74 6c                	je     0x1405787fc
140578790:	4c 89 7c 24 40       	mov    %r15,0x40(%rsp)
140578795:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14057879c:	00 00 00 00
1405787a0:	8b 4d 04             	mov    0x4(%rbp),%ecx