140a57088:	0f b7 09             	movzwl (%rcx),%ecx
140a5708b:	48 83 43 10 02       	addq   $0x2,0x10(%rbx)
140a57090:	b0 01                	mov    $0x1,%al
140a57092:	84 c0                	test   %al,%al
140a57094:	74 14                	je     0x140a570aa
140a57096:	66 c1 c9 08          	ror    $0x8,%cx
140a5709a:	66 89 0f             	mov    %cx,(%rdi)
140a5709d:	b0 01                	mov    $0x1,%al
140a5709f:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a570a4:	48 83 c4 20          	add    $0x20,%rsp
140a570a8:	5f                   	pop    %rdi
140a570a9:	c3                   	ret
140a570aa:	32 c0                	xor    %al,%al
140a570ac:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a570b1:	48 83 c4 20          	add    $0x20,%rsp
140a570b5:	5f                   	pop    %rdi
140a570b6:	c3                   	ret
140a570b7:	cc                   	int3
140a570b8:	cc                   	int3
140a570b9:	cc                   	int3
140a570ba:	cc                   	int3
140a570bb:	cc                   	int3
140a570bc:	cc                   	int3
140a570bd:	cc                   	int3
140a570be:	cc                   	int3
140a570bf:	cc                   	int3
140a570c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a570c5:	57                   	push   %rdi
140a570c6:	48 83 ec 20          	sub    $0x20,%rsp
140a570ca:	48 8b fa             	mov    %rdx,%rdi
140a570cd:	48 8b d9             	mov    %rcx,%rbx
140a570d0:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%rsp)
140a570d7:	00
140a570d8:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a570dc:	48 8d 41 04          	lea    0x4(%rcx),%rax
140a570e0:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a570e4:	76 32                	jbe    0x140a57118
140a570e6:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a570ec:	b2 18                	mov    $0x18,%dl
140a570ee:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a570f3:	e8 e8 fe fa ff       	call   0x140a06fe0
140a570f8:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a570fc:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a57101:	e8 ea 7b f6 ff       	call   0x1409becf0
140a57106:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a5710b:	e8 e0 80 f6 ff       	call   0x1409bf1f0
140a57110:	32 c0                	xor    %al,%al
140a57112:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140a57116:	eb 09                	jmp    0x140a57121
140a57118:	8b 09                	mov    (%rcx),%ecx
140a5711a:	48 83 43 10 04       	addq   $0x4,0x10(%rbx)
140a5711f:	b0 01                	mov    $0x1,%al
140a57121:	84 c0                	test   %al,%al
140a57123:	74 11                	je     0x140a57136
140a57125:	0f c9                	bswap  %ecx
140a57127:	89 0f                	mov    %ecx,(%rdi)
140a57129:	b0 01                	mov    $0x1,%al
140a5712b:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a57130:	48 83 c4 20          	add    $0x20,%rsp
140a57134:	5f                   	pop    %rdi
140a57135:	c3                   	ret
140a57136:	32 c0                	xor    %al,%al
140a57138:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a5713d:	48 83 c4 20          	add    $0x20,%rsp
140a57141:	5f                   	pop    %rdi
140a57142:	c3                   	ret
140a57143:	cc                   	int3
140a57144:	cc                   	int3
140a57145:	cc                   	int3
140a57146:	cc                   	int3
140a57147:	cc                   	int3
140a57148:	cc                   	int3
140a57149:	cc                   	int3
140a5714a:	cc                   	int3
140a5714b:	cc                   	int3
140a5714c:	cc                   	int3
140a5714d:	cc                   	int3
140a5714e:	cc                   	int3
140a5714f:	cc                   	int3
140a57150:	48 83 ec 28          	sub    $0x28,%rsp
140a57154:	e8 97 f8 ff ff       	call   0x140a569f0
140a57159:	90                   	nop
140a5715a:	48 83 c4 28          	add    $0x28,%rsp
140a5715e:	c3                   	ret
140a5715f:	cc                   	int3
140a57160:	48 83 ec 28          	sub    $0x28,%rsp
140a57164:	e8 d7 f3 ff ff       	call   0x140a56540
140a57169:	90                   	nop
140a5716a:	48 83 c4 28          	add    $0x28,%rsp
140a5716e:	c3                   	ret
140a5716f:	cc                   	int3
140a57170:	48 83 ec 28          	sub    $0x28,%rsp
140a57174:	e8 f7 f5 ff ff       	call   0x140a56770
140a57179:	90                   	nop
140a5717a:	48 83 c4 28          	add    $0x28,%rsp
140a5717e:	c3                   	ret
140a5717f:	cc                   	int3
140a57180:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140a57185:	55                   	push   %rbp
140a57186:	56                   	push   %rsi
140a57187:	57                   	push   %rdi
140a57188:	41 54                	push   %r12
140a5718a:	41 55                	push   %r13
140a5718c:	41 56                	push   %r14
140a5718e:	41 57                	push   %r15
140a57190:	48 8d 6c 24 b0       	lea    -0x50(%rsp),%rbp
140a57195:	48 81 ec 50 01 00 00 	sub    $0x150,%rsp
140a5719c:	48 8b 05 5d 1d 96 00 	mov    0x961d5d(%rip),%rax        # 0x1413b8f00
140a571a3:	48 33 c4             	xor    %rsp,%rax
140a571a6:	48 89 45 40          	mov    %rax,0x40(%rbp)
140a571aa:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
140a571af:	48 8b d9             	mov    %rcx,%rbx
140a571b2:	45 33 e4             	xor    %r12d,%r12d
140a571b5:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
140a571ba:	0f 57 c0             	xorps  %xmm0,%xmm0
140a571bd:	0f 11 45 20          	movups %xmm0,0x20(%rbp)
140a571c1:	48 c7 45 38 0f 00 00 	movq   $0xf,0x38(%rbp)
140a571c8:	00
140a571c9:	4c 89 65 30          	mov    %r12,0x30(%rbp)
140a571cd:	44 88 65 20          	mov    %r12b,0x20(%rbp)
140a571d1:	45 33 f6             	xor    %r14d,%r14d
140a571d4:	40 32 ff             	xor    %dil,%dil
140a571d7:	33 f6                	xor    %esi,%esi
140a571d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140a571e0:	48 8b 43 10          	mov    0x10(%rbx),%rax
140a571e4:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a571e8:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140a571ec:	77 0b                	ja     0x140a571f9
140a571ee:	0f b6 38             	movzbl (%rax),%edi
140a571f1:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a571f5:	b0 01                	mov    $0x1,%al
140a571f7:	eb 30                	jmp    0x140a57229
140a571f9:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a571ff:	b2 18                	mov    $0x18,%dl
140a57201:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a57206:	e8 d5 fd fa ff       	call   0x140a06fe0
140a5720b:	41 83 cc 01          	or     $0x1,%r12d
140a5720f:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a57214:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a57218:	e8 d3 7a f6 ff       	call   0x1409becf0
140a5721d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a57222:	e8 c9 7f f6 ff       	call   0x1409bf1f0
140a57227:	32 c0                	xor    %al,%al
140a57229:	84 c0                	test   %al,%al
140a5722b:	74 54                	je     0x140a57281
140a5722d:	40 8b c7             	rex mov %edi,%eax
140a57230:	83 e0 7f             	and    $0x7f,%eax
140a57233:	8b ce                	mov    %esi,%ecx
140a57235:	d3 e0                	shl    %cl,%eax
140a57237:	44 0b f0             	or     %eax,%r14d
140a5723a:	83 c6 07             	add    $0x7,%esi
140a5723d:	40 84 ff             	test   %dil,%dil
140a57240:	78 9e                	js     0x140a571e0
140a57242:	41 8b fe             	mov    %r14d,%edi
140a57245:	4c 8b 6b 10          	mov    0x10(%rbx),%r13
140a57249:	4b 8d 04 2e          	lea    (%r14,%r13,1),%rax
140a5724d:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a57251:	0f 86 91 00 00 00    	jbe    0x140a572e8
140a57257:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a5725d:	b2 18                	mov    $0x18,%dl
140a5725f:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a57264:	e8 77 fd fa ff       	call   0x140a06fe0
140a57269:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a5726e:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a57272:	e8 79 7a f6 ff       	call   0x1409becf0
140a57277:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a5727c:	e8 6f 7f f6 ff       	call   0x1409bf1f0
140a57281:	32 db                	xor    %bl,%bl
140a57283:	48 8b 55 38          	mov    0x38(%rbp),%rdx
140a57287:	48 83 fa 0f          	cmp    $0xf,%rdx
140a5728b:	76 31                	jbe    0x140a572be
140a5728d:	48 ff c2             	inc    %rdx
140a57290:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
140a57294:	48 8b c1             	mov    %rcx,%rax
140a57297:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a5729e:	72 19                	jb     0x140a572b9
140a572a0:	48 83 c2 27          	add    $0x27,%rdx
140a572a4:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140a572a8:	48 2b c1             	sub    %rcx,%rax
140a572ab:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a572af:	48 83 f8 1f          	cmp    $0x1f,%rax
140a572b3:	0f 87 56 02 00 00    	ja     0x140a5750f
140a572b9:	e8 86 3e 3c 00       	call   0x140e1b144
140a572be:	0f b6 c3             	movzbl %bl,%eax
140a572c1:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
140a572c5:	48 33 cc             	xor    %rsp,%rcx
140a572c8:	e8 33 42 3c 00       	call   0x140e1b500
140a572cd:	48 8b 9c 24 a0 01 00 	mov    0x1a0(%rsp),%rbx
140a572d4:	00
140a572d5:	48 81 c4 50 01 00 00 	add    $0x150,%rsp
140a572dc:	41 5f                	pop    %r15
140a572de:	41 5e                	pop    %r14
140a572e0:	41 5d                	pop    %r13
140a572e2:	41 5c                	pop    %r12
140a572e4:	5f                   	pop    %rdi
140a572e5:	5e                   	pop    %rsi
140a572e6:	5d                   	pop    %rbp
140a572e7:	c3                   	ret
140a572e8:	48 83 ff 0f          	cmp    $0xf,%rdi
140a572ec:	77 1e                	ja     0x140a5730c
140a572ee:	48 89 7d 30          	mov    %rdi,0x30(%rbp)
140a572f2:	4c 8b c7             	mov    %rdi,%r8
140a572f5:	49 8b d5             	mov    %r13,%rdx
140a572f8:	48 8d 4d 20          	lea    0x20(%rbp),%rcx
140a572fc:	e8 0f 7d 48 00       	call   0x140edf010
140a57301:	42 c6 44 35 20 00    	movb   $0x0,0x20(%rbp,%r14,1)
140a57307:	e9 9d 00 00 00       	jmp    0x140a573a9
140a5730c:	48 8b c7             	mov    %rdi,%rax
140a5730f:	48 83 c8 0f          	or     $0xf,%rax
140a57313:	49 be ff ff ff ff ff 	movabs $0x7fffffffffffffff,%r14
140a5731a:	ff ff 7f
140a5731d:	49 3b c6             	cmp    %r14,%rax
140a57320:	76 2d                	jbe    0x140a5734f
140a57322:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140a57329:	00 00 80
140a5732c:	48 83 c0 27          	add    $0x27,%rax
140a57330:	48 8b c8             	mov    %rax,%rcx
140a57333:	e8 d0 3d 3c 00       	call   0x140e1b108
140a57338:	48 85 c0             	test   %rax,%rax
140a5733b:	0f 84 c2 01 00 00    	je     0x140a57503
140a57341:	48 8d 70 27          	lea    0x27(%rax),%rsi
140a57345:	48 83 e6 e0          	and    $0xffffffffffffffe0,%rsi
140a57349:	48 89 46 f8          	mov    %rax,-0x8(%rsi)
140a5734d:	eb 3c                	jmp    0x140a5738b
140a5734f:	4c 8b f0             	mov    %rax,%r14
140a57352:	b9 16 00 00 00       	mov    $0x16,%ecx
140a57357:	48 3b c1             	cmp    %rcx,%rax
140a5735a:	4c 0f 42 f1          	cmovb  %rcx,%r14
140a5735e:	49 8d 4e 01          	lea    0x1(%r14),%rcx
140a57362:	48 85 c9             	test   %rcx,%rcx
140a57365:	75 04                	jne    0x140a5736b
140a57367:	33 f6                	xor    %esi,%esi
140a57369:	eb 20                	jmp    0x140a5738b
140a5736b:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140a57372:	72 0f                	jb     0x140a57383
140a57374:	48 8d 41 27          	lea    0x27(%rcx),%rax
140a57378:	48 3b c1             	cmp    %rcx,%rax
140a5737b:	0f 86 88 01 00 00    	jbe    0x140a57509
140a57381:	eb ad                	jmp    0x140a57330
140a57383:	e8 80 3d 3c 00       	call   0x140e1b108
140a57388:	48 8b f0             	mov    %rax,%rsi
140a5738b:	48 89 7d 30          	mov    %rdi,0x30(%rbp)
140a5738f:	4c 89 75 38          	mov    %r14,0x38(%rbp)
140a57393:	4c 8b c7             	mov    %rdi,%r8
140a57396:	49 8b d5             	mov    %r13,%rdx
140a57399:	48 8b ce             	mov    %rsi,%rcx
140a5739c:	e8 6f 7c 48 00       	call   0x140edf010
140a573a1:	c6 04 37 00          	movb   $0x0,(%rdi,%rsi,1)
140a573a5:	48 89 75 20          	mov    %rsi,0x20(%rbp)
140a573a9:	48 01 7b 10          	add    %rdi,0x10(%rbx)
140a573ad:	48 8d 05 dc 8e 5c 00 	lea    0x5c8edc(%rip),%rax        # 0x141020290
140a573b4:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140a573b9:	33 c0                	xor    %eax,%eax
140a573bb:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140a573bf:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140a573c3:	89 45 d8             	mov    %eax,-0x28(%rbp)
140a573c6:	0f 57 c0             	xorps  %xmm0,%xmm0
140a573c9:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140a573ce:	0f 57 c9             	xorps  %xmm1,%xmm1
140a573d1:	66 0f 7f 4d f0       	movdqa %xmm1,-0x10(%rbp)
140a573d6:	66 0f 7f 45 00       	movdqa %xmm0,0x0(%rbp)
140a573db:	48 89 45 10          	mov    %rax,0x10(%rbp)
140a573df:	88 45 18             	mov    %al,0x18(%rbp)
140a573e2:	41 83 cc 04          	or     $0x4,%r12d
140a573e6:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
140a573eb:	48 8d 35 96 e4 58 00 	lea    0x58e496(%rip),%rsi        # 0x140fe5888
140a573f2:	48 89 75 c0          	mov    %rsi,-0x40(%rbp)
140a573f6:	c7 45 bc 78 00 00 00 	movl   $0x78,-0x44(%rbp)
140a573fd:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140a57402:	45 33 c0             	xor    %r8d,%r8d
140a57405:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a5740a:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140a5740e:	e8 bd fd 7a ff       	call   0x1402071d0
140a57413:	90                   	nop
140a57414:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a57419:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a5741d:	48 8d 3d 64 8e 5c 00 	lea    0x5c8e64(%rip),%rdi        # 0x141020288
140a57424:	48 89 7c 0c 30       	mov    %rdi,0x30(%rsp,%rcx,1)
140a57429:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a5742e:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a57432:	44 8d 81 70 ff ff ff 	lea    -0x90(%rcx),%r8d
140a57439:	44 89 44 0c 2c       	mov    %r8d,0x2c(%rsp,%rcx,1)
140a5743e:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140a57444:	48 8d 55 20          	lea    0x20(%rbp),%rdx
140a57448:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a5744d:	e8 fe 82 d2 ff       	call   0x14077f750
140a57452:	90                   	nop
140a57453:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140a57458:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a5745d:	e8 8e ea ff ff       	call   0x140a55ef0
140a57462:	48 8b 08             	mov    (%rax),%rcx
140a57465:	48 63 51 04          	movslq 0x4(%rcx),%rdx
140a57469:	f6 44 02 10 06       	testb  $0x6,0x10(%rdx,%rax,1)
140a5746e:	75 04                	jne    0x140a57474
140a57470:	b3 01                	mov    $0x1,%bl
140a57472:	eb 2c                	jmp    0x140a574a0
140a57474:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a5747a:	b2 14                	mov    $0x14,%dl
140a5747c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a57481:	e8 5a fb fa ff       	call   0x140a06fe0
140a57486:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a5748b:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a5748f:	e8 5c 78 f6 ff       	call   0x1409becf0
140a57494:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a57499:	e8 52 7d f6 ff       	call   0x1409bf1f0
140a5749e:	32 db                	xor    %bl,%bl
140a574a0:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a574a5:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a574a9:	48 89 7c 0c 30       	mov    %rdi,0x30(%rsp,%rcx,1)
140a574ae:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a574b3:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a574b7:	8d 91 70 ff ff ff    	lea    -0x90(%rcx),%edx
140a574bd:	89 54 0c 2c          	mov    %edx,0x2c(%rsp,%rcx,1)
140a574c1:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a574c6:	e8 25 9e 78 ff       	call   0x1401e12f0
140a574cb:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a574d0:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a574d4:	48 89 74 0c 30       	mov    %rsi,0x30(%rsp,%rcx,1)
140a574d9:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a574de:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a574e2:	8d 51 e8             	lea    -0x18(%rcx),%edx
140a574e5:	89 54 0c 2c          	mov    %edx,0x2c(%rsp,%rcx,1)
140a574e9:	48 8d 05 f0 21 55 00 	lea    0x5521f0(%rip),%rax        # 0x140fa96e0
140a574f0:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140a574f4:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140a574f8:	e8 07 55 3a 00       	call   0x140dfca04
140a574fd:	90                   	nop
140a574fe:	e9 80 fd ff ff       	jmp    0x140a57283
140a57503:	e8 9c 2c 3d 00       	call   0x140e2a1a4
140a57508:	cc                   	int3
140a57509:	e8 82 5c 74 ff       	call   0x14019d190
140a5750e:	90                   	nop
140a5750f:	e8 90 2c 3d 00       	call   0x140e2a1a4
140a57514:	cc                   	int3
140a57515:	cc                   	int3
140a57516:	cc                   	int3
140a57517:	cc                   	int3
140a57518:	cc                   	int3
140a57519:	cc                   	int3
140a5751a:	cc                   	int3
140a5751b:	cc                   	int3
140a5751c:	cc                   	int3
140a5751d:	cc                   	int3
140a5751e:	cc                   	int3
140a5751f:	cc                   	int3
140a57520:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a57525:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a5752a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a5752f:	57                   	push   %rdi
140a57530:	41 56                	push   %r14