140043680:	eb 60                	jmp    0x1400436e2
140043682:	48 3b c2             	cmp    %rdx,%rax
140043685:	0f 85 ab 00 00 00    	jne    0x140043736
14004368b:	48 8b c3             	mov    %rbx,%rax
14004368e:	48 23 c1             	and    %rcx,%rax
140043691:	75 05                	jne    0x140043698
140043693:	41 8b c7             	mov    %r15d,%eax
140043696:	eb 2a                	jmp    0x1400436c2
140043698:	48 85 db             	test   %rbx,%rbx
14004369b:	79 16                	jns    0x1400436b3
14004369d:	48 b9 00 00 00 00 00 	movabs $0x8000000000000,%rcx
1400436a4:	00 08 00
1400436a7:	48 3b c1             	cmp    %rcx,%rax
1400436aa:	75 07                	jne    0x1400436b3
1400436ac:	b8 04 00 00 00       	mov    $0x4,%eax
1400436b1:	eb 0f                	jmp    0x1400436c2
1400436b3:	48 8b c3             	mov    %rbx,%rax
1400436b6:	48 c1 e8 33          	shr    $0x33,%rax
1400436ba:	f7 d0                	not    %eax
1400436bc:	41 23 c7             	and    %r15d,%eax
1400436bf:	83 c8 02             	or     $0x2,%eax
1400436c2:	45 89 7c 24 04       	mov    %r15d,0x4(%r12)
1400436c7:	41 2b c7             	sub    %r15d,%eax
1400436ca:	74 44                	je     0x140043710
1400436cc:	41 2b c7             	sub    %r15d,%eax
1400436cf:	74 36                	je     0x140043707
1400436d1:	41 2b c7             	sub    %r15d,%eax
1400436d4:	74 28                	je     0x1400436fe
1400436d6:	41 3b c7             	cmp    %r15d,%eax
1400436d9:	75 5b                	jne    0x140043736
1400436db:	4c 8d 05 6e 64 01 00 	lea    0x1646e(%rip),%r8        # 0x140059b50
1400436e2:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
1400436e9:	49 8b ce             	mov    %r14,%rcx
1400436ec:	e8 77 45 ff ff       	call   0x140037c68
1400436f1:	85 c0                	test   %eax,%eax
1400436f3:	0f 85 1f 11 00 00    	jne    0x140044818
1400436f9:	e9 e5 10 00 00       	jmp    0x1400447e3
1400436fe:	4c 8d 05 43 64 01 00 	lea    0x16443(%rip),%r8        # 0x140059b48
140043705:	eb db                	jmp    0x1400436e2
140043707:	4c 8d 05 32 64 01 00 	lea    0x16432(%rip),%r8        # 0x140059b40
14004370e:	eb d2                	jmp    0x1400436e2
140043710:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
140043717:	4c 8d 05 1a 64 01 00 	lea    0x1641a(%rip),%r8        # 0x140059b38
14004371e:	49 8b ce             	mov    %r14,%rcx
140043721:	e8 42 45 ff ff       	call   0x140037c68
140043726:	85 c0                	test   %eax,%eax
140043728:	0f 85 ea 10 00 00    	jne    0x140044818
14004372e:	45 33 ff             	xor    %r15d,%r15d
140043731:	e9 ad 10 00 00       	jmp    0x1400447e3
140043736:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14004373d:	ff ff 7f
140043740:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140043745:	48 23 d8             	and    %rax,%rbx
140043748:	45 33 c0             	xor    %r8d,%r8d
14004374b:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140043750:	33 d2                	xor    %edx,%edx
140043752:	bb 1f 00 08 00       	mov    $0x8001f,%ebx
140043757:	89 5c 24 6c          	mov    %ebx,0x6c(%rsp)
14004375b:	e8 18 38 00 00       	call   0x140046f78
140043760:	44 8b 44 24 6c       	mov    0x6c(%rsp),%r8d
140043765:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14004376a:	8b d3                	mov    %ebx,%edx
14004376c:	e8 07 38 00 00       	call   0x140046f78
140043771:	f2 0f 10 44 24 50    	movsd  0x50(%rsp),%xmm0
140043777:	ff c6                	inc    %esi
140043779:	41 b9 ff 07 00 00    	mov    $0x7ff,%r9d
14004377f:	f2 0f 11 44 24 58    	movsd  %xmm0,0x58(%rsp)
140043785:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
14004378a:	4c 8b c2             	mov    %rdx,%r8
14004378d:	89 74 24 60          	mov    %esi,0x60(%rsp)
140043791:	49 c1 e8 34          	shr    $0x34,%r8
140043795:	be 02 00 00 00       	mov    $0x2,%esi
14004379a:	49 8b c8             	mov    %r8,%rcx
14004379d:	49 23 c9             	and    %r9,%rcx
1400437a0:	48 8b c1             	mov    %rcx,%rax
1400437a3:	48 f7 d8             	neg    %rax
1400437a6:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
1400437ad:	00 10 00
1400437b0:	48 1b db             	sbb    %rbx,%rbx
1400437b3:	48 23 d8             	and    %rax,%rbx
1400437b6:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
1400437bd:	ff 0f 00
1400437c0:	48 23 d0             	and    %rax,%rdx
1400437c3:	48 03 da             	add    %rdx,%rbx
1400437c6:	48 f7 d9             	neg    %rcx
1400437c9:	1b c0                	sbb    %eax,%eax
1400437cb:	45 23 c1             	and    %r9d,%r8d
1400437ce:	44 8d 24 06          	lea    (%rsi,%rax,1),%r12d
1400437d2:	45 03 e0             	add    %r8d,%r12d
1400437d5:	e8 96 39 00 00       	call   0x140047170
1400437da:	e8 c5 38 00 00       	call   0x1400470a4
1400437df:	f2 0f 2c c8          	cvttsd2si %xmm0,%ecx
1400437e3:	89 5d a4             	mov    %ebx,-0x5c(%rbp)
1400437e6:	8d 81 01 00 00 80    	lea    -0x7fffffff(%rcx),%eax
1400437ec:	83 e0 fe             	and    $0xfffffffe,%eax
1400437ef:	f7 d8                	neg    %eax
1400437f1:	1b c0                	sbb    %eax,%eax
1400437f3:	48 c1 eb 20          	shr    $0x20,%rbx
1400437f7:	23 c1                	and    %ecx,%eax
1400437f9:	89 5d a8             	mov    %ebx,-0x58(%rbp)
1400437fc:	89 44 24 30          	mov    %eax,0x30(%rsp)
140043800:	8b c3                	mov    %ebx,%eax
140043802:	f7 d8                	neg    %eax
140043804:	1b d2                	sbb    %edx,%edx
140043806:	f7 da                	neg    %edx
140043808:	41 03 d7             	add    %r15d,%edx
14004380b:	89 55 a0             	mov    %edx,-0x60(%rbp)
14004380e:	41 81 fc 34 04 00 00 	cmp    $0x434,%r12d
140043815:	0f 82 1a 02 00 00    	jb     0x140043a35
14004381b:	33 c0                	xor    %eax,%eax
14004381d:	c7 85 48 03 00 00 00 	movl   $0x100000,0x348(%rbp)
140043824:	00 10 00
140043827:	89 85 44 03 00 00    	mov    %eax,0x344(%rbp)
14004382d:	89 b5 40 03 00 00    	mov    %esi,0x340(%rbp)
140043833:	85 db                	test   %ebx,%ebx
140043835:	0f 84 0c 01 00 00    	je     0x140043947
14004383b:	45 33 c0             	xor    %r8d,%r8d
14004383e:	42 8b 44 85 a4       	mov    -0x5c(%rbp,%r8,4),%eax
140043843:	42 39 84 85 44 03 00 	cmp    %eax,0x344(%rbp,%r8,4)
14004384a:	00
14004384b:	0f 85 f6 00 00 00    	jne    0x140043947
140043851:	45 03 c7             	add    %r15d,%r8d
140043854:	44 3b c6             	cmp    %esi,%r8d
140043857:	75 e5                	jne    0x14004383e
140043859:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
14004385e:	45 8d 9c 24 ce fb ff 	lea    -0x432(%r12),%r11d
140043865:	ff
140043866:	45 8b c3             	mov    %r11d,%r8d
140043869:	8d 42 ff             	lea    -0x1(%rdx),%eax
14004386c:	41 83 e3 1f          	and    $0x1f,%r11d
140043870:	41 c1 e8 05          	shr    $0x5,%r8d
140043874:	8b f7                	mov    %edi,%esi
140043876:	49 8b df             	mov    %r15,%rbx
140043879:	41 2b f3             	sub    %r11d,%esi
14004387c:	8b ce                	mov    %esi,%ecx
14004387e:	48 d3 e3             	shl    %cl,%rbx
140043881:	41 2b df             	sub    %r15d,%ebx
140043884:	0f bd 44 85 a4       	bsr    -0x5c(%rbp,%rax,4),%eax
140043889:	44 8b e3             	mov    %ebx,%r12d
14004388c:	41 f7 d4             	not    %r12d
14004388f:	74 04                	je     0x140043895
140043891:	ff c0                	inc    %eax
140043893:	eb 02                	jmp    0x140043897
140043895:	33 c0                	xor    %eax,%eax
140043897:	2b f8                	sub    %eax,%edi
140043899:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
14004389d:	83 f8 73             	cmp    $0x73,%eax
1400438a0:	0f 87 81 00 00 00    	ja     0x140043927
1400438a6:	45 33 f6             	xor    %r14d,%r14d
1400438a9:	44 3b df             	cmp    %edi,%r11d
1400438ac:	41 0f 97 c6          	seta   %r14b
1400438b0:	44 03 f2             	add    %edx,%r14d
1400438b3:	45 03 f0             	add    %r8d,%r14d
1400438b6:	41 83 fe 73          	cmp    $0x73,%r14d
1400438ba:	77 6b                	ja     0x140043927
1400438bc:	41 8d 78 ff          	lea    -0x1(%r8),%edi
1400438c0:	45 8d 56 ff          	lea    -0x1(%r14),%r10d
1400438c4:	44 3b d7             	cmp    %edi,%r10d
1400438c7:	74 48                	je     0x140043911
1400438c9:	41 8b c2             	mov    %r10d,%eax
1400438cc:	41 2b c0             	sub    %r8d,%eax
1400438cf:	8d 48 ff             	lea    -0x1(%rax),%ecx
1400438d2:	3b c2                	cmp    %edx,%eax
1400438d4:	73 07                	jae    0x1400438dd
1400438d6:	44 8b 4c 85 a4       	mov    -0x5c(%rbp,%rax,4),%r9d
1400438db:	eb 03                	jmp    0x1400438e0
1400438dd:	45 33 c9             	xor    %r9d,%r9d
1400438e0:	3b ca                	cmp    %edx,%ecx
1400438e2:	73 06                	jae    0x1400438ea
1400438e4:	8b 54 8d a4          	mov    -0x5c(%rbp,%rcx,4),%edx
1400438e8:	eb 02                	jmp    0x1400438ec
1400438ea:	33 d2                	xor    %edx,%edx
1400438ec:	41 23 d4             	and    %r12d,%edx
1400438ef:	8b ce                	mov    %esi,%ecx
1400438f1:	d3 ea                	shr    %cl,%edx
1400438f3:	44 23 cb             	and    %ebx,%r9d
1400438f6:	41 8b cb             	mov    %r11d,%ecx
1400438f9:	41 d3 e1             	shl    %cl,%r9d
1400438fc:	41 0b d1             	or     %r9d,%edx
1400438ff:	42 89 54 95 a4       	mov    %edx,-0x5c(%rbp,%r10,4)
140043904:	41 ff ca             	dec    %r10d
140043907:	44 3b d7             	cmp    %edi,%r10d
14004390a:	74 05                	je     0x140043911
14004390c:	8b 55 a0             	mov    -0x60(%rbp),%edx
14004390f:	eb b8                	jmp    0x1400438c9
140043911:	33 c9                	xor    %ecx,%ecx
140043913:	45 85 c0             	test   %r8d,%r8d
140043916:	74 12                	je     0x14004392a
140043918:	83 64 8d a4 00       	andl   $0x0,-0x5c(%rbp,%rcx,4)
14004391d:	41 03 cf             	add    %r15d,%ecx
140043920:	41 3b c8             	cmp    %r8d,%ecx
140043923:	75 f3                	jne    0x140043918
140043925:	eb 03                	jmp    0x14004392a
140043927:	45 33 f6             	xor    %r14d,%r14d
14004392a:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
14004392e:	45 8b e7             	mov    %r15d,%r12d
140043931:	44 89 bd 70 01 00 00 	mov    %r15d,0x170(%rbp)
140043938:	c7 85 74 01 00 00 04 	movl   $0x4,0x174(%rbp)
14004393f:	00 00 00
140043942:	e9 1f 03 00 00       	jmp    0x140043c66
140043947:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
14004394c:	45 8d 9c 24 cd fb ff 	lea    -0x433(%r12),%r11d
140043953:	ff
140043954:	45 8b c3             	mov    %r11d,%r8d
140043957:	8d 42 ff             	lea    -0x1(%rdx),%eax
14004395a:	41 83 e3 1f          	and    $0x1f,%r11d
14004395e:	41 c1 e8 05          	shr    $0x5,%r8d
140043962:	8b f7                	mov    %edi,%esi
140043964:	49 8b df             	mov    %r15,%rbx
140043967:	41 2b f3             	sub    %r11d,%esi
14004396a:	8b ce                	mov    %esi,%ecx
14004396c:	48 d3 e3             	shl    %cl,%rbx
14004396f:	41 2b df             	sub    %r15d,%ebx
140043972:	0f bd 44 85 a4       	bsr    -0x5c(%rbp,%rax,4),%eax
140043977:	44 8b e3             	mov    %ebx,%r12d
14004397a:	41 f7 d4             	not    %r12d
14004397d:	74 04                	je     0x140043983
14004397f:	ff c0                	inc    %eax
140043981:	eb 02                	jmp    0x140043985
140043983:	33 c0                	xor    %eax,%eax
140043985:	2b f8                	sub    %eax,%edi
140043987:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
14004398b:	83 f8 73             	cmp    $0x73,%eax
14004398e:	0f 87 81 00 00 00    	ja     0x140043a15
140043994:	45 33 f6             	xor    %r14d,%r14d
140043997:	44 3b df             	cmp    %edi,%r11d
14004399a:	41 0f 97 c6          	seta   %r14b
14004399e:	44 03 f2             	add    %edx,%r14d
1400439a1:	45 03 f0             	add    %r8d,%r14d
1400439a4:	41 83 fe 73          	cmp    $0x73,%r14d
1400439a8:	77 6b                	ja     0x140043a15
1400439aa:	41 8d 78 ff          	lea    -0x1(%r8),%edi
1400439ae:	45 8d 56 ff          	lea    -0x1(%r14),%r10d
1400439b2:	44 3b d7             	cmp    %edi,%r10d
1400439b5:	74 48                	je     0x1400439ff
1400439b7:	41 8b c2             	mov    %r10d,%eax
1400439ba:	41 2b c0             	sub    %r8d,%eax
1400439bd:	8d 48 ff             	lea    -0x1(%rax),%ecx
1400439c0:	3b c2                	cmp    %edx,%eax
1400439c2:	73 07                	jae    0x1400439cb
1400439c4:	44 8b 4c 85 a4       	mov    -0x5c(%rbp,%rax,4),%r9d
1400439c9:	eb 03                	jmp    0x1400439ce
1400439cb:	45 33 c9             	xor    %r9d,%r9d
1400439ce:	3b ca                	cmp    %edx,%ecx
1400439d0:	73 06                	jae    0x1400439d8
1400439d2:	8b 54 8d a4          	mov    -0x5c(%rbp,%rcx,4),%edx
1400439d6:	eb 02                	jmp    0x1400439da
1400439d8:	33 d2                	xor    %edx,%edx
1400439da:	41 23 d4             	and    %r12d,%edx
1400439dd:	8b ce                	mov    %esi,%ecx
1400439df:	d3 ea                	shr    %cl,%edx
1400439e1:	44 23 cb             	and    %ebx,%r9d
1400439e4:	41 8b cb             	mov    %r11d,%ecx
1400439e7:	41 d3 e1             	shl    %cl,%r9d
1400439ea:	41 0b d1             	or     %r9d,%edx
1400439ed:	42 89 54 95 a4       	mov    %edx,-0x5c(%rbp,%r10,4)
1400439f2:	41 ff ca             	dec    %r10d
1400439f5:	44 3b d7             	cmp    %edi,%r10d
1400439f8:	74 05                	je     0x1400439ff
1400439fa:	8b 55 a0             	mov    -0x60(%rbp),%edx
1400439fd:	eb b8                	jmp    0x1400439b7
1400439ff:	33 c9                	xor    %ecx,%ecx
140043a01:	45 85 c0             	test   %r8d,%r8d
140043a04:	74 12                	je     0x140043a18
140043a06:	83 64 8d a4 00       	andl   $0x0,-0x5c(%rbp,%rcx,4)
140043a0b:	41 03 cf             	add    %r15d,%ecx
140043a0e:	41 3b c8             	cmp    %r8d,%ecx
140043a11:	75 f3                	jne    0x140043a06
140043a13:	eb 03                	jmp    0x140043a18
140043a15:	45 33 f6             	xor    %r14d,%r14d
140043a18:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
140043a1c:	45 8b e7             	mov    %r15d,%r12d
140043a1f:	44 89 bd 70 01 00 00 	mov    %r15d,0x170(%rbp)
140043a26:	c7 85 74 01 00 00 02 	movl   $0x2,0x174(%rbp)
140043a2d:	00 00 00
140043a30:	e9 31 02 00 00       	jmp    0x140043c66
140043a35:	41 83 fc 36          	cmp    $0x36,%r12d
140043a39:	0f 84 44 01 00 00    	je     0x140043b83
140043a3f:	33 c0                	xor    %eax,%eax
140043a41:	c7 85 48 03 00 00 00 	movl   $0x100000,0x348(%rbp)
140043a48:	00 10 00
140043a4b:	89 85 44 03 00 00    	mov    %eax,0x344(%rbp)
140043a51:	89 b5 40 03 00 00    	mov    %esi,0x340(%rbp)
140043a57:	85 db                	test   %ebx,%ebx
140043a59:	0f 84 24 01 00 00    	je     0x140043b83
140043a5f:	45 33 c0             	xor    %r8d,%r8d
140043a62:	42 8b 44 85 a4       	mov    -0x5c(%rbp,%r8,4),%eax
140043a67:	42 39 84 85 44 03 00 	cmp    %eax,0x344(%rbp,%r8,4)
140043a6e:	00
140043a6f:	0f 85 0e 01 00 00    	jne    0x140043b83
140043a75:	45 03 c7             	add    %r15d,%r8d
140043a78:	44 3b c6             	cmp    %esi,%r8d
140043a7b:	75 e5                	jne    0x140043a62
140043a7d:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140043a82:	0f bd c3             	bsr    %ebx,%eax
140043a85:	74 04                	je     0x140043a8b
140043a87:	ff c0                	inc    %eax
140043a89:	eb 02                	jmp    0x140043a8d
140043a8b:	33 c0                	xor    %eax,%eax
140043a8d:	45 33 f6             	xor    %r14d,%r14d
140043a90:	2b f8                	sub    %eax,%edi
140043a92:	3b fe                	cmp    %esi,%edi
140043a94:	41 0f 92 c6          	setb   %r14b
140043a98:	41 83 cb ff          	or     $0xffffffff,%r11d
140043a9c:	44 03 f2             	add    %edx,%r14d
140043a9f:	41 83 fe 73          	cmp    $0x73,%r14d
140043aa3:	0f 86 87 00 00 00    	jbe    0x140043b30
140043aa9:	45 33 f6             	xor    %r14d,%r14d
140043aac:	be 36 04 00 00       	mov    $0x436,%esi
140043ab1:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
140043ab5:	41 2b f4             	sub    %r12d,%esi
140043ab8:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
140043abf:	8b fe                	mov    %esi,%edi
140043ac1:	33 d2                	xor    %edx,%edx
140043ac3:	c1 ef 05             	shr    $0x5,%edi
140043ac6:	48 8d 1c bd 00 00 00 	lea    0x0(,%rdi,4),%rbx
140043acd:	00
140043ace:	4c 8b c3             	mov    %rbx,%r8
140043ad1:	e8 ca 3c fe ff       	call   0x1400277a0
140043ad6:	83 e6 1f             	and    $0x1f,%esi
140043ad9:	41 8b c7             	mov    %r15d,%eax
140043adc:	40 8a ce             	mov    %sil,%cl
140043adf:	d3 e0                	shl    %cl,%eax
140043ae1:	89 84 1d 44 03 00 00 	mov    %eax,0x344(%rbp,%rbx,1)
140043ae8:	44 8d 67 01          	lea    0x1(%rdi),%r12d
140043aec:	45 8b c4             	mov    %r12d,%r8d
140043aef:	49 c1 e0 02          	shl    $0x2,%r8
140043af3:	44 89 a5 40 03 00 00 	mov    %r12d,0x340(%rbp)
140043afa:	44 89 a5 70 01 00 00 	mov    %r12d,0x170(%rbp)
140043b01:	4d 85 c0             	test   %r8,%r8
140043b04:	0f 84 5c 01 00 00    	je     0x140043c66
140043b0a:	bb cc 01 00 00       	mov    $0x1cc,%ebx
140043b0f:	48 8d 8d 74 01 00 00 	lea    0x174(%rbp),%rcx
140043b16:	4c 3b c3             	cmp    %rbx,%r8
140043b19:	0f 87 26 01 00 00    	ja     0x140043c45
140043b1f:	48 8d 95 44 03 00 00 	lea    0x344(%rbp),%rdx
140043b26:	e8 a5 35 fe ff       	call   0x1400270d0
140043b2b:	e9 2f 01 00 00       	jmp    0x140043c5f
140043b30:	41 8d 46 ff          	lea    -0x1(%r14),%eax
140043b34:	41 3b c3             	cmp    %r11d,%eax
140043b37:	0f 84 6f ff ff ff    	je     0x140043aac
140043b3d:	44 8b d0             	mov    %eax,%r10d
140043b40:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
140043b44:	3b c2                	cmp    %edx,%eax
140043b46:	73 07                	jae    0x140043b4f
140043b48:	46 8b 4c 95 a4       	mov    -0x5c(%rbp,%r10,4),%r9d
140043b4d:	eb 03                	jmp    0x140043b52
140043b4f:	45 33 c9             	xor    %r9d,%r9d
140043b52:	44 3b c2             	cmp    %edx,%r8d
140043b55:	73 07                	jae    0x140043b5e