140e541ab:	48 8b fa             	mov    %rdx,%rdi
140e541ae:	48 8b 09             	mov    (%rcx),%rcx
140e541b1:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e541b7:	49 89 43 d0          	mov    %rax,-0x30(%r11)
140e541bb:	4d 89 4b c8          	mov    %r9,-0x38(%r11)
140e541bf:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
140e541c3:	8d 55 01             	lea    0x1(%rbp),%edx
140e541c6:	e8 9d c4 00 00       	call   0x140e60668
140e541cb:	4c 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14
140e541d2:	00
140e541d3:	44 8d 45 01          	lea    0x1(%rbp),%r8d
140e541d7:	45 33 c9             	xor    %r9d,%r9d
140e541da:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140e541df:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
140e541e4:	44 8b d0             	mov    %eax,%r10d
140e541e7:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
140e541ee:	48 8b d6             	mov    %rsi,%rdx
140e541f1:	41 0f 94 c1          	sete   %r9b
140e541f5:	89 44 24 28          	mov    %eax,0x28(%rsp)
140e541f9:	33 c9                	xor    %ecx,%ecx
140e541fb:	44 89 54 24 20       	mov    %r10d,0x20(%rsp)
140e54200:	85 ed                	test   %ebp,%ebp
140e54202:	0f 9f c1             	setg   %cl
140e54205:	48 2b d1             	sub    %rcx,%rdx
140e54208:	49 2b d1             	sub    %r9,%rdx
140e5420b:	48 83 fe ff          	cmp    $0xffffffffffffffff,%rsi
140e5420f:	48 0f 44 d6          	cmove  %rsi,%rdx
140e54213:	49 03 c9             	add    %r9,%rcx
140e54216:	48 03 cf             	add    %rdi,%rcx
140e54219:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140e5421e:	e8 35 c3 00 00       	call   0x140e60558
140e54223:	85 c0                	test   %eax,%eax
140e54225:	74 05                	je     0x140e5422c
140e54227:	c6 07 00             	movb   $0x0,(%rdi)
140e5422a:	eb 35                	jmp    0x140e54261
140e5422c:	44 8a 8c 24 90 00 00 	mov    0x90(%rsp),%r9b
140e54233:	00
140e54234:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140e54239:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140e5423e:	44 8b c5             	mov    %ebp,%r8d
140e54241:	c6 44 24 30 00       	movb   $0x0,0x30(%rsp)
140e54246:	48 8b d6             	mov    %rsi,%rdx
140e54249:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140e5424e:	48 8b cf             	mov    %rdi,%rcx
140e54251:	8b 84 24 98 00 00 00 	mov    0x98(%rsp),%eax
140e54258:	89 44 24 20          	mov    %eax,0x20(%rsp)
140e5425c:	e8 1b 00 00 00       	call   0x140e5427c
140e54261:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e54266:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140e5426b:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140e54270:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140e54275:	48 83 c4 50          	add    $0x50,%rsp
140e54279:	41 5e                	pop    %r14
140e5427b:	c3                   	ret
140e5427c:	4c 8b dc             	mov    %rsp,%r11
140e5427f:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140e54283:	49 89 6b 10          	mov    %rbp,0x10(%r11)
140e54287:	49 89 73 18          	mov    %rsi,0x18(%r11)
140e5428b:	49 89 7b 20          	mov    %rdi,0x20(%r11)
140e5428f:	41 55                	push   %r13
140e54291:	41 56                	push   %r14
140e54293:	41 57                	push   %r15
140e54295:	48 83 ec 30          	sub    $0x30,%rsp
140e54299:	33 c0                	xor    %eax,%eax
140e5429b:	49 63 e8             	movslq %r8d,%rbp
140e5429e:	45 85 c0             	test   %r8d,%r8d
140e542a1:	45 8a e9             	mov    %r9b,%r13b
140e542a4:	4c 8b fa             	mov    %rdx,%r15
140e542a7:	48 8b f9             	mov    %rcx,%rdi
140e542aa:	0f 4f c5             	cmovg  %ebp,%eax
140e542ad:	83 c0 09             	add    $0x9,%eax
140e542b0:	48 98                	cltq
140e542b2:	48 3b d0             	cmp    %rax,%rdx
140e542b5:	77 4d                	ja     0x140e54304
140e542b7:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140e542be:	00
140e542bf:	bb 22 00 00 00       	mov    $0x22,%ebx
140e542c4:	49 89 4b e0          	mov    %rcx,-0x20(%r11)
140e542c8:	45 33 c9             	xor    %r9d,%r9d
140e542cb:	49 83 63 d8 00       	andq   $0x0,-0x28(%r11)
140e542d0:	45 33 c0             	xor    %r8d,%r8d
140e542d3:	33 d2                	xor    %edx,%edx
140e542d5:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
140e542d9:	89 59 2c             	mov    %ebx,0x2c(%rcx)
140e542dc:	33 c9                	xor    %ecx,%ecx
140e542de:	e8 d5 5d fd ff       	call   0x140e2a0b8
140e542e3:	8b c3                	mov    %ebx,%eax
140e542e5:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140e542ea:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140e542ef:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140e542f4:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140e542f9:	48 83 c4 30          	add    $0x30,%rsp
140e542fd:	41 5f                	pop    %r15
140e542ff:	41 5e                	pop    %r14
140e54301:	41 5d                	pop    %r13
140e54303:	c3                   	ret
140e54304:	80 bc 24 80 00 00 00 	cmpb   $0x0,0x80(%rsp)
140e5430b:	00
140e5430c:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140e54311:	74 2a                	je     0x140e5433d
140e54313:	33 d2                	xor    %edx,%edx
140e54315:	83 3e 2d             	cmpl   $0x2d,(%rsi)
140e54318:	0f 94 c2             	sete   %dl
140e5431b:	48 03 d7             	add    %rdi,%rdx
140e5431e:	45 85 c0             	test   %r8d,%r8d
140e54321:	7e 1a                	jle    0x140e5433d
140e54323:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140e54327:	49 ff c0             	inc    %r8
140e5432a:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
140e5432f:	75 f6                	jne    0x140e54327
140e54331:	49 ff c0             	inc    %r8
140e54334:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
140e54338:	e8 d3 ac 08 00       	call   0x140edf010
140e5433d:	83 3e 2d             	cmpl   $0x2d,(%rsi)
140e54340:	48 8b df             	mov    %rdi,%rbx
140e54343:	75 07                	jne    0x140e5434c
140e54345:	c6 07 2d             	movb   $0x2d,(%rdi)
140e54348:	48 8d 5f 01          	lea    0x1(%rdi),%rbx
140e5434c:	85 ed                	test   %ebp,%ebp
140e5434e:	7e 31                	jle    0x140e54381
140e54350:	8a 43 01             	mov    0x1(%rbx),%al
140e54353:	4c 8b b4 24 88 00 00 	mov    0x88(%rsp),%r14
140e5435a:	00
140e5435b:	88 03                	mov    %al,(%rbx)
140e5435d:	48 ff c3             	inc    %rbx
140e54360:	41 80 7e 28 00       	cmpb   $0x0,0x28(%r14)
140e54365:	75 08                	jne    0x140e5436f
140e54367:	49 8b ce             	mov    %r14,%rcx
140e5436a:	e8 d1 ab fd ff       	call   0x140e2ef40
140e5436f:	49 8b 46 18          	mov    0x18(%r14),%rax
140e54373:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
140e5437a:	48 8b 01             	mov    (%rcx),%rax
140e5437d:	8a 08                	mov    (%rax),%cl
140e5437f:	88 0b                	mov    %cl,(%rbx)
140e54381:	0f b6 8c 24 80 00 00 	movzbl 0x80(%rsp),%ecx
140e54388:	00
140e54389:	4c 8d 05 cc 24 39 00 	lea    0x3924cc(%rip),%r8        # 0x1411e685c
140e54390:	48 83 f1 01          	xor    $0x1,%rcx
140e54394:	48 03 dd             	add    %rbp,%rbx
140e54397:	48 03 d9             	add    %rcx,%rbx
140e5439a:	48 2b fb             	sub    %rbx,%rdi
140e5439d:	48 8b cb             	mov    %rbx,%rcx
140e543a0:	49 83 ff ff          	cmp    $0xffffffffffffffff,%r15
140e543a4:	49 8d 14 3f          	lea    (%r15,%rdi,1),%rdx
140e543a8:	49 0f 44 d7          	cmove  %r15,%rdx
140e543ac:	e8 53 30 ff ff       	call   0x140e47404
140e543b1:	85 c0                	test   %eax,%eax
140e543b3:	0f 85 8e 00 00 00    	jne    0x140e54447
140e543b9:	48 8d 4b 02          	lea    0x2(%rbx),%rcx
140e543bd:	45 84 ed             	test   %r13b,%r13b
140e543c0:	74 03                	je     0x140e543c5
140e543c2:	c6 03 45             	movb   $0x45,(%rbx)
140e543c5:	48 8b 46 08          	mov    0x8(%rsi),%rax
140e543c9:	80 38 30             	cmpb   $0x30,(%rax)
140e543cc:	74 57                	je     0x140e54425
140e543ce:	44 8b 46 04          	mov    0x4(%rsi),%r8d
140e543d2:	41 83 e8 01          	sub    $0x1,%r8d
140e543d6:	79 07                	jns    0x140e543df
140e543d8:	41 f7 d8             	neg    %r8d
140e543db:	c6 43 01 2d          	movb   $0x2d,0x1(%rbx)
140e543df:	41 83 f8 64          	cmp    $0x64,%r8d
140e543e3:	7c 1b                	jl     0x140e54400
140e543e5:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140e543ea:	41 f7 e8             	imul   %r8d
140e543ed:	c1 fa 05             	sar    $0x5,%edx
140e543f0:	8b c2                	mov    %edx,%eax
140e543f2:	c1 e8 1f             	shr    $0x1f,%eax
140e543f5:	03 d0                	add    %eax,%edx
140e543f7:	00 53 02             	add    %dl,0x2(%rbx)
140e543fa:	6b c2 9c             	imul   $0xffffff9c,%edx,%eax
140e543fd:	44 03 c0             	add    %eax,%r8d
140e54400:	41 83 f8 0a          	cmp    $0xa,%r8d
140e54404:	7c 1b                	jl     0x140e54421
140e54406:	b8 67 66 66 66       	mov    $0x66666667,%eax
140e5440b:	41 f7 e8             	imul   %r8d
140e5440e:	c1 fa 02             	sar    $0x2,%edx
140e54411:	8b c2                	mov    %edx,%eax
140e54413:	c1 e8 1f             	shr    $0x1f,%eax
140e54416:	03 d0                	add    %eax,%edx
140e54418:	00 53 03             	add    %dl,0x3(%rbx)
140e5441b:	6b c2 f6             	imul   $0xfffffff6,%edx,%eax
140e5441e:	44 03 c0             	add    %eax,%r8d
140e54421:	44 00 43 04          	add    %r8b,0x4(%rbx)
140e54425:	83 7c 24 70 02       	cmpl   $0x2,0x70(%rsp)
140e5442a:	75 14                	jne    0x140e54440
140e5442c:	80 39 30             	cmpb   $0x30,(%rcx)
140e5442f:	75 0f                	jne    0x140e54440
140e54431:	48 8d 51 01          	lea    0x1(%rcx),%rdx
140e54435:	41 b8 03 00 00 00    	mov    $0x3,%r8d
140e5443b:	e8 d0 ab 08 00       	call   0x140edf010
140e54440:	33 c0                	xor    %eax,%eax
140e54442:	e9 9e fe ff ff       	jmp    0x140e542e5
140e54447:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e5444d:	45 33 c9             	xor    %r9d,%r9d
140e54450:	45 33 c0             	xor    %r8d,%r8d
140e54453:	33 d2                	xor    %edx,%edx
140e54455:	33 c9                	xor    %ecx,%ecx
140e54457:	e8 78 5d fd ff       	call   0x140e2a1d4
140e5445c:	cc                   	int3
140e5445d:	cc                   	int3
140e5445e:	cc                   	int3
140e5445f:	cc                   	int3
140e54460:	4c 8b dc             	mov    %rsp,%r11
140e54463:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140e54467:	49 89 6b 10          	mov    %rbp,0x10(%r11)
140e5446b:	49 89 73 18          	mov    %rsi,0x18(%r11)
140e5446f:	57                   	push   %rdi
140e54470:	48 83 ec 50          	sub    $0x50,%rsp
140e54474:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140e5447b:	00
140e5447c:	49 8b f8             	mov    %r8,%rdi
140e5447f:	8b b4 24 88 00 00 00 	mov    0x88(%rsp),%esi
140e54486:	48 8b da             	mov    %rdx,%rbx
140e54489:	48 8b 09             	mov    (%rcx),%rcx
140e5448c:	0f 57 c0             	xorps  %xmm0,%xmm0
140e5448f:	49 89 43 d0          	mov    %rax,-0x30(%r11)
140e54493:	45 33 c0             	xor    %r8d,%r8d
140e54496:	4d 89 4b c8          	mov    %r9,-0x38(%r11)
140e5449a:	8b d6                	mov    %esi,%edx
140e5449c:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
140e544a0:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140e544a5:	e8 be c1 00 00       	call   0x140e60668
140e544aa:	44 8b 44 24 44       	mov    0x44(%rsp),%r8d
140e544af:	45 33 c9             	xor    %r9d,%r9d
140e544b2:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
140e544b7:	44 8b d0             	mov    %eax,%r10d
140e544ba:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
140e544c1:	48 8b d7             	mov    %rdi,%rdx
140e544c4:	48 8b ac 24 98 00 00 	mov    0x98(%rsp),%rbp
140e544cb:	00
140e544cc:	41 0f 94 c1          	sete   %r9b
140e544d0:	49 2b d1             	sub    %r9,%rdx
140e544d3:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
140e544d8:	44 03 c6             	add    %esi,%r8d
140e544db:	89 44 24 28          	mov    %eax,0x28(%rsp)
140e544df:	48 83 ff ff          	cmp    $0xffffffffffffffff,%rdi
140e544e3:	44 89 54 24 20       	mov    %r10d,0x20(%rsp)
140e544e8:	49 8d 0c 19          	lea    (%r9,%rbx,1),%rcx
140e544ec:	48 0f 44 d7          	cmove  %rdi,%rdx
140e544f0:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140e544f5:	e8 5e c0 00 00       	call   0x140e60558
140e544fa:	85 c0                	test   %eax,%eax
140e544fc:	74 05                	je     0x140e54503
140e544fe:	c6 03 00             	movb   $0x0,(%rbx)
140e54501:	eb 1d                	jmp    0x140e54520
140e54503:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
140e54508:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140e5450d:	44 8b c6             	mov    %esi,%r8d
140e54510:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
140e54515:	48 8b d7             	mov    %rdi,%rdx
140e54518:	48 8b cb             	mov    %rbx,%rcx
140e5451b:	e8 18 00 00 00       	call   0x140e54538
140e54520:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e54525:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140e5452a:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140e5452f:	48 83 c4 50          	add    $0x50,%rsp
140e54533:	5f                   	pop    %rdi
140e54534:	c3                   	ret
140e54535:	cc                   	int3
140e54536:	cc                   	int3
140e54537:	cc                   	int3
140e54538:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e5453d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e54542:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e54547:	57                   	push   %rdi
140e54548:	41 56                	push   %r14
140e5454a:	41 57                	push   %r15
140e5454c:	48 83 ec 20          	sub    $0x20,%rsp
140e54550:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
140e54555:	48 8b d9             	mov    %rcx,%rbx
140e54558:	49 63 49 04          	movslq 0x4(%r9),%rcx
140e5455c:	4d 8b f1             	mov    %r9,%r14
140e5455f:	41 8b e8             	mov    %r8d,%ebp
140e54562:	74 1b                	je     0x140e5457f
140e54564:	8d 41 ff             	lea    -0x1(%rcx),%eax
140e54567:	41 3b c0             	cmp    %r8d,%eax
140e5456a:	75 13                	jne    0x140e5457f
140e5456c:	33 c0                	xor    %eax,%eax
140e5456e:	41 83 39 2d          	cmpl   $0x2d,(%r9)
140e54572:	0f 94 c0             	sete   %al
140e54575:	48 03 c3             	add    %rbx,%rax
140e54578:	66 c7 44 01 ff 30 00 	movw   $0x30,-0x1(%rcx,%rax,1)
140e5457f:	41 83 39 2d          	cmpl   $0x2d,(%r9)
140e54583:	75 06                	jne    0x140e5458b
140e54585:	c6 03 2d             	movb   $0x2d,(%rbx)
140e54588:	48 ff c3             	inc    %rbx
140e5458b:	49 63 41 04          	movslq 0x4(%r9),%rax
140e5458f:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
140e54593:	85 c0                	test   %eax,%eax
140e54595:	7f 49                	jg     0x140e545e0
140e54597:	75 0d                	jne    0x140e545a6
140e54599:	49 8b 41 08          	mov    0x8(%r9),%rax
140e5459d:	80 38 30             	cmpb   $0x30,(%rax)
140e545a0:	75 04                	jne    0x140e545a6
140e545a2:	b0 01                	mov    $0x1,%al
140e545a4:	eb 02                	jmp    0x140e545a8
140e545a6:	32 c0                	xor    %al,%al
140e545a8:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
140e545ad:	74 0a                	je     0x140e545b9
140e545af:	84 c0                	test   %al,%al
140e545b1:	74 06                	je     0x140e545b9
140e545b3:	48 8d 73 01          	lea    0x1(%rbx),%rsi
140e545b7:	eb 1f                	jmp    0x140e545d8
140e545b9:	48 8d 73 01          	lea    0x1(%rbx),%rsi
140e545bd:	4c 8b c7             	mov    %rdi,%r8
140e545c0:	49 ff c0             	inc    %r8
140e545c3:	42 80 3c 03 00       	cmpb   $0x0,(%rbx,%r8,1)
140e545c8:	75 f6                	jne    0x140e545c0
140e545ca:	49 ff c0             	inc    %r8
140e545cd:	48 8b d3             	mov    %rbx,%rdx
140e545d0:	48 8b ce             	mov    %rsi,%rcx
140e545d3:	e8 38 aa 08 00       	call   0x140edf010
140e545d8:	c6 03 30             	movb   $0x30,(%rbx)
140e545db:	48 8b de             	mov    %rsi,%rbx
140e545de:	eb 03                	jmp    0x140e545e3
140e545e0:	48 03 d8             	add    %rax,%rbx
140e545e3:	85 ed                	test   %ebp,%ebp
140e545e5:	0f 8e 88 00 00 00    	jle    0x140e54673
140e545eb:	48 8d 73 01          	lea    0x1(%rbx),%rsi
140e545ef:	4c 8b c7             	mov    %rdi,%r8
140e545f2:	49 ff c0             	inc    %r8
140e545f5:	42 80 3c 03 00       	cmpb   $0x0,(%rbx,%r8,1)
140e545fa:	75 f6                	jne    0x140e545f2
140e545fc:	49 ff c0             	inc    %r8
140e545ff:	48 8b d3             	mov    %rbx,%rdx
140e54602:	48 8b ce             	mov    %rsi,%rcx
140e54605:	e8 06 aa 08 00       	call   0x140edf010
140e5460a:	4c 8b 7c 24 68       	mov    0x68(%rsp),%r15
140e5460f:	41 80 7f 28 00       	cmpb   $0x0,0x28(%r15)
140e54614:	75 08                	jne    0x140e5461e
140e54616:	49 8b cf             	mov    %r15,%rcx
140e54619:	e8 22 a9 fd ff       	call   0x140e2ef40
140e5461e:	49 8b 47 18          	mov    0x18(%r15),%rax
140e54622:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
140e54629:	48 8b 01             	mov    (%rcx),%rax
140e5462c:	8a 08                	mov    (%rax),%cl
140e5462e:	88 0b                	mov    %cl,(%rbx)
140e54630:	41 8b 46 04          	mov    0x4(%r14),%eax
140e54634:	85 c0                	test   %eax,%eax
140e54636:	79 3b                	jns    0x140e54673
140e54638:	f7 d8                	neg    %eax
140e5463a:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
140e5463f:	75 04                	jne    0x140e54645
140e54641:	3b c5                	cmp    %ebp,%eax
140e54643:	7d 02                	jge    0x140e54647
140e54645:	8b e8                	mov    %eax,%ebp
140e54647:	48 63 dd             	movslq %ebp,%rbx
140e5464a:	48 ff c7             	inc    %rdi
140e5464d:	80 3c 3e 00          	cmpb   $0x0,(%rsi,%rdi,1)
140e54651:	75 f7                	jne    0x140e5464a