14040ae95:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14040ae9a:	e8 79 19 a1 00       	call   0x140e1c818
14040ae9f:	cc                   	int3
14040aea0:	2b ef                	sub    %edi,%ebp
14040aea2:	48 8d 15 ef 56 be 00 	lea    0xbe56ef(%rip),%rdx        # 0x140ff0598
14040aea9:	44 8b cd             	mov    %ebp,%r9d
14040aeac:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14040aeb1:	41 b8 03 00 00 00    	mov    $0x3,%r8d
14040aeb7:	e8 34 e2 d9 ff       	call   0x1401a90f0
14040aebc:	48 8d 15 0d 5b f9 00 	lea    0xf95b0d(%rip),%rdx        # 0x1413a09d0
14040aec3:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14040aec8:	e8 4b 19 a1 00       	call   0x140e1c818
14040aecd:	cc                   	int3
14040aece:	e8 d1 f2 a1 00       	call   0x140e2a1a4
14040aed3:	cc                   	int3
14040aed4:	cc                   	int3
14040aed5:	cc                   	int3
14040aed6:	cc                   	int3
14040aed7:	cc                   	int3
14040aed8:	cc                   	int3
14040aed9:	cc                   	int3
14040aeda:	cc                   	int3
14040aedb:	cc                   	int3
14040aedc:	cc                   	int3
14040aedd:	cc                   	int3
14040aede:	cc                   	int3
14040aedf:	cc                   	int3
14040aee0:	40 55                	rex push %rbp
14040aee2:	53                   	push   %rbx
14040aee3:	56                   	push   %rsi
14040aee4:	57                   	push   %rdi
14040aee5:	41 54                	push   %r12
14040aee7:	41 56                	push   %r14
14040aee9:	41 57                	push   %r15
14040aeeb:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
14040aef0:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
14040aef7:	48 8b 05 02 e0 fa 00 	mov    0xfae002(%rip),%rax        # 0x1413b8f00
14040aefe:	48 33 c4             	xor    %rsp,%rax
14040af01:	48 89 45 07          	mov    %rax,0x7(%rbp)
14040af05:	48 8d 7a 06          	lea    0x6(%rdx),%rdi
14040af09:	4c 89 4d df          	mov    %r9,-0x21(%rbp)
14040af0d:	48 89 55 d7          	mov    %rdx,-0x29(%rbp)
14040af11:	4d 8b e1             	mov    %r9,%r12
14040af14:	49 8b d8             	mov    %r8,%rbx
14040af17:	4c 8b fa             	mov    %rdx,%r15
14040af1a:	48 8b f1             	mov    %rcx,%rsi
14040af1d:	49 3b f8             	cmp    %r8,%rdi
14040af20:	0f 87 8c 06 00 00    	ja     0x14040b5b2
14040af26:	4c 8d 72 02          	lea    0x2(%rdx),%r14
14040af2a:	49 3b fe             	cmp    %r14,%rdi
14040af2d:	0f 82 7f 06 00 00    	jb     0x14040b5b2
14040af33:	b9 18 00 00 00       	mov    $0x18,%ecx
14040af38:	e8 cb 01 a1 00       	call   0x140e1b108
14040af3d:	48 8b c8             	mov    %rax,%rcx
14040af40:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
14040af44:	33 c0                	xor    %eax,%eax
14040af46:	48 85 c9             	test   %rcx,%rcx
14040af49:	74 14                	je     0x14040af5f
14040af4b:	48 8b 86 98 00 00 00 	mov    0x98(%rsi),%rax
14040af52:	48 89 41 08          	mov    %rax,0x8(%rcx)
14040af56:	c6 01 01             	movb   $0x1,(%rcx)
14040af59:	c6 41 10 00          	movb   $0x0,0x10(%rcx)
14040af5d:	eb 03                	jmp    0x14040af62
14040af5f:	48 8b c8             	mov    %rax,%rcx
14040af62:	4d 8b cc             	mov    %r12,%r9
14040af65:	48 89 0e             	mov    %rcx,(%rsi)
14040af68:	45 33 c0             	xor    %r8d,%r8d
14040af6b:	33 d2                	xor    %edx,%edx
14040af6d:	e8 5e 16 00 00       	call   0x14040c5d0
14040af72:	83 7d 7f 01          	cmpl   $0x1,0x7f(%rbp)
14040af76:	41 0f b7 07          	movzwl (%r15),%eax
14040af7a:	75 09                	jne    0x14040af85
14040af7c:	66 89 46 08          	mov    %ax,0x8(%rsi)
14040af80:	41 8b 06             	mov    (%r14),%eax
14040af83:	eb 0d                	jmp    0x14040af92
14040af85:	66 c1 c8 08          	ror    $0x8,%ax
14040af89:	66 89 46 08          	mov    %ax,0x8(%rsi)
14040af8d:	41 8b 06             	mov    (%r14),%eax
14040af90:	0f c8                	bswap  %eax
14040af92:	4d 8d 77 22          	lea    0x22(%r15),%r14
14040af96:	89 46 0c             	mov    %eax,0xc(%rsi)
14040af99:	4c 3b f3             	cmp    %rbx,%r14
14040af9c:	0f 87 e3 05 00 00    	ja     0x14040b585
14040afa2:	4c 3b f7             	cmp    %rdi,%r14
14040afa5:	0f 82 da 05 00 00    	jb     0x14040b585
14040afab:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
14040afaf:	41 b8 1c 00 00 00    	mov    $0x1c,%r8d
14040afb5:	48 8b d7             	mov    %rdi,%rdx
14040afb8:	e8 a3 33 da ff       	call   0x1401ae360
14040afbd:	49 8d 7e 01          	lea    0x1(%r14),%rdi
14040afc1:	48 3b fb             	cmp    %rbx,%rdi
14040afc4:	0f 87 ad 07 00 00    	ja     0x14040b777
14040afca:	49 3b fe             	cmp    %r14,%rdi
14040afcd:	0f 82 a4 07 00 00    	jb     0x14040b777
14040afd3:	41 0f b6 06          	movzbl (%r14),%eax
14040afd7:	88 46 20             	mov    %al,0x20(%rsi)
14040afda:	44 8b f8             	mov    %eax,%r15d
14040afdd:	4c 89 ac 24 88 00 00 	mov    %r13,0x88(%rsp)
14040afe4:	00
14040afe5:	44 8b e8             	mov    %eax,%r13d
14040afe8:	48 8b c3             	mov    %rbx,%rax
14040afeb:	49 2b c6             	sub    %r14,%rax
14040afee:	48 ff c8             	dec    %rax
14040aff1:	4c 3b e8             	cmp    %rax,%r13
14040aff4:	0f 8f e5 05 00 00    	jg     0x14040b5df
14040affa:	b9 18 00 00 00       	mov    $0x18,%ecx
14040afff:	c6 46 30 00          	movb   $0x0,0x30(%rsi)
14040b003:	e8 00 01 a1 00       	call   0x140e1b108
14040b008:	48 8b c8             	mov    %rax,%rcx
14040b00b:	48 85 c0             	test   %rax,%rax
14040b00e:	74 0f                	je     0x14040b01f
14040b010:	33 c0                	xor    %eax,%eax
14040b012:	48 89 01             	mov    %rax,(%rcx)
14040b015:	48 89 41 08          	mov    %rax,0x8(%rcx)
14040b019:	48 89 41 10          	mov    %rax,0x10(%rcx)
14040b01d:	eb 02                	jmp    0x14040b021
14040b01f:	33 c9                	xor    %ecx,%ecx
14040b021:	48 89 4e 28          	mov    %rcx,0x28(%rsi)
14040b025:	48 8b 41 10          	mov    0x10(%rcx),%rax
14040b029:	48 2b 01             	sub    (%rcx),%rax
14040b02c:	4c 89 6d cf          	mov    %r13,-0x31(%rbp)
14040b030:	4c 3b e8             	cmp    %rax,%r13
14040b033:	76 09                	jbe    0x14040b03e
14040b035:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
14040b039:	e8 32 cd da ff       	call   0x1401b7d70
14040b03e:	45 85 ff             	test   %r15d,%r15d
14040b041:	74 3b                	je     0x14040b07e
14040b043:	0f 1f 40 00          	nopl   0x0(%rax)
14040b047:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14040b04e:	00 00
14040b050:	48 8b 4e 28          	mov    0x28(%rsi),%rcx
14040b054:	0f b6 07             	movzbl (%rdi),%eax
14040b057:	88 46 30             	mov    %al,0x30(%rsi)
14040b05a:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14040b05e:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
14040b062:	74 08                	je     0x14040b06c
14040b064:	88 02                	mov    %al,(%rdx)
14040b066:	48 ff 41 08          	incq   0x8(%rcx)
14040b06a:	eb 09                	jmp    0x14040b075
14040b06c:	4c 8d 46 30          	lea    0x30(%rsi),%r8
14040b070:	e8 ab c9 da ff       	call   0x1401b7a20
14040b075:	48 ff c7             	inc    %rdi
14040b078:	49 83 ef 01          	sub    $0x1,%r15
14040b07c:	75 d2                	jne    0x14040b050
14040b07e:	0f b7 4e 08          	movzwl 0x8(%rsi),%ecx
14040b082:	41 2b fe             	sub    %r14d,%edi
14040b085:	48 63 ff             	movslq %edi,%rdi
14040b088:	49 03 fe             	add    %r14,%rdi
14040b08b:	66 89 4e 32          	mov    %cx,0x32(%rsi)
14040b08f:	81 e9 fd fe 00 00    	sub    $0xfefd,%ecx
14040b095:	74 24                	je     0x14040b0bb
14040b097:	83 f9 02             	cmp    $0x2,%ecx
14040b09a:	74 1f                	je     0x14040b0bb
14040b09c:	48 3b fb             	cmp    %rbx,%rdi
14040b09f:	0f 87 65 05 00 00    	ja     0x14040b60a
14040b0a5:	48 8d 4e 40          	lea    0x40(%rsi),%rcx
14040b0a9:	45 33 c0             	xor    %r8d,%r8d
14040b0ac:	48 8b d7             	mov    %rdi,%rdx
14040b0af:	e8 ac 32 da ff       	call   0x1401ae360
14040b0b4:	33 c9                	xor    %ecx,%ecx
14040b0b6:	44 8b f1             	mov    %ecx,%r14d
14040b0b9:	eb 7f                	jmp    0x14040b13a
14040b0bb:	b9 20 00 00 00       	mov    $0x20,%ecx
14040b0c0:	e8 43 00 a1 00       	call   0x140e1b108
14040b0c5:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
14040b0c9:	48 8b d0             	mov    %rax,%rdx
14040b0cc:	48 85 c0             	test   %rax,%rax
14040b0cf:	74 18                	je     0x14040b0e9
14040b0d1:	48 8b 8e 98 00 00 00 	mov    0x98(%rsi),%rcx
14040b0d8:	33 c0                	xor    %eax,%eax
14040b0da:	48 89 42 08          	mov    %rax,0x8(%rdx)
14040b0de:	89 42 10             	mov    %eax,0x10(%rdx)
14040b0e1:	88 02                	mov    %al,(%rdx)
14040b0e3:	48 89 4a 18          	mov    %rcx,0x18(%rdx)
14040b0e7:	eb 02                	jmp    0x14040b0eb
14040b0e9:	33 d2                	xor    %edx,%edx
14040b0eb:	4c 8d 4f 01          	lea    0x1(%rdi),%r9
14040b0ef:	48 89 56 38          	mov    %rdx,0x38(%rsi)
14040b0f3:	4c 3b cb             	cmp    %rbx,%r9
14040b0f6:	0f 87 4f 06 00 00    	ja     0x14040b74b
14040b0fc:	4c 3b cf             	cmp    %rdi,%r9
14040b0ff:	0f 82 46 06 00 00    	jb     0x14040b74b
14040b105:	0f b6 07             	movzbl (%rdi),%eax
14040b108:	88 02                	mov    %al,(%rdx)
14040b10a:	44 8b f0             	mov    %eax,%r14d
14040b10d:	48 8d 48 01          	lea    0x1(%rax),%rcx
14040b111:	48 03 cf             	add    %rdi,%rcx
14040b114:	48 3b cb             	cmp    %rbx,%rcx
14040b117:	0f 87 04 06 00 00    	ja     0x14040b721
14040b11d:	49 3b c9             	cmp    %r9,%rcx
14040b120:	0f 82 fb 05 00 00    	jb     0x14040b721
14040b126:	48 8d 4a 08          	lea    0x8(%rdx),%rcx
14040b12a:	45 8b c6             	mov    %r14d,%r8d
14040b12d:	49 8b d1             	mov    %r9,%rdx
14040b130:	e8 2b 32 da ff       	call   0x1401ae360
14040b135:	41 ff c6             	inc    %r14d
14040b138:	33 c9                	xor    %ecx,%ecx
14040b13a:	45 8b fe             	mov    %r14d,%r15d
14040b13d:	4c 03 ff             	add    %rdi,%r15
14040b140:	49 8d 7f 02          	lea    0x2(%r15),%rdi
14040b144:	48 3b fb             	cmp    %rbx,%rdi
14040b147:	0f 87 a3 05 00 00    	ja     0x14040b6f0
14040b14d:	49 3b ff             	cmp    %r15,%rdi
14040b150:	0f 82 9a 05 00 00    	jb     0x14040b6f0
14040b156:	44 8b 6d 7f          	mov    0x7f(%rbp),%r13d
14040b15a:	41 0f b7 07          	movzwl (%r15),%eax
14040b15e:	41 83 fd 01          	cmp    $0x1,%r13d
14040b162:	74 04                	je     0x14040b168
14040b164:	66 c1 c8 08          	ror    $0x8,%ax
14040b168:	44 0f b7 f0          	movzwl %ax,%r14d
14040b16c:	66 89 46 50          	mov    %ax,0x50(%rsi)
14040b170:	48 8b c3             	mov    %rbx,%rax
14040b173:	49 2b c7             	sub    %r15,%rax
14040b176:	41 d1 ee             	shr    $1,%r14d
14040b179:	48 83 e8 02          	sub    $0x2,%rax
14040b17d:	48 99                	cqto
14040b17f:	48 2b c2             	sub    %rdx,%rax
14040b182:	48 d1 f8             	sar    $1,%rax
14040b185:	4c 3b f0             	cmp    %rax,%r14
14040b188:	0f 8f ab 04 00 00    	jg     0x14040b639
14040b18e:	66 89 4e 60          	mov    %cx,0x60(%rsi)
14040b192:	b9 18 00 00 00       	mov    $0x18,%ecx
14040b197:	e8 6c ff a0 00       	call   0x140e1b108
14040b19c:	48 8b c8             	mov    %rax,%rcx
14040b19f:	48 85 c0             	test   %rax,%rax
14040b1a2:	74 0f                	je     0x14040b1b3
14040b1a4:	33 c0                	xor    %eax,%eax
14040b1a6:	48 89 01             	mov    %rax,(%rcx)
14040b1a9:	48 89 41 08          	mov    %rax,0x8(%rcx)
14040b1ad:	48 89 41 10          	mov    %rax,0x10(%rcx)
14040b1b1:	eb 03                	jmp    0x14040b1b6
14040b1b3:	48 8b c8             	mov    %rax,%rcx
14040b1b6:	48 89 4e 58          	mov    %rcx,0x58(%rsi)
14040b1ba:	48 8b 41 10          	mov    0x10(%rcx),%rax
14040b1be:	48 2b 01             	sub    (%rcx),%rax
14040b1c1:	48 d1 f8             	sar    $1,%rax
14040b1c4:	4c 89 75 cf          	mov    %r14,-0x31(%rbp)
14040b1c8:	4c 3b f0             	cmp    %rax,%r14
14040b1cb:	76 09                	jbe    0x14040b1d6
14040b1cd:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
14040b1d1:	e8 0a cc da ff       	call   0x1401b7de0
14040b1d6:	45 85 f6             	test   %r14d,%r14d
14040b1d9:	74 7b                	je     0x14040b256
14040b1db:	41 83 fd 01          	cmp    $0x1,%r13d
14040b1df:	75 3f                	jne    0x14040b220
14040b1e1:	48 8b 4e 58          	mov    0x58(%rsi),%rcx
14040b1e5:	0f b7 07             	movzwl (%rdi),%eax
14040b1e8:	66 89 46 60          	mov    %ax,0x60(%rsi)
14040b1ec:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14040b1f0:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
14040b1f4:	74 0a                	je     0x14040b200
14040b1f6:	66 89 02             	mov    %ax,(%rdx)
14040b1f9:	48 83 41 08 02       	addq   $0x2,0x8(%rcx)
14040b1fe:	eb 09                	jmp    0x14040b209
14040b200:	4c 8d 46 60          	lea    0x60(%rsi),%r8
14040b204:	e8 17 c9 da ff       	call   0x1401b7b20
14040b209:	48 83 c7 02          	add    $0x2,%rdi
14040b20d:	49 83 ee 01          	sub    $0x1,%r14
14040b211:	75 ce                	jne    0x14040b1e1
14040b213:	eb 41                	jmp    0x14040b256
14040b215:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14040b21c:	00 00 00 00
14040b220:	0f b7 07             	movzwl (%rdi),%eax
14040b223:	48 8b 4e 58          	mov    0x58(%rsi),%rcx
14040b227:	66 c1 c8 08          	ror    $0x8,%ax
14040b22b:	66 89 46 60          	mov    %ax,0x60(%rsi)
14040b22f:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14040b233:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
14040b237:	74 0a                	je     0x14040b243
14040b239:	66 89 02             	mov    %ax,(%rdx)
14040b23c:	48 83 41 08 02       	addq   $0x2,0x8(%rcx)
14040b241:	eb 09                	jmp    0x14040b24c
14040b243:	4c 8d 46 60          	lea    0x60(%rsi),%r8
14040b247:	e8 d4 c8 da ff       	call   0x1401b7b20
14040b24c:	48 83 c7 02          	add    $0x2,%rdi
14040b250:	49 83 ee 01          	sub    $0x1,%r14
14040b254:	75 ca                	jne    0x14040b220
14040b256:	41 2b ff             	sub    %r15d,%edi
14040b259:	4c 63 f7             	movslq %edi,%r14
14040b25c:	4d 03 f7             	add    %r15,%r14
14040b25f:	49 8d 7e 01          	lea    0x1(%r14),%rdi
14040b263:	48 3b fb             	cmp    %rbx,%rdi
14040b266:	0f 87 53 04 00 00    	ja     0x14040b6bf
14040b26c:	49 3b fe             	cmp    %r14,%rdi
14040b26f:	0f 82 4a 04 00 00    	jb     0x14040b6bf
14040b275:	41 0f b6 06          	movzbl (%r14),%eax
14040b279:	44 8b e8             	mov    %eax,%r13d
14040b27c:	88 46 62             	mov    %al,0x62(%rsi)
14040b27f:	44 8b f8             	mov    %eax,%r15d
14040b282:	48 8b c3             	mov    %rbx,%rax
14040b285:	49 2b c6             	sub    %r14,%rax
14040b288:	48 ff c8             	dec    %rax
14040b28b:	4c 3b e8             	cmp    %rax,%r13
14040b28e:	0f 8f d0 03 00 00    	jg     0x14040b664
14040b294:	b9 18 00 00 00       	mov    $0x18,%ecx
14040b299:	c6 46 70 00          	movb   $0x0,0x70(%rsi)
14040b29d:	e8 66 fe a0 00       	call   0x140e1b108
14040b2a2:	48 8b c8             	mov    %rax,%rcx
14040b2a5:	48 85 c0             	test   %rax,%rax
14040b2a8:	74 0f                	je     0x14040b2b9
14040b2aa:	33 c0                	xor    %eax,%eax
14040b2ac:	48 89 01             	mov    %rax,(%rcx)
14040b2af:	48 89 41 08          	mov    %rax,0x8(%rcx)
14040b2b3:	48 89 41 10          	mov    %rax,0x10(%rcx)
14040b2b7:	eb 03                	jmp    0x14040b2bc
14040b2b9:	48 8b c8             	mov    %rax,%rcx
14040b2bc:	48 89 4e 68          	mov    %rcx,0x68(%rsi)
14040b2c0:	48 8b 41 10          	mov    0x10(%rcx),%rax
14040b2c4:	48 2b 01             	sub    (%rcx),%rax
14040b2c7:	4c 89 6d cf          	mov    %r13,-0x31(%rbp)
14040b2cb:	4c 3b e8             	cmp    %rax,%r13
14040b2ce:	76 09                	jbe    0x14040b2d9
14040b2d0:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
14040b2d4:	e8 97 ca da ff       	call   0x1401b7d70
14040b2d9:	45 85 ff             	test   %r15d,%r15d
14040b2dc:	74 30                	je     0x14040b30e
14040b2de:	66 90                	xchg   %ax,%ax
14040b2e0:	48 8b 4e 68          	mov    0x68(%rsi),%rcx
14040b2e4:	0f b6 07             	movzbl (%rdi),%eax
14040b2e7:	88 46 70             	mov    %al,0x70(%rsi)
14040b2ea:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14040b2ee:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
14040b2f2:	74 08                	je     0x14040b2fc
14040b2f4:	88 02                	mov    %al,(%rdx)
14040b2f6:	48 ff 41 08          	incq   0x8(%rcx)
14040b2fa:	eb 09                	jmp    0x14040b305
14040b2fc:	4c 8d 46 70          	lea    0x70(%rsi),%r8
14040b300:	e8 1b c7 da ff       	call   0x1401b7a20
14040b305:	48 ff c7             	inc    %rdi
14040b308:	49 83 ef 01          	sub    $0x1,%r15
14040b30c:	75 d2                	jne    0x14040b2e0
14040b30e:	41 2b fe             	sub    %r14d,%edi
14040b311:	b9 18 00 00 00       	mov    $0x18,%ecx
14040b316:	4c 63 ff             	movslq %edi,%r15
14040b319:	33 ff                	xor    %edi,%edi
14040b31b:	66 89 be 80 00 00 00 	mov    %di,0x80(%rsi)
14040b322:	4d 03 fe             	add    %r14,%r15
14040b325:	e8 de fd a0 00       	call   0x140e1b108
14040b32a:	48 8b c8             	mov    %rax,%rcx
14040b32d:	48 85 c0             	test   %rax,%rax
14040b330:	74 0d                	je     0x14040b33f
14040b332:	48 89 38             	mov    %rdi,(%rax)
14040b335:	48 89 78 08          	mov    %rdi,0x8(%rax)
14040b339:	48 89 78 10          	mov    %rdi,0x10(%rax)
14040b33d:	eb 03                	jmp    0x14040b342
14040b33f:	48 8b cf             	mov    %rdi,%rcx
14040b342:	48 89 4e 78          	mov    %rcx,0x78(%rsi)
14040b346:	49 8b c7             	mov    %r15,%rax
14040b349:	4c 3b fb             	cmp    %rbx,%r15
14040b34c:	73 5a                	jae    0x14040b3a8