14088fee0:	4c 3b c0             	cmp    %rax,%r8
14088fee3:	76 29                	jbe    0x14088ff0e
14088fee5:	48 8b d1             	mov    %rcx,%rdx
14088fee8:	49 8b c9             	mov    %r9,%rcx
14088feeb:	e8 20 e5 00 00       	call   0x14089e410
14088fef0:	48 8b c8             	mov    %rax,%rcx
14088fef3:	48 85 c0             	test   %rax,%rax
14088fef6:	75 11                	jne    0x14088ff09
14088fef8:	4c 89 66 30          	mov    %r12,0x30(%rsi)
14088fefc:	41 8b ff             	mov    %r15d,%edi
14088feff:	4c 8b 64 24 68       	mov    0x68(%rsp),%r12
14088ff04:	e9 45 02 00 00       	jmp    0x14089014e
14088ff09:	0f b6 54 24 60       	movzbl 0x60(%rsp),%edx
14088ff0e:	49 c1 e6 05          	shl    $0x5,%r14
14088ff12:	0f 57 c0             	xorps  %xmm0,%xmm0
14088ff15:	41 0f 11 04 0e       	movups %xmm0,(%r14,%rcx,1)
14088ff1a:	41 0f 11 44 0e 10    	movups %xmm0,0x10(%r14,%rcx,1)
14088ff20:	ff 46 38             	incl   0x38(%rsi)
14088ff23:	48 89 4e 30          	mov    %rcx,0x30(%rsi)
14088ff27:	85 ff                	test   %edi,%edi
14088ff29:	78 61                	js     0x14088ff8c
14088ff2b:	4c 8b f7             	mov    %rdi,%r14
14088ff2e:	49 c1 e6 05          	shl    $0x5,%r14
14088ff32:	4c 03 f1             	add    %rcx,%r14
14088ff35:	49 89 1e             	mov    %rbx,(%r14)
14088ff38:	41 ff 45 38          	incl   0x38(%r13)
14088ff3c:	41 8b 45 38          	mov    0x38(%r13),%eax
14088ff40:	41 89 46 10          	mov    %eax,0x10(%r14)
14088ff44:	48 8b 43 20          	mov    0x20(%rbx),%rax
14088ff48:	48 85 c0             	test   %rax,%rax
14088ff4b:	74 02                	je     0x14088ff4f
14088ff4d:	8b 28                	mov    (%rax),%ebp
14088ff4f:	49 8b 4d 00          	mov    0x0(%r13),%rcx
14088ff53:	44 0f b6 ca          	movzbl %dl,%r9d
14088ff57:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14088ff5b:	44 8b c5             	mov    %ebp,%r8d
14088ff5e:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
14088ff63:	e8 c8 07 05 00       	call   0x1408e0730
14088ff68:	49 89 46 08          	mov    %rax,0x8(%r14)
14088ff6c:	f6 43 04 04          	testb  $0x4,0x4(%rbx)
14088ff70:	74 16                	je     0x14088ff88
14088ff72:	41 8b 45 34          	mov    0x34(%r13),%eax
14088ff76:	4c 8b 64 24 68       	mov    0x68(%rsp),%r12
14088ff7b:	41 89 46 14          	mov    %eax,0x14(%r14)
14088ff7f:	41 ff 45 34          	incl   0x34(%r13)
14088ff83:	e9 c6 01 00 00       	jmp    0x14089014e
14088ff88:	45 89 7e 14          	mov    %r15d,0x14(%r14)
14088ff8c:	4c 8b 64 24 68       	mov    0x68(%rsp),%r12
14088ff91:	e9 b8 01 00 00       	jmp    0x14089014e
14088ff96:	4d 85 c9             	test   %r9,%r9
14088ff99:	0f 84 b7 01 00 00    	je     0x140890156
14088ff9f:	41 8b 11             	mov    (%r9),%edx
14088ffa2:	33 ed                	xor    %ebp,%ebp
14088ffa4:	8b cd                	mov    %ebp,%ecx
14088ffa6:	85 d2                	test   %edx,%edx
14088ffa8:	0f 8e a8 01 00 00    	jle    0x140890156
14088ffae:	44 8b 43 2c          	mov    0x2c(%rbx),%r8d
14088ffb2:	49 8d 41 4c          	lea    0x4c(%r9),%rax
14088ffb6:	44 3b 00             	cmp    (%rax),%r8d
14088ffb9:	74 0f                	je     0x14088ffca
14088ffbb:	ff c1                	inc    %ecx
14088ffbd:	48 83 c0 68          	add    $0x68,%rax
14088ffc1:	3b ca                	cmp    %edx,%ecx
14088ffc3:	7c f1                	jl     0x14088ffb6
14088ffc5:	e9 8c 01 00 00       	jmp    0x140890156
14088ffca:	44 8b 4e 28          	mov    0x28(%rsi),%r9d
14088ffce:	8b fd                	mov    %ebp,%edi
14088ffd0:	48 8b 56 20          	mov    0x20(%rsi),%rdx
14088ffd4:	45 85 c9             	test   %r9d,%r9d
14088ffd7:	7e 2c                	jle    0x140890005
14088ffd9:	48 8d 4a 18          	lea    0x18(%rdx),%rcx
14088ffdd:	0f 1f 00             	nopl   (%rax)
14088ffe0:	44 39 41 f8          	cmp    %r8d,-0x8(%rcx)
14088ffe4:	75 09                	jne    0x14088ffef
14088ffe6:	0f b7 43 30          	movzwl 0x30(%rbx),%eax
14088ffea:	66 39 01             	cmp    %ax,(%rcx)
14088ffed:	74 0d                	je     0x14088fffc
14088ffef:	ff c7                	inc    %edi
14088fff1:	48 83 c1 20          	add    $0x20,%rcx
14088fff5:	41 3b f9             	cmp    %r9d,%edi
14088fff8:	7c e6                	jl     0x14088ffe0
14088fffa:	eb 09                	jmp    0x140890005
14088fffc:	41 3b f9             	cmp    %r9d,%edi
14088ffff:	0f 8c 46 01 00 00    	jl     0x14089014b
140890005:	48 63 7e 28          	movslq 0x28(%rsi),%rdi
140890009:	4c 8b fa             	mov    %rdx,%r15
14089000c:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140890010:	4c 8b f7             	mov    %rdi,%r14
140890013:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140890017:	48 85 c7             	test   %rax,%rdi
14089001a:	75 4c                	jne    0x140890068
14089001c:	85 ff                	test   %edi,%edi
14089001e:	75 08                	jne    0x140890028
140890020:	41 b8 20 00 00 00    	mov    $0x20,%r8d
140890026:	eb 07                	jmp    0x14089002f
140890028:	4d 8b c6             	mov    %r14,%r8
14089002b:	49 c1 e0 06          	shl    $0x6,%r8
14089002f:	48 85 d2             	test   %rdx,%rdx
140890032:	75 0d                	jne    0x140890041
140890034:	49 8b d0             	mov    %r8,%rdx
140890037:	e8 c4 65 04 00       	call   0x1408d6600
14089003c:	e9 da 00 00 00       	jmp    0x14089011b
140890041:	48 3b 91 f0 01 00 00 	cmp    0x1f0(%rcx),%rdx
140890048:	0f 83 c8 00 00 00    	jae    0x140890116
14089004e:	48 3b 91 e0 01 00 00 	cmp    0x1e0(%rcx),%rdx
140890055:	0f 82 a2 00 00 00    	jb     0x1408900fd
14089005b:	49 81 f8 80 00 00 00 	cmp    $0x80,%r8
140890062:	0f 87 ae 00 00 00    	ja     0x140890116
140890068:	49 c1 e6 05          	shl    $0x5,%r14
14089006c:	0f 57 c0             	xorps  %xmm0,%xmm0
14089006f:	41 0f 11 04 16       	movups %xmm0,(%r14,%rdx,1)
140890074:	41 0f 11 44 16 10    	movups %xmm0,0x10(%r14,%rdx,1)
14089007a:	ff 46 28             	incl   0x28(%rsi)
14089007d:	48 89 56 20          	mov    %rdx,0x20(%rsi)
140890081:	85 ff                	test   %edi,%edi
140890083:	0f 88 c2 00 00 00    	js     0x14089014b
140890089:	48 8b 43 40          	mov    0x40(%rbx),%rax
14089008d:	4c 8b c7             	mov    %rdi,%r8
140890090:	49 c1 e0 05          	shl    $0x5,%r8
140890094:	4c 03 c2             	add    %rdx,%r8
140890097:	49 89 00             	mov    %rax,(%r8)
14089009a:	8b 43 2c             	mov    0x2c(%rbx),%eax
14089009d:	41 89 40 10          	mov    %eax,0x10(%r8)
1408900a1:	0f b7 43 30          	movzwl 0x30(%rbx),%eax
1408900a5:	66 41 89 40 18       	mov    %ax,0x18(%r8)
1408900aa:	41 ff 45 38          	incl   0x38(%r13)
1408900ae:	41 8b 45 38          	mov    0x38(%r13),%eax
1408900b2:	41 89 40 14          	mov    %eax,0x14(%r8)
1408900b6:	66 41 c7 40 1a ff ff 	movw   $0xffff,0x1a(%r8)
1408900bd:	49 89 58 08          	mov    %rbx,0x8(%r8)
1408900c1:	4c 8b 4e 18          	mov    0x18(%rsi),%r9
1408900c5:	4d 85 c9             	test   %r9,%r9
1408900c8:	74 6d                	je     0x140890137
1408900ca:	49 8d 51 08          	lea    0x8(%r9),%rdx
1408900ce:	45 8b 09             	mov    (%r9),%r9d
1408900d1:	45 85 c9             	test   %r9d,%r9d
1408900d4:	7e 61                	jle    0x140890137
1408900d6:	48 8b 0a             	mov    (%rdx),%rcx
1408900d9:	80 39 a7             	cmpb   $0xa7,(%rcx)
1408900dc:	75 12                	jne    0x1408900f0
1408900de:	8b 43 2c             	mov    0x2c(%rbx),%eax
1408900e1:	39 41 2c             	cmp    %eax,0x2c(%rcx)
1408900e4:	75 0a                	jne    0x1408900f0
1408900e6:	0f b7 43 30          	movzwl 0x30(%rbx),%eax
1408900ea:	66 39 41 30          	cmp    %ax,0x30(%rcx)
1408900ee:	74 42                	je     0x140890132
1408900f0:	ff c5                	inc    %ebp
1408900f2:	48 83 c2 20          	add    $0x20,%rdx
1408900f6:	41 3b e9             	cmp    %r9d,%ebp
1408900f9:	7c db                	jl     0x1408900d6
1408900fb:	eb 3a                	jmp    0x140890137
1408900fd:	48 3b 91 e8 01 00 00 	cmp    0x1e8(%rcx),%rdx
140890104:	72 10                	jb     0x140890116
140890106:	0f b7 81 a6 01 00 00 	movzwl 0x1a6(%rcx),%eax
14089010d:	4c 3b c0             	cmp    %rax,%r8
140890110:	0f 86 52 ff ff ff    	jbe    0x140890068
140890116:	e8 f5 e2 00 00       	call   0x14089e410
14089011b:	48 8b d0             	mov    %rax,%rdx
14089011e:	48 85 c0             	test   %rax,%rax
140890121:	0f 85 41 ff ff ff    	jne    0x140890068
140890127:	4c 89 7e 20          	mov    %r15,0x20(%rsi)
14089012b:	bf ff ff ff ff       	mov    $0xffffffff,%edi
140890130:	eb 19                	jmp    0x14089014b
140890132:	66 41 89 68 1a       	mov    %bp,0x1a(%r8)
140890137:	66 41 83 78 1a 00    	cmpw   $0x0,0x1a(%r8)
14089013d:	7d 0c                	jge    0x14089014b
14089013f:	0f b7 46 0c          	movzwl 0xc(%rsi),%eax
140890143:	66 41 89 40 1a       	mov    %ax,0x1a(%r8)
140890148:	ff 46 0c             	incl   0xc(%rsi)
14089014b:	c6 03 a9             	movb   $0xa9,(%rbx)
14089014e:	66 89 7b 32          	mov    %di,0x32(%rbx)
140890152:	48 89 73 38          	mov    %rsi,0x38(%rbx)
140890156:	b8 01 00 00 00       	mov    $0x1,%eax
14089015b:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140890160:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140890165:	48 83 c4 30          	add    $0x30,%rsp
140890169:	41 5f                	pop    %r15
14089016b:	41 5e                	pop    %r14
14089016d:	41 5d                	pop    %r13
14089016f:	5f                   	pop    %rdi
140890170:	5e                   	pop    %rsi
140890171:	c3                   	ret
140890172:	cc                   	int3
140890173:	cc                   	int3
140890174:	cc                   	int3
140890175:	cc                   	int3
140890176:	cc                   	int3
140890177:	cc                   	int3
140890178:	cc                   	int3
140890179:	cc                   	int3
14089017a:	cc                   	int3
14089017b:	cc                   	int3
14089017c:	cc                   	int3
14089017d:	cc                   	int3
14089017e:	cc                   	int3
14089017f:	cc                   	int3
140890180:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140890185:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14089018a:	56                   	push   %rsi
14089018b:	57                   	push   %rdi
14089018c:	41 55                	push   %r13
14089018e:	41 56                	push   %r14
140890190:	41 57                	push   %r15
140890192:	48 83 ec 30          	sub    $0x30,%rsp
140890196:	48 8b 01             	mov    (%rcx),%rax
140890199:	48 8b d9             	mov    %rcx,%rbx
14089019c:	48 63 f2             	movslq %edx,%rsi
14089019f:	48 8b f9             	mov    %rcx,%rdi
1408901a2:	4c 8b ce             	mov    %rsi,%r9
1408901a5:	49 c1 e1 05          	shl    $0x5,%r9
1408901a9:	4c 8b 40 20          	mov    0x20(%rax),%r8
1408901ad:	48 8b 81 a0 00 00 00 	mov    0xa0(%rcx),%rax
1408901b4:	48 85 c0             	test   %rax,%rax
1408901b7:	4f 8b 6c 01 18       	mov    0x18(%r9,%r8,1),%r13
1408901bc:	48 0f 45 d8          	cmovne %rax,%rbx
1408901c0:	8b 43 74             	mov    0x74(%rbx),%eax
1408901c3:	0f a3 f0             	bt     %esi,%eax
1408901c6:	72 13                	jb     0x1408901db
1408901c8:	0f ab f0             	bts    %esi,%eax
1408901cb:	89 43 74             	mov    %eax,0x74(%rbx)
1408901ce:	83 fe 01             	cmp    $0x1,%esi
1408901d1:	75 08                	jne    0x1408901db
1408901d3:	48 8b cb             	mov    %rbx,%rcx
1408901d6:	e8 b5 e6 05 00       	call   0x1408ee890
1408901db:	8b 43 70             	mov    0x70(%rbx),%eax
1408901de:	45 33 c9             	xor    %r9d,%r9d
1408901e1:	0f ab f0             	bts    %esi,%eax
1408901e4:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
1408901eb:	00 00
1408901ed:	89 43 70             	mov    %eax,0x70(%rbx)
1408901f0:	8b d6                	mov    %esi,%edx
1408901f2:	8b 6f 34             	mov    0x34(%rdi),%ebp
1408901f5:	48 8b cf             	mov    %rdi,%rcx
1408901f8:	44 8b c5             	mov    %ebp,%r8d
1408901fb:	8d 45 03             	lea    0x3(%rbp),%eax
1408901fe:	89 47 34             	mov    %eax,0x34(%rdi)
140890201:	e8 9a 72 02 00       	call   0x1408b74a0
140890206:	44 8b 77 38          	mov    0x38(%rdi),%r14d
14089020a:	49 8b 5d 10          	mov    0x10(%r13),%rbx
14089020e:	41 ff c6             	inc    %r14d
140890211:	44 8b 7f 34          	mov    0x34(%rdi),%r15d
140890215:	48 85 db             	test   %rbx,%rbx
140890218:	74 2a                	je     0x140890244
14089021a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140890220:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140890224:	44 8b cd             	mov    %ebp,%r9d
140890227:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
14089022c:	45 33 c0             	xor    %r8d,%r8d
14089022f:	48 8b cf             	mov    %rdi,%rcx
140890232:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
140890237:	e8 34 00 00 00       	call   0x140890270
14089023c:	48 8b 1b             	mov    (%rbx),%rbx
14089023f:	48 85 db             	test   %rbx,%rbx
140890242:	75 dc                	jne    0x140890220
140890244:	8b d6                	mov    %esi,%edx
140890246:	48 8b cf             	mov    %rdi,%rcx
140890249:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14089024e:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140890253:	48 83 c4 30          	add    $0x30,%rsp
140890257:	41 5f                	pop    %r15
140890259:	41 5e                	pop    %r14
14089025b:	41 5d                	pop    %r13
14089025d:	5f                   	pop    %rdi
14089025e:	5e                   	pop    %rsi
14089025f:	e9 4c 1e 02 00       	jmp    0x1408b20b0
140890264:	cc                   	int3
140890265:	cc                   	int3
140890266:	cc                   	int3
140890267:	cc                   	int3
140890268:	cc                   	int3
140890269:	cc                   	int3
14089026a:	cc                   	int3
14089026b:	cc                   	int3
14089026c:	cc                   	int3
14089026d:	cc                   	int3
14089026e:	cc                   	int3
14089026f:	cc                   	int3
140890270:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140890275:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14089027a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14089027f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140890284:	53                   	push   %rbx
140890285:	55                   	push   %rbp
140890286:	57                   	push   %rdi
140890287:	41 54                	push   %r12
140890289:	41 56                	push   %r14
14089028b:	41 57                	push   %r15
14089028d:	48 81 ec c8 00 00 00 	sub    $0xc8,%rsp
140890294:	44 8b a4 24 20 01 00 	mov    0x120(%rsp),%r12d
14089029b:	00
14089029c:	48 8b fa             	mov    %rdx,%rdi
14089029f:	8b 41 38             	mov    0x38(%rcx),%eax
1408902a2:	4c 8b f9             	mov    %rcx,%r15
1408902a5:	48 8b 59 10          	mov    0x10(%rcx),%rbx
1408902a9:	4c 8b 31             	mov    (%rcx),%r14
1408902ac:	44 89 64 24 5c       	mov    %r12d,0x5c(%rsp)
1408902b1:	41 ff c4             	inc    %r12d
1408902b4:	44 89 64 24 54       	mov    %r12d,0x54(%rsp)
1408902b9:	41 ff c4             	inc    %r12d
1408902bc:	44 89 64 24 44       	mov    %r12d,0x44(%rsp)
1408902c1:	41 ff c4             	inc    %r12d
1408902c4:	44 89 64 24 64       	mov    %r12d,0x64(%rsp)
1408902c9:	41 ff c4             	inc    %r12d
1408902cc:	41 8b ec             	mov    %r12d,%ebp
1408902cf:	44 89 64 24 40       	mov    %r12d,0x40(%rsp)
1408902d4:	41 ff c4             	inc    %r12d
1408902d7:	4c 89 b4 24 98 00 00 	mov    %r14,0x98(%rsp)
1408902de:	00
1408902df:	44 89 64 24 68       	mov    %r12d,0x68(%rsp)
1408902e4:	41 ff c4             	inc    %r12d
1408902e7:	44 89 64 24 58       	mov    %r12d,0x58(%rsp)
1408902ec:	41 ff c4             	inc    %r12d
1408902ef:	44 89 64 24 78       	mov    %r12d,0x78(%rsp)
1408902f4:	41 ff c4             	inc    %r12d
1408902f7:	44 89 64 24 74       	mov    %r12d,0x74(%rsp)
1408902fc:	41 ff c4             	inc    %r12d
1408902ff:	41 3b c4             	cmp    %r12d,%eax
140890302:	c6 44 24 60 01       	movb   $0x1,0x60(%rsp)
140890307:	44 89 a4 24 20 01 00 	mov    %r12d,0x120(%rsp)
14089030e:	00
14089030f:	41 0f 4e c4          	cmovle %r12d,%eax
140890313:	89 41 38             	mov    %eax,0x38(%rcx)
140890316:	48 85 db             	test   %rbx,%rbx
140890319:	74 07                	je     0x140890322
14089031b:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
140890320:	eb 2b                	jmp    0x14089034d
140890322:	48 83 b9 a0 00 00 00 	cmpq   $0x0,0xa0(%rcx)
140890329:	00
14089032a:	75 0b                	jne    0x140890337
14089032c:	41 f6 46 60 08       	testb  $0x8,0x60(%r14)
140890331:	75 04                	jne    0x140890337
140890333:	c6 41 23 01          	movb   $0x1,0x23(%rcx)
140890337:	e8 84 75 07 00       	call   0x1409078c0
14089033c:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140890341:	48 8b d8             	mov    %rax,%rbx
140890344:	48 85 c0             	test   %rax,%rax
140890347:	0f 84 85 10 00 00    	je     0x1408913d2
14089034d:	48 85 ff             	test   %rdi,%rdi
140890350:	0f 84 7c 10 00 00    	je     0x1408913d2
140890356:	80 7f 3f 00          	cmpb   $0x0,0x3f(%rdi)
14089035a:	0f 85 72 10 00 00    	jne    0x1408913d2
140890360:	48 8b 17             	mov    (%rdi),%rdx
140890363:	4c 8d 05 f2 5f 7b 00 	lea    0x7b5ff2(%rip),%r8        # 0x14104635c
14089036a:	41 b9 5c 00 00 00    	mov    $0x5c,%r9d
140890370:	48 8d 0d e1 0a 7c 00 	lea    0x7c0ae1(%rip),%rcx        # 0x141050e58
140890377:	e8 d4 b8 02 00       	call   0x1408bbc50
14089037c:	85 c0                	test   %eax,%eax
14089037e:	0f 84 4e 10 00 00    	je     0x1408913d2
140890384:	48 8b 4f 60          	mov    0x60(%rdi),%rcx
140890388:	33 c0                	xor    %eax,%eax