14002841e:	90                   	nop
14002841f:	90                   	nop
140028420:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028425:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14002842a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002842f:	57                   	push   %rdi
140028430:	48 83 ec 20          	sub    $0x20,%rsp
140028434:	49 8b f0             	mov    %r8,%rsi
140028437:	48 8b f9             	mov    %rcx,%rdi
14002843a:	4d 85 c9             	test   %r9,%r9
14002843d:	74 04                	je     0x140028443
14002843f:	41 83 21 00          	andl   $0x0,(%r9)
140028443:	4d 85 c0             	test   %r8,%r8
140028446:	0f 84 8f 00 00 00    	je     0x1400284db
14002844c:	83 fa 01             	cmp    $0x1,%edx
14002844f:	76 09                	jbe    0x14002845a
140028451:	4d 85 c9             	test   %r9,%r9
140028454:	0f 84 81 00 00 00    	je     0x1400284db
14002845a:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
14002845f:	74 73                	je     0x1400284d4
140028461:	48 8b 59 18          	mov    0x18(%rcx),%rbx
140028465:	48 85 db             	test   %rbx,%rbx
140028468:	74 6a                	je     0x1400284d4
14002846a:	48 83 79 20 00       	cmpq   $0x0,0x20(%rcx)
14002846f:	74 63                	je     0x1400284d4
140028471:	48 2b 59 20          	sub    0x20(%rcx),%rbx
140028475:	33 ed                	xor    %ebp,%ebp
140028477:	48 c1 fb 03          	sar    $0x3,%rbx
14002847b:	3b da                	cmp    %edx,%ebx
14002847d:	40 0f 92 c5          	setb   %bpl
140028481:	0f 47 da             	cmova  %edx,%ebx
140028484:	4d 85 c9             	test   %r9,%r9
140028487:	74 43                	je     0x1400284cc
140028489:	41 89 19             	mov    %ebx,(%r9)
14002848c:	eb 3e                	jmp    0x1400284cc
14002848e:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140028492:	ff cb                	dec    %ebx
140028494:	48 85 f6             	test   %rsi,%rsi
140028497:	74 0c                	je     0x1400284a5
140028499:	48 85 c9             	test   %rcx,%rcx
14002849c:	74 07                	je     0x1400284a5
14002849e:	b8 01 00 00 00       	mov    $0x1,%eax
1400284a3:	eb 02                	jmp    0x1400284a7
1400284a5:	33 c0                	xor    %eax,%eax
1400284a7:	85 c0                	test   %eax,%eax
1400284a9:	74 4a                	je     0x1400284f5
1400284ab:	48 8b 09             	mov    (%rcx),%rcx
1400284ae:	48 89 0e             	mov    %rcx,(%rsi)
1400284b1:	48 85 c9             	test   %rcx,%rcx
1400284b4:	74 0d                	je     0x1400284c3
1400284b6:	48 8b 01             	mov    (%rcx),%rax
1400284b9:	48 8b 40 08          	mov    0x8(%rax),%rax
1400284bd:	ff 15 c5 71 04 00    	call   *0x471c5(%rip)        # 0x14006f688
1400284c3:	48 83 c6 08          	add    $0x8,%rsi
1400284c7:	48 83 47 20 08       	addq   $0x8,0x20(%rdi)
1400284cc:	85 db                	test   %ebx,%ebx
1400284ce:	75 be                	jne    0x14002848e
1400284d0:	8b c5                	mov    %ebp,%eax
1400284d2:	eb 0c                	jmp    0x1400284e0
1400284d4:	b8 05 40 00 80       	mov    $0x80004005,%eax
1400284d9:	eb 05                	jmp    0x1400284e0
1400284db:	b8 03 40 00 80       	mov    $0x80004003,%eax
1400284e0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400284e5:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400284ea:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400284ef:	48 83 c4 20          	add    $0x20,%rsp
1400284f3:	5f                   	pop    %rdi
1400284f4:	c3                   	ret
1400284f5:	b9 05 40 00 80       	mov    $0x80004005,%ecx
1400284fa:	e8 d1 60 ff ff       	call   0x14001e5d0
1400284ff:	cc                   	int3
140028500:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028505:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14002850a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002850f:	57                   	push   %rdi
140028510:	48 83 ec 20          	sub    $0x20,%rsp
140028514:	49 8b f0             	mov    %r8,%rsi
140028517:	48 8b f9             	mov    %rcx,%rdi
14002851a:	4d 85 c9             	test   %r9,%r9
14002851d:	74 04                	je     0x140028523
14002851f:	41 83 21 00          	andl   $0x0,(%r9)
140028523:	4d 85 c0             	test   %r8,%r8
140028526:	0f 84 93 00 00 00    	je     0x1400285bf
14002852c:	83 fa 01             	cmp    $0x1,%edx
14002852f:	76 09                	jbe    0x14002853a
140028531:	4d 85 c9             	test   %r9,%r9
140028534:	0f 84 85 00 00 00    	je     0x1400285bf
14002853a:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
14002853f:	74 77                	je     0x1400285b8
140028541:	48 8b 59 18          	mov    0x18(%rcx),%rbx
140028545:	48 85 db             	test   %rbx,%rbx
140028548:	74 6e                	je     0x1400285b8
14002854a:	48 83 79 20 00       	cmpq   $0x0,0x20(%rcx)
14002854f:	74 67                	je     0x1400285b8
140028551:	48 2b 59 20          	sub    0x20(%rcx),%rbx
140028555:	33 ed                	xor    %ebp,%ebp
140028557:	48 c1 fb 04          	sar    $0x4,%rbx
14002855b:	3b da                	cmp    %edx,%ebx
14002855d:	40 0f 92 c5          	setb   %bpl
140028561:	0f 47 da             	cmova  %edx,%ebx
140028564:	4d 85 c9             	test   %r9,%r9
140028567:	74 47                	je     0x1400285b0
140028569:	41 89 19             	mov    %ebx,(%r9)
14002856c:	eb 42                	jmp    0x1400285b0
14002856e:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140028572:	ff cb                	dec    %ebx
140028574:	48 85 f6             	test   %rsi,%rsi
140028577:	74 0c                	je     0x140028585
140028579:	48 85 c9             	test   %rcx,%rcx
14002857c:	74 07                	je     0x140028585
14002857e:	b8 01 00 00 00       	mov    $0x1,%eax
140028583:	eb 02                	jmp    0x140028587
140028585:	33 c0                	xor    %eax,%eax
140028587:	85 c0                	test   %eax,%eax
140028589:	74 4e                	je     0x1400285d9
14002858b:	0f 10 01             	movups (%rcx),%xmm0
14002858e:	f3 0f 7f 06          	movdqu %xmm0,(%rsi)
140028592:	48 8b 0e             	mov    (%rsi),%rcx
140028595:	48 85 c9             	test   %rcx,%rcx
140028598:	74 0d                	je     0x1400285a7
14002859a:	48 8b 01             	mov    (%rcx),%rax
14002859d:	48 8b 40 08          	mov    0x8(%rax),%rax
1400285a1:	ff 15 e1 70 04 00    	call   *0x470e1(%rip)        # 0x14006f688
1400285a7:	48 83 c6 10          	add    $0x10,%rsi
1400285ab:	48 83 47 20 10       	addq   $0x10,0x20(%rdi)
1400285b0:	85 db                	test   %ebx,%ebx
1400285b2:	75 ba                	jne    0x14002856e
1400285b4:	8b c5                	mov    %ebp,%eax
1400285b6:	eb 0c                	jmp    0x1400285c4
1400285b8:	b8 05 40 00 80       	mov    $0x80004005,%eax
1400285bd:	eb 05                	jmp    0x1400285c4
1400285bf:	b8 03 40 00 80       	mov    $0x80004003,%eax
1400285c4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400285c9:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400285ce:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400285d3:	48 83 c4 20          	add    $0x20,%rsp
1400285d7:	5f                   	pop    %rdi
1400285d8:	c3                   	ret
1400285d9:	b9 05 40 00 80       	mov    $0x80004005,%ecx
1400285de:	e8 ed 5f ff ff       	call   0x14001e5d0
1400285e3:	cc                   	int3
1400285e4:	0f 57 c0             	xorps  %xmm0,%xmm0
1400285e7:	48 85 d2             	test   %rdx,%rdx
1400285ea:	78 07                	js     0x1400285f3
1400285ec:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
1400285f1:	eb 15                	jmp    0x140028608
1400285f3:	48 8b c2             	mov    %rdx,%rax
1400285f6:	83 e2 01             	and    $0x1,%edx
1400285f9:	48 d1 e8             	shr    $1,%rax
1400285fc:	48 0b c2             	or     %rdx,%rax
1400285ff:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140028604:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140028608:	f3 0f 5e 41 14       	divss  0x14(%rcx),%xmm0
14002860d:	33 c0                	xor    %eax,%eax
14002860f:	f3 0f 10 0d 31 bb 07 	movss  0x7bb31(%rip),%xmm1        # 0x1400a4148
140028616:	00
140028617:	0f 2f c1             	comiss %xmm1,%xmm0
14002861a:	72 16                	jb     0x140028632
14002861c:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140028620:	0f 2f c1             	comiss %xmm1,%xmm0
140028623:	73 0d                	jae    0x140028632
140028625:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
14002862c:	00 00 80
14002862f:	48 8b c1             	mov    %rcx,%rax
140028632:	41 b9 ff ff ff ff    	mov    $0xffffffff,%r9d
140028638:	4c 8d 05 c1 83 04 00 	lea    0x483c1(%rip),%r8        # 0x140070a00
14002863f:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
140028644:	48 03 c8             	add    %rax,%rcx
140028647:	49 3b c9             	cmp    %r9,%rcx
14002864a:	41 0f 47 c9          	cmova  %r9d,%ecx
14002864e:	33 d2                	xor    %edx,%edx
140028650:	83 f9 11             	cmp    $0x11,%ecx
140028653:	76 0d                	jbe    0x140028662
140028655:	49 8b c0             	mov    %r8,%rax
140028658:	ff c2                	inc    %edx
14002865a:	48 8d 40 04          	lea    0x4(%rax),%rax
14002865e:	3b 08                	cmp    (%rax),%ecx
140028660:	77 f6                	ja     0x140028658
140028662:	48 63 c2             	movslq %edx,%rax
140028665:	41 8b 04 80          	mov    (%r8,%rax,4),%eax
140028669:	41 3b c1             	cmp    %r9d,%eax
14002866c:	0f 44 c1             	cmove  %ecx,%eax
14002866f:	c3                   	ret
140028670:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028675:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14002867a:	57                   	push   %rdi
14002867b:	48 83 ec 20          	sub    $0x20,%rsp
14002867f:	49 8b f8             	mov    %r8,%rdi
140028682:	48 8b f2             	mov    %rdx,%rsi
140028685:	48 8b d9             	mov    %rcx,%rbx
140028688:	e8 87 07 00 00       	call   0x140028e14
14002868d:	48 8d 4b f8          	lea    -0x8(%rbx),%rcx
140028691:	4c 8b cf             	mov    %rdi,%r9
140028694:	4c 8b c6             	mov    %rsi,%r8
140028697:	48 8b d0             	mov    %rax,%rdx
14002869a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002869f:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400286a4:	48 83 c4 20          	add    $0x20,%rsp
1400286a8:	5f                   	pop    %rdi
1400286a9:	e9 ee 5d ff ff       	jmp    0x14001e49c
1400286ae:	cc                   	int3
1400286af:	90                   	nop
1400286b0:	48 83 e9 40          	sub    $0x40,%rcx
1400286b4:	eb ba                	jmp    0x140028670
1400286b6:	90                   	nop
1400286b7:	90                   	nop
1400286b8:	90                   	nop
1400286b9:	90                   	nop
1400286ba:	90                   	nop
1400286bb:	90                   	nop
1400286bc:	90                   	nop
1400286bd:	90                   	nop
1400286be:	90                   	nop
1400286bf:	90                   	nop
1400286c0:	48 83 e9 60          	sub    $0x60,%rcx
1400286c4:	eb aa                	jmp    0x140028670
1400286c6:	90                   	nop
1400286c7:	90                   	nop
1400286c8:	90                   	nop
1400286c9:	90                   	nop
1400286ca:	90                   	nop
1400286cb:	90                   	nop
1400286cc:	90                   	nop
1400286cd:	90                   	nop
1400286ce:	90                   	nop
1400286cf:	90                   	nop
1400286d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400286d5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400286da:	57                   	push   %rdi
1400286db:	48 83 ec 20          	sub    $0x20,%rsp
1400286df:	49 8b f8             	mov    %r8,%rdi
1400286e2:	48 8b f2             	mov    %rdx,%rsi
1400286e5:	48 8b d9             	mov    %rcx,%rbx
1400286e8:	e8 27 07 00 00       	call   0x140028e14
1400286ed:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
1400286f1:	4c 8b cf             	mov    %rdi,%r9
1400286f4:	4c 8b c6             	mov    %rsi,%r8
1400286f7:	48 8b d0             	mov    %rax,%rdx
1400286fa:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400286ff:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140028704:	48 83 c4 20          	add    $0x20,%rsp
140028708:	5f                   	pop    %rdi
140028709:	e9 8e 5d ff ff       	jmp    0x14001e49c
14002870e:	cc                   	int3
14002870f:	90                   	nop
140028710:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028715:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14002871a:	57                   	push   %rdi
14002871b:	48 83 ec 20          	sub    $0x20,%rsp
14002871f:	49 8b d8             	mov    %r8,%rbx
140028722:	48 8b fa             	mov    %rdx,%rdi
140028725:	48 8b f1             	mov    %rcx,%rsi
140028728:	e8 b7 05 00 00       	call   0x140028ce4
14002872d:	4c 8b cb             	mov    %rbx,%r9
140028730:	4c 8b c7             	mov    %rdi,%r8
140028733:	48 8b d0             	mov    %rax,%rdx
140028736:	48 8b ce             	mov    %rsi,%rcx
140028739:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002873e:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140028743:	48 83 c4 20          	add    $0x20,%rsp
140028747:	5f                   	pop    %rdi
140028748:	e9 4f 5d ff ff       	jmp    0x14001e49c
14002874d:	cc                   	int3
14002874e:	90                   	nop
14002874f:	90                   	nop
140028750:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028755:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14002875a:	57                   	push   %rdi
14002875b:	48 83 ec 20          	sub    $0x20,%rsp
14002875f:	49 8b d8             	mov    %r8,%rbx
140028762:	48 8b fa             	mov    %rdx,%rdi
140028765:	48 8b f1             	mov    %rcx,%rsi
140028768:	e8 0f 06 00 00       	call   0x140028d7c
14002876d:	4c 8b cb             	mov    %rbx,%r9
140028770:	4c 8b c7             	mov    %rdi,%r8
140028773:	48 8b d0             	mov    %rax,%rdx
140028776:	48 8b ce             	mov    %rsi,%rcx
140028779:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002877e:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140028783:	48 83 c4 20          	add    $0x20,%rsp
140028787:	5f                   	pop    %rdi
140028788:	e9 0f 5d ff ff       	jmp    0x14001e49c
14002878d:	cc                   	int3
14002878e:	90                   	nop
14002878f:	90                   	nop
140028790:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028795:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14002879a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002879f:	57                   	push   %rdi
1400287a0:	48 83 ec 20          	sub    $0x20,%rsp
1400287a4:	8b fa                	mov    %edx,%edi
1400287a6:	48 8b d9             	mov    %rcx,%rbx
1400287a9:	85 d2                	test   %edx,%edx
1400287ab:	75 0b                	jne    0x1400287b8
1400287ad:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1400287b1:	e8 2e fe ff ff       	call   0x1400285e4
1400287b6:	8b f8                	mov    %eax,%edi
1400287b8:	3b 7b 10             	cmp    0x10(%rbx),%edi
1400287bb:	0f 84 a5 00 00 00    	je     0x140028866
1400287c1:	48 83 3b 00          	cmpq   $0x0,(%rbx)
1400287c5:	0f 84 90 00 00 00    	je     0x14002885b
1400287cb:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
1400287d2:	8b ef                	mov    %edi,%ebp
1400287d4:	b8 08 00 00 00       	mov    $0x8,%eax
1400287d9:	48 f7 e5             	mul    %rbp
1400287dc:	48 0f 42 c1          	cmovb  %rcx,%rax
1400287e0:	48 8b c8             	mov    %rax,%rcx
1400287e3:	e8 f4 d0 02 00       	call   0x1400558dc
1400287e8:	48 8b f0             	mov    %rax,%rsi
1400287eb:	48 85 c0             	test   %rax,%rax
1400287ee:	0f 84 87 00 00 00    	je     0x14002887b
1400287f4:	81 ff ff ff ff 1f    	cmp    $0x1fffffff,%edi
1400287fa:	0f 87 86 00 00 00    	ja     0x140028886
140028800:	4c 8d 04 ed 00 00 00 	lea    0x0(,%rbp,8),%r8
140028807:	00
140028808:	33 d2                	xor    %edx,%edx
14002880a:	48 8b c8             	mov    %rax,%rcx
14002880d:	e8 04 1b 04 00       	call   0x14006a316
140028812:	45 33 c9             	xor    %r9d,%r9d
140028815:	44 39 4b 10          	cmp    %r9d,0x10(%rbx)
140028819:	76 35                	jbe    0x140028850
14002881b:	48 8b 03             	mov    (%rbx),%rax
14002881e:	4e 8b 14 c8          	mov    (%rax,%r9,8),%r10
140028822:	4d 85 d2             	test   %r10,%r10
140028825:	74 20                	je     0x140028847
140028827:	41 8b 42 18          	mov    0x18(%r10),%eax
14002882b:	33 d2                	xor    %edx,%edx
14002882d:	4d 8b 42 10          	mov    0x10(%r10),%r8
140028831:	f7 f7                	div    %edi
140028833:	48 8b 04 d6          	mov    (%rsi,%rdx,8),%rax
140028837:	49 89 42 10          	mov    %rax,0x10(%r10)
14002883b:	4c 89 14 d6          	mov    %r10,(%rsi,%rdx,8)
14002883f:	4d 8b d0             	mov    %r8,%r10
140028842:	4d 85 c0             	test   %r8,%r8
140028845:	75 e0                	jne    0x140028827
140028847:	41 ff c1             	inc    %r9d
14002884a:	44 3b 4b 10          	cmp    0x10(%rbx),%r9d
14002884e:	72 cb                	jb     0x14002881b
140028850:	48 8b 0b             	mov    (%rbx),%rcx
140028853:	e8 88 d0 02 00       	call   0x1400558e0
140028858:	48 89 33             	mov    %rsi,(%rbx)
14002885b:	48 8b cb             	mov    %rbx,%rcx
14002885e:	89 7b 10             	mov    %edi,0x10(%rbx)
140028861:	e8 86 03 00 00       	call   0x140028bec
140028866:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002886b:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140028870:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140028875:	48 83 c4 20          	add    $0x20,%rsp
140028879:	5f                   	pop    %rdi
14002887a:	c3                   	ret