140552faa:	48 0f be 4b 28       	movsbq 0x28(%rbx),%rcx
140552faf:	48 ff c1             	inc    %rcx
140552fb2:	4c 8b c3             	mov    %rbx,%r8
140552fb5:	48 8d 55 9f          	lea    -0x61(%rbp),%rdx
140552fb9:	e8 a2 da fe ff       	call   0x140540a60
140552fbe:	90                   	nop
140552fbf:	4d 8b c7             	mov    %r15,%r8
140552fc2:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
140552fc6:	48 8d 4d 7f          	lea    0x7f(%rbp),%rcx
140552fca:	e8 b1 19 00 00       	call   0x140554980
140552fcf:	90                   	nop
140552fd0:	44 8b 7d 67          	mov    0x67(%rbp),%r15d
140552fd4:	41 ff c7             	inc    %r15d
140552fd7:	44 89 7d 67          	mov    %r15d,0x67(%rbp)
140552fdb:	48 8b 45 7f          	mov    0x7f(%rbp),%rax
140552fdf:	48 85 c0             	test   %rax,%rax
140552fe2:	74 58                	je     0x14055303c
140552fe4:	48 89 7d 7f          	mov    %rdi,0x7f(%rbp)
140552fe8:	48 89 45 97          	mov    %rax,-0x69(%rbp)
140552fec:	48 8d 55 97          	lea    -0x69(%rbp),%rdx
140552ff0:	48 8b ce             	mov    %rsi,%rcx
140552ff3:	e8 c8 14 1e 00       	call   0x1407344c0
140552ff8:	90                   	nop
140552ff9:	48 8b 4d 7f          	mov    0x7f(%rbp),%rcx
140552ffd:	48 85 c9             	test   %rcx,%rcx
140553000:	74 24                	je     0x140553026
140553002:	8b 41 10             	mov    0x10(%rcx),%eax
140553005:	ff c8                	dec    %eax
140553007:	89 41 10             	mov    %eax,0x10(%rcx)
14055300a:	85 c0                	test   %eax,%eax
14055300c:	7f 18                	jg     0x140553026
14055300e:	0f 88 12 06 00 00    	js     0x140553626
140553014:	48 8b 01             	mov    (%rcx),%rax
140553017:	ba 01 00 00 00       	mov    $0x1,%edx
14055301c:	48 8b 00             	mov    (%rax),%rax
14055301f:	ff 15 fb 09 a3 00    	call   *0xa309fb(%rip)        # 0x140f83a20
140553025:	90                   	nop
140553026:	48 83 c3 30          	add    $0x30,%rbx
14055302a:	48 3b 5d a7          	cmp    -0x59(%rbp),%rbx
14055302e:	0f 85 5c ff ff ff    	jne    0x140552f90
140553034:	49 89 36             	mov    %rsi,(%r14)
140553037:	e9 e7 04 00 00       	jmp    0x140553523
14055303c:	49 89 3e             	mov    %rdi,(%r14)
14055303f:	48 85 f6             	test   %rsi,%rsi
140553042:	0f 84 e6 03 00 00    	je     0x14055342e
140553048:	8b 46 10             	mov    0x10(%rsi),%eax
14055304b:	ff c8                	dec    %eax
14055304d:	89 46 10             	mov    %eax,0x10(%rsi)
140553050:	85 c0                	test   %eax,%eax
140553052:	0f 8f d6 03 00 00    	jg     0x14055342e
140553058:	0f 88 7e 05 00 00    	js     0x1405535dc
14055305e:	e9 b6 03 00 00       	jmp    0x140553419
140553063:	83 f8 11             	cmp    $0x11,%eax
140553066:	0f 85 58 01 00 00    	jne    0x1405531c4
14055306c:	49 8b 18             	mov    (%r8),%rbx
14055306f:	49 8b 48 08          	mov    0x8(%r8),%rcx
140553073:	48 2b cb             	sub    %rbx,%rcx
140553076:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
14055307d:	aa aa 2a
140553080:	48 f7 e9             	imul   %rcx
140553083:	48 c1 fa 03          	sar    $0x3,%rdx
140553087:	48 8b c2             	mov    %rdx,%rax
14055308a:	48 c1 e8 3f          	shr    $0x3f,%rax
14055308e:	48 ff c8             	dec    %rax
140553091:	48 03 c2             	add    %rdx,%rax
140553094:	48 83 f8 01          	cmp    $0x1,%rax
140553098:	0f 87 82 04 00 00    	ja     0x140553520
14055309e:	48 85 db             	test   %rbx,%rbx
1405530a1:	0f 84 79 04 00 00    	je     0x140553520
1405530a7:	80 7b 28 05          	cmpb   $0x5,0x28(%rbx)
1405530ab:	0f 85 6f 04 00 00    	jne    0x140553520
1405530b1:	48 8d 4d 67          	lea    0x67(%rbp),%rcx
1405530b5:	e8 66 99 21 00       	call   0x14076ca20
1405530ba:	90                   	nop
1405530bb:	48 8b 08             	mov    (%rax),%rcx
1405530be:	48 8b d3             	mov    %rbx,%rdx
1405530c1:	48 83 7b 18 0f       	cmpq   $0xf,0x18(%rbx)
1405530c6:	76 03                	jbe    0x1405530cb
1405530c8:	48 8b 13             	mov    (%rbx),%rdx
1405530cb:	48 8b 43 10          	mov    0x10(%rbx),%rax
1405530cf:	48 89 55 b7          	mov    %rdx,-0x49(%rbp)
1405530d3:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
1405530d7:	0f 28 45 b7          	movaps -0x49(%rbp),%xmm0
1405530db:	66 0f 7f 45 b7       	movdqa %xmm0,-0x49(%rbp)
1405530e0:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
1405530e4:	e8 67 96 21 00       	call   0x14076c750
1405530e9:	48 8b d8             	mov    %rax,%rbx
1405530ec:	4c 8b 45 67          	mov    0x67(%rbp),%r8
1405530f0:	4d 85 c0             	test   %r8,%r8
1405530f3:	74 29                	je     0x14055311e
1405530f5:	41 8b 48 10          	mov    0x10(%r8),%ecx
1405530f9:	ff c9                	dec    %ecx
1405530fb:	41 89 48 10          	mov    %ecx,0x10(%r8)
1405530ff:	85 c9                	test   %ecx,%ecx
140553101:	7f 1b                	jg     0x14055311e
140553103:	0f 88 28 05 00 00    	js     0x140553631
140553109:	49 8b 00             	mov    (%r8),%rax
14055310c:	ba 01 00 00 00       	mov    $0x1,%edx
140553111:	49 8b c8             	mov    %r8,%rcx
140553114:	48 8b 00             	mov    (%rax),%rax
140553117:	ff 15 03 09 a3 00    	call   *0xa30903(%rip)        # 0x140f83a20
14055311d:	90                   	nop
14055311e:	48 8b 03             	mov    (%rbx),%rax
140553121:	48 85 c0             	test   %rax,%rax
140553124:	0f 84 f6 03 00 00    	je     0x140553520
14055312a:	48 8d 70 50          	lea    0x50(%rax),%rsi
14055312e:	48 8b 0e             	mov    (%rsi),%rcx
140553131:	48 85 c9             	test   %rcx,%rcx
140553134:	0f 84 e6 03 00 00    	je     0x140553520
14055313a:	48 8b 41 18          	mov    0x18(%rcx),%rax
14055313e:	48 85 c0             	test   %rax,%rax
140553141:	0f 84 d9 03 00 00    	je     0x140553520
140553147:	83 78 18 11          	cmpl   $0x11,0x18(%rax)
14055314b:	0f 85 cf 03 00 00    	jne    0x140553520
140553151:	49 8b 1c 24          	mov    (%r12),%rbx
140553155:	49 8b 44 24 08       	mov    0x8(%r12),%rax
14055315a:	48 2b c3             	sub    %rbx,%rax
14055315d:	48 83 e8 60          	sub    $0x60,%rax
140553161:	48 83 f8 30          	cmp    $0x30,%rax
140553165:	73 4d                	jae    0x1405531b4
140553167:	48 83 c3 30          	add    $0x30,%rbx
14055316b:	0f 84 af 03 00 00    	je     0x140553520
140553171:	80 7b 28 0e          	cmpb   $0xe,0x28(%rbx)
140553175:	0f 85 a5 03 00 00    	jne    0x140553520
14055317b:	89 7c 24 20          	mov    %edi,0x20(%rsp)
14055317f:	4c 8d 0d ea 7f e6 00 	lea    0xe67fea(%rip),%r9        # 0x1413bb170
140553186:	4c 8d 05 e3 5f e8 00 	lea    0xe85fe3(%rip),%r8        # 0x1413d9170
14055318d:	33 d2                	xor    %edx,%edx
14055318f:	48 8b 49 20          	mov    0x20(%rcx),%rcx
140553193:	e8 94 a9 8c 00       	call   0x140e1db2c
140553198:	48 85 c0             	test   %rax,%rax
14055319b:	0f 84 7f 03 00 00    	je     0x140553520
1405531a1:	48 8b d3             	mov    %rbx,%rdx
1405531a4:	48 8b c8             	mov    %rax,%rcx
1405531a7:	e8 94 57 25 00       	call   0x1407a8940
1405531ac:	84 c0                	test   %al,%al
1405531ae:	0f 84 6c 03 00 00    	je     0x140553520
1405531b4:	48 8b d6             	mov    %rsi,%rdx
1405531b7:	49 8b ce             	mov    %r14,%rcx
1405531ba:	e8 11 cc c4 ff       	call   0x14019fdd0
1405531bf:	e9 5f 03 00 00       	jmp    0x140553523
1405531c4:	83 f8 0f             	cmp    $0xf,%eax
1405531c7:	0f 85 6e 02 00 00    	jne    0x14055343b
1405531cd:	e8 6e 73 1f 00       	call   0x14074a540
1405531d2:	4c 8b e8             	mov    %rax,%r13
1405531d5:	48 8b d8             	mov    %rax,%rbx
1405531d8:	48 89 45 7f          	mov    %rax,0x7f(%rbp)
1405531dc:	48 85 c0             	test   %rax,%rax
1405531df:	74 1d                	je     0x1405531fe
1405531e1:	8b 48 10             	mov    0x10(%rax),%ecx
1405531e4:	ff c1                	inc    %ecx
1405531e6:	89 48 10             	mov    %ecx,0x10(%rax)
1405531e9:	83 f9 01             	cmp    $0x1,%ecx
1405531ec:	0f 8e 4a 04 00 00    	jle    0x14055363c
1405531f2:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
1405531f8:	0f 84 46 04 00 00    	je     0x140553644
1405531fe:	b9 50 00 00 00       	mov    $0x50,%ecx
140553203:	e8 00 7f 8c 00       	call   0x140e1b108
140553208:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
14055320c:	48 85 c0             	test   %rax,%rax
14055320f:	74 22                	je     0x140553233
140553211:	48 8b df             	mov    %rdi,%rbx
140553214:	48 89 5d 7f          	mov    %rbx,0x7f(%rbp)
140553218:	4c 89 6d 67          	mov    %r13,0x67(%rbp)
14055321c:	41 b0 01             	mov    $0x1,%r8b
14055321f:	48 8d 55 67          	lea    0x67(%rbp),%rdx
140553223:	48 8b c8             	mov    %rax,%rcx
140553226:	e8 95 e7 1d 00       	call   0x1407319c0
14055322b:	48 8b f0             	mov    %rax,%rsi
14055322e:	48 8b c7             	mov    %rdi,%rax
140553231:	eb 06                	jmp    0x140553239
140553233:	48 8b f7             	mov    %rdi,%rsi
140553236:	49 8b c5             	mov    %r13,%rax
140553239:	48 89 75 b7          	mov    %rsi,-0x49(%rbp)
14055323d:	48 85 c0             	test   %rax,%rax
140553240:	74 27                	je     0x140553269
140553242:	8b 43 10             	mov    0x10(%rbx),%eax
140553245:	ff c8                	dec    %eax
140553247:	89 43 10             	mov    %eax,0x10(%rbx)
14055324a:	85 c0                	test   %eax,%eax
14055324c:	7f 1b                	jg     0x140553269
14055324e:	0f 88 fb 03 00 00    	js     0x14055364f
140553254:	48 8b 03             	mov    (%rbx),%rax
140553257:	ba 01 00 00 00       	mov    $0x1,%edx
14055325c:	48 8b cb             	mov    %rbx,%rcx
14055325f:	48 8b 00             	mov    (%rax),%rax
140553262:	ff 15 b8 07 a3 00    	call   *0xa307b8(%rip)        # 0x140f83a20
140553268:	90                   	nop
140553269:	4c 8b ff             	mov    %rdi,%r15
14055326c:	41 39 7d 78          	cmp    %edi,0x78(%r13)
140553270:	0f 86 bd 01 00 00    	jbe    0x140553433
140553276:	89 7d 67             	mov    %edi,0x67(%rbp)
140553279:	4c 8b cf             	mov    %rdi,%r9
14055327c:	48 89 7d 9f          	mov    %rdi,-0x61(%rbp)
140553280:	4d 8b 14 24          	mov    (%r12),%r10
140553284:	4c 8b c7             	mov    %rdi,%r8
140553287:	4c 8b df             	mov    %rdi,%r11
14055328a:	49 8b 4c 24 08       	mov    0x8(%r12),%rcx
14055328f:	49 2b ca             	sub    %r10,%rcx
140553292:	48 bb ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rbx
140553299:	aa aa 2a
14055329c:	48 8b c3             	mov    %rbx,%rax
14055329f:	48 f7 e9             	imul   %rcx
1405532a2:	48 c1 fa 03          	sar    $0x3,%rdx
1405532a6:	48 8b c2             	mov    %rdx,%rax
1405532a9:	48 c1 e8 3f          	shr    $0x3f,%rax
1405532ad:	48 03 d0             	add    %rax,%rdx
1405532b0:	0f 84 2d 01 00 00    	je     0x1405533e3
1405532b6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1405532bd:	00 00 00
1405532c0:	4b 8d 04 40          	lea    (%r8,%r8,2),%rax
1405532c4:	48 c1 e0 04          	shl    $0x4,%rax
1405532c8:	49 03 c2             	add    %r10,%rax
1405532cb:	74 16                	je     0x1405532e3
1405532cd:	80 78 28 00          	cmpb   $0x0,0x28(%rax)
1405532d1:	75 10                	jne    0x1405532e3
1405532d3:	41 8b d1             	mov    %r9d,%edx
1405532d6:	48 8b ce             	mov    %rsi,%rcx
1405532d9:	e8 72 cf 1e 00       	call   0x140740250
1405532de:	e9 b2 00 00 00       	jmp    0x140553395
1405532e3:	49 8b 85 80 00 00 00 	mov    0x80(%r13),%rax
1405532ea:	49 63 c9             	movslq %r9d,%rcx
1405532ed:	48 8b 00             	mov    (%rax),%rax
1405532f0:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
1405532f4:	48 8b 19             	mov    (%rcx),%rbx
1405532f7:	4f 8d 04 5b          	lea    (%r11,%r11,2),%r8
1405532fb:	49 c1 e0 04          	shl    $0x4,%r8
1405532ff:	4d 03 c2             	add    %r10,%r8
140553302:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
140553306:	48 89 45 af          	mov    %rax,-0x51(%rbp)
14055330a:	c6 45 0f ff          	movb   $0xff,0xf(%rbp)
14055330e:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
140553312:	48 89 45 a7          	mov    %rax,-0x59(%rbp)
140553316:	49 0f be 48 28       	movsbq 0x28(%r8),%rcx
14055331b:	48 ff c1             	inc    %rcx
14055331e:	48 8d 55 a7          	lea    -0x59(%rbp),%rdx
140553322:	e8 39 d7 fe ff       	call   0x140540a60
140553327:	90                   	nop
140553328:	4c 8b c3             	mov    %rbx,%r8
14055332b:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
14055332f:	48 8d 4d 7f          	lea    0x7f(%rbp),%rcx
140553333:	e8 48 16 00 00       	call   0x140554980
140553338:	90                   	nop
140553339:	48 8b 45 7f          	mov    0x7f(%rbp),%rax
14055333d:	48 85 c0             	test   %rax,%rax
140553340:	0f 84 b9 00 00 00    	je     0x1405533ff
140553346:	48 89 7d 7f          	mov    %rdi,0x7f(%rbp)
14055334a:	48 89 45 97          	mov    %rax,-0x69(%rbp)
14055334e:	4c 8d 45 97          	lea    -0x69(%rbp),%r8
140553352:	8b 55 9f             	mov    -0x61(%rbp),%edx
140553355:	48 8b ce             	mov    %rsi,%rcx
140553358:	e8 a3 17 1e 00       	call   0x140734b00
14055335d:	90                   	nop
14055335e:	48 8b 4d 7f          	mov    0x7f(%rbp),%rcx
140553362:	48 85 c9             	test   %rcx,%rcx
140553365:	74 24                	je     0x14055338b
140553367:	8b 41 10             	mov    0x10(%rcx),%eax
14055336a:	ff c8                	dec    %eax
14055336c:	89 41 10             	mov    %eax,0x10(%rcx)
14055336f:	85 c0                	test   %eax,%eax
140553371:	7f 18                	jg     0x14055338b
140553373:	0f 88 e1 02 00 00    	js     0x14055365a
140553379:	48 8b 01             	mov    (%rcx),%rax
14055337c:	ba 01 00 00 00       	mov    $0x1,%edx
140553381:	48 8b 00             	mov    (%rax),%rax
140553384:	ff 15 96 06 a3 00    	call   *0xa30696(%rip)        # 0x140f83a20
14055338a:	90                   	nop
14055338b:	48 bb ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rbx
140553392:	aa aa 2a
140553395:	44 8b 5d 67          	mov    0x67(%rbp),%r11d
140553399:	41 ff c3             	inc    %r11d
14055339c:	44 89 5d 67          	mov    %r11d,0x67(%rbp)
1405533a0:	49 ff c7             	inc    %r15
1405533a3:	49 63 45 78          	movslq 0x78(%r13),%rax
1405533a7:	4c 3b f8             	cmp    %rax,%r15
1405533aa:	0f 83 83 00 00 00    	jae    0x140553433
1405533b0:	4d 8b cf             	mov    %r15,%r9
1405533b3:	4c 89 7d 9f          	mov    %r15,-0x61(%rbp)
1405533b7:	4d 8b 14 24          	mov    (%r12),%r10
1405533bb:	45 8b c3             	mov    %r11d,%r8d
1405533be:	49 8b 4c 24 08       	mov    0x8(%r12),%rcx
1405533c3:	49 2b ca             	sub    %r10,%rcx
1405533c6:	48 8b c3             	mov    %rbx,%rax
1405533c9:	48 f7 e9             	imul   %rcx
1405533cc:	48 c1 fa 03          	sar    $0x3,%rdx
1405533d0:	48 8b c2             	mov    %rdx,%rax
1405533d3:	48 c1 e8 3f          	shr    $0x3f,%rax
1405533d7:	48 03 d0             	add    %rax,%rdx
1405533da:	4c 3b c2             	cmp    %rdx,%r8
1405533dd:	0f 82 dd fe ff ff    	jb     0x1405532c0
1405533e3:	49 89 3e             	mov    %rdi,(%r14)
1405533e6:	48 85 f6             	test   %rsi,%rsi
1405533e9:	74 43                	je     0x14055342e
1405533eb:	8b 46 10             	mov    0x10(%rsi),%eax
1405533ee:	ff c8                	dec    %eax
1405533f0:	89 46 10             	mov    %eax,0x10(%rsi)
1405533f3:	85 c0                	test   %eax,%eax
1405533f5:	7f 37                	jg     0x14055342e
1405533f7:	0f 88 ea 01 00 00    	js     0x1405535e7
1405533fd:	eb 1a                	jmp    0x140553419
1405533ff:	49 89 3e             	mov    %rdi,(%r14)
140553402:	48 85 f6             	test   %rsi,%rsi
140553405:	74 27                	je     0x14055342e
140553407:	8b 46 10             	mov    0x10(%rsi),%eax
14055340a:	ff c8                	dec    %eax
14055340c:	89 46 10             	mov    %eax,0x10(%rsi)
14055340f:	85 c0                	test   %eax,%eax
140553411:	7f 1b                	jg     0x14055342e
140553413:	0f 88 4c 02 00 00    	js     0x140553665
140553419:	48 8b 06             	mov    (%rsi),%rax
14055341c:	48 8b ce             	mov    %rsi,%rcx
14055341f:	ba 01 00 00 00       	mov    $0x1,%edx
140553424:	48 8b 00             	mov    (%rax),%rax
140553427:	ff 15 f3 05 a3 00    	call   *0xa305f3(%rip)        # 0x140f83a20
14055342d:	90                   	nop
14055342e:	e9 f0 00 00 00       	jmp    0x140553523
140553433:	49 89 36             	mov    %rsi,(%r14)
140553436:	e9 e8 00 00 00       	jmp    0x140553523
14055343b:	83 f8 08             	cmp    $0x8,%eax
14055343e:	0f 85 23 01 00 00    	jne    0x140553567
140553444:	49 8b 18             	mov    (%r8),%rbx
140553447:	49 8b 40 08          	mov    0x8(%r8),%rax
14055344b:	48 2b c3             	sub    %rbx,%rax
14055344e:	48 83 e8 60          	sub    $0x60,%rax
140553452:	48 83 f8 30          	cmp    $0x30,%rax
140553456:	0f 83 c4 00 00 00    	jae    0x140553520
14055345c:	48 85 db             	test   %rbx,%rbx
14055345f:	74 09                	je     0x14055346a
140553461:	80 7b 28 05          	cmpb   $0x5,0x28(%rbx)
140553465:	48 8b f3             	mov    %rbx,%rsi
140553468:	74 03                	je     0x14055346d
14055346a:	48 8b f7             	mov    %rdi,%rsi
14055346d:	48 83 c3 30          	add    $0x30,%rbx
140553471:	74 06                	je     0x140553479
140553473:	80 7b 28 05          	cmpb   $0x5,0x28(%rbx)
140553477:	74 03                	je     0x14055347c
140553479:	48 8b df             	mov    %rdi,%rbx
14055347c:	48 85 f6             	test   %rsi,%rsi
14055347f:	0f 84 9b 00 00 00    	je     0x140553520
140553485:	48 85 db             	test   %rbx,%rbx
140553488:	0f 84 92 00 00 00    	je     0x140553520
14055348e:	b9 38 00 00 00       	mov    $0x38,%ecx
140553493:	e8 70 7c 8c 00       	call   0x140e1b108
140553498:	48 89 45 67          	mov    %rax,0x67(%rbp)
14055349c:	48 85 c0             	test   %rax,%rax
14055349f:	74 27                	je     0x1405534c8
1405534a1:	4c 8b c3             	mov    %rbx,%r8
1405534a4:	48 83 7b 18 0f       	cmpq   $0xf,0x18(%rbx)
1405534a9:	76 03                	jbe    0x1405534ae
1405534ab:	4c 8b 03             	mov    (%rbx),%r8