140e60118:	48 83 ec 30          	sub    $0x30,%rsp
140e6011c:	4d 8b e0             	mov    %r8,%r12
140e6011f:	4d 8b f9             	mov    %r9,%r15
140e60122:	45 33 c0             	xor    %r8d,%r8d
140e60125:	4c 8b ea             	mov    %rdx,%r13
140e60128:	41 8b f8             	mov    %r8d,%edi
140e6012b:	45 8b d0             	mov    %r8d,%r10d
140e6012e:	48 83 ce ff          	or     $0xffffffffffffffff,%rsi
140e60132:	4c 8b f1             	mov    %rcx,%r14
140e60135:	eb 19                	jmp    0x140e60150
140e60137:	48 8b 11             	mov    (%rcx),%rdx
140e6013a:	48 8b c6             	mov    %rsi,%rax
140e6013d:	48 8d 49 08          	lea    0x8(%rcx),%rcx
140e60141:	48 ff c0             	inc    %rax
140e60144:	44 38 04 02          	cmp    %r8b,(%rdx,%rax,1)
140e60148:	75 f7                	jne    0x140e60141
140e6014a:	49 ff c2             	inc    %r10
140e6014d:	4c 03 d0             	add    %rax,%r10
140e60150:	4c 39 01             	cmp    %r8,(%rcx)
140e60153:	75 e2                	jne    0x140e60137
140e60155:	b8 01 00 00 00       	mov    $0x1,%eax
140e6015a:	4c 3b d0             	cmp    %rax,%r10
140e6015d:	8b e8                	mov    %eax,%ebp
140e6015f:	8b d0                	mov    %eax,%edx
140e60161:	49 0f 47 ea          	cmova  %r10,%rbp
140e60165:	48 8b cd             	mov    %rbp,%rcx
140e60168:	e8 7b 5e ff ff       	call   0x140e55fe8
140e6016d:	48 8b d8             	mov    %rax,%rbx
140e60170:	48 85 c0             	test   %rax,%rax
140e60173:	75 16                	jne    0x140e6018b
140e60175:	8d 48 08             	lea    0x8(%rax),%ecx
140e60178:	e8 e7 a0 fc ff       	call   0x140e2a264
140e6017d:	e8 6e a1 fc ff       	call   0x140e2a2f0
140e60182:	bb 0c 00 00 00       	mov    $0xc,%ebx
140e60187:	89 18                	mov    %ebx,(%rax)
140e60189:	eb 5a                	jmp    0x140e601e5
140e6018b:	49 8b 06             	mov    (%r14),%rax
140e6018e:	48 8b fb             	mov    %rbx,%rdi
140e60191:	48 85 c0             	test   %rax,%rax
140e60194:	75 04                	jne    0x140e6019a
140e60196:	33 db                	xor    %ebx,%ebx
140e60198:	eb 4b                	jmp    0x140e601e5
140e6019a:	48 8b d3             	mov    %rbx,%rdx
140e6019d:	4c 8b c0             	mov    %rax,%r8
140e601a0:	48 2b d7             	sub    %rdi,%rdx
140e601a3:	48 8b cf             	mov    %rdi,%rcx
140e601a6:	48 03 d5             	add    %rbp,%rdx
140e601a9:	e8 56 72 fe ff       	call   0x140e47404
140e601ae:	33 d2                	xor    %edx,%edx
140e601b0:	85 c0                	test   %eax,%eax
140e601b2:	0f 85 99 00 00 00    	jne    0x140e60251
140e601b8:	49 8b 0e             	mov    (%r14),%rcx
140e601bb:	48 8b c6             	mov    %rsi,%rax
140e601be:	48 ff c0             	inc    %rax
140e601c1:	38 14 01             	cmp    %dl,(%rcx,%rax,1)
140e601c4:	75 f8                	jne    0x140e601be
140e601c6:	48 03 f8             	add    %rax,%rdi
140e601c9:	49 83 c6 08          	add    $0x8,%r14
140e601cd:	48 8b cf             	mov    %rdi,%rcx
140e601d0:	c6 07 20             	movb   $0x20,(%rdi)
140e601d3:	48 ff c7             	inc    %rdi
140e601d6:	49 8b 06             	mov    (%r14),%rax
140e601d9:	48 85 c0             	test   %rax,%rax
140e601dc:	75 bc                	jne    0x140e6019a
140e601de:	48 8b fb             	mov    %rbx,%rdi
140e601e1:	88 11                	mov    %dl,(%rcx)
140e601e3:	8b da                	mov    %edx,%ebx
140e601e5:	33 c9                	xor    %ecx,%ecx
140e601e7:	e8 88 3a ff ff       	call   0x140e53c74
140e601ec:	85 db                	test   %ebx,%ebx
140e601ee:	75 3a                	jne    0x140e6022a
140e601f0:	48 83 64 24 60 00    	andq   $0x0,0x60(%rsp)
140e601f6:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140e601fb:	49 8b cd             	mov    %r13,%rcx
140e601fe:	e8 69 fa ff ff       	call   0x140e5fc6c
140e60203:	85 c0                	test   %eax,%eax
140e60205:	74 0c                	je     0x140e60213
140e60207:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140e6020c:	e8 63 3a ff ff       	call   0x140e53c74
140e60211:	eb 17                	jmp    0x140e6022a
140e60213:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140e60218:	33 c9                	xor    %ecx,%ecx
140e6021a:	49 89 3c 24          	mov    %rdi,(%r12)
140e6021e:	49 89 07             	mov    %rax,(%r15)
140e60221:	e8 4e 3a ff ff       	call   0x140e53c74
140e60226:	33 f6                	xor    %esi,%esi
140e60228:	33 ff                	xor    %edi,%edi
140e6022a:	48 8b cf             	mov    %rdi,%rcx
140e6022d:	e8 42 3a ff ff       	call   0x140e53c74
140e60232:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140e60237:	8b c6                	mov    %esi,%eax
140e60239:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140e6023e:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140e60243:	48 83 c4 30          	add    $0x30,%rsp
140e60247:	41 5f                	pop    %r15
140e60249:	41 5e                	pop    %r14
140e6024b:	41 5d                	pop    %r13
140e6024d:	41 5c                	pop    %r12
140e6024f:	5f                   	pop    %rdi
140e60250:	c3                   	ret
140e60251:	45 33 c9             	xor    %r9d,%r9d
140e60254:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140e60259:	45 33 c0             	xor    %r8d,%r8d
140e6025c:	33 c9                	xor    %ecx,%ecx
140e6025e:	e8 71 9f fc ff       	call   0x140e2a1d4
140e60263:	cc                   	int3
140e60264:	40 53                	rex push %rbx
140e60266:	48 83 ec 40          	sub    $0x40,%rsp
140e6026a:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140e6026f:	48 8b d9             	mov    %rcx,%rbx
140e60272:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140e60277:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140e6027c:	e8 8f 27 00 00       	call   0x140e62a10
140e60281:	48 83 f8 04          	cmp    $0x4,%rax
140e60285:	77 1a                	ja     0x140e602a1
140e60287:	8b 54 24 30          	mov    0x30(%rsp),%edx
140e6028b:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
140e60290:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
140e60296:	0f 47 d1             	cmova  %ecx,%edx
140e60299:	48 85 db             	test   %rbx,%rbx
140e6029c:	74 03                	je     0x140e602a1
140e6029e:	66 89 13             	mov    %dx,(%rbx)
140e602a1:	48 83 c4 40          	add    $0x40,%rsp
140e602a5:	5b                   	pop    %rbx
140e602a6:	c3                   	ret
140e602a7:	cc                   	int3
140e602a8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e602ad:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140e602b2:	57                   	push   %rdi
140e602b3:	41 54                	push   %r12
140e602b5:	41 55                	push   %r13
140e602b7:	41 56                	push   %r14
140e602b9:	41 57                	push   %r15
140e602bb:	48 83 ec 30          	sub    $0x30,%rsp
140e602bf:	48 8b 3a             	mov    (%rdx),%rdi
140e602c2:	33 c0                	xor    %eax,%eax
140e602c4:	4d 8b e1             	mov    %r9,%r12
140e602c7:	49 8b e8             	mov    %r8,%rbp
140e602ca:	4c 8b fa             	mov    %rdx,%r15
140e602cd:	4c 8b f1             	mov    %rcx,%r14
140e602d0:	48 85 c9             	test   %rcx,%rcx
140e602d3:	0f 84 e7 00 00 00    	je     0x140e603c0
140e602d9:	48 8b d9             	mov    %rcx,%rbx
140e602dc:	4d 85 c0             	test   %r8,%r8
140e602df:	0f 84 b0 00 00 00    	je     0x140e60395
140e602e5:	4c 8b ac 24 80 00 00 	mov    0x80(%rsp),%r13
140e602ec:	00
140e602ed:	38 07                	cmp    %al,(%rdi)
140e602ef:	75 08                	jne    0x140e602f9
140e602f1:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e602f7:	eb 1c                	jmp    0x140e60315
140e602f9:	38 47 01             	cmp    %al,0x1(%rdi)
140e602fc:	75 08                	jne    0x140e60306
140e602fe:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140e60304:	eb 0f                	jmp    0x140e60315
140e60306:	8a 47 02             	mov    0x2(%rdi),%al
140e60309:	f6 d8                	neg    %al
140e6030b:	4d 1b c0             	sbb    %r8,%r8
140e6030e:	49 f7 d8             	neg    %r8
140e60311:	49 83 c0 03          	add    $0x3,%r8
140e60315:	4d 8b cc             	mov    %r12,%r9
140e60318:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140e6031d:	48 8b d7             	mov    %rdi,%rdx
140e60320:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140e60325:	e8 e6 26 00 00       	call   0x140e62a10
140e6032a:	48 8b d0             	mov    %rax,%rdx
140e6032d:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140e60331:	74 7b                	je     0x140e603ae
140e60333:	33 c0                	xor    %eax,%eax
140e60335:	48 85 d2             	test   %rdx,%rdx
140e60338:	74 6c                	je     0x140e603a6
140e6033a:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
140e6033e:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
140e60344:	76 3b                	jbe    0x140e60381
140e60346:	48 83 fd 01          	cmp    $0x1,%rbp
140e6034a:	76 49                	jbe    0x140e60395
140e6034c:	81 c1 00 00 ff ff    	add    $0xffff0000,%ecx
140e60352:	41 b8 00 d8 00 00    	mov    $0xd800,%r8d
140e60358:	8b c1                	mov    %ecx,%eax
140e6035a:	89 4c 24 60          	mov    %ecx,0x60(%rsp)
140e6035e:	c1 e8 0a             	shr    $0xa,%eax
140e60361:	48 ff cd             	dec    %rbp
140e60364:	66 41 0b c0          	or     %r8w,%ax
140e60368:	66 89 03             	mov    %ax,(%rbx)
140e6036b:	b8 ff 03 00 00       	mov    $0x3ff,%eax
140e60370:	66 23 c8             	and    %ax,%cx
140e60373:	48 83 c3 02          	add    $0x2,%rbx
140e60377:	b8 00 dc 00 00       	mov    $0xdc00,%eax
140e6037c:	66 0b c8             	or     %ax,%cx
140e6037f:	33 c0                	xor    %eax,%eax
140e60381:	66 89 0b             	mov    %cx,(%rbx)
140e60384:	48 03 fa             	add    %rdx,%rdi
140e60387:	48 83 c3 02          	add    $0x2,%rbx
140e6038b:	48 83 ed 01          	sub    $0x1,%rbp
140e6038f:	0f 85 58 ff ff ff    	jne    0x140e602ed
140e60395:	49 2b de             	sub    %r14,%rbx
140e60398:	49 89 3f             	mov    %rdi,(%r15)
140e6039b:	48 d1 fb             	sar    $1,%rbx
140e6039e:	48 8b c3             	mov    %rbx,%rax
140e603a1:	e9 8c 00 00 00       	jmp    0x140e60432
140e603a6:	48 8b f8             	mov    %rax,%rdi
140e603a9:	66 89 03             	mov    %ax,(%rbx)
140e603ac:	eb e7                	jmp    0x140e60395
140e603ae:	49 89 3f             	mov    %rdi,(%r15)
140e603b1:	41 c6 45 30 01       	movb   $0x1,0x30(%r13)
140e603b6:	41 c7 45 2c 2a 00 00 	movl   $0x2a,0x2c(%r13)
140e603bd:	00
140e603be:	eb 6e                	jmp    0x140e6042e
140e603c0:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
140e603c7:	00
140e603c8:	48 8b d8             	mov    %rax,%rbx
140e603cb:	38 07                	cmp    %al,(%rdi)
140e603cd:	75 08                	jne    0x140e603d7
140e603cf:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e603d5:	eb 1c                	jmp    0x140e603f3
140e603d7:	38 47 01             	cmp    %al,0x1(%rdi)
140e603da:	75 08                	jne    0x140e603e4
140e603dc:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140e603e2:	eb 0f                	jmp    0x140e603f3
140e603e4:	8a 47 02             	mov    0x2(%rdi),%al
140e603e7:	f6 d8                	neg    %al
140e603e9:	4d 1b c0             	sbb    %r8,%r8
140e603ec:	49 f7 d8             	neg    %r8
140e603ef:	49 83 c0 03          	add    $0x3,%r8
140e603f3:	4d 8b cc             	mov    %r12,%r9
140e603f6:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140e603fb:	48 8b d7             	mov    %rdi,%rdx
140e603fe:	33 c9                	xor    %ecx,%ecx
140e60400:	e8 0b 26 00 00       	call   0x140e62a10
140e60405:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140e60409:	74 18                	je     0x140e60423
140e6040b:	48 85 c0             	test   %rax,%rax
140e6040e:	74 8e                	je     0x140e6039e
140e60410:	48 83 f8 04          	cmp    $0x4,%rax
140e60414:	75 03                	jne    0x140e60419
140e60416:	48 ff c3             	inc    %rbx
140e60419:	48 03 f8             	add    %rax,%rdi
140e6041c:	48 ff c3             	inc    %rbx
140e6041f:	33 c0                	xor    %eax,%eax
140e60421:	eb a8                	jmp    0x140e603cb
140e60423:	c6 45 30 01          	movb   $0x1,0x30(%rbp)
140e60427:	c7 45 2c 2a 00 00 00 	movl   $0x2a,0x2c(%rbp)
140e6042e:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140e60432:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140e60437:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140e6043c:	48 83 c4 30          	add    $0x30,%rsp
140e60440:	41 5f                	pop    %r15
140e60442:	41 5e                	pop    %r14
140e60444:	41 5d                	pop    %r13
140e60446:	41 5c                	pop    %r12
140e60448:	5f                   	pop    %rdi
140e60449:	c3                   	ret
140e6044a:	cc                   	int3
140e6044b:	cc                   	int3
140e6044c:	66 89 4c 24 08       	mov    %cx,0x8(%rsp)
140e60451:	48 83 ec 28          	sub    $0x28,%rsp
140e60455:	e8 92 27 00 00       	call   0x140e62bec
140e6045a:	85 c0                	test   %eax,%eax
140e6045c:	74 1f                	je     0x140e6047d
140e6045e:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
140e60463:	ba 01 00 00 00       	mov    $0x1,%edx
140e60468:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140e6046d:	e8 ea 27 00 00       	call   0x140e62c5c
140e60472:	85 c0                	test   %eax,%eax
140e60474:	74 07                	je     0x140e6047d
140e60476:	0f b7 44 24 30       	movzwl 0x30(%rsp),%eax
140e6047b:	eb 05                	jmp    0x140e60482
140e6047d:	b8 ff ff 00 00       	mov    $0xffff,%eax
140e60482:	48 83 c4 28          	add    $0x28,%rsp
140e60486:	c3                   	ret
140e60487:	cc                   	int3
140e60488:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e6048d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e60492:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e60497:	57                   	push   %rdi
140e60498:	48 83 ec 20          	sub    $0x20,%rsp
140e6049c:	83 7c 24 50 00       	cmpl   $0x0,0x50(%rsp)
140e604a1:	41 8b f9             	mov    %r9d,%edi
140e604a4:	41 8b f0             	mov    %r8d,%esi
140e604a7:	48 8b da             	mov    %rdx,%rbx
140e604aa:	48 8b e9             	mov    %rcx,%rbp
140e604ad:	75 0b                	jne    0x140e604ba
140e604af:	80 3a 35             	cmpb   $0x35,(%rdx)
140e604b2:	0f 9d c0             	setge  %al
140e604b5:	e9 89 00 00 00       	jmp    0x140e60543
140e604ba:	e8 49 7e ff ff       	call   0x140e58308
140e604bf:	85 c0                	test   %eax,%eax
140e604c1:	75 30                	jne    0x140e604f3
140e604c3:	80 3b 35             	cmpb   $0x35,(%rbx)
140e604c6:	8d 48 01             	lea    0x1(%rax),%ecx
140e604c9:	7f 0a                	jg     0x140e604d5
140e604cb:	7c 74                	jl     0x140e60541
140e604cd:	48 8d 43 01          	lea    0x1(%rbx),%rax
140e604d1:	85 ff                	test   %edi,%edi
140e604d3:	75 07                	jne    0x140e604dc
140e604d5:	8a c1                	mov    %cl,%al
140e604d7:	eb 6a                	jmp    0x140e60543
140e604d9:	48 03 c1             	add    %rcx,%rax
140e604dc:	8a 10                	mov    (%rax),%dl
140e604de:	80 fa 30             	cmp    $0x30,%dl
140e604e1:	74 f6                	je     0x140e604d9
140e604e3:	84 d2                	test   %dl,%dl
140e604e5:	75 ee                	jne    0x140e604d5
140e604e7:	48 3b dd             	cmp    %rbp,%rbx
140e604ea:	74 55                	je     0x140e60541
140e604ec:	8a 43 ff             	mov    -0x1(%rbx),%al
140e604ef:	22 c1                	and    %cl,%al
140e604f1:	eb 50                	jmp    0x140e60543
140e604f3:	3d 00 02 00 00       	cmp    $0x200,%eax
140e604f8:	75 21                	jne    0x140e6051b
140e604fa:	b9 01 00 00 00       	mov    $0x1,%ecx
140e604ff:	85 ff                	test   %edi,%edi
140e60501:	74 0f                	je     0x140e60512
140e60503:	eb 03                	jmp    0x140e60508
140e60505:	48 03 d9             	add    %rcx,%rbx
140e60508:	8a 03                	mov    (%rbx),%al
140e6050a:	3c 30                	cmp    $0x30,%al
140e6050c:	74 f7                	je     0x140e60505
140e6050e:	84 c0                	test   %al,%al
140e60510:	74 05                	je     0x140e60517
140e60512:	83 fe 2d             	cmp    $0x2d,%esi
140e60515:	75 be                	jne    0x140e604d5
140e60517:	32 c9                	xor    %cl,%cl
140e60519:	eb ba                	jmp    0x140e604d5
140e6051b:	3d 00 01 00 00       	cmp    $0x100,%eax
140e60520:	75 1f                	jne    0x140e60541
140e60522:	b9 01 00 00 00       	mov    $0x1,%ecx
140e60527:	85 ff                	test   %edi,%edi
140e60529:	74 0f                	je     0x140e6053a
140e6052b:	eb 03                	jmp    0x140e60530
140e6052d:	48 03 d9             	add    %rcx,%rbx
140e60530:	8a 03                	mov    (%rbx),%al
140e60532:	3c 30                	cmp    $0x30,%al
140e60534:	74 f7                	je     0x140e6052d
140e60536:	84 c0                	test   %al,%al
140e60538:	74 dd                	je     0x140e60517
140e6053a:	83 fe 2d             	cmp    $0x2d,%esi
140e6053d:	74 96                	je     0x140e604d5
140e6053f:	eb d6                	jmp    0x140e60517
140e60541:	32 c0                	xor    %al,%al
140e60543:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e60548:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140e6054d:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140e60552:	48 83 c4 20          	add    $0x20,%rsp
140e60556:	5f                   	pop    %rdi
140e60557:	c3                   	ret
140e60558:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e6055d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e60562:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e60567:	57                   	push   %rdi