14018419f:	48 3b 43 40          	cmp    0x40(%rbx),%rax
1401841a3:	72 10                	jb     0x1401841b5
1401841a5:	48 8b cb             	mov    %rbx,%rcx
1401841a8:	e8 f3 02 00 00       	call   0x1401844a0
1401841ad:	85 c0                	test   %eax,%eax
1401841af:	0f 84 57 01 00 00    	je     0x14018430c
1401841b5:	8b c5                	mov    %ebp,%eax
1401841b7:	b9 37 00 00 00       	mov    $0x37,%ecx
1401841bc:	c1 e8 04             	shr    $0x4,%eax
1401841bf:	83 f8 0a             	cmp    $0xa,%eax
1401841c2:	41 0f 42 cf          	cmovb  %r15d,%ecx
1401841c6:	02 c8                	add    %al,%cl
1401841c8:	48 8b 43 48          	mov    0x48(%rbx),%rax
1401841cc:	88 08                	mov    %cl,(%rax)
1401841ce:	48 ff 43 48          	incq   0x48(%rbx)
1401841d2:	48 8b 43 48          	mov    0x48(%rbx),%rax
1401841d6:	ff 83 1c 01 00 00    	incl   0x11c(%rbx)
1401841dc:	48 83 c0 05          	add    $0x5,%rax
1401841e0:	48 3b 43 40          	cmp    0x40(%rbx),%rax
1401841e4:	72 10                	jb     0x1401841f6
1401841e6:	48 8b cb             	mov    %rbx,%rcx
1401841e9:	e8 b2 02 00 00       	call   0x1401844a0
1401841ee:	85 c0                	test   %eax,%eax
1401841f0:	0f 84 16 01 00 00    	je     0x14018430c
1401841f6:	8b c5                	mov    %ebp,%eax
1401841f8:	b9 37 00 00 00       	mov    $0x37,%ecx
1401841fd:	83 e0 0f             	and    $0xf,%eax
140184200:	3c 0a                	cmp    $0xa,%al
140184202:	48 8b 43 48          	mov    0x48(%rbx),%rax
140184206:	41 0f 42 cf          	cmovb  %r15d,%ecx
14018420a:	40 80 e5 0f          	and    $0xf,%bpl
14018420e:	40 02 cd             	add    %bpl,%cl
140184211:	88 08                	mov    %cl,(%rax)
140184213:	48 ff 43 48          	incq   0x48(%rbx)
140184217:	ff 83 1c 01 00 00    	incl   0x11c(%rbx)
14018421d:	85 f6                	test   %esi,%esi
14018421f:	0f 85 3b ff ff ff    	jne    0x140184160
140184225:	e9 9b 00 00 00       	jmp    0x1401842c5
14018422a:	0f b6 c1             	movzbl %cl,%eax
14018422d:	24 e0                	and    $0xe0,%al
14018422f:	3c c0                	cmp    $0xc0,%al
140184231:	75 1e                	jne    0x140184251
140184233:	48 8b 43 48          	mov    0x48(%rbx),%rax
140184237:	88 08                	mov    %cl,(%rax)
140184239:	48 ff 43 48          	incq   0x48(%rbx)
14018423d:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
140184241:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
140184245:	88 01                	mov    %al,(%rcx)
140184247:	48 ff 43 48          	incq   0x48(%rbx)
14018424b:	48 83 c7 02          	add    $0x2,%rdi
14018424f:	eb 6e                	jmp    0x1401842bf
140184251:	0f b6 c1             	movzbl %cl,%eax
140184254:	24 f0                	and    $0xf0,%al
140184256:	3c e0                	cmp    $0xe0,%al
140184258:	75 2c                	jne    0x140184286
14018425a:	48 8b 43 48          	mov    0x48(%rbx),%rax
14018425e:	88 08                	mov    %cl,(%rax)
140184260:	48 ff 43 48          	incq   0x48(%rbx)
140184264:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
140184268:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
14018426c:	88 01                	mov    %al,(%rcx)
14018426e:	48 ff 43 48          	incq   0x48(%rbx)
140184272:	0f b6 47 02          	movzbl 0x2(%rdi),%eax
140184276:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
14018427a:	88 01                	mov    %al,(%rcx)
14018427c:	48 ff 43 48          	incq   0x48(%rbx)
140184280:	48 83 c7 03          	add    $0x3,%rdi
140184284:	eb 39                	jmp    0x1401842bf
140184286:	0f b6 c1             	movzbl %cl,%eax
140184289:	24 f8                	and    $0xf8,%al
14018428b:	3c f0                	cmp    $0xf0,%al
14018428d:	75 30                	jne    0x1401842bf
14018428f:	49 8b 00             	mov    (%r8),%rax
140184292:	88 08                	mov    %cl,(%rax)
140184294:	49 ff 00             	incq   (%r8)
140184297:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
14018429b:	49 8b 08             	mov    (%r8),%rcx
14018429e:	88 01                	mov    %al,(%rcx)
1401842a0:	49 ff 00             	incq   (%r8)
1401842a3:	0f b6 47 02          	movzbl 0x2(%rdi),%eax
1401842a7:	49 8b 08             	mov    (%r8),%rcx
1401842aa:	88 01                	mov    %al,(%rcx)
1401842ac:	49 ff 00             	incq   (%r8)
1401842af:	0f b6 47 03          	movzbl 0x3(%rdi),%eax
1401842b3:	49 8b 08             	mov    (%r8),%rcx
1401842b6:	88 01                	mov    %al,(%rcx)
1401842b8:	49 ff 00             	incq   (%r8)
1401842bb:	48 83 c7 04          	add    $0x4,%rdi
1401842bf:	ff 83 1c 01 00 00    	incl   0x11c(%rbx)
1401842c5:	49 b8 0f 00 00 00 00 	movabs $0x5000000000000f,%r8
1401842cc:	00 50 00
1401842cf:	ba 85 05 40 12       	mov    $0x12400585,%edx
1401842d4:	49 3b fe             	cmp    %r14,%rdi
1401842d7:	0f 85 9d fd ff ff    	jne    0x14018407a
1401842dd:	48 c7 83 20 01 00 00 	movq   $0x0,0x120(%rbx)
1401842e4:	00 00 00 00
1401842e8:	b8 01 00 00 00       	mov    $0x1,%eax
1401842ed:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401842f2:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1401842f7:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1401842fc:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140184301:	48 83 c4 20          	add    $0x20,%rsp
140184305:	41 5f                	pop    %r15
140184307:	41 5e                	pop    %r14
140184309:	41 5d                	pop    %r13
14018430b:	c3                   	ret
14018430c:	33 c0                	xor    %eax,%eax
14018430e:	eb dd                	jmp    0x1401842ed
140184310:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140184315:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14018431a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14018431f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140184324:	41 56                	push   %r14
140184326:	48 83 ec 20          	sub    $0x20,%rsp
14018432a:	48 8b f1             	mov    %rcx,%rsi
14018432d:	4e 8d 34 02          	lea    (%rdx,%r8,1),%r14
140184331:	48 81 c1 20 01 00 00 	add    $0x120,%rcx
140184338:	48 8b fa             	mov    %rdx,%rdi
14018433b:	83 39 00             	cmpl   $0x0,(%rcx)
14018433e:	75 36                	jne    0x140184376
140184340:	48 8b 46 48          	mov    0x48(%rsi),%rax
140184344:	48 83 c0 05          	add    $0x5,%rax
140184348:	48 3b 46 40          	cmp    0x40(%rsi),%rax
14018434c:	72 17                	jb     0x140184365
14018434e:	48 8b ce             	mov    %rsi,%rcx
140184351:	e8 4a 01 00 00       	call   0x1401844a0
140184356:	85 c0                	test   %eax,%eax
140184358:	0f 84 36 01 00 00    	je     0x140184494
14018435e:	48 8d 8e 20 01 00 00 	lea    0x120(%rsi),%rcx
140184365:	48 8b 46 48          	mov    0x48(%rsi),%rax
140184369:	c6 00 20             	movb   $0x20,(%rax)
14018436c:	48 ff 46 48          	incq   0x48(%rsi)
140184370:	ff 86 1c 01 00 00    	incl   0x11c(%rsi)
140184376:	49 3b fe             	cmp    %r14,%rdi
140184379:	0f 84 eb 00 00 00    	je     0x14018446a
14018437f:	90                   	nop
140184380:	48 8b 46 48          	mov    0x48(%rsi),%rax
140184384:	48 83 c0 05          	add    $0x5,%rax
140184388:	48 3b 46 40          	cmp    0x40(%rsi),%rax
14018438c:	72 10                	jb     0x14018439e
14018438e:	48 8b ce             	mov    %rsi,%rcx
140184391:	e8 0a 01 00 00       	call   0x1401844a0
140184396:	85 c0                	test   %eax,%eax
140184398:	0f 84 f6 00 00 00    	je     0x140184494
14018439e:	0f b6 0f             	movzbl (%rdi),%ecx
1401843a1:	84 c9                	test   %cl,%cl
1401843a3:	78 12                	js     0x1401843b7
1401843a5:	48 8b 46 48          	mov    0x48(%rsi),%rax
1401843a9:	88 08                	mov    %cl,(%rax)
1401843ab:	48 ff 46 48          	incq   0x48(%rsi)
1401843af:	48 ff c7             	inc    %rdi
1401843b2:	e9 9d 00 00 00       	jmp    0x140184454
1401843b7:	0f b6 c1             	movzbl %cl,%eax
1401843ba:	24 e0                	and    $0xe0,%al
1401843bc:	3c c0                	cmp    $0xc0,%al
1401843be:	75 1e                	jne    0x1401843de
1401843c0:	48 8b 46 48          	mov    0x48(%rsi),%rax
1401843c4:	88 08                	mov    %cl,(%rax)
1401843c6:	48 ff 46 48          	incq   0x48(%rsi)
1401843ca:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
1401843ce:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1401843d2:	88 01                	mov    %al,(%rcx)
1401843d4:	48 ff 46 48          	incq   0x48(%rsi)
1401843d8:	48 83 c7 02          	add    $0x2,%rdi
1401843dc:	eb 76                	jmp    0x140184454
1401843de:	0f b6 c1             	movzbl %cl,%eax
1401843e1:	24 f0                	and    $0xf0,%al
1401843e3:	3c e0                	cmp    $0xe0,%al
1401843e5:	75 2c                	jne    0x140184413
1401843e7:	48 8b 46 48          	mov    0x48(%rsi),%rax
1401843eb:	88 08                	mov    %cl,(%rax)
1401843ed:	48 ff 46 48          	incq   0x48(%rsi)
1401843f1:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
1401843f5:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1401843f9:	88 01                	mov    %al,(%rcx)
1401843fb:	48 ff 46 48          	incq   0x48(%rsi)
1401843ff:	0f b6 47 02          	movzbl 0x2(%rdi),%eax
140184403:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
140184407:	88 01                	mov    %al,(%rcx)
140184409:	48 ff 46 48          	incq   0x48(%rsi)
14018440d:	48 83 c7 03          	add    $0x3,%rdi
140184411:	eb 41                	jmp    0x140184454
140184413:	0f b6 c1             	movzbl %cl,%eax
140184416:	24 f8                	and    $0xf8,%al
140184418:	3c f0                	cmp    $0xf0,%al
14018441a:	75 38                	jne    0x140184454
14018441c:	48 8b 46 48          	mov    0x48(%rsi),%rax
140184420:	88 08                	mov    %cl,(%rax)
140184422:	48 ff 46 48          	incq   0x48(%rsi)
140184426:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
14018442a:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
14018442e:	88 01                	mov    %al,(%rcx)
140184430:	48 ff 46 48          	incq   0x48(%rsi)
140184434:	0f b6 47 02          	movzbl 0x2(%rdi),%eax
140184438:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
14018443c:	88 01                	mov    %al,(%rcx)
14018443e:	48 ff 46 48          	incq   0x48(%rsi)
140184442:	0f b6 47 03          	movzbl 0x3(%rdi),%eax
140184446:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
14018444a:	88 01                	mov    %al,(%rcx)
14018444c:	48 ff 46 48          	incq   0x48(%rsi)
140184450:	48 83 c7 04          	add    $0x4,%rdi
140184454:	ff 86 1c 01 00 00    	incl   0x11c(%rsi)
14018445a:	49 3b fe             	cmp    %r14,%rdi
14018445d:	0f 85 1d ff ff ff    	jne    0x140184380
140184463:	48 8d 8e 20 01 00 00 	lea    0x120(%rsi),%rcx
14018446a:	33 c0                	xor    %eax,%eax
14018446c:	89 01                	mov    %eax,(%rcx)
14018446e:	89 86 24 01 00 00    	mov    %eax,0x124(%rsi)
140184474:	b8 01 00 00 00       	mov    $0x1,%eax
140184479:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14018447e:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140184483:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140184488:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14018448d:	48 83 c4 20          	add    $0x20,%rsp
140184491:	41 5e                	pop    %r14
140184493:	c3                   	ret
140184494:	33 c0                	xor    %eax,%eax
140184496:	eb e1                	jmp    0x140184479
140184498:	cc                   	int3
140184499:	cc                   	int3
14018449a:	cc                   	int3
14018449b:	cc                   	int3
14018449c:	cc                   	int3
14018449d:	cc                   	int3
14018449e:	cc                   	int3
14018449f:	cc                   	int3
1401844a0:	40 53                	rex push %rbx
1401844a2:	48 83 ec 20          	sub    $0x20,%rsp
1401844a6:	4c 8b 41 48          	mov    0x48(%rcx),%r8
1401844aa:	48 8b d9             	mov    %rcx,%rbx
1401844ad:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401844b1:	4c 89 41 50          	mov    %r8,0x50(%rcx)
1401844b5:	48 89 41 48          	mov    %rax,0x48(%rcx)
1401844b9:	49 3b c0             	cmp    %r8,%rax
1401844bc:	74 29                	je     0x1401844e7
1401844be:	8b 49 78             	mov    0x78(%rcx),%ecx
1401844c1:	83 f9 01             	cmp    $0x1,%ecx
1401844c4:	75 2c                	jne    0x1401844f2
1401844c6:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1401844ca:	4c 2b c0             	sub    %rax,%r8
1401844cd:	48 8b d0             	mov    %rax,%rdx
1401844d0:	ff 53 10             	call   *0x10(%rbx)
1401844d3:	85 c0                	test   %eax,%eax
1401844d5:	0f 84 92 01 00 00    	je     0x14018466d
1401844db:	48 8b 43 38          	mov    0x38(%rbx),%rax
1401844df:	48 89 43 50          	mov    %rax,0x50(%rbx)
1401844e3:	48 89 43 48          	mov    %rax,0x48(%rbx)
1401844e7:	b8 01 00 00 00       	mov    $0x1,%eax
1401844ec:	48 83 c4 20          	add    $0x20,%rsp
1401844f0:	5b                   	pop    %rbx
1401844f1:	c3                   	ret
1401844f2:	45 33 db             	xor    %r11d,%r11d
1401844f5:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
1401844fa:	83 f9 02             	cmp    $0x2,%ecx
1401844fd:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140184502:	be 04 00 00 00       	mov    $0x4,%esi
140184507:	41 0f 94 c3          	sete   %r11b
14018450b:	33 ff                	xor    %edi,%edi
14018450d:	83 f9 02             	cmp    $0x2,%ecx
140184510:	40 0f 95 c7          	setne  %dil
140184514:	0f b6 00             	movzbl (%rax),%eax
140184517:	84 c0                	test   %al,%al
140184519:	78 0e                	js     0x140184529
14018451b:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140184521:	83 e0 7f             	and    $0x7f,%eax
140184524:	e9 8c 00 00 00       	jmp    0x1401845b5
140184529:	0f b6 d0             	movzbl %al,%edx
14018452c:	0f b6 c8             	movzbl %al,%ecx
14018452f:	80 e2 e0             	and    $0xe0,%dl
140184532:	80 fa c0             	cmp    $0xc0,%dl
140184535:	75 08                	jne    0x14018453f
140184537:	41 b9 02 00 00 00    	mov    $0x2,%r9d
14018453d:	eb 23                	jmp    0x140184562
14018453f:	80 e1 f0             	and    $0xf0,%cl
140184542:	80 f9 e0             	cmp    $0xe0,%cl
140184545:	0f b6 c8             	movzbl %al,%ecx
140184548:	75 08                	jne    0x140184552
14018454a:	41 b9 03 00 00 00    	mov    $0x3,%r9d
140184550:	eb 10                	jmp    0x140184562
140184552:	80 e1 f8             	and    $0xf8,%cl
140184555:	45 33 c9             	xor    %r9d,%r9d
140184558:	80 f9 f0             	cmp    $0xf0,%cl
14018455b:	0f b6 c8             	movzbl %al,%ecx
14018455e:	4c 0f 44 ce          	cmove  %rsi,%r9
140184562:	80 e1 f0             	and    $0xf0,%cl
140184565:	80 fa c0             	cmp    $0xc0,%dl
140184568:	75 05                	jne    0x14018456f
14018456a:	83 e0 1f             	and    $0x1f,%eax
14018456d:	eb 1d                	jmp    0x14018458c
14018456f:	80 f9 e0             	cmp    $0xe0,%cl
140184572:	75 05                	jne    0x140184579
140184574:	83 e0 0f             	and    $0xf,%eax
140184577:	eb 13                	jmp    0x14018458c
140184579:	0f b6 d0             	movzbl %al,%edx
14018457c:	83 e0 07             	and    $0x7,%eax
14018457f:	8b c8                	mov    %eax,%ecx
140184581:	80 e2 f8             	and    $0xf8,%dl
140184584:	33 c0                	xor    %eax,%eax
140184586:	80 fa f0             	cmp    $0xf0,%dl
140184589:	0f 44 c1             	cmove  %ecx,%eax
14018458c:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140184592:	4d 3b c8             	cmp    %r8,%r9
140184595:	76 1e                	jbe    0x1401845b5
140184597:	4c 8b 53 48          	mov    0x48(%rbx),%r10
14018459b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401845a0:	43 0f b6 14 02       	movzbl (%r10,%r8,1),%edx
1401845a5:	49 ff c0             	inc    %r8
1401845a8:	83 e2 3f             	and    $0x3f,%edx
1401845ab:	c1 e0 06             	shl    $0x6,%eax
1401845ae:	03 c2                	add    %edx,%eax
1401845b0:	4d 3b c1             	cmp    %r9,%r8
1401845b3:	72 eb                	jb     0x1401845a0
1401845b5:	4c 01 4b 48          	add    %r9,0x48(%rbx)
1401845b9:	48 8b 53 70          	mov    0x70(%rbx),%rdx
1401845bd:	3d 00 00 01 00       	cmp    $0x10000,%eax
1401845c2:	73 1e                	jae    0x1401845e2
1401845c4:	8b c8                	mov    %eax,%ecx
1401845c6:	c1 e9 08             	shr    $0x8,%ecx
1401845c9:	41 88 0c 13          	mov    %cl,(%r11,%rdx,1)
1401845cd:	48 8b 4b 70          	mov    0x70(%rbx),%rcx
1401845d1:	88 04 0f             	mov    %al,(%rdi,%rcx,1)
1401845d4:	4c 8b 43 70          	mov    0x70(%rbx),%r8
1401845d8:	49 83 c0 02          	add    $0x2,%r8
1401845dc:	4c 89 43 70          	mov    %r8,0x70(%rbx)
1401845e0:	eb 3e                	jmp    0x140184620
1401845e2:	05 00 00 ff ff       	add    $0xffff0000,%eax
1401845e7:	8b c8                	mov    %eax,%ecx
1401845e9:	c1 e9 12             	shr    $0x12,%ecx
1401845ec:	80 e9 28             	sub    $0x28,%cl
1401845ef:	41 88 0c 13          	mov    %cl,(%r11,%rdx,1)
1401845f3:	8b d0                	mov    %eax,%edx
1401845f5:	48 8b 4b 70          	mov    0x70(%rbx),%rcx
1401845f9:	c1 ea 0a             	shr    $0xa,%edx
1401845fc:	88 14 0f             	mov    %dl,(%rdi,%rcx,1)
1401845ff:	8b d0                	mov    %eax,%edx
140184601:	48 8b 4b 70          	mov    0x70(%rbx),%rcx
140184605:	c1 ea 08             	shr    $0x8,%edx
140184608:	80 ea 24             	sub    $0x24,%dl
14018460b:	41 88 54 0b 02       	mov    %dl,0x2(%r11,%rcx,1)
140184610:	48 8b 4b 70          	mov    0x70(%rbx),%rcx
140184614:	88 44 0f 02          	mov    %al,0x2(%rdi,%rcx,1)
140184618:	48 01 73 70          	add    %rsi,0x70(%rbx)
14018461c:	4c 8b 43 70          	mov    0x70(%rbx),%r8
140184620:	48 8b 43 48          	mov    0x48(%rbx),%rax
140184624:	48 3b 43 50          	cmp    0x50(%rbx),%rax
140184628:	0f 85 e6 fe ff ff    	jne    0x140184514
14018462e:	48 8b 53 58          	mov    0x58(%rbx),%rdx
140184632:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140184636:	4c 2b c2             	sub    %rdx,%r8