140479b25:	44 0f b7 f8          	movzwl %ax,%r15d
140479b29:	66 41 89 46 02       	mov    %ax,0x2(%r14)
140479b2e:	0f b7 e8             	movzwl %ax,%ebp
140479b31:	48 8b c3             	mov    %rbx,%rax
140479b34:	48 2b c2             	sub    %rdx,%rax
140479b37:	48 83 e8 03          	sub    $0x3,%rax
140479b3b:	4c 3b f8             	cmp    %rax,%r15
140479b3e:	0f 8f 6b 01 00 00    	jg     0x140479caf
140479b44:	33 c0                	xor    %eax,%eax
140479b46:	b9 18 00 00 00       	mov    $0x18,%ecx
140479b4b:	49 89 46 10          	mov    %rax,0x10(%r14)
140479b4f:	e8 b4 15 9a 00       	call   0x140e1b108
140479b54:	48 8b c8             	mov    %rax,%rcx
140479b57:	48 85 c0             	test   %rax,%rax
140479b5a:	74 0f                	je     0x140479b6b
140479b5c:	33 c0                	xor    %eax,%eax
140479b5e:	48 89 01             	mov    %rax,(%rcx)
140479b61:	48 89 41 08          	mov    %rax,0x8(%rcx)
140479b65:	48 89 41 10          	mov    %rax,0x10(%rcx)
140479b69:	eb 02                	jmp    0x140479b6d
140479b6b:	33 c9                	xor    %ecx,%ecx
140479b6d:	49 89 4e 08          	mov    %rcx,0x8(%r14)
140479b71:	48 8b 41 10          	mov    0x10(%rcx),%rax
140479b75:	48 2b 01             	sub    (%rcx),%rax
140479b78:	48 c1 f8 03          	sar    $0x3,%rax
140479b7c:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140479b81:	4c 3b f8             	cmp    %rax,%r15
140479b84:	76 0a                	jbe    0x140479b90
140479b86:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140479b8b:	e8 90 ba f4 ff       	call   0x1403c5620
140479b90:	85 ed                	test   %ebp,%ebp
140479b92:	0f 84 82 00 00 00    	je     0x140479c1a
140479b98:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140479b9f:	00
140479ba0:	b9 18 00 00 00       	mov    $0x18,%ecx
140479ba5:	e8 5e 15 9a 00       	call   0x140e1b108
140479baa:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140479baf:	48 85 c0             	test   %rax,%rax
140479bb2:	74 0c                	je     0x140479bc0
140479bb4:	33 c9                	xor    %ecx,%ecx
140479bb6:	89 08                	mov    %ecx,(%rax)
140479bb8:	48 89 48 04          	mov    %rcx,0x4(%rax)
140479bbc:	48 89 48 10          	mov    %rcx,0x10(%rax)
140479bc0:	4d 8b cd             	mov    %r13,%r9
140479bc3:	49 89 46 10          	mov    %rax,0x10(%r14)
140479bc7:	4c 8b c3             	mov    %rbx,%r8
140479bca:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
140479bcf:	48 8b d6             	mov    %rsi,%rdx
140479bd2:	48 8b c8             	mov    %rax,%rcx
140479bd5:	e8 46 c6 ff ff       	call   0x140476220
140479bda:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140479bde:	4c 63 f8             	movslq %eax,%r15
140479be1:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140479be5:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
140479be9:	74 0e                	je     0x140479bf9
140479beb:	49 8b 46 10          	mov    0x10(%r14),%rax
140479bef:	48 89 02             	mov    %rax,(%rdx)
140479bf2:	48 83 41 08 08       	addq   $0x8,0x8(%rcx)
140479bf7:	eb 09                	jmp    0x140479c02
140479bf9:	4d 8d 46 10          	lea    0x10(%r14),%r8
140479bfd:	e8 be b8 f4 ff       	call   0x1403c54c0
140479c02:	33 c0                	xor    %eax,%eax
140479c04:	49 03 f7             	add    %r15,%rsi
140479c07:	49 89 46 10          	mov    %rax,0x10(%r14)
140479c0b:	48 83 ed 01          	sub    $0x1,%rbp
140479c0f:	75 8f                	jne    0x140479ba0
140479c11:	40 b7 01             	mov    $0x1,%dil
140479c14:	41 89 46 18          	mov    %eax,0x18(%r14)
140479c18:	eb 37                	jmp    0x140479c51
140479c1a:	33 c0                	xor    %eax,%eax
140479c1c:	40 b7 01             	mov    $0x1,%dil
140479c1f:	41 89 46 18          	mov    %eax,0x18(%r14)
140479c23:	eb 2c                	jmp    0x140479c51
140479c25:	ba 03 00 00 00       	mov    $0x3,%edx
140479c2a:	41 c7 46 18 02 00 00 	movl   $0x2,0x18(%r14)
140479c31:	00
140479c32:	49 8b ca             	mov    %r10,%rcx
140479c35:	e8 f6 46 54 00       	call   0x1409be330
140479c3a:	eb 15                	jmp    0x140479c51
140479c3c:	45 33 c0             	xor    %r8d,%r8d
140479c3f:	33 d2                	xor    %edx,%edx
140479c41:	49 8b ca             	mov    %r10,%rcx
140479c44:	e8 27 4c 54 00       	call   0x1409be870
140479c49:	41 c7 46 18 01 00 00 	movl   $0x1,0x18(%r14)
140479c50:	00
140479c51:	4c 8b 7c 24 60       	mov    0x60(%rsp),%r15
140479c56:	40 0f b6 c7          	movzbl %dil,%eax
140479c5a:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140479c5f:	48 8b ac 24 b8 00 00 	mov    0xb8(%rsp),%rbp
140479c66:	00
140479c67:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140479c6c:	48 33 cc             	xor    %rsp,%rcx
140479c6f:	e8 8c 18 9a 00       	call   0x140e1b500
140479c74:	48 83 c4 70          	add    $0x70,%rsp
140479c78:	41 5e                	pop    %r14
140479c7a:	41 5d                	pop    %r13
140479c7c:	41 5c                	pop    %r12
140479c7e:	5f                   	pop    %rdi
140479c7f:	5b                   	pop    %rbx
140479c80:	c3                   	ret
140479c81:	2b da                	sub    %edx,%ebx
140479c83:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140479c88:	44 8b cb             	mov    %ebx,%r9d
140479c8b:	48 8d 15 26 fb b7 00 	lea    0xb7fb26(%rip),%rdx        # 0x140ff97b8
140479c92:	41 b8 03 00 00 00    	mov    $0x3,%r8d
140479c98:	e8 53 f4 d2 ff       	call   0x1401a90f0
140479c9d:	48 8d 15 2c 6d f2 00 	lea    0xf26d2c(%rip),%rdx        # 0x1413a09d0
140479ca4:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140479ca9:	e8 6a 2b 9a 00       	call   0x140e1c818
140479cae:	cc                   	int3
140479caf:	2b da                	sub    %edx,%ebx
140479cb1:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140479cb6:	44 8b c5             	mov    %ebp,%r8d
140479cb9:	48 8d 15 20 fb b7 00 	lea    0xb7fb20(%rip),%rdx        # 0x140ff97e0
140479cc0:	44 8d 4b fd          	lea    -0x3(%rbx),%r9d
140479cc4:	e8 27 f4 d2 ff       	call   0x1401a90f0
140479cc9:	48 8d 15 00 6d f2 00 	lea    0xf26d00(%rip),%rdx        # 0x1413a09d0
140479cd0:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140479cd5:	e8 3e 2b 9a 00       	call   0x140e1c818
140479cda:	cc                   	int3
140479cdb:	cc                   	int3
140479cdc:	cc                   	int3
140479cdd:	cc                   	int3
140479cde:	cc                   	int3
140479cdf:	cc                   	int3
140479ce0:	40 53                	rex push %rbx
140479ce2:	56                   	push   %rsi
140479ce3:	57                   	push   %rdi
140479ce4:	41 56                	push   %r14
140479ce6:	48 83 ec 68          	sub    $0x68,%rsp
140479cea:	48 8b 05 0f f2 f3 00 	mov    0xf3f20f(%rip),%rax        # 0x1413b8f00
140479cf1:	48 33 c4             	xor    %rsp,%rax
140479cf4:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140479cf9:	48 8b f9             	mov    %rcx,%rdi
140479cfc:	41 8b f1             	mov    %r9d,%esi
140479cff:	0f b6 49 28          	movzbl 0x28(%rcx),%ecx
140479d03:	4d 8b f0             	mov    %r8,%r14
140479d06:	48 8b da             	mov    %rdx,%rbx
140479d09:	88 0f                	mov    %cl,(%rdi)
140479d0b:	85 c9                	test   %ecx,%ecx
140479d0d:	0f 84 f4 00 00 00    	je     0x140479e07
140479d13:	83 e9 01             	sub    $0x1,%ecx
140479d16:	0f 84 92 00 00 00    	je     0x140479dae
140479d1c:	83 e9 01             	sub    $0x1,%ecx
140479d1f:	74 6c                	je     0x140479d8d
140479d21:	83 f9 01             	cmp    $0x1,%ecx
140479d24:	0f 85 5e 01 00 00    	jne    0x140479e88
140479d2a:	48 83 7f 20 00       	cmpq   $0x0,0x20(%rdi)
140479d2f:	75 32                	jne    0x140479d63
140479d31:	b9 28 00 00 00       	mov    $0x28,%ecx
140479d36:	e8 cd 13 9a 00       	call   0x140e1b108
140479d3b:	33 c9                	xor    %ecx,%ecx
140479d3d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140479d42:	48 85 c0             	test   %rax,%rax
140479d45:	74 15                	je     0x140479d5c
140479d47:	48 89 48 10          	mov    %rcx,0x10(%rax)
140479d4b:	89 48 18             	mov    %ecx,0x18(%rax)
140479d4e:	48 89 08             	mov    %rcx,(%rax)
140479d51:	88 48 08             	mov    %cl,0x8(%rax)
140479d54:	89 48 0c             	mov    %ecx,0xc(%rax)
140479d57:	89 48 20             	mov    %ecx,0x20(%rax)
140479d5a:	eb 03                	jmp    0x140479d5f
140479d5c:	48 8b c1             	mov    %rcx,%rax
140479d5f:	48 89 47 20          	mov    %rax,0x20(%rdi)
140479d63:	32 c0                	xor    %al,%al
140479d65:	80 7b 18 00          	cmpb   $0x0,0x18(%rbx)
140479d69:	75 0a                	jne    0x140479d75
140479d6b:	83 7b 44 00          	cmpl   $0x0,0x44(%rbx)
140479d6f:	0f 85 ed 00 00 00    	jne    0x140479e62
140479d75:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140479d79:	44 8b c6             	mov    %esi,%r8d
140479d7c:	48 8b d3             	mov    %rbx,%rdx
140479d7f:	e8 1c fa ff ff       	call   0x1404797a0
140479d84:	84 c0                	test   %al,%al
140479d86:	74 dd                	je     0x140479d65
140479d88:	e9 d5 00 00 00       	jmp    0x140479e62
140479d8d:	48 83 7f 18 00       	cmpq   $0x0,0x18(%rdi)
140479d92:	75 13                	jne    0x140479da7
140479d94:	b9 01 00 00 00       	mov    $0x1,%ecx
140479d99:	e8 6a 13 9a 00       	call   0x140e1b108
140479d9e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140479da3:	48 89 47 18          	mov    %rax,0x18(%rdi)
140479da7:	b0 01                	mov    $0x1,%al
140479da9:	e9 b8 00 00 00       	jmp    0x140479e66
140479dae:	48 83 7f 10 00       	cmpq   $0x0,0x10(%rdi)
140479db3:	75 2f                	jne    0x140479de4
140479db5:	b9 20 00 00 00       	mov    $0x20,%ecx
140479dba:	e8 49 13 9a 00       	call   0x140e1b108
140479dbf:	33 c9                	xor    %ecx,%ecx
140479dc1:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140479dc6:	48 85 c0             	test   %rax,%rax
140479dc9:	74 12                	je     0x140479ddd
140479dcb:	88 08                	mov    %cl,(%rax)
140479dcd:	89 48 02             	mov    %ecx,0x2(%rax)
140479dd0:	48 89 48 08          	mov    %rcx,0x8(%rax)
140479dd4:	48 89 48 10          	mov    %rcx,0x10(%rax)
140479dd8:	89 48 18             	mov    %ecx,0x18(%rax)
140479ddb:	eb 03                	jmp    0x140479de0
140479ddd:	48 8b c1             	mov    %rcx,%rax
140479de0:	48 89 47 10          	mov    %rax,0x10(%rdi)
140479de4:	32 c0                	xor    %al,%al
140479de6:	80 7b 18 00          	cmpb   $0x0,0x18(%rbx)
140479dea:	75 06                	jne    0x140479df2
140479dec:	83 7b 44 00          	cmpl   $0x0,0x44(%rbx)
140479df0:	75 70                	jne    0x140479e62
140479df2:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140479df6:	44 8b c6             	mov    %esi,%r8d
140479df9:	48 8b d3             	mov    %rbx,%rdx
140479dfc:	e8 bf 00 00 00       	call   0x140479ec0
140479e01:	84 c0                	test   %al,%al
140479e03:	74 e1                	je     0x140479de6
140479e05:	eb 5b                	jmp    0x140479e62
140479e07:	48 83 7f 08 00       	cmpq   $0x0,0x8(%rdi)
140479e0c:	75 30                	jne    0x140479e3e
140479e0e:	b9 20 00 00 00       	mov    $0x20,%ecx
140479e13:	e8 f0 12 9a 00       	call   0x140e1b108
140479e18:	33 c9                	xor    %ecx,%ecx
140479e1a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140479e1f:	48 85 c0             	test   %rax,%rax
140479e22:	74 13                	je     0x140479e37
140479e24:	88 08                	mov    %cl,(%rax)
140479e26:	66 89 48 02          	mov    %cx,0x2(%rax)
140479e2a:	48 89 48 08          	mov    %rcx,0x8(%rax)
140479e2e:	48 89 48 10          	mov    %rcx,0x10(%rax)
140479e32:	89 48 18             	mov    %ecx,0x18(%rax)
140479e35:	eb 03                	jmp    0x140479e3a
140479e37:	48 8b c1             	mov    %rcx,%rax
140479e3a:	48 89 47 08          	mov    %rax,0x8(%rdi)
140479e3e:	32 c0                	xor    %al,%al
140479e40:	80 7b 18 00          	cmpb   $0x0,0x18(%rbx)
140479e44:	75 06                	jne    0x140479e4c
140479e46:	83 7b 44 00          	cmpl   $0x0,0x44(%rbx)
140479e4a:	75 16                	jne    0x140479e62
140479e4c:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140479e50:	44 8b ce             	mov    %esi,%r9d
140479e53:	4d 8b c6             	mov    %r14,%r8
140479e56:	48 8b d3             	mov    %rbx,%rdx
140479e59:	e8 12 fc ff ff       	call   0x140479a70
140479e5e:	84 c0                	test   %al,%al
140479e60:	74 de                	je     0x140479e40
140479e62:	84 c0                	test   %al,%al
140479e64:	74 0b                	je     0x140479e71
140479e66:	49 8b 0e             	mov    (%r14),%rcx
140479e69:	c6 41 0d 08          	movb   $0x8,0xd(%rcx)
140479e6d:	c6 47 29 01          	movb   $0x1,0x29(%rdi)
140479e71:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140479e76:	48 33 cc             	xor    %rsp,%rcx
140479e79:	e8 82 16 9a 00       	call   0x140e1b500
140479e7e:	48 83 c4 68          	add    $0x68,%rsp
140479e82:	41 5e                	pop    %r14
140479e84:	5f                   	pop    %rdi
140479e85:	5e                   	pop    %rsi
140479e86:	5b                   	pop    %rbx
140479e87:	c3                   	ret
140479e88:	48 8b cf             	mov    %rdi,%rcx
140479e8b:	e8 c0 28 d5 ff       	call   0x1401cc750
140479e90:	44 0f b6 c0          	movzbl %al,%r8d
140479e94:	48 8d 15 8d f7 b7 00 	lea    0xb7f78d(%rip),%rdx        # 0x140ff9628
140479e9b:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140479ea0:	e8 bb e1 d3 ff       	call   0x1401b8060
140479ea5:	48 8d 15 74 6c f2 00 	lea    0xf26c74(%rip),%rdx        # 0x1413a0b20
140479eac:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140479eb1:	e8 62 29 9a 00       	call   0x140e1c818
140479eb6:	cc                   	int3
140479eb7:	cc                   	int3
140479eb8:	cc                   	int3
140479eb9:	cc                   	int3
140479eba:	cc                   	int3
140479ebb:	cc                   	int3
140479ebc:	cc                   	int3
140479ebd:	cc                   	int3
140479ebe:	cc                   	int3
140479ebf:	cc                   	int3
140479ec0:	40 53                	rex push %rbx
140479ec2:	56                   	push   %rsi
140479ec3:	57                   	push   %rdi
140479ec4:	41 55                	push   %r13
140479ec6:	41 57                	push   %r15
140479ec8:	48 83 ec 60          	sub    $0x60,%rsp
140479ecc:	48 8b 05 2d f0 f3 00 	mov    0xf3f02d(%rip),%rax        # 0x1413b8f00
140479ed3:	48 33 c4             	xor    %rsp,%rax
140479ed6:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140479edb:	48 63 42 08          	movslq 0x8(%rdx),%rax
140479edf:	40 32 f6             	xor    %sil,%sil
140479ee2:	45 8b e8             	mov    %r8d,%r13d
140479ee5:	4c 8b ca             	mov    %rdx,%r9
140479ee8:	4c 8b f9             	mov    %rcx,%r15
140479eeb:	85 c0                	test   %eax,%eax
140479eed:	75 0d                	jne    0x140479efc
140479eef:	48 8b 5a 28          	mov    0x28(%rdx),%rbx
140479ef3:	48 63 7a 1c          	movslq 0x1c(%rdx),%rdi
140479ef7:	48 03 fb             	add    %rbx,%rdi
140479efa:	eb 08                	jmp    0x140479f04
140479efc:	48 8b 5a 10          	mov    0x10(%rdx),%rbx
140479f00:	48 8d 3c 03          	lea    (%rbx,%rax,1),%rdi
140479f04:	8b 49 18             	mov    0x18(%rcx),%ecx
140479f07:	48 89 ac 24 a0 00 00 	mov    %rbp,0xa0(%rsp)
140479f0e:	00
140479f0f:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
140479f14:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
140479f19:	85 c9                	test   %ecx,%ecx
140479f1b:	0f 84 05 02 00 00    	je     0x14047a126
140479f21:	83 e9 01             	sub    $0x1,%ecx
140479f24:	0f 84 b9 01 00 00    	je     0x14047a0e3
140479f2a:	83 f9 01             	cmp    $0x1,%ecx
140479f2d:	0f 85 0b 02 00 00    	jne    0x14047a13e
140479f33:	40 38 72 18          	cmp    %sil,0x18(%rdx)
140479f37:	75 0a                	jne    0x140479f43
140479f39:	83 7a 44 00          	cmpl   $0x0,0x44(%rdx)
140479f3d:	0f 85 fb 01 00 00    	jne    0x14047a13e
140479f43:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
140479f47:	48 3b cf             	cmp    %rdi,%rcx
140479f4a:	0f 87 01 03 00 00    	ja     0x14047a251
140479f50:	48 3b cb             	cmp    %rbx,%rcx
140479f53:	0f 82 f8 02 00 00    	jb     0x14047a251
140479f59:	0f b6 03             	movzbl (%rbx),%eax
140479f5c:	41 88 07             	mov    %al,(%r15)
140479f5f:	48 8d 43 03          	lea    0x3(%rbx),%rax
140479f63:	48 3b c7             	cmp    %rdi,%rax
140479f66:	0f 87 b7 02 00 00    	ja     0x14047a223
140479f6c:	48 3b c1             	cmp    %rcx,%rax
140479f6f:	0f 82 ae 02 00 00    	jb     0x14047a223
140479f75:	0f b7 01             	movzwl (%rcx),%eax
140479f78:	41 83 fd 01          	cmp    $0x1,%r13d
140479f7c:	74 04                	je     0x140479f82
140479f7e:	66 c1 c8 08          	ror    $0x8,%ax
140479f82:	45 0f b7 67 04       	movzwl 0x4(%r15),%r12d
140479f87:	48 8b cf             	mov    %rdi,%rcx
140479f8a:	66 41 89 47 02       	mov    %ax,0x2(%r15)
140479f8f:	48 2b cb             	sub    %rbx,%rcx
140479f92:	48 83 e9 05          	sub    $0x5,%rcx
140479f96:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140479f9d:	aa aa 2a
140479fa0:	48 f7 e9             	imul   %rcx
140479fa3:	48 8b c2             	mov    %rdx,%rax
140479fa6:	48 c1 e8 3f          	shr    $0x3f,%rax
140479faa:	48 03 d0             	add    %rax,%rdx
140479fad:	4c 3b e2             	cmp    %rdx,%r12
140479fb0:	0f 8f e5 01 00 00    	jg     0x14047a19b
140479fb6:	33 f6                	xor    %esi,%esi
140479fb8:	b9 18 00 00 00       	mov    $0x18,%ecx
140479fbd:	49 89 77 10          	mov    %rsi,0x10(%r15)
140479fc1:	8b ee                	mov    %esi,%ebp
140479fc3:	e8 40 11 9a 00       	call   0x140e1b108
140479fc8:	48 8b c8             	mov    %rax,%rcx
140479fcb:	48 85 c0             	test   %rax,%rax
140479fce:	74 0d                	je     0x140479fdd
140479fd0:	48 89 30             	mov    %rsi,(%rax)
140479fd3:	48 89 70 08          	mov    %rsi,0x8(%rax)
140479fd7:	48 89 70 10          	mov    %rsi,0x10(%rax)