140043234:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140043239:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14004323e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140043243:	57                   	push   %rdi
140043244:	48 83 ec 30          	sub    $0x30,%rsp
140043248:	49 63 f8             	movslq %r8d,%rdi
14004324b:	44 8b c1             	mov    %ecx,%r8d
14004324e:	48 8b f2             	mov    %rdx,%rsi
140043251:	f7 c1 ff f3 ff ff    	test   $0xfffff3ff,%ecx
140043257:	75 08                	jne    0x140043261
140043259:	81 f9 00 0c 00 00    	cmp    $0xc00,%ecx
14004325f:	75 4e                	jne    0x1400432af
140043261:	48 85 f6             	test   %rsi,%rsi
140043264:	75 04                	jne    0x14004326a
140043266:	85 ff                	test   %edi,%edi
140043268:	7f 45                	jg     0x1400432af
14004326a:	85 ff                	test   %edi,%edi
14004326c:	78 41                	js     0x1400432af
14004326e:	45 33 c9             	xor    %r9d,%r9d
140043271:	48 8d 2d 68 35 01 00 	lea    0x13568(%rip),%rbp        # 0x1400567e0
140043278:	41 ba e3 00 00 00    	mov    $0xe3,%r10d
14004327e:	43 8d 04 0a          	lea    (%r10,%r9,1),%eax
140043282:	99                   	cltd
140043283:	2b c2                	sub    %edx,%eax
140043285:	41 8b d0             	mov    %r8d,%edx
140043288:	d1 f8                	sar    $1,%eax
14004328a:	48 63 c8             	movslq %eax,%rcx
14004328d:	48 c1 e1 04          	shl    $0x4,%rcx
140043291:	2b 14 29             	sub    (%rcx,%rbp,1),%edx
140043294:	74 30                	je     0x1400432c6
140043296:	85 d2                	test   %edx,%edx
140043298:	8d 48 ff             	lea    -0x1(%rax),%ecx
14004329b:	41 0f 49 ca          	cmovns %r10d,%ecx
14004329f:	ff c0                	inc    %eax
1400432a1:	85 d2                	test   %edx,%edx
1400432a3:	44 8b d1             	mov    %ecx,%r10d
1400432a6:	44 0f 49 c8          	cmovns %eax,%r9d
1400432aa:	44 3b c9             	cmp    %ecx,%r9d
1400432ad:	7e cf                	jle    0x14004327e
1400432af:	33 c0                	xor    %eax,%eax
1400432b1:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400432b6:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400432bb:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400432c0:	48 83 c4 30          	add    $0x30,%rsp
1400432c4:	5f                   	pop    %rdi
1400432c5:	c3                   	ret
1400432c6:	85 c0                	test   %eax,%eax
1400432c8:	78 e5                	js     0x1400432af
1400432ca:	48 98                	cltq
1400432cc:	ba 55 00 00 00       	mov    $0x55,%edx
1400432d1:	48 03 c0             	add    %rax,%rax
1400432d4:	48 8b 6c c5 08       	mov    0x8(%rbp,%rax,8),%rbp
1400432d9:	48 8b cd             	mov    %rbp,%rcx
1400432dc:	e8 ab 84 fe ff       	call   0x14002b78c
1400432e1:	48 8b d8             	mov    %rax,%rbx
1400432e4:	85 ff                	test   %edi,%edi
1400432e6:	7e 16                	jle    0x1400432fe
1400432e8:	3b df                	cmp    %edi,%ebx
1400432ea:	7d c3                	jge    0x1400432af
1400432ec:	48 8b d7             	mov    %rdi,%rdx
1400432ef:	4c 8b c5             	mov    %rbp,%r8
1400432f2:	48 8b ce             	mov    %rsi,%rcx
1400432f5:	e8 02 de fe ff       	call   0x1400310fc
1400432fa:	85 c0                	test   %eax,%eax
1400432fc:	75 05                	jne    0x140043303
1400432fe:	8d 43 01             	lea    0x1(%rbx),%eax
140043301:	eb ae                	jmp    0x1400432b1
140043303:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140043309:	45 33 c9             	xor    %r9d,%r9d
14004330c:	45 33 c0             	xor    %r8d,%r8d
14004330f:	33 d2                	xor    %edx,%edx
140043311:	33 c9                	xor    %ecx,%ecx
140043313:	e8 dc 82 fe ff       	call   0x14002b5f4
140043318:	cc                   	int3
140043319:	cc                   	int3
14004331a:	cc                   	int3
14004331b:	cc                   	int3
14004331c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140043321:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140043326:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14004332b:	57                   	push   %rdi
14004332c:	41 56                	push   %r14
14004332e:	41 57                	push   %r15
140043330:	48 83 ec 20          	sub    $0x20,%rsp
140043334:	48 8b e9             	mov    %rcx,%rbp
140043337:	48 85 c9             	test   %rcx,%rcx
14004333a:	74 47                	je     0x140043383
14004333c:	33 db                	xor    %ebx,%ebx
14004333e:	4c 8d 3d bb cc fb ff 	lea    -0x43345(%rip),%r15        # 0x140000000
140043345:	bf e3 00 00 00       	mov    $0xe3,%edi
14004334a:	8d 04 1f             	lea    (%rdi,%rbx,1),%eax
14004334d:	41 b8 55 00 00 00    	mov    $0x55,%r8d
140043353:	99                   	cltd
140043354:	48 8b cd             	mov    %rbp,%rcx
140043357:	2b c2                	sub    %edx,%eax
140043359:	d1 f8                	sar    $1,%eax
14004335b:	48 63 f0             	movslq %eax,%rsi
14004335e:	4c 8b f6             	mov    %rsi,%r14
140043361:	4d 03 f6             	add    %r14,%r14
140043364:	4b 8b 94 f7 30 82 05 	mov    0x58230(%r15,%r14,8),%rdx
14004336b:	00
14004336c:	e8 e7 39 00 00       	call   0x140046d58
140043371:	85 c0                	test   %eax,%eax
140043373:	74 29                	je     0x14004339e
140043375:	79 05                	jns    0x14004337c
140043377:	8d 7e ff             	lea    -0x1(%rsi),%edi
14004337a:	eb 03                	jmp    0x14004337f
14004337c:	8d 5e 01             	lea    0x1(%rsi),%ebx
14004337f:	3b df                	cmp    %edi,%ebx
140043381:	7e c7                	jle    0x14004334a
140043383:	33 c0                	xor    %eax,%eax
140043385:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14004338a:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14004338f:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140043394:	48 83 c4 20          	add    $0x20,%rsp
140043398:	41 5f                	pop    %r15
14004339a:	41 5e                	pop    %r14
14004339c:	5f                   	pop    %rdi
14004339d:	c3                   	ret
14004339e:	4b 63 84 f7 38 82 05 	movslq 0x58238(%r15,%r14,8),%rax
1400433a5:	00
1400433a6:	85 c0                	test   %eax,%eax
1400433a8:	78 d9                	js     0x140043383
1400433aa:	48 3d e4 00 00 00    	cmp    $0xe4,%rax
1400433b0:	73 d1                	jae    0x140043383
1400433b2:	48 03 c0             	add    %rax,%rax
1400433b5:	41 8b 84 c7 e0 67 05 	mov    0x567e0(%r15,%rax,8),%eax
1400433bc:	00
1400433bd:	eb c6                	jmp    0x140043385
1400433bf:	cc                   	int3
1400433c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400433c5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400433ca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400433cf:	57                   	push   %rdi
1400433d0:	48 83 ec 20          	sub    $0x20,%rsp
1400433d4:	83 7c 24 50 00       	cmpl   $0x0,0x50(%rsp)
1400433d9:	41 8b f9             	mov    %r9d,%edi
1400433dc:	41 8b f0             	mov    %r8d,%esi
1400433df:	48 8b da             	mov    %rdx,%rbx
1400433e2:	48 8b e9             	mov    %rcx,%rbp
1400433e5:	75 0b                	jne    0x1400433f2
1400433e7:	80 3a 35             	cmpb   $0x35,(%rdx)
1400433ea:	0f 9d c0             	setge  %al
1400433ed:	e9 89 00 00 00       	jmp    0x14004347b
1400433f2:	e8 1d aa ff ff       	call   0x14003de14
1400433f7:	85 c0                	test   %eax,%eax
1400433f9:	75 30                	jne    0x14004342b
1400433fb:	80 3b 35             	cmpb   $0x35,(%rbx)
1400433fe:	8d 48 01             	lea    0x1(%rax),%ecx
140043401:	7f 0a                	jg     0x14004340d
140043403:	7c 74                	jl     0x140043479
140043405:	48 8d 43 01          	lea    0x1(%rbx),%rax
140043409:	85 ff                	test   %edi,%edi
14004340b:	75 07                	jne    0x140043414
14004340d:	8a c1                	mov    %cl,%al
14004340f:	eb 6a                	jmp    0x14004347b
140043411:	48 03 c1             	add    %rcx,%rax
140043414:	8a 10                	mov    (%rax),%dl
140043416:	80 fa 30             	cmp    $0x30,%dl
140043419:	74 f6                	je     0x140043411
14004341b:	84 d2                	test   %dl,%dl
14004341d:	75 ee                	jne    0x14004340d
14004341f:	48 3b dd             	cmp    %rbp,%rbx
140043422:	74 55                	je     0x140043479
140043424:	8a 43 ff             	mov    -0x1(%rbx),%al
140043427:	22 c1                	and    %cl,%al
140043429:	eb 50                	jmp    0x14004347b
14004342b:	3d 00 02 00 00       	cmp    $0x200,%eax
140043430:	75 21                	jne    0x140043453
140043432:	b9 01 00 00 00       	mov    $0x1,%ecx
140043437:	85 ff                	test   %edi,%edi
140043439:	74 0f                	je     0x14004344a
14004343b:	eb 03                	jmp    0x140043440
14004343d:	48 03 d9             	add    %rcx,%rbx
140043440:	8a 03                	mov    (%rbx),%al
140043442:	3c 30                	cmp    $0x30,%al
140043444:	74 f7                	je     0x14004343d
140043446:	84 c0                	test   %al,%al
140043448:	74 05                	je     0x14004344f
14004344a:	83 fe 2d             	cmp    $0x2d,%esi
14004344d:	75 be                	jne    0x14004340d
14004344f:	32 c9                	xor    %cl,%cl
140043451:	eb ba                	jmp    0x14004340d
140043453:	3d 00 01 00 00       	cmp    $0x100,%eax
140043458:	75 1f                	jne    0x140043479
14004345a:	b9 01 00 00 00       	mov    $0x1,%ecx
14004345f:	85 ff                	test   %edi,%edi
140043461:	74 0f                	je     0x140043472
140043463:	eb 03                	jmp    0x140043468
140043465:	48 03 d9             	add    %rcx,%rbx
140043468:	8a 03                	mov    (%rbx),%al
14004346a:	3c 30                	cmp    $0x30,%al
14004346c:	74 f7                	je     0x140043465
14004346e:	84 c0                	test   %al,%al
140043470:	74 dd                	je     0x14004344f
140043472:	83 fe 2d             	cmp    $0x2d,%esi
140043475:	74 96                	je     0x14004340d
140043477:	eb d6                	jmp    0x14004344f
140043479:	32 c0                	xor    %al,%al
14004347b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140043480:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140043485:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14004348a:	48 83 c4 20          	add    $0x20,%rsp
14004348e:	5f                   	pop    %rdi
14004348f:	c3                   	ret
140043490:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140043495:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14004349a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14004349f:	57                   	push   %rdi
1400434a0:	48 83 ec 30          	sub    $0x30,%rsp
1400434a4:	49 8b f9             	mov    %r9,%rdi
1400434a7:	48 8b f1             	mov    %rcx,%rsi
1400434aa:	48 85 c9             	test   %rcx,%rcx
1400434ad:	75 32                	jne    0x1400434e1
1400434af:	bb 16 00 00 00       	mov    $0x16,%ebx
1400434b4:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1400434b9:	45 33 c9             	xor    %r9d,%r9d
1400434bc:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400434c1:	45 33 c0             	xor    %r8d,%r8d
1400434c4:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400434ca:	33 d2                	xor    %edx,%edx
1400434cc:	33 c9                	xor    %ecx,%ecx
1400434ce:	89 58 2c             	mov    %ebx,0x2c(%rax)
1400434d1:	c6 40 30 01          	movb   $0x1,0x30(%rax)
1400434d5:	e8 fe 7f fe ff       	call   0x14002b4d8
1400434da:	8b c3                	mov    %ebx,%eax
1400434dc:	e9 aa 00 00 00       	jmp    0x14004358b
1400434e1:	48 85 d2             	test   %rdx,%rdx
1400434e4:	74 c9                	je     0x1400434af
1400434e6:	33 c0                	xor    %eax,%eax
1400434e8:	c6 01 00             	movb   $0x0,(%rcx)
1400434eb:	45 85 c0             	test   %r8d,%r8d
1400434ee:	41 0f 4f c0          	cmovg  %r8d,%eax
1400434f2:	ff c0                	inc    %eax
1400434f4:	48 98                	cltq
1400434f6:	48 3b d0             	cmp    %rax,%rdx
1400434f9:	77 07                	ja     0x140043502
1400434fb:	bb 22 00 00 00       	mov    $0x22,%ebx
140043500:	eb b2                	jmp    0x1400434b4
140043502:	48 85 ff             	test   %rdi,%rdi
140043505:	74 a8                	je     0x1400434af
140043507:	49 8b 49 08          	mov    0x8(%r9),%rcx
14004350b:	48 8d 5e 01          	lea    0x1(%rsi),%rbx
14004350f:	48 8b d1             	mov    %rcx,%rdx
140043512:	c6 06 30             	movb   $0x30,(%rsi)
140043515:	eb 15                	jmp    0x14004352c
140043517:	8a 02                	mov    (%rdx),%al
140043519:	84 c0                	test   %al,%al
14004351b:	74 05                	je     0x140043522
14004351d:	48 ff c2             	inc    %rdx
140043520:	eb 02                	jmp    0x140043524
140043522:	b0 30                	mov    $0x30,%al
140043524:	88 03                	mov    %al,(%rbx)
140043526:	48 ff c3             	inc    %rbx
140043529:	41 ff c8             	dec    %r8d
14004352c:	45 85 c0             	test   %r8d,%r8d
14004352f:	7f e6                	jg     0x140043517
140043531:	c6 03 00             	movb   $0x0,(%rbx)
140043534:	78 2b                	js     0x140043561
140043536:	8b 44 24 68          	mov    0x68(%rsp),%eax
14004353a:	44 8b 4c 24 60       	mov    0x60(%rsp),%r9d
14004353f:	44 8b 07             	mov    (%rdi),%r8d
140043542:	89 44 24 20          	mov    %eax,0x20(%rsp)
140043546:	e8 75 fe ff ff       	call   0x1400433c0
14004354b:	84 c0                	test   %al,%al
14004354d:	74 12                	je     0x140043561
14004354f:	eb 03                	jmp    0x140043554
140043551:	c6 03 30             	movb   $0x30,(%rbx)
140043554:	48 ff cb             	dec    %rbx
140043557:	8a 03                	mov    (%rbx),%al
140043559:	3c 39                	cmp    $0x39,%al
14004355b:	74 f4                	je     0x140043551
14004355d:	fe c0                	inc    %al
14004355f:	88 03                	mov    %al,(%rbx)
140043561:	80 3e 31             	cmpb   $0x31,(%rsi)
140043564:	75 05                	jne    0x14004356b
140043566:	ff 47 04             	incl   0x4(%rdi)
140043569:	eb 1e                	jmp    0x140043589
14004356b:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14004356f:	49 ff c0             	inc    %r8
140043572:	41 80 7c 30 01 00    	cmpb   $0x0,0x1(%r8,%rsi,1)
140043578:	75 f5                	jne    0x14004356f
14004357a:	49 ff c0             	inc    %r8
14004357d:	48 8d 56 01          	lea    0x1(%rsi),%rdx
140043581:	48 8b ce             	mov    %rsi,%rcx
140043584:	e8 47 3b fe ff       	call   0x1400270d0
140043589:	33 c0                	xor    %eax,%eax
14004358b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140043590:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140043595:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14004359a:	48 83 c4 30          	add    $0x30,%rsp
14004359e:	5f                   	pop    %rdi
14004359f:	c3                   	ret
1400435a0:	40 55                	rex push %rbp
1400435a2:	53                   	push   %rbx
1400435a3:	56                   	push   %rsi
1400435a4:	57                   	push   %rdi
1400435a5:	41 54                	push   %r12
1400435a7:	41 56                	push   %r14
1400435a9:	41 57                	push   %r15
1400435ab:	48 8d ac 24 10 f9 ff 	lea    -0x6f0(%rsp),%rbp
1400435b2:	ff
1400435b3:	48 81 ec f0 07 00 00 	sub    $0x7f0,%rsp
1400435ba:	48 8b 05 57 ea 02 00 	mov    0x2ea57(%rip),%rax        # 0x140072018
1400435c1:	48 33 c4             	xor    %rsp,%rax
1400435c4:	48 89 85 e0 06 00 00 	mov    %rax,0x6e0(%rbp)
1400435cb:	4c 8b b5 50 07 00 00 	mov    0x750(%rbp),%r14
1400435d2:	4d 8b e1             	mov    %r9,%r12
1400435d5:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
1400435da:	8b f2                	mov    %edx,%esi
1400435dc:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
1400435e1:	4c 89 75 88          	mov    %r14,-0x78(%rbp)
1400435e5:	4c 89 4d 98          	mov    %r9,-0x68(%rbp)
1400435e9:	44 89 44 24 64       	mov    %r8d,0x64(%rsp)
1400435ee:	e8 e9 39 00 00       	call   0x140046fdc
1400435f3:	8b 44 24 70          	mov    0x70(%rsp),%eax
1400435f7:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1400435fd:	83 e0 1f             	and    $0x1f,%eax
140043600:	3c 1f                	cmp    $0x1f,%al
140043602:	75 07                	jne    0x14004360b
140043604:	c6 44 24 78 00       	movb   $0x0,0x78(%rsp)
140043609:	eb 0f                	jmp    0x14004361a
14004360b:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140043610:	e8 3f 3a 00 00       	call   0x140047054
140043615:	44 88 7c 24 78       	mov    %r15b,0x78(%rsp)
14004361a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14004361f:	bf 20 00 00 00       	mov    $0x20,%edi
140043624:	8b c7                	mov    %edi,%eax
140043626:	4d 89 74 24 08       	mov    %r14,0x8(%r12)
14004362b:	48 85 db             	test   %rbx,%rbx
14004362e:	8d 4f 0d             	lea    0xd(%rdi),%ecx
140043631:	0f 48 c1             	cmovs  %ecx,%eax
140043634:	45 33 c0             	xor    %r8d,%r8d
140043637:	33 d2                	xor    %edx,%edx
140043639:	41 89 04 24          	mov    %eax,(%r12)
14004363d:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140043641:	e8 32 39 00 00       	call   0x140046f78
140043646:	48 8b c3             	mov    %rbx,%rax
140043649:	ba ff 07 00 00       	mov    $0x7ff,%edx
14004364e:	48 c1 e8 34          	shr    $0x34,%rax
140043652:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
140043659:	ff 0f 00
14004365c:	48 23 c2             	and    %rdx,%rax
14004365f:	75 21                	jne    0x140043682
140043661:	48 85 d9             	test   %rbx,%rcx
140043664:	74 0d                	je     0x140043673
140043666:	f7 45 80 00 00 00 01 	testl  $0x1000000,-0x80(%rbp)
14004366d:	0f 84 c3 00 00 00    	je     0x140043736
140043673:	41 83 64 24 04 00    	andl   $0x0,0x4(%r12)
140043679:	4c 8d 05 b4 64 01 00 	lea    0x164b4(%rip),%r8        # 0x140059b34