140d4edca:	48 8d 0d 87 fe 42 00 	lea    0x42fe87(%rip),%rcx        # 0x14117ec58
140d4edd1:	e8 fa 6a fb ff       	call   0x140d058d0
140d4edd6:	48 63 06             	movslq (%rsi),%rax
140d4edd9:	44 8b 7e 04          	mov    0x4(%rsi),%r15d
140d4eddd:	44 2b f8             	sub    %eax,%r15d
140d4ede0:	44 3b fd             	cmp    %ebp,%r15d
140d4ede3:	7e 19                	jle    0x140d4edfe
140d4ede5:	48 8d 48 08          	lea    0x8(%rax),%rcx
140d4ede9:	4c 8b c5             	mov    %rbp,%r8
140d4edec:	48 03 ce             	add    %rsi,%rcx
140d4edef:	49 8b d6             	mov    %r14,%rdx
140d4edf2:	e8 19 02 19 00       	call   0x140edf010
140d4edf7:	01 2e                	add    %ebp,(%rsi)
140d4edf9:	e9 c9 00 00 00       	jmp    0x140d4eec7
140d4edfe:	85 c0                	test   %eax,%eax
140d4ee00:	74 4c                	je     0x140d4ee4e
140d4ee02:	48 8d 48 08          	lea    0x8(%rax),%rcx
140d4ee06:	49 63 ff             	movslq %r15d,%rdi
140d4ee09:	48 03 ce             	add    %rsi,%rcx
140d4ee0c:	4c 8b c7             	mov    %rdi,%r8
140d4ee0f:	49 8b d6             	mov    %r14,%rdx
140d4ee12:	e8 f9 01 19 00       	call   0x140edf010
140d4ee17:	44 8b 4e 04          	mov    0x4(%rsi),%r9d
140d4ee1b:	4c 8d 46 08          	lea    0x8(%rsi),%r8
140d4ee1f:	48 8b d3             	mov    %rbx,%rdx
140d4ee22:	48 8b ce             	mov    %rsi,%rcx
140d4ee25:	4c 03 f7             	add    %rdi,%r14
140d4ee28:	41 2b ef             	sub    %r15d,%ebp
140d4ee2b:	e8 30 02 00 00       	call   0x140d4f060
140d4ee30:	48 63 f8             	movslq %eax,%rdi
140d4ee33:	48 03 df             	add    %rdi,%rbx
140d4ee36:	c7 06 00 00 00 00    	movl   $0x0,(%rsi)
140d4ee3c:	f6 46 5c 01          	testb  $0x1,0x5c(%rsi)
140d4ee40:	75 09                	jne    0x140d4ee4b
140d4ee42:	c6 03 0a             	movb   $0xa,(%rbx)
140d4ee45:	48 ff c3             	inc    %rbx
140d4ee48:	48 ff c7             	inc    %rdi
140d4ee4b:	c6 03 00             	movb   $0x0,(%rbx)
140d4ee4e:	8b 46 04             	mov    0x4(%rsi),%eax
140d4ee51:	3b e8                	cmp    %eax,%ebp
140d4ee53:	7c 44                	jl     0x140d4ee99
140d4ee55:	48 81 ff ff ff ff 7f 	cmp    $0x7fffffff,%rdi
140d4ee5c:	77 44                	ja     0x140d4eea2
140d4ee5e:	44 8b c8             	mov    %eax,%r9d
140d4ee61:	4d 8b c6             	mov    %r14,%r8
140d4ee64:	48 8b d3             	mov    %rbx,%rdx
140d4ee67:	48 8b ce             	mov    %rsi,%rcx
140d4ee6a:	e8 f1 01 00 00       	call   0x140d4f060
140d4ee6f:	48 63 56 04          	movslq 0x4(%rsi),%rdx
140d4ee73:	48 98                	cltq
140d4ee75:	4c 03 f2             	add    %rdx,%r14
140d4ee78:	2b ea                	sub    %edx,%ebp
140d4ee7a:	48 03 d8             	add    %rax,%rbx
140d4ee7d:	48 03 f8             	add    %rax,%rdi
140d4ee80:	f6 46 5c 01          	testb  $0x1,0x5c(%rsi)
140d4ee84:	75 09                	jne    0x140d4ee8f
140d4ee86:	c6 03 0a             	movb   $0xa,(%rbx)
140d4ee89:	48 ff c3             	inc    %rbx
140d4ee8c:	48 ff c7             	inc    %rdi
140d4ee8f:	c6 03 00             	movb   $0x0,(%rbx)
140d4ee92:	8b 46 04             	mov    0x4(%rsi),%eax
140d4ee95:	3b e8                	cmp    %eax,%ebp
140d4ee97:	7d bc                	jge    0x140d4ee55
140d4ee99:	48 81 ff ff ff ff 7f 	cmp    $0x7fffffff,%rdi
140d4eea0:	76 0c                	jbe    0x140d4eeae
140d4eea2:	41 c7 04 24 00 00 00 	movl   $0x0,(%r12)
140d4eea9:	00
140d4eeaa:	33 c0                	xor    %eax,%eax
140d4eeac:	eb 1e                	jmp    0x140d4eecc
140d4eeae:	85 ed                	test   %ebp,%ebp
140d4eeb0:	74 0f                	je     0x140d4eec1
140d4eeb2:	4c 63 c5             	movslq %ebp,%r8
140d4eeb5:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140d4eeb9:	49 8b d6             	mov    %r14,%rdx
140d4eebc:	e8 4f 01 19 00       	call   0x140edf010
140d4eec1:	89 2e                	mov    %ebp,(%rsi)
140d4eec3:	41 89 3c 24          	mov    %edi,(%r12)
140d4eec7:	b8 01 00 00 00       	mov    $0x1,%eax
140d4eecc:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
140d4eed1:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140d4eed6:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d4eedb:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140d4eee0:	48 83 c4 20          	add    $0x20,%rsp
140d4eee4:	41 5e                	pop    %r14
140d4eee6:	41 5c                	pop    %r12
140d4eee8:	5f                   	pop    %rdi
140d4eee9:	c3                   	ret
140d4eeea:	cc                   	int3
140d4eeeb:	cc                   	int3
140d4eeec:	cc                   	int3
140d4eeed:	cc                   	int3
140d4eeee:	cc                   	int3
140d4eeef:	cc                   	int3
140d4eef0:	40 56                	rex push %rsi
140d4eef2:	41 57                	push   %r15
140d4eef4:	45 33 ff             	xor    %r15d,%r15d
140d4eef7:	48 8b f2             	mov    %rdx,%rsi
140d4eefa:	48 85 c9             	test   %rcx,%rcx
140d4eefd:	74 0d                	je     0x140d4ef0c
140d4eeff:	f6 41 5c 02          	testb  $0x2,0x5c(%rcx)
140d4ef03:	4c 8d 15 b6 fc 42 00 	lea    0x42fcb6(%rip),%r10        # 0x14117ebc0
140d4ef0a:	75 07                	jne    0x140d4ef13
140d4ef0c:	4c 8d 15 2d fc 42 00 	lea    0x42fc2d(%rip),%r10        # 0x14117eb40
140d4ef13:	45 85 c9             	test   %r9d,%r9d
140d4ef16:	7e 1a                	jle    0x140d4ef32
140d4ef18:	41 0f b6 00          	movzbl (%r8),%eax
140d4ef1c:	84 c0                	test   %al,%al
140d4ef1e:	78 12                	js     0x140d4ef32
140d4ef20:	42 80 3c 10 e0       	cmpb   $0xe0,(%rax,%r10,1)
140d4ef25:	75 0b                	jne    0x140d4ef32
140d4ef27:	49 ff c0             	inc    %r8
140d4ef2a:	41 ff c9             	dec    %r9d
140d4ef2d:	45 85 c9             	test   %r9d,%r9d
140d4ef30:	7f e6                	jg     0x140d4ef18
140d4ef32:	49 63 d1             	movslq %r9d,%rdx
140d4ef35:	48 83 fa 03          	cmp    $0x3,%rdx
140d4ef39:	7e 28                	jle    0x140d4ef63
140d4ef3b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140d4ef40:	41 0f b6 44 10 ff    	movzbl -0x1(%r8,%rdx,1),%eax
140d4ef46:	84 c0                	test   %al,%al
140d4ef48:	78 19                	js     0x140d4ef63
140d4ef4a:	42 0f b6 0c 10       	movzbl (%rax,%r10,1),%ecx
140d4ef4f:	80 c9 13             	or     $0x13,%cl
140d4ef52:	80 f9 f3             	cmp    $0xf3,%cl
140d4ef55:	75 0c                	jne    0x140d4ef63
140d4ef57:	41 ff c9             	dec    %r9d
140d4ef5a:	48 ff ca             	dec    %rdx
140d4ef5d:	48 83 fa 03          	cmp    $0x3,%rdx
140d4ef61:	7f dd                	jg     0x140d4ef40
140d4ef63:	41 8b c1             	mov    %r9d,%eax
140d4ef66:	25 03 00 00 80       	and    $0x80000003,%eax
140d4ef6b:	7d 07                	jge    0x140d4ef74
140d4ef6d:	ff c8                	dec    %eax
140d4ef6f:	83 c8 fc             	or     $0xfffffffc,%eax
140d4ef72:	ff c0                	inc    %eax
140d4ef74:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140d4ef79:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140d4ef7e:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140d4ef83:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140d4ef88:	85 c0                	test   %eax,%eax
140d4ef8a:	0f 85 b3 00 00 00    	jne    0x140d4f043
140d4ef90:	45 8b f7             	mov    %r15d,%r14d
140d4ef93:	45 85 c9             	test   %r9d,%r9d
140d4ef96:	0f 8e a2 00 00 00    	jle    0x140d4f03e
140d4ef9c:	0f 1f 40 00          	nopl   0x0(%rax)
140d4efa0:	41 0f b6 00          	movzbl (%r8),%eax
140d4efa4:	41 b3 ff             	mov    $0xff,%r11b
140d4efa7:	84 c0                	test   %al,%al
140d4efa9:	78 05                	js     0x140d4efb0
140d4efab:	46 0f b6 1c 10       	movzbl (%rax,%r10,1),%r11d
140d4efb0:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140d4efb5:	b1 ff                	mov    $0xff,%cl
140d4efb7:	41 0f b6 d3          	movzbl %r11b,%edx
140d4efbb:	84 c0                	test   %al,%al
140d4efbd:	78 05                	js     0x140d4efc4
140d4efbf:	42 0f b6 0c 10       	movzbl (%rax,%r10,1),%ecx
140d4efc4:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140d4efc9:	0f b6 e9             	movzbl %cl,%ebp
140d4efcc:	84 c0                	test   %al,%al
140d4efce:	79 04                	jns    0x140d4efd4
140d4efd0:	b0 ff                	mov    $0xff,%al
140d4efd2:	eb 05                	jmp    0x140d4efd9
140d4efd4:	42 0f b6 04 10       	movzbl (%rax,%r10,1),%eax
140d4efd9:	0f b6 f8             	movzbl %al,%edi
140d4efdc:	b3 ff                	mov    $0xff,%bl
140d4efde:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140d4efe3:	84 c0                	test   %al,%al
140d4efe5:	78 05                	js     0x140d4efec
140d4efe7:	42 0f b6 1c 10       	movzbl (%rax,%r10,1),%ebx
140d4efec:	0f b6 c9             	movzbl %cl,%ecx
140d4efef:	49 83 c0 04          	add    $0x4,%r8
140d4eff3:	41 0f b6 c3          	movzbl %r11b,%eax
140d4eff7:	0b c8                	or     %eax,%ecx
140d4eff9:	84 c9                	test   %cl,%cl
140d4effb:	78 46                	js     0x140d4f043
140d4effd:	0f b6 cb             	movzbl %bl,%ecx
140d4f000:	8b c1                	mov    %ecx,%eax
140d4f002:	0b c7                	or     %edi,%eax
140d4f004:	84 c0                	test   %al,%al
140d4f006:	78 3b                	js     0x140d4f043
140d4f008:	c1 e2 06             	shl    $0x6,%edx
140d4f00b:	41 83 c7 03          	add    $0x3,%r15d
140d4f00f:	0b d5                	or     %ebp,%edx
140d4f011:	41 83 c6 04          	add    $0x4,%r14d
140d4f015:	c1 e2 06             	shl    $0x6,%edx
140d4f018:	0b d7                	or     %edi,%edx
140d4f01a:	c1 e2 06             	shl    $0x6,%edx
140d4f01d:	0b d1                	or     %ecx,%edx
140d4f01f:	8b ca                	mov    %edx,%ecx
140d4f021:	c1 e9 10             	shr    $0x10,%ecx
140d4f024:	88 0e                	mov    %cl,(%rsi)
140d4f026:	8b ca                	mov    %edx,%ecx
140d4f028:	c1 e9 08             	shr    $0x8,%ecx
140d4f02b:	88 4e 01             	mov    %cl,0x1(%rsi)
140d4f02e:	88 56 02             	mov    %dl,0x2(%rsi)
140d4f031:	48 83 c6 03          	add    $0x3,%rsi
140d4f035:	45 3b f1             	cmp    %r9d,%r14d
140d4f038:	0f 8c 62 ff ff ff    	jl     0x140d4efa0
140d4f03e:	41 8b c7             	mov    %r15d,%eax
140d4f041:	eb 05                	jmp    0x140d4f048
140d4f043:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140d4f048:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
140d4f04d:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
140d4f052:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
140d4f057:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
140d4f05c:	41 5f                	pop    %r15
140d4f05e:	5e                   	pop    %rsi
140d4f05f:	c3                   	ret
140d4f060:	b8 08 00 00 00       	mov    $0x8,%eax
140d4f065:	e8 36 c4 0c 00       	call   0x140e1b4a0
140d4f06a:	48 2b e0             	sub    %rax,%rsp
140d4f06d:	45 33 db             	xor    %r11d,%r11d
140d4f070:	48 85 c9             	test   %rcx,%rcx
140d4f073:	74 0d                	je     0x140d4f082
140d4f075:	f6 41 5c 02          	testb  $0x2,0x5c(%rcx)
140d4f079:	4c 8d 15 70 fa 42 00 	lea    0x42fa70(%rip),%r10        # 0x14117eaf0
140d4f080:	75 07                	jne    0x140d4f089
140d4f082:	4c 8d 15 17 fa 42 00 	lea    0x42fa17(%rip),%r10        # 0x14117eaa0
140d4f089:	45 85 c9             	test   %r9d,%r9d
140d4f08c:	0f 8e eb 00 00 00    	jle    0x140d4f17d
140d4f092:	49 ff c0             	inc    %r8
140d4f095:	48 89 1c 24          	mov    %rbx,(%rsp)
140d4f099:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140d4f0a0:	41 0f b6 40 ff       	movzbl -0x1(%r8),%eax
140d4f0a5:	41 83 f9 03          	cmp    $0x3,%r9d
140d4f0a9:	72 55                	jb     0x140d4f100
140d4f0ab:	8b c8                	mov    %eax,%ecx
140d4f0ad:	41 0f b6 00          	movzbl (%r8),%eax
140d4f0b1:	48 c1 e1 08          	shl    $0x8,%rcx
140d4f0b5:	48 0b c8             	or     %rax,%rcx
140d4f0b8:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140d4f0bd:	48 c1 e1 08          	shl    $0x8,%rcx
140d4f0c1:	48 0b c8             	or     %rax,%rcx
140d4f0c4:	48 8b c1             	mov    %rcx,%rax
140d4f0c7:	48 c1 e8 12          	shr    $0x12,%rax
140d4f0cb:	42 0f b6 04 10       	movzbl (%rax,%r10,1),%eax
140d4f0d0:	88 02                	mov    %al,(%rdx)
140d4f0d2:	48 8b c1             	mov    %rcx,%rax
140d4f0d5:	48 c1 e8 0c          	shr    $0xc,%rax
140d4f0d9:	83 e0 3f             	and    $0x3f,%eax
140d4f0dc:	42 0f b6 04 10       	movzbl (%rax,%r10,1),%eax
140d4f0e1:	88 42 01             	mov    %al,0x1(%rdx)
140d4f0e4:	48 8b c1             	mov    %rcx,%rax
140d4f0e7:	48 c1 e8 06          	shr    $0x6,%rax
140d4f0eb:	83 e0 3f             	and    $0x3f,%eax
140d4f0ee:	83 e1 3f             	and    $0x3f,%ecx
140d4f0f1:	42 0f b6 04 10       	movzbl (%rax,%r10,1),%eax
140d4f0f6:	88 42 02             	mov    %al,0x2(%rdx)
140d4f0f9:	42 0f b6 0c 11       	movzbl (%rcx,%r10,1),%ecx
140d4f0fe:	eb 4f                	jmp    0x140d4f14f
140d4f100:	8b c8                	mov    %eax,%ecx
140d4f102:	c1 e1 10             	shl    $0x10,%ecx
140d4f105:	41 83 f9 02          	cmp    $0x2,%r9d
140d4f109:	75 09                	jne    0x140d4f114
140d4f10b:	41 0f b6 00          	movzbl (%r8),%eax
140d4f10f:	c1 e0 08             	shl    $0x8,%eax
140d4f112:	0b c8                	or     %eax,%ecx
140d4f114:	48 8b c1             	mov    %rcx,%rax
140d4f117:	48 c1 e8 12          	shr    $0x12,%rax
140d4f11b:	42 0f b6 04 10       	movzbl (%rax,%r10,1),%eax
140d4f120:	88 02                	mov    %al,(%rdx)
140d4f122:	48 8b c1             	mov    %rcx,%rax
140d4f125:	48 c1 e8 0c          	shr    $0xc,%rax
140d4f129:	83 e0 3f             	and    $0x3f,%eax
140d4f12c:	42 0f b6 04 10       	movzbl (%rax,%r10,1),%eax
140d4f131:	88 42 01             	mov    %al,0x1(%rdx)
140d4f134:	41 83 f9 01          	cmp    $0x1,%r9d
140d4f138:	75 04                	jne    0x140d4f13e
140d4f13a:	b0 3d                	mov    $0x3d,%al
140d4f13c:	eb 0c                	jmp    0x140d4f14a
140d4f13e:	48 c1 e9 06          	shr    $0x6,%rcx
140d4f142:	83 e1 3f             	and    $0x3f,%ecx
140d4f145:	42 0f b6 04 11       	movzbl (%rcx,%r10,1),%eax
140d4f14a:	88 42 02             	mov    %al,0x2(%rdx)
140d4f14d:	b1 3d                	mov    $0x3d,%cl
140d4f14f:	48 8d 42 03          	lea    0x3(%rdx),%rax
140d4f153:	41 83 c3 04          	add    $0x4,%r11d
140d4f157:	48 8d 50 01          	lea    0x1(%rax),%rdx
140d4f15b:	88 08                	mov    %cl,(%rax)
140d4f15d:	49 83 c0 03          	add    $0x3,%r8
140d4f161:	41 83 e9 03          	sub    $0x3,%r9d
140d4f165:	45 85 c9             	test   %r9d,%r9d
140d4f168:	0f 8f 32 ff ff ff    	jg     0x140d4f0a0
140d4f16e:	48 8b 1c 24          	mov    (%rsp),%rbx
140d4f172:	41 8b c3             	mov    %r11d,%eax
140d4f175:	c6 02 00             	movb   $0x0,(%rdx)
140d4f178:	48 83 c4 08          	add    $0x8,%rsp
140d4f17c:	c3                   	ret
140d4f17d:	44 88 1a             	mov    %r11b,(%rdx)
140d4f180:	41 8b c3             	mov    %r11d,%eax
140d4f183:	48 83 c4 08          	add    $0x8,%rsp
140d4f187:	c3                   	ret
140d4f188:	cc                   	int3
140d4f189:	cc                   	int3
140d4f18a:	cc                   	int3
140d4f18b:	cc                   	int3
140d4f18c:	cc                   	int3
140d4f18d:	cc                   	int3
140d4f18e:	cc                   	int3
140d4f18f:	cc                   	int3
140d4f190:	40 53                	rex push %rbx
140d4f192:	b8 20 00 00 00       	mov    $0x20,%eax
140d4f197:	e8 04 c3 0c 00       	call   0x140e1b4a0
140d4f19c:	48 2b e0             	sub    %rax,%rsp
140d4f19f:	48 8b da             	mov    %rdx,%rbx
140d4f1a2:	85 c9                	test   %ecx,%ecx
140d4f1a4:	75 16                	jne    0x140d4f1bc
140d4f1a6:	e8 e5 e7 fa ff       	call   0x140cfd990
140d4f1ab:	48 89 03             	mov    %rax,(%rbx)
140d4f1ae:	48 f7 d8             	neg    %rax
140d4f1b1:	1b c0                	sbb    %eax,%eax
140d4f1b3:	83 e0 02             	and    $0x2,%eax
140d4f1b6:	48 83 c4 20          	add    $0x20,%rsp
140d4f1ba:	5b                   	pop    %rbx
140d4f1bb:	c3                   	ret
140d4f1bc:	83 f9 02             	cmp    $0x2,%ecx
140d4f1bf:	75 1a                	jne    0x140d4f1db
140d4f1c1:	48 8b 0a             	mov    (%rdx),%rcx
140d4f1c4:	e8 97 e6 fa ff       	call   0x140cfd860
140d4f1c9:	b8 02 00 00 00       	mov    $0x2,%eax
140d4f1ce:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
140d4f1d5:	48 83 c4 20          	add    $0x20,%rsp
140d4f1d9:	5b                   	pop    %rbx
140d4f1da:	c3                   	ret
140d4f1db:	b8 01 00 00 00       	mov    $0x1,%eax
140d4f1e0:	48 83 c4 20          	add    $0x20,%rsp
140d4f1e4:	5b                   	pop    %rbx
140d4f1e5:	c3                   	ret
140d4f1e6:	cc                   	int3
140d4f1e7:	cc                   	int3
140d4f1e8:	cc                   	int3
140d4f1e9:	cc                   	int3
140d4f1ea:	cc                   	int3
140d4f1eb:	cc                   	int3
140d4f1ec:	cc                   	int3
140d4f1ed:	cc                   	int3
140d4f1ee:	cc                   	int3
140d4f1ef:	cc                   	int3
140d4f1f0:	48 8d 05 a9 fb 42 00 	lea    0x42fba9(%rip),%rax        # 0x14117eda0
140d4f1f7:	c3                   	ret
140d4f1f8:	cc                   	int3
140d4f1f9:	cc                   	int3
140d4f1fa:	cc                   	int3
140d4f1fb:	cc                   	int3
140d4f1fc:	cc                   	int3
140d4f1fd:	cc                   	int3
140d4f1fe:	cc                   	int3
140d4f1ff:	cc                   	int3
140d4f200:	b8 28 00 00 00       	mov    $0x28,%eax
140d4f205:	e8 96 c2 0c 00       	call   0x140e1b4a0