140edb98a:	56                   	push   %rsi
140edb98b:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
140edb990:	45 33 db             	xor    %r11d,%r11d
140edb993:	41 0f b6 e8          	movzbl %r8b,%ebp
140edb997:	8b da                	mov    %edx,%ebx
140edb999:	48 83 fe 04          	cmp    $0x4,%rsi
140edb99d:	0f 82 b0 00 00 00    	jb     0x140edba53
140edb9a3:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140edb9a8:	4d 8d 51 02          	lea    0x2(%r9),%r10
140edb9ac:	bf 02 00 00 00       	mov    $0x2,%edi
140edb9b1:	49 2b f9             	sub    %r9,%rdi
140edb9b4:	0f 1f 40 00          	nopl   0x0(%rax)
140edb9b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140edb9bf:	00
140edb9c0:	41 0f b6 42 fe       	movzbl -0x2(%r10),%eax
140edb9c5:	0f b6 c8             	movzbl %al,%ecx
140edb9c8:	80 e1 fc             	and    $0xfc,%cl
140edb9cb:	80 f9 48             	cmp    $0x48,%cl
140edb9ce:	75 69                	jne    0x140edba39
140edb9d0:	41 0f b6 4a 01       	movzbl 0x1(%r10),%ecx
140edb9d5:	44 0f b6 c1          	movzbl %cl,%r8d
140edb9d9:	41 80 e0 03          	and    $0x3,%r8b
140edb9dd:	41 80 f8 01          	cmp    $0x1,%r8b
140edb9e1:	75 56                	jne    0x140edba39
140edb9e3:	41 0f b6 52 ff       	movzbl -0x1(%r10),%edx
140edb9e8:	83 e0 03             	and    $0x3,%eax
140edb9eb:	c1 e0 18             	shl    $0x18,%eax
140edb9ee:	0b c1                	or     %ecx,%eax
140edb9f0:	c1 e2 08             	shl    $0x8,%edx
140edb9f3:	41 0f b6 0a          	movzbl (%r10),%ecx
140edb9f7:	83 e0 fc             	and    $0xfffffffc,%eax
140edb9fa:	0b d1                	or     %ecx,%edx
140edb9fc:	c1 e2 08             	shl    $0x8,%edx
140edb9ff:	0b c2                	or     %edx,%eax
140edba01:	40 84 ed             	test   %bpl,%bpl
140edba04:	74 07                	je     0x140edba0d
140edba06:	41 03 c3             	add    %r11d,%eax
140edba09:	03 c3                	add    %ebx,%eax
140edba0b:	eb 05                	jmp    0x140edba12
140edba0d:	41 2b c3             	sub    %r11d,%eax
140edba10:	2b c3                	sub    %ebx,%eax
140edba12:	8b c8                	mov    %eax,%ecx
140edba14:	c1 e9 18             	shr    $0x18,%ecx
140edba17:	80 e1 03             	and    $0x3,%cl
140edba1a:	80 c9 48             	or     $0x48,%cl
140edba1d:	41 88 4a fe          	mov    %cl,-0x2(%r10)
140edba21:	8b c8                	mov    %eax,%ecx
140edba23:	c1 e9 10             	shr    $0x10,%ecx
140edba26:	41 88 4a ff          	mov    %cl,-0x1(%r10)
140edba2a:	8b c8                	mov    %eax,%ecx
140edba2c:	c1 e9 08             	shr    $0x8,%ecx
140edba2f:	44 0a c0             	or     %al,%r8b
140edba32:	41 88 0a             	mov    %cl,(%r10)
140edba35:	45 88 42 01          	mov    %r8b,0x1(%r10)
140edba39:	49 83 c2 04          	add    $0x4,%r10
140edba3d:	49 83 c3 04          	add    $0x4,%r11
140edba41:	4a 8d 0c 17          	lea    (%rdi,%r10,1),%rcx
140edba45:	48 3b ce             	cmp    %rsi,%rcx
140edba48:	0f 86 72 ff ff ff    	jbe    0x140edb9c0
140edba4e:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
140edba53:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
140edba58:	49 8b c3             	mov    %r11,%rax
140edba5b:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
140edba60:	5e                   	pop    %rsi
140edba61:	c3                   	ret
140edba62:	cc                   	int3
140edba63:	cc                   	int3
140edba64:	cc                   	int3
140edba65:	cc                   	int3
140edba66:	cc                   	int3
140edba67:	cc                   	int3
140edba68:	cc                   	int3
140edba69:	cc                   	int3
140edba6a:	cc                   	int3
140edba6b:	cc                   	int3
140edba6c:	cc                   	int3
140edba6d:	cc                   	int3
140edba6e:	cc                   	int3
140edba6f:	cc                   	int3
140edba70:	48 8b c4             	mov    %rsp,%rax
140edba73:	4c 89 48 20          	mov    %r9,0x20(%rax)
140edba77:	55                   	push   %rbp
140edba78:	41 54                	push   %r12
140edba7a:	48 83 ec 28          	sub    $0x28,%rsp
140edba7e:	45 33 db             	xor    %r11d,%r11d
140edba81:	45 0f b6 e0          	movzbl %r8b,%r12d
140edba85:	48 83 7c 24 60 10    	cmpq   $0x10,0x60(%rsp)
140edba8b:	8b ea                	mov    %edx,%ebp
140edba8d:	0f 82 d9 01 00 00    	jb     0x140edbc6c
140edba93:	48 89 58 08          	mov    %rbx,0x8(%rax)
140edba97:	48 8d 0d 02 47 33 00 	lea    0x334702(%rip),%rcx        # 0x1412101a0
140edba9e:	48 89 70 10          	mov    %rsi,0x10(%rax)
140edbaa2:	48 89 78 18          	mov    %rdi,0x18(%rax)
140edbaa6:	4c 89 68 e8          	mov    %r13,-0x18(%rax)
140edbaaa:	4c 89 70 e0          	mov    %r14,-0x20(%rax)
140edbaae:	4c 89 78 d8          	mov    %r15,-0x28(%rax)
140edbab2:	0f 1f 40 00          	nopl   0x0(%rax)
140edbab6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140edbabd:	00 00 00
140edbac0:	43 0f b6 04 19       	movzbl (%r9,%r11,1),%eax
140edbac5:	4d 8d 6b 10          	lea    0x10(%r11),%r13
140edbac9:	83 e0 1f             	and    $0x1f,%eax
140edbacc:	4c 89 2c 24          	mov    %r13,(%rsp)
140edbad0:	4c 8b 6c 24 58       	mov    0x58(%rsp),%r13
140edbad5:	bf 05 00 00 00       	mov    $0x5,%edi
140edbada:	45 33 c9             	xor    %r9d,%r9d
140edbadd:	44 8b 34 81          	mov    (%rcx,%rax,4),%r14d
140edbae1:	0f 1f 40 00          	nopl   0x0(%rax)
140edbae5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140edbaec:	00 00 00 00
140edbaf0:	41 8b c6             	mov    %r14d,%eax
140edbaf3:	49 8b c9             	mov    %r9,%rcx
140edbaf6:	d3 e8                	shr    %cl,%eax
140edbaf8:	a8 01                	test   $0x1,%al
140edbafa:	0f 84 1c 01 00 00    	je     0x140edbc1c
140edbb00:	8b f7                	mov    %edi,%esi
140edbb02:	44 8b ff             	mov    %edi,%r15d
140edbb05:	48 c1 ee 03          	shr    $0x3,%rsi
140edbb09:	41 83 e7 07          	and    $0x7,%r15d
140edbb0d:	49 03 f3             	add    %r11,%rsi
140edbb10:	41 8b cf             	mov    %r15d,%ecx
140edbb13:	49 03 f5             	add    %r13,%rsi
140edbb16:	0f b6 46 04          	movzbl 0x4(%rsi),%eax
140edbb1a:	0f b6 5e 05          	movzbl 0x5(%rsi),%ebx
140edbb1e:	48 c1 e3 08          	shl    $0x8,%rbx
140edbb22:	48 03 d8             	add    %rax,%rbx
140edbb25:	0f b6 46 03          	movzbl 0x3(%rsi),%eax
140edbb29:	48 c1 e3 08          	shl    $0x8,%rbx
140edbb2d:	48 03 d8             	add    %rax,%rbx
140edbb30:	0f b6 46 02          	movzbl 0x2(%rsi),%eax
140edbb34:	48 c1 e3 08          	shl    $0x8,%rbx
140edbb38:	48 03 d8             	add    %rax,%rbx
140edbb3b:	0f b6 46 01          	movzbl 0x1(%rsi),%eax
140edbb3f:	48 c1 e3 08          	shl    $0x8,%rbx
140edbb43:	48 03 d8             	add    %rax,%rbx
140edbb46:	0f b6 06             	movzbl (%rsi),%eax
140edbb49:	48 c1 e3 08          	shl    $0x8,%rbx
140edbb4d:	48 03 d8             	add    %rax,%rbx
140edbb50:	4c 8b d3             	mov    %rbx,%r10
140edbb53:	49 d3 ea             	shr    %cl,%r10
140edbb56:	49 8b c2             	mov    %r10,%rax
140edbb59:	48 c1 e8 25          	shr    $0x25,%rax
140edbb5d:	24 0f                	and    $0xf,%al
140edbb5f:	3c 05                	cmp    $0x5,%al
140edbb61:	0f 85 b5 00 00 00    	jne    0x140edbc1c
140edbb67:	49 f7 c2 00 0e 00 00 	test   $0xe00,%r10
140edbb6e:	0f 85 a8 00 00 00    	jne    0x140edbc1c
140edbb74:	49 8b c2             	mov    %r10,%rax
140edbb77:	49 8b ca             	mov    %r10,%rcx
140edbb7a:	48 c1 e8 10          	shr    $0x10,%rax
140edbb7e:	25 00 00 10 00       	and    $0x100000,%eax
140edbb83:	48 c1 e9 0d          	shr    $0xd,%rcx
140edbb87:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
140edbb8d:	0b c1                	or     %ecx,%eax
140edbb8f:	c1 e0 04             	shl    $0x4,%eax
140edbb92:	45 84 e4             	test   %r12b,%r12b
140edbb95:	74 07                	je     0x140edbb9e
140edbb97:	41 03 c3             	add    %r11d,%eax
140edbb9a:	03 c5                	add    %ebp,%eax
140edbb9c:	eb 05                	jmp    0x140edbba3
140edbb9e:	41 2b c3             	sub    %r11d,%eax
140edbba1:	2b c5                	sub    %ebp,%eax
140edbba3:	8b d0                	mov    %eax,%edx
140edbba5:	41 8b cf             	mov    %r15d,%ecx
140edbba8:	48 c1 ea 04          	shr    $0x4,%rdx
140edbbac:	48 b8 ff 1f 00 00 ee 	movabs $0xffffffee00001fff,%rax
140edbbb3:	ff ff ff
140edbbb6:	4c 23 d0             	and    %rax,%r10
140edbbb9:	4c 8b c2             	mov    %rdx,%r8
140edbbbc:	41 81 e0 00 00 10 00 	and    $0x100000,%r8d
140edbbc3:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
140edbbc9:	49 c1 e0 03          	shl    $0x3,%r8
140edbbcd:	b8 01 00 00 00       	mov    $0x1,%eax
140edbbd2:	d3 e0                	shl    %cl,%eax
140edbbd4:	4c 0b c2             	or     %rdx,%r8
140edbbd7:	ff c8                	dec    %eax
140edbbd9:	49 c1 e0 0d          	shl    $0xd,%r8
140edbbdd:	48 23 c3             	and    %rbx,%rax
140edbbe0:	4d 0b c2             	or     %r10,%r8
140edbbe3:	49 d3 e0             	shl    %cl,%r8
140edbbe6:	4c 0b c0             	or     %rax,%r8
140edbbe9:	44 88 06             	mov    %r8b,(%rsi)
140edbbec:	49 8b c0             	mov    %r8,%rax
140edbbef:	48 c1 e8 08          	shr    $0x8,%rax
140edbbf3:	88 46 01             	mov    %al,0x1(%rsi)
140edbbf6:	49 8b c0             	mov    %r8,%rax
140edbbf9:	48 c1 e8 10          	shr    $0x10,%rax
140edbbfd:	88 46 02             	mov    %al,0x2(%rsi)
140edbc00:	49 8b c0             	mov    %r8,%rax
140edbc03:	48 c1 e8 18          	shr    $0x18,%rax
140edbc07:	88 46 03             	mov    %al,0x3(%rsi)
140edbc0a:	49 8b c0             	mov    %r8,%rax
140edbc0d:	48 c1 e8 20          	shr    $0x20,%rax
140edbc11:	49 c1 e8 28          	shr    $0x28,%r8
140edbc15:	88 46 04             	mov    %al,0x4(%rsi)
140edbc18:	44 88 46 05          	mov    %r8b,0x5(%rsi)
140edbc1c:	49 ff c1             	inc    %r9
140edbc1f:	83 c7 29             	add    $0x29,%edi
140edbc22:	49 83 f9 03          	cmp    $0x3,%r9
140edbc26:	0f 82 c4 fe ff ff    	jb     0x140edbaf0
140edbc2c:	4c 8b 2c 24          	mov    (%rsp),%r13
140edbc30:	4c 8b 4c 24 58       	mov    0x58(%rsp),%r9
140edbc35:	4d 8b dd             	mov    %r13,%r11
140edbc38:	49 8d 4d 10          	lea    0x10(%r13),%rcx
140edbc3c:	48 3b 4c 24 60       	cmp    0x60(%rsp),%rcx
140edbc41:	48 8d 0d 58 45 33 00 	lea    0x334558(%rip),%rcx        # 0x1412101a0
140edbc48:	0f 86 72 fe ff ff    	jbe    0x140edbac0
140edbc4e:	4c 8b 7c 24 10       	mov    0x10(%rsp),%r15
140edbc53:	4c 8b 74 24 18       	mov    0x18(%rsp),%r14
140edbc58:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140edbc5d:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
140edbc62:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140edbc67:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140edbc6c:	49 8b c3             	mov    %r11,%rax
140edbc6f:	48 83 c4 28          	add    $0x28,%rsp
140edbc73:	41 5c                	pop    %r12
140edbc75:	5d                   	pop    %rbp
140edbc76:	c3                   	ret
140edbc77:	cc                   	int3
140edbc78:	cc                   	int3
140edbc79:	cc                   	int3
140edbc7a:	cc                   	int3
140edbc7b:	cc                   	int3
140edbc7c:	cc                   	int3
140edbc7d:	cc                   	int3
140edbc7e:	cc                   	int3
140edbc7f:	cc                   	int3
140edbc80:	48 83 ec 48          	sub    $0x48,%rsp
140edbc84:	c6 44 24 38 00       	movb   $0x0,0x38(%rsp)
140edbc89:	4c 8d 0d e0 fd ff ff 	lea    -0x220(%rip),%r9        # 0x140edba70
140edbc90:	c7 44 24 30 10 00 00 	movl   $0x10,0x30(%rsp)
140edbc97:	00
140edbc98:	48 c7 44 24 28 10 00 	movq   $0x10,0x28(%rsp)
140edbc9f:	00 00
140edbca1:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140edbca8:	00 00
140edbcaa:	e8 31 10 00 00       	call   0x140edcce0
140edbcaf:	48 83 c4 48          	add    $0x48,%rsp
140edbcb3:	c3                   	ret
140edbcb4:	cc                   	int3
140edbcb5:	cc                   	int3
140edbcb6:	cc                   	int3
140edbcb7:	cc                   	int3
140edbcb8:	cc                   	int3
140edbcb9:	cc                   	int3
140edbcba:	cc                   	int3
140edbcbb:	cc                   	int3
140edbcbc:	cc                   	int3
140edbcbd:	cc                   	int3
140edbcbe:	cc                   	int3
140edbcbf:	cc                   	int3
140edbcc0:	40 57                	rex push %rdi
140edbcc2:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
140edbcc7:	45 33 db             	xor    %r11d,%r11d
140edbcca:	48 83 ff 04          	cmp    $0x4,%rdi
140edbcce:	72 7c                	jb     0x140edbd4c
140edbcd0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140edbcd5:	4d 8d 51 02          	lea    0x2(%r9),%r10
140edbcd9:	bb 02 00 00 00       	mov    $0x2,%ebx
140edbcde:	49 2b d9             	sub    %r9,%rbx
140edbce1:	41 80 7a 01 eb       	cmpb   $0xeb,0x1(%r10)
140edbce6:	75 4e                	jne    0x140edbd36
140edbce8:	41 0f b6 42 ff       	movzbl -0x1(%r10),%eax
140edbced:	41 0f b6 0a          	movzbl (%r10),%ecx
140edbcf1:	c1 e1 08             	shl    $0x8,%ecx
140edbcf4:	0b c8                	or     %eax,%ecx
140edbcf6:	41 0f b6 42 fe       	movzbl -0x2(%r10),%eax
140edbcfb:	c1 e1 08             	shl    $0x8,%ecx
140edbcfe:	0b c8                	or     %eax,%ecx
140edbd00:	8d 04 8d 00 00 00 00 	lea    0x0(,%rcx,4),%eax
140edbd07:	45 84 c0             	test   %r8b,%r8b
140edbd0a:	74 0a                	je     0x140edbd16
140edbd0c:	83 c0 08             	add    $0x8,%eax
140edbd0f:	41 03 c3             	add    %r11d,%eax
140edbd12:	03 c2                	add    %edx,%eax
140edbd14:	eb 08                	jmp    0x140edbd1e
140edbd16:	41 2b c3             	sub    %r11d,%eax
140edbd19:	2b c2                	sub    %edx,%eax
140edbd1b:	83 e8 08             	sub    $0x8,%eax
140edbd1e:	c1 e8 02             	shr    $0x2,%eax
140edbd21:	8b c8                	mov    %eax,%ecx
140edbd23:	41 88 42 fe          	mov    %al,-0x2(%r10)
140edbd27:	c1 e9 10             	shr    $0x10,%ecx
140edbd2a:	41 88 0a             	mov    %cl,(%r10)
140edbd2d:	8b c8                	mov    %eax,%ecx
140edbd2f:	c1 e9 08             	shr    $0x8,%ecx
140edbd32:	41 88 4a ff          	mov    %cl,-0x1(%r10)
140edbd36:	49 83 c2 04          	add    $0x4,%r10
140edbd3a:	49 83 c3 04          	add    $0x4,%r11
140edbd3e:	4a 8d 0c 13          	lea    (%rbx,%r10,1),%rcx
140edbd42:	48 3b cf             	cmp    %rdi,%rcx
140edbd45:	76 9a                	jbe    0x140edbce1
140edbd47:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140edbd4c:	49 8b c3             	mov    %r11,%rax
140edbd4f:	5f                   	pop    %rdi
140edbd50:	c3                   	ret
140edbd51:	cc                   	int3
140edbd52:	cc                   	int3
140edbd53:	cc                   	int3
140edbd54:	cc                   	int3
140edbd55:	cc                   	int3
140edbd56:	cc                   	int3
140edbd57:	cc                   	int3
140edbd58:	cc                   	int3
140edbd59:	cc                   	int3
140edbd5a:	cc                   	int3
140edbd5b:	cc                   	int3
140edbd5c:	cc                   	int3
140edbd5d:	cc                   	int3
140edbd5e:	cc                   	int3
140edbd5f:	cc                   	int3
140edbd60:	48 83 ec 48          	sub    $0x48,%rsp
140edbd64:	c6 44 24 38 00       	movb   $0x0,0x38(%rsp)
140edbd69:	4c 8d 0d 50 ff ff ff 	lea    -0xb0(%rip),%r9        # 0x140edbcc0
140edbd70:	c7 44 24 30 04 00 00 	movl   $0x4,0x30(%rsp)
140edbd77:	00
140edbd78:	48 c7 44 24 28 04 00 	movq   $0x4,0x28(%rsp)
140edbd7f:	00 00
140edbd81:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140edbd88:	00 00
140edbd8a:	e8 51 0f 00 00       	call   0x140edcce0
140edbd8f:	48 83 c4 48          	add    $0x48,%rsp
140edbd93:	c3                   	ret
140edbd94:	cc                   	int3
140edbd95:	cc                   	int3
140edbd96:	cc                   	int3
140edbd97:	cc                   	int3
140edbd98:	cc                   	int3
140edbd99:	cc                   	int3
140edbd9a:	cc                   	int3
140edbd9b:	cc                   	int3
140edbd9c:	cc                   	int3
140edbd9d:	cc                   	int3
140edbd9e:	cc                   	int3
140edbd9f:	cc                   	int3
140edbda0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140edbda5:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140edbdaa:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
140edbdaf:	45 33 d2             	xor    %r10d,%r10d
140edbdb2:	8b da                	mov    %edx,%ebx
140edbdb4:	48 83 ff 04          	cmp    $0x4,%rdi
140edbdb8:	0f 82 b0 00 00 00    	jb     0x140edbe6e
140edbdbe:	45 8d 5a 04          	lea    0x4(%r10),%r11d
140edbdc2:	0f 1f 40 00          	nopl   0x0(%rax)
140edbdc6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140edbdcd:	00 00 00
140edbdd0:	43 0f b6 4c 11 01    	movzbl 0x1(%r9,%r10,1),%ecx
140edbdd6:	0f b6 c1             	movzbl %cl,%eax
140edbdd9:	24 f8                	and    $0xf8,%al
140edbddb:	3c f0                	cmp    $0xf0,%al