140109450:	c1 c0 0f             	rol    $0xf,%eax
140109453:	69 c0 93 35 87 1b    	imul   $0x1b873593,%eax,%eax
140109459:	31 c1                	xor    %eax,%ecx
14010945b:	44 31 c1             	xor    %r8d,%ecx
14010945e:	89 c8                	mov    %ecx,%eax
140109460:	c1 e8 10             	shr    $0x10,%eax
140109463:	31 c8                	xor    %ecx,%eax
140109465:	69 c0 6b ca eb 85    	imul   $0x85ebca6b,%eax,%eax
14010946b:	89 c2                	mov    %eax,%edx
14010946d:	c1 ea 0d             	shr    $0xd,%edx
140109470:	31 c2                	xor    %eax,%edx
140109472:	69 d2 35 ae b2 c2    	imul   $0xc2b2ae35,%edx,%edx
140109478:	89 d0                	mov    %edx,%eax
14010947a:	c1 e8 10             	shr    $0x10,%eax
14010947d:	31 d0                	xor    %edx,%eax
14010947f:	5b                   	pop    %rbx
140109480:	c3                   	ret
140109481:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140109488:	41 0f be 41 02       	movsbl 0x2(%r9),%eax
14010948d:	c1 e0 10             	shl    $0x10,%eax
140109490:	41 0f be 51 01       	movsbl 0x1(%r9),%edx
140109495:	c1 e2 08             	shl    $0x8,%edx
140109498:	31 c2                	xor    %eax,%edx
14010949a:	eb a8                	jmp    0x140109444
14010949c:	0f 1f 40 00          	nopl   0x0(%rax)
1401094a0:	31 c0                	xor    %eax,%eax
1401094a2:	eb ec                	jmp    0x140109490
1401094a4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401094ab:	00 00 00 00
1401094af:	90                   	nop
1401094b0:	49 83 c0 10          	add    $0x10,%r8
1401094b4:	48 8d 4a 10          	lea    0x10(%rdx),%rcx
1401094b8:	4c 89 c2             	mov    %r8,%rdx
1401094bb:	e9 b8 09 0e 00       	jmp    0x1401e9e78
1401094c0:	41 54                	push   %r12
1401094c2:	55                   	push   %rbp
1401094c3:	57                   	push   %rdi
1401094c4:	56                   	push   %rsi
1401094c5:	53                   	push   %rbx
1401094c6:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
1401094cd:	48 8b 1d 1c f6 12 00 	mov    0x12f61c(%rip),%rbx        # 0x140238af0
1401094d4:	48 89 d6             	mov    %rdx,%rsi
1401094d7:	48 89 cf             	mov    %rcx,%rdi
1401094da:	48 8b 13             	mov    (%rbx),%rdx
1401094dd:	48 89 94 24 b8 00 00 	mov    %rdx,0xb8(%rsp)
1401094e4:	00
1401094e5:	31 d2                	xor    %edx,%edx
1401094e7:	48 89 f1             	mov    %rsi,%rcx
1401094ea:	e8 d1 76 fb ff       	call   0x1400c0bc0
1401094ef:	89 c2                	mov    %eax,%edx
1401094f1:	b8 01 00 00 00       	mov    $0x1,%eax
1401094f6:	85 d2                	test   %edx,%edx
1401094f8:	75 15                	jne    0x14010950f
1401094fa:	8b 16                	mov    (%rsi),%edx
1401094fc:	89 d0                	mov    %edx,%eax
1401094fe:	c1 e8 04             	shr    $0x4,%eax
140109501:	81 e2 00 00 00 02    	and    $0x2000000,%edx
140109507:	74 27                	je     0x140109530
140109509:	c1 e8 16             	shr    $0x16,%eax
14010950c:	83 e0 01             	and    $0x1,%eax
14010950f:	48 8b 94 24 b8 00 00 	mov    0xb8(%rsp),%rdx
140109516:	00
140109517:	48 2b 13             	sub    (%rbx),%rdx
14010951a:	0f 85 bf 00 00 00    	jne    0x1401095df
140109520:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
140109527:	5b                   	pop    %rbx
140109528:	5e                   	pop    %rsi
140109529:	5f                   	pop    %rdi
14010952a:	5d                   	pop    %rbp
14010952b:	41 5c                	pop    %r12
14010952d:	c3                   	ret
14010952e:	66 90                	xchg   %ax,%ax
140109530:	44 8b 4e 30          	mov    0x30(%rsi),%r9d
140109534:	4c 8b 46 28          	mov    0x28(%rsi),%r8
140109538:	48 8d 6c 24 60       	lea    0x60(%rsp),%rbp
14010953d:	48 8d 56 04          	lea    0x4(%rsi),%rdx
140109541:	48 89 e9             	mov    %rbp,%rcx
140109544:	4c 8d 64 24 20       	lea    0x20(%rsp),%r12
140109549:	e8 92 5a fb ff       	call   0x1400befe0
14010954e:	4c 89 e2             	mov    %r12,%rdx
140109551:	48 89 e9             	mov    %rbp,%rcx
140109554:	e8 c7 5e fb ff       	call   0x1400bf420
140109559:	85 c0                	test   %eax,%eax
14010955b:	74 7b                	je     0x1401095d8
14010955d:	48 63 54 24 50       	movslq 0x50(%rsp),%rdx
140109562:	85 d2                	test   %edx,%edx
140109564:	74 3a                	je     0x1401095a0
140109566:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
14010956b:	48 01 c2             	add    %rax,%rdx
14010956e:	eb 09                	jmp    0x140109579
140109570:	48 83 c0 01          	add    $0x1,%rax
140109574:	48 39 c2             	cmp    %rax,%rdx
140109577:	74 27                	je     0x1401095a0
140109579:	80 38 00             	cmpb   $0x0,(%rax)
14010957c:	79 f2                	jns    0x140109570
14010957e:	8b 06                	mov    (%rsi),%eax
140109580:	c1 e8 04             	shr    $0x4,%eax
140109583:	0d 00 00 40 00       	or     $0x400000,%eax
140109588:	8b 16                	mov    (%rsi),%edx
14010958a:	0d 00 00 20 00       	or     $0x200000,%eax
14010958f:	89 c1                	mov    %eax,%ecx
140109591:	c1 e1 04             	shl    $0x4,%ecx
140109594:	83 e2 0f             	and    $0xf,%edx
140109597:	09 ca                	or     %ecx,%edx
140109599:	89 16                	mov    %edx,(%rsi)
14010959b:	e9 69 ff ff ff       	jmp    0x140109509
1401095a0:	8b 44 24 54          	mov    0x54(%rsp),%eax
1401095a4:	25 00 f0 00 00       	and    $0xf000,%eax
1401095a9:	3d 00 40 00 00       	cmp    $0x4000,%eax
1401095ae:	75 9e                	jne    0x14010954e
1401095b0:	4c 89 e2             	mov    %r12,%rdx
1401095b3:	48 89 f9             	mov    %rdi,%rcx
1401095b6:	e8 95 75 fb ff       	call   0x1400c0b50
1401095bb:	48 85 c0             	test   %rax,%rax
1401095be:	74 8e                	je     0x14010954e
1401095c0:	48 89 c2             	mov    %rax,%rdx
1401095c3:	48 89 f9             	mov    %rdi,%rcx
1401095c6:	e8 f5 fe ff ff       	call   0x1401094c0
1401095cb:	85 c0                	test   %eax,%eax
1401095cd:	0f 84 7b ff ff ff    	je     0x14010954e
1401095d3:	eb a9                	jmp    0x14010957e
1401095d5:	0f 1f 00             	nopl   (%rax)
1401095d8:	8b 06                	mov    (%rsi),%eax
1401095da:	c1 e8 04             	shr    $0x4,%eax
1401095dd:	eb a9                	jmp    0x140109588
1401095df:	e8 8c b2 0d 00       	call   0x1401e4870
1401095e4:	90                   	nop
1401095e5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401095ec:	00 00 00 00
1401095f0:	55                   	push   %rbp
1401095f1:	57                   	push   %rdi
1401095f2:	56                   	push   %rsi
1401095f3:	53                   	push   %rbx
1401095f4:	48 83 ec 38          	sub    $0x38,%rsp
1401095f8:	48 89 c8             	mov    %rcx,%rax
1401095fb:	48 89 d1             	mov    %rdx,%rcx
1401095fe:	8b 50 50             	mov    0x50(%rax),%edx
140109601:	41 39 d0             	cmp    %edx,%r8d
140109604:	73 16                	jae    0x14010961c
140109606:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14010960d:	00 00 00
140109610:	48 8b 40 58          	mov    0x58(%rax),%rax
140109614:	8b 50 50             	mov    0x50(%rax),%edx
140109617:	41 39 d0             	cmp    %edx,%r8d
14010961a:	72 f4                	jb     0x140109610
14010961c:	4c 8b 98 b0 00 00 00 	mov    0xb0(%rax),%r11
140109623:	4d 85 db             	test   %r11,%r11
140109626:	0f 84 b1 00 00 00    	je     0x1401096dd
14010962c:	41 29 d0             	sub    %edx,%r8d
14010962f:	48 8b b0 c0 00 00 00 	mov    0xc0(%rax),%rsi
140109636:	48 8b 78 40          	mov    0x40(%rax),%rdi
14010963a:	42 8d 14 85 00 00 00 	lea    0x0(,%r8,4),%edx
140109641:	00
140109642:	45 8b 14 13          	mov    (%r11,%rdx,1),%r10d
140109646:	4c 8d 4e f4          	lea    -0xc(%rsi),%r9
14010964a:	41 0f ca             	bswap  %r10d
14010964d:	44 89 d2             	mov    %r10d,%edx
140109650:	75 46                	jne    0x140109698
140109652:	49 39 d1             	cmp    %rdx,%r9
140109655:	0f 82 9b 00 00 00    	jb     0x1401096f6
14010965b:	41 bb 0c 00 00 00    	mov    $0xc,%r11d
140109661:	4c 03 98 b8 00 00 00 	add    0xb8(%rax),%r11
140109668:	48 8b 80 d0 00 00 00 	mov    0xd0(%rax),%rax
14010966f:	48 89 51 08          	mov    %rdx,0x8(%rcx)
140109673:	4c 89 19             	mov    %r11,(%rcx)
140109676:	8b 00                	mov    (%rax),%eax
140109678:	48 c7 41 18 00 00 00 	movq   $0x0,0x18(%rcx)
14010967f:	00
140109680:	89 41 10             	mov    %eax,0x10(%rcx)
140109683:	b8 01 00 00 00       	mov    $0x1,%eax
140109688:	48 83 c4 38          	add    $0x38,%rsp
14010968c:	5b                   	pop    %rbx
14010968d:	5e                   	pop    %rsi
14010968e:	5f                   	pop    %rdi
14010968f:	5d                   	pop    %rbp
140109690:	c3                   	ret
140109691:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140109698:	41 8d 68 ff          	lea    -0x1(%r8),%ebp
14010969c:	8d 1c ad 00 00 00 00 	lea    0x0(,%rbp,4),%ebx
1401096a3:	41 8b 1c 1b          	mov    (%r11,%rbx,1),%ebx
1401096a7:	0f cb                	bswap  %ebx
1401096a9:	49 39 d1             	cmp    %rdx,%r9
1401096ac:	72 48                	jb     0x1401096f6
1401096ae:	41 89 db             	mov    %ebx,%r11d
1401096b1:	4d 39 d9             	cmp    %r11,%r9
1401096b4:	72 58                	jb     0x14010970e
1401096b6:	41 39 da             	cmp    %ebx,%r10d
1401096b9:	73 2d                	jae    0x1401096e8
1401096bb:	44 89 c0             	mov    %r8d,%eax
1401096be:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
1401096c3:	49 89 d0             	mov    %rdx,%r8
1401096c6:	41 89 e9             	mov    %ebp,%r9d
1401096c9:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401096ce:	4c 89 da             	mov    %r11,%rdx
1401096d1:	48 8d 0d f0 e5 10 00 	lea    0x10e5f0(%rip),%rcx        # 0x140217cc8
1401096d8:	e8 23 a0 fb ff       	call   0x1400c3700
1401096dd:	31 c0                	xor    %eax,%eax
1401096df:	48 83 c4 38          	add    $0x38,%rsp
1401096e3:	5b                   	pop    %rbx
1401096e4:	5e                   	pop    %rsi
1401096e5:	5f                   	pop    %rdi
1401096e6:	5d                   	pop    %rbp
1401096e7:	c3                   	ret
1401096e8:	44 89 d2             	mov    %r10d,%edx
1401096eb:	49 83 c3 0c          	add    $0xc,%r11
1401096ef:	29 da                	sub    %ebx,%edx
1401096f1:	e9 6b ff ff ff       	jmp    0x140109661
1401096f6:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401096fb:	49 89 f9             	mov    %rdi,%r9
1401096fe:	48 8d 0d 5b e5 10 00 	lea    0x10e55b(%rip),%rcx        # 0x140217c60
140109705:	e8 f6 9f fb ff       	call   0x1400c3700
14010970a:	31 c0                	xor    %eax,%eax
14010970c:	eb d1                	jmp    0x1401096df
14010970e:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140109713:	49 89 f9             	mov    %rdi,%r9
140109716:	41 89 e8             	mov    %ebp,%r8d
140109719:	4c 89 da             	mov    %r11,%rdx
14010971c:	48 8d 0d 3d e5 10 00 	lea    0x10e53d(%rip),%rcx        # 0x140217c60
140109723:	e8 d8 9f fb ff       	call   0x1400c3700
140109728:	31 c0                	xor    %eax,%eax
14010972a:	eb b3                	jmp    0x1401096df
14010972c:	0f 1f 40 00          	nopl   0x0(%rax)
140109730:	53                   	push   %rbx
140109731:	4d 89 c3             	mov    %r8,%r11
140109734:	49 89 d2             	mov    %rdx,%r10
140109737:	49 c1 eb 02          	shr    $0x2,%r11
14010973b:	45 85 db             	test   %r11d,%r11d
14010973e:	7e 53                	jle    0x140109793
140109740:	41 8d 43 ff          	lea    -0x1(%r11),%eax
140109744:	4c 8d 4c 82 04       	lea    0x4(%rdx,%rax,4),%r9
140109749:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140109750:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140109754:	0f b6 5a 02          	movzbl 0x2(%rdx),%ebx
140109758:	48 83 c2 04          	add    $0x4,%rdx
14010975c:	c1 e3 10             	shl    $0x10,%ebx
14010975f:	c1 e0 08             	shl    $0x8,%eax
140109762:	09 d8                	or     %ebx,%eax
140109764:	0f b6 5a fc          	movzbl -0x4(%rdx),%ebx
140109768:	09 d8                	or     %ebx,%eax
14010976a:	0f b6 5a ff          	movzbl -0x1(%rdx),%ebx
14010976e:	c1 e3 18             	shl    $0x18,%ebx
140109771:	09 d8                	or     %ebx,%eax
140109773:	69 c0 51 2d 9e cc    	imul   $0xcc9e2d51,%eax,%eax
140109779:	c1 c0 0f             	rol    $0xf,%eax
14010977c:	69 c0 93 35 87 1b    	imul   $0x1b873593,%eax,%eax
140109782:	31 c8                	xor    %ecx,%eax
140109784:	c1 c0 0d             	rol    $0xd,%eax
140109787:	8d 8c 80 64 6b 54 e6 	lea    -0x19ab949c(%rax,%rax,4),%ecx
14010978e:	49 39 d1             	cmp    %rdx,%r9
140109791:	75 bd                	jne    0x140109750
140109793:	4c 89 c0             	mov    %r8,%rax
140109796:	4d 63 db             	movslq %r11d,%r11
140109799:	83 e0 03             	and    $0x3,%eax
14010979c:	4f 8d 0c 9a          	lea    (%r10,%r11,4),%r9
1401097a0:	48 83 f8 02          	cmp    $0x2,%rax
1401097a4:	74 6a                	je     0x140109810
1401097a6:	48 83 f8 03          	cmp    $0x3,%rax
1401097aa:	74 4c                	je     0x1401097f8
1401097ac:	48 83 f8 01          	cmp    $0x1,%rax
1401097b0:	75 19                	jne    0x1401097cb
1401097b2:	31 d2                	xor    %edx,%edx
1401097b4:	41 0f b6 01          	movzbl (%r9),%eax
1401097b8:	31 d0                	xor    %edx,%eax
1401097ba:	69 c0 51 2d 9e cc    	imul   $0xcc9e2d51,%eax,%eax
1401097c0:	c1 c0 0f             	rol    $0xf,%eax
1401097c3:	69 c0 93 35 87 1b    	imul   $0x1b873593,%eax,%eax
1401097c9:	31 c1                	xor    %eax,%ecx
1401097cb:	44 31 c1             	xor    %r8d,%ecx
1401097ce:	89 c8                	mov    %ecx,%eax
1401097d0:	c1 e8 10             	shr    $0x10,%eax
1401097d3:	31 c8                	xor    %ecx,%eax
1401097d5:	69 c0 6b ca eb 85    	imul   $0x85ebca6b,%eax,%eax
1401097db:	89 c2                	mov    %eax,%edx
1401097dd:	c1 ea 0d             	shr    $0xd,%edx
1401097e0:	31 c2                	xor    %eax,%edx
1401097e2:	69 d2 35 ae b2 c2    	imul   $0xc2b2ae35,%edx,%edx
1401097e8:	89 d0                	mov    %edx,%eax
1401097ea:	c1 e8 10             	shr    $0x10,%eax
1401097ed:	31 d0                	xor    %edx,%eax
1401097ef:	5b                   	pop    %rbx
1401097f0:	c3                   	ret
1401097f1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401097f8:	41 0f b6 41 02       	movzbl 0x2(%r9),%eax
1401097fd:	c1 e0 10             	shl    $0x10,%eax
140109800:	41 0f b6 51 01       	movzbl 0x1(%r9),%edx
140109805:	c1 e2 08             	shl    $0x8,%edx
140109808:	31 c2                	xor    %eax,%edx
14010980a:	eb a8                	jmp    0x1401097b4
14010980c:	0f 1f 40 00          	nopl   0x0(%rax)
140109810:	31 c0                	xor    %eax,%eax
140109812:	eb ec                	jmp    0x140109800
140109814:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14010981b:	00 00 00 00
14010981f:	90                   	nop
140109820:	41 54                	push   %r12
140109822:	55                   	push   %rbp
140109823:	57                   	push   %rdi
140109824:	56                   	push   %rsi
140109825:	53                   	push   %rbx
140109826:	48 83 ec 20          	sub    $0x20,%rsp
14010982a:	41 83 39 02          	cmpl   $0x2,(%r9)
14010982e:	48 89 cf             	mov    %rcx,%rdi
140109831:	4c 89 c5             	mov    %r8,%rbp
140109834:	4c 89 ce             	mov    %r9,%rsi
140109837:	49 89 d0             	mov    %rdx,%r8
14010983a:	48 89 ca             	mov    %rcx,%rdx
14010983d:	b9 6f e7 3a 29       	mov    $0x293ae76f,%ecx
140109842:	74 5c                	je     0x1401098a0
140109844:	e8 77 fb ff ff       	call   0x1401093c0
140109849:	48 89 fa             	mov    %rdi,%rdx
14010984c:	b9 2c 6e 64 7e       	mov    $0x7e646e2c,%ecx
140109851:	89 c3                	mov    %eax,%ebx
140109853:	e8 68 fb ff ff       	call   0x1401093c0
140109858:	89 c7                	mov    %eax,%edi
14010985a:	8b 4e 04             	mov    0x4(%rsi),%ecx
14010985d:	ba 04 00 00 00       	mov    $0x4,%edx
140109862:	e8 39 14 fc ff       	call   0x1400caca0
140109867:	8b 56 04             	mov    0x4(%rsi),%edx
14010986a:	48 89 45 00          	mov    %rax,0x0(%rbp)
14010986e:	85 d2                	test   %edx,%edx
140109870:	74 1c                	je     0x14010988e
140109872:	31 d2                	xor    %edx,%edx
140109874:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14010987b:	00 00 00 00
14010987f:	90                   	nop
140109880:	89 1c 90             	mov    %ebx,(%rax,%rdx,4)
140109883:	48 83 c2 01          	add    $0x1,%rdx
140109887:	01 fb                	add    %edi,%ebx
140109889:	3b 56 04             	cmp    0x4(%rsi),%edx
14010988c:	72 f2                	jb     0x140109880
14010988e:	48 83 c4 20          	add    $0x20,%rsp
140109892:	5b                   	pop    %rbx
140109893:	5e                   	pop    %rsi
140109894:	5f                   	pop    %rdi
140109895:	5d                   	pop    %rbp
140109896:	41 5c                	pop    %r12
140109898:	c3                   	ret
140109899:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401098a0:	e8 8b fe ff ff       	call   0x140109730
1401098a5:	48 89 fa             	mov    %rdi,%rdx
1401098a8:	b9 2c 6e 64 7e       	mov    $0x7e646e2c,%ecx
1401098ad:	89 c3                	mov    %eax,%ebx
1401098af:	e8 7c fe ff ff       	call   0x140109730
1401098b4:	89 c7                	mov    %eax,%edi
1401098b6:	eb a2                	jmp    0x14010985a
1401098b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401098bf:	00
1401098c0:	53                   	push   %rbx
1401098c1:	48 83 ec 20          	sub    $0x20,%rsp
1401098c5:	48 89 cb             	mov    %rcx,%rbx