140a965d4:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140a965d9:	e8 f2 f4 ff ff       	call   0x140a95ad0
140a965de:	0f b6 c0             	movzbl %al,%eax
140a965e1:	85 c0                	test   %eax,%eax
140a965e3:	74 23                	je     0x140a96608
140a965e5:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140a965ea:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
140a965ef:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140a965f4:	e8 87 09 00 00       	call   0x140a96f80
140a965f9:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140a965fe:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140a96603:	48 89 08             	mov    %rcx,(%rax)
140a96606:	eb 6c                	jmp    0x140a96674
140a96608:	48 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%rax
140a9660f:	00
140a96610:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140a96617:	00
140a96618:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140a9661d:	e8 2e f6 ff ff       	call   0x140a95c50
140a96622:	48 8b c8             	mov    %rax,%rcx
140a96625:	e8 56 f5 ff ff       	call   0x140a95b80
140a9662a:	48 8b c8             	mov    %rax,%rcx
140a9662d:	e8 2e e1 ff ff       	call   0x140a94760
140a96632:	4c 8b c0             	mov    %rax,%r8
140a96635:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
140a9663a:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
140a96641:	00
140a96642:	e8 59 d7 77 ff       	call   0x140213da0
140a96647:	0f b6 c0             	movzbl %al,%eax
140a9664a:	85 c0                	test   %eax,%eax
140a9664c:	75 21                	jne    0x140a9666f
140a9664e:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140a96653:	e8 98 f5 ff ff       	call   0x140a95bf0
140a96658:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140a9665d:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
140a96662:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140a96667:	e8 14 09 00 00       	call   0x140a96f80
140a9666c:	90                   	nop
140a9666d:	eb 05                	jmp    0x140a96674
140a9666f:	e9 5b ff ff ff       	jmp    0x140a965cf
140a96674:	e9 f7 fd ff ff       	jmp    0x140a96470
140a96679:	48 c7 44 24 68 00 00 	movq   $0x0,0x68(%rsp)
140a96680:	00 00
140a96682:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140a96687:	e8 b4 f3 ff ff       	call   0x140a95a40
140a9668c:	90                   	nop
140a9668d:	48 81 c4 a8 00 00 00 	add    $0xa8,%rsp
140a96694:	c3                   	ret
140a96695:	cc                   	int3
140a96696:	cc                   	int3
140a96697:	cc                   	int3
140a96698:	cc                   	int3
140a96699:	cc                   	int3
140a9669a:	cc                   	int3
140a9669b:	cc                   	int3
140a9669c:	cc                   	int3
140a9669d:	cc                   	int3
140a9669e:	cc                   	int3
140a9669f:	cc                   	int3
140a966a0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a966a5:	48 83 ec 28          	sub    $0x28,%rsp
140a966a9:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a966ae:	48 8b c8             	mov    %rax,%rcx
140a966b1:	e8 aa e0 ff ff       	call   0x140a94760
140a966b6:	48 83 c4 28          	add    $0x28,%rsp
140a966ba:	c3                   	ret
140a966bb:	cc                   	int3
140a966bc:	cc                   	int3
140a966bd:	cc                   	int3
140a966be:	cc                   	int3
140a966bf:	cc                   	int3
140a966c0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140a966c5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140a966ca:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140a966cf:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a966d4:	48 83 ec 58          	sub    $0x58,%rsp
140a966d8:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140a966dd:	48 8b 40 08          	mov    0x8(%rax),%rax
140a966e1:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a966e6:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140a966eb:	48 8b 40 10          	mov    0x10(%rax),%rax
140a966ef:	48 ff c0             	inc    %rax
140a966f2:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140a966f7:	48 89 41 10          	mov    %rax,0x10(%rcx)
140a966fb:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140a96700:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
140a96705:	48 8b c8             	mov    %rax,%rcx
140a96708:	e8 53 d7 ff ff       	call   0x140a93e60
140a9670d:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140a96712:	48 83 c0 08          	add    $0x8,%rax
140a96716:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140a9671b:	48 8b c8             	mov    %rax,%rcx
140a9671e:	e8 3d d7 ff ff       	call   0x140a93e60
140a96723:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140a96728:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140a9672d:	48 89 08             	mov    %rcx,(%rax)
140a96730:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140a96735:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140a9673a:	48 89 48 08          	mov    %rcx,0x8(%rax)
140a9673e:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140a96743:	48 8b 40 08          	mov    0x8(%rax),%rax
140a96747:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140a9674c:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140a96751:	48 8b 40 18          	mov    0x18(%rax),%rax
140a96755:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140a9675a:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140a9675f:	48 8b 40 30          	mov    0x30(%rax),%rax
140a96763:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
140a96768:	48 23 c8             	and    %rax,%rcx
140a9676b:	48 8b c1             	mov    %rcx,%rax
140a9676e:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140a96773:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140a96778:	48 d1 e0             	shl    $1,%rax
140a9677b:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a96780:	48 8d 04 c1          	lea    (%rcx,%rax,8),%rax
140a96784:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a96789:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140a9678e:	48 d1 e0             	shl    $1,%rax
140a96791:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a96796:	48 8d 44 c1 08       	lea    0x8(%rcx,%rax,8),%rax
140a9679b:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140a967a0:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140a967a5:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140a967aa:	48 39 08             	cmp    %rcx,(%rax)
140a967ad:	75 1c                	jne    0x140a967cb
140a967af:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140a967b4:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140a967b9:	48 89 08             	mov    %rcx,(%rax)
140a967bc:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a967c1:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140a967c6:	48 89 08             	mov    %rcx,(%rax)
140a967c9:	eb 3a                	jmp    0x140a96805
140a967cb:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140a967d0:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
140a967d5:	48 39 08             	cmp    %rcx,(%rax)
140a967d8:	75 0f                	jne    0x140a967e9
140a967da:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140a967df:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140a967e4:	48 89 08             	mov    %rcx,(%rax)
140a967e7:	eb 1c                	jmp    0x140a96805
140a967e9:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a967ee:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140a967f3:	48 39 08             	cmp    %rcx,(%rax)
140a967f6:	75 0d                	jne    0x140a96805
140a967f8:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a967fd:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140a96802:	48 89 08             	mov    %rcx,(%rax)
140a96805:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140a9680a:	48 83 c4 58          	add    $0x58,%rsp
140a9680e:	c3                   	ret
140a9680f:	cc                   	int3
140a96810:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140a96815:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140a9681a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a9681f:	48 83 ec 28          	sub    $0x28,%rsp
140a96823:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a96828:	48 8b c8             	mov    %rax,%rcx
140a9682b:	e8 30 df ff ff       	call   0x140a94760
140a96830:	4c 8b c0             	mov    %rax,%r8
140a96833:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140a96838:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140a9683d:	e8 fe ea ff ff       	call   0x140a95340
140a96842:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140a96847:	48 83 c4 28          	add    $0x28,%rsp
140a9684b:	c3                   	ret
140a9684c:	cc                   	int3
140a9684d:	cc                   	int3
140a9684e:	cc                   	int3
140a9684f:	cc                   	int3
140a96850:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a96855:	48 83 ec 28          	sub    $0x28,%rsp
140a96859:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a9685e:	48 8b c8             	mov    %rax,%rcx
140a96861:	e8 4a 06 70 ff       	call   0x140196eb0
140a96866:	48 83 c4 28          	add    $0x28,%rsp
140a9686a:	c3                   	ret
140a9686b:	cc                   	int3
140a9686c:	cc                   	int3
140a9686d:	cc                   	int3
140a9686e:	cc                   	int3
140a9686f:	cc                   	int3
140a96870:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140a96875:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a9687a:	48 83 ec 38          	sub    $0x38,%rsp
140a9687e:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140a96883:	48 85 c0             	test   %rax,%rax
140a96886:	7c 0d                	jl     0x140a96895
140a96888:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140a9688d:	f3 0f 11 44 24 20    	movss  %xmm0,0x20(%rsp)
140a96893:	eb 1f                	jmp    0x140a968b4
140a96895:	48 8b c8             	mov    %rax,%rcx
140a96898:	48 d1 e9             	shr    $1,%rcx
140a9689b:	48 83 e0 01          	and    $0x1,%rax
140a9689f:	48 0b c8             	or     %rax,%rcx
140a968a2:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140a968a7:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a968ab:	0f 28 c1             	movaps %xmm1,%xmm0
140a968ae:	f3 0f 11 44 24 20    	movss  %xmm0,0x20(%rsp)
140a968b4:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a968b9:	e8 a2 0a 00 00       	call   0x140a97360
140a968be:	f3 0f 10 4c 24 20    	movss  0x20(%rsp),%xmm1
140a968c4:	f3 0f 5e c8          	divss  %xmm0,%xmm1
140a968c8:	0f 28 c1             	movaps %xmm1,%xmm0
140a968cb:	e8 50 a8 39 00       	call   0x140e31120
140a968d0:	33 c0                	xor    %eax,%eax
140a968d2:	0f 2f 05 8b 7d 51 00 	comiss 0x517d8b(%rip),%xmm0        # 0x140fae664
140a968d9:	72 1e                	jb     0x140a968f9
140a968db:	f3 0f 5c 05 81 7d 51 	subss  0x517d81(%rip),%xmm0        # 0x140fae664
140a968e2:	00
140a968e3:	0f 2f 05 7a 7d 51 00 	comiss 0x517d7a(%rip),%xmm0        # 0x140fae664
140a968ea:	73 0d                	jae    0x140a968f9
140a968ec:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140a968f3:	00 00 80
140a968f6:	48 03 c1             	add    %rcx,%rax
140a968f9:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
140a968fe:	48 03 c8             	add    %rax,%rcx
140a96901:	48 8b c1             	mov    %rcx,%rax
140a96904:	48 83 c4 38          	add    $0x38,%rsp
140a96908:	c3                   	ret
140a96909:	cc                   	int3
140a9690a:	cc                   	int3
140a9690b:	cc                   	int3
140a9690c:	cc                   	int3
140a9690d:	cc                   	int3
140a9690e:	cc                   	int3
140a9690f:	cc                   	int3
140a96910:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a96915:	48 83 ec 38          	sub    $0x38,%rsp
140a96919:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140a9691e:	48 8b 40 10          	mov    0x10(%rax),%rax
140a96922:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a96927:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140a9692c:	48 ff c0             	inc    %rax
140a9692f:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a96934:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140a96939:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a9693e:	e8 5d f9 ff ff       	call   0x140a962a0
140a96943:	48 8b d0             	mov    %rax,%rdx
140a96946:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a9694b:	e8 e0 f9 ff ff       	call   0x140a96330
140a96950:	90                   	nop
140a96951:	48 83 c4 38          	add    $0x38,%rsp
140a96955:	c3                   	ret
140a96956:	cc                   	int3
140a96957:	cc                   	int3
140a96958:	cc                   	int3
140a96959:	cc                   	int3
140a9695a:	cc                   	int3
140a9695b:	cc                   	int3
140a9695c:	cc                   	int3
140a9695d:	cc                   	int3
140a9695e:	cc                   	int3
140a9695f:	cc                   	int3
140a96960:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a96965:	48 83 ec 38          	sub    $0x38,%rsp
140a96969:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140a96970:	00 00
140a96972:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140a96977:	48 83 c0 08          	add    $0x8,%rax
140a9697b:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a96980:	48 8b c8             	mov    %rax,%rcx
140a96983:	e8 a8 e2 ff ff       	call   0x140a94c30
140a96988:	48 83 c4 38          	add    $0x38,%rsp
140a9698c:	c3                   	ret
140a9698d:	cc                   	int3
140a9698e:	cc                   	int3
140a9698f:	cc                   	int3
140a96990:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a96995:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
140a9699a:	48 8b 4c 24 08       	mov    0x8(%rsp),%rcx
140a9699f:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a969a3:	48 89 08             	mov    %rcx,(%rax)
140a969a6:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
140a969ab:	48 8b 40 08          	mov    0x8(%rax),%rax
140a969af:	c3                   	ret
140a969b0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a969b5:	48 83 ec 48          	sub    $0x48,%rsp
140a969b9:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a969be:	48 83 38 00          	cmpq   $0x0,(%rax)
140a969c2:	74 7e                	je     0x140a96a42
140a969c4:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a969c9:	48 8b 50 08          	mov    0x8(%rax),%rdx
140a969cd:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a969d2:	48 8b 08             	mov    (%rax),%rcx
140a969d5:	e8 76 d4 ff ff       	call   0x140a93e50
140a969da:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a969df:	48 8b c8             	mov    %rax,%rcx
140a969e2:	e8 79 dd ff ff       	call   0x140a94760
140a969e7:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140a969ec:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140a969f1:	e8 8a 07 00 00       	call   0x140a97180
140a969f6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a969fb:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a96a00:	48 8b 00             	mov    (%rax),%rax
140a96a03:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a96a08:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
140a96a0d:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140a96a12:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140a96a17:	e8 14 09 00 00       	call   0x140a97330
140a96a1c:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a96a21:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140a96a28:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a96a2d:	48 c7 40 08 00 00 00 	movq   $0x0,0x8(%rax)
140a96a34:	00
140a96a35:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a96a3a:	48 c7 40 10 00 00 00 	movq   $0x0,0x10(%rax)
140a96a41:	00
140a96a42:	48 83 c4 48          	add    $0x48,%rsp
140a96a46:	c3                   	ret
140a96a47:	cc                   	int3
140a96a48:	cc                   	int3
140a96a49:	cc                   	int3
140a96a4a:	cc                   	int3
140a96a4b:	cc                   	int3
140a96a4c:	cc                   	int3
140a96a4d:	cc                   	int3
140a96a4e:	cc                   	int3
140a96a4f:	cc                   	int3
140a96a50:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a96a55:	48 83 ec 38          	sub    $0x38,%rsp
140a96a59:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a96a5e:	e8 3d fc ff ff       	call   0x140a966a0
140a96a63:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a96a68:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140a96a6d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a96a72:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140a96a77:	e8 84 04 70 ff       	call   0x140196f00
140a96a7c:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140a96a81:	48 8b 10             	mov    (%rax),%rdx
140a96a84:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140a96a89:	e8 32 d6 ff ff       	call   0x140a940c0
140a96a8e:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140a96a93:	48 8b 10             	mov    (%rax),%rdx
140a96a96:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140a96a9b:	e8 90 d6 ff ff       	call   0x140a94130
140a96aa0:	90                   	nop
140a96aa1:	48 83 c4 38          	add    $0x38,%rsp
140a96aa5:	c3                   	ret
140a96aa6:	cc                   	int3
140a96aa7:	cc                   	int3
140a96aa8:	cc                   	int3
140a96aa9:	cc                   	int3
140a96aaa:	cc                   	int3
140a96aab:	cc                   	int3
140a96aac:	cc                   	int3
140a96aad:	cc                   	int3
140a96aae:	cc                   	int3
140a96aaf:	cc                   	int3
140a96ab0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140a96ab5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)