140053d00:	48 31 e0             	xor    %rsp,%rax
140053d03:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140053d08:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
140053d0d:	74 08                	je     0x140053d17
140053d0f:	48 89 f9             	mov    %rdi,%rcx
140053d12:	e8 39 01 00 00       	call   0x140053e50
140053d17:	44 89 f1             	mov    %r14d,%ecx
140053d1a:	c1 e1 03             	shl    $0x3,%ecx
140053d1d:	42 8d 04 f5 02 00 00 	lea    0x2(,%r14,8),%eax
140053d24:	00
140053d25:	48 ba aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%rdx
140053d2c:	aa aa aa
140053d2f:	48 89 54 24 27       	mov    %rdx,0x27(%rsp)
140053d34:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140053d39:	4c 8d 7c 24 20       	lea    0x20(%rsp),%r15
140053d3e:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
140053d44:	0f 83 ac 00 00 00    	jae    0x140053df6
140053d4a:	41 88 07             	mov    %al,(%r15)
140053d4d:	49 8d 47 01          	lea    0x1(%r15),%rax
140053d51:	89 f1                	mov    %esi,%ecx
140053d53:	81 fe 80 00 00 00    	cmp    $0x80,%esi
140053d59:	0f 83 b7 00 00 00    	jae    0x140053e16
140053d5f:	88 08                	mov    %cl,(%rax)
140053d61:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
140053d66:	49 29 c7             	sub    %rax,%r15
140053d69:	49 83 c7 02          	add    $0x2,%r15
140053d6d:	4c 8b 37             	mov    (%rdi),%r14
140053d70:	45 89 f8             	mov    %r15d,%r8d
140053d73:	49 8b 4e 18          	mov    0x18(%r14),%rcx
140053d77:	4e 8d 24 01          	lea    (%rcx,%r8,1),%r12
140053d7b:	4d 3b 66 10          	cmp    0x10(%r14),%r12
140053d7f:	0f 87 b4 00 00 00    	ja     0x140053e39
140053d85:	4d 85 c0             	test   %r8,%r8
140053d88:	74 0a                	je     0x140053d94
140053d8a:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140053d8f:	e8 dc 9d 04 00       	call   0x14009db70
140053d94:	4d 89 66 18          	mov    %r12,0x18(%r14)
140053d98:	44 01 7f 20          	add    %r15d,0x20(%rdi)
140053d9c:	4c 8b 37             	mov    (%rdi),%r14
140053d9f:	41 89 f0             	mov    %esi,%r8d
140053da2:	49 8b 4e 18          	mov    0x18(%r14),%rcx
140053da6:	4e 8d 3c 01          	lea    (%rcx,%r8,1),%r15
140053daa:	4d 3b 7e 10          	cmp    0x10(%r14),%r15
140053dae:	77 39                	ja     0x140053de9
140053db0:	4d 85 c0             	test   %r8,%r8
140053db3:	74 08                	je     0x140053dbd
140053db5:	48 89 da             	mov    %rbx,%rdx
140053db8:	e8 b3 9d 04 00       	call   0x14009db70
140053dbd:	4d 89 7e 18          	mov    %r15,0x18(%r14)
140053dc1:	01 77 20             	add    %esi,0x20(%rdi)
140053dc4:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140053dc9:	48 31 e1             	xor    %rsp,%rcx
140053dcc:	48 3b 0d 6d d2 0a 00 	cmp    0xad26d(%rip),%rcx        # 0x140101040
140053dd3:	74 06                	je     0x140053ddb
140053dd5:	e8 f6 b4 01 00       	call   0x14006f2d0
140053dda:	cc                   	int3
140053ddb:	48 83 c4 38          	add    $0x38,%rsp
140053ddf:	5b                   	pop    %rbx
140053de0:	5f                   	pop    %rdi
140053de1:	5e                   	pop    %rsi
140053de2:	41 5c                	pop    %r12
140053de4:	41 5e                	pop    %r14
140053de6:	41 5f                	pop    %r15
140053de8:	c3                   	ret
140053de9:	4c 89 f1             	mov    %r14,%rcx
140053dec:	48 89 da             	mov    %rbx,%rdx
140053def:	e8 1c 0c 00 00       	call   0x140054a10
140053df4:	eb cb                	jmp    0x140053dc1
140053df6:	89 c1                	mov    %eax,%ecx
140053df8:	89 ca                	mov    %ecx,%edx
140053dfa:	80 ca 80             	or     $0x80,%dl
140053dfd:	41 88 17             	mov    %dl,(%r15)
140053e00:	49 ff c7             	inc    %r15
140053e03:	c1 e8 07             	shr    $0x7,%eax
140053e06:	81 f9 ff 3f 00 00    	cmp    $0x3fff,%ecx
140053e0c:	89 c1                	mov    %eax,%ecx
140053e0e:	0f 86 36 ff ff ff    	jbe    0x140053d4a
140053e14:	eb e2                	jmp    0x140053df8
140053e16:	89 ca                	mov    %ecx,%edx
140053e18:	41 89 d0             	mov    %edx,%r8d
140053e1b:	41 80 c8 80          	or     $0x80,%r8b
140053e1f:	44 88 00             	mov    %r8b,(%rax)
140053e22:	c1 e9 07             	shr    $0x7,%ecx
140053e25:	48 ff c0             	inc    %rax
140053e28:	81 fa ff 3f 00 00    	cmp    $0x3fff,%edx
140053e2e:	77 e6                	ja     0x140053e16
140053e30:	4c 8d 78 ff          	lea    -0x1(%rax),%r15
140053e34:	e9 26 ff ff ff       	jmp    0x140053d5f
140053e39:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140053e3e:	4c 89 f1             	mov    %r14,%rcx
140053e41:	e8 ca 0b 00 00       	call   0x140054a10
140053e46:	e9 4d ff ff ff       	jmp    0x140053d98
140053e4b:	cc                   	int3
140053e4c:	cc                   	int3
140053e4d:	cc                   	int3
140053e4e:	cc                   	int3
140053e4f:	cc                   	int3
140053e50:	56                   	push   %rsi
140053e51:	57                   	push   %rdi
140053e52:	53                   	push   %rbx
140053e53:	48 83 ec 20          	sub    $0x20,%rsp
140053e57:	48 89 ce             	mov    %rcx,%rsi
140053e5a:	48 8b 79 10          	mov    0x10(%rcx),%rdi
140053e5e:	80 7f 24 00          	cmpb   $0x0,0x24(%rdi)
140053e62:	75 14                	jne    0x140053e78
140053e64:	48 83 7f 10 00       	cmpq   $0x0,0x10(%rdi)
140053e69:	75 3f                	jne    0x140053eaa
140053e6b:	48 8b 47 18          	mov    0x18(%rdi),%rax
140053e6f:	48 85 c0             	test   %rax,%rax
140053e72:	75 40                	jne    0x140053eb4
140053e74:	c6 47 24 01          	movb   $0x1,0x24(%rdi)
140053e78:	8b 46 20             	mov    0x20(%rsi),%eax
140053e7b:	03 47 20             	add    0x20(%rdi),%eax
140053e7e:	89 46 20             	mov    %eax,0x20(%rsi)
140053e81:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140053e85:	80 79 24 02          	cmpb   $0x2,0x24(%rcx)
140053e89:	75 06                	jne    0x140053e91
140053e8b:	83 c0 fd             	add    $0xfffffffd,%eax
140053e8e:	89 46 20             	mov    %eax,0x20(%rsi)
140053e91:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140053e95:	e8 36 05 00 00       	call   0x1400543d0
140053e9a:	48 c7 46 10 00 00 00 	movq   $0x0,0x10(%rsi)
140053ea1:	00
140053ea2:	48 83 c4 20          	add    $0x20,%rsp
140053ea6:	5b                   	pop    %rbx
140053ea7:	5f                   	pop    %rdi
140053ea8:	5e                   	pop    %rsi
140053ea9:	c3                   	ret
140053eaa:	48 89 f9             	mov    %rdi,%rcx
140053ead:	e8 9e ff ff ff       	call   0x140053e50
140053eb2:	eb b7                	jmp    0x140053e6b
140053eb4:	44 8b 47 20          	mov    0x20(%rdi),%r8d
140053eb8:	49 83 f8 7f          	cmp    $0x7f,%r8
140053ebc:	77 43                	ja     0x140053f01
140053ebe:	48 8b 1f             	mov    (%rdi),%rbx
140053ec1:	48 8b 53 18          	mov    0x18(%rbx),%rdx
140053ec5:	4c 29 c2             	sub    %r8,%rdx
140053ec8:	48 8d 4a fc          	lea    -0x4(%rdx),%rcx
140053ecc:	48 39 c8             	cmp    %rcx,%rax
140053ecf:	75 30                	jne    0x140053f01
140053ed1:	48 3b 43 08          	cmp    0x8(%rbx),%rax
140053ed5:	72 2a                	jb     0x140053f01
140053ed7:	48 8d 4a fd          	lea    -0x3(%rdx),%rcx
140053edb:	e8 90 9c 04 00       	call   0x14009db70
140053ee0:	48 83 43 18 fd       	addq   $0xfffffffffffffffd,0x18(%rbx)
140053ee5:	0f b6 47 20          	movzbl 0x20(%rdi),%eax
140053ee9:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140053eed:	88 01                	mov    %al,(%rcx)
140053eef:	b0 02                	mov    $0x2,%al
140053ef1:	88 47 24             	mov    %al,0x24(%rdi)
140053ef4:	48 c7 47 18 00 00 00 	movq   $0x0,0x18(%rdi)
140053efb:	00
140053efc:	e9 77 ff ff ff       	jmp    0x140053e78
140053f01:	44 89 c1             	mov    %r8d,%ecx
140053f04:	80 c9 80             	or     $0x80,%cl
140053f07:	88 08                	mov    %cl,(%rax)
140053f09:	44 89 c1             	mov    %r8d,%ecx
140053f0c:	c1 e9 07             	shr    $0x7,%ecx
140053f0f:	80 c9 80             	or     $0x80,%cl
140053f12:	88 48 01             	mov    %cl,0x1(%rax)
140053f15:	44 89 c1             	mov    %r8d,%ecx
140053f18:	c1 e9 0e             	shr    $0xe,%ecx
140053f1b:	80 c9 80             	or     $0x80,%cl
140053f1e:	88 48 02             	mov    %cl,0x2(%rax)
140053f21:	41 c1 e8 15          	shr    $0x15,%r8d
140053f25:	44 88 40 03          	mov    %r8b,0x3(%rax)
140053f29:	b0 01                	mov    $0x1,%al
140053f2b:	eb c4                	jmp    0x140053ef1
140053f2d:	cc                   	int3
140053f2e:	cc                   	int3
140053f2f:	cc                   	int3
140053f30:	41 57                	push   %r15
140053f32:	41 56                	push   %r14
140053f34:	41 55                	push   %r13
140053f36:	41 54                	push   %r12
140053f38:	56                   	push   %rsi
140053f39:	57                   	push   %rdi
140053f3a:	53                   	push   %rbx
140053f3b:	48 83 ec 40          	sub    $0x40,%rsp
140053f3f:	4c 89 ce             	mov    %r9,%rsi
140053f42:	4c 89 c7             	mov    %r8,%rdi
140053f45:	41 89 d7             	mov    %edx,%r15d
140053f48:	48 89 cb             	mov    %rcx,%rbx
140053f4b:	48 8b 05 ee d0 0a 00 	mov    0xad0ee(%rip),%rax        # 0x140101040
140053f52:	48 31 e0             	xor    %rsp,%rax
140053f55:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140053f5a:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
140053f5f:	74 08                	je     0x140053f69
140053f61:	48 89 d9             	mov    %rbx,%rcx
140053f64:	e8 e7 fe ff ff       	call   0x140053e50
140053f69:	48 85 f6             	test   %rsi,%rsi
140053f6c:	0f 84 4e 01 00 00    	je     0x1400540c0
140053f72:	48 8d 47 08          	lea    0x8(%rdi),%rax
140053f76:	45 31 f6             	xor    %r14d,%r14d
140053f79:	48 89 f1             	mov    %rsi,%rcx
140053f7c:	4c 03 30             	add    (%rax),%r14
140053f7f:	4c 2b 70 f8          	sub    -0x8(%rax),%r14
140053f83:	48 83 c0 10          	add    $0x10,%rax
140053f87:	48 ff c9             	dec    %rcx
140053f8a:	75 f0                	jne    0x140053f7c
140053f8c:	44 89 f9             	mov    %r15d,%ecx
140053f8f:	c1 e1 03             	shl    $0x3,%ecx
140053f92:	42 8d 04 fd 02 00 00 	lea    0x2(,%r15,8),%eax
140053f99:	00
140053f9a:	48 ba aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%rdx
140053fa1:	aa aa aa
140053fa4:	48 89 54 24 2f       	mov    %rdx,0x2f(%rsp)
140053fa9:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
140053fae:	4c 8d 64 24 28       	lea    0x28(%rsp),%r12
140053fb3:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
140053fb9:	0f 83 09 01 00 00    	jae    0x1400540c8
140053fbf:	41 88 04 24          	mov    %al,(%r12)
140053fc3:	49 8d 44 24 01       	lea    0x1(%r12),%rax
140053fc8:	44 89 f1             	mov    %r14d,%ecx
140053fcb:	41 81 fe 80 00 00 00 	cmp    $0x80,%r14d
140053fd2:	0f 83 96 00 00 00    	jae    0x14005406e
140053fd8:	88 08                	mov    %cl,(%rax)
140053fda:	48 8d 44 24 28       	lea    0x28(%rsp),%rax
140053fdf:	49 29 c4             	sub    %rax,%r12
140053fe2:	49 83 c4 02          	add    $0x2,%r12
140053fe6:	4c 8b 3b             	mov    (%rbx),%r15
140053fe9:	45 89 e0             	mov    %r12d,%r8d
140053fec:	49 8b 4f 18          	mov    0x18(%r15),%rcx
140053ff0:	4e 8d 2c 01          	lea    (%rcx,%r8,1),%r13
140053ff4:	4d 3b 6f 10          	cmp    0x10(%r15),%r13
140053ff8:	0f 87 b0 00 00 00    	ja     0x1400540ae
140053ffe:	4d 85 c0             	test   %r8,%r8
140054001:	74 0a                	je     0x14005400d
140054003:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140054008:	e8 63 9b 04 00       	call   0x14009db70
14005400d:	4d 89 6f 18          	mov    %r13,0x18(%r15)
140054011:	44 01 63 20          	add    %r12d,0x20(%rbx)
140054015:	48 85 f6             	test   %rsi,%rsi
140054018:	74 3d                	je     0x140054057
14005401a:	48 83 c7 08          	add    $0x8,%rdi
14005401e:	48 8b 57 f8          	mov    -0x8(%rdi),%rdx
140054022:	4c 8b 27             	mov    (%rdi),%r12
140054025:	49 29 d4             	sub    %rdx,%r12
140054028:	4c 8b 3b             	mov    (%rbx),%r15
14005402b:	45 89 e0             	mov    %r12d,%r8d
14005402e:	49 8b 4f 18          	mov    0x18(%r15),%rcx
140054032:	4e 8d 2c 01          	lea    (%rcx,%r8,1),%r13
140054036:	4d 3b 6f 10          	cmp    0x10(%r15),%r13
14005403a:	77 68                	ja     0x1400540a4
14005403c:	4d 85 c0             	test   %r8,%r8
14005403f:	74 05                	je     0x140054046
140054041:	e8 2a 9b 04 00       	call   0x14009db70
140054046:	4d 89 6f 18          	mov    %r13,0x18(%r15)
14005404a:	44 01 63 20          	add    %r12d,0x20(%rbx)
14005404e:	48 83 c7 10          	add    $0x10,%rdi
140054052:	48 ff ce             	dec    %rsi
140054055:	75 c7                	jne    0x14005401e
140054057:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14005405c:	48 31 e1             	xor    %rsp,%rcx
14005405f:	48 3b 0d da cf 0a 00 	cmp    0xacfda(%rip),%rcx        # 0x140101040
140054066:	74 29                	je     0x140054091
140054068:	e8 63 b2 01 00       	call   0x14006f2d0
14005406d:	cc                   	int3
14005406e:	89 ca                	mov    %ecx,%edx
140054070:	41 89 d0             	mov    %edx,%r8d
140054073:	41 80 c8 80          	or     $0x80,%r8b
140054077:	44 88 00             	mov    %r8b,(%rax)
14005407a:	c1 e9 07             	shr    $0x7,%ecx
14005407d:	48 ff c0             	inc    %rax
140054080:	81 fa ff 3f 00 00    	cmp    $0x3fff,%edx
140054086:	77 e6                	ja     0x14005406e
140054088:	4c 8d 60 ff          	lea    -0x1(%rax),%r12
14005408c:	e9 47 ff ff ff       	jmp    0x140053fd8
140054091:	4c 89 f0             	mov    %r14,%rax
140054094:	48 83 c4 40          	add    $0x40,%rsp
140054098:	5b                   	pop    %rbx
140054099:	5f                   	pop    %rdi
14005409a:	5e                   	pop    %rsi
14005409b:	41 5c                	pop    %r12
14005409d:	41 5d                	pop    %r13
14005409f:	41 5e                	pop    %r14
1400540a1:	41 5f                	pop    %r15
1400540a3:	c3                   	ret
1400540a4:	4c 89 f9             	mov    %r15,%rcx
1400540a7:	e8 64 09 00 00       	call   0x140054a10
1400540ac:	eb 9c                	jmp    0x14005404a
1400540ae:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1400540b3:	4c 89 f9             	mov    %r15,%rcx
1400540b6:	e8 55 09 00 00       	call   0x140054a10
1400540bb:	e9 51 ff ff ff       	jmp    0x140054011
1400540c0:	45 31 f6             	xor    %r14d,%r14d
1400540c3:	e9 c4 fe ff ff       	jmp    0x140053f8c
1400540c8:	89 c1                	mov    %eax,%ecx
1400540ca:	89 ca                	mov    %ecx,%edx
1400540cc:	80 ca 80             	or     $0x80,%dl
1400540cf:	41 88 14 24          	mov    %dl,(%r12)
1400540d3:	49 ff c4             	inc    %r12
1400540d6:	c1 e8 07             	shr    $0x7,%eax
1400540d9:	81 f9 ff 3f 00 00    	cmp    $0x3fff,%ecx
1400540df:	89 c1                	mov    %eax,%ecx
1400540e1:	0f 86 d8 fe ff ff    	jbe    0x140053fbf
1400540e7:	eb e1                	jmp    0x1400540ca
1400540e9:	cc                   	int3
1400540ea:	cc                   	int3
1400540eb:	cc                   	int3
1400540ec:	cc                   	int3
1400540ed:	cc                   	int3
1400540ee:	cc                   	int3
1400540ef:	cc                   	int3
1400540f0:	56                   	push   %rsi
1400540f1:	57                   	push   %rdi
1400540f2:	48 83 ec 28          	sub    $0x28,%rsp
1400540f6:	48 89 ce             	mov    %rcx,%rsi
1400540f9:	80 79 24 00          	cmpb   $0x0,0x24(%rcx)
1400540fd:	75 14                	jne    0x140054113
1400540ff:	48 83 7e 10 00       	cmpq   $0x0,0x10(%rsi)
140054104:	75 17                	jne    0x14005411d
140054106:	48 8b 46 18          	mov    0x18(%rsi),%rax
14005410a:	48 85 c0             	test   %rax,%rax
14005410d:	75 18                	jne    0x140054127
14005410f:	c6 46 24 01          	movb   $0x1,0x24(%rsi)
140054113:	8b 46 20             	mov    0x20(%rsi),%eax
140054116:	48 83 c4 28          	add    $0x28,%rsp
14005411a:	5f                   	pop    %rdi
14005411b:	5e                   	pop    %rsi
14005411c:	c3                   	ret
14005411d:	48 89 f1             	mov    %rsi,%rcx
140054120:	e8 2b fd ff ff       	call   0x140053e50
140054125:	eb df                	jmp    0x140054106
140054127:	44 8b 46 20          	mov    0x20(%rsi),%r8d
14005412b:	49 83 f8 7f          	cmp    $0x7f,%r8
14005412f:	77 40                	ja     0x140054171
140054131:	48 8b 3e             	mov    (%rsi),%rdi
140054134:	48 8b 57 18          	mov    0x18(%rdi),%rdx
140054138:	4c 29 c2             	sub    %r8,%rdx
14005413b:	48 8d 4a fc          	lea    -0x4(%rdx),%rcx
14005413f:	48 39 c8             	cmp    %rcx,%rax
140054142:	75 2d                	jne    0x140054171
140054144:	48 3b 47 08          	cmp    0x8(%rdi),%rax
140054148:	72 27                	jb     0x140054171
14005414a:	48 8d 4a fd          	lea    -0x3(%rdx),%rcx
14005414e:	e8 1d 9a 04 00       	call   0x14009db70
140054153:	48 83 47 18 fd       	addq   $0xfffffffffffffffd,0x18(%rdi)
140054158:	0f b6 46 20          	movzbl 0x20(%rsi),%eax
14005415c:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
140054160:	88 01                	mov    %al,(%rcx)
140054162:	b0 02                	mov    $0x2,%al
140054164:	88 46 24             	mov    %al,0x24(%rsi)
140054167:	48 c7 46 18 00 00 00 	movq   $0x0,0x18(%rsi)
14005416e:	00
14005416f:	eb a2                	jmp    0x140054113
140054171:	44 89 c1             	mov    %r8d,%ecx
140054174:	80 c9 80             	or     $0x80,%cl
140054177:	88 08                	mov    %cl,(%rax)
140054179:	44 89 c1             	mov    %r8d,%ecx