140816a63:	41 8b d0             	mov    %r8d,%edx
140816a66:	45 85 c0             	test   %r8d,%r8d
140816a69:	7e 14                	jle    0x140816a7f
140816a6b:	48 8b 43 08          	mov    0x8(%rbx),%rax
140816a6f:	41 8d 48 ff          	lea    -0x1(%r8),%ecx
140816a73:	44 89 44 02 fc       	mov    %r8d,-0x4(%rdx,%rax,1)
140816a78:	48 8b 43 10          	mov    0x10(%rbx),%rax
140816a7c:	89 0c 02             	mov    %ecx,(%rdx,%rax,1)
140816a7f:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140816a83:	41 ff c0             	inc    %r8d
140816a86:	8b 43 34             	mov    0x34(%rbx),%eax
140816a89:	89 04 0a             	mov    %eax,(%rdx,%rcx,1)
140816a8c:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140816a90:	8b 43 38             	mov    0x38(%rbx),%eax
140816a93:	89 04 0a             	mov    %eax,(%rdx,%rcx,1)
140816a96:	48 83 c2 04          	add    $0x4,%rdx
140816a9a:	44 3b 03             	cmp    (%rbx),%r8d
140816a9d:	7c c7                	jl     0x140816a66
140816a9f:	48 8b c3             	mov    %rbx,%rax
140816aa2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140816aa7:	48 83 c4 20          	add    $0x20,%rsp
140816aab:	5f                   	pop    %rdi
140816aac:	c3                   	ret
140816aad:	cc                   	int3
140816aae:	cc                   	int3
140816aaf:	cc                   	int3
140816ab0:	40 53                	rex push %rbx
140816ab2:	48 83 ec 20          	sub    $0x20,%rsp
140816ab6:	48 8b d9             	mov    %rcx,%rbx
140816ab9:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140816abd:	e8 82 46 60 00       	call   0x140e1b144
140816ac2:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140816ac6:	e8 79 46 60 00       	call   0x140e1b144
140816acb:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140816acf:	e8 70 46 60 00       	call   0x140e1b144
140816ad4:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140816ad8:	e8 67 46 60 00       	call   0x140e1b144
140816add:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140816ae1:	48 83 c4 20          	add    $0x20,%rsp
140816ae5:	5b                   	pop    %rbx
140816ae6:	e9 59 46 60 00       	jmp    0x140e1b144
140816aeb:	cc                   	int3
140816aec:	cc                   	int3
140816aed:	cc                   	int3
140816aee:	cc                   	int3
140816aef:	cc                   	int3
140816af0:	45 33 d2             	xor    %r10d,%r10d
140816af3:	44 39 11             	cmp    %r10d,(%rcx)
140816af6:	0f 8e 7d 00 00 00    	jle    0x140816b79
140816afc:	45 8b ca             	mov    %r10d,%r9d
140816aff:	90                   	nop
140816b00:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140816b04:	8b 41 30             	mov    0x30(%rcx),%eax
140816b07:	41 39 04 11          	cmp    %eax,(%r9,%rdx,1)
140816b0b:	75 60                	jne    0x140816b6d
140816b0d:	8b 51 04             	mov    0x4(%rcx),%edx
140816b10:	8d 42 01             	lea    0x1(%rdx),%eax
140816b13:	89 41 04             	mov    %eax,0x4(%rcx)
140816b16:	48 8b 41 18          	mov    0x18(%rcx),%rax
140816b1a:	41 89 14 01          	mov    %edx,(%r9,%rax,1)
140816b1e:	48 8b 41 20          	mov    0x20(%rcx),%rax
140816b22:	45 89 14 01          	mov    %r10d,(%r9,%rax,1)
140816b26:	48 8b 41 08          	mov    0x8(%rcx),%rax
140816b2a:	45 8b 04 01          	mov    (%r9,%rax,1),%r8d
140816b2e:	44 3b 41 30          	cmp    0x30(%rcx),%r8d
140816b32:	74 39                	je     0x140816b6d
140816b34:	0f 1f 40 00          	nopl   0x0(%rax)
140816b38:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140816b3f:	00
140816b40:	48 8b 51 18          	mov    0x18(%rcx),%rdx
140816b44:	49 63 c0             	movslq %r8d,%rax
140816b47:	4c 8d 04 85 00 00 00 	lea    0x0(,%rax,4),%r8
140816b4e:	00
140816b4f:	41 8b 04 11          	mov    (%r9,%rdx,1),%eax
140816b53:	41 89 04 10          	mov    %eax,(%r8,%rdx,1)
140816b57:	48 8b 41 20          	mov    0x20(%rcx),%rax
140816b5b:	45 89 14 00          	mov    %r10d,(%r8,%rax,1)
140816b5f:	48 8b 41 08          	mov    0x8(%rcx),%rax
140816b63:	45 8b 04 00          	mov    (%r8,%rax,1),%r8d
140816b67:	44 3b 41 30          	cmp    0x30(%rcx),%r8d
140816b6b:	75 d3                	jne    0x140816b40
140816b6d:	41 ff c2             	inc    %r10d
140816b70:	49 83 c1 04          	add    $0x4,%r9
140816b74:	44 3b 11             	cmp    (%rcx),%r10d
140816b77:	7c 87                	jl     0x140816b00
140816b79:	8b 41 04             	mov    0x4(%rcx),%eax
140816b7c:	c3                   	ret
140816b7d:	cc                   	int3
140816b7e:	cc                   	int3
140816b7f:	cc                   	int3
140816b80:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140816b85:	55                   	push   %rbp
140816b86:	57                   	push   %rdi
140816b87:	41 54                	push   %r12
140816b89:	48 83 ec 20          	sub    $0x20,%rsp
140816b8d:	45 33 e4             	xor    %r12d,%r12d
140816b90:	48 8b fa             	mov    %rdx,%rdi
140816b93:	48 8b d9             	mov    %rcx,%rbx
140816b96:	4c 39 61 28          	cmp    %r12,0x28(%rcx)
140816b9a:	75 47                	jne    0x140816be3
140816b9c:	4c 63 01             	movslq (%rcx),%r8
140816b9f:	b8 04 00 00 00       	mov    $0x4,%eax
140816ba4:	49 f7 e0             	mul    %r8
140816ba7:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140816bae:	48 0f 42 c1          	cmovb  %rcx,%rax
140816bb2:	48 8b c8             	mov    %rax,%rcx
140816bb5:	e8 62 4a 60 00       	call   0x140e1b61c
140816bba:	41 8b d4             	mov    %r12d,%edx
140816bbd:	48 89 43 28          	mov    %rax,0x28(%rbx)
140816bc1:	39 13                	cmp    %edx,(%rbx)
140816bc3:	7e 1e                	jle    0x140816be3
140816bc5:	41 8b cc             	mov    %r12d,%ecx
140816bc8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140816bcf:	00
140816bd0:	48 8b 43 28          	mov    0x28(%rbx),%rax
140816bd4:	48 8d 49 04          	lea    0x4(%rcx),%rcx
140816bd8:	ff c2                	inc    %edx
140816bda:	44 89 64 01 fc       	mov    %r12d,-0x4(%rcx,%rax,1)
140816bdf:	3b 13                	cmp    (%rbx),%edx
140816be1:	7c ed                	jl     0x140816bd0
140816be3:	48 8b 3f             	mov    (%rdi),%rdi
140816be6:	49 8b ec             	mov    %r12,%rbp
140816be9:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140816bed:	4c 8b 0f             	mov    (%rdi),%r9
140816bf0:	49 8b c0             	mov    %r8,%rax
140816bf3:	49 2b c1             	sub    %r9,%rax
140816bf6:	48 c1 f8 03          	sar    $0x3,%rax
140816bfa:	48 85 c0             	test   %rax,%rax
140816bfd:	0f 84 98 01 00 00    	je     0x140816d9b
140816c03:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140816c08:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140816c0d:	4c 89 7c 24 50       	mov    %r15,0x50(%rsp)
140816c12:	0f 1f 40 00          	nopl   0x0(%rax)
140816c16:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140816c1d:	00 00 00
140816c20:	4d 63 3c e9          	movslq (%r9,%rbp,8),%r15
140816c24:	48 8b 43 10          	mov    0x10(%rbx),%rax
140816c28:	45 8b f7             	mov    %r15d,%r14d
140816c2b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140816c2f:	4a 8d 14 bd 00 00 00 	lea    0x0(,%r15,4),%rdx
140816c36:	00
140816c37:	8b 34 02             	mov    (%rdx,%rax,1),%esi
140816c3a:	48 8d 45 01          	lea    0x1(%rbp),%rax
140816c3e:	44 8b 1c 0a          	mov    (%rdx,%rcx,1),%r11d
140816c42:	45 85 db             	test   %r11d,%r11d
140816c45:	0f 84 bb 00 00 00    	je     0x140816d06
140816c4b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140816c50:	44 3b 1b             	cmp    (%rbx),%r11d
140816c53:	0f 8d ad 00 00 00    	jge    0x140816d06
140816c59:	4d 2b c1             	sub    %r9,%r8
140816c5c:	49 c1 f8 03          	sar    $0x3,%r8
140816c60:	49 3b c0             	cmp    %r8,%rax
140816c63:	73 4c                	jae    0x140816cb1
140816c65:	49 8b 0c c1          	mov    (%r9,%rax,8),%rcx
140816c69:	49 63 d3             	movslq %r11d,%rdx
140816c6c:	48 3b ca             	cmp    %rdx,%rcx
140816c6f:	7f 40                	jg     0x140816cb1
140816c71:	75 0a                	jne    0x140816c7d
140816c73:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140816c77:	44 39 24 81          	cmp    %r12d,(%rcx,%rax,4)
140816c7b:	74 13                	je     0x140816c90
140816c7d:	48 ff c0             	inc    %rax
140816c80:	49 3b c0             	cmp    %r8,%rax
140816c83:	73 2c                	jae    0x140816cb1
140816c85:	49 8b 0c c1          	mov    (%r9,%rax,8),%rcx
140816c89:	48 3b ca             	cmp    %rdx,%rcx
140816c8c:	7e e3                	jle    0x140816c71
140816c8e:	eb 21                	jmp    0x140816cb1
140816c90:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140816c94:	44 89 34 91          	mov    %r14d,(%rcx,%rdx,4)
140816c98:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140816c9c:	49 63 d6             	movslq %r14d,%rdx
140816c9f:	45 8b f3             	mov    %r11d,%r14d
140816ca2:	44 89 1c 91          	mov    %r11d,(%rcx,%rdx,4)
140816ca6:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140816caa:	c7 04 81 01 00 00 00 	movl   $0x1,(%rcx,%rax,4)
140816cb1:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140816cb5:	4c 8b 0f             	mov    (%rdi),%r9
140816cb8:	49 8b c8             	mov    %r8,%rcx
140816cbb:	49 2b c9             	sub    %r9,%rcx
140816cbe:	48 c1 f9 03          	sar    $0x3,%rcx
140816cc2:	48 3b c1             	cmp    %rcx,%rax
140816cc5:	73 09                	jae    0x140816cd0
140816cc7:	4d 63 d3             	movslq %r11d,%r10
140816cca:	4d 39 14 c1          	cmp    %r10,(%r9,%rax,8)
140816cce:	74 25                	je     0x140816cf5
140816cd0:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140816cd4:	4d 63 d3             	movslq %r11d,%r10
140816cd7:	42 89 34 91          	mov    %esi,(%rcx,%r10,4)
140816cdb:	3b 73 30             	cmp    0x30(%rbx),%esi
140816cde:	74 0b                	je     0x140816ceb
140816ce0:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140816ce4:	48 63 d6             	movslq %esi,%rdx
140816ce7:	44 89 1c 91          	mov    %r11d,(%rcx,%rdx,4)
140816ceb:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140816cef:	41 8b f3             	mov    %r11d,%esi
140816cf2:	4c 8b 0f             	mov    (%rdi),%r9
140816cf5:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140816cf9:	46 8b 1c 91          	mov    (%rcx,%r10,4),%r11d
140816cfd:	45 85 db             	test   %r11d,%r11d
140816d00:	0f 85 4a ff ff ff    	jne    0x140816c50
140816d06:	48 8b 43 10          	mov    0x10(%rbx),%rax
140816d0a:	8b 4b 30             	mov    0x30(%rbx),%ecx
140816d0d:	4a 8d 14 b8          	lea    (%rax,%r15,4),%rdx
140816d11:	42 8b 04 b8          	mov    (%rax,%r15,4),%eax
140816d15:	3b c1                	cmp    %ecx,%eax
140816d17:	75 04                	jne    0x140816d1d
140816d19:	3b f0                	cmp    %eax,%esi
140816d1b:	74 0f                	je     0x140816d2c
140816d1d:	89 0a                	mov    %ecx,(%rdx)
140816d1f:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140816d23:	8b 43 30             	mov    0x30(%rbx),%eax
140816d26:	48 63 d6             	movslq %esi,%rdx
140816d29:	89 04 91             	mov    %eax,(%rcx,%rdx,4)
140816d2c:	8b 43 30             	mov    0x30(%rbx),%eax
140816d2f:	48 ff c5             	inc    %rbp
140816d32:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140816d36:	49 63 d6             	movslq %r14d,%rdx
140816d39:	89 04 91             	mov    %eax,(%rcx,%rdx,4)
140816d3c:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140816d40:	4c 8b 0f             	mov    (%rdi),%r9
140816d43:	49 8b c0             	mov    %r8,%rax
140816d46:	49 2b c1             	sub    %r9,%rax
140816d49:	48 c1 f8 03          	sar    $0x3,%rax
140816d4d:	48 3b e8             	cmp    %rax,%rbp
140816d50:	73 27                	jae    0x140816d79
140816d52:	48 8b 43 28          	mov    0x28(%rbx),%rax
140816d56:	44 39 24 a8          	cmp    %r12d,(%rax,%rbp,4)
140816d5a:	74 1d                	je     0x140816d79
140816d5c:	44 89 24 a8          	mov    %r12d,(%rax,%rbp,4)
140816d60:	48 ff c5             	inc    %rbp
140816d63:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140816d67:	4c 8b 0f             	mov    (%rdi),%r9
140816d6a:	49 8b c0             	mov    %r8,%rax
140816d6d:	49 2b c1             	sub    %r9,%rax
140816d70:	48 c1 f8 03          	sar    $0x3,%rax
140816d74:	48 3b e8             	cmp    %rax,%rbp
140816d77:	72 d9                	jb     0x140816d52
140816d79:	49 8b c0             	mov    %r8,%rax
140816d7c:	49 2b c1             	sub    %r9,%rax
140816d7f:	48 c1 f8 03          	sar    $0x3,%rax
140816d83:	48 3b e8             	cmp    %rax,%rbp
140816d86:	0f 82 94 fe ff ff    	jb     0x140816c20
140816d8c:	4c 8b 7c 24 50       	mov    0x50(%rsp),%r15
140816d91:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140816d96:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140816d9b:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140816da0:	48 83 c4 20          	add    $0x20,%rsp
140816da4:	41 5c                	pop    %r12
140816da6:	5f                   	pop    %rdi
140816da7:	5d                   	pop    %rbp
140816da8:	c3                   	ret
140816da9:	cc                   	int3
140816daa:	cc                   	int3
140816dab:	cc                   	int3
140816dac:	cc                   	int3
140816dad:	cc                   	int3
140816dae:	cc                   	int3
140816daf:	cc                   	int3
140816db0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140816db5:	56                   	push   %rsi
140816db6:	57                   	push   %rdi
140816db7:	41 57                	push   %r15
140816db9:	48 83 ec 20          	sub    $0x20,%rsp
140816dbd:	48 8b 3a             	mov    (%rdx),%rdi
140816dc0:	4c 8b fa             	mov    %rdx,%r15
140816dc3:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
140816dc8:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
140816dcd:	4c 8b f1             	mov    %rcx,%r14
140816dd0:	b9 18 00 00 00       	mov    $0x18,%ecx
140816dd5:	e8 2e 43 60 00       	call   0x140e1b108
140816dda:	33 f6                	xor    %esi,%esi
140816ddc:	48 8b d8             	mov    %rax,%rbx
140816ddf:	48 85 c0             	test   %rax,%rax
140816de2:	74 0d                	je     0x140816df1
140816de4:	48 89 30             	mov    %rsi,(%rax)
140816de7:	48 89 70 08          	mov    %rsi,0x8(%rax)
140816deb:	48 89 70 10          	mov    %rsi,0x10(%rax)
140816def:	eb 03                	jmp    0x140816df4
140816df1:	48 8b de             	mov    %rsi,%rbx
140816df4:	48 8b 6f 08          	mov    0x8(%rdi),%rbp
140816df8:	48 8b 3f             	mov    (%rdi),%rdi
140816dfb:	48 3b fd             	cmp    %rbp,%rdi
140816dfe:	74 4b                	je     0x140816e4b
140816e00:	48 63 0f             	movslq (%rdi),%rcx
140816e03:	49 8b 46 20          	mov    0x20(%r14),%rax
140816e07:	48 8d 14 8d 00 00 00 	lea    0x0(,%rcx,4),%rdx
140816e0e:	00
140816e0f:	39 0c 02             	cmp    %ecx,(%rdx,%rax,1)
140816e12:	75 2e                	jne    0x140816e42
140816e14:	49 8b 46 18          	mov    0x18(%r14),%rax
140816e18:	48 63 0c 10          	movslq (%rax,%rdx,1),%rcx
140816e1c:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140816e20:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140816e25:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
140816e29:	74 0a                	je     0x140816e35
140816e2b:	48 89 0a             	mov    %rcx,(%rdx)
140816e2e:	48 83 43 08 08       	addq   $0x8,0x8(%rbx)
140816e33:	eb 0d                	jmp    0x140816e42
140816e35:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
140816e3a:	48 8b cb             	mov    %rbx,%rcx
140816e3d:	e8 7e e6 ba ff       	call   0x1403c54c0
140816e42:	48 83 c7 08          	add    $0x8,%rdi
140816e46:	48 3b fd             	cmp    %rbp,%rdi
140816e49:	75 b5                	jne    0x140816e00
140816e4b:	49 8b 3f             	mov    (%r15),%rdi
140816e4e:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
140816e53:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140816e58:	48 85 ff             	test   %rdi,%rdi
140816e5b:	74 51                	je     0x140816eae
140816e5d:	48 8b 0f             	mov    (%rdi),%rcx
140816e60:	48 85 c9             	test   %rcx,%rcx
140816e63:	74 3c                	je     0x140816ea1
140816e65:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140816e69:	48 2b d1             	sub    %rcx,%rdx
140816e6c:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140816e70:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140816e77:	72 18                	jb     0x140816e91
140816e79:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140816e7d:	48 83 c2 27          	add    $0x27,%rdx
140816e81:	49 2b c8             	sub    %r8,%rcx
140816e84:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140816e88:	48 83 f8 1f          	cmp    $0x1f,%rax
140816e8c:	77 31                	ja     0x140816ebf
140816e8e:	49 8b c8             	mov    %r8,%rcx
140816e91:	e8 ae 42 60 00       	call   0x140e1b144
140816e96:	48 89 37             	mov    %rsi,(%rdi)
140816e99:	48 89 77 08          	mov    %rsi,0x8(%rdi)
140816e9d:	48 89 77 10          	mov    %rsi,0x10(%rdi)
140816ea1:	ba 18 00 00 00       	mov    $0x18,%edx
140816ea6:	48 8b cf             	mov    %rdi,%rcx
140816ea9:	e8 96 42 60 00       	call   0x140e1b144
140816eae:	49 89 1f             	mov    %rbx,(%r15)
140816eb1:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140816eb6:	48 83 c4 20          	add    $0x20,%rsp
140816eba:	41 5f                	pop    %r15
140816ebc:	5f                   	pop    %rdi
140816ebd:	5e                   	pop    %rsi
140816ebe:	c3                   	ret
140816ebf:	e8 e0 32 61 00       	call   0x140e2a1a4
140816ec4:	cc                   	int3
140816ec5:	cc                   	int3
140816ec6:	cc                   	int3
140816ec7:	cc                   	int3
140816ec8:	cc                   	int3
140816ec9:	cc                   	int3
140816eca:	cc                   	int3
140816ecb:	cc                   	int3
140816ecc:	cc                   	int3
140816ecd:	cc                   	int3