140e395fe:	44 8b ad 00 05 00 00 	mov    0x500(%rbp),%r13d
140e39605:	41 ff c5             	inc    %r13d
140e39608:	44 89 ad 00 05 00 00 	mov    %r13d,0x500(%rbp)
140e3960f:	e9 2e ff ff ff       	jmp    0x140e39542
140e39614:	ba cc 01 00 00       	mov    $0x1cc,%edx
140e39619:	45 33 c9             	xor    %r9d,%r9d
140e3961c:	44 89 5d 90          	mov    %r11d,-0x70(%rbp)
140e39620:	4c 8d 45 94          	lea    -0x6c(%rbp),%r8
140e39624:	44 89 9d 00 05 00 00 	mov    %r11d,0x500(%rbp)
140e3962b:	48 8d 8d 04 05 00 00 	lea    0x504(%rbp),%rcx
140e39632:	e8 75 1d 00 00       	call   0x140e3b3ac
140e39637:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
140e3963c:	8a 98 08 03 00 00    	mov    0x308(%rax),%bl
140e39642:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140e39647:	48 8b c8             	mov    %rax,%rcx
140e3964a:	80 78 08 00          	cmpb   $0x0,0x8(%rax)
140e3964e:	74 1f                	je     0x140e3966f
140e39650:	e8 a3 e0 ff ff       	call   0x140e376f8
140e39655:	f6 db                	neg    %bl
140e39657:	48 ba 00 00 00 00 00 	movabs $0x8000000000000000,%rdx
140e3965e:	00 00 80
140e39661:	48 1b c9             	sbb    %rcx,%rcx
140e39664:	48 23 ca             	and    %rdx,%rcx
140e39667:	48 23 ca             	and    %rdx,%rcx
140e3966a:	48 89 08             	mov    %rcx,(%rax)
140e3966d:	eb 14                	jmp    0x140e39683
140e3966f:	e8 c0 e0 ff ff       	call   0x140e37734
140e39674:	f6 db                	neg    %bl
140e39676:	ba 00 00 00 80       	mov    $0x80000000,%edx
140e3967b:	1b c9                	sbb    %ecx,%ecx
140e3967d:	23 ca                	and    %edx,%ecx
140e3967f:	23 ca                	and    %edx,%ecx
140e39681:	89 08                	mov    %ecx,(%rax)
140e39683:	b8 02 00 00 00       	mov    $0x2,%eax
140e39688:	e9 43 04 00 00       	jmp    0x140e39ad0
140e3968d:	41 8d 57 ff          	lea    -0x1(%r15),%edx
140e39691:	44 89 5c 24 48       	mov    %r11d,0x48(%rsp)
140e39696:	0f bd 84 95 64 01 00 	bsr    0x164(%rbp,%rdx,4),%eax
140e3969d:	00
140e3969e:	74 04                	je     0x140e396a4
140e396a0:	ff c0                	inc    %eax
140e396a2:	eb 03                	jmp    0x140e396a7
140e396a4:	41 8b c3             	mov    %r11d,%eax
140e396a7:	c1 e2 05             	shl    $0x5,%edx
140e396aa:	03 d0                	add    %eax,%edx
140e396ac:	45 85 ed             	test   %r13d,%r13d
140e396af:	75 05                	jne    0x140e396b6
140e396b1:	41 8b cb             	mov    %r11d,%ecx
140e396b4:	eb 1f                	jmp    0x140e396d5
140e396b6:	41 8d 4d ff          	lea    -0x1(%r13),%ecx
140e396ba:	44 89 5c 24 48       	mov    %r11d,0x48(%rsp)
140e396bf:	0f bd 84 8d 04 05 00 	bsr    0x504(%rbp,%rcx,4),%eax
140e396c6:	00
140e396c7:	74 04                	je     0x140e396cd
140e396c9:	ff c0                	inc    %eax
140e396cb:	eb 03                	jmp    0x140e396d0
140e396cd:	41 8b c3             	mov    %r11d,%eax
140e396d0:	c1 e1 05             	shl    $0x5,%ecx
140e396d3:	03 c8                	add    %eax,%ecx
140e396d5:	8b c1                	mov    %ecx,%eax
140e396d7:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140e396dd:	2b c2                	sub    %edx,%eax
140e396df:	41 bc 20 00 00 00    	mov    $0x20,%r12d
140e396e5:	3b d1                	cmp    %ecx,%edx
140e396e7:	1b db                	sbb    %ebx,%ebx
140e396e9:	23 d8                	and    %eax,%ebx
140e396eb:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
140e396ef:	0f 86 50 01 00 00    	jbe    0x140e39845
140e396f5:	41 8b c4             	mov    %r12d,%eax
140e396f8:	44 89 5c 24 40       	mov    %r11d,0x40(%rsp)
140e396fd:	8b f3                	mov    %ebx,%esi
140e396ff:	41 8d 7c 24 e1       	lea    -0x1f(%r12),%edi
140e39704:	83 e6 1f             	and    $0x1f,%esi
140e39707:	44 8b c3             	mov    %ebx,%r8d
140e3970a:	2b c6                	sub    %esi,%eax
140e3970c:	41 c1 e8 05          	shr    $0x5,%r8d
140e39710:	8b c8                	mov    %eax,%ecx
140e39712:	89 44 24 48          	mov    %eax,0x48(%rsp)
140e39716:	48 d3 e7             	shl    %cl,%rdi
140e39719:	ff cf                	dec    %edi
140e3971b:	8b c7                	mov    %edi,%eax
140e3971d:	f7 d0                	not    %eax
140e3971f:	89 44 24 38          	mov    %eax,0x38(%rsp)
140e39723:	41 8d 47 ff          	lea    -0x1(%r15),%eax
140e39727:	0f bd 8c 85 64 01 00 	bsr    0x164(%rbp,%rax,4),%ecx
140e3972e:	00
140e3972f:	74 04                	je     0x140e39735
140e39731:	ff c1                	inc    %ecx
140e39733:	eb 03                	jmp    0x140e39738
140e39735:	41 8b cb             	mov    %r11d,%ecx
140e39738:	43 8d 04 38          	lea    (%r8,%r15,1),%eax
140e3973c:	83 f8 73             	cmp    $0x73,%eax
140e3973f:	76 32                	jbe    0x140e39773
140e39741:	45 33 c9             	xor    %r9d,%r9d
140e39744:	44 89 5d 90          	mov    %r11d,-0x70(%rbp)
140e39748:	4c 8d 45 94          	lea    -0x6c(%rbp),%r8
140e3974c:	44 89 9d 60 01 00 00 	mov    %r11d,0x160(%rbp)
140e39753:	ba cc 01 00 00       	mov    $0x1cc,%edx
140e39758:	48 8d 8d 64 01 00 00 	lea    0x164(%rbp),%rcx
140e3975f:	e8 48 1c 00 00       	call   0x140e3b3ac
140e39764:	44 8b bd 60 01 00 00 	mov    0x160(%rbp),%r15d
140e3976b:	45 33 db             	xor    %r11d,%r11d
140e3976e:	e9 cc 00 00 00       	jmp    0x140e3983f
140e39773:	41 8b d3             	mov    %r11d,%edx
140e39776:	41 8b c4             	mov    %r12d,%eax
140e39779:	2b c1                	sub    %ecx,%eax
140e3977b:	3b f0                	cmp    %eax,%esi
140e3977d:	0f 97 c2             	seta   %dl
140e39780:	41 03 d0             	add    %r8d,%edx
140e39783:	41 03 d7             	add    %r15d,%edx
140e39786:	89 54 24 40          	mov    %edx,0x40(%rsp)
140e3978a:	83 fa 73             	cmp    $0x73,%edx
140e3978d:	77 b2                	ja     0x140e39741
140e3978f:	41 8d 40 ff          	lea    -0x1(%r8),%eax
140e39793:	44 8d 5a ff          	lea    -0x1(%rdx),%r11d
140e39797:	44 3b d8             	cmp    %eax,%r11d
140e3979a:	74 7e                	je     0x140e3981a
140e3979c:	8b 5c 24 48          	mov    0x48(%rsp),%ebx
140e397a0:	45 8d 60 ff          	lea    -0x1(%r8),%r12d
140e397a4:	8b 54 24 38          	mov    0x38(%rsp),%edx
140e397a8:	41 bd ff ff ff ff    	mov    $0xffffffff,%r13d
140e397ae:	41 8b c3             	mov    %r11d,%eax
140e397b1:	41 2b c0             	sub    %r8d,%eax
140e397b4:	8d 48 ff             	lea    -0x1(%rax),%ecx
140e397b7:	41 3b c7             	cmp    %r15d,%eax
140e397ba:	73 0a                	jae    0x140e397c6
140e397bc:	44 8b 94 85 64 01 00 	mov    0x164(%rbp,%rax,4),%r10d
140e397c3:	00
140e397c4:	eb 03                	jmp    0x140e397c9
140e397c6:	45 33 d2             	xor    %r10d,%r10d
140e397c9:	41 3b cf             	cmp    %r15d,%ecx
140e397cc:	73 0a                	jae    0x140e397d8
140e397ce:	44 8b 8c 8d 64 01 00 	mov    0x164(%rbp,%rcx,4),%r9d
140e397d5:	00
140e397d6:	eb 03                	jmp    0x140e397db
140e397d8:	45 33 c9             	xor    %r9d,%r9d
140e397db:	44 23 ca             	and    %edx,%r9d
140e397de:	8b cb                	mov    %ebx,%ecx
140e397e0:	41 d3 e9             	shr    %cl,%r9d
140e397e3:	44 23 d7             	and    %edi,%r10d
140e397e6:	8b ce                	mov    %esi,%ecx
140e397e8:	41 d3 e2             	shl    %cl,%r10d
140e397eb:	45 0b ca             	or     %r10d,%r9d
140e397ee:	46 89 8c 9d 64 01 00 	mov    %r9d,0x164(%rbp,%r11,4)
140e397f5:	00
140e397f6:	45 03 dd             	add    %r13d,%r11d
140e397f9:	45 3b dc             	cmp    %r12d,%r11d
140e397fc:	74 09                	je     0x140e39807
140e397fe:	44 8b bd 60 01 00 00 	mov    0x160(%rbp),%r15d
140e39805:	eb a7                	jmp    0x140e397ae
140e39807:	44 8b 6c 24 30       	mov    0x30(%rsp),%r13d
140e3980c:	41 bc 20 00 00 00    	mov    $0x20,%r12d
140e39812:	8b 5c 24 34          	mov    0x34(%rsp),%ebx
140e39816:	8b 54 24 40          	mov    0x40(%rsp),%edx
140e3981a:	45 33 db             	xor    %r11d,%r11d
140e3981d:	41 8b cb             	mov    %r11d,%ecx
140e39820:	45 85 c0             	test   %r8d,%r8d
140e39823:	74 11                	je     0x140e39836
140e39825:	8b c1                	mov    %ecx,%eax
140e39827:	ff c1                	inc    %ecx
140e39829:	44 89 9c 85 64 01 00 	mov    %r11d,0x164(%rbp,%rax,4)
140e39830:	00
140e39831:	41 3b c8             	cmp    %r8d,%ecx
140e39834:	75 ef                	jne    0x140e39825
140e39836:	44 8b fa             	mov    %edx,%r15d
140e39839:	89 95 60 01 00 00    	mov    %edx,0x160(%rbp)
140e3983f:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140e39845:	8b 44 24 50          	mov    0x50(%rsp),%eax
140e39849:	8b 7c 24 3c          	mov    0x3c(%rsp),%edi
140e3984d:	2b c7                	sub    %edi,%eax
140e3984f:	89 44 24 50          	mov    %eax,0x50(%rsp)
140e39853:	44 8b d0             	mov    %eax,%r10d
140e39856:	85 ff                	test   %edi,%edi
140e39858:	74 1b                	je     0x140e39875
140e3985a:	3b d8                	cmp    %eax,%ebx
140e3985c:	76 14                	jbe    0x140e39872
140e3985e:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
140e39863:	41 b1 01             	mov    $0x1,%r9b
140e39866:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140e3986b:	8b d7                	mov    %edi,%edx
140e3986d:	e9 46 02 00 00       	jmp    0x140e39ab8
140e39872:	44 2b d3             	sub    %ebx,%r10d
140e39875:	45 3b fd             	cmp    %r13d,%r15d
140e39878:	77 24                	ja     0x140e3989e
140e3987a:	73 04                	jae    0x140e39880
140e3987c:	b1 01                	mov    $0x1,%cl
140e3987e:	eb 21                	jmp    0x140e398a1
140e39880:	41 8d 57 ff          	lea    -0x1(%r15),%edx
140e39884:	eb 13                	jmp    0x140e39899
140e39886:	8b 84 95 04 05 00 00 	mov    0x504(%rbp,%rdx,4),%eax
140e3988d:	39 84 95 64 01 00 00 	cmp    %eax,0x164(%rbp,%rdx,4)
140e39894:	75 54                	jne    0x140e398ea
140e39896:	41 03 d0             	add    %r8d,%edx
140e39899:	41 3b d0             	cmp    %r8d,%edx
140e3989c:	75 e8                	jne    0x140e39886
140e3989e:	41 8a cb             	mov    %r11b,%cl
140e398a1:	84 c9                	test   %cl,%cl
140e398a3:	44 89 5c 24 38       	mov    %r11d,0x38(%rsp)
140e398a8:	8d 43 01             	lea    0x1(%rbx),%eax
140e398ab:	45 8b ca             	mov    %r10d,%r9d
140e398ae:	0f 45 d8             	cmovne %eax,%ebx
140e398b1:	45 8b ec             	mov    %r12d,%r13d
140e398b4:	41 83 e2 1f          	and    $0x1f,%r10d
140e398b8:	41 c1 e9 05          	shr    $0x5,%r9d
140e398bc:	45 2b ea             	sub    %r10d,%r13d
140e398bf:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
140e398c3:	41 8b cd             	mov    %r13d,%ecx
140e398c6:	be 01 00 00 00       	mov    $0x1,%esi
140e398cb:	48 d3 e6             	shl    %cl,%rsi
140e398ce:	ff ce                	dec    %esi
140e398d0:	8b c6                	mov    %esi,%eax
140e398d2:	f7 d0                	not    %eax
140e398d4:	89 44 24 48          	mov    %eax,0x48(%rsp)
140e398d8:	41 8d 47 ff          	lea    -0x1(%r15),%eax
140e398dc:	0f bd 8c 85 64 01 00 	bsr    0x164(%rbp,%rax,4),%ecx
140e398e3:	00
140e398e4:	74 09                	je     0x140e398ef
140e398e6:	ff c1                	inc    %ecx
140e398e8:	eb 08                	jmp    0x140e398f2
140e398ea:	0f 96 c1             	setbe  %cl
140e398ed:	eb b2                	jmp    0x140e398a1
140e398ef:	41 8b cb             	mov    %r11d,%ecx
140e398f2:	43 8d 04 39          	lea    (%r9,%r15,1),%eax
140e398f6:	83 f8 73             	cmp    $0x73,%eax
140e398f9:	76 28                	jbe    0x140e39923
140e398fb:	45 33 c9             	xor    %r9d,%r9d
140e398fe:	44 89 5d 90          	mov    %r11d,-0x70(%rbp)
140e39902:	4c 8d 45 94          	lea    -0x6c(%rbp),%r8
140e39906:	44 89 9d 60 01 00 00 	mov    %r11d,0x160(%rbp)
140e3990d:	ba cc 01 00 00       	mov    $0x1cc,%edx
140e39912:	48 8d 8d 64 01 00 00 	lea    0x164(%rbp),%rcx
140e39919:	e8 8e 1a 00 00       	call   0x140e3b3ac
140e3991e:	e9 b0 00 00 00       	jmp    0x140e399d3
140e39923:	44 2b e1             	sub    %ecx,%r12d
140e39926:	41 8b d3             	mov    %r11d,%edx
140e39929:	45 3b d4             	cmp    %r12d,%r10d
140e3992c:	0f 97 c2             	seta   %dl
140e3992f:	41 03 d1             	add    %r9d,%edx
140e39932:	41 03 d7             	add    %r15d,%edx
140e39935:	89 54 24 38          	mov    %edx,0x38(%rsp)
140e39939:	83 fa 73             	cmp    $0x73,%edx
140e3993c:	77 bd                	ja     0x140e398fb
140e3993e:	45 8d 61 ff          	lea    -0x1(%r9),%r12d
140e39942:	44 8d 5a ff          	lea    -0x1(%rdx),%r11d
140e39946:	45 3b dc             	cmp    %r12d,%r11d
140e39949:	74 6c                	je     0x140e399b7
140e3994b:	8b 5c 24 48          	mov    0x48(%rsp),%ebx
140e3994f:	ba ff ff ff ff       	mov    $0xffffffff,%edx
140e39954:	41 8b c3             	mov    %r11d,%eax
140e39957:	41 2b c1             	sub    %r9d,%eax
140e3995a:	8d 48 ff             	lea    -0x1(%rax),%ecx
140e3995d:	41 3b c7             	cmp    %r15d,%eax
140e39960:	73 09                	jae    0x140e3996b
140e39962:	8b bc 85 64 01 00 00 	mov    0x164(%rbp,%rax,4),%edi
140e39969:	eb 02                	jmp    0x140e3996d
140e3996b:	33 ff                	xor    %edi,%edi
140e3996d:	41 3b cf             	cmp    %r15d,%ecx
140e39970:	73 0a                	jae    0x140e3997c
140e39972:	44 8b 84 8d 64 01 00 	mov    0x164(%rbp,%rcx,4),%r8d
140e39979:	00
140e3997a:	eb 03                	jmp    0x140e3997f
140e3997c:	45 33 c0             	xor    %r8d,%r8d
140e3997f:	44 23 c3             	and    %ebx,%r8d
140e39982:	41 8b cd             	mov    %r13d,%ecx
140e39985:	41 d3 e8             	shr    %cl,%r8d
140e39988:	23 fe                	and    %esi,%edi
140e3998a:	41 8b ca             	mov    %r10d,%ecx
140e3998d:	d3 e7                	shl    %cl,%edi
140e3998f:	44 0b c7             	or     %edi,%r8d
140e39992:	46 89 84 9d 64 01 00 	mov    %r8d,0x164(%rbp,%r11,4)
140e39999:	00
140e3999a:	44 03 da             	add    %edx,%r11d
140e3999d:	45 3b dc             	cmp    %r12d,%r11d
140e399a0:	74 09                	je     0x140e399ab
140e399a2:	44 8b bd 60 01 00 00 	mov    0x160(%rbp),%r15d
140e399a9:	eb a9                	jmp    0x140e39954
140e399ab:	8b 54 24 38          	mov    0x38(%rsp),%edx
140e399af:	8b 5c 24 34          	mov    0x34(%rsp),%ebx
140e399b3:	8b 7c 24 3c          	mov    0x3c(%rsp),%edi
140e399b7:	33 c9                	xor    %ecx,%ecx
140e399b9:	45 85 c9             	test   %r9d,%r9d
140e399bc:	74 0f                	je     0x140e399cd
140e399be:	83 a4 8d 64 01 00 00 	andl   $0x0,0x164(%rbp,%rcx,4)
140e399c5:	00
140e399c6:	ff c1                	inc    %ecx
140e399c8:	41 3b c9             	cmp    %r9d,%ecx
140e399cb:	75 f1                	jne    0x140e399be
140e399cd:	89 95 60 01 00 00    	mov    %edx,0x160(%rbp)
140e399d3:	48 8d 95 00 05 00 00 	lea    0x500(%rbp),%rdx
140e399da:	48 8d 8d 60 01 00 00 	lea    0x160(%rbp),%rcx
140e399e1:	e8 ca 01 00 00       	call   0x140e39bb0
140e399e6:	83 bd 60 01 00 00 00 	cmpl   $0x0,0x160(%rbp)
140e399ed:	48 8b d0             	mov    %rax,%rdx
140e399f0:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140e399f5:	41 0f 94 c1          	sete   %r9b
140e399f9:	48 3b d0             	cmp    %rax,%rdx
140e399fc:	76 17                	jbe    0x140e39a15
140e399fe:	48 8b ca             	mov    %rdx,%rcx
140e39a01:	48 c1 e9 20          	shr    $0x20,%rcx
140e39a05:	0f bd c9             	bsr    %ecx,%ecx
140e39a08:	74 04                	je     0x140e39a0e
140e39a0a:	ff c1                	inc    %ecx
140e39a0c:	eb 02                	jmp    0x140e39a10
140e39a0e:	33 c9                	xor    %ecx,%ecx
140e39a10:	83 c1 20             	add    $0x20,%ecx
140e39a13:	eb 0b                	jmp    0x140e39a20
140e39a15:	0f bd ca             	bsr    %edx,%ecx
140e39a18:	74 04                	je     0x140e39a1e
140e39a1a:	ff c1                	inc    %ecx
140e39a1c:	eb 02                	jmp    0x140e39a20
140e39a1e:	33 c9                	xor    %ecx,%ecx
140e39a20:	8b 74 24 50          	mov    0x50(%rsp),%esi
140e39a24:	3b ce                	cmp    %esi,%ecx
140e39a26:	76 22                	jbe    0x140e39a4a
140e39a28:	2b ce                	sub    %esi,%ecx
140e39a2a:	45 84 c9             	test   %r9b,%r9b
140e39a2d:	74 15                	je     0x140e39a44
140e39a2f:	b8 01 00 00 00       	mov    $0x1,%eax
140e39a34:	48 d3 e0             	shl    %cl,%rax
140e39a37:	48 ff c8             	dec    %rax
140e39a3a:	48 85 c2             	test   %rax,%rdx
140e39a3d:	75 05                	jne    0x140e39a44
140e39a3f:	41 b1 01             	mov    $0x1,%r9b
140e39a42:	eb 03                	jmp    0x140e39a47
140e39a44:	45 32 c9             	xor    %r9b,%r9b
140e39a47:	48 d3 ea             	shr    %cl,%rdx
140e39a4a:	45 33 db             	xor    %r11d,%r11d
140e39a4d:	8d 47 fe             	lea    -0x2(%rdi),%eax
140e39a50:	45 85 f6             	test   %r14d,%r14d
140e39a53:	8b ce                	mov    %esi,%ecx
140e39a55:	f7 d3                	not    %ebx
140e39a57:	44 0f 45 9d 34 03 00 	cmovne 0x334(%rbp),%r11d
140e39a5e:	00
140e39a5f:	45 33 c0             	xor    %r8d,%r8d
140e39a62:	41 83 fe 01          	cmp    $0x1,%r14d
140e39a66:	44 0f 47 85 38 03 00 	cmova  0x338(%rbp),%r8d
140e39a6d:	00
140e39a6e:	85 ff                	test   %edi,%edi
140e39a70:	45 8b d0             	mov    %r8d,%r10d
140e39a73:	0f 45 d8             	cmovne %eax,%ebx
140e39a76:	49 c1 e2 20          	shl    $0x20,%r10
140e39a7a:	41 8b c3             	mov    %r11d,%eax
140e39a7d:	4c 03 d0             	add    %rax,%r10
140e39a80:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
140e39a85:	49 d3 e2             	shl    %cl,%r10
140e39a88:	44 8a 80 08 03 00 00 	mov    0x308(%rax),%r8b
140e39a8f:	4a 8d 0c 12          	lea    (%rdx,%r10,1),%rcx
140e39a93:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
140e39a98:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140e39a9d:	8b d3                	mov    %ebx,%edx