140757110:	48 83 ec 20          	sub    $0x20,%rsp
140757114:	48 8b da             	mov    %rdx,%rbx
140757117:	48 8b f9             	mov    %rcx,%rdi
14075711a:	33 c9                	xor    %ecx,%ecx
14075711c:	48 89 0f             	mov    %rcx,(%rdi)
14075711f:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140757123:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140757127:	48 8b 02             	mov    (%rdx),%rax
14075712a:	48 89 47 08          	mov    %rax,0x8(%rdi)
14075712e:	48 89 0a             	mov    %rcx,(%rdx)
140757131:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140757135:	e8 46 6d fe ff       	call   0x14073de80
14075713a:	89 07                	mov    %eax,(%rdi)
14075713c:	48 c1 f8 1f          	sar    $0x1f,%rax
140757140:	89 47 04             	mov    %eax,0x4(%rdi)
140757143:	48 8b 0b             	mov    (%rbx),%rcx
140757146:	48 85 c9             	test   %rcx,%rcx
140757149:	74 20                	je     0x14075716b
14075714b:	8b 41 10             	mov    0x10(%rcx),%eax
14075714e:	ff c8                	dec    %eax
140757150:	89 41 10             	mov    %eax,0x10(%rcx)
140757153:	85 c0                	test   %eax,%eax
140757155:	7f 14                	jg     0x14075716b
140757157:	78 20                	js     0x140757179
140757159:	48 8b 01             	mov    (%rcx),%rax
14075715c:	ba 01 00 00 00       	mov    $0x1,%edx
140757161:	48 8b 00             	mov    (%rax),%rax
140757164:	ff 15 b6 c8 82 00    	call   *0x82c8b6(%rip)        # 0x140f83a20
14075716a:	90                   	nop
14075716b:	48 8b c7             	mov    %rdi,%rax
14075716e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140757173:	48 83 c4 20          	add    $0x20,%rsp
140757177:	5f                   	pop    %rdi
140757178:	c3                   	ret
140757179:	b9 02 00 00 00       	mov    $0x2,%ecx
14075717e:	e8 7d 35 03 00       	call   0x14078a700
140757183:	cc                   	int3
140757184:	cc                   	int3
140757185:	cc                   	int3
140757186:	cc                   	int3
140757187:	cc                   	int3
140757188:	cc                   	int3
140757189:	cc                   	int3
14075718a:	cc                   	int3
14075718b:	cc                   	int3
14075718c:	cc                   	int3
14075718d:	cc                   	int3
14075718e:	cc                   	int3
14075718f:	cc                   	int3
140757190:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140757195:	57                   	push   %rdi
140757196:	48 83 ec 20          	sub    $0x20,%rsp
14075719a:	48 8b c1             	mov    %rcx,%rax
14075719d:	33 ff                	xor    %edi,%edi
14075719f:	48 89 39             	mov    %rdi,(%rcx)
1407571a2:	48 89 79 08          	mov    %rdi,0x8(%rcx)
1407571a6:	48 89 79 10          	mov    %rdi,0x10(%rcx)
1407571aa:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407571af:	48 83 c4 20          	add    $0x20,%rsp
1407571b3:	5f                   	pop    %rdi
1407571b4:	c3                   	ret
1407571b5:	cc                   	int3
1407571b6:	cc                   	int3
1407571b7:	cc                   	int3
1407571b8:	cc                   	int3
1407571b9:	cc                   	int3
1407571ba:	cc                   	int3
1407571bb:	cc                   	int3
1407571bc:	cc                   	int3
1407571bd:	cc                   	int3
1407571be:	cc                   	int3
1407571bf:	cc                   	int3
1407571c0:	40 53                	rex push %rbx
1407571c2:	48 83 ec 20          	sub    $0x20,%rsp
1407571c6:	48 8b d9             	mov    %rcx,%rbx
1407571c9:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1407571cd:	48 85 c9             	test   %rcx,%rcx
1407571d0:	74 20                	je     0x1407571f2
1407571d2:	8b 41 10             	mov    0x10(%rcx),%eax
1407571d5:	ff c8                	dec    %eax
1407571d7:	89 41 10             	mov    %eax,0x10(%rcx)
1407571da:	85 c0                	test   %eax,%eax
1407571dc:	7f 14                	jg     0x1407571f2
1407571de:	78 4c                	js     0x14075722c
1407571e0:	48 8b 01             	mov    (%rcx),%rax
1407571e3:	ba 01 00 00 00       	mov    $0x1,%edx
1407571e8:	48 8b 00             	mov    (%rax),%rax
1407571eb:	ff 15 2f c8 82 00    	call   *0x82c82f(%rip)        # 0x140f83a20
1407571f1:	90                   	nop
1407571f2:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1407571f6:	48 85 c9             	test   %rcx,%rcx
1407571f9:	74 20                	je     0x14075721b
1407571fb:	8b 41 10             	mov    0x10(%rcx),%eax
1407571fe:	ff c8                	dec    %eax
140757200:	89 41 10             	mov    %eax,0x10(%rcx)
140757203:	85 c0                	test   %eax,%eax
140757205:	7f 14                	jg     0x14075721b
140757207:	78 18                	js     0x140757221
140757209:	48 8b 01             	mov    (%rcx),%rax
14075720c:	ba 01 00 00 00       	mov    $0x1,%edx
140757211:	48 8b 00             	mov    (%rax),%rax
140757214:	ff 15 06 c8 82 00    	call   *0x82c806(%rip)        # 0x140f83a20
14075721a:	90                   	nop
14075721b:	48 83 c4 20          	add    $0x20,%rsp
14075721f:	5b                   	pop    %rbx
140757220:	c3                   	ret
140757221:	b9 02 00 00 00       	mov    $0x2,%ecx
140757226:	e8 d5 34 03 00       	call   0x14078a700
14075722b:	90                   	nop
14075722c:	b9 02 00 00 00       	mov    $0x2,%ecx
140757231:	e8 ca 34 03 00       	call   0x14078a700
140757236:	cc                   	int3
140757237:	cc                   	int3
140757238:	cc                   	int3
140757239:	cc                   	int3
14075723a:	cc                   	int3
14075723b:	cc                   	int3
14075723c:	cc                   	int3
14075723d:	cc                   	int3
14075723e:	cc                   	int3
14075723f:	cc                   	int3
140757240:	4c 8b c9             	mov    %rcx,%r9
140757243:	48 3b ca             	cmp    %rdx,%rcx
140757246:	74 2a                	je     0x140757272
140757248:	8b 02                	mov    (%rdx),%eax
14075724a:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14075724e:	89 01                	mov    %eax,(%rcx)
140757250:	8b 42 04             	mov    0x4(%rdx),%eax
140757253:	89 41 04             	mov    %eax,0x4(%rcx)
140757256:	48 8b 42 08          	mov    0x8(%rdx),%rax
14075725a:	48 89 41 08          	mov    %rax,0x8(%rcx)
14075725e:	48 8b 42 10          	mov    0x10(%rdx),%rax
140757262:	4c 89 42 08          	mov    %r8,0x8(%rdx)
140757266:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14075726a:	49 89 41 10          	mov    %rax,0x10(%r9)
14075726e:	48 89 4a 10          	mov    %rcx,0x10(%rdx)
140757272:	49 8b c1             	mov    %r9,%rax
140757275:	c3                   	ret
140757276:	cc                   	int3
140757277:	cc                   	int3
140757278:	cc                   	int3
140757279:	cc                   	int3
14075727a:	cc                   	int3
14075727b:	cc                   	int3
14075727c:	cc                   	int3
14075727d:	cc                   	int3
14075727e:	cc                   	int3
14075727f:	cc                   	int3
140757280:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140757285:	57                   	push   %rdi
140757286:	48 83 ec 20          	sub    $0x20,%rsp
14075728a:	48 8b fa             	mov    %rdx,%rdi
14075728d:	48 8b d9             	mov    %rcx,%rbx
140757290:	48 3b ca             	cmp    %rdx,%rcx
140757293:	74 24                	je     0x1407572b9
140757295:	8b 02                	mov    (%rdx),%eax
140757297:	89 01                	mov    %eax,(%rcx)
140757299:	8b 42 04             	mov    0x4(%rdx),%eax
14075729c:	48 83 c2 08          	add    $0x8,%rdx
1407572a0:	89 41 04             	mov    %eax,0x4(%rcx)
1407572a3:	48 83 c1 08          	add    $0x8,%rcx
1407572a7:	e8 d4 54 b0 ff       	call   0x14025c780
1407572ac:	48 8d 57 10          	lea    0x10(%rdi),%rdx
1407572b0:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
1407572b4:	e8 c7 54 b0 ff       	call   0x14025c780
1407572b9:	48 8b c3             	mov    %rbx,%rax
1407572bc:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407572c1:	48 83 c4 20          	add    $0x20,%rsp
1407572c5:	5f                   	pop    %rdi
1407572c6:	c3                   	ret
1407572c7:	cc                   	int3
1407572c8:	cc                   	int3
1407572c9:	cc                   	int3
1407572ca:	cc                   	int3
1407572cb:	cc                   	int3
1407572cc:	cc                   	int3
1407572cd:	cc                   	int3
1407572ce:	cc                   	int3
1407572cf:	cc                   	int3
1407572d0:	40 53                	rex push %rbx
1407572d2:	48 83 ec 30          	sub    $0x30,%rsp
1407572d6:	44 8b 41 04          	mov    0x4(%rcx),%r8d
1407572da:	48 8b da             	mov    %rdx,%rbx
1407572dd:	8b 11                	mov    (%rcx),%edx
1407572df:	48 8d 0d 1a de 8c 00 	lea    0x8cde1a(%rip),%rcx        # 0x141025100
1407572e6:	e8 25 06 11 00       	call   0x140867910
1407572eb:	0f 57 c0             	xorps  %xmm0,%xmm0
1407572ee:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
1407572f5:	0f 11 03             	movups %xmm0,(%rbx)
1407572f8:	48 c7 43 10 00 00 00 	movq   $0x0,0x10(%rbx)
1407572ff:	00
140757300:	48 c7 43 18 00 00 00 	movq   $0x0,0x18(%rbx)
140757307:	00
140757308:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14075730f:	00
140757310:	49 ff c0             	inc    %r8
140757313:	42 80 3c 00 00       	cmpb   $0x0,(%rax,%r8,1)
140757318:	75 f6                	jne    0x140757310
14075731a:	48 8b d0             	mov    %rax,%rdx
14075731d:	48 8b cb             	mov    %rbx,%rcx
140757320:	e8 db fa a3 ff       	call   0x140196e00
140757325:	48 8b c3             	mov    %rbx,%rax
140757328:	48 83 c4 30          	add    $0x30,%rsp
14075732c:	5b                   	pop    %rbx
14075732d:	c3                   	ret
14075732e:	cc                   	int3
14075732f:	cc                   	int3
140757330:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140757335:	57                   	push   %rdi
140757336:	48 83 ec 20          	sub    $0x20,%rsp
14075733a:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
140757341:	48 ff c3             	inc    %rbx
140757344:	80 3c 1a 00          	cmpb   $0x0,(%rdx,%rbx,1)
140757348:	75 f7                	jne    0x140757341
14075734a:	48 83 79 18 0f       	cmpq   $0xf,0x18(%rcx)
14075734f:	48 8b 79 10          	mov    0x10(%rcx),%rdi
140757353:	76 03                	jbe    0x140757358
140757355:	48 8b 09             	mov    (%rcx),%rcx
140757358:	48 3b df             	cmp    %rdi,%rbx
14075735b:	4c 8b c7             	mov    %rdi,%r8
14075735e:	4c 0f 42 c3          	cmovb  %rbx,%r8
140757362:	e8 e9 86 78 00       	call   0x140edfa50
140757367:	85 c0                	test   %eax,%eax
140757369:	74 0f                	je     0x14075737a
14075736b:	79 21                	jns    0x14075738e
14075736d:	b0 ff                	mov    $0xff,%al
14075736f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140757374:	48 83 c4 20          	add    $0x20,%rsp
140757378:	5f                   	pop    %rdi
140757379:	c3                   	ret
14075737a:	48 3b fb             	cmp    %rbx,%rdi
14075737d:	72 ee                	jb     0x14075736d
14075737f:	77 0d                	ja     0x14075738e
140757381:	32 c0                	xor    %al,%al
140757383:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140757388:	48 83 c4 20          	add    $0x20,%rsp
14075738c:	5f                   	pop    %rdi
14075738d:	c3                   	ret
14075738e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140757393:	b0 01                	mov    $0x1,%al
140757395:	48 83 c4 20          	add    $0x20,%rsp
140757399:	5f                   	pop    %rdi
14075739a:	c3                   	ret
14075739b:	cc                   	int3
14075739c:	cc                   	int3
14075739d:	cc                   	int3
14075739e:	cc                   	int3
14075739f:	cc                   	int3
1407573a0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1407573a5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1407573aa:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1407573af:	57                   	push   %rdi
1407573b0:	41 54                	push   %r12
1407573b2:	41 55                	push   %r13
1407573b4:	41 56                	push   %r14
1407573b6:	41 57                	push   %r15
1407573b8:	48 83 ec 30          	sub    $0x30,%rsp
1407573bc:	4d 8b e8             	mov    %r8,%r13
1407573bf:	4c 8b e2             	mov    %rdx,%r12
1407573c2:	4c 8b f9             	mov    %rcx,%r15
1407573c5:	4c 8b 31             	mov    (%rcx),%r14
1407573c8:	80 7a 19 00          	cmpb   $0x0,0x19(%rdx)
1407573cc:	0f 85 9e 00 00 00    	jne    0x140757470
1407573d2:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1407573d7:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1407573de:	00 00
1407573e0:	b9 48 00 00 00       	mov    $0x48,%ecx
1407573e5:	e8 1e 3d 6c 00       	call   0x140e1b108
1407573ea:	48 8b f0             	mov    %rax,%rsi
1407573ed:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1407573f2:	49 8d 54 24 20       	lea    0x20(%r12),%rdx
1407573f7:	48 8d 48 20          	lea    0x20(%rax),%rcx
1407573fb:	e8 40 16 a5 ff       	call   0x1401a8a40
140757400:	49 8b 4c 24 40       	mov    0x40(%r12),%rcx
140757405:	48 89 4e 40          	mov    %rcx,0x40(%rsi)
140757409:	48 85 c9             	test   %rcx,%rcx
14075740c:	74 14                	je     0x140757422
14075740e:	8b 41 10             	mov    0x10(%rcx),%eax
140757411:	ff c0                	inc    %eax
140757413:	89 41 10             	mov    %eax,0x10(%rcx)
140757416:	83 f8 01             	cmp    $0x1,%eax
140757419:	7e 70                	jle    0x14075748b
14075741b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140757420:	74 71                	je     0x140757493
140757422:	4c 89 36             	mov    %r14,(%rsi)
140757425:	4c 89 76 10          	mov    %r14,0x10(%rsi)
140757429:	66 c7 46 18 00 00    	movw   $0x0,0x18(%rsi)
14075742f:	4c 89 6e 08          	mov    %r13,0x8(%rsi)
140757433:	41 0f b6 44 24 18    	movzbl 0x18(%r12),%eax
140757439:	88 46 18             	mov    %al,0x18(%rsi)
14075743c:	41 80 7e 19 00       	cmpb   $0x0,0x19(%r14)
140757441:	4c 0f 45 f6          	cmovne %rsi,%r14
140757445:	4c 89 74 24 68       	mov    %r14,0x68(%rsp)
14075744a:	4c 8b c6             	mov    %rsi,%r8
14075744d:	49 8b 14 24          	mov    (%r12),%rdx
140757451:	49 8b cf             	mov    %r15,%rcx
140757454:	e8 47 ff ff ff       	call   0x1407573a0
140757459:	48 89 06             	mov    %rax,(%rsi)
14075745c:	4c 8b c6             	mov    %rsi,%r8
14075745f:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
140757464:	49 8b cf             	mov    %r15,%rcx
140757467:	e8 34 ff ff ff       	call   0x1407573a0
14075746c:	48 89 46 10          	mov    %rax,0x10(%rsi)
140757470:	49 8b c6             	mov    %r14,%rax
140757473:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140757478:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
14075747d:	48 83 c4 30          	add    $0x30,%rsp
140757481:	41 5f                	pop    %r15
140757483:	41 5e                	pop    %r14
140757485:	41 5d                	pop    %r13
140757487:	41 5c                	pop    %r12
140757489:	5f                   	pop    %rdi
14075748a:	c3                   	ret
14075748b:	33 c9                	xor    %ecx,%ecx
14075748d:	e8 6e 32 03 00       	call   0x14078a700
140757492:	cc                   	int3
140757493:	b9 01 00 00 00       	mov    $0x1,%ecx
140757498:	e8 63 32 03 00       	call   0x14078a700
14075749d:	cc                   	int3
14075749e:	cc                   	int3
14075749f:	cc                   	int3
1407574a0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1407574a5:	53                   	push   %rbx
1407574a6:	56                   	push   %rsi
1407574a7:	57                   	push   %rdi
1407574a8:	41 54                	push   %r12
1407574aa:	41 55                	push   %r13
1407574ac:	41 56                	push   %r14
1407574ae:	41 57                	push   %r15
1407574b0:	48 83 ec 30          	sub    $0x30,%rsp
1407574b4:	49 8b f0             	mov    %r8,%rsi
1407574b7:	48 8b da             	mov    %rdx,%rbx
1407574ba:	4c 8b f1             	mov    %rcx,%r14
1407574bd:	48 8b 11             	mov    (%rcx),%rdx
1407574c0:	4c 8b e3             	mov    %rbx,%r12
1407574c3:	4c 2b e2             	sub    %rdx,%r12
1407574c6:	49 c1 fc 04          	sar    $0x4,%r12
1407574ca:	48 8b 41 08          	mov    0x8(%rcx),%rax
1407574ce:	48 2b c2             	sub    %rdx,%rax
1407574d1:	48 c1 f8 04          	sar    $0x4,%rax
1407574d5:	49 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r8
1407574dc:	ff ff 0f
1407574df:	49 3b c0             	cmp    %r8,%rax
1407574e2:	0f 84 37 02 00 00    	je     0x14075771f
1407574e8:	4c 8d 68 01          	lea    0x1(%rax),%r13
1407574ec:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1407574f0:	48 2b ca             	sub    %rdx,%rcx
1407574f3:	48 c1 f9 04          	sar    $0x4,%rcx
1407574f7:	48 8b d1             	mov    %rcx,%rdx
1407574fa:	48 d1 ea             	shr    $1,%rdx