14001522e:	8b 5d f4             	mov    -0xc(%rbp),%ebx
140015231:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140015235:	e8 2e 99 ff ff       	call   0x14000eb68
14001523a:	89 58 24             	mov    %ebx,0x24(%rax)
14001523d:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140015242:	8b c7                	mov    %edi,%eax
140015244:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140015248:	49 8b 73 18          	mov    0x18(%r11),%rsi
14001524c:	49 8b 7b 20          	mov    0x20(%r11),%rdi
140015250:	49 8b e3             	mov    %r11,%rsp
140015253:	5d                   	pop    %rbp
140015254:	c3                   	ret
140015255:	cc                   	int3
140015256:	cc                   	int3
140015257:	cc                   	int3
140015258:	f6 c1 04             	test   $0x4,%cl
14001525b:	75 2d                	jne    0x14001528a
14001525d:	f6 c1 01             	test   $0x1,%cl
140015260:	74 14                	je     0x140015276
140015262:	f6 c1 02             	test   $0x2,%cl
140015265:	74 12                	je     0x140015279
140015267:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14001526e:	00 00 80
140015271:	48 3b d0             	cmp    %rax,%rdx
140015274:	77 14                	ja     0x14001528a
140015276:	32 c0                	xor    %al,%al
140015278:	c3                   	ret
140015279:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140015280:	ff ff 7f
140015283:	48 3b d0             	cmp    %rax,%rdx
140015286:	0f 97 c0             	seta   %al
140015289:	c3                   	ret
14001528a:	b0 01                	mov    $0x1,%al
14001528c:	c3                   	ret
14001528d:	cc                   	int3
14001528e:	cc                   	int3
14001528f:	cc                   	int3
140015290:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140015295:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14001529a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14001529f:	57                   	push   %rdi
1400152a0:	41 54                	push   %r12
1400152a2:	41 55                	push   %r13
1400152a4:	41 56                	push   %r14
1400152a6:	41 57                	push   %r15
1400152a8:	48 83 ec 30          	sub    $0x30,%rsp
1400152ac:	4c 8b 22             	mov    (%rdx),%r12
1400152af:	41 8b e8             	mov    %r8d,%ebp
1400152b2:	45 0f b6 f9          	movzbl %r9b,%r15d
1400152b6:	48 8b da             	mov    %rdx,%rbx
1400152b9:	4c 8b e9             	mov    %rcx,%r13
1400152bc:	4d 85 e4             	test   %r12,%r12
1400152bf:	75 12                	jne    0x1400152d3
1400152c1:	e8 16 be 00 00       	call   0x1400210dc
1400152c6:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400152cc:	e8 83 9c ff ff       	call   0x14000ef54
1400152d1:	eb 32                	jmp    0x140015305
1400152d3:	85 ed                	test   %ebp,%ebp
1400152d5:	74 46                	je     0x14001531d
1400152d7:	41 8d 40 fe          	lea    -0x2(%r8),%eax
1400152db:	83 f8 22             	cmp    $0x22,%eax
1400152de:	76 3d                	jbe    0x14001531d
1400152e0:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
1400152e4:	45 33 c9             	xor    %r9d,%r9d
1400152e7:	c7 41 2c 16 00 00 00 	movl   $0x16,0x2c(%rcx)
1400152ee:	45 33 c0             	xor    %r8d,%r8d
1400152f1:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1400152f6:	33 c9                	xor    %ecx,%ecx
1400152f8:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400152fe:	33 d2                	xor    %edx,%edx
140015300:	e8 83 9b ff ff       	call   0x14000ee88
140015305:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140015309:	48 85 c9             	test   %rcx,%rcx
14001530c:	0f 84 b4 01 00 00    	je     0x1400154c6
140015312:	48 8b 03             	mov    (%rbx),%rax
140015315:	48 89 01             	mov    %rax,(%rcx)
140015318:	e9 a9 01 00 00       	jmp    0x1400154c6
14001531d:	41 0f b6 34 24       	movzbl (%r12),%esi
140015322:	49 8d 44 24 01       	lea    0x1(%r12),%rax
140015327:	45 33 f6             	xor    %r14d,%r14d
14001532a:	48 89 02             	mov    %rax,(%rdx)
14001532d:	44 38 71 28          	cmp    %r14b,0x28(%rcx)
140015331:	75 13                	jne    0x140015346
140015333:	e8 08 f3 ff ff       	call   0x140014640
140015338:	eb 0c                	jmp    0x140015346
14001533a:	48 8b 03             	mov    (%rbx),%rax
14001533d:	0f b6 30             	movzbl (%rax),%esi
140015340:	48 ff c0             	inc    %rax
140015343:	48 89 03             	mov    %rax,(%rbx)
140015346:	4d 8d 45 18          	lea    0x18(%r13),%r8
14001534a:	ba 08 00 00 00       	mov    $0x8,%edx
14001534f:	8b ce                	mov    %esi,%ecx
140015351:	e8 a2 0c 00 00       	call   0x140015ff8
140015356:	85 c0                	test   %eax,%eax
140015358:	75 e0                	jne    0x14001533a
14001535a:	41 8b c7             	mov    %r15d,%eax
14001535d:	41 8b ff             	mov    %r15d,%edi
140015360:	41 bf 02 00 00 00    	mov    $0x2,%r15d
140015366:	41 0b ff             	or     %r15d,%edi
140015369:	40 80 fe 2d          	cmp    $0x2d,%sil
14001536d:	0f 45 f8             	cmovne %eax,%edi
140015370:	8d 46 d5             	lea    -0x2b(%rsi),%eax
140015373:	a8 fd                	test   $0xfd,%al
140015375:	75 0c                	jne    0x140015383
140015377:	48 8b 03             	mov    (%rbx),%rax
14001537a:	40 8a 30             	mov    (%rax),%sil
14001537d:	48 ff c0             	inc    %rax
140015380:	48 89 03             	mov    %rax,(%rbx)
140015383:	f7 c5 ef ff ff ff    	test   $0xffffffef,%ebp
140015389:	0f 85 8b 00 00 00    	jne    0x14001541a
14001538f:	8d 46 d0             	lea    -0x30(%rsi),%eax
140015392:	3c 09                	cmp    $0x9,%al
140015394:	77 09                	ja     0x14001539f
140015396:	40 0f be c6          	movsbl %sil,%eax
14001539a:	83 c0 d0             	add    $0xffffffd0,%eax
14001539d:	eb 1e                	jmp    0x1400153bd
14001539f:	8d 46 9f             	lea    -0x61(%rsi),%eax
1400153a2:	3c 19                	cmp    $0x19,%al
1400153a4:	77 09                	ja     0x1400153af
1400153a6:	40 0f be c6          	movsbl %sil,%eax
1400153aa:	83 c0 a9             	add    $0xffffffa9,%eax
1400153ad:	eb 0e                	jmp    0x1400153bd
1400153af:	8d 46 bf             	lea    -0x41(%rsi),%eax
1400153b2:	3c 19                	cmp    $0x19,%al
1400153b4:	77 58                	ja     0x14001540e
1400153b6:	40 0f be c6          	movsbl %sil,%eax
1400153ba:	83 c0 c9             	add    $0xffffffc9,%eax
1400153bd:	85 c0                	test   %eax,%eax
1400153bf:	75 4d                	jne    0x14001540e
1400153c1:	48 8b 0b             	mov    (%rbx),%rcx
1400153c4:	8a 11                	mov    (%rcx),%dl
1400153c6:	4c 8d 41 01          	lea    0x1(%rcx),%r8
1400153ca:	4c 89 03             	mov    %r8,(%rbx)
1400153cd:	8d 42 a8             	lea    -0x58(%rdx),%eax
1400153d0:	a8 df                	test   $0xdf,%al
1400153d2:	74 29                	je     0x1400153fd
1400153d4:	85 ed                	test   %ebp,%ebp
1400153d6:	48 89 0b             	mov    %rcx,(%rbx)
1400153d9:	b8 08 00 00 00       	mov    $0x8,%eax
1400153de:	0f 45 c5             	cmovne %ebp,%eax
1400153e1:	8b e8                	mov    %eax,%ebp
1400153e3:	84 d2                	test   %dl,%dl
1400153e5:	74 33                	je     0x14001541a
1400153e7:	38 11                	cmp    %dl,(%rcx)
1400153e9:	74 2f                	je     0x14001541a
1400153eb:	e8 ec bc 00 00       	call   0x1400210dc
1400153f0:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400153f6:	e8 59 9b ff ff       	call   0x14000ef54
1400153fb:	eb 1d                	jmp    0x14001541a
1400153fd:	41 8a 30             	mov    (%r8),%sil
140015400:	49 8d 40 01          	lea    0x1(%r8),%rax
140015404:	48 89 03             	mov    %rax,(%rbx)
140015407:	b8 10 00 00 00       	mov    $0x10,%eax
14001540c:	eb 05                	jmp    0x140015413
14001540e:	b8 0a 00 00 00       	mov    $0xa,%eax
140015413:	85 ed                	test   %ebp,%ebp
140015415:	0f 45 c5             	cmovne %ebp,%eax
140015418:	8b e8                	mov    %eax,%ebp
14001541a:	33 d2                	xor    %edx,%edx
14001541c:	83 c8 ff             	or     $0xffffffff,%eax
14001541f:	f7 f5                	div    %ebp
140015421:	44 8b c8             	mov    %eax,%r9d
140015424:	8d 4e d0             	lea    -0x30(%rsi),%ecx
140015427:	80 f9 09             	cmp    $0x9,%cl
14001542a:	77 09                	ja     0x140015435
14001542c:	40 0f be ce          	movsbl %sil,%ecx
140015430:	83 c1 d0             	add    $0xffffffd0,%ecx
140015433:	eb 23                	jmp    0x140015458
140015435:	8d 46 9f             	lea    -0x61(%rsi),%eax
140015438:	3c 19                	cmp    $0x19,%al
14001543a:	77 09                	ja     0x140015445
14001543c:	40 0f be ce          	movsbl %sil,%ecx
140015440:	83 c1 a9             	add    $0xffffffa9,%ecx
140015443:	eb 13                	jmp    0x140015458
140015445:	8d 46 bf             	lea    -0x41(%rsi),%eax
140015448:	3c 19                	cmp    $0x19,%al
14001544a:	77 09                	ja     0x140015455
14001544c:	40 0f be ce          	movsbl %sil,%ecx
140015450:	83 c1 c9             	add    $0xffffffc9,%ecx
140015453:	eb 03                	jmp    0x140015458
140015455:	83 c9 ff             	or     $0xffffffff,%ecx
140015458:	4c 8b 03             	mov    (%rbx),%r8
14001545b:	3b cd                	cmp    %ebp,%ecx
14001545d:	73 31                	jae    0x140015490
14001545f:	41 8a 30             	mov    (%r8),%sil
140015462:	41 8b c6             	mov    %r14d,%eax
140015465:	0f af c5             	imul   %ebp,%eax
140015468:	8d 14 08             	lea    (%rax,%rcx,1),%edx
14001546b:	33 c9                	xor    %ecx,%ecx
14001546d:	3b d0                	cmp    %eax,%edx
14001546f:	0f 92 c1             	setb   %cl
140015472:	33 c0                	xor    %eax,%eax
140015474:	45 3b f1             	cmp    %r9d,%r14d
140015477:	44 8b f2             	mov    %edx,%r14d
14001547a:	0f 97 c0             	seta   %al
14001547d:	0b c8                	or     %eax,%ecx
14001547f:	49 8d 40 01          	lea    0x1(%r8),%rax
140015483:	c1 e1 02             	shl    $0x2,%ecx
140015486:	83 c9 08             	or     $0x8,%ecx
140015489:	48 89 03             	mov    %rax,(%rbx)
14001548c:	0b f9                	or     %ecx,%edi
14001548e:	eb 94                	jmp    0x140015424
140015490:	49 8d 40 ff          	lea    -0x1(%r8),%rax
140015494:	48 89 03             	mov    %rax,(%rbx)
140015497:	40 84 f6             	test   %sil,%sil
14001549a:	74 15                	je     0x1400154b1
14001549c:	40 38 30             	cmp    %sil,(%rax)
14001549f:	74 10                	je     0x1400154b1
1400154a1:	e8 36 bc 00 00       	call   0x1400210dc
1400154a6:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400154ac:	e8 a3 9a ff ff       	call   0x14000ef54
1400154b1:	40 f6 c7 08          	test   $0x8,%dil
1400154b5:	75 16                	jne    0x1400154cd
1400154b7:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400154bb:	4c 89 23             	mov    %r12,(%rbx)
1400154be:	48 85 c0             	test   %rax,%rax
1400154c1:	74 03                	je     0x1400154c6
1400154c3:	4c 89 20             	mov    %r12,(%rax)
1400154c6:	33 c0                	xor    %eax,%eax
1400154c8:	e9 93 00 00 00       	jmp    0x140015560
1400154cd:	41 b8 00 00 00 80    	mov    $0x80000000,%r8d
1400154d3:	45 8d 48 ff          	lea    -0x1(%r8),%r9d
1400154d7:	40 f6 c7 04          	test   $0x4,%dil
1400154db:	74 09                	je     0x1400154e6
1400154dd:	b8 01 00 00 00       	mov    $0x1,%eax
1400154e2:	8b cf                	mov    %edi,%ecx
1400154e4:	eb 1e                	jmp    0x140015504
1400154e6:	40 f6 c7 01          	test   $0x1,%dil
1400154ea:	74 5a                	je     0x140015546
1400154ec:	41 84 ff             	test   %dil,%r15b
1400154ef:	74 07                	je     0x1400154f8
1400154f1:	45 3b f0             	cmp    %r8d,%r14d
1400154f4:	76 55                	jbe    0x14001554b
1400154f6:	eb 05                	jmp    0x1400154fd
1400154f8:	45 3b f1             	cmp    %r9d,%r14d
1400154fb:	76 51                	jbe    0x14001554e
1400154fd:	b9 01 00 00 00       	mov    $0x1,%ecx
140015502:	8b c7                	mov    %edi,%eax
140015504:	41 23 ff             	and    %r15d,%edi
140015507:	41 c6 45 30 01       	movb   $0x1,0x30(%r13)
14001550c:	41 c7 45 2c 22 00 00 	movl   $0x22,0x2c(%r13)
140015513:	00
140015514:	85 c8                	test   %ecx,%eax
140015516:	75 06                	jne    0x14001551e
140015518:	41 83 ce ff          	or     $0xffffffff,%r14d
14001551c:	eb 30                	jmp    0x14001554e
14001551e:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140015522:	85 ff                	test   %edi,%edi
140015524:	74 10                	je     0x140015536
140015526:	48 85 d2             	test   %rdx,%rdx
140015529:	74 06                	je     0x140015531
14001552b:	48 8b 0b             	mov    (%rbx),%rcx
14001552e:	48 89 0a             	mov    %rcx,(%rdx)
140015531:	41 8b c0             	mov    %r8d,%eax
140015534:	eb 2a                	jmp    0x140015560
140015536:	48 85 d2             	test   %rdx,%rdx
140015539:	74 06                	je     0x140015541
14001553b:	48 8b 0b             	mov    (%rbx),%rcx
14001553e:	48 89 0a             	mov    %rcx,(%rdx)
140015541:	41 8b c1             	mov    %r9d,%eax
140015544:	eb 1a                	jmp    0x140015560
140015546:	41 84 ff             	test   %dil,%r15b
140015549:	74 03                	je     0x14001554e
14001554b:	41 f7 de             	neg    %r14d
14001554e:	48 8b 43 08          	mov    0x8(%rbx),%rax
140015552:	48 85 c0             	test   %rax,%rax
140015555:	74 06                	je     0x14001555d
140015557:	48 8b 0b             	mov    (%rbx),%rcx
14001555a:	48 89 08             	mov    %rcx,(%rax)
14001555d:	41 8b c6             	mov    %r14d,%eax
140015560:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140015565:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14001556a:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14001556f:	48 83 c4 30          	add    $0x30,%rsp
140015573:	41 5f                	pop    %r15
140015575:	41 5e                	pop    %r14
140015577:	41 5d                	pop    %r13
140015579:	41 5c                	pop    %r12
14001557b:	5f                   	pop    %rdi
14001557c:	c3                   	ret
14001557d:	cc                   	int3
14001557e:	cc                   	int3
14001557f:	cc                   	int3
140015580:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140015585:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14001558a:	55                   	push   %rbp
14001558b:	56                   	push   %rsi
14001558c:	57                   	push   %rdi
14001558d:	41 54                	push   %r12
14001558f:	41 55                	push   %r13
140015591:	41 56                	push   %r14
140015593:	41 57                	push   %r15
140015595:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
14001559c:	4c 8b 22             	mov    (%rdx),%r12
14001559f:	33 ed                	xor    %ebp,%ebp
1400155a1:	41 0f b6 f1          	movzbl %r9b,%esi
1400155a5:	45 8b f8             	mov    %r8d,%r15d
1400155a8:	4c 89 a4 24 90 00 00 	mov    %r12,0x90(%rsp)
1400155af:	00
1400155b0:	48 8b fa             	mov    %rdx,%rdi
1400155b3:	4d 85 e4             	test   %r12,%r12
1400155b6:	75 12                	jne    0x1400155ca
1400155b8:	e8 1f bb 00 00       	call   0x1400210dc
1400155bd:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400155c3:	e8 8c 99 ff ff       	call   0x14000ef54
1400155c8:	eb 32                	jmp    0x1400155fc
1400155ca:	45 85 ff             	test   %r15d,%r15d
1400155cd:	74 45                	je     0x140015614
1400155cf:	41 8d 40 fe          	lea    -0x2(%r8),%eax
1400155d3:	83 f8 22             	cmp    $0x22,%eax
1400155d6:	76 3c                	jbe    0x140015614
1400155d8:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1400155dd:	45 33 c9             	xor    %r9d,%r9d
1400155e0:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
1400155e4:	45 33 c0             	xor    %r8d,%r8d
1400155e7:	c7 41 2c 16 00 00 00 	movl   $0x16,0x2c(%rcx)
1400155ee:	33 d2                	xor    %edx,%edx
1400155f0:	33 c9                	xor    %ecx,%ecx
1400155f2:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1400155f7:	e8 8c 98 ff ff       	call   0x14000ee88
1400155fc:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140015600:	48 85 c9             	test   %rcx,%rcx
140015603:	0f 84 5d 06 00 00    	je     0x140015c66
140015609:	48 8b 07             	mov    (%rdi),%rax
14001560c:	48 89 01             	mov    %rax,(%rcx)
14001560f:	e9 52 06 00 00       	jmp    0x140015c66
140015614:	41 0f b7 1c 24       	movzwl (%r12),%ebx
140015619:	49 8d 44 24 02       	lea    0x2(%r12),%rax
14001561e:	48 89 02             	mov    %rax,(%rdx)
140015621:	44 8b f5             	mov    %ebp,%r14d
140015624:	40 38 69 28          	cmp    %bpl,0x28(%rcx)
140015628:	75 14                	jne    0x14001563e
14001562a:	e8 11 f0 ff ff       	call   0x140014640
14001562f:	eb 0d                	jmp    0x14001563e
140015631:	48 8b 07             	mov    (%rdi),%rax
140015634:	0f b7 18             	movzwl (%rax),%ebx
140015637:	48 83 c0 02          	add    $0x2,%rax
14001563b:	48 89 07             	mov    %rax,(%rdi)
14001563e:	ba 08 00 00 00       	mov    $0x8,%edx
140015643:	0f b7 cb             	movzwl %bx,%ecx
140015646:	e8 45 da 00 00       	call   0x140023090
14001564b:	85 c0                	test   %eax,%eax
14001564d:	75 e2                	jne    0x140015631
14001564f:	8b c6                	mov    %esi,%eax
140015651:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
140015656:	83 ce 02             	or     $0x2,%esi
140015659:	66 83 fb 2d          	cmp    $0x2d,%bx
14001565d:	0f 45 f0             	cmovne %eax,%esi
140015660:	8d 43 d5             	lea    -0x2b(%rbx),%eax
140015663:	66 85 c1             	test   %ax,%cx