140d1b99d:	41 8b ce             	mov    %r14d,%ecx
140d1b9a0:	49 f7 df             	neg    %r15
140d1b9a3:	49 8b c7             	mov    %r15,%rax
140d1b9a6:	48 c1 e8 08          	shr    $0x8,%rax
140d1b9aa:	4c 0b f8             	or     %rax,%r15
140d1b9ad:	49 8b c0             	mov    %r8,%rax
140d1b9b0:	48 d3 e8             	shr    %cl,%rax
140d1b9b3:	49 23 c7             	and    %r15,%rax
140d1b9b6:	49 89 44 d5 00       	mov    %rax,0x0(%r13,%rdx,8)
140d1b9bb:	8b 46 08             	mov    0x8(%rsi),%eax
140d1b9be:	ff c8                	dec    %eax
140d1b9c0:	4c 63 d0             	movslq %eax,%r10
140d1b9c3:	85 c0                	test   %eax,%eax
140d1b9c5:	7e 44                	jle    0x140d1ba0b
140d1b9c7:	4e 8d 0c d5 00 00 00 	lea    0x0(,%r10,8),%r9
140d1b9ce:	00
140d1b9cf:	4d 03 cd             	add    %r13,%r9
140d1b9d2:	4d 2b dd             	sub    %r13,%r11
140d1b9d5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140d1b9dc:	00 00 00 00
140d1b9e0:	8b cf                	mov    %edi,%ecx
140d1b9e2:	4d 8d 49 f8          	lea    -0x8(%r9),%r9
140d1b9e6:	49 d3 e0             	shl    %cl,%r8
140d1b9e9:	49 ff ca             	dec    %r10
140d1b9ec:	49 8b d0             	mov    %r8,%rdx
140d1b9ef:	41 8b ce             	mov    %r14d,%ecx
140d1b9f2:	4f 8b 04 19          	mov    (%r9,%r11,1),%r8
140d1b9f6:	49 8b c0             	mov    %r8,%rax
140d1b9f9:	48 d3 e8             	shr    %cl,%rax
140d1b9fc:	49 23 c7             	and    %r15,%rax
140d1b9ff:	48 0b c2             	or     %rdx,%rax
140d1ba02:	49 89 41 08          	mov    %rax,0x8(%r9)
140d1ba06:	4d 85 d2             	test   %r10,%r10
140d1ba09:	7f d5                	jg     0x140d1b9e0
140d1ba0b:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140d1ba10:	8b cf                	mov    %edi,%ecx
140d1ba12:	4c 8b 74 24 60       	mov    0x60(%rsp),%r14
140d1ba17:	49 d3 e0             	shl    %cl,%r8
140d1ba1a:	4d 89 45 00          	mov    %r8,0x0(%r13)
140d1ba1e:	4c 8b 6c 24 58       	mov    0x58(%rsp),%r13
140d1ba23:	eb 0b                	jmp    0x140d1ba30
140d1ba25:	48 8b 03             	mov    (%rbx),%rax
140d1ba28:	49 c7 04 04 00 00 00 	movq   $0x0,(%r12,%rax,1)
140d1ba2f:	00
140d1ba30:	85 ed                	test   %ebp,%ebp
140d1ba32:	74 0d                	je     0x140d1ba41
140d1ba34:	48 8b 0b             	mov    (%rbx),%rcx
140d1ba37:	4d 8b c4             	mov    %r12,%r8
140d1ba3a:	33 d2                	xor    %edx,%edx
140d1ba3c:	e8 6f 3c 1c 00       	call   0x140edf6b0
140d1ba41:	8b 46 10             	mov    0x10(%rsi),%eax
140d1ba44:	4c 8b 64 24 50       	mov    0x50(%rsp),%r12
140d1ba49:	89 43 10             	mov    %eax,0x10(%rbx)
140d1ba4c:	b8 01 00 00 00       	mov    $0x1,%eax
140d1ba51:	8b 4e 08             	mov    0x8(%rsi),%ecx
140d1ba54:	ff c1                	inc    %ecx
140d1ba56:	03 cd                	add    %ebp,%ecx
140d1ba58:	89 4b 08             	mov    %ecx,0x8(%rbx)
140d1ba5b:	48 83 c4 28          	add    $0x28,%rsp
140d1ba5f:	5f                   	pop    %rdi
140d1ba60:	5e                   	pop    %rsi
140d1ba61:	5d                   	pop    %rbp
140d1ba62:	5b                   	pop    %rbx
140d1ba63:	c3                   	ret
140d1ba64:	cc                   	int3
140d1ba65:	cc                   	int3
140d1ba66:	cc                   	int3
140d1ba67:	cc                   	int3
140d1ba68:	cc                   	int3
140d1ba69:	cc                   	int3
140d1ba6a:	cc                   	int3
140d1ba6b:	cc                   	int3
140d1ba6c:	cc                   	int3
140d1ba6d:	cc                   	int3
140d1ba6e:	cc                   	int3
140d1ba6f:	cc                   	int3
140d1ba70:	40 53                	rex push %rbx
140d1ba72:	57                   	push   %rdi
140d1ba73:	41 54                	push   %r12
140d1ba75:	41 56                	push   %r14
140d1ba77:	41 57                	push   %r15
140d1ba79:	b8 20 00 00 00       	mov    $0x20,%eax
140d1ba7e:	e8 1d fa 0f 00       	call   0x140e1b4a0
140d1ba83:	48 2b e0             	sub    %rax,%rsp
140d1ba86:	4c 8b e2             	mov    %rdx,%r12
140d1ba89:	41 8b c0             	mov    %r8d,%eax
140d1ba8c:	99                   	cltd
140d1ba8d:	41 8b d8             	mov    %r8d,%ebx
140d1ba90:	83 e2 3f             	and    $0x3f,%edx
140d1ba93:	48 8b f9             	mov    %rcx,%rdi
140d1ba96:	03 c2                	add    %edx,%eax
140d1ba98:	45 8b 74 24 08       	mov    0x8(%r12),%r14d
140d1ba9d:	c1 f8 06             	sar    $0x6,%eax
140d1baa0:	4c 63 f8             	movslq %eax,%r15
140d1baa3:	45 3b fe             	cmp    %r14d,%r15d
140d1baa6:	7c 19                	jl     0x140d1bac1
140d1baa8:	33 d2                	xor    %edx,%edx
140d1baaa:	e8 81 aa fb ff       	call   0x140cd6530
140d1baaf:	b8 01 00 00 00       	mov    $0x1,%eax
140d1bab4:	48 83 c4 20          	add    $0x20,%rsp
140d1bab8:	41 5f                	pop    %r15
140d1baba:	41 5e                	pop    %r14
140d1babc:	41 5c                	pop    %r12
140d1babe:	5f                   	pop    %rdi
140d1babf:	5b                   	pop    %rbx
140d1bac0:	c3                   	ret
140d1bac1:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
140d1bac6:	83 e3 3f             	and    $0x3f,%ebx
140d1bac9:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
140d1bace:	45 2b f7             	sub    %r15d,%r14d
140d1bad1:	8b f3                	mov    %ebx,%esi
140d1bad3:	f7 de                	neg    %esi
140d1bad5:	83 e6 3f             	and    $0x3f,%esi
140d1bad8:	8b ee                	mov    %esi,%ebp
140d1bada:	48 f7 dd             	neg    %rbp
140d1badd:	48 8b c5             	mov    %rbp,%rax
140d1bae0:	48 c1 e8 08          	shr    $0x8,%rax
140d1bae4:	48 0b e8             	or     %rax,%rbp
140d1bae7:	49 3b fc             	cmp    %r12,%rdi
140d1baea:	74 11                	je     0x140d1bafd
140d1baec:	41 8b d6             	mov    %r14d,%edx
140d1baef:	e8 dc af fb ff       	call   0x140cd6ad0
140d1baf4:	48 85 c0             	test   %rax,%rax
140d1baf7:	0f 84 7f 00 00 00    	je     0x140d1bb7c
140d1bafd:	49 8b 04 24          	mov    (%r12),%rax
140d1bb01:	4e 8b 04 f8          	mov    (%rax,%r15,8),%r8
140d1bb05:	4e 8d 14 f8          	lea    (%rax,%r15,8),%r10
140d1bb09:	41 8d 46 ff          	lea    -0x1(%r14),%eax
140d1bb0d:	4c 89 6c 24 60       	mov    %r13,0x60(%rsp)
140d1bb12:	4c 8b 2f             	mov    (%rdi),%r13
140d1bb15:	45 33 ff             	xor    %r15d,%r15d
140d1bb18:	4c 63 d8             	movslq %eax,%r11
140d1bb1b:	85 c0                	test   %eax,%eax
140d1bb1d:	7e 3a                	jle    0x140d1bb59
140d1bb1f:	4d 8b cd             	mov    %r13,%r9
140d1bb22:	4d 2b d5             	sub    %r13,%r10
140d1bb25:	44 8b f8             	mov    %eax,%r15d
140d1bb28:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140d1bb2f:	00
140d1bb30:	4b 8b 54 11 08       	mov    0x8(%r9,%r10,1),%rdx
140d1bb35:	4d 8d 49 08          	lea    0x8(%r9),%r9
140d1bb39:	8b ce                	mov    %esi,%ecx
140d1bb3b:	48 8b c2             	mov    %rdx,%rax
140d1bb3e:	48 d3 e0             	shl    %cl,%rax
140d1bb41:	8b cb                	mov    %ebx,%ecx
140d1bb43:	49 d3 e8             	shr    %cl,%r8
140d1bb46:	48 23 c5             	and    %rbp,%rax
140d1bb49:	49 0b c0             	or     %r8,%rax
140d1bb4c:	4c 8b c2             	mov    %rdx,%r8
140d1bb4f:	49 89 41 f8          	mov    %rax,-0x8(%r9)
140d1bb53:	49 83 eb 01          	sub    $0x1,%r11
140d1bb57:	75 d7                	jne    0x140d1bb30
140d1bb59:	49 63 c7             	movslq %r15d,%rax
140d1bb5c:	8b cb                	mov    %ebx,%ecx
140d1bb5e:	49 d3 e8             	shr    %cl,%r8
140d1bb61:	4d 89 44 c5 00       	mov    %r8,0x0(%r13,%rax,8)
140d1bb66:	41 8b 44 24 10       	mov    0x10(%r12),%eax
140d1bb6b:	4c 8b 6c 24 60       	mov    0x60(%rsp),%r13
140d1bb70:	89 47 10             	mov    %eax,0x10(%rdi)
140d1bb73:	b8 01 00 00 00       	mov    $0x1,%eax
140d1bb78:	44 89 77 08          	mov    %r14d,0x8(%rdi)
140d1bb7c:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d1bb81:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140d1bb86:	48 83 c4 20          	add    $0x20,%rsp
140d1bb8a:	41 5f                	pop    %r15
140d1bb8c:	41 5e                	pop    %r14
140d1bb8e:	41 5c                	pop    %r12
140d1bb90:	5f                   	pop    %rdi
140d1bb91:	5b                   	pop    %rbx
140d1bb92:	c3                   	ret
140d1bb93:	cc                   	int3
140d1bb94:	cc                   	int3
140d1bb95:	cc                   	int3
140d1bb96:	cc                   	int3
140d1bb97:	cc                   	int3
140d1bb98:	cc                   	int3
140d1bb99:	cc                   	int3
140d1bb9a:	cc                   	int3
140d1bb9b:	cc                   	int3
140d1bb9c:	cc                   	int3
140d1bb9d:	cc                   	int3
140d1bb9e:	cc                   	int3
140d1bb9f:	cc                   	int3
140d1bba0:	4d 8b d8             	mov    %r8,%r11
140d1bba3:	44 8b ca             	mov    %edx,%r9d
140d1bba6:	85 d2                	test   %edx,%edx
140d1bba8:	7f 03                	jg     0x140d1bbad
140d1bbaa:	33 c0                	xor    %eax,%eax
140d1bbac:	c3                   	ret
140d1bbad:	0f b6 11             	movzbl (%rcx),%edx
140d1bbb0:	84 d2                	test   %dl,%dl
140d1bbb2:	78 0c                	js     0x140d1bbc0
140d1bbb4:	83 e2 7f             	and    $0x7f,%edx
140d1bbb7:	b8 01 00 00 00       	mov    $0x1,%eax
140d1bbbc:	41 89 13             	mov    %edx,(%r11)
140d1bbbf:	c3                   	ret
140d1bbc0:	0f b6 c2             	movzbl %dl,%eax
140d1bbc3:	24 e0                	and    $0xe0,%al
140d1bbc5:	3c c0                	cmp    $0xc0,%al
140d1bbc7:	75 3f                	jne    0x140d1bc08
140d1bbc9:	41 83 f9 02          	cmp    $0x2,%r9d
140d1bbcd:	0f 8c d5 01 00 00    	jl     0x140d1bda8
140d1bbd3:	44 0f b6 41 01       	movzbl 0x1(%rcx),%r8d
140d1bbd8:	41 0f b6 c0          	movzbl %r8b,%eax
140d1bbdc:	24 c0                	and    $0xc0,%al
140d1bbde:	3c 80                	cmp    $0x80,%al
140d1bbe0:	0f 85 61 02 00 00    	jne    0x140d1be47
140d1bbe6:	83 e2 1f             	and    $0x1f,%edx
140d1bbe9:	41 83 e0 3f          	and    $0x3f,%r8d
140d1bbed:	c1 e2 06             	shl    $0x6,%edx
140d1bbf0:	41 0b d0             	or     %r8d,%edx
140d1bbf3:	81 fa 80 00 00 00    	cmp    $0x80,%edx
140d1bbf9:	0f 82 39 02 00 00    	jb     0x140d1be38
140d1bbff:	b8 02 00 00 00       	mov    $0x2,%eax
140d1bc04:	41 89 13             	mov    %edx,(%r11)
140d1bc07:	c3                   	ret
140d1bc08:	0f b6 c2             	movzbl %dl,%eax
140d1bc0b:	24 f0                	and    $0xf0,%al
140d1bc0d:	3c e0                	cmp    $0xe0,%al
140d1bc0f:	75 5c                	jne    0x140d1bc6d
140d1bc11:	41 83 f9 03          	cmp    $0x3,%r9d
140d1bc15:	0f 8c 8d 01 00 00    	jl     0x140d1bda8
140d1bc1b:	44 0f b6 41 01       	movzbl 0x1(%rcx),%r8d
140d1bc20:	41 0f b6 c0          	movzbl %r8b,%eax
140d1bc24:	24 c0                	and    $0xc0,%al
140d1bc26:	3c 80                	cmp    $0x80,%al
140d1bc28:	0f 85 19 02 00 00    	jne    0x140d1be47
140d1bc2e:	44 0f b6 49 02       	movzbl 0x2(%rcx),%r9d
140d1bc33:	41 0f b6 c1          	movzbl %r9b,%eax
140d1bc37:	24 c0                	and    $0xc0,%al
140d1bc39:	3c 80                	cmp    $0x80,%al
140d1bc3b:	0f 85 06 02 00 00    	jne    0x140d1be47
140d1bc41:	83 e2 0f             	and    $0xf,%edx
140d1bc44:	41 83 e0 3f          	and    $0x3f,%r8d
140d1bc48:	c1 e2 06             	shl    $0x6,%edx
140d1bc4b:	41 83 e1 3f          	and    $0x3f,%r9d
140d1bc4f:	41 0b d0             	or     %r8d,%edx
140d1bc52:	c1 e2 06             	shl    $0x6,%edx
140d1bc55:	41 0b d1             	or     %r9d,%edx
140d1bc58:	81 fa 00 08 00 00    	cmp    $0x800,%edx
140d1bc5e:	0f 82 d4 01 00 00    	jb     0x140d1be38
140d1bc64:	b8 03 00 00 00       	mov    $0x3,%eax
140d1bc69:	41 89 13             	mov    %edx,(%r11)
140d1bc6c:	c3                   	ret
140d1bc6d:	0f b6 c2             	movzbl %dl,%eax
140d1bc70:	24 f8                	and    $0xf8,%al
140d1bc72:	3c f0                	cmp    $0xf0,%al
140d1bc74:	75 7c                	jne    0x140d1bcf2
140d1bc76:	41 83 f9 04          	cmp    $0x4,%r9d
140d1bc7a:	0f 8c 28 01 00 00    	jl     0x140d1bda8
140d1bc80:	44 0f b6 41 01       	movzbl 0x1(%rcx),%r8d
140d1bc85:	41 0f b6 c0          	movzbl %r8b,%eax
140d1bc89:	24 c0                	and    $0xc0,%al
140d1bc8b:	3c 80                	cmp    $0x80,%al
140d1bc8d:	0f 85 b4 01 00 00    	jne    0x140d1be47
140d1bc93:	44 0f b6 49 02       	movzbl 0x2(%rcx),%r9d
140d1bc98:	41 0f b6 c1          	movzbl %r9b,%eax
140d1bc9c:	24 c0                	and    $0xc0,%al
140d1bc9e:	3c 80                	cmp    $0x80,%al
140d1bca0:	0f 85 a1 01 00 00    	jne    0x140d1be47
140d1bca6:	0f b6 41 03          	movzbl 0x3(%rcx),%eax
140d1bcaa:	24 c0                	and    $0xc0,%al
140d1bcac:	3c 80                	cmp    $0x80,%al
140d1bcae:	0f 85 93 01 00 00    	jne    0x140d1be47
140d1bcb4:	83 e2 07             	and    $0x7,%edx
140d1bcb7:	41 83 e0 3f          	and    $0x3f,%r8d
140d1bcbb:	8b c2                	mov    %edx,%eax
140d1bcbd:	41 c1 e0 06          	shl    $0x6,%r8d
140d1bcc1:	c1 e0 12             	shl    $0x12,%eax
140d1bcc4:	41 83 e1 3f          	and    $0x3f,%r9d
140d1bcc8:	45 0b c1             	or     %r9d,%r8d
140d1bccb:	41 c1 e0 06          	shl    $0x6,%r8d
140d1bccf:	41 8b d0             	mov    %r8d,%edx
140d1bcd2:	0b d0                	or     %eax,%edx
140d1bcd4:	0f b6 41 03          	movzbl 0x3(%rcx),%eax
140d1bcd8:	83 e0 3f             	and    $0x3f,%eax
140d1bcdb:	0b d0                	or     %eax,%edx
140d1bcdd:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
140d1bce3:	0f 82 4f 01 00 00    	jb     0x140d1be38
140d1bce9:	b8 04 00 00 00       	mov    $0x4,%eax
140d1bcee:	41 89 13             	mov    %edx,(%r11)
140d1bcf1:	c3                   	ret
140d1bcf2:	0f b6 c2             	movzbl %dl,%eax
140d1bcf5:	24 fc                	and    $0xfc,%al
140d1bcf7:	3c f8                	cmp    $0xf8,%al
140d1bcf9:	0f 85 96 00 00 00    	jne    0x140d1bd95
140d1bcff:	41 83 f9 05          	cmp    $0x5,%r9d
140d1bd03:	0f 8c 9f 00 00 00    	jl     0x140d1bda8
140d1bd09:	44 0f b6 41 01       	movzbl 0x1(%rcx),%r8d
140d1bd0e:	41 0f b6 c0          	movzbl %r8b,%eax
140d1bd12:	24 c0                	and    $0xc0,%al
140d1bd14:	3c 80                	cmp    $0x80,%al
140d1bd16:	0f 85 2b 01 00 00    	jne    0x140d1be47
140d1bd1c:	44 0f b6 51 02       	movzbl 0x2(%rcx),%r10d
140d1bd21:	4c 8d 49 02          	lea    0x2(%rcx),%r9
140d1bd25:	41 0f b6 c2          	movzbl %r10b,%eax
140d1bd29:	24 c0                	and    $0xc0,%al
140d1bd2b:	3c 80                	cmp    $0x80,%al
140d1bd2d:	0f 85 14 01 00 00    	jne    0x140d1be47
140d1bd33:	0f b6 41 03          	movzbl 0x3(%rcx),%eax
140d1bd37:	24 c0                	and    $0xc0,%al
140d1bd39:	3c 80                	cmp    $0x80,%al
140d1bd3b:	0f 85 06 01 00 00    	jne    0x140d1be47
140d1bd41:	0f b6 41 04          	movzbl 0x4(%rcx),%eax
140d1bd45:	24 c0                	and    $0xc0,%al
140d1bd47:	3c 80                	cmp    $0x80,%al
140d1bd49:	0f 85 f8 00 00 00    	jne    0x140d1be47
140d1bd4f:	41 0f b6 49 01       	movzbl 0x1(%r9),%ecx
140d1bd54:	83 e2 03             	and    $0x3,%edx
140d1bd57:	41 0f b6 41 02       	movzbl 0x2(%r9),%eax
140d1bd5c:	83 e1 3f             	and    $0x3f,%ecx
140d1bd5f:	c1 e2 06             	shl    $0x6,%edx
140d1bd62:	41 83 e0 3f          	and    $0x3f,%r8d
140d1bd66:	41 0b d0             	or     %r8d,%edx
140d1bd69:	c1 e1 06             	shl    $0x6,%ecx
140d1bd6c:	c1 e2 06             	shl    $0x6,%edx
140d1bd6f:	41 83 e2 3f          	and    $0x3f,%r10d
140d1bd73:	41 0b d2             	or     %r10d,%edx
140d1bd76:	83 e0 3f             	and    $0x3f,%eax
140d1bd79:	c1 e2 0c             	shl    $0xc,%edx
140d1bd7c:	0b c8                	or     %eax,%ecx
140d1bd7e:	0b d1                	or     %ecx,%edx
140d1bd80:	81 fa 00 00 20 00    	cmp    $0x200000,%edx
140d1bd86:	0f 82 ac 00 00 00    	jb     0x140d1be38
140d1bd8c:	b8 05 00 00 00       	mov    $0x5,%eax
140d1bd91:	41 89 13             	mov    %edx,(%r11)
140d1bd94:	c3                   	ret
140d1bd95:	0f b6 c2             	movzbl %dl,%eax
140d1bd98:	24 fe                	and    $0xfe,%al
140d1bd9a:	3c fc                	cmp    $0xfc,%al
140d1bd9c:	0f 85 ab 00 00 00    	jne    0x140d1be4d
140d1bda2:	41 83 f9 06          	cmp    $0x6,%r9d
140d1bda6:	7d 06                	jge    0x140d1bdae
140d1bda8:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140d1bdad:	c3                   	ret
140d1bdae:	44 0f b6 49 01       	movzbl 0x1(%rcx),%r9d
140d1bdb3:	41 0f b6 c1          	movzbl %r9b,%eax
140d1bdb7:	24 c0                	and    $0xc0,%al
140d1bdb9:	3c 80                	cmp    $0x80,%al
140d1bdbb:	0f 85 86 00 00 00    	jne    0x140d1be47
140d1bdc1:	44 0f b6 51 02       	movzbl 0x2(%rcx),%r10d
140d1bdc6:	4c 8d 41 02          	lea    0x2(%rcx),%r8
140d1bdca:	41 0f b6 c2          	movzbl %r10b,%eax
140d1bdce:	24 c0                	and    $0xc0,%al
140d1bdd0:	3c 80                	cmp    $0x80,%al
140d1bdd2:	75 73                	jne    0x140d1be47
140d1bdd4:	0f b6 41 03          	movzbl 0x3(%rcx),%eax
140d1bdd8:	24 c0                	and    $0xc0,%al
140d1bdda:	3c 80                	cmp    $0x80,%al
140d1bddc:	75 69                	jne    0x140d1be47