14016889d:	49 8b d9             	mov    %r9,%rbx
1401688a0:	48 8b f2             	mov    %rdx,%rsi
1401688a3:	49 2b d8             	sub    %r8,%rbx
1401688a6:	48 2b f1             	sub    %rcx,%rsi
1401688a9:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
1401688ad:	4d 8b f8             	mov    %r8,%r15
1401688b0:	4c 8b e1             	mov    %rcx,%r12
1401688b3:	48 85 c0             	test   %rax,%rax
1401688b6:	75 13                	jne    0x1401688cb
1401688b8:	e8 5f 6f 03 00       	call   0x14019f81c
1401688bd:	48 8b 68 08          	mov    0x8(%rax),%rbp
1401688c1:	e8 26 6f 03 00       	call   0x14019f7ec
1401688c6:	44 8b f0             	mov    %eax,%r14d
1401688c9:	eb 07                	jmp    0x1401688d2
1401688cb:	48 8b 68 08          	mov    0x8(%rax),%rbp
1401688cf:	44 8b 30             	mov    (%rax),%r14d
1401688d2:	48 85 ed             	test   %rbp,%rbp
1401688d5:	75 1d                	jne    0x1401688f4
1401688d7:	45 85 f6             	test   %r14d,%r14d
1401688da:	75 18                	jne    0x1401688f4
1401688dc:	48 3b de             	cmp    %rsi,%rbx
1401688df:	77 0e                	ja     0x1401688ef
1401688e1:	4c 8b c3             	mov    %rbx,%r8
1401688e4:	49 8b d7             	mov    %r15,%rdx
1401688e7:	49 8b cc             	mov    %r12,%rcx
1401688ea:	e8 d1 fa 01 00       	call   0x1401883c0
1401688ef:	48 8b fb             	mov    %rbx,%rdi
1401688f2:	eb 5f                	jmp    0x140168953
1401688f4:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
1401688fb:	00
1401688fc:	44 8b cb             	mov    %ebx,%r9d
1401688ff:	44 89 74 24 30       	mov    %r14d,0x30(%rsp)
140168904:	4d 8b c7             	mov    %r15,%r8
140168907:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
14016890c:	ba 00 04 00 00       	mov    $0x400,%edx
140168911:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140168917:	48 8b cd             	mov    %rbp,%rcx
14016891a:	e8 6d 1b 00 00       	call   0x14016a48c
14016891f:	85 c0                	test   %eax,%eax
140168921:	74 30                	je     0x140168953
140168923:	48 63 f8             	movslq %eax,%rdi
140168926:	3b c6                	cmp    %esi,%eax
140168928:	7f 29                	jg     0x140168953
14016892a:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140168931:	00
140168932:	44 8b cb             	mov    %ebx,%r9d
140168935:	44 89 74 24 30       	mov    %r14d,0x30(%rsp)
14016893a:	4d 8b c7             	mov    %r15,%r8
14016893d:	89 74 24 28          	mov    %esi,0x28(%rsp)
140168941:	ba 00 04 00 00       	mov    $0x400,%edx
140168946:	48 8b cd             	mov    %rbp,%rcx
140168949:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
14016894e:	e8 39 1b 00 00       	call   0x14016a48c
140168953:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140168958:	48 8b c7             	mov    %rdi,%rax
14016895b:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140168960:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140168965:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14016896a:	48 83 c4 40          	add    $0x40,%rsp
14016896e:	41 5f                	pop    %r15
140168970:	41 5e                	pop    %r14
140168972:	41 5c                	pop    %r12
140168974:	c3                   	ret
140168975:	cc                   	int3
140168976:	cc                   	int3
140168977:	cc                   	int3
140168978:	40 53                	rex push %rbx
14016897a:	48 83 ec 20          	sub    $0x20,%rsp
14016897e:	48 8b d9             	mov    %rcx,%rbx
140168981:	e8 66 6e 03 00       	call   0x14019f7ec
140168986:	89 03                	mov    %eax,(%rbx)
140168988:	e8 8f 6e 03 00       	call   0x14019f81c
14016898d:	48 8b 48 08          	mov    0x8(%rax),%rcx
140168991:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140168995:	48 85 c9             	test   %rcx,%rcx
140168998:	74 09                	je     0x1401689a3
14016899a:	e8 b5 74 03 00       	call   0x14019fe54
14016899f:	48 89 43 08          	mov    %rax,0x8(%rbx)
1401689a3:	48 8b c3             	mov    %rbx,%rax
1401689a6:	48 83 c4 20          	add    $0x20,%rsp
1401689aa:	5b                   	pop    %rbx
1401689ab:	c3                   	ret
1401689ac:	48 8b c4             	mov    %rsp,%rax
1401689af:	48 89 58 08          	mov    %rbx,0x8(%rax)
1401689b3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1401689b7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1401689bb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1401689bf:	41 56                	push   %r14
1401689c1:	48 83 ec 40          	sub    $0x40,%rsp
1401689c5:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1401689ca:	49 8b d9             	mov    %r9,%rbx
1401689cd:	48 8b fa             	mov    %rdx,%rdi
1401689d0:	41 2b d8             	sub    %r8d,%ebx
1401689d3:	2b f9                	sub    %ecx,%edi
1401689d5:	49 8b e8             	mov    %r8,%rbp
1401689d8:	4c 8b f1             	mov    %rcx,%r14
1401689db:	48 85 c0             	test   %rax,%rax
1401689de:	75 10                	jne    0x1401689f0
1401689e0:	e8 37 6e 03 00       	call   0x14019f81c
1401689e5:	48 8b 70 08          	mov    0x8(%rax),%rsi
1401689e9:	e8 fe 6d 03 00       	call   0x14019f7ec
1401689ee:	eb 06                	jmp    0x1401689f6
1401689f0:	48 8b 70 08          	mov    0x8(%rax),%rsi
1401689f4:	8b 00                	mov    (%rax),%eax
1401689f6:	48 85 f6             	test   %rsi,%rsi
1401689f9:	75 2a                	jne    0x140168a25
1401689fb:	8b c3                	mov    %ebx,%eax
1401689fd:	3b fb                	cmp    %ebx,%edi
1401689ff:	48 8b d5             	mov    %rbp,%rdx
140168a02:	49 8b ce             	mov    %r14,%rcx
140168a05:	0f 4c c7             	cmovl  %edi,%eax
140168a08:	4c 63 c0             	movslq %eax,%r8
140168a0b:	e8 60 03 02 00       	call   0x140188d70
140168a10:	85 c0                	test   %eax,%eax
140168a12:	75 4a                	jne    0x140168a5e
140168a14:	3b fb                	cmp    %ebx,%edi
140168a16:	74 46                	je     0x140168a5e
140168a18:	83 c9 ff             	or     $0xffffffff,%ecx
140168a1b:	8d 46 01             	lea    0x1(%rsi),%eax
140168a1e:	3b fb                	cmp    %ebx,%edi
140168a20:	0f 4c c1             	cmovl  %ecx,%eax
140168a23:	eb 39                	jmp    0x140168a5e
140168a25:	89 44 24 30          	mov    %eax,0x30(%rsp)
140168a29:	44 8b cf             	mov    %edi,%r9d
140168a2c:	89 5c 24 28          	mov    %ebx,0x28(%rsp)
140168a30:	4d 8b c6             	mov    %r14,%r8
140168a33:	ba 00 10 00 00       	mov    $0x1000,%edx
140168a38:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140168a3d:	48 8b ce             	mov    %rsi,%rcx
140168a40:	e8 47 1d 00 00       	call   0x14016a78c
140168a45:	85 c0                	test   %eax,%eax
140168a47:	75 12                	jne    0x140168a5b
140168a49:	e8 be 74 02 00       	call   0x14018ff0c
140168a4e:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140168a54:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140168a59:	eb 03                	jmp    0x140168a5e
140168a5b:	83 e8 02             	sub    $0x2,%eax
140168a5e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140168a63:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140168a68:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140168a6d:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140168a72:	48 83 c4 40          	add    $0x40,%rsp
140168a76:	41 5e                	pop    %r14
140168a78:	c3                   	ret
140168a79:	cc                   	int3
140168a7a:	cc                   	int3
140168a7b:	cc                   	int3
140168a7c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140168a81:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140168a86:	57                   	push   %rdi
140168a87:	48 83 ec 30          	sub    $0x30,%rsp
140168a8b:	33 f6                	xor    %esi,%esi
140168a8d:	49 8b f8             	mov    %r8,%rdi
140168a90:	4c 8b da             	mov    %rdx,%r11
140168a93:	4c 8b c9             	mov    %rcx,%r9
140168a96:	4d 85 c0             	test   %r8,%r8
140168a99:	75 07                	jne    0x140168aa2
140168a9b:	33 c0                	xor    %eax,%eax
140168a9d:	e9 63 01 00 00       	jmp    0x140168c05
140168aa2:	40 38 32             	cmp    %sil,(%rdx)
140168aa5:	75 05                	jne    0x140168aac
140168aa7:	66 89 31             	mov    %si,(%rcx)
140168aaa:	eb ef                	jmp    0x140168a9b
140168aac:	4c 8b 54 24 60       	mov    0x60(%rsp),%r10
140168ab1:	41 39 72 08          	cmp    %esi,0x8(%r10)
140168ab5:	0f 85 3e 01 00 00    	jne    0x140168bf9
140168abb:	41 8b 4a 04          	mov    0x4(%r10),%ecx
140168abf:	83 e9 01             	sub    $0x1,%ecx
140168ac2:	0f 84 fa 00 00 00    	je     0x140168bc2
140168ac8:	83 e9 01             	sub    $0x1,%ecx
140168acb:	0f 84 93 00 00 00    	je     0x140168b64
140168ad1:	bb 02 00 00 00       	mov    $0x2,%ebx
140168ad6:	3b cb                	cmp    %ebx,%ecx
140168ad8:	0f 85 e4 00 00 00    	jne    0x140168bc2
140168ade:	40 38 32             	cmp    %sil,(%rdx)
140168ae1:	0f 8d 12 01 00 00    	jge    0x140168bf9
140168ae7:	8a 02                	mov    (%rdx),%al
140168ae9:	24 e0                	and    $0xe0,%al
140168aeb:	3c c0                	cmp    $0xc0,%al
140168aed:	75 0d                	jne    0x140168afc
140168aef:	0f b6 12             	movzbl (%rdx),%edx
140168af2:	bb 01 00 00 00       	mov    $0x1,%ebx
140168af7:	83 e2 1f             	and    $0x1f,%edx
140168afa:	eb 12                	jmp    0x140168b0e
140168afc:	8a 02                	mov    (%rdx),%al
140168afe:	24 f0                	and    $0xf0,%al
140168b00:	3c e0                	cmp    $0xe0,%al
140168b02:	0f 85 e1 00 00 00    	jne    0x140168be9
140168b08:	0f b6 12             	movzbl (%rdx),%edx
140168b0b:	83 e2 0f             	and    $0xf,%edx
140168b0e:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140168b14:	49 ff c3             	inc    %r11
140168b17:	49 63 c0             	movslq %r8d,%rax
140168b1a:	48 3b c7             	cmp    %rdi,%rax
140168b1d:	73 67                	jae    0x140168b86
140168b1f:	41 8a 03             	mov    (%r11),%al
140168b22:	24 c0                	and    $0xc0,%al
140168b24:	3c 80                	cmp    $0x80,%al
140168b26:	0f 85 bd 00 00 00    	jne    0x140168be9
140168b2c:	41 0f b6 0b          	movzbl (%r11),%ecx
140168b30:	8b c2                	mov    %edx,%eax
140168b32:	83 e1 3f             	and    $0x3f,%ecx
140168b35:	c1 e0 06             	shl    $0x6,%eax
140168b38:	8b d1                	mov    %ecx,%edx
140168b3a:	41 ff c0             	inc    %r8d
140168b3d:	0b d0                	or     %eax,%edx
140168b3f:	49 ff c3             	inc    %r11
140168b42:	83 eb 01             	sub    $0x1,%ebx
140168b45:	75 d0                	jne    0x140168b17
140168b47:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
140168b4d:	3d ff 07 00 00       	cmp    $0x7ff,%eax
140168b52:	0f 86 91 00 00 00    	jbe    0x140168be9
140168b58:	66 41 89 11          	mov    %dx,(%r9)
140168b5c:	41 8b c0             	mov    %r8d,%eax
140168b5f:	e9 a1 00 00 00       	jmp    0x140168c05
140168b64:	0f b6 0a             	movzbl (%rdx),%ecx
140168b67:	ba 01 00 00 00       	mov    $0x1,%edx
140168b6c:	41 0f b6 03          	movzbl (%r11),%eax
140168b70:	83 e1 07             	and    $0x7,%ecx
140168b73:	48 c1 e8 03          	shr    $0x3,%rax
140168b77:	d3 e2                	shl    %cl,%edx
140168b79:	42 84 54 10 0c       	test   %dl,0xc(%rax,%r10,1)
140168b7e:	74 14                	je     0x140168b94
140168b80:	48 83 ff 01          	cmp    $0x1,%rdi
140168b84:	75 07                	jne    0x140168b8d
140168b86:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
140168b8b:	eb 78                	jmp    0x140168c05
140168b8d:	bb 02 00 00 00       	mov    $0x2,%ebx
140168b92:	eb 05                	jmp    0x140168b99
140168b94:	bb 01 00 00 00       	mov    $0x1,%ebx
140168b99:	41 8b 0a             	mov    (%r10),%ecx
140168b9c:	4d 8b c3             	mov    %r11,%r8
140168b9f:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
140168ba6:	00
140168ba7:	ba 09 00 00 00       	mov    $0x9,%edx
140168bac:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140168bb1:	44 8b cb             	mov    %ebx,%r9d
140168bb4:	ff 15 a6 54 09 00    	call   *0x954a6(%rip)        # 0x1401fe060
140168bba:	85 c0                	test   %eax,%eax
140168bbc:	74 2b                	je     0x140168be9
140168bbe:	8b c3                	mov    %ebx,%eax
140168bc0:	eb 43                	jmp    0x140168c05
140168bc2:	41 8b 0a             	mov    (%r10),%ecx
140168bc5:	4d 8b c3             	mov    %r11,%r8
140168bc8:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
140168bcf:	00
140168bd0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140168bd5:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140168bdb:	41 8d 51 08          	lea    0x8(%r9),%edx
140168bdf:	ff 15 7b 54 09 00    	call   *0x9547b(%rip)        # 0x1401fe060
140168be5:	85 c0                	test   %eax,%eax
140168be7:	75 17                	jne    0x140168c00
140168be9:	e8 1e 73 02 00       	call   0x14018ff0c
140168bee:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
140168bf4:	83 c8 ff             	or     $0xffffffff,%eax
140168bf7:	eb 0c                	jmp    0x140168c05
140168bf9:	0f b6 02             	movzbl (%rdx),%eax
140168bfc:	66 41 89 01          	mov    %ax,(%r9)
140168c00:	b8 01 00 00 00       	mov    $0x1,%eax
140168c05:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140168c0a:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140168c0f:	48 83 c4 30          	add    $0x30,%rsp
140168c13:	5f                   	pop    %rdi
140168c14:	c3                   	ret
140168c15:	cc                   	int3
140168c16:	cc                   	int3
140168c17:	cc                   	int3
140168c18:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140168c1d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140168c22:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140168c27:	57                   	push   %rdi
140168c28:	41 56                	push   %r14
140168c2a:	41 57                	push   %r15
140168c2c:	48 83 ec 20          	sub    $0x20,%rsp
140168c30:	48 bb ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rbx
140168c37:	ff ff 7f
140168c3a:	45 0f be f9          	movsbl %r9b,%r15d
140168c3e:	48 8b ea             	mov    %rdx,%rbp
140168c41:	48 8b f9             	mov    %rcx,%rdi
140168c44:	48 3b d3             	cmp    %rbx,%rdx
140168c47:	0f 87 cc 00 00 00    	ja     0x140168d19
140168c4d:	4c 8b 71 18          	mov    0x18(%rcx),%r14
140168c51:	48 8b ca             	mov    %rdx,%rcx
140168c54:	48 83 c9 0f          	or     $0xf,%rcx
140168c58:	48 3b cb             	cmp    %rbx,%rcx
140168c5b:	76 0c                	jbe    0x140168c69
140168c5d:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140168c64:	00 00 80
140168c67:	eb 2c                	jmp    0x140168c95
140168c69:	49 8b d6             	mov    %r14,%rdx
140168c6c:	48 8b c3             	mov    %rbx,%rax
140168c6f:	48 d1 ea             	shr    $1,%rdx
140168c72:	48 2b c2             	sub    %rdx,%rax
140168c75:	4c 3b f0             	cmp    %rax,%r14
140168c78:	77 e3                	ja     0x140168c5d
140168c7a:	4a 8d 04 32          	lea    (%rdx,%r14,1),%rax
140168c7e:	48 8b d9             	mov    %rcx,%rbx
140168c81:	48 3b c8             	cmp    %rax,%rcx
140168c84:	48 0f 42 d8          	cmovb  %rax,%rbx
140168c88:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
140168c8c:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140168c93:	72 0a                	jb     0x140168c9f
140168c95:	e8 f6 da f5 ff       	call   0x1400c6790
140168c9a:	48 8b f0             	mov    %rax,%rsi
140168c9d:	eb 0e                	jmp    0x140168cad
140168c9f:	48 85 c9             	test   %rcx,%rcx
140168ca2:	74 07                	je     0x140168cab
140168ca4:	e8 47 d6 01 00       	call   0x1401862f0
140168ca9:	eb ef                	jmp    0x140168c9a
140168cab:	33 f6                	xor    %esi,%esi
140168cad:	41 8b d7             	mov    %r15d,%edx
140168cb0:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
140168cb4:	4c 8b c5             	mov    %rbp,%r8
140168cb7:	48 89 5f 18          	mov    %rbx,0x18(%rdi)
140168cbb:	48 8b ce             	mov    %rsi,%rcx
140168cbe:	e8 ad fd 01 00       	call   0x140188a70
140168cc3:	c6 04 2e 00          	movb   $0x0,(%rsi,%rbp,1)
140168cc7:	49 83 fe 10          	cmp    $0x10,%r14
140168ccb:	72 2d                	jb     0x140168cfa
140168ccd:	48 8b 0f             	mov    (%rdi),%rcx
140168cd0:	49 8d 56 01          	lea    0x1(%r14),%rdx
140168cd4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140168cdb:	72 18                	jb     0x140168cf5
140168cdd:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140168ce1:	48 83 c2 27          	add    $0x27,%rdx
140168ce5:	49 2b c8             	sub    %r8,%rcx
140168ce8:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140168cec:	48 83 f8 1f          	cmp    $0x1f,%rax
140168cf0:	77 2d                	ja     0x140168d1f
140168cf2:	49 8b c8             	mov    %r8,%rcx
140168cf5:	e8 52 d9 01 00       	call   0x14018664c
140168cfa:	48 89 37             	mov    %rsi,(%rdi)
140168cfd:	48 8b c7             	mov    %rdi,%rax
140168d00:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140168d05:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140168d0a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140168d0f:	48 83 c4 20          	add    $0x20,%rsp
140168d13:	41 5f                	pop    %r15
140168d15:	41 5e                	pop    %r14
140168d17:	5f                   	pop    %rdi
140168d18:	c3                   	ret
140168d19:	e8 52 d2 f5 ff       	call   0x1400c5f70
140168d1e:	cc                   	int3
140168d1f:	e8 60 28 02 00       	call   0x14018b584
140168d24:	cc                   	int3
140168d25:	cc                   	int3
140168d26:	cc                   	int3
140168d27:	cc                   	int3
140168d28:	48 8b c4             	mov    %rsp,%rax
140168d2b:	48 89 58 08          	mov    %rbx,0x8(%rax)