140873fe8:	49 ff c7             	inc    %r15
140873feb:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
140873ff0:	40 b7 02             	mov    $0x2,%dil
140873ff3:	eb 06                	jmp    0x140873ffb
140873ff5:	44 0f b6 4c 24 20    	movzbl 0x20(%rsp),%r9d
140873ffb:	48 8d 05 ee 40 7d 00 	lea    0x7d40ee(%rip),%rax        # 0x1410480f0
140874002:	41 b2 11             	mov    $0x11,%r10b
140874005:	4c 8b f8             	mov    %rax,%r15
140874008:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
14087400d:	44 88 54 24 23       	mov    %r10b,0x23(%rsp)
140874012:	48 8b c8             	mov    %rax,%rcx
140874015:	49 8b db             	mov    %r11,%rbx
140874018:	45 33 c0             	xor    %r8d,%r8d
14087401b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140874020:	0f be 01             	movsbl (%rcx),%eax
140874023:	3b d0                	cmp    %eax,%edx
140874025:	74 15                	je     0x14087403c
140874027:	49 ff c0             	inc    %r8
14087402a:	48 8d 05 49 41 7d 00 	lea    0x7d4149(%rip),%rax        # 0x14104817a
140874031:	48 83 c1 06          	add    $0x6,%rcx
140874035:	48 3b c8             	cmp    %rax,%rcx
140874038:	7c e6                	jl     0x140874020
14087403a:	eb 1f                	jmp    0x14087405b
14087403c:	4b 8d 04 40          	lea    (%r8,%r8,2),%rax
140874040:	48 8d 15 a9 40 7d 00 	lea    0x7d40a9(%rip),%rdx        # 0x1410480f0
140874047:	44 0f b6 54 42 03    	movzbl 0x3(%rdx,%rax,2),%r10d
14087404d:	4c 8d 3c 42          	lea    (%rdx,%rax,2),%r15
140874051:	44 88 54 24 23       	mov    %r10b,0x23(%rsp)
140874056:	4c 89 7c 24 78       	mov    %r15,0x78(%rsp)
14087405b:	41 0f b6 c2          	movzbl %r10b,%eax
14087405f:	83 f8 10             	cmp    $0x10,%eax
140874062:	0f 87 79 14 00 00    	ja     0x1408754e1
140874068:	48 8d 15 91 bf 78 ff 	lea    -0x87406f(%rip),%rdx        # 0x140000000
14087406f:	8b 8c 82 ec 55 87 00 	mov    0x8755ec(%rdx,%rax,4),%ecx
140874076:	48 03 ca             	add    %rdx,%rcx
140874079:	ff e1                	jmp    *%rcx
14087407b:	40 b7 02             	mov    $0x2,%dil
14087407e:	45 32 ed             	xor    %r13b,%r13b
140874081:	41 f6 47 02 01       	testb  $0x1,0x2(%r15)
140874086:	0f 84 96 00 00 00    	je     0x140874122
14087408c:	80 7c 24 22 00       	cmpb   $0x0,0x22(%rsp)
140874091:	74 4f                	je     0x1408740e2
140874093:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
140874098:	49 63 51 04          	movslq 0x4(%r9),%rdx
14087409c:	41 39 11             	cmp    %edx,(%r9)
14087409f:	7f 04                	jg     0x1408740a5
1408740a1:	33 c0                	xor    %eax,%eax
1408740a3:	eb 5e                	jmp    0x140874103
1408740a5:	49 8b 41 08          	mov    0x8(%r9),%rax
1408740a9:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
1408740ad:	8d 42 01             	lea    0x1(%rdx),%eax
1408740b0:	41 89 41 04          	mov    %eax,0x4(%r9)
1408740b4:	0f b7 41 14          	movzwl 0x14(%rcx),%eax
1408740b8:	a8 24                	test   $0x24,%al
1408740ba:	74 05                	je     0x1408740c1
1408740bc:	48 8b 01             	mov    (%rcx),%rax
1408740bf:	eb 42                	jmp    0x140874103
1408740c1:	a8 08                	test   $0x8,%al
1408740c3:	74 0b                	je     0x1408740d0
1408740c5:	f2 0f 10 01          	movsd  (%rcx),%xmm0
1408740c9:	e8 52 b3 02 00       	call   0x14089f420
1408740ce:	eb 33                	jmp    0x140874103
1408740d0:	a8 12                	test   $0x12,%al
1408740d2:	74 cd                	je     0x1408740a1
1408740d4:	48 83 79 08 00       	cmpq   $0x0,0x8(%rcx)
1408740d9:	74 c6                	je     0x1408740a1
1408740db:	e8 d0 f8 03 00       	call   0x1408b39b0
1408740e0:	eb 21                	jmp    0x140874103
1408740e2:	49 83 c3 08          	add    $0x8,%r11
1408740e6:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
1408740eb:	40 84 ff             	test   %dil,%dil
1408740ee:	74 0b                	je     0x1408740fb
1408740f0:	40 80 ff 02          	cmp    $0x2,%dil
1408740f4:	75 0a                	jne    0x140874100
1408740f6:	48 8b 03             	mov    (%rbx),%rax
1408740f9:	eb 08                	jmp    0x140874103
1408740fb:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
140874100:	48 63 03             	movslq (%rbx),%rax
140874103:	0f b6 7c 24 24       	movzbl 0x24(%rsp),%edi
140874108:	48 85 c0             	test   %rax,%rax
14087410b:	b9 2d 00 00 00       	mov    $0x2d,%ecx
140874110:	48 8b d8             	mov    %rax,%rbx
140874113:	0f 48 f9             	cmovs  %ecx,%edi
140874116:	48 f7 db             	neg    %rbx
140874119:	48 85 c0             	test   %rax,%rax
14087411c:	48 0f 49 d8          	cmovns %rax,%rbx
140874120:	eb 7f                	jmp    0x1408741a1
140874122:	80 7c 24 22 00       	cmpb   $0x0,0x22(%rsp)
140874127:	74 55                	je     0x14087417e
140874129:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
14087412e:	49 63 51 04          	movslq 0x4(%r9),%rdx
140874132:	41 39 11             	cmp    %edx,(%r9)
140874135:	7f 04                	jg     0x14087413b
140874137:	33 db                	xor    %ebx,%ebx
140874139:	eb 63                	jmp    0x14087419e
14087413b:	49 8b 41 08          	mov    0x8(%r9),%rax
14087413f:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
140874143:	8d 42 01             	lea    0x1(%rdx),%eax
140874146:	41 89 41 04          	mov    %eax,0x4(%r9)
14087414a:	0f b7 41 14          	movzwl 0x14(%rcx),%eax
14087414e:	a8 24                	test   $0x24,%al
140874150:	74 05                	je     0x140874157
140874152:	48 8b 19             	mov    (%rcx),%rbx
140874155:	eb 47                	jmp    0x14087419e
140874157:	a8 08                	test   $0x8,%al
140874159:	74 0e                	je     0x140874169
14087415b:	f2 0f 10 01          	movsd  (%rcx),%xmm0
14087415f:	e8 bc b2 02 00       	call   0x14089f420
140874164:	48 8b d8             	mov    %rax,%rbx
140874167:	eb 35                	jmp    0x14087419e
140874169:	a8 12                	test   $0x12,%al
14087416b:	74 ca                	je     0x140874137
14087416d:	48 83 79 08 00       	cmpq   $0x0,0x8(%rcx)
140874172:	74 c3                	je     0x140874137
140874174:	e8 37 f8 03 00       	call   0x1408b39b0
140874179:	48 8b d8             	mov    %rax,%rbx
14087417c:	eb 20                	jmp    0x14087419e
14087417e:	49 83 c3 08          	add    $0x8,%r11
140874182:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
140874187:	40 84 ff             	test   %dil,%dil
14087418a:	74 0b                	je     0x140874197
14087418c:	40 80 ff 02          	cmp    $0x2,%dil
140874190:	75 0a                	jne    0x14087419c
140874192:	48 8b 1b             	mov    (%rbx),%rbx
140874195:	eb 07                	jmp    0x14087419e
140874197:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
14087419c:	8b 1b                	mov    (%rbx),%ebx
14087419e:	40 32 ff             	xor    %dil,%dil
1408741a1:	48 85 db             	test   %rbx,%rbx
1408741a4:	41 0f b6 f6          	movzbl %r14b,%esi
1408741a8:	41 b9 00 00 00 00    	mov    $0x0,%r9d
1408741ae:	41 0f 44 f1          	cmove  %r9d,%esi
1408741b2:	44 38 4c 24 30       	cmp    %r9b,0x30(%rsp)
1408741b7:	74 17                	je     0x1408741d0
1408741b9:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1408741be:	40 84 ff             	test   %dil,%dil
1408741c1:	41 8b c1             	mov    %r9d,%eax
1408741c4:	0f 95 c0             	setne  %al
1408741c7:	2b c8                	sub    %eax,%ecx
1408741c9:	44 3b e1             	cmp    %ecx,%r12d
1408741cc:	44 0f 4c e1          	cmovl  %ecx,%r12d
1408741d0:	41 83 fc 25          	cmp    $0x25,%r12d
1408741d4:	7d 0c                	jge    0x1408741e2
1408741d6:	41 be 46 00 00 00    	mov    $0x46,%r14d
1408741dc:	4c 8d 55 80          	lea    -0x80(%rbp),%r10
1408741e0:	eb 41                	jmp    0x140874223
1408741e2:	4d 63 f4             	movslq %r12d,%r14
1408741e5:	49 83 c6 0a          	add    $0xa,%r14
1408741e9:	45 84 ed             	test   %r13b,%r13b
1408741ec:	74 14                	je     0x140874202
1408741ee:	b8 56 55 55 55       	mov    $0x55555556,%eax
1408741f3:	41 f7 ec             	imul   %r12d
1408741f6:	8b c2                	mov    %edx,%eax
1408741f8:	c1 e8 1f             	shr    $0x1f,%eax
1408741fb:	03 c2                	add    %edx,%eax
1408741fd:	48 98                	cltq
1408741ff:	4c 03 f0             	add    %rax,%r14
140874202:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140874207:	49 8b d6             	mov    %r14,%rdx
14087420a:	e8 21 8c 04 00       	call   0x1408bce30
14087420f:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140874214:	4c 8b d0             	mov    %rax,%r10
140874217:	48 85 c0             	test   %rax,%rax
14087421a:	0f 84 c1 12 00 00    	je     0x1408754e1
140874220:	45 33 c9             	xor    %r9d,%r9d
140874223:	41 8d 4e ff          	lea    -0x1(%r14),%ecx
140874227:	4c 63 d9             	movslq %ecx,%r11
14087422a:	4d 03 da             	add    %r10,%r11
14087422d:	80 7c 24 23 0f       	cmpb   $0xf,0x23(%rsp)
140874232:	75 72                	jne    0x1408742a6
140874234:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
14087423b:	cc cc cc
14087423e:	44 8b c3             	mov    %ebx,%r8d
140874241:	48 f7 e3             	mul    %rbx
140874244:	48 8b ca             	mov    %rdx,%rcx
140874247:	48 c1 e9 03          	shr    $0x3,%rcx
14087424b:	8d 04 89             	lea    (%rcx,%rcx,4),%eax
14087424e:	03 c0                	add    %eax,%eax
140874250:	44 2b c0             	sub    %eax,%r8d
140874253:	41 83 f8 04          	cmp    $0x4,%r8d
140874257:	7d 21                	jge    0x14087427a
140874259:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
140874260:	cc cc cc
140874263:	48 f7 e1             	mul    %rcx
140874266:	48 c1 ea 03          	shr    $0x3,%rdx
14087426a:	48 8d 04 92          	lea    (%rdx,%rdx,4),%rax
14087426e:	48 03 c0             	add    %rax,%rax
140874271:	48 2b c8             	sub    %rax,%rcx
140874274:	48 83 f9 01          	cmp    $0x1,%rcx
140874278:	75 03                	jne    0x14087427d
14087427a:	45 8b c1             	mov    %r9d,%r8d
14087427d:	43 8d 04 00          	lea    (%r8,%r8,1),%eax
140874281:	48 63 c8             	movslq %eax,%rcx
140874284:	48 8d 15 75 bd 78 ff 	lea    -0x87428b(%rip),%rdx        # 0x140000000
14087428b:	0f b6 84 11 01 82 04 	movzbl 0x1048201(%rcx,%rdx,1),%eax
140874292:	01
140874293:	0f b6 8c 11 00 82 04 	movzbl 0x1048200(%rcx,%rdx,1),%ecx
14087429a:	01
14087429b:	41 88 43 ff          	mov    %al,-0x1(%r11)
14087429f:	49 83 eb 02          	sub    $0x2,%r11
1408742a3:	41 88 0b             	mov    %cl,(%r11)
1408742a6:	41 0f b6 4f 04       	movzbl 0x4(%r15),%ecx
1408742ab:	48 8d 05 0e 3e 7d 00 	lea    0x7d3e0e(%rip),%rax        # 0x1410480c0
1408742b2:	45 0f b6 47 01       	movzbl 0x1(%r15),%r8d
1408742b7:	48 03 c8             	add    %rax,%rcx
1408742ba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1408742c0:	33 d2                	xor    %edx,%edx
1408742c2:	48 8b c3             	mov    %rbx,%rax
1408742c5:	49 f7 f0             	div    %r8
1408742c8:	49 ff cb             	dec    %r11
1408742cb:	48 8b d8             	mov    %rax,%rbx
1408742ce:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
1408742d2:	41 88 03             	mov    %al,(%r11)
1408742d5:	48 85 db             	test   %rbx,%rbx
1408742d8:	75 e6                	jne    0x1408742c0
1408742da:	41 8b ca             	mov    %r10d,%ecx
1408742dd:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
1408742e2:	41 2b cb             	sub    %r11d,%ecx
1408742e5:	ff c9                	dec    %ecx
1408742e7:	41 03 ce             	add    %r14d,%ecx
1408742ea:	41 3b cc             	cmp    %r12d,%ecx
1408742ed:	7d 23                	jge    0x140874312
1408742ef:	44 2b e1             	sub    %ecx,%r12d
1408742f2:	41 8b c4             	mov    %r12d,%eax
1408742f5:	41 03 cc             	add    %r12d,%ecx
1408742f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1408742ff:	00
140874300:	49 ff cb             	dec    %r11
140874303:	41 c6 03 30          	movb   $0x30,(%r11)
140874307:	48 83 e8 01          	sub    $0x1,%rax
14087430b:	75 f3                	jne    0x140874300
14087430d:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874312:	45 84 ed             	test   %r13b,%r13b
140874315:	74 64                	je     0x14087437b
140874317:	ff c9                	dec    %ecx
140874319:	b8 56 55 55 55       	mov    $0x55555556,%eax
14087431e:	f7 e9                	imul   %ecx
140874320:	8b c2                	mov    %edx,%eax
140874322:	c1 e8 1f             	shr    $0x1f,%eax
140874325:	03 d0                	add    %eax,%edx
140874327:	4c 63 c2             	movslq %edx,%r8
14087432a:	4d 2b d8             	sub    %r8,%r11
14087432d:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874332:	8d 04 52             	lea    (%rdx,%rdx,2),%eax
140874335:	2b c8                	sub    %eax,%ecx
140874337:	33 c0                	xor    %eax,%eax
140874339:	8b d0                	mov    %eax,%edx
14087433b:	44 8d 49 01          	lea    0x1(%rcx),%r9d
14087433f:	4d 85 c0             	test   %r8,%r8
140874342:	7e 37                	jle    0x14087437b
140874344:	0f 1f 40 00          	nopl   0x0(%rax)
140874348:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14087434f:	00
140874350:	49 8d 04 10          	lea    (%r8,%rdx,1),%rax
140874354:	42 0f b6 0c 18       	movzbl (%rax,%r11,1),%ecx
140874359:	42 88 0c 1a          	mov    %cl,(%rdx,%r11,1)
14087435d:	41 83 e9 01          	sub    $0x1,%r9d
140874361:	75 10                	jne    0x140874373
140874363:	48 ff c2             	inc    %rdx
140874366:	41 b9 03 00 00 00    	mov    $0x3,%r9d
14087436c:	49 ff c8             	dec    %r8
14087436f:	46 88 2c 1a          	mov    %r13b,(%rdx,%r11,1)
140874373:	48 ff c2             	inc    %rdx
140874376:	4d 85 c0             	test   %r8,%r8
140874379:	7f d5                	jg     0x140874350
14087437b:	40 84 ff             	test   %dil,%dil
14087437e:	74 0b                	je     0x14087438b
140874380:	49 ff cb             	dec    %r11
140874383:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874388:	41 88 3b             	mov    %dil,(%r11)
14087438b:	40 84 f6             	test   %sil,%sil
14087438e:	74 36                	je     0x1408743c6
140874390:	41 0f b6 47 05       	movzbl 0x5(%r15),%eax
140874395:	84 c0                	test   %al,%al
140874397:	74 2d                	je     0x1408743c6
140874399:	48 8d 0d 44 3d 7d 00 	lea    0x7d3d44(%rip),%rcx        # 0x1410480e4
1408743a0:	48 03 c1             	add    %rcx,%rax
1408743a3:	0f b6 08             	movzbl (%rax),%ecx
1408743a6:	84 c9                	test   %cl,%cl
1408743a8:	74 1c                	je     0x1408743c6
1408743aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1408743b0:	49 ff cb             	dec    %r11
1408743b3:	48 8d 40 01          	lea    0x1(%rax),%rax
1408743b7:	41 88 0b             	mov    %cl,(%r11)
1408743ba:	0f b6 08             	movzbl (%rax),%ecx
1408743bd:	84 c9                	test   %cl,%cl
1408743bf:	75 ef                	jne    0x1408743b0
1408743c1:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
1408743c6:	45 2b d3             	sub    %r11d,%r10d
1408743c9:	41 8d 7a ff          	lea    -0x1(%r10),%edi
1408743cd:	41 03 fe             	add    %r14d,%edi
1408743d0:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
1408743d5:	44 0f b6 74 24 21    	movzbl 0x21(%rsp),%r14d
1408743db:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1408743e0:	45 33 ff             	xor    %r15d,%r15d
1408743e3:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
1408743e8:	2b df                	sub    %edi,%ebx
1408743ea:	85 db                	test   %ebx,%ebx
1408743ec:	0f 8e f1 0f 00 00    	jle    0x1408753e3
1408743f2:	45 84 f6             	test   %r14b,%r14b
1408743f5:	75 44                	jne    0x14087443b
1408743f7:	41 8b 4c 24 18       	mov    0x18(%r12),%ecx
1408743fc:	44 8b c3             	mov    %ebx,%r8d
1408743ff:	48 63 c3             	movslq %ebx,%rax
140874402:	48 03 c8             	add    %rax,%rcx
140874405:	41 8b 44 24 10       	mov    0x10(%r12),%eax
14087440a:	48 3b c8             	cmp    %rax,%rcx
14087440d:	7c 11                	jl     0x140874420
14087440f:	8b d3                	mov    %ebx,%edx
140874411:	49 8b cc             	mov    %r12,%rcx
140874414:	e8 b7 d0 08 00       	call   0x1409014d0
140874419:	44 8b c0             	mov    %eax,%r8d
14087441c:	85 c0                	test   %eax,%eax
14087441e:	7e 1b                	jle    0x14087443b
140874420:	41 8b 54 24 18       	mov    0x18(%r12),%edx
140874425:	41 ff c8             	dec    %r8d
140874428:	49 8b 4c 24 08       	mov    0x8(%r12),%rcx
14087442d:	c6 04 0a 20          	movb   $0x20,(%rdx,%rcx,1)
140874431:	41 ff 44 24 18       	incl   0x18(%r12)
140874436:	45 85 c0             	test   %r8d,%r8d
140874439:	7f e5                	jg     0x140874420
14087443b:	41 8b 44 24 18       	mov    0x18(%r12),%eax
140874440:	8d 0c 38             	lea    (%rax,%rdi,1),%ecx
140874443:	41 3b 4c 24 10       	cmp    0x10(%r12),%ecx
140874448:	0f 82 29 0c 00 00    	jb     0x140875077
14087444e:	44 8b c7             	mov    %edi,%r8d
140874451:	48 8b d6             	mov    %rsi,%rdx
140874454:	49 8b cc             	mov    %r12,%rcx
140874457:	e8 84 b5 02 00       	call   0x14089f9e0
14087445c:	e9 32 0c 00 00       	jmp    0x140875093
140874461:	80 7c 24 22 00       	cmpb   $0x0,0x22(%rsp)
140874466:	74 53                	je     0x1408744bb
140874468:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
14087446d:	49 63 51 04          	movslq 0x4(%r9),%rdx
140874471:	41 39 11             	cmp    %edx,(%r9)
140874474:	7f 06                	jg     0x14087447c
140874476:	41 0f 28 f6          	movaps %xmm14,%xmm6
14087447a:	eb 4c                	jmp    0x1408744c8
14087447c:	49 8b 41 08          	mov    0x8(%r9),%rax
140874480:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
140874484:	8d 42 01             	lea    0x1(%rdx),%eax
140874487:	41 89 41 04          	mov    %eax,0x4(%r9)
14087448b:	0f b7 41 14          	movzwl 0x14(%rcx),%eax
14087448f:	a8 08                	test   $0x8,%al
140874491:	74 06                	je     0x140874499
140874493:	f2 0f 10 31          	movsd  (%rcx),%xmm6
140874497:	eb 2f                	jmp    0x1408744c8
140874499:	a8 24                	test   $0x24,%al
14087449b:	74 0a                	je     0x1408744a7
14087449d:	0f 57 f6             	xorps  %xmm6,%xmm6