140524a60:	4d 8b f9             	mov    %r9,%r15
140524a63:	49 8b f0             	mov    %r8,%rsi
140524a66:	48 8b fa             	mov    %rdx,%rdi
140524a69:	4c 8b f1             	mov    %rcx,%r14
140524a6c:	44 0f b7 50 12       	movzwl 0x12(%rax),%r10d
140524a71:	66 44 89 11          	mov    %r10w,(%rcx)
140524a75:	66 45 85 d2          	test   %r10w,%r10w
140524a79:	0f 84 ba 00 00 00    	je     0x140524b39
140524a7f:	b9 28 00 00 00       	mov    $0x28,%ecx
140524a84:	e8 7f 66 8f 00       	call   0x140e1b108
140524a89:	33 c9                	xor    %ecx,%ecx
140524a8b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140524a90:	48 8b d8             	mov    %rax,%rbx
140524a93:	48 85 c0             	test   %rax,%rax
140524a96:	74 17                	je     0x140524aaf
140524a98:	49 8b 46 10          	mov    0x10(%r14),%rax
140524a9c:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140524aa0:	89 4b 10             	mov    %ecx,0x10(%rbx)
140524aa3:	48 89 0b             	mov    %rcx,(%rbx)
140524aa6:	48 89 43 18          	mov    %rax,0x18(%rbx)
140524aaa:	89 4b 20             	mov    %ecx,0x20(%rbx)
140524aad:	eb 03                	jmp    0x140524ab2
140524aaf:	48 8b d9             	mov    %rcx,%rbx
140524ab2:	48 8d 57 08          	lea    0x8(%rdi),%rdx
140524ab6:	49 89 5e 08          	mov    %rbx,0x8(%r14)
140524aba:	48 3b d6             	cmp    %rsi,%rdx
140524abd:	0f 87 94 00 00 00    	ja     0x140524b57
140524ac3:	48 8d 4f 04          	lea    0x4(%rdi),%rcx
140524ac7:	48 3b d1             	cmp    %rcx,%rdx
140524aca:	0f 82 87 00 00 00    	jb     0x140524b57
140524ad0:	83 bc 24 b0 00 00 00 	cmpl   $0x1,0xb0(%rsp)
140524ad7:	01
140524ad8:	0f b6 07             	movzbl (%rdi),%eax
140524adb:	88 03                	mov    %al,(%rbx)
140524add:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
140524ae1:	88 43 01             	mov    %al,0x1(%rbx)
140524ae4:	0f b6 47 02          	movzbl 0x2(%rdi),%eax
140524ae8:	88 43 02             	mov    %al,0x2(%rbx)
140524aeb:	0f b6 47 03          	movzbl 0x3(%rdi),%eax
140524aef:	88 43 03             	mov    %al,0x3(%rbx)
140524af2:	8b 01                	mov    (%rcx),%eax
140524af4:	74 02                	je     0x140524af8
140524af6:	0f c8                	bswap  %eax
140524af8:	89 43 04             	mov    %eax,0x4(%rbx)
140524afb:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
140524aff:	48 8b 43 18          	mov    0x18(%rbx),%rax
140524b03:	0f b7 68 12          	movzwl 0x12(%rax),%ebp
140524b07:	48 03 cd             	add    %rbp,%rcx
140524b0a:	48 3b ce             	cmp    %rsi,%rcx
140524b0d:	77 76                	ja     0x140524b85
140524b0f:	48 3b ca             	cmp    %rdx,%rcx
140524b12:	72 71                	jb     0x140524b85
140524b14:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140524b18:	44 8b c5             	mov    %ebp,%r8d
140524b1b:	e8 40 98 c8 ff       	call   0x1401ae360
140524b20:	49 8b 0f             	mov    (%r15),%rcx
140524b23:	41 b0 01             	mov    $0x1,%r8b
140524b26:	48 8b d3             	mov    %rbx,%rdx
140524b29:	e8 62 12 00 00       	call   0x140525d90
140524b2e:	0f b6 c0             	movzbl %al,%eax
140524b31:	8d 4d 08             	lea    0x8(%rbp),%ecx
140524b34:	89 43 20             	mov    %eax,0x20(%rbx)
140524b37:	eb 02                	jmp    0x140524b3b
140524b39:	33 c9                	xor    %ecx,%ecx
140524b3b:	8b c1                	mov    %ecx,%eax
140524b3d:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140524b42:	48 33 cc             	xor    %rsp,%rcx
140524b45:	e8 b6 69 8f 00       	call   0x140e1b500
140524b4a:	48 83 c4 58          	add    $0x58,%rsp
140524b4e:	41 5f                	pop    %r15
140524b50:	41 5e                	pop    %r14
140524b52:	5f                   	pop    %rdi
140524b53:	5e                   	pop    %rsi
140524b54:	5d                   	pop    %rbp
140524b55:	5b                   	pop    %rbx
140524b56:	c3                   	ret
140524b57:	2b f7                	sub    %edi,%esi
140524b59:	48 8d 15 e0 69 ae 00 	lea    0xae69e0(%rip),%rdx        # 0x14100b540
140524b60:	44 8b ce             	mov    %esi,%r9d
140524b63:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140524b68:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140524b6e:	e8 7d 45 c8 ff       	call   0x1401a90f0
140524b73:	48 8d 15 56 be e7 00 	lea    0xe7be56(%rip),%rdx        # 0x1413a09d0
140524b7a:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140524b7f:	e8 94 7c 8f 00       	call   0x140e1c818
140524b84:	cc                   	int3
140524b85:	2b f7                	sub    %edi,%esi
140524b87:	44 8d 45 08          	lea    0x8(%rbp),%r8d
140524b8b:	44 8b ce             	mov    %esi,%r9d
140524b8e:	48 8d 15 c3 69 ae 00 	lea    0xae69c3(%rip),%rdx        # 0x14100b558
140524b95:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140524b9a:	e8 51 45 c8 ff       	call   0x1401a90f0
140524b9f:	48 8d 15 2a be e7 00 	lea    0xe7be2a(%rip),%rdx        # 0x1413a09d0
140524ba6:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140524bab:	e8 68 7c 8f 00       	call   0x140e1c818
140524bb0:	cc                   	int3
140524bb1:	cc                   	int3
140524bb2:	cc                   	int3
140524bb3:	cc                   	int3
140524bb4:	cc                   	int3
140524bb5:	cc                   	int3
140524bb6:	cc                   	int3
140524bb7:	cc                   	int3
140524bb8:	cc                   	int3
140524bb9:	cc                   	int3
140524bba:	cc                   	int3
140524bbb:	cc                   	int3
140524bbc:	cc                   	int3
140524bbd:	cc                   	int3
140524bbe:	cc                   	int3
140524bbf:	cc                   	int3
140524bc0:	40 53                	rex push %rbx
140524bc2:	55                   	push   %rbp
140524bc3:	56                   	push   %rsi
140524bc4:	57                   	push   %rdi
140524bc5:	41 54                	push   %r12
140524bc7:	41 55                	push   %r13
140524bc9:	41 56                	push   %r14
140524bcb:	41 57                	push   %r15
140524bcd:	48 83 ec 78          	sub    $0x78,%rsp
140524bd1:	48 8b 05 28 43 e9 00 	mov    0xe94328(%rip),%rax        # 0x1413b8f00
140524bd8:	48 33 c4             	xor    %rsp,%rax
140524bdb:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140524be0:	4d 8b e9             	mov    %r9,%r13
140524be3:	49 8b f0             	mov    %r8,%rsi
140524be6:	48 8b da             	mov    %rdx,%rbx
140524be9:	48 8b f9             	mov    %rcx,%rdi
140524bec:	48 83 c2 0a          	add    $0xa,%rdx
140524bf0:	49 3b d0             	cmp    %r8,%rdx
140524bf3:	0f 87 0a 02 00 00    	ja     0x140524e03
140524bf9:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140524bfd:	48 3b d1             	cmp    %rcx,%rdx
140524c00:	0f 82 fd 01 00 00    	jb     0x140524e03
140524c06:	44 8b bc 24 e0 00 00 	mov    0xe0(%rsp),%r15d
140524c0d:	00
140524c0e:	0f b7 03             	movzwl (%rbx),%eax
140524c11:	41 83 ff 01          	cmp    $0x1,%r15d
140524c15:	75 16                	jne    0x140524c2d
140524c17:	66 89 07             	mov    %ax,(%rdi)
140524c1a:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
140524c1e:	66 89 47 02          	mov    %ax,0x2(%rdi)
140524c22:	8b 43 04             	mov    0x4(%rbx),%eax
140524c25:	89 47 04             	mov    %eax,0x4(%rdi)
140524c28:	0f b7 01             	movzwl (%rcx),%eax
140524c2b:	eb 22                	jmp    0x140524c4f
140524c2d:	66 c1 c8 08          	ror    $0x8,%ax
140524c31:	66 89 07             	mov    %ax,(%rdi)
140524c34:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
140524c38:	66 c1 c8 08          	ror    $0x8,%ax
140524c3c:	66 89 47 02          	mov    %ax,0x2(%rdi)
140524c40:	8b 43 04             	mov    0x4(%rbx),%eax
140524c43:	0f c8                	bswap  %eax
140524c45:	89 47 04             	mov    %eax,0x4(%rdi)
140524c48:	0f b7 01             	movzwl (%rcx),%eax
140524c4b:	66 c1 c8 08          	ror    $0x8,%ax
140524c4f:	66 89 47 08          	mov    %ax,0x8(%rdi)
140524c53:	44 0f b7 c0          	movzwl %ax,%r8d
140524c57:	48 8d 6b 0a          	lea    0xa(%rbx),%rbp
140524c5b:	49 03 e8             	add    %r8,%rbp
140524c5e:	48 3b ee             	cmp    %rsi,%rbp
140524c61:	0f 87 70 01 00 00    	ja     0x140524dd7
140524c67:	48 3b ea             	cmp    %rdx,%rbp
140524c6a:	0f 82 67 01 00 00    	jb     0x140524dd7
140524c70:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140524c74:	e8 e7 96 c8 ff       	call   0x1401ae360
140524c79:	48 8b c5             	mov    %rbp,%rax
140524c7c:	48 2b c3             	sub    %rbx,%rax
140524c7f:	48 99                	cqto
140524c81:	83 e2 03             	and    $0x3,%edx
140524c84:	48 03 c2             	add    %rdx,%rax
140524c87:	83 e0 03             	and    $0x3,%eax
140524c8a:	48 2b c2             	sub    %rdx,%rax
140524c8d:	ba 04 00 00 00       	mov    $0x4,%edx
140524c92:	2b d0                	sub    %eax,%edx
140524c94:	33 c9                	xor    %ecx,%ecx
140524c96:	85 c0                	test   %eax,%eax
140524c98:	0f 45 ca             	cmovne %edx,%ecx
140524c9b:	4c 63 e1             	movslq %ecx,%r12
140524c9e:	4c 03 e5             	add    %rbp,%r12
140524ca1:	b9 30 00 00 00       	mov    $0x30,%ecx
140524ca6:	e8 5d 64 8f 00       	call   0x140e1b108
140524cab:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140524cb0:	33 ed                	xor    %ebp,%ebp
140524cb2:	48 85 c0             	test   %rax,%rax
140524cb5:	74 22                	je     0x140524cd9
140524cb7:	40 88 28             	mov    %bpl,(%rax)
140524cba:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%rax)
140524cc1:	48 89 68 08          	mov    %rbp,0x8(%rax)
140524cc5:	48 89 68 10          	mov    %rbp,0x10(%rax)
140524cc9:	48 89 68 18          	mov    %rbp,0x18(%rax)
140524ccd:	48 89 68 20          	mov    %rbp,0x20(%rax)
140524cd1:	66 c7 40 28 00 0c    	movw   $0xc00,0x28(%rax)
140524cd7:	eb 03                	jmp    0x140524cdc
140524cd9:	48 8b c5             	mov    %rbp,%rax
140524cdc:	48 89 47 20          	mov    %rax,0x20(%rdi)
140524ce0:	44 89 7c 24 20       	mov    %r15d,0x20(%rsp)
140524ce5:	4d 8b cd             	mov    %r13,%r9
140524ce8:	4c 8b c6             	mov    %rsi,%r8
140524ceb:	49 8b d4             	mov    %r12,%rdx
140524cee:	48 8b c8             	mov    %rax,%rcx
140524cf1:	e8 9a f3 ff ff       	call   0x140524090
140524cf6:	48 63 f0             	movslq %eax,%rsi
140524cf9:	49 03 f4             	add    %r12,%rsi
140524cfc:	2b f3                	sub    %ebx,%esi
140524cfe:	4d 8b 7d 00          	mov    0x0(%r13),%r15
140524d02:	48 8b 0d 5f 6d f0 00 	mov    0xf06d5f(%rip),%rcx        # 0x14142ba68
140524d09:	48 85 c9             	test   %rcx,%rcx
140524d0c:	0f 84 9e 00 00 00    	je     0x140524db0
140524d12:	e8 19 08 2f 00       	call   0x140815530
140524d17:	84 c0                	test   %al,%al
140524d19:	0f 84 91 00 00 00    	je     0x140524db0
140524d1f:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140524d24:	48 63 5f 18          	movslq 0x18(%rdi),%rbx
140524d28:	85 db                	test   %ebx,%ebx
140524d2a:	7e 34                	jle    0x140524d60
140524d2c:	48 8b 6f 10          	mov    0x10(%rdi),%rbp
140524d30:	80 3c 2b 00          	cmpb   $0x0,(%rbx,%rbp,1)
140524d34:	75 2a                	jne    0x140524d60
140524d36:	b9 28 00 00 00       	mov    $0x28,%ecx
140524d3b:	e8 c8 63 8f 00       	call   0x140e1b108
140524d40:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140524d45:	48 85 c0             	test   %rax,%rax
140524d48:	74 0f                	je     0x140524d59
140524d4a:	4c 8b c5             	mov    %rbp,%r8
140524d4d:	8d 53 ff             	lea    -0x1(%rbx),%edx
140524d50:	48 8b c8             	mov    %rax,%rcx
140524d53:	e8 98 ce 20 00       	call   0x140731bf0
140524d58:	90                   	nop
140524d59:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140524d5e:	eb 2b                	jmp    0x140524d8b
140524d60:	48 8b 6f 10          	mov    0x10(%rdi),%rbp
140524d64:	b9 28 00 00 00       	mov    $0x28,%ecx
140524d69:	e8 9a 63 8f 00       	call   0x140e1b108
140524d6e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140524d73:	48 85 c0             	test   %rax,%rax
140524d76:	74 0e                	je     0x140524d86
140524d78:	4c 8b c5             	mov    %rbp,%r8
140524d7b:	8b d3                	mov    %ebx,%edx
140524d7d:	48 8b c8             	mov    %rax,%rcx
140524d80:	e8 6b ce 20 00       	call   0x140731bf0
140524d85:	90                   	nop
140524d86:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140524d8b:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
140524d92:	00 00
140524d94:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140524d99:	49 8b 4f 48          	mov    0x48(%r15),%rcx
140524d9d:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
140524da2:	4d 8b 47 18          	mov    0x18(%r15),%r8
140524da6:	48 8b 51 28          	mov    0x28(%rcx),%rdx
140524daa:	e8 f1 22 00 00       	call   0x1405270a0
140524daf:	90                   	nop
140524db0:	c7 47 28 01 00 00 00 	movl   $0x1,0x28(%rdi)
140524db7:	8b c6                	mov    %esi,%eax
140524db9:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140524dbe:	48 33 cc             	xor    %rsp,%rcx
140524dc1:	e8 3a 67 8f 00       	call   0x140e1b500
140524dc6:	48 83 c4 78          	add    $0x78,%rsp
140524dca:	41 5f                	pop    %r15
140524dcc:	41 5e                	pop    %r14
140524dce:	41 5d                	pop    %r13
140524dd0:	41 5c                	pop    %r12
140524dd2:	5f                   	pop    %rdi
140524dd3:	5e                   	pop    %rsi
140524dd4:	5d                   	pop    %rbp
140524dd5:	5b                   	pop    %rbx
140524dd6:	c3                   	ret
140524dd7:	2b f3                	sub    %ebx,%esi
140524dd9:	41 83 c0 0a          	add    $0xa,%r8d
140524ddd:	44 8b ce             	mov    %esi,%r9d
140524de0:	48 8d 15 91 65 ae 00 	lea    0xae6591(%rip),%rdx        # 0x14100b378
140524de7:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140524dec:	e8 ff 42 c8 ff       	call   0x1401a90f0
140524df1:	48 8d 15 d8 bb e7 00 	lea    0xe7bbd8(%rip),%rdx        # 0x1413a09d0
140524df8:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140524dfd:	e8 16 7a 8f 00       	call   0x140e1c818
140524e02:	cc                   	int3
140524e03:	2b f3                	sub    %ebx,%esi
140524e05:	44 8b ce             	mov    %esi,%r9d
140524e08:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
140524e0e:	48 8d 15 3b 65 ae 00 	lea    0xae653b(%rip),%rdx        # 0x14100b350
140524e15:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140524e1a:	e8 d1 42 c8 ff       	call   0x1401a90f0
140524e1f:	48 8d 15 aa bb e7 00 	lea    0xe7bbaa(%rip),%rdx        # 0x1413a09d0
140524e26:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140524e2b:	e8 e8 79 8f 00       	call   0x140e1c818
140524e30:	cc                   	int3
140524e31:	cc                   	int3
140524e32:	cc                   	int3
140524e33:	cc                   	int3
140524e34:	cc                   	int3
140524e35:	cc                   	int3
140524e36:	cc                   	int3
140524e37:	cc                   	int3
140524e38:	cc                   	int3
140524e39:	cc                   	int3
140524e3a:	cc                   	int3
140524e3b:	cc                   	int3
140524e3c:	cc                   	int3
140524e3d:	cc                   	int3
140524e3e:	cc                   	int3
140524e3f:	cc                   	int3
140524e40:	40 53                	rex push %rbx
140524e42:	55                   	push   %rbp
140524e43:	56                   	push   %rsi
140524e44:	57                   	push   %rdi
140524e45:	41 54                	push   %r12
140524e47:	41 56                	push   %r14
140524e49:	41 57                	push   %r15
140524e4b:	48 83 ec 60          	sub    $0x60,%rsp
140524e4f:	48 8b 05 aa 40 e9 00 	mov    0xe940aa(%rip),%rax        # 0x1413b8f00
140524e56:	48 33 c4             	xor    %rsp,%rax
140524e59:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140524e5e:	48 8b 41 48          	mov    0x48(%rcx),%rax
140524e62:	48 8b f2             	mov    %rdx,%rsi
140524e65:	4d 8b e1             	mov    %r9,%r12
140524e68:	49 8b f8             	mov    %r8,%rdi
140524e6b:	4c 8b f9             	mov    %rcx,%r15
140524e6e:	0f b6 50 02          	movzbl 0x2(%rax),%edx
140524e72:	88 11                	mov    %dl,(%rcx)
140524e74:	8b c2                	mov    %edx,%eax
140524e76:	83 fa 0f             	cmp    $0xf,%edx
140524e79:	0f 87 0e 03 00 00    	ja     0x14052518d
140524e7f:	48 8d 15 7a b1 ad ff 	lea    -0x524e86(%rip),%rdx        # 0x140000000
140524e86:	8b 8c 82 60 52 52 00 	mov    0x525260(%rdx,%rax,4),%ecx
140524e8d:	48 03 ca             	add    %rdx,%rcx
140524e90:	ff e1                	jmp    *%rcx
140524e92:	b9 10 00 00 00       	mov    $0x10,%ecx
140524e97:	e8 6c 62 8f 00       	call   0x140e1b108
140524e9c:	33 db                	xor    %ebx,%ebx
140524e9e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140524ea3:	4c 8b f0             	mov    %rax,%r14
140524ea6:	48 85 c0             	test   %rax,%rax
140524ea9:	74 09                	je     0x140524eb4
140524eab:	48 89 18             	mov    %rbx,(%rax)
140524eae:	48 89 58 08          	mov    %rbx,0x8(%rax)
140524eb2:	eb 03                	jmp    0x140524eb7
140524eb4:	4c 8b f3             	mov    %rbx,%r14
140524eb7:	48 8d 6e 08          	lea    0x8(%rsi),%rbp
140524ebb:	4d 89 77 08          	mov    %r14,0x8(%r15)
140524ebf:	48 3b ef             	cmp    %rdi,%rbp
140524ec2:	0f 87 39 03 00 00    	ja     0x140525201
140524ec8:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
140524ecc:	48 3b e9             	cmp    %rcx,%rbp
140524ecf:	0f 82 2c 03 00 00    	jb     0x140525201
140524ed5:	44 8b bc 24 c0 00 00 	mov    0xc0(%rsp),%r15d
140524edc:	00
140524edd:	0f b7 06             	movzwl (%rsi),%eax
140524ee0:	41 83 ff 01          	cmp    $0x1,%r15d
140524ee4:	75 11                	jne    0x140524ef7
140524ee6:	66 41 89 06          	mov    %ax,(%r14)