1401806c5:	48 33 c4             	xor    %rsp,%rax
1401806c8:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401806cd:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
1401806d4:	00
1401806d5:	49 8b f8             	mov    %r8,%rdi
1401806d8:	45 0f b6 f1          	movzbl %r9b,%r14d
1401806dc:	48 8b da             	mov    %rdx,%rbx
1401806df:	49 3b d0             	cmp    %r8,%rdx
1401806e2:	74 39                	je     0x14018071d
1401806e4:	48 8d 69 30          	lea    0x30(%rcx),%rbp
1401806e8:	0f b7 13             	movzwl (%rbx),%edx
1401806eb:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1401806f0:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1401806f6:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1401806fb:	4c 8b cd             	mov    %rbp,%r9
1401806fe:	e8 21 90 fe ff       	call   0x140169724
140180703:	0f b6 54 24 28       	movzbl 0x28(%rsp),%edx
140180708:	83 f8 01             	cmp    $0x1,%eax
14018070b:	41 0f 45 d6          	cmovne %r14d,%edx
14018070f:	48 83 c3 02          	add    $0x2,%rbx
140180713:	88 16                	mov    %dl,(%rsi)
140180715:	48 ff c6             	inc    %rsi
140180718:	48 3b df             	cmp    %rdi,%rbx
14018071b:	75 cb                	jne    0x1401806e8
14018071d:	48 8b c3             	mov    %rbx,%rax
140180720:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140180725:	48 33 cc             	xor    %rsp,%rcx
140180728:	e8 a3 5b 00 00       	call   0x1401862d0
14018072d:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140180732:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140180737:	48 83 c4 40          	add    $0x40,%rsp
14018073b:	41 5e                	pop    %r14
14018073d:	5f                   	pop    %rdi
14018073e:	5e                   	pop    %rsi
14018073f:	c3                   	ret
140180740:	8b 41 40             	mov    0x40(%rcx),%eax
140180743:	89 02                	mov    %eax,(%rdx)
140180745:	48 8b c2             	mov    %rdx,%rax
140180748:	c3                   	ret
140180749:	cc                   	int3
14018074a:	cc                   	int3
14018074b:	cc                   	int3
14018074c:	40 53                	rex push %rbx
14018074e:	48 83 ec 20          	sub    $0x20,%rsp
140180752:	48 8b da             	mov    %rdx,%rbx
140180755:	48 8b 51 30          	mov    0x30(%rcx),%rdx
140180759:	33 c0                	xor    %eax,%eax
14018075b:	48 89 03             	mov    %rax,(%rbx)
14018075e:	48 89 43 10          	mov    %rax,0x10(%rbx)
140180762:	48 c7 43 18 07 00 00 	movq   $0x7,0x18(%rbx)
140180769:	00
14018076a:	66 89 03             	mov    %ax,(%rbx)
14018076d:	48 8b cb             	mov    %rbx,%rcx
140180770:	e8 87 b3 ff ff       	call   0x14017bafc
140180775:	48 8b c3             	mov    %rbx,%rax
140180778:	48 83 c4 20          	add    $0x20,%rsp
14018077c:	5b                   	pop    %rbx
14018077d:	c3                   	ret
14018077e:	cc                   	int3
14018077f:	cc                   	int3
140180780:	40 53                	rex push %rbx
140180782:	48 83 ec 20          	sub    $0x20,%rsp
140180786:	48 8b da             	mov    %rdx,%rbx
140180789:	48 8b 51 30          	mov    0x30(%rcx),%rdx
14018078d:	33 c0                	xor    %eax,%eax
14018078f:	48 89 03             	mov    %rax,(%rbx)
140180792:	48 89 43 10          	mov    %rax,0x10(%rbx)
140180796:	48 c7 43 18 07 00 00 	movq   $0x7,0x18(%rbx)
14018079d:	00
14018079e:	66 89 03             	mov    %ax,(%rbx)
1401807a1:	48 8b cb             	mov    %rbx,%rcx
1401807a4:	e8 87 5a f4 ff       	call   0x1400c6230
1401807a9:	48 8b c3             	mov    %rbx,%rax
1401807ac:	48 83 c4 20          	add    $0x20,%rsp
1401807b0:	5b                   	pop    %rbx
1401807b1:	c3                   	ret
1401807b2:	cc                   	int3
1401807b3:	cc                   	int3
1401807b4:	83 c8 ff             	or     $0xffffffff,%eax
1401807b7:	c3                   	ret
1401807b8:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401807bd:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1401807c2:	56                   	push   %rsi
1401807c3:	57                   	push   %rdi
1401807c4:	41 54                	push   %r12
1401807c6:	41 56                	push   %r14
1401807c8:	41 57                	push   %r15
1401807ca:	48 83 ec 40          	sub    $0x40,%rsp
1401807ce:	48 8b 05 9b aa 12 00 	mov    0x12aa9b(%rip),%rax        # 0x1402ab270
1401807d5:	48 33 c4             	xor    %rsp,%rax
1401807d8:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401807dd:	48 8b bc 24 90 00 00 	mov    0x90(%rsp),%rdi
1401807e4:	00
1401807e5:	48 8b c1             	mov    %rcx,%rax
1401807e8:	48 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%rsi
1401807ef:	00
1401807f0:	4c 8b fa             	mov    %rdx,%r15
1401807f3:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1401807f8:	33 ed                	xor    %ebp,%ebp
1401807fa:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
140180801:	00
140180802:	4d 8b e1             	mov    %r9,%r12
140180805:	4c 89 07             	mov    %r8,(%rdi)
140180808:	48 89 0e             	mov    %rcx,(%rsi)
14018080b:	48 8b 17             	mov    (%rdi),%rdx
14018080e:	49 3b d1             	cmp    %r9,%rdx
140180811:	0f 84 90 00 00 00    	je     0x1401808a7
140180817:	48 3b 8c 24 a0 00 00 	cmp    0xa0(%rsp),%rcx
14018081e:	00
14018081f:	0f 84 82 00 00 00    	je     0x1401808a7
140180825:	0f b7 12             	movzwl (%rdx),%edx
140180828:	4c 8d 48 10          	lea    0x10(%rax),%r9
14018082c:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
140180833:	00
140180834:	4d 8b c7             	mov    %r15,%r8
140180837:	48 2b c1             	sub    %rcx,%rax
14018083a:	48 83 f8 05          	cmp    $0x5,%rax
14018083e:	7c 18                	jl     0x140180858
140180840:	e8 df 8e fe ff       	call   0x140169724
140180845:	85 c0                	test   %eax,%eax
140180847:	0f 88 91 00 00 00    	js     0x1401808de
14018084d:	48 83 07 02          	addq   $0x2,(%rdi)
140180851:	48 98                	cltq
140180853:	48 01 06             	add    %rax,(%rsi)
140180856:	eb 3b                	jmp    0x140180893
140180858:	49 8b 1f             	mov    (%r15),%rbx
14018085b:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140180860:	e8 bf 8e fe ff       	call   0x140169724
140180865:	85 c0                	test   %eax,%eax
140180867:	78 75                	js     0x1401808de
140180869:	4c 63 f0             	movslq %eax,%r14
14018086c:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
140180873:	00
140180874:	48 2b 06             	sub    (%rsi),%rax
140180877:	49 3b c6             	cmp    %r14,%rax
14018087a:	7c 5a                	jl     0x1401808d6
14018087c:	48 8b 0e             	mov    (%rsi),%rcx
14018087f:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140180884:	4d 8b c6             	mov    %r14,%r8
140180887:	e8 34 7b 00 00       	call   0x1401883c0
14018088c:	48 83 07 02          	addq   $0x2,(%rdi)
140180890:	4c 01 36             	add    %r14,(%rsi)
140180893:	48 8b 17             	mov    (%rdi),%rdx
140180896:	48 8b 0e             	mov    (%rsi),%rcx
140180899:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
14018089e:	49 3b d4             	cmp    %r12,%rdx
1401808a1:	0f 85 70 ff ff ff    	jne    0x140180817
1401808a7:	49 3b d4             	cmp    %r12,%rdx
1401808aa:	40 0f 95 c5          	setne  %bpl
1401808ae:	8b c5                	mov    %ebp,%eax
1401808b0:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1401808b5:	48 33 cc             	xor    %rsp,%rcx
1401808b8:	e8 13 5a 00 00       	call   0x1401862d0
1401808bd:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
1401808c2:	49 8b 5b 40          	mov    0x40(%r11),%rbx
1401808c6:	49 8b 6b 48          	mov    0x48(%r11),%rbp
1401808ca:	49 8b e3             	mov    %r11,%rsp
1401808cd:	41 5f                	pop    %r15
1401808cf:	41 5e                	pop    %r14
1401808d1:	41 5c                	pop    %r12
1401808d3:	5f                   	pop    %rdi
1401808d4:	5e                   	pop    %rsi
1401808d5:	c3                   	ret
1401808d6:	49 89 1f             	mov    %rbx,(%r15)
1401808d9:	48 8b 17             	mov    (%rdi),%rdx
1401808dc:	eb c9                	jmp    0x1401808a7
1401808de:	b8 02 00 00 00       	mov    $0x2,%eax
1401808e3:	eb cb                	jmp    0x1401808b0
1401808e5:	cc                   	int3
1401808e6:	cc                   	int3
1401808e7:	cc                   	int3
1401808e8:	8b 41 3c             	mov    0x3c(%rcx),%eax
1401808eb:	89 02                	mov    %eax,(%rdx)
1401808ed:	48 8b c2             	mov    %rdx,%rax
1401808f0:	c3                   	ret
1401808f1:	cc                   	int3
1401808f2:	cc                   	int3
1401808f3:	cc                   	int3
1401808f4:	40 53                	rex push %rbx
1401808f6:	48 83 ec 20          	sub    $0x20,%rsp
1401808fa:	48 8b da             	mov    %rdx,%rbx
1401808fd:	48 8b 51 28          	mov    0x28(%rcx),%rdx
140180901:	33 c0                	xor    %eax,%eax
140180903:	48 89 03             	mov    %rax,(%rbx)
140180906:	48 89 43 10          	mov    %rax,0x10(%rbx)
14018090a:	48 c7 43 18 07 00 00 	movq   $0x7,0x18(%rbx)
140180911:	00
140180912:	66 89 03             	mov    %ax,(%rbx)
140180915:	48 8b cb             	mov    %rbx,%rcx
140180918:	e8 df b1 ff ff       	call   0x14017bafc
14018091d:	48 8b c3             	mov    %rbx,%rax
140180920:	48 83 c4 20          	add    $0x20,%rsp
140180924:	5b                   	pop    %rbx
140180925:	c3                   	ret
140180926:	cc                   	int3
140180927:	cc                   	int3
140180928:	40 53                	rex push %rbx
14018092a:	48 83 ec 20          	sub    $0x20,%rsp
14018092e:	48 8b da             	mov    %rdx,%rbx
140180931:	48 8b 51 28          	mov    0x28(%rcx),%rdx
140180935:	33 c0                	xor    %eax,%eax
140180937:	48 89 03             	mov    %rax,(%rbx)
14018093a:	48 89 43 10          	mov    %rax,0x10(%rbx)
14018093e:	48 c7 43 18 07 00 00 	movq   $0x7,0x18(%rbx)
140180945:	00
140180946:	66 89 03             	mov    %ax,(%rbx)
140180949:	48 8b cb             	mov    %rbx,%rcx
14018094c:	e8 df 58 f4 ff       	call   0x1400c6230
140180951:	48 8b c3             	mov    %rbx,%rax
140180954:	48 83 c4 20          	add    $0x20,%rsp
140180958:	5b                   	pop    %rbx
140180959:	c3                   	ret
14018095a:	cc                   	int3
14018095b:	cc                   	int3
14018095c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140180961:	55                   	push   %rbp
140180962:	56                   	push   %rsi
140180963:	57                   	push   %rdi
140180964:	41 54                	push   %r12
140180966:	41 55                	push   %r13
140180968:	41 56                	push   %r14
14018096a:	41 57                	push   %r15
14018096c:	48 8d 6c 24 f1       	lea    -0xf(%rsp),%rbp
140180971:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
140180978:	48 8b 05 f1 a8 12 00 	mov    0x12a8f1(%rip),%rax        # 0x1402ab270
14018097f:	48 33 c4             	xor    %rsp,%rax
140180982:	48 89 45 07          	mov    %rax,0x7(%rbp)
140180986:	44 88 4d 8f          	mov    %r9b,-0x71(%rbp)
14018098a:	4d 8b e0             	mov    %r8,%r12
14018098d:	4c 8b f2             	mov    %rdx,%r14
140180990:	4c 8b e9             	mov    %rcx,%r13
140180993:	4c 8b 7d 6f          	mov    0x6f(%rbp),%r15
140180997:	48 8b 5d 7f          	mov    0x7f(%rbp),%rbx
14018099b:	49 8b 47 40          	mov    0x40(%r15),%rax
14018099f:	48 8b 78 08          	mov    0x8(%rax),%rdi
1401809a3:	48 89 7d a7          	mov    %rdi,-0x59(%rbp)
1401809a7:	48 8b 07             	mov    (%rdi),%rax
1401809aa:	48 8b cf             	mov    %rdi,%rcx
1401809ad:	48 8b 40 08          	mov    0x8(%rax),%rax
1401809b1:	ff 15 69 dc 07 00    	call   *0x7dc69(%rip)        # 0x1401fe620
1401809b7:	90                   	nop
1401809b8:	48 8d 4d 9f          	lea    -0x61(%rbp),%rcx
1401809bc:	e8 67 bb fe ff       	call   0x14016c528
1401809c1:	48 8b f0             	mov    %rax,%rsi
1401809c4:	48 85 ff             	test   %rdi,%rdi
1401809c7:	74 29                	je     0x1401809f2
1401809c9:	48 8b 07             	mov    (%rdi),%rax
1401809cc:	48 8b cf             	mov    %rdi,%rcx
1401809cf:	48 8b 40 10          	mov    0x10(%rax),%rax
1401809d3:	ff 15 47 dc 07 00    	call   *0x7dc47(%rip)        # 0x1401fe620
1401809d9:	48 8b c8             	mov    %rax,%rcx
1401809dc:	48 85 c0             	test   %rax,%rax
1401809df:	74 11                	je     0x1401809f2
1401809e1:	48 8b 00             	mov    (%rax),%rax
1401809e4:	ba 01 00 00 00       	mov    $0x1,%edx
1401809e9:	48 8b 00             	mov    (%rax),%rax
1401809ec:	ff 15 2e dc 07 00    	call   *0x7dc2e(%rip)        # 0x1401fe620
1401809f2:	48 8b 06             	mov    (%rsi),%rax
1401809f5:	4c 8d 4d ef          	lea    -0x11(%rbp),%r9
1401809f9:	4c 8d 05 ec fb 09 00 	lea    0x9fbec(%rip),%r8        # 0x1402205ec
140180a00:	48 8d 15 d9 fb 09 00 	lea    0x9fbd9(%rip),%rdx        # 0x1402205e0
140180a07:	48 8b ce             	mov    %rsi,%rcx
140180a0a:	48 8b 40 58          	mov    0x58(%rax),%rax
140180a0e:	ff 15 0c dc 07 00    	call   *0x7dc0c(%rip)        # 0x1401fe620
140180a14:	33 f6                	xor    %esi,%esi
140180a16:	40 8a fe             	mov    %sil,%dil
140180a19:	8b ce                	mov    %esi,%ecx
140180a1b:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140180a1f:	4d 85 c0             	test   %r8,%r8
140180a22:	74 1e                	je     0x140180a42
140180a24:	48 8b d3             	mov    %rbx,%rdx
140180a27:	48 83 7b 18 08       	cmpq   $0x8,0x18(%rbx)
140180a2c:	72 03                	jb     0x140180a31
140180a2e:	48 8b 13             	mov    (%rbx),%rdx
140180a31:	0f b7 45 03          	movzwl 0x3(%rbp),%eax
140180a35:	66 39 02             	cmp    %ax,(%rdx)
140180a38:	75 08                	jne    0x140180a42
140180a3a:	40 b7 01             	mov    $0x1,%dil
140180a3d:	b9 01 00 00 00       	mov    $0x1,%ecx
140180a42:	48 8b d1             	mov    %rcx,%rdx
140180a45:	49 3b c8             	cmp    %r8,%rcx
140180a48:	73 41                	jae    0x140180a8b
140180a4a:	48 8b c3             	mov    %rbx,%rax
140180a4d:	48 83 7b 18 08       	cmpq   $0x8,0x18(%rbx)
140180a52:	72 03                	jb     0x140180a57
140180a54:	48 8b 03             	mov    (%rbx),%rax
140180a57:	44 0f b7 0c 50       	movzwl (%rax,%rdx,2),%r9d
140180a5c:	48 8d 45 ef          	lea    -0x11(%rbp),%rax
140180a60:	66 44 39 08          	cmp    %r9w,(%rax)
140180a64:	74 0d                	je     0x140180a73
140180a66:	48 83 c0 02          	add    $0x2,%rax
140180a6a:	4c 8d 55 05          	lea    0x5(%rbp),%r10
140180a6e:	49 3b c2             	cmp    %r10,%rax
140180a71:	75 ed                	jne    0x140180a60
140180a73:	4c 8d 4d ef          	lea    -0x11(%rbp),%r9
140180a77:	49 2b c1             	sub    %r9,%rax
140180a7a:	48 d1 f8             	sar    $1,%rax
140180a7d:	48 83 f8 0a          	cmp    $0xa,%rax
140180a81:	73 08                	jae    0x140180a8b
140180a83:	48 ff c2             	inc    %rdx
140180a86:	49 3b d0             	cmp    %r8,%rdx
140180a89:	72 bf                	jb     0x140180a4a
140180a8b:	48 83 7b 18 08       	cmpq   $0x8,0x18(%rbx)
140180a90:	72 03                	jb     0x140180a95
140180a92:	48 8b 1b             	mov    (%rbx),%rbx
140180a95:	4c 8d 0c 4b          	lea    (%rbx,%rcx,2),%r9
140180a99:	48 2b d1             	sub    %rcx,%rdx
140180a9c:	48 89 75 cf          	mov    %rsi,-0x31(%rbp)
140180aa0:	48 89 75 df          	mov    %rsi,-0x21(%rbp)
140180aa4:	48 c7 45 e7 07 00 00 	movq   $0x7,-0x19(%rbp)
140180aab:	00
140180aac:	66 89 75 cf          	mov    %si,-0x31(%rbp)
140180ab0:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140180ab4:	48 83 fa 07          	cmp    $0x7,%rdx
140180ab8:	77 1a                	ja     0x140180ad4
140180aba:	48 89 55 df          	mov    %rdx,-0x21(%rbp)
140180abe:	48 8d 1c 12          	lea    (%rdx,%rdx,1),%rbx
140180ac2:	4c 8b c3             	mov    %rbx,%r8
140180ac5:	49 8b d1             	mov    %r9,%rdx
140180ac8:	e8 f3 78 00 00       	call   0x1401883c0
140180acd:	66 89 74 1d cf       	mov    %si,-0x31(%rbp,%rbx,1)
140180ad2:	eb 0a                	jmp    0x140180ade
140180ad4:	44 8a 45 8f          	mov    -0x71(%rbp),%r8b
140180ad8:	e8 d7 af fe ff       	call   0x14016bab4
140180add:	90                   	nop
140180ade:	48 39 75 df          	cmp    %rsi,-0x21(%rbp)
140180ae2:	75 3e                	jne    0x140180b22
140180ae4:	48 8b 45 e7          	mov    -0x19(%rbp),%rax
140180ae8:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140180aec:	48 85 c0             	test   %rax,%rax
140180aef:	74 1e                	je     0x140180b0f
140180af1:	48 c7 45 df 01 00 00 	movq   $0x1,-0x21(%rbp)
140180af8:	00
140180af9:	48 83 f8 08          	cmp    $0x8,%rax
140180afd:	48 0f 43 4d cf       	cmovae -0x31(%rbp),%rcx
140180b02:	0f b7 45 ef          	movzwl -0x11(%rbp),%eax
140180b06:	66 89 01             	mov    %ax,(%rcx)
140180b09:	66 89 71 02          	mov    %si,0x2(%rcx)
140180b0d:	eb 13                	jmp    0x140180b22
140180b0f:	44 0f b7 4d ef       	movzwl -0x11(%rbp),%r9d
140180b14:	44 8a 45 8f          	mov    -0x71(%rbp),%r8b
140180b18:	ba 01 00 00 00       	mov    $0x1,%edx
140180b1d:	e8 82 b6 fe ff       	call   0x14016c1a4
140180b22:	0f b7 5d ef          	movzwl -0x11(%rbp),%ebx
140180b26:	48 89 75 af          	mov    %rsi,-0x51(%rbp)
140180b2a:	48 89 75 bf          	mov    %rsi,-0x41(%rbp)
140180b2e:	48 89 75 c7          	mov    %rsi,-0x39(%rbp)
140180b32:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140180b36:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
140180b3a:	e8 71 d2 fe ff       	call   0x14016ddb0