14099eecf:	00
14099eed0:	4a 63 b4 b4 80 00 00 	movslq 0x80(%rsp,%r14,4),%rsi
14099eed7:	00
14099eed8:	45 8b f4             	mov    %r12d,%r14d
14099eedb:	48 8b de             	mov    %rsi,%rbx
14099eede:	89 74 24 44          	mov    %esi,0x44(%rsp)
14099eee2:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
14099eee7:	44 3b f6             	cmp    %esi,%r14d
14099eeea:	0f 84 e0 00 00 00    	je     0x14099efd0
14099eef0:	48 8b c3             	mov    %rbx,%rax
14099eef3:	48 c1 e0 08          	shl    $0x8,%rax
14099eef7:	49 03 c4             	add    %r12,%rax
14099eefa:	8b 2c 87             	mov    (%rdi,%rax,4),%ebp
14099eefd:	4c 8d 3c 87          	lea    (%rdi,%rax,4),%r15
14099ef01:	0f ba e5 15          	bt     $0x15,%ebp
14099ef05:	0f 82 ba 00 00 00    	jb     0x14099efc5
14099ef0b:	41 8b 77 04          	mov    0x4(%r15),%esi
14099ef0f:	0f ba f5 15          	btr    $0x15,%ebp
14099ef13:	0f ba f6 15          	btr    $0x15,%esi
14099ef17:	ff ce                	dec    %esi
14099ef19:	3b f5                	cmp    %ebp,%esi
14099ef1b:	0f 8e a0 00 00 00    	jle    0x14099efc1
14099ef21:	44 8b ee             	mov    %esi,%r13d
14099ef24:	44 2b ed             	sub    %ebp,%r13d
14099ef27:	83 bc 24 08 0e 00 00 	cmpl   $0x4,0xe08(%rsp)
14099ef2e:	04
14099ef2f:	7c 36                	jl     0x14099ef67
14099ef31:	b9 02 00 00 00       	mov    $0x2,%ecx
14099ef36:	41 8d 5d 01          	lea    0x1(%r13),%ebx
14099ef3a:	e8 51 3d 49 00       	call   0x140e32c90
14099ef3f:	44 8b 44 24 44       	mov    0x44(%rsp),%r8d
14099ef44:	48 8d 15 c5 7b 6c 00 	lea    0x6c7bc5(%rip),%rdx        # 0x141066b10
14099ef4b:	48 8b c8             	mov    %rax,%rcx
14099ef4e:	89 5c 24 28          	mov    %ebx,0x28(%rsp)
14099ef52:	8b 44 24 40          	mov    0x40(%rsp),%eax
14099ef56:	45 8b ce             	mov    %r14d,%r9d
14099ef59:	89 44 24 20          	mov    %eax,0x20(%rsp)
14099ef5d:	e8 0e 0c 9e ff       	call   0x14037fb70
14099ef62:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14099ef67:	48 8b 84 24 10 0e 00 	mov    0xe10(%rsp),%rax
14099ef6e:	00
14099ef6f:	44 8b 4c 24 48       	mov    0x48(%rsp),%r9d
14099ef74:	4c 8b 44 24 68       	mov    0x68(%rsp),%r8
14099ef79:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
14099ef7e:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14099ef83:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14099ef88:	c7 44 24 30 02 00 00 	movl   $0x2,0x30(%rsp)
14099ef8f:	00
14099ef90:	89 74 24 28          	mov    %esi,0x28(%rsp)
14099ef94:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
14099ef98:	e8 63 f0 ff ff       	call   0x14099e000
14099ef9d:	8b 6c 24 40          	mov    0x40(%rsp),%ebp
14099efa1:	48 8b 84 24 10 0e 00 	mov    0xe10(%rsp),%rax
14099efa8:	00
14099efa9:	ff c5                	inc    %ebp
14099efab:	41 03 ed             	add    %r13d,%ebp
14099efae:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
14099efb2:	83 38 00             	cmpl   $0x0,(%rax)
14099efb5:	0f 8c ea 02 00 00    	jl     0x14099f2a5
14099efbb:	8b 74 24 44          	mov    0x44(%rsp),%esi
14099efbf:	eb 08                	jmp    0x14099efc9
14099efc1:	8b 74 24 44          	mov    0x44(%rsp),%esi
14099efc5:	8b 6c 24 40          	mov    0x40(%rsp),%ebp
14099efc9:	41 81 0f 00 00 20 00 	orl    $0x200000,(%r15)
14099efd0:	41 ff c6             	inc    %r14d
14099efd3:	49 ff c4             	inc    %r12
14099efd6:	41 81 fe ff 00 00 00 	cmp    $0xff,%r14d
14099efdd:	0f 8e 04 ff ff ff    	jle    0x14099eee7
14099efe3:	48 8d 84 24 80 0c 00 	lea    0xc80(%rsp),%rax
14099efea:	00
14099efeb:	48 03 c3             	add    %rbx,%rax
14099efee:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14099eff3:	80 38 00             	cmpb   $0x0,(%rax)
14099eff6:	74 0a                	je     0x14099f002
14099eff8:	b9 ee 03 00 00       	mov    $0x3ee,%ecx
14099effd:	e8 3e 5e ff ff       	call   0x140994e40
14099f002:	4c 8d 34 9d 00 00 00 	lea    0x0(,%rbx,4),%r14
14099f009:	00
14099f00a:	33 c9                	xor    %ecx,%ecx
14099f00c:	4a 8d 1c 37          	lea    (%rdi,%r14,1),%rbx
14099f010:	48 8b d3             	mov    %rbx,%rdx
14099f013:	8b 02                	mov    (%rdx),%eax
14099f015:	48 8d 92 00 04 00 00 	lea    0x400(%rdx),%rdx
14099f01c:	0f ba f0 15          	btr    $0x15,%eax
14099f020:	89 84 0c 80 04 00 00 	mov    %eax,0x480(%rsp,%rcx,1)
14099f027:	8b 82 04 fc ff ff    	mov    -0x3fc(%rdx),%eax
14099f02d:	0f ba f0 15          	btr    $0x15,%eax
14099f031:	ff c8                	dec    %eax
14099f033:	89 84 0c 80 08 00 00 	mov    %eax,0x880(%rsp,%rcx,1)
14099f03a:	48 83 c1 04          	add    $0x4,%rcx
14099f03e:	48 81 f9 fc 03 00 00 	cmp    $0x3fc,%rcx
14099f045:	7e cc                	jle    0x14099f013
14099f047:	4c 8b 7c 24 58       	mov    0x58(%rsp),%r15
14099f04c:	8b c6                	mov    %esi,%eax
14099f04e:	44 8b 6c 24 48       	mov    0x48(%rsp),%r13d
14099f053:	4c 8b 5c 24 50       	mov    0x50(%rsp),%r11
14099f058:	c1 e0 08             	shl    $0x8,%eax
14099f05b:	48 98                	cltq
14099f05d:	44 8b 04 87          	mov    (%rdi,%rax,4),%r8d
14099f061:	4c 8d 24 87          	lea    (%rdi,%rax,4),%r12
14099f065:	41 0f ba f0 15       	btr    $0x15,%r8d
14099f06a:	46 3b 84 34 80 04 00 	cmp    0x480(%rsp,%r14,1),%r8d
14099f071:	00
14099f072:	7d 57                	jge    0x14099f0cb
14099f074:	49 63 c0             	movslq %r8d,%rax
14099f077:	4d 8d 0c 87          	lea    (%r15,%rax,4),%r9
14099f07b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14099f080:	41 8b 01             	mov    (%r9),%eax
14099f083:	8d 50 ff             	lea    -0x1(%rax),%edx
14099f086:	85 d2                	test   %edx,%edx
14099f088:	79 06                	jns    0x14099f090
14099f08a:	41 8d 55 ff          	lea    -0x1(%r13),%edx
14099f08e:	03 d0                	add    %eax,%edx
14099f090:	48 63 c2             	movslq %edx,%rax
14099f093:	46 0f b6 14 18       	movzbl (%rax,%r11,1),%r10d
14099f098:	42 80 bc 14 80 0c 00 	cmpb   $0x0,0xc80(%rsp,%r10,1)
14099f09f:	00 00
14099f0a1:	75 17                	jne    0x14099f0ba
14099f0a3:	4a 63 8c 94 80 04 00 	movslq 0x480(%rsp,%r10,4),%rcx
14099f0aa:	00
14099f0ab:	8d 41 01             	lea    0x1(%rcx),%eax
14099f0ae:	41 89 14 8f          	mov    %edx,(%r15,%rcx,4)
14099f0b2:	42 89 84 94 80 04 00 	mov    %eax,0x480(%rsp,%r10,4)
14099f0b9:	00
14099f0ba:	41 ff c0             	inc    %r8d
14099f0bd:	49 83 c1 04          	add    $0x4,%r9
14099f0c1:	46 3b 84 34 80 04 00 	cmp    0x480(%rsp,%r14,1),%r8d
14099f0c8:	00
14099f0c9:	7c b5                	jl     0x14099f080
14099f0cb:	42 8b 8c 34 80 08 00 	mov    0x880(%rsp,%r14,1),%ecx
14099f0d2:	00
14099f0d3:	c1 e6 08             	shl    $0x8,%esi
14099f0d6:	48 63 c6             	movslq %esi,%rax
14099f0d9:	48 8d 34 87          	lea    (%rdi,%rax,4),%rsi
14099f0dd:	44 8b 86 00 04 00 00 	mov    0x400(%rsi),%r8d
14099f0e4:	41 0f ba f0 15       	btr    $0x15,%r8d
14099f0e9:	41 ff c8             	dec    %r8d
14099f0ec:	44 3b c1             	cmp    %ecx,%r8d
14099f0ef:	7e 5d                	jle    0x14099f14e
14099f0f1:	49 63 c0             	movslq %r8d,%rax
14099f0f4:	4d 8d 0c 87          	lea    (%r15,%rax,4),%r9
14099f0f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14099f0ff:	00
14099f100:	41 8b 01             	mov    (%r9),%eax
14099f103:	8d 50 ff             	lea    -0x1(%rax),%edx
14099f106:	85 d2                	test   %edx,%edx
14099f108:	79 06                	jns    0x14099f110
14099f10a:	41 8d 55 ff          	lea    -0x1(%r13),%edx
14099f10e:	03 d0                	add    %eax,%edx
14099f110:	48 63 c2             	movslq %edx,%rax
14099f113:	46 0f b6 14 18       	movzbl (%rax,%r11,1),%r10d
14099f118:	42 80 bc 14 80 0c 00 	cmpb   $0x0,0xc80(%rsp,%r10,1)
14099f11f:	00 00
14099f121:	75 17                	jne    0x14099f13a
14099f123:	4a 63 8c 94 80 08 00 	movslq 0x880(%rsp,%r10,4),%rcx
14099f12a:	00
14099f12b:	8d 41 ff             	lea    -0x1(%rcx),%eax
14099f12e:	41 89 14 8f          	mov    %edx,(%r15,%rcx,4)
14099f132:	42 89 84 94 80 08 00 	mov    %eax,0x880(%rsp,%r10,4)
14099f139:	00
14099f13a:	42 8b 8c 34 80 08 00 	mov    0x880(%rsp,%r14,1),%ecx
14099f141:	00
14099f142:	41 ff c8             	dec    %r8d
14099f145:	49 83 e9 04          	sub    $0x4,%r9
14099f149:	44 3b c1             	cmp    %ecx,%r8d
14099f14c:	7f b2                	jg     0x14099f100
14099f14e:	42 8b 94 34 80 04 00 	mov    0x480(%rsp,%r14,1),%edx
14099f155:	00
14099f156:	8d 42 ff             	lea    -0x1(%rdx),%eax
14099f159:	3b c1                	cmp    %ecx,%eax
14099f15b:	74 16                	je     0x14099f173
14099f15d:	85 d2                	test   %edx,%edx
14099f15f:	75 08                	jne    0x14099f169
14099f161:	41 8d 45 ff          	lea    -0x1(%r13),%eax
14099f165:	3b c8                	cmp    %eax,%ecx
14099f167:	74 0a                	je     0x14099f173
14099f169:	b9 ef 03 00 00       	mov    $0x3ef,%ecx
14099f16e:	e8 cd 5c ff ff       	call   0x140994e40
14099f173:	b8 80 00 00 00       	mov    $0x80,%eax
14099f178:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14099f17f:	00
14099f180:	81 0b 00 00 20 00    	orl    $0x200000,(%rbx)
14099f186:	81 8b 00 04 00 00 00 	orl    $0x200000,0x400(%rbx)
14099f18d:	00 20 00
14099f190:	48 8d 9b 00 08 00 00 	lea    0x800(%rbx),%rbx
14099f197:	48 83 e8 01          	sub    $0x1,%rax
14099f19b:	75 e3                	jne    0x14099f180
14099f19d:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14099f1a2:	4c 8b 74 24 70       	mov    0x70(%rsp),%r14
14099f1a7:	c6 00 01             	movb   $0x1,(%rax)
14099f1aa:	49 81 fe ff 00 00 00 	cmp    $0xff,%r14
14099f1b1:	0f 8d a4 00 00 00    	jge    0x14099f25b
14099f1b7:	45 8b 04 24          	mov    (%r12),%r8d
14099f1bb:	45 33 e4             	xor    %r12d,%r12d
14099f1be:	8b 96 00 04 00 00    	mov    0x400(%rsi),%edx
14099f1c4:	41 0f ba f0 15       	btr    $0x15,%r8d
14099f1c9:	0f ba f2 15          	btr    $0x15,%edx
14099f1cd:	45 8b d4             	mov    %r12d,%r10d
14099f1d0:	41 2b d0             	sub    %r8d,%edx
14099f1d3:	81 fa fe ff 00 00    	cmp    $0xfffe,%edx
14099f1d9:	7e 16                	jle    0x14099f1f1
14099f1db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14099f1e0:	41 ff c2             	inc    %r10d
14099f1e3:	8b c2                	mov    %edx,%eax
14099f1e5:	41 8b ca             	mov    %r10d,%ecx
14099f1e8:	d3 f8                	sar    %cl,%eax
14099f1ea:	3d fe ff 00 00       	cmp    $0xfffe,%eax
14099f1ef:	7f ef                	jg     0x14099f1e0
14099f1f1:	8d 5a ff             	lea    -0x1(%rdx),%ebx
14099f1f4:	4c 63 cb             	movslq %ebx,%r9
14099f1f7:	85 db                	test   %ebx,%ebx
14099f1f9:	78 47                	js     0x14099f242
14099f1fb:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14099f200:	49 63 c8             	movslq %r8d,%rcx
14099f203:	49 03 c9             	add    %r9,%rcx
14099f206:	4d 8d 1c 8f          	lea    (%r15,%rcx,4),%r11
14099f20a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14099f210:	49 63 13             	movslq (%r11),%rdx
14099f213:	45 8b c1             	mov    %r9d,%r8d
14099f216:	41 8b ca             	mov    %r10d,%ecx
14099f219:	41 d3 f8             	sar    %cl,%r8d
14099f21c:	66 44 89 44 55 00    	mov    %r8w,0x0(%rbp,%rdx,2)
14099f222:	83 fa 22             	cmp    $0x22,%edx
14099f225:	7d 0d                	jge    0x14099f234
14099f227:	42 8d 04 2a          	lea    (%rdx,%r13,1),%eax
14099f22b:	48 63 d0             	movslq %eax,%rdx
14099f22e:	66 44 89 44 55 00    	mov    %r8w,0x0(%rbp,%rdx,2)
14099f234:	49 83 eb 04          	sub    $0x4,%r11
14099f238:	41 83 e9 01          	sub    $0x1,%r9d
14099f23c:	79 d2                	jns    0x14099f210
14099f23e:	8b 6c 24 40          	mov    0x40(%rsp),%ebp
14099f242:	41 8b ca             	mov    %r10d,%ecx
14099f245:	d3 fb                	sar    %cl,%ebx
14099f247:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
14099f24d:	7e 0f                	jle    0x14099f25e
14099f24f:	b9 ea 03 00 00       	mov    $0x3ea,%ecx
14099f254:	e8 e7 5b ff ff       	call   0x140994e40
14099f259:	eb 03                	jmp    0x14099f25e
14099f25b:	45 33 e4             	xor    %r12d,%r12d
14099f25e:	49 ff c6             	inc    %r14
14099f261:	4c 89 74 24 70       	mov    %r14,0x70(%rsp)
14099f266:	49 81 fe ff 00 00 00 	cmp    $0xff,%r14
14099f26d:	0f 8e 5d fc ff ff    	jle    0x14099eed0
14099f273:	83 bc 24 08 0e 00 00 	cmpl   $0x4,0xe08(%rsp)
14099f27a:	04
14099f27b:	7c 28                	jl     0x14099f2a5
14099f27d:	41 8b dd             	mov    %r13d,%ebx
14099f280:	b9 02 00 00 00       	mov    $0x2,%ecx
14099f285:	2b dd                	sub    %ebp,%ebx
14099f287:	e8 04 3a 49 00       	call   0x140e32c90
14099f28c:	48 8b c8             	mov    %rax,%rcx
14099f28f:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
14099f293:	44 8b cd             	mov    %ebp,%r9d
14099f296:	48 8d 15 a3 78 6c 00 	lea    0x6c78a3(%rip),%rdx        # 0x141066b40
14099f29d:	45 8b c5             	mov    %r13d,%r8d
14099f2a0:	e8 cb 08 9e ff       	call   0x14037fb70
14099f2a5:	48 8b 8c 24 80 0d 00 	mov    0xd80(%rsp),%rcx
14099f2ac:	00
14099f2ad:	48 33 cc             	xor    %rsp,%rcx
14099f2b0:	e8 4b c2 47 00       	call   0x140e1b500
14099f2b5:	48 81 c4 98 0d 00 00 	add    $0xd98,%rsp
14099f2bc:	41 5f                	pop    %r15
14099f2be:	41 5e                	pop    %r14
14099f2c0:	41 5d                	pop    %r13
14099f2c2:	41 5c                	pop    %r12
14099f2c4:	5f                   	pop    %rdi
14099f2c5:	5e                   	pop    %rsi
14099f2c6:	5d                   	pop    %rbp
14099f2c7:	5b                   	pop    %rbx
14099f2c8:	c3                   	ret
14099f2c9:	e8 86 c5 47 00       	call   0x140e1b854
14099f2ce:	cc                   	int3
14099f2cf:	cc                   	int3
14099f2d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14099f2d5:	4c 63 5c 24 28       	movslq 0x28(%rsp),%r11
14099f2da:	45 33 d2             	xor    %r10d,%r10d
14099f2dd:	48 8b d9             	mov    %rcx,%rbx
14099f2e0:	45 3b c1             	cmp    %r9d,%r8d
14099f2e3:	7f 2e                	jg     0x14099f313
14099f2e5:	33 c0                	xor    %eax,%eax
14099f2e7:	4d 85 db             	test   %r11,%r11
14099f2ea:	7e 1c                	jle    0x14099f308
14099f2ec:	0f 1f 40 00          	nopl   0x0(%rax)
14099f2f0:	0f b6 0c 10          	movzbl (%rax,%rdx,1),%ecx
14099f2f4:	41 3b c8             	cmp    %r8d,%ecx
14099f2f7:	75 07                	jne    0x14099f300
14099f2f9:	44 89 14 83          	mov    %r10d,(%rbx,%rax,4)
14099f2fd:	41 ff c2             	inc    %r10d
14099f300:	48 ff c0             	inc    %rax
14099f303:	49 3b c3             	cmp    %r11,%rax
14099f306:	7c e8                	jl     0x14099f2f0
14099f308:	45 03 d2             	add    %r10d,%r10d
14099f30b:	41 ff c0             	inc    %r8d
14099f30e:	45 3b c1             	cmp    %r9d,%r8d
14099f311:	7e d2                	jle    0x14099f2e5
14099f313:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14099f318:	c3                   	ret
14099f319:	cc                   	int3
14099f31a:	cc                   	int3
14099f31b:	cc                   	int3
14099f31c:	cc                   	int3
14099f31d:	cc                   	int3
14099f31e:	cc                   	int3
14099f31f:	cc                   	int3
14099f320:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14099f325:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14099f32a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14099f32f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14099f334:	41 56                	push   %r14
14099f336:	41 57                	push   %r15
14099f338:	4c 63 7c 24 38       	movslq 0x38(%rsp),%r15
14099f33d:	45 33 db             	xor    %r11d,%r11d
14099f340:	48 63 74 24 40       	movslq 0x40(%rsp),%rsi
14099f345:	49 8b e9             	mov    %r9,%rbp
14099f348:	48 63 5c 24 48       	movslq 0x48(%rsp),%rbx
14099f34d:	48 8b fa             	mov    %rdx,%rdi
14099f350:	4c 8b f1             	mov    %rcx,%r14
14099f353:	45 8b d7             	mov    %r15d,%r10d
14099f356:	44 3b fe             	cmp    %esi,%r15d
14099f359:	7f 35                	jg     0x14099f390
14099f35b:	45 8b cb             	mov    %r11d,%r9d
14099f35e:	66 90                	xchg   %ax,%ax
14099f360:	41 8b c3             	mov    %r11d,%eax
14099f363:	85 db                	test   %ebx,%ebx
14099f365:	7e 21                	jle    0x14099f388
14099f367:	48 8b d5             	mov    %rbp,%rdx
14099f36a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14099f370:	0f b6 0a             	movzbl (%rdx),%ecx
14099f373:	41 3b ca             	cmp    %r10d,%ecx
14099f376:	75 07                	jne    0x14099f37f
14099f378:	43 89 04 88          	mov    %eax,(%r8,%r9,4)
14099f37c:	49 ff c1             	inc    %r9
14099f37f:	ff c0                	inc    %eax
14099f381:	48 ff c2             	inc    %rdx
14099f384:	3b c3                	cmp    %ebx,%eax
14099f386:	7c e8                	jl     0x14099f370
14099f388:	41 ff c2             	inc    %r10d
14099f38b:	44 3b d6             	cmp    %esi,%r10d
14099f38e:	7e d0                	jle    0x14099f360
14099f390:	0f 57 c0             	xorps  %xmm0,%xmm0
14099f393:	33 c0                	xor    %eax,%eax
14099f395:	0f 11 07             	movups %xmm0,(%rdi)
14099f398:	0f 11 47 10          	movups %xmm0,0x10(%rdi)
14099f39c:	0f 11 47 20          	movups %xmm0,0x20(%rdi)
14099f3a0:	0f 11 47 30          	movups %xmm0,0x30(%rdi)
14099f3a4:	0f 11 47 40          	movups %xmm0,0x40(%rdi)
14099f3a8:	48 89 47 50          	mov    %rax,0x50(%rdi)
14099f3ac:	89 47 58             	mov    %eax,0x58(%rdi)
14099f3af:	85 db                	test   %ebx,%ebx
14099f3b1:	7e 1d                	jle    0x14099f3d0