1400a0502:	48 89 f2             	mov    %rsi,%rdx
1400a0505:	49 89 d9             	mov    %rbx,%r9
1400a0508:	e8 c3 14 00 00       	call   0x1400a19d0
1400a050d:	48 89 c1             	mov    %rax,%rcx
1400a0510:	41 80 3f 30          	cmpb   $0x30,(%r15)
1400a0514:	4d 0f 45 f7          	cmovne %r15,%r14
1400a0518:	48 89 ca             	mov    %rcx,%rdx
1400a051b:	4c 29 f2             	sub    %r14,%rdx
1400a051e:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
1400a0525:	00
1400a0526:	48 85 c0             	test   %rax,%rax
1400a0529:	75 1f                	jne    0x1400a054a
1400a052b:	4c 8b 84 24 90 00 00 	mov    0x90(%rsp),%r8
1400a0532:	00
1400a0533:	45 0f b6 40 01       	movzbl 0x1(%r8),%r8d
1400a0538:	45 31 c9             	xor    %r9d,%r9d
1400a053b:	41 0f ba e0 03       	bt     $0x3,%r8d
1400a0540:	41 80 d1 ff          	adc    $0xff,%r9b
1400a0544:	4d 0f be c1          	movsbq %r9b,%r8
1400a0548:	eb 03                	jmp    0x1400a054d
1400a054a:	45 31 c0             	xor    %r8d,%r8d
1400a054d:	49 01 d0             	add    %rdx,%r8
1400a0550:	48 8d 15 d5 26 04 00 	lea    0x426d5(%rip),%rdx        # 0x1400e2c2c
1400a0557:	48 89 54 24 70       	mov    %rdx,0x70(%rsp)
1400a055c:	48 c7 44 24 78 00 00 	movq   $0x0,0x78(%rsp)
1400a0563:	00 00
1400a0565:	4c 89 74 24 60       	mov    %r14,0x60(%rsp)
1400a056a:	4c 89 44 24 68       	mov    %r8,0x68(%rsp)
1400a056f:	0f 88 a1 04 00 00    	js     0x1400a0a16
1400a0575:	4d 85 f6             	test   %r14,%r14
1400a0578:	75 09                	jne    0x1400a0583
1400a057a:	4d 85 c0             	test   %r8,%r8
1400a057d:	0f 85 93 04 00 00    	jne    0x1400a0a16
1400a0583:	48 29 ce             	sub    %rcx,%rsi
1400a0586:	48 01 c6             	add    %rax,%rsi
1400a0589:	48 8d 44 24 70       	lea    0x70(%rsp),%rax
1400a058e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400a0593:	48 8d 8c 24 80 00 00 	lea    0x80(%rsp),%rcx
1400a059a:	00
1400a059b:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1400a05a0:	45 31 c0             	xor    %r8d,%r8d
1400a05a3:	e9 69 02 00 00       	jmp    0x1400a0811
1400a05a8:	40 88 ac 24 80 00 00 	mov    %bpl,0x80(%rsp)
1400a05af:	00
1400a05b0:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
1400a05b7:	00
1400a05b8:	48 89 b4 24 90 00 00 	mov    %rsi,0x90(%rsp)
1400a05bf:	00
1400a05c0:	4c 89 b4 24 98 00 00 	mov    %r14,0x98(%rsp)
1400a05c7:	00
1400a05c8:	41 83 c4 0b          	add    $0xb,%r12d
1400a05cc:	48 85 ff             	test   %rdi,%rdi
1400a05cf:	7e 28                	jle    0x1400a05f9
1400a05d1:	b8 02 fc ff ff       	mov    $0xfffffc02,%eax
1400a05d6:	41 81 fc 02 fc ff ff 	cmp    $0xfffffc02,%r12d
1400a05dd:	41 0f 4c c4          	cmovl  %r12d,%eax
1400a05e1:	41 81 fc 02 fc ff ff 	cmp    $0xfffffc02,%r12d
1400a05e8:	0f 8e ea 03 00 00    	jle    0x1400a09d8
1400a05ee:	48 01 ff             	add    %rdi,%rdi
1400a05f1:	41 ff cc             	dec    %r12d
1400a05f4:	48 85 ff             	test   %rdi,%rdi
1400a05f7:	7f e8                	jg     0x1400a05e1
1400a05f9:	49 89 fa             	mov    %rdi,%r10
1400a05fc:	49 c1 ea 3f          	shr    $0x3f,%r10
1400a0600:	41 ff cc             	dec    %r12d
1400a0603:	45 31 c9             	xor    %r9d,%r9d
1400a0606:	48 85 ff             	test   %rdi,%rdi
1400a0609:	45 0f 45 cc          	cmovne %r12d,%r9d
1400a060d:	48 01 ff             	add    %rdi,%rdi
1400a0610:	45 85 ff             	test   %r15d,%r15d
1400a0613:	0f 98 c1             	sets   %cl
1400a0616:	31 c0                	xor    %eax,%eax
1400a0618:	ba 10 00 00 00       	mov    $0x10,%edx
1400a061d:	48 29 da             	sub    %rbx,%rdx
1400a0620:	48 0f 43 c2          	cmovae %rdx,%rax
1400a0624:	41 83 fd 10          	cmp    $0x10,%r13d
1400a0628:	0f 93 c2             	setae  %dl
1400a062b:	08 ca                	or     %cl,%dl
1400a062d:	74 0d                	je     0x1400a063c
1400a062f:	48 89 fa             	mov    %rdi,%rdx
1400a0632:	45 85 ff             	test   %r15d,%r15d
1400a0635:	79 7e                	jns    0x1400a06b5
1400a0637:	e9 a2 00 00 00       	jmp    0x1400a06de
1400a063c:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
1400a0643:	00
1400a0644:	89 d1                	mov    %edx,%ecx
1400a0646:	f6 d9                	neg    %cl
1400a0648:	49 89 fb             	mov    %rdi,%r11
1400a064b:	49 d3 e3             	shl    %cl,%r11
1400a064e:	49 d3 eb             	shr    %cl,%r11
1400a0651:	8d 4a fc             	lea    -0x4(%rdx),%ecx
1400a0654:	41 be 08 00 00 00    	mov    $0x8,%r14d
1400a065a:	49 d3 e6             	shl    %cl,%r14
1400a065d:	4d 39 f3             	cmp    %r14,%r11
1400a0660:	74 04                	je     0x1400a0666
1400a0662:	76 51                	jbe    0x1400a06b5
1400a0664:	eb 22                	jmp    0x1400a0688
1400a0666:	41 bb 0f 00 00 00    	mov    $0xf,%r11d
1400a066c:	89 d1                	mov    %edx,%ecx
1400a066e:	49 d3 e3             	shl    %cl,%r11
1400a0671:	49 21 fb             	and    %rdi,%r11
1400a0674:	49 d3 eb             	shr    %cl,%r11
1400a0677:	48 83 f8 10          	cmp    $0x10,%rax
1400a067b:	41 0f b6 ca          	movzbl %r10b,%ecx
1400a067f:	41 0f 45 cb          	cmovne %r11d,%ecx
1400a0683:	f6 c1 01             	test   $0x1,%cl
1400a0686:	74 2d                	je     0x1400a06b5
1400a0688:	41 bb 01 00 00 00    	mov    $0x1,%r11d
1400a068e:	89 d1                	mov    %edx,%ecx
1400a0690:	49 d3 e3             	shl    %cl,%r11
1400a0693:	31 c9                	xor    %ecx,%ecx
1400a0695:	48 83 f8 10          	cmp    $0x10,%rax
1400a0699:	49 0f 42 cb          	cmovb  %r11,%rcx
1400a069d:	0f 93 c2             	setae  %dl
1400a06a0:	48 85 ff             	test   %rdi,%rdi
1400a06a3:	41 0f 98 c3          	sets   %r11b
1400a06a7:	48 01 cf             	add    %rcx,%rdi
1400a06aa:	0f 99 c1             	setns  %cl
1400a06ad:	44 20 d9             	and    %r11b,%cl
1400a06b0:	08 d1                	or     %dl,%cl
1400a06b2:	41 00 ca             	add    %cl,%r10b
1400a06b5:	c1 e0 02             	shl    $0x2,%eax
1400a06b8:	f6 d8                	neg    %al
1400a06ba:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
1400a06c1:	89 c1                	mov    %eax,%ecx
1400a06c3:	48 d3 ea             	shr    %cl,%rdx
1400a06c6:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
1400a06cd:	41 83 fd 10          	cmp    $0x10,%r13d
1400a06d1:	48 f7 d2             	not    %rdx
1400a06d4:	48 0f 43 d0          	cmovae %rax,%rdx
1400a06d8:	48 21 fa             	and    %rdi,%rdx
1400a06db:	48 89 df             	mov    %rbx,%rdi
1400a06de:	45 31 db             	xor    %r11d,%r11d
1400a06e1:	41 80 f8 0f          	cmp    $0xf,%r8b
1400a06e5:	41 0f 95 c3          	setne  %r11b
1400a06e9:	44 89 d8             	mov    %r11d,%eax
1400a06ec:	c1 e0 04             	shl    $0x4,%eax
1400a06ef:	48 8d 0d ca 29 04 00 	lea    0x429ca(%rip),%rcx        # 0x1400e30c0
1400a06f6:	4c 8d 34 01          	lea    (%rcx,%rax,1),%r14
1400a06fa:	0f 29 8c 24 c0 01 00 	movaps %xmm1,0x1c0(%rsp)
1400a0701:	00
1400a0702:	c6 84 24 d0 01 00 00 	movb   $0xaa,0x1d0(%rsp)
1400a0709:	aa
1400a070a:	c6 84 24 c0 01 00 00 	movb   $0x30,0x1c0(%rsp)
1400a0711:	30
1400a0712:	41 c0 e3 05          	shl    $0x5,%r11b
1400a0716:	41 80 cb 58          	or     $0x58,%r11b
1400a071a:	44 88 9c 24 c1 01 00 	mov    %r11b,0x1c1(%rsp)
1400a0721:	00
1400a0722:	45 0f b6 d2          	movzbl %r10b,%r10d
1400a0726:	47 8a 14 32          	mov    (%r10,%r14,1),%r10b
1400a072a:	44 88 94 24 c2 01 00 	mov    %r10b,0x1c2(%rsp)
1400a0731:	00
1400a0732:	48 85 ff             	test   %rdi,%rdi
1400a0735:	75 10                	jne    0x1400a0747
1400a0737:	f6 46 01 08          	testb  $0x8,0x1(%rsi)
1400a073b:	75 0a                	jne    0x1400a0747
1400a073d:	48 8d bc 24 c3 01 00 	lea    0x1c3(%rsp),%rdi
1400a0744:	00
1400a0745:	eb 0c                	jmp    0x1400a0753
1400a0747:	48 8d bc 24 c4 01 00 	lea    0x1c4(%rsp),%rdi
1400a074e:	00
1400a074f:	c6 47 ff 2e          	movb   $0x2e,-0x1(%rdi)
1400a0753:	45 31 d2             	xor    %r10d,%r10d
1400a0756:	48 85 d2             	test   %rdx,%rdx
1400a0759:	74 21                	je     0x1400a077c
1400a075b:	49 89 d3             	mov    %rdx,%r11
1400a075e:	49 c1 eb 3c          	shr    $0x3c,%r11
1400a0762:	49 01 c3             	add    %rax,%r11
1400a0765:	46 8a 1c 19          	mov    (%rcx,%r11,1),%r11b
1400a0769:	46 88 1c 17          	mov    %r11b,(%rdi,%r10,1)
1400a076d:	48 c1 e2 04          	shl    $0x4,%rdx
1400a0771:	49 ff c2             	inc    %r10
1400a0774:	48 85 d2             	test   %rdx,%rdx
1400a0777:	75 e2                	jne    0x1400a075b
1400a0779:	4c 01 d7             	add    %r10,%rdi
1400a077c:	4c 8d b4 24 c0 01 00 	lea    0x1c0(%rsp),%r14
1400a0783:	00
1400a0784:	4c 29 f7             	sub    %r14,%rdi
1400a0787:	0f 88 89 02 00 00    	js     0x1400a0a16
1400a078d:	41 80 f8 0f          	cmp    $0xf,%r8b
1400a0791:	0f 95 c0             	setne  %al
1400a0794:	4c 29 d3             	sub    %r10,%rbx
1400a0797:	31 f6                	xor    %esi,%esi
1400a0799:	45 85 ff             	test   %r15d,%r15d
1400a079c:	48 0f 49 f3          	cmovns %rbx,%rsi
1400a07a0:	48 8d 94 24 12 01 00 	lea    0x112(%rsp),%rdx
1400a07a7:	00
1400a07a8:	0f 29 4a fe          	movaps %xmm1,-0x2(%rdx)
1400a07ac:	0f 29 4a 0e          	movaps %xmm1,0xe(%rdx)
1400a07b0:	66 c7 42 1e aa aa    	movw   $0xaaaa,0x1e(%rdx)
1400a07b6:	c0 e0 05             	shl    $0x5,%al
1400a07b9:	0c 50                	or     $0x50,%al
1400a07bb:	88 42 fe             	mov    %al,-0x2(%rdx)
1400a07be:	44 89 c8             	mov    %r9d,%eax
1400a07c1:	c1 e8 1f             	shr    $0x1f,%eax
1400a07c4:	00 c0                	add    %al,%al
1400a07c6:	04 2b                	add    $0x2b,%al
1400a07c8:	88 42 ff             	mov    %al,-0x1(%rdx)
1400a07cb:	44 89 c9             	mov    %r9d,%ecx
1400a07ce:	f7 d9                	neg    %ecx
1400a07d0:	41 0f 48 c9          	cmovs  %r9d,%ecx
1400a07d4:	e8 b7 a4 f7 ff       	call   0x14001ac90
1400a07d9:	48 8d 5c 24 70       	lea    0x70(%rsp),%rbx
1400a07de:	48 8d 8c 24 10 01 00 	lea    0x110(%rsp),%rcx
1400a07e5:	00
1400a07e6:	48 89 0b             	mov    %rcx,(%rbx)
1400a07e9:	e8 a2 6e fe ff       	call   0x140087690
1400a07ee:	48 89 43 08          	mov    %rax,0x8(%rbx)
1400a07f2:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1400a07f7:	4c 89 32             	mov    %r14,(%rdx)
1400a07fa:	48 89 7a 08          	mov    %rdi,0x8(%rdx)
1400a07fe:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1400a0803:	48 8d 8c 24 80 00 00 	lea    0x80(%rsp),%rcx
1400a080a:	00
1400a080b:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1400a0811:	49 89 f1             	mov    %rsi,%r9
1400a0814:	e8 07 13 00 00       	call   0x1400a1b20
1400a0819:	b0 01                	mov    $0x1,%al
1400a081b:	e9 47 f9 ff ff       	jmp    0x1400a0167
1400a0820:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1400a0825:	48 89 39             	mov    %rdi,(%rcx)
1400a0828:	44 89 51 08          	mov    %r10d,0x8(%rcx)
1400a082c:	c7 41 0c aa aa aa aa 	movl   $0xaaaaaaaa,0xc(%rcx)
1400a0833:	4c 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%r8
1400a083a:	00
1400a083b:	4c 8d 4c 24 5c       	lea    0x5c(%rsp),%r9
1400a0840:	48 89 da             	mov    %rbx,%rdx
1400a0843:	e8 58 15 00 00       	call   0x1400a1da0
1400a0848:	84 c0                	test   %al,%al
1400a084a:	0f 84 55 f9 ff ff    	je     0x1400a01a5
1400a0850:	f6 46 01 08          	testb  $0x8,0x1(%rsi)
1400a0854:	75 19                	jne    0x1400a086f
1400a0856:	48 8b 84 24 00 01 00 	mov    0x100(%rsp),%rax
1400a085d:	00
1400a085e:	80 78 ff 2e          	cmpb   $0x2e,-0x1(%rax)
1400a0862:	75 0b                	jne    0x1400a086f
1400a0864:	48 ff c8             	dec    %rax
1400a0867:	48 89 84 24 00 01 00 	mov    %rax,0x100(%rsp)
1400a086e:	00
1400a086f:	8a 06                	mov    (%rsi),%al
1400a0871:	89 c1                	mov    %eax,%ecx
1400a0873:	80 e1 f9             	and    $0xf9,%cl
1400a0876:	80 f9 09             	cmp    $0x9,%cl
1400a0879:	0f 95 c1             	setne  %cl
1400a087c:	c0 e1 05             	shl    $0x5,%cl
1400a087f:	80 c9 45             	or     $0x45,%cl
1400a0882:	3c 07                	cmp    $0x7,%al
1400a0884:	0f b6 c1             	movzbl %cl,%eax
1400a0887:	ba 45 00 00 00       	mov    $0x45,%edx
1400a088c:	0f 45 d0             	cmovne %eax,%edx
1400a088f:	8b 4c 24 5c          	mov    0x5c(%rsp),%ecx
1400a0893:	4c 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%r8
1400a089a:	00
1400a089b:	e8 e0 01 00 00       	call   0x1400a0a80
1400a08a0:	48 8b 8c 24 f8 00 00 	mov    0xf8(%rsp),%rcx
1400a08a7:	00
1400a08a8:	48 8b 84 24 00 01 00 	mov    0x100(%rsp),%rax
1400a08af:	00
1400a08b0:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1400a08b5:	48 89 c2             	mov    %rax,%rdx
1400a08b8:	48 29 ca             	sub    %rcx,%rdx
1400a08bb:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
1400a08c0:	0f 88 50 01 00 00    	js     0x1400a0a16
1400a08c6:	48 85 c9             	test   %rcx,%rcx
1400a08c9:	0f 95 c1             	setne  %cl
1400a08cc:	48 85 c0             	test   %rax,%rax
1400a08cf:	0f 94 c0             	sete   %al
1400a08d2:	08 c8                	or     %cl,%al
1400a08d4:	0f 84 3c 01 00 00    	je     0x1400a0a16
1400a08da:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1400a08df:	89 e9                	mov    %ebp,%ecx
1400a08e1:	49 89 f0             	mov    %rsi,%r8
1400a08e4:	4d 89 f1             	mov    %r14,%r9
1400a08e7:	e8 54 02 00 00       	call   0x1400a0b40
1400a08ec:	e9 28 ff ff ff       	jmp    0x1400a0819
1400a08f1:	44 89 ff             	mov    %r15d,%edi
1400a08f4:	f6 46 01 08          	testb  $0x8,0x1(%rsi)
1400a08f8:	75 2a                	jne    0x1400a0924
1400a08fa:	48 8b 84 24 00 01 00 	mov    0x100(%rsp),%rax
1400a0901:	00
1400a0902:	eb 08                	jmp    0x1400a090c
1400a0904:	48 89 84 24 00 01 00 	mov    %rax,0x100(%rsp)
1400a090b:	00
1400a090c:	48 ff c8             	dec    %rax
1400a090f:	0f b6 08             	movzbl (%rax),%ecx
1400a0912:	83 f9 30             	cmp    $0x30,%ecx
1400a0915:	74 ed                	je     0x1400a0904
1400a0917:	83 f9 2e             	cmp    $0x2e,%ecx
1400a091a:	75 08                	jne    0x1400a0924
1400a091c:	48 89 84 24 00 01 00 	mov    %rax,0x100(%rsp)
1400a0923:	00
1400a0924:	85 ff                	test   %edi,%edi
1400a0926:	0f 84 74 ff ff ff    	je     0x1400a08a0
1400a092c:	8a 06                	mov    (%rsi),%al
1400a092e:	89 c1                	mov    %eax,%ecx
1400a0930:	80 e1 f9             	and    $0xf9,%cl
1400a0933:	80 f9 09             	cmp    $0x9,%cl
1400a0936:	0f 95 c1             	setne  %cl
1400a0939:	c0 e1 05             	shl    $0x5,%cl
1400a093c:	80 c9 45             	or     $0x45,%cl
1400a093f:	3c 07                	cmp    $0x7,%al
1400a0941:	0f b6 c1             	movzbl %cl,%eax
1400a0944:	ba 45 00 00 00       	mov    $0x45,%edx
1400a0949:	0f 45 d0             	cmovne %eax,%edx
1400a094c:	4c 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%r8
1400a0953:	00
1400a0954:	89 f9                	mov    %edi,%ecx
1400a0956:	e9 40 ff ff ff       	jmp    0x1400a089b
1400a095b:	4c 39 fb             	cmp    %r15,%rbx
1400a095e:	76 91                	jbe    0x1400a08f1
1400a0960:	31 ff                	xor    %edi,%edi
1400a0962:	45 85 ff             	test   %r15d,%r15d
1400a0965:	74 8d                	je     0x1400a08f4
1400a0967:	48 8b 9c 24 f8 00 00 	mov    0xf8(%rsp),%rbx
1400a096e:	00
1400a096f:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
1400a0973:	49 01 df             	add    %rbx,%r15
1400a0976:	48 8d 53 02          	lea    0x2(%rbx),%rdx
1400a097a:	44 8a 63 01          	mov    0x1(%rbx),%r12b
1400a097e:	49 29 d7             	sub    %rdx,%r15
1400a0981:	4d 8d 47 02          	lea    0x2(%r15),%r8
1400a0985:	e8 e6 d1 ff ff       	call   0x14009db70
1400a098a:	46 88 64 3b 03       	mov    %r12b,0x3(%rbx,%r15,1)
1400a098f:	e9 60 ff ff ff       	jmp    0x1400a08f4
1400a0994:	c6 00 30             	movb   $0x30,(%rax)
1400a0997:	8a 50 ff             	mov    -0x1(%rax),%dl
1400a099a:	48 ff c8             	dec    %rax
1400a099d:	80 fa 2e             	cmp    $0x2e,%dl
1400a09a0:	74 f5                	je     0x1400a0997
1400a09a2:	44 0f b6 c2          	movzbl %dl,%r8d
1400a09a6:	41 83 f8 39          	cmp    $0x39,%r8d
1400a09aa:	74 e8                	je     0x1400a0994
1400a09ac:	fe c2                	inc    %dl
1400a09ae:	88 10                	mov    %dl,(%rax)
1400a09b0:	e9 5b fb ff ff       	jmp    0x1400a0510
1400a09b5:	85 ed                	test   %ebp,%ebp
1400a09b7:	0f 84 9e f9 ff ff    	je     0x1400a035b
1400a09bd:	48 89 f8             	mov    %rdi,%rax
1400a09c0:	89 e9                	mov    %ebp,%ecx
1400a09c2:	48 d3 e0             	shl    %cl,%rax
1400a09c5:	49 89 f8             	mov    %rdi,%r8
1400a09c8:	b1 75                	mov    $0x75,%cl
1400a09ca:	44 28 e1             	sub    %r12b,%cl
1400a09cd:	49 d3 e8             	shr    %cl,%r8
1400a09d0:	48 89 c7             	mov    %rax,%rdi
1400a09d3:	e9 06 f9 ff ff       	jmp    0x1400a02de
1400a09d8:	b1 02                	mov    $0x2,%cl
1400a09da:	28 c1                	sub    %al,%cl
1400a09dc:	48 d3 ef             	shr    %cl,%rdi