140585438:	83 ce 02             	or     $0x2,%esi
14058543b:	89 74 24 60          	mov    %esi,0x60(%rsp)
14058543f:	49 8b 46 48          	mov    0x48(%r14),%rax
140585443:	48 8b 08             	mov    (%rax),%rcx
140585446:	48 3b cb             	cmp    %rbx,%rcx
140585449:	74 1c                	je     0x140585467
14058544b:	41 b1 01             	mov    $0x1,%r9b
14058544e:	45 33 c0             	xor    %r8d,%r8d
140585451:	48 8b d3             	mov    %rbx,%rdx
140585454:	e8 a7 e1 1c 00       	call   0x140753600
140585459:	84 c0                	test   %al,%al
14058545b:	75 0a                	jne    0x140585467
14058545d:	40 b5 01             	mov    $0x1,%bpl
140585460:	eb 08                	jmp    0x14058546a
140585462:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
140585467:	40 32 ed             	xor    %bpl,%bpl
14058546a:	40 f6 c6 02          	test   $0x2,%sil
14058546e:	74 2c                	je     0x14058549c
140585470:	48 85 db             	test   %rbx,%rbx
140585473:	74 27                	je     0x14058549c
140585475:	8b 43 10             	mov    0x10(%rbx),%eax
140585478:	ff c8                	dec    %eax
14058547a:	89 43 10             	mov    %eax,0x10(%rbx)
14058547d:	85 c0                	test   %eax,%eax
14058547f:	7f 1b                	jg     0x14058549c
140585481:	0f 88 6e 01 00 00    	js     0x1405855f5
140585487:	48 8b 03             	mov    (%rbx),%rax
14058548a:	ba 01 00 00 00       	mov    $0x1,%edx
14058548f:	48 8b cb             	mov    %rbx,%rcx
140585492:	48 8b 00             	mov    (%rax),%rax
140585495:	ff 15 85 e5 9f 00    	call   *0x9fe585(%rip)        # 0x140f83a20
14058549b:	90                   	nop
14058549c:	40 84 ed             	test   %bpl,%bpl
14058549f:	74 27                	je     0x1405854c8
1405854a1:	48 83 7f 18 0f       	cmpq   $0xf,0x18(%rdi)
1405854a6:	76 03                	jbe    0x1405854ab
1405854a8:	48 8b 3f             	mov    (%rdi),%rdi
1405854ab:	4c 8b c7             	mov    %rdi,%r8
1405854ae:	48 8d 15 cb bd a8 00 	lea    0xa8bdcb(%rip),%rdx        # 0x141011280
1405854b5:	48 8b 0d 3c c0 ea 00 	mov    0xeac03c(%rip),%rcx        # 0x1414314f8
1405854bc:	e8 ff e0 20 00       	call   0x1407935c0
1405854c1:	32 c0                	xor    %al,%al
1405854c3:	e9 d8 00 00 00       	jmp    0x1405855a0
1405854c8:	49 8b 46 48          	mov    0x48(%r14),%rax
1405854cc:	48 8b 48 08          	mov    0x8(%rax),%rcx
1405854d0:	83 79 18 07          	cmpl   $0x7,0x18(%rcx)
1405854d4:	74 27                	je     0x1405854fd
1405854d6:	48 83 7f 18 0f       	cmpq   $0xf,0x18(%rdi)
1405854db:	76 03                	jbe    0x1405854e0
1405854dd:	48 8b 3f             	mov    (%rdi),%rdi
1405854e0:	4c 8b c7             	mov    %rdi,%r8
1405854e3:	48 8d 15 f6 bd a8 00 	lea    0xa8bdf6(%rip),%rdx        # 0x1410112e0
1405854ea:	48 8b 0d 07 c0 ea 00 	mov    0xeac007(%rip),%rcx        # 0x1414314f8
1405854f1:	e8 ca e0 20 00       	call   0x1407935c0
1405854f6:	32 c0                	xor    %al,%al
1405854f8:	e9 a3 00 00 00       	jmp    0x1405855a0
1405854fd:	48 8b 1d bc bf ea 00 	mov    0xeabfbc(%rip),%rbx        # 0x1414314c0
140585504:	48 85 db             	test   %rbx,%rbx
140585507:	74 1c                	je     0x140585525
140585509:	8b 43 10             	mov    0x10(%rbx),%eax
14058550c:	ff c0                	inc    %eax
14058550e:	89 43 10             	mov    %eax,0x10(%rbx)
140585511:	83 f8 01             	cmp    $0x1,%eax
140585514:	0f 8e e6 00 00 00    	jle    0x140585600
14058551a:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14058551f:	0f 84 e3 00 00 00    	je     0x140585608
140585525:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
14058552a:	49 8b 46 48          	mov    0x48(%r14),%rax
14058552e:	48 8b 48 10          	mov    0x10(%rax),%rcx
140585532:	48 3b cb             	cmp    %rbx,%rcx
140585535:	75 05                	jne    0x14058553c
140585537:	40 b6 01             	mov    $0x1,%sil
14058553a:	eb 11                	jmp    0x14058554d
14058553c:	41 b1 01             	mov    $0x1,%r9b
14058553f:	45 33 c0             	xor    %r8d,%r8d
140585542:	48 8b d3             	mov    %rbx,%rdx
140585545:	e8 b6 e0 1c 00       	call   0x140753600
14058554a:	0f b6 f0             	movzbl %al,%esi
14058554d:	48 85 db             	test   %rbx,%rbx
140585550:	74 23                	je     0x140585575
140585552:	8b 4b 10             	mov    0x10(%rbx),%ecx
140585555:	ff c9                	dec    %ecx
140585557:	89 4b 10             	mov    %ecx,0x10(%rbx)
14058555a:	85 c9                	test   %ecx,%ecx
14058555c:	7f 17                	jg     0x140585575
14058555e:	78 59                	js     0x1405855b9
140585560:	48 8b 03             	mov    (%rbx),%rax
140585563:	ba 01 00 00 00       	mov    $0x1,%edx
140585568:	48 8b cb             	mov    %rbx,%rcx
14058556b:	48 8b 00             	mov    (%rax),%rax
14058556e:	ff 15 ac e4 9f 00    	call   *0x9fe4ac(%rip)        # 0x140f83a20
140585574:	90                   	nop
140585575:	40 84 f6             	test   %sil,%sil
140585578:	75 24                	jne    0x14058559e
14058557a:	48 83 7f 18 0f       	cmpq   $0xf,0x18(%rdi)
14058557f:	76 03                	jbe    0x140585584
140585581:	48 8b 3f             	mov    (%rdi),%rdi
140585584:	4c 8b c7             	mov    %rdi,%r8
140585587:	48 8d 15 a2 bd a8 00 	lea    0xa8bda2(%rip),%rdx        # 0x141011330
14058558e:	48 8b 0d 63 bf ea 00 	mov    0xeabf63(%rip),%rcx        # 0x1414314f8
140585595:	e8 26 e0 20 00       	call   0x1407935c0
14058559a:	32 c0                	xor    %al,%al
14058559c:	eb 02                	jmp    0x1405855a0
14058559e:	b0 01                	mov    $0x1,%al
1405855a0:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1405855a5:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1405855aa:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1405855af:	48 83 c4 30          	add    $0x30,%rsp
1405855b3:	41 5f                	pop    %r15
1405855b5:	41 5e                	pop    %r14
1405855b7:	5f                   	pop    %rdi
1405855b8:	c3                   	ret
1405855b9:	b9 02 00 00 00       	mov    $0x2,%ecx
1405855be:	e8 3d 51 20 00       	call   0x14078a700
1405855c3:	90                   	nop
1405855c4:	33 c9                	xor    %ecx,%ecx
1405855c6:	e8 35 51 20 00       	call   0x14078a700
1405855cb:	cc                   	int3
1405855cc:	b9 01 00 00 00       	mov    $0x1,%ecx
1405855d1:	e8 2a 51 20 00       	call   0x14078a700
1405855d6:	90                   	nop
1405855d7:	b9 02 00 00 00       	mov    $0x2,%ecx
1405855dc:	e8 1f 51 20 00       	call   0x14078a700
1405855e1:	90                   	nop
1405855e2:	33 c9                	xor    %ecx,%ecx
1405855e4:	e8 17 51 20 00       	call   0x14078a700
1405855e9:	cc                   	int3
1405855ea:	b9 01 00 00 00       	mov    $0x1,%ecx
1405855ef:	e8 0c 51 20 00       	call   0x14078a700
1405855f4:	90                   	nop
1405855f5:	b9 02 00 00 00       	mov    $0x2,%ecx
1405855fa:	e8 01 51 20 00       	call   0x14078a700
1405855ff:	90                   	nop
140585600:	33 c9                	xor    %ecx,%ecx
140585602:	e8 f9 50 20 00       	call   0x14078a700
140585607:	cc                   	int3
140585608:	b9 01 00 00 00       	mov    $0x1,%ecx
14058560d:	e8 ee 50 20 00       	call   0x14078a700
140585612:	cc                   	int3
140585613:	cc                   	int3
140585614:	cc                   	int3
140585615:	cc                   	int3
140585616:	cc                   	int3
140585617:	cc                   	int3
140585618:	cc                   	int3
140585619:	cc                   	int3
14058561a:	cc                   	int3
14058561b:	cc                   	int3
14058561c:	cc                   	int3
14058561d:	cc                   	int3
14058561e:	cc                   	int3
14058561f:	cc                   	int3
140585620:	40 56                	rex push %rsi
140585622:	48 83 ec 20          	sub    $0x20,%rsp
140585626:	48 8b 41 30          	mov    0x30(%rcx),%rax
14058562a:	48 8b f1             	mov    %rcx,%rsi
14058562d:	48 85 c0             	test   %rax,%rax
140585630:	0f 84 5c 01 00 00    	je     0x140585792
140585636:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14058563b:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140585640:	66 01 48 0c          	add    %cx,0xc(%rax)
140585644:	4c 8b c6             	mov    %rsi,%r8
140585647:	48 8b 46 30          	mov    0x30(%rsi),%rax
14058564b:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140585650:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140585655:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
14058565a:	4c 8b 70 48          	mov    0x48(%rax),%r14
14058565e:	49 8b 6e 08          	mov    0x8(%r14),%rbp
140585662:	49 8b 0e             	mov    (%r14),%rcx
140585665:	48 8b d5             	mov    %rbp,%rdx
140585668:	e8 d3 79 87 00       	call   0x140dfd040
14058566d:	48 8b f8             	mov    %rax,%rdi
140585670:	48 3b c5             	cmp    %rbp,%rax
140585673:	74 23                	je     0x140585698
140585675:	48 8d 48 08          	lea    0x8(%rax),%rcx
140585679:	48 3b cd             	cmp    %rbp,%rcx
14058567c:	74 1a                	je     0x140585698
14058567e:	66 90                	xchg   %ax,%ax
140585680:	48 8b 01             	mov    (%rcx),%rax
140585683:	48 3b c6             	cmp    %rsi,%rax
140585686:	74 07                	je     0x14058568f
140585688:	48 89 07             	mov    %rax,(%rdi)
14058568b:	48 83 c7 08          	add    $0x8,%rdi
14058568f:	48 83 c1 08          	add    $0x8,%rcx
140585693:	48 3b cd             	cmp    %rbp,%rcx
140585696:	75 e8                	jne    0x140585680
140585698:	48 3b fd             	cmp    %rbp,%rdi
14058569b:	74 1d                	je     0x1405856ba
14058569d:	49 8b 5e 08          	mov    0x8(%r14),%rbx
1405856a1:	48 8b d5             	mov    %rbp,%rdx
1405856a4:	48 2b dd             	sub    %rbp,%rbx
1405856a7:	48 8b cf             	mov    %rdi,%rcx
1405856aa:	4c 8b c3             	mov    %rbx,%r8
1405856ad:	e8 5e 99 95 00       	call   0x140edf010
1405856b2:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
1405856b6:	49 89 46 08          	mov    %rax,0x8(%r14)
1405856ba:	48 8b 1e             	mov    (%rsi),%rbx
1405856bd:	33 ff                	xor    %edi,%edi
1405856bf:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
1405856c4:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1405856c9:	48 85 db             	test   %rbx,%rbx
1405856cc:	74 55                	je     0x140585723
1405856ce:	48 8b 0b             	mov    (%rbx),%rcx
1405856d1:	48 85 c9             	test   %rcx,%rcx
1405856d4:	74 40                	je     0x140585716
1405856d6:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1405856da:	48 2b d1             	sub    %rcx,%rdx
1405856dd:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
1405856e1:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405856e8:	72 1c                	jb     0x140585706
1405856ea:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405856ee:	48 83 c2 27          	add    $0x27,%rdx
1405856f2:	49 2b c8             	sub    %r8,%rcx
1405856f5:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405856f9:	48 83 f8 1f          	cmp    $0x1f,%rax
1405856fd:	0f 87 95 00 00 00    	ja     0x140585798
140585703:	49 8b c8             	mov    %r8,%rcx
140585706:	e8 39 5a 89 00       	call   0x140e1b144
14058570b:	48 89 3b             	mov    %rdi,(%rbx)
14058570e:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140585712:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
140585716:	ba 18 00 00 00       	mov    $0x18,%edx
14058571b:	48 8b cb             	mov    %rbx,%rcx
14058571e:	e8 21 5a 89 00       	call   0x140e1b144
140585723:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140585727:	48 85 db             	test   %rbx,%rbx
14058572a:	74 51                	je     0x14058577d
14058572c:	48 8b 0b             	mov    (%rbx),%rcx
14058572f:	48 85 c9             	test   %rcx,%rcx
140585732:	74 3c                	je     0x140585770
140585734:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140585738:	48 2b d1             	sub    %rcx,%rdx
14058573b:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
14058573f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140585746:	72 18                	jb     0x140585760
140585748:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14058574c:	48 83 c2 27          	add    $0x27,%rdx
140585750:	49 2b c8             	sub    %r8,%rcx
140585753:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140585757:	48 83 f8 1f          	cmp    $0x1f,%rax
14058575b:	77 3b                	ja     0x140585798
14058575d:	49 8b c8             	mov    %r8,%rcx
140585760:	e8 df 59 89 00       	call   0x140e1b144
140585765:	48 89 3b             	mov    %rdi,(%rbx)
140585768:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14058576c:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
140585770:	ba 18 00 00 00       	mov    $0x18,%edx
140585775:	48 8b cb             	mov    %rbx,%rcx
140585778:	e8 c7 59 89 00       	call   0x140e1b144
14058577d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140585782:	48 89 3e             	mov    %rdi,(%rsi)
140585785:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140585789:	48 89 7e 30          	mov    %rdi,0x30(%rsi)
14058578d:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140585792:	48 83 c4 20          	add    $0x20,%rsp
140585796:	5e                   	pop    %rsi
140585797:	c3                   	ret
140585798:	e8 07 4a 8a 00       	call   0x140e2a1a4
14058579d:	cc                   	int3
14058579e:	cc                   	int3
14058579f:	cc                   	int3
1405857a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405857a5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1405857aa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1405857af:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1405857b4:	41 54                	push   %r12
1405857b6:	41 56                	push   %r14
1405857b8:	41 57                	push   %r15
1405857ba:	48 83 ec 20          	sub    $0x20,%rsp
1405857be:	4c 8b e1             	mov    %rcx,%r12
1405857c1:	49 63 f0             	movslq %r8d,%rsi
1405857c4:	41 8b 09             	mov    (%r9),%ecx
1405857c7:	49 8b f9             	mov    %r9,%rdi
1405857ca:	4c 8b f2             	mov    %rdx,%r14
1405857cd:	8d 41 ff             	lea    -0x1(%rcx),%eax
1405857d0:	83 f8 12             	cmp    $0x12,%eax
1405857d3:	0f 87 8e 01 00 00    	ja     0x140585967
1405857d9:	48 8d 15 20 a8 a7 ff 	lea    -0x5857e0(%rip),%rdx        # 0x140000000
1405857e0:	48 98                	cltq
1405857e2:	44 8b 84 82 80 59 58 	mov    0x585980(%rdx,%rax,4),%r8d
1405857e9:	00
1405857ea:	4c 03 c2             	add    %rdx,%r8
1405857ed:	41 ff e0             	jmp    *%r8
1405857f0:	49 8b 41 10          	mov    0x10(%r9),%rax
1405857f4:	4a 89 04 36          	mov    %rax,(%rsi,%r14,1)
1405857f8:	b8 08 00 00 00       	mov    $0x8,%eax
1405857fd:	eb 5d                	jmp    0x14058585c
1405857ff:	49 8b 41 10          	mov    0x10(%r9),%rax
140585803:	4a 89 04 36          	mov    %rax,(%rsi,%r14,1)
140585807:	41 8b 41 18          	mov    0x18(%r9),%eax
14058580b:	42 89 44 36 08       	mov    %eax,0x8(%rsi,%r14,1)
140585810:	b8 0c 00 00 00       	mov    $0xc,%eax
140585815:	eb 45                	jmp    0x14058585c
140585817:	4d 63 41 18          	movslq 0x18(%r9),%r8
14058581b:	4a 8d 0c 36          	lea    (%rsi,%r14,1),%rcx
14058581f:	49 8b 51 10          	mov    0x10(%r9),%rdx
140585823:	e8 e8 97 95 00       	call   0x140edf010
140585828:	48 63 47 18          	movslq 0x18(%rdi),%rax
14058582c:	33 c9                	xor    %ecx,%ecx
14058582e:	48 03 c6             	add    %rsi,%rax
140585831:	42 88 0c 30          	mov    %cl,(%rax,%r14,1)
140585835:	8b 47 18             	mov    0x18(%rdi),%eax
140585838:	ff c0                	inc    %eax
14058583a:	eb 20                	jmp    0x14058585c
14058583c:	41 8b 49 10          	mov    0x10(%r9),%ecx
140585840:	33 db                	xor    %ebx,%ebx
140585842:	85 c9                	test   %ecx,%ecx
140585844:	74 35                	je     0x14058587b
140585846:	83 f9 01             	cmp    $0x1,%ecx
140585849:	75 0f                	jne    0x14058585a
14058584b:	41 0f 10 41 14       	movups 0x14(%r9),%xmm0
140585850:	bb 10 00 00 00       	mov    $0x10,%ebx
140585855:	42 0f 11 04 36       	movups %xmm0,(%rsi,%r14,1)
14058585a:	8b c3                	mov    %ebx,%eax
14058585c:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140585861:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140585866:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14058586b:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140585870:	48 83 c4 20          	add    $0x20,%rsp
140585874:	41 5f                	pop    %r15
140585876:	41 5e                	pop    %r14
140585878:	41 5c                	pop    %r12
14058587a:	c3                   	ret
14058587b:	41 8b 49 14          	mov    0x14(%r9),%ecx
14058587f:	bb 04 00 00 00       	mov    $0x4,%ebx
140585884:	42 89 0c 36          	mov    %ecx,(%rsi,%r14,1)
140585888:	eb d0                	jmp    0x14058585a
14058588a:	41 8b 49 10          	mov    0x10(%r9),%ecx
14058588e:	33 db                	xor    %ebx,%ebx
140585890:	85 c9                	test   %ecx,%ecx
140585892:	74 16                	je     0x1405858aa
140585894:	83 f9 01             	cmp    $0x1,%ecx
140585897:	75 1e                	jne    0x1405858b7
140585899:	41 0f 10 41 14       	movups 0x14(%r9),%xmm0
14058589e:	bb 10 00 00 00       	mov    $0x10,%ebx
1405858a3:	42 0f 11 04 36       	movups %xmm0,(%rsi,%r14,1)
1405858a8:	eb 0d                	jmp    0x1405858b7
1405858aa:	41 8b 41 14          	mov    0x14(%r9),%eax
1405858ae:	bb 04 00 00 00       	mov    $0x4,%ebx
1405858b3:	42 89 04 36          	mov    %eax,(%rsi,%r14,1)
1405858b7:	41 0f b6 41 24       	movzbl 0x24(%r9),%eax
1405858bc:	8b cb                	mov    %ebx,%ecx
1405858be:	49 03 ce             	add    %r14,%rcx
1405858c1:	88 04 0e             	mov    %al,(%rsi,%rcx,1)
1405858c4:	8d 43 01             	lea    0x1(%rbx),%eax
1405858c7:	eb 93                	jmp    0x14058585c
1405858c9:	49 8b 51 10          	mov    0x10(%r9),%rdx
1405858cd:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
1405858d4:	48 ff c3             	inc    %rbx
1405858d7:	80 3c 1a 00          	cmpb   $0x0,(%rdx,%rbx,1)