140e624a3:	48 8b f2             	mov    %rdx,%rsi
140e624a6:	49 8b d9             	mov    %r9,%rbx
140e624a9:	48 8b d1             	mov    %rcx,%rdx
140e624ac:	41 8b f8             	mov    %r8d,%edi
140e624af:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140e624b4:	e8 ab fc fc ff       	call   0x140e32164
140e624b9:	8b 84 24 a8 00 00 00 	mov    0xa8(%rsp),%eax
140e624c0:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140e624c5:	89 44 24 38          	mov    %eax,0x38(%rsp)
140e624c9:	4c 8b cb             	mov    %rbx,%r9
140e624cc:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
140e624d3:	44 8b c7             	mov    %edi,%r8d
140e624d6:	89 44 24 30          	mov    %eax,0x30(%rsp)
140e624da:	48 8b d6             	mov    %rsi,%rdx
140e624dd:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
140e624e4:	00
140e624e5:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140e624ea:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
140e624f1:	89 44 24 20          	mov    %eax,0x20(%rsp)
140e624f5:	e8 16 fc ff ff       	call   0x140e62110
140e624fa:	80 7c 24 58 00       	cmpb   $0x0,0x58(%rsp)
140e624ff:	74 0c                	je     0x140e6250d
140e62501:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140e62506:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140e6250d:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140e62512:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140e62517:	48 83 c4 60          	add    $0x60,%rsp
140e6251b:	5f                   	pop    %rdi
140e6251c:	c3                   	ret
140e6251d:	cc                   	int3
140e6251e:	cc                   	int3
140e6251f:	cc                   	int3
140e62520:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e62525:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e6252a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e6252f:	57                   	push   %rdi
140e62530:	41 54                	push   %r12
140e62532:	41 55                	push   %r13
140e62534:	41 56                	push   %r14
140e62536:	41 57                	push   %r15
140e62538:	48 83 ec 20          	sub    $0x20,%rsp
140e6253c:	48 8b d9             	mov    %rcx,%rbx
140e6253f:	bd ff 07 00 00       	mov    $0x7ff,%ebp
140e62544:	0f b7 49 06          	movzwl 0x6(%rcx),%ecx
140e62548:	8b f2                	mov    %edx,%esi
140e6254a:	66 c1 e9 04          	shr    $0x4,%cx
140e6254e:	66 23 cd             	and    %bp,%cx
140e62551:	66 3b cd             	cmp    %bp,%cx
140e62554:	75 2b                	jne    0x140e62581
140e62556:	f6 43 06 0f          	testb  $0xf,0x6(%rbx)
140e6255a:	75 18                	jne    0x140e62574
140e6255c:	33 ff                	xor    %edi,%edi
140e6255e:	66 39 7b 04          	cmp    %di,0x4(%rbx)
140e62562:	75 10                	jne    0x140e62574
140e62564:	66 39 7b 02          	cmp    %di,0x2(%rbx)
140e62568:	75 0a                	jne    0x140e62574
140e6256a:	66 39 3b             	cmp    %di,(%rbx)
140e6256d:	75 05                	jne    0x140e62574
140e6256f:	8d 77 01             	lea    0x1(%rdi),%esi
140e62572:	eb 05                	jmp    0x140e62579
140e62574:	be 02 00 00 00       	mov    $0x2,%esi
140e62579:	0f b7 c6             	movzwl %si,%eax
140e6257c:	e9 f8 01 00 00       	jmp    0x140e62779
140e62581:	33 ff                	xor    %edi,%edi
140e62583:	66 85 c9             	test   %cx,%cx
140e62586:	75 14                	jne    0x140e6259c
140e62588:	48 8b cb             	mov    %rbx,%rcx
140e6258b:	e8 80 09 00 00       	call   0x140e62f10
140e62590:	0f b7 c8             	movzwl %ax,%ecx
140e62593:	66 3b f8             	cmp    %ax,%di
140e62596:	0f 8c da 01 00 00    	jl     0x140e62776
140e6259c:	0f bf d1             	movswl %cx,%edx
140e6259f:	85 f6                	test   %esi,%esi
140e625a1:	7e 29                	jle    0x140e625cc
140e625a3:	2b ea                	sub    %edx,%ebp
140e625a5:	3b ee                	cmp    %esi,%ebp
140e625a7:	7f 23                	jg     0x140e625cc
140e625a9:	f2 0f 10 05 7f 45 38 	movsd  0x38457f(%rip),%xmm0        # 0x1411e6b30
140e625b0:	00
140e625b1:	66 39 7b 06          	cmp    %di,0x6(%rbx)
140e625b5:	7d 07                	jge    0x140e625be
140e625b7:	0f 57 05 e2 c0 14 00 	xorps  0x14c0e2(%rip),%xmm0        # 0x140fae6a0
140e625be:	f2 0f 11 03          	movsd  %xmm0,(%rbx)
140e625c2:	b8 01 00 00 00       	mov    $0x1,%eax
140e625c7:	e9 ad 01 00 00       	jmp    0x140e62779
140e625cc:	44 0f b7 5b 06       	movzwl 0x6(%rbx),%r11d
140e625d1:	8b c2                	mov    %edx,%eax
140e625d3:	f7 d8                	neg    %eax
140e625d5:	3b c6                	cmp    %esi,%eax
140e625d7:	7d 20                	jge    0x140e625f9
140e625d9:	66 03 f1             	add    %cx,%si
140e625dc:	b8 0f 80 00 00       	mov    $0x800f,%eax
140e625e1:	66 c1 e6 04          	shl    $0x4,%si
140e625e5:	66 44 23 d8          	and    %ax,%r11w
140e625e9:	66 41 0b f3          	or     %r11w,%si
140e625ed:	66 89 73 06          	mov    %si,0x6(%rbx)
140e625f1:	83 c8 ff             	or     $0xffffffff,%eax
140e625f4:	e9 80 01 00 00       	jmp    0x140e62779
140e625f9:	45 0f b7 fb          	movzwl %r11w,%r15d
140e625fd:	8d 6e ff             	lea    -0x1(%rsi),%ebp
140e62600:	66 41 83 e3 0f       	and    $0xf,%r11w
140e62605:	41 bd 00 80 00 00    	mov    $0x8000,%r13d
140e6260b:	41 bc 10 00 00 00    	mov    $0x10,%r12d
140e62611:	66 45 23 fd          	and    %r13w,%r15w
140e62615:	66 45 0b dc          	or     %r12w,%r11w
140e62619:	03 ea                	add    %edx,%ebp
140e6261b:	83 fd cb             	cmp    $0xffffffcb,%ebp
140e6261e:	0f 8c 47 01 00 00    	jl     0x140e6276b
140e62624:	85 ed                	test   %ebp,%ebp
140e62626:	0f 89 3f 01 00 00    	jns    0x140e6276b
140e6262c:	41 8d 74 24 f1       	lea    -0xf(%r12),%esi
140e62631:	44 0f b7 f7          	movzwl %di,%r14d
140e62635:	66 83 fd f0          	cmp    $0xfff0,%bp
140e62639:	7f 53                	jg     0x140e6268e
140e6263b:	0f b7 53 04          	movzwl 0x4(%rbx),%edx
140e6263f:	b8 f0 ff 00 00       	mov    $0xfff0,%eax
140e62644:	44 0f b7 43 02       	movzwl 0x2(%rbx),%r8d
140e62649:	66 2b c5             	sub    %bp,%ax
140e6264c:	66 c1 e8 04          	shr    $0x4,%ax
140e62650:	66 03 c6             	add    %si,%ax
140e62653:	0f b7 c8             	movzwl %ax,%ecx
140e62656:	0f b7 c1             	movzwl %cx,%eax
140e62659:	66 c1 e0 04          	shl    $0x4,%ax
140e6265d:	66 03 e8             	add    %ax,%bp
140e62660:	66 45 85 f6          	test   %r14w,%r14w
140e62664:	8b c7                	mov    %edi,%eax
140e62666:	0f 95 c0             	setne  %al
140e62669:	44 0f b7 f0          	movzwl %ax,%r14d
140e6266d:	66 44 0b 33          	or     (%rbx),%r14w
140e62671:	66 44 89 03          	mov    %r8w,(%rbx)
140e62675:	44 0f b7 c2          	movzwl %dx,%r8d
140e62679:	41 0f b7 d3          	movzwl %r11w,%edx
140e6267d:	44 8b df             	mov    %edi,%r11d
140e62680:	48 2b ce             	sub    %rsi,%rcx
140e62683:	75 db                	jne    0x140e62660
140e62685:	66 89 53 04          	mov    %dx,0x4(%rbx)
140e62689:	66 44 89 43 02       	mov    %r8w,0x2(%rbx)
140e6268e:	66 f7 dd             	neg    %bp
140e62691:	74 7a                	je     0x140e6270d
140e62693:	44 0f b7 03          	movzwl (%rbx),%r8d
140e62697:	8b c7                	mov    %edi,%eax
140e62699:	44 0f b7 4b 02       	movzwl 0x2(%rbx),%r9d
140e6269e:	41 0f b7 d0          	movzwl %r8w,%edx
140e626a2:	44 0f bf d5          	movswl %bp,%r10d
140e626a6:	45 2b e2             	sub    %r10d,%r12d
140e626a9:	41 8b cc             	mov    %r12d,%ecx
140e626ac:	66 d3 e2             	shl    %cl,%dx
140e626af:	66 45 85 f6          	test   %r14w,%r14w
140e626b3:	44 0f b7 f2          	movzwl %dx,%r14d
140e626b7:	0f b7 53 04          	movzwl 0x4(%rbx),%edx
140e626bb:	0f 95 c0             	setne  %al
140e626be:	66 44 0b f0          	or     %ax,%r14w
140e626c2:	41 0f b7 c1          	movzwl %r9w,%eax
140e626c6:	66 d3 e0             	shl    %cl,%ax
140e626c9:	0f b7 cd             	movzwl %bp,%ecx
140e626cc:	66 41 d3 e8          	shr    %cl,%r8w
140e626d0:	41 8b cc             	mov    %r12d,%ecx
140e626d3:	66 41 0b c0          	or     %r8w,%ax
140e626d7:	66 89 03             	mov    %ax,(%rbx)
140e626da:	0f b7 c2             	movzwl %dx,%eax
140e626dd:	66 d3 e0             	shl    %cl,%ax
140e626e0:	0f b7 cd             	movzwl %bp,%ecx
140e626e3:	66 41 d3 e9          	shr    %cl,%r9w
140e626e7:	41 8b cc             	mov    %r12d,%ecx
140e626ea:	66 41 0b c1          	or     %r9w,%ax
140e626ee:	66 89 43 02          	mov    %ax,0x2(%rbx)
140e626f2:	41 0f b7 c3          	movzwl %r11w,%eax
140e626f6:	66 d3 e0             	shl    %cl,%ax
140e626f9:	0f b7 cd             	movzwl %bp,%ecx
140e626fc:	66 d3 ea             	shr    %cl,%dx
140e626ff:	41 8b ca             	mov    %r10d,%ecx
140e62702:	66 0b c2             	or     %dx,%ax
140e62705:	66 89 43 04          	mov    %ax,0x4(%rbx)
140e62709:	66 41 d3 eb          	shr    %cl,%r11w
140e6270d:	66 45 0b df          	or     %r15w,%r11w
140e62711:	66 44 89 5b 06       	mov    %r11w,0x6(%rbx)
140e62716:	66 45 3b ee          	cmp    %r14w,%r13w
140e6271a:	72 07                	jb     0x140e62723
140e6271c:	75 24                	jne    0x140e62742
140e6271e:	40 84 33             	test   %sil,(%rbx)
140e62721:	74 1f                	je     0x140e62742
140e62723:	66 01 33             	add    %si,(%rbx)
140e62726:	75 1a                	jne    0x140e62742
140e62728:	66 01 73 02          	add    %si,0x2(%rbx)
140e6272c:	75 14                	jne    0x140e62742
140e6272e:	66 01 73 04          	add    %si,0x4(%rbx)
140e62732:	75 0e                	jne    0x140e62742
140e62734:	66 44 03 de          	add    %si,%r11w
140e62738:	66 44 89 5b 06       	mov    %r11w,0x6(%rbx)
140e6273d:	e9 af fe ff ff       	jmp    0x140e625f1
140e62742:	66 45 3b df          	cmp    %r15w,%r11w
140e62746:	0f 85 a5 fe ff ff    	jne    0x140e625f1
140e6274c:	66 39 7b 04          	cmp    %di,0x4(%rbx)
140e62750:	0f 85 9b fe ff ff    	jne    0x140e625f1
140e62756:	66 39 7b 02          	cmp    %di,0x2(%rbx)
140e6275a:	0f 85 91 fe ff ff    	jne    0x140e625f1
140e62760:	0f b7 03             	movzwl (%rbx),%eax
140e62763:	66 f7 d8             	neg    %ax
140e62766:	66 1b c0             	sbb    %ax,%ax
140e62769:	eb 0e                	jmp    0x140e62779
140e6276b:	66 44 89 7b 06       	mov    %r15w,0x6(%rbx)
140e62770:	89 7b 02             	mov    %edi,0x2(%rbx)
140e62773:	66 89 3b             	mov    %di,(%rbx)
140e62776:	0f b7 c7             	movzwl %di,%eax
140e62779:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140e6277e:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140e62783:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140e62788:	48 83 c4 20          	add    $0x20,%rsp
140e6278c:	41 5f                	pop    %r15
140e6278e:	41 5e                	pop    %r14
140e62790:	41 5d                	pop    %r13
140e62792:	41 5c                	pop    %r12
140e62794:	5f                   	pop    %rdi
140e62795:	c3                   	ret
140e62796:	cc                   	int3
140e62797:	cc                   	int3
140e62798:	cc                   	int3
140e62799:	cc                   	int3
140e6279a:	cc                   	int3
140e6279b:	cc                   	int3
140e6279c:	cc                   	int3
140e6279d:	cc                   	int3
140e6279e:	cc                   	int3
140e6279f:	cc                   	int3
140e627a0:	40 53                	rex push %rbx
140e627a2:	48 83 ec 20          	sub    $0x20,%rsp
140e627a6:	4d 85 c0             	test   %r8,%r8
140e627a9:	48 8d 1d e0 d7 63 00 	lea    0x63d7e0(%rip),%rbx        # 0x14149ff90
140e627b0:	b8 00 24 00 00       	mov    $0x2400,%eax
140e627b5:	4c 8b d1             	mov    %rcx,%r10
140e627b8:	49 0f 45 d8          	cmovne %r8,%rbx
140e627bc:	b9 ff 03 00 00       	mov    $0x3ff,%ecx
140e627c1:	03 c2                	add    %edx,%eax
140e627c3:	83 3b 00             	cmpl   $0x0,(%rbx)
140e627c6:	75 47                	jne    0x140e6280f
140e627c8:	66 3b c1             	cmp    %cx,%ax
140e627cb:	77 0d                	ja     0x140e627da
140e627cd:	49 8b d1             	mov    %r9,%rdx
140e627d0:	48 8b cb             	mov    %rbx,%rcx
140e627d3:	e8 78 06 00 00       	call   0x140e62e50
140e627d8:	eb 63                	jmp    0x140e6283d
140e627da:	b8 00 28 00 00       	mov    $0x2800,%eax
140e627df:	03 c2                	add    %edx,%eax
140e627e1:	66 3b c1             	cmp    %cx,%ax
140e627e4:	77 16                	ja     0x140e627fc
140e627e6:	0f b7 c2             	movzwl %dx,%eax
140e627e9:	c1 e0 0a             	shl    $0xa,%eax
140e627ec:	25 00 fc 9f fc       	and    $0xfc9ffc00,%eax
140e627f1:	05 00 00 01 00       	add    $0x10000,%eax
140e627f6:	89 03                	mov    %eax,(%rbx)
140e627f8:	33 c0                	xor    %eax,%eax
140e627fa:	eb 41                	jmp    0x140e6283d
140e627fc:	0f b7 d2             	movzwl %dx,%edx
140e627ff:	4c 8b c3             	mov    %rbx,%r8
140e62802:	49 8b ca             	mov    %r10,%rcx
140e62805:	48 83 c4 20          	add    $0x20,%rsp
140e62809:	5b                   	pop    %rbx
140e6280a:	e9 e9 f0 ff ff       	jmp    0x140e618f8
140e6280f:	66 3b c1             	cmp    %cx,%ax
140e62812:	77 b9                	ja     0x140e627cd
140e62814:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
140e6281a:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
140e6281f:	0f b7 d2             	movzwl %dx,%edx
140e62822:	49 8b ca             	mov    %r10,%rcx
140e62825:	81 e2 ff 23 ff ff    	and    $0xffff23ff,%edx
140e6282b:	03 13                	add    (%rbx),%edx
140e6282d:	e8 c6 f0 ff ff       	call   0x140e618f8
140e62832:	48 8b d3             	mov    %rbx,%rdx
140e62835:	48 8b c8             	mov    %rax,%rcx
140e62838:	e8 0b 06 00 00       	call   0x140e62e48
140e6283d:	48 83 c4 20          	add    $0x20,%rsp
140e62841:	5b                   	pop    %rbx
140e62842:	c3                   	ret
140e62843:	cc                   	int3
140e62844:	cc                   	int3
140e62845:	cc                   	int3
140e62846:	cc                   	int3
140e62847:	cc                   	int3
140e62848:	cc                   	int3
140e62849:	cc                   	int3
140e6284a:	cc                   	int3
140e6284b:	cc                   	int3
140e6284c:	cc                   	int3
140e6284d:	cc                   	int3
140e6284e:	cc                   	int3
140e6284f:	cc                   	int3
140e62850:	48 83 ec 28          	sub    $0x28,%rsp
140e62854:	e8 e7 a5 ff ff       	call   0x140e5ce40
140e62859:	33 c9                	xor    %ecx,%ecx
140e6285b:	84 c0                	test   %al,%al
140e6285d:	0f 94 c1             	sete   %cl
140e62860:	8b c1                	mov    %ecx,%eax
140e62862:	48 83 c4 28          	add    $0x28,%rsp
140e62866:	c3                   	ret
140e62867:	cc                   	int3
140e62868:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e6286d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e62872:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e62877:	57                   	push   %rdi
140e62878:	41 56                	push   %r14
140e6287a:	41 57                	push   %r15
140e6287c:	48 83 ec 20          	sub    $0x20,%rsp
140e62880:	45 33 ff             	xor    %r15d,%r15d
140e62883:	41 8b e9             	mov    %r9d,%ebp
140e62886:	49 8b f0             	mov    %r8,%rsi
140e62889:	48 8b da             	mov    %rdx,%rbx
140e6288c:	44 8b d1             	mov    %ecx,%r10d
140e6288f:	4c 8b da             	mov    %rdx,%r11
140e62892:	41 8b ff             	mov    %r15d,%edi
140e62895:	44 38 7c 24 60       	cmp    %r15b,0x60(%rsp)
140e6289a:	74 11                	je     0x140e628ad
140e6289c:	41 8d 47 2d          	lea    0x2d(%r15),%eax
140e628a0:	41 f7 da             	neg    %r10d
140e628a3:	66 89 02             	mov    %ax,(%rdx)
140e628a6:	8d 78 d4             	lea    -0x2c(%rax),%edi
140e628a9:	4c 8d 5a 02          	lea    0x2(%rdx),%r11
140e628ad:	4d 8b c3             	mov    %r11,%r8
140e628b0:	33 d2                	xor    %edx,%edx
140e628b2:	41 8b c2             	mov    %r10d,%eax
140e628b5:	f7 f5                	div    %ebp
140e628b7:	41 8b c2             	mov    %r10d,%eax
140e628ba:	4d 8b cb             	mov    %r11,%r9
140e628bd:	8b ca                	mov    %edx,%ecx
140e628bf:	33 d2                	xor    %edx,%edx
140e628c1:	f7 f5                	div    %ebp
140e628c3:	83 f9 09             	cmp    $0x9,%ecx
140e628c6:	49 8d 53 02          	lea    0x2(%r11),%rdx
140e628ca:	44 8b d0             	mov    %eax,%r10d
140e628cd:	b8 57 00 00 00       	mov    $0x57,%eax
140e628d2:	44 8d 70 d9          	lea    -0x27(%rax),%r14d
140e628d6:	66 41 0f 46 c6       	cmovbe %r14w,%ax
140e628db:	48 ff c7             	inc    %rdi
140e628de:	66 03 c1             	add    %cx,%ax
140e628e1:	66 41 89 03          	mov    %ax,(%r11)
140e628e5:	45 85 d2             	test   %r10d,%r10d
140e628e8:	74 08                	je     0x140e628f2
140e628ea:	4c 8b da             	mov    %rdx,%r11
140e628ed:	48 3b fe             	cmp    %rsi,%rdi
140e628f0:	72 be                	jb     0x140e628b0
140e628f2:	48 3b fe             	cmp    %rsi,%rdi
140e628f5:	72 19                	jb     0x140e62910
140e628f7:	66 44 89 3b          	mov    %r15w,(%rbx)
140e628fb:	e8 f0 79 fc ff       	call   0x140e2a2f0
140e62900:	bb 22 00 00 00       	mov    $0x22,%ebx
140e62905:	89 18                	mov    %ebx,(%rax)
140e62907:	e8 78 78 fc ff       	call   0x140e2a184
140e6290c:	8b c3                	mov    %ebx,%eax
140e6290e:	eb 23                	jmp    0x140e62933
140e62910:	66 44 89 3a          	mov    %r15w,(%rdx)
140e62914:	41 0f b7 00          	movzwl (%r8),%eax