140e0438b:	ff 08                	decl   (%rax)
140e0438d:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04391:	48 8b 11             	mov    (%rcx),%rdx
140e04394:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04398:	48 89 01             	mov    %rax,(%rcx)
140e0439b:	0f b7 02             	movzwl (%rdx),%eax
140e0439e:	eb 0d                	jmp    0x140e043ad
140e043a0:	48 8b 01             	mov    (%rcx),%rax
140e043a3:	48 8b 40 38          	mov    0x38(%rax),%rax
140e043a7:	ff 15 73 f6 17 00    	call   *0x17f673(%rip)        # 0x140f83a20
140e043ad:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e043b2:	33 d2                	xor    %edx,%edx
140e043b4:	66 3b c8             	cmp    %ax,%cx
140e043b7:	74 04                	je     0x140e043bd
140e043b9:	8a c2                	mov    %dl,%al
140e043bb:	eb 08                	jmp    0x140e043c5
140e043bd:	48 89 17             	mov    %rdx,(%rdi)
140e043c0:	b8 01 00 00 00       	mov    $0x1,%eax
140e043c5:	88 47 08             	mov    %al,0x8(%rdi)
140e043c8:	40 8a f2             	mov    %dl,%sil
140e043cb:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
140e043d0:	49 8b d6             	mov    %r14,%rdx
140e043d3:	48 8b cf             	mov    %rdi,%rcx
140e043d6:	e8 cd 2c 01 00       	call   0x140e170a8
140e043db:	45 33 c0             	xor    %r8d,%r8d
140e043de:	84 c0                	test   %al,%al
140e043e0:	0f 85 8a 01 00 00    	jne    0x140e04570
140e043e6:	8a 4f 08             	mov    0x8(%rdi),%cl
140e043e9:	84 c9                	test   %cl,%cl
140e043eb:	75 54                	jne    0x140e04441
140e043ed:	48 8b 0f             	mov    (%rdi),%rcx
140e043f0:	48 85 c9             	test   %rcx,%rcx
140e043f3:	74 3a                	je     0x140e0442f
140e043f5:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e043f9:	48 8b 10             	mov    (%rax),%rdx
140e043fc:	48 85 d2             	test   %rdx,%rdx
140e043ff:	74 0e                	je     0x140e0440f
140e04401:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04405:	44 39 00             	cmp    %r8d,(%rax)
140e04408:	7e 05                	jle    0x140e0440f
140e0440a:	0f b7 02             	movzwl (%rdx),%eax
140e0440d:	eb 10                	jmp    0x140e0441f
140e0440f:	48 8b 01             	mov    (%rcx),%rax
140e04412:	48 8b 40 30          	mov    0x30(%rax),%rax
140e04416:	ff 15 04 f6 17 00    	call   *0x17f604(%rip)        # 0x140f83a20
140e0441c:	45 33 c0             	xor    %r8d,%r8d
140e0441f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e04424:	66 3b c8             	cmp    %ax,%cx
140e04427:	74 06                	je     0x140e0442f
140e04429:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e0442d:	eb 03                	jmp    0x140e04432
140e0442f:	4c 89 07             	mov    %r8,(%rdi)
140e04432:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e04438:	44 88 4f 08          	mov    %r9b,0x8(%rdi)
140e0443c:	41 8a c9             	mov    %r9b,%cl
140e0443f:	eb 06                	jmp    0x140e04447
140e04441:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e04447:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e0444b:	66 3b 44 24 50       	cmp    0x50(%rsp),%ax
140e04450:	75 5e                	jne    0x140e044b0
140e04452:	48 8b 0f             	mov    (%rdi),%rcx
140e04455:	48 85 c9             	test   %rcx,%rcx
140e04458:	74 46                	je     0x140e044a0
140e0445a:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0445e:	4c 39 00             	cmp    %r8,(%rax)
140e04461:	74 1e                	je     0x140e04481
140e04463:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04467:	44 39 00             	cmp    %r8d,(%rax)
140e0446a:	7e 15                	jle    0x140e04481
140e0446c:	ff 08                	decl   (%rax)
140e0446e:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04472:	48 8b 11             	mov    (%rcx),%rdx
140e04475:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04479:	48 89 01             	mov    %rax,(%rcx)
140e0447c:	0f b7 02             	movzwl (%rdx),%eax
140e0447f:	eb 10                	jmp    0x140e04491
140e04481:	48 8b 01             	mov    (%rcx),%rax
140e04484:	48 8b 40 38          	mov    0x38(%rax),%rax
140e04488:	ff 15 92 f5 17 00    	call   *0x17f592(%rip)        # 0x140f83a20
140e0448e:	45 33 c0             	xor    %r8d,%r8d
140e04491:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e04496:	66 3b c8             	cmp    %ax,%cx
140e04499:	74 05                	je     0x140e044a0
140e0449b:	41 8a c0             	mov    %r8b,%al
140e0449e:	eb 08                	jmp    0x140e044a8
140e044a0:	4c 89 07             	mov    %r8,(%rdi)
140e044a3:	b8 01 00 00 00       	mov    $0x1,%eax
140e044a8:	88 47 08             	mov    %al,0x8(%rdi)
140e044ab:	e9 c0 00 00 00       	jmp    0x140e04570
140e044b0:	84 c9                	test   %cl,%cl
140e044b2:	75 53                	jne    0x140e04507
140e044b4:	48 8b 0f             	mov    (%rdi),%rcx
140e044b7:	48 85 c9             	test   %rcx,%rcx
140e044ba:	74 3a                	je     0x140e044f6
140e044bc:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e044c0:	48 8b 10             	mov    (%rax),%rdx
140e044c3:	48 85 d2             	test   %rdx,%rdx
140e044c6:	74 0e                	je     0x140e044d6
140e044c8:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e044cc:	44 39 00             	cmp    %r8d,(%rax)
140e044cf:	7e 05                	jle    0x140e044d6
140e044d1:	0f b7 02             	movzwl (%rdx),%eax
140e044d4:	eb 10                	jmp    0x140e044e6
140e044d6:	48 8b 01             	mov    (%rcx),%rax
140e044d9:	48 8b 40 30          	mov    0x30(%rax),%rax
140e044dd:	ff 15 3d f5 17 00    	call   *0x17f53d(%rip)        # 0x140f83a20
140e044e3:	45 33 c0             	xor    %r8d,%r8d
140e044e6:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e044eb:	66 3b c8             	cmp    %ax,%cx
140e044ee:	74 06                	je     0x140e044f6
140e044f0:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e044f4:	eb 07                	jmp    0x140e044fd
140e044f6:	4c 89 07             	mov    %r8,(%rdi)
140e044f9:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e044fd:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e04503:	44 88 4f 08          	mov    %r9b,0x8(%rdi)
140e04507:	66 3b 44 24 36       	cmp    0x36(%rsp),%ax
140e0450c:	75 62                	jne    0x140e04570
140e0450e:	45 8a f9             	mov    %r9b,%r15b
140e04511:	44 88 4c 24 33       	mov    %r9b,0x33(%rsp)
140e04516:	48 8b 0f             	mov    (%rdi),%rcx
140e04519:	48 85 c9             	test   %rcx,%rcx
140e0451c:	74 4b                	je     0x140e04569
140e0451e:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04522:	4c 39 00             	cmp    %r8,(%rax)
140e04525:	74 1e                	je     0x140e04545
140e04527:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e0452b:	44 39 00             	cmp    %r8d,(%rax)
140e0452e:	7e 15                	jle    0x140e04545
140e04530:	ff 08                	decl   (%rax)
140e04532:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04536:	48 8b 11             	mov    (%rcx),%rdx
140e04539:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e0453d:	48 89 01             	mov    %rax,(%rcx)
140e04540:	0f b7 02             	movzwl (%rdx),%eax
140e04543:	eb 14                	jmp    0x140e04559
140e04545:	48 8b 01             	mov    (%rcx),%rax
140e04548:	48 8b 40 38          	mov    0x38(%rax),%rax
140e0454c:	ff 15 ce f4 17 00    	call   *0x17f4ce(%rip)        # 0x140f83a20
140e04552:	45 33 c0             	xor    %r8d,%r8d
140e04555:	45 8d 48 01          	lea    0x1(%r8),%r9d
140e04559:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e0455e:	66 3b c8             	cmp    %ax,%cx
140e04561:	74 06                	je     0x140e04569
140e04563:	44 88 47 08          	mov    %r8b,0x8(%rdi)
140e04567:	eb 07                	jmp    0x140e04570
140e04569:	4c 89 07             	mov    %r8,(%rdi)
140e0456c:	44 88 4f 08          	mov    %r9b,0x8(%rdi)
140e04570:	49 8b d6             	mov    %r14,%rdx
140e04573:	48 8b cf             	mov    %rdi,%rcx
140e04576:	e8 2d 2b 01 00       	call   0x140e170a8
140e0457b:	45 33 c0             	xor    %r8d,%r8d
140e0457e:	84 c0                	test   %al,%al
140e04580:	0f 85 db 00 00 00    	jne    0x140e04661
140e04586:	44 0f b7 6c 24 38    	movzwl 0x38(%rsp),%r13d
140e0458c:	41 8d 58 01          	lea    0x1(%r8),%ebx
140e04590:	41 bc ff ff 00 00    	mov    $0xffff,%r12d
140e04596:	44 38 47 08          	cmp    %r8b,0x8(%rdi)
140e0459a:	75 44                	jne    0x140e045e0
140e0459c:	48 8b 0f             	mov    (%rdi),%rcx
140e0459f:	48 85 c9             	test   %rcx,%rcx
140e045a2:	74 36                	je     0x140e045da
140e045a4:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e045a8:	48 8b 10             	mov    (%rax),%rdx
140e045ab:	48 85 d2             	test   %rdx,%rdx
140e045ae:	74 0e                	je     0x140e045be
140e045b0:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e045b4:	44 39 00             	cmp    %r8d,(%rax)
140e045b7:	7e 05                	jle    0x140e045be
140e045b9:	0f b7 02             	movzwl (%rdx),%eax
140e045bc:	eb 10                	jmp    0x140e045ce
140e045be:	48 8b 01             	mov    (%rcx),%rax
140e045c1:	48 8b 40 30          	mov    0x30(%rax),%rax
140e045c5:	ff 15 55 f4 17 00    	call   *0x17f455(%rip)        # 0x140f83a20
140e045cb:	45 33 c0             	xor    %r8d,%r8d
140e045ce:	66 44 3b e0          	cmp    %ax,%r12w
140e045d2:	74 06                	je     0x140e045da
140e045d4:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e045d8:	eb 03                	jmp    0x140e045dd
140e045da:	4c 89 07             	mov    %r8,(%rdi)
140e045dd:	88 5f 08             	mov    %bl,0x8(%rdi)
140e045e0:	66 44 39 6f 0a       	cmp    %r13w,0xa(%rdi)
140e045e5:	75 6b                	jne    0x140e04652
140e045e7:	40 8a f3             	mov    %bl,%sil
140e045ea:	48 8b 0f             	mov    (%rdi),%rcx
140e045ed:	48 85 c9             	test   %rcx,%rcx
140e045f0:	74 42                	je     0x140e04634
140e045f2:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e045f6:	4c 39 00             	cmp    %r8,(%rax)
140e045f9:	74 1e                	je     0x140e04619
140e045fb:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e045ff:	44 39 00             	cmp    %r8d,(%rax)
140e04602:	7e 15                	jle    0x140e04619
140e04604:	ff 08                	decl   (%rax)
140e04606:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e0460a:	48 8b 11             	mov    (%rcx),%rdx
140e0460d:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04611:	48 89 01             	mov    %rax,(%rcx)
140e04614:	0f b7 02             	movzwl (%rdx),%eax
140e04617:	eb 10                	jmp    0x140e04629
140e04619:	48 8b 01             	mov    (%rcx),%rax
140e0461c:	48 8b 40 38          	mov    0x38(%rax),%rax
140e04620:	ff 15 fa f3 17 00    	call   *0x17f3fa(%rip)        # 0x140f83a20
140e04626:	45 33 c0             	xor    %r8d,%r8d
140e04629:	66 44 3b e0          	cmp    %ax,%r12w
140e0462d:	74 05                	je     0x140e04634
140e0462f:	41 8a c0             	mov    %r8b,%al
140e04632:	eb 05                	jmp    0x140e04639
140e04634:	4c 89 07             	mov    %r8,(%rdi)
140e04637:	8a c3                	mov    %bl,%al
140e04639:	88 47 08             	mov    %al,0x8(%rdi)
140e0463c:	49 8b d6             	mov    %r14,%rdx
140e0463f:	48 8b cf             	mov    %rdi,%rcx
140e04642:	e8 61 2a 01 00       	call   0x140e170a8
140e04647:	45 33 c0             	xor    %r8d,%r8d
140e0464a:	84 c0                	test   %al,%al
140e0464c:	0f 84 44 ff ff ff    	je     0x140e04596
140e04652:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e04657:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140e0465c:	44 8a 6c 24 32       	mov    0x32(%rsp),%r13b
140e04661:	49 8b d6             	mov    %r14,%rdx
140e04664:	48 8b cf             	mov    %rdi,%rcx
140e04667:	e8 3c 2a 01 00       	call   0x140e170a8
140e0466c:	33 d2                	xor    %edx,%edx
140e0466e:	84 c0                	test   %al,%al
140e04670:	0f 85 2f 01 00 00    	jne    0x140e047a5
140e04676:	49 bc cc cc cc cc cc 	movabs $0xccccccccccccccc,%r12
140e0467d:	cc cc 0c
140e04680:	44 8d 7a 01          	lea    0x1(%rdx),%r15d
140e04684:	38 57 08             	cmp    %dl,0x8(%rdi)
140e04687:	75 50                	jne    0x140e046d9
140e04689:	48 8b 0f             	mov    (%rdi),%rcx
140e0468c:	48 85 c9             	test   %rcx,%rcx
140e0468f:	74 3c                	je     0x140e046cd
140e04691:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04695:	48 8b 10             	mov    (%rax),%rdx
140e04698:	45 33 ed             	xor    %r13d,%r13d
140e0469b:	48 85 d2             	test   %rdx,%rdx
140e0469e:	74 0e                	je     0x140e046ae
140e046a0:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e046a4:	44 39 28             	cmp    %r13d,(%rax)
140e046a7:	7e 05                	jle    0x140e046ae
140e046a9:	0f b7 02             	movzwl (%rdx),%eax
140e046ac:	eb 0d                	jmp    0x140e046bb
140e046ae:	48 8b 01             	mov    (%rcx),%rax
140e046b1:	48 8b 40 30          	mov    0x30(%rax),%rax
140e046b5:	ff 15 65 f3 17 00    	call   *0x17f365(%rip)        # 0x140f83a20
140e046bb:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e046c0:	66 3b c8             	cmp    %ax,%cx
140e046c3:	74 06                	je     0x140e046cb
140e046c5:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e046c9:	eb 08                	jmp    0x140e046d3
140e046cb:	33 d2                	xor    %edx,%edx
140e046cd:	48 89 17             	mov    %rdx,(%rdi)
140e046d0:	45 33 ed             	xor    %r13d,%r13d
140e046d3:	44 88 7f 08          	mov    %r15b,0x8(%rdi)
140e046d7:	eb 03                	jmp    0x140e046dc
140e046d9:	45 33 ed             	xor    %r13d,%r13d
140e046dc:	44 0f b7 47 0a       	movzwl 0xa(%rdi),%r8d
140e046e1:	48 8d 55 07          	lea    0x7(%rbp),%rdx
140e046e5:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140e046e9:	e8 42 89 ff ff       	call   0x140dfd030
140e046ee:	48 8b c8             	mov    %rax,%rcx
140e046f1:	48 8d 45 cf          	lea    -0x31(%rbp),%rax
140e046f5:	48 2b c8             	sub    %rax,%rcx
140e046f8:	48 d1 f9             	sar    $1,%rcx
140e046fb:	48 83 f9 0a          	cmp    $0xa,%rcx
140e046ff:	0f 83 8f 00 00 00    	jae    0x140e04794
140e04705:	49 3b dc             	cmp    %r12,%rbx
140e04708:	7c 14                	jl     0x140e0471e
140e0470a:	75 06                	jne    0x140e04712
140e0470c:	48 83 f9 07          	cmp    $0x7,%rcx
140e04710:	7e 0c                	jle    0x140e0471e
140e04712:	48 bb ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rbx
140e04719:	ff ff 7f
140e0471c:	eb 08                	jmp    0x140e04726
140e0471e:	48 8d 04 9b          	lea    (%rbx,%rbx,4),%rax
140e04722:	48 8d 1c 41          	lea    (%rcx,%rax,2),%rbx
140e04726:	41 8a f7             	mov    %r15b,%sil
140e04729:	48 8b 0f             	mov    (%rdi),%rcx
140e0472c:	48 85 c9             	test   %rcx,%rcx
140e0472f:	74 43                	je     0x140e04774
140e04731:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04735:	4c 39 28             	cmp    %r13,(%rax)
140e04738:	74 1e                	je     0x140e04758
140e0473a:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e0473e:	44 39 28             	cmp    %r13d,(%rax)
140e04741:	7e 15                	jle    0x140e04758
140e04743:	ff 08                	decl   (%rax)
140e04745:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04749:	48 8b 11             	mov    (%rcx),%rdx
140e0474c:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04750:	48 89 01             	mov    %rax,(%rcx)
140e04753:	0f b7 02             	movzwl (%rdx),%eax
140e04756:	eb 0d                	jmp    0x140e04765
140e04758:	48 8b 01             	mov    (%rcx),%rax
140e0475b:	48 8b 40 38          	mov    0x38(%rax),%rax
140e0475f:	ff 15 bb f2 17 00    	call   *0x17f2bb(%rip)        # 0x140f83a20
140e04765:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e0476a:	66 3b c8             	cmp    %ax,%cx
140e0476d:	74 05                	je     0x140e04774
140e0476f:	41 8a c5             	mov    %r13b,%al
140e04772:	eb 06                	jmp    0x140e0477a
140e04774:	4c 89 2f             	mov    %r13,(%rdi)
140e04777:	41 8a c7             	mov    %r15b,%al
140e0477a:	88 47 08             	mov    %al,0x8(%rdi)
140e0477d:	49 8b d6             	mov    %r14,%rdx
140e04780:	48 8b cf             	mov    %rdi,%rcx
140e04783:	e8 20 29 01 00       	call   0x140e170a8
140e04788:	33 d2                	xor    %edx,%edx
140e0478a:	84 c0                	test   %al,%al
140e0478c:	0f 84 f2 fe ff ff    	je     0x140e04684
140e04792:	eb 02                	jmp    0x140e04796
140e04794:	33 d2                	xor    %edx,%edx
140e04796:	44 8a 7c 24 33       	mov    0x33(%rsp),%r15b
140e0479b:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140e047a0:	44 8a 6c 24 32       	mov    0x32(%rsp),%r13b
140e047a5:	48 8b c3             	mov    %rbx,%rax
140e047a8:	48 f7 db             	neg    %rbx
140e047ab:	45 84 ff             	test   %r15b,%r15b
140e047ae:	48 0f 44 d8          	cmove  %rax,%rbx
140e047b2:	40 84 f6             	test   %sil,%sil
140e047b5:	0f 84 be 01 00 00    	je     0x140e04979
140e047bb:	41 8a c5             	mov    %r13b,%al
140e047be:	f6 d8                	neg    %al
140e047c0:	4d 1b c0             	sbb    %r8,%r8
140e047c3:	41 81 e0 1c 0c 00 00 	and    $0xc1c,%r8d
140e047ca:	b9 4c 04 00 00       	mov    $0x44c,%ecx
140e047cf:	4c 03 c1             	add    %rcx,%r8
140e047d2:	41 8a c5             	mov    %r13b,%al
140e047d5:	f6 d8                	neg    %al
140e047d7:	4d 1b d2             	sbb    %r10,%r10
140e047da:	49 83 e2 ce          	and    $0xffffffffffffffce,%r10
140e047de:	4c 03 d1             	add    %rcx,%r10
140e047e1:	4c 8b 5c 24 58       	mov    0x58(%rsp),%r11
140e047e6:	4d 8b cb             	mov    %r11,%r9
140e047e9:	48 85 db             	test   %rbx,%rbx
140e047ec:	78 1a                	js     0x140e04808
140e047ee:	4d 85 c9             	test   %r9,%r9
140e047f1:	78 12                	js     0x140e04805
140e047f3:	49 3b d8             	cmp    %r8,%rbx
140e047f6:	0f 8d d4 00 00 00    	jge    0x140e048d0
140e047fc:	4d 3b ca             	cmp    %r10,%r9
140e047ff:	0f 8d cb 00 00 00    	jge    0x140e048d0
140e04805:	48 85 db             	test   %rbx,%rbx
140e04808:	7f 1f                	jg     0x140e04829
140e0480a:	4d 85 c9             	test   %r9,%r9
140e0480d:	7f 1a                	jg     0x140e04829
140e0480f:	49 8b c8             	mov    %r8,%rcx
140e04812:	48 f7 d9             	neg    %rcx