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
140816ece:	cc                   	int3
140816ecf:	cc                   	int3
140816ed0:	48 83 79 28 00       	cmpq   $0x0,0x28(%rcx)
140816ed5:	b8 14 00 00 00       	mov    $0x14,%eax
140816eda:	41 b8 10 00 00 00    	mov    $0x10,%r8d
140816ee0:	41 8b d0             	mov    %r8d,%edx
140816ee3:	0f 45 d0             	cmovne %eax,%edx
140816ee6:	48 63 01             	movslq (%rcx),%rax
140816ee9:	48 0f af d0          	imul   %rax,%rdx
140816eed:	48 85 d2             	test   %rdx,%rdx
140816ef0:	75 06                	jne    0x140816ef8
140816ef2:	33 c0                	xor    %eax,%eax
140816ef4:	83 c0 48             	add    $0x48,%eax
140816ef7:	c3                   	ret
140816ef8:	48 8b c2             	mov    %rdx,%rax
140816efb:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140816eff:	48 83 c0 08          	add    $0x8,%rax
140816f03:	48 83 fa 0c          	cmp    $0xc,%rdx
140816f07:	49 0f 42 c0          	cmovb  %r8,%rax
140816f0b:	83 c0 48             	add    $0x48,%eax
140816f0e:	c3                   	ret
140816f0f:	cc                   	int3
140816f10:	48 63 c2             	movslq %edx,%rax
140816f13:	4c 8b c1             	mov    %rcx,%r8
140816f16:	4c 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%r10
140816f1d:	00
140816f1e:	48 8b 41 08          	mov    0x8(%rcx),%rax
140816f22:	49 63 0c 02          	movslq (%r10,%rax,1),%rcx
140816f26:	41 3b 48 30          	cmp    0x30(%r8),%ecx
140816f2a:	74 0b                	je     0x140816f37
140816f2c:	49 8b 50 10          	mov    0x10(%r8),%rdx
140816f30:	42 8b 04 12          	mov    (%rdx,%r10,1),%eax
140816f34:	89 04 8a             	mov    %eax,(%rdx,%rcx,4)
140816f37:	49 8b 40 10          	mov    0x10(%r8),%rax
140816f3b:	49 63 0c 02          	movslq (%r10,%rax,1),%rcx
140816f3f:	41 3b 48 30          	cmp    0x30(%r8),%ecx
140816f43:	74 0b                	je     0x140816f50
140816f45:	49 8b 50 08          	mov    0x8(%r8),%rdx
140816f49:	42 8b 04 12          	mov    (%rdx,%r10,1),%eax
140816f4d:	89 04 8a             	mov    %eax,(%rdx,%rcx,4)
140816f50:	49 8b 48 08          	mov    0x8(%r8),%rcx
140816f54:	41 8b 40 30          	mov    0x30(%r8),%eax
140816f58:	41 89 04 0a          	mov    %eax,(%r10,%rcx,1)
140816f5c:	49 8b 48 10          	mov    0x10(%r8),%rcx
140816f60:	41 8b 40 30          	mov    0x30(%r8),%eax
140816f64:	41 89 04 0a          	mov    %eax,(%r10,%rcx,1)
140816f68:	c3                   	ret
140816f69:	cc                   	int3
140816f6a:	cc                   	int3
140816f6b:	cc                   	int3
140816f6c:	cc                   	int3
140816f6d:	cc                   	int3
140816f6e:	cc                   	int3
140816f6f:	cc                   	int3
140816f70:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140816f75:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140816f7a:	56                   	push   %rsi
140816f7b:	48 83 ec 20          	sub    $0x20,%rsp
140816f7f:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140816f84:	49 8b d8             	mov    %r8,%rbx
140816f87:	48 8b f2             	mov    %rdx,%rsi
140816f8a:	48 8b e9             	mov    %rcx,%rbp
140816f8d:	75 47                	jne    0x140816fd6
140816f8f:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140816f94:	0f 1f 40 00          	nopl   0x0(%rax)
140816f98:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140816f9f:	00
140816fa0:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140816fa4:	48 8b d6             	mov    %rsi,%rdx
140816fa7:	48 8b cd             	mov    %rbp,%rcx
140816faa:	e8 c1 ff ff ff       	call   0x140816f70
140816faf:	48 8b fb             	mov    %rbx,%rdi
140816fb2:	48 8b 1b             	mov    (%rbx),%rbx
140816fb5:	48 8d 4f 20          	lea    0x20(%rdi),%rcx
140816fb9:	e8 d2 02 00 00       	call   0x140817290
140816fbe:	ba 58 00 00 00       	mov    $0x58,%edx
140816fc3:	48 8b cf             	mov    %rdi,%rcx
140816fc6:	e8 79 41 60 00       	call   0x140e1b144
140816fcb:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140816fcf:	74 cf                	je     0x140816fa0
140816fd1:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
140816fd6:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140816fdb:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140816fe0:	48 83 c4 20          	add    $0x20,%rsp
140816fe4:	5e                   	pop    %rsi
140816fe5:	c3                   	ret
140816fe6:	cc                   	int3
140816fe7:	cc                   	int3
140816fe8:	cc                   	int3
140816fe9:	cc                   	int3
140816fea:	cc                   	int3
140816feb:	cc                   	int3
140816fec:	cc                   	int3
140816fed:	cc                   	int3
140816fee:	cc                   	int3
140816fef:	cc                   	int3
140816ff0:	40 57                	rex push %rdi
140816ff2:	41 56                	push   %r14
140816ff4:	41 57                	push   %r15
140816ff6:	48 83 ec 20          	sub    $0x20,%rsp
140816ffa:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140816fff:	49 8b f8             	mov    %r8,%rdi
140817002:	4c 8b f2             	mov    %rdx,%r14
140817005:	4c 8b f9             	mov    %rcx,%r15
140817008:	0f 85 98 00 00 00    	jne    0x1408170a6
14081700e:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140817013:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
140817018:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
14081701d:	0f 1f 00             	nopl   (%rax)
140817020:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140817024:	49 8b d6             	mov    %r14,%rdx
140817027:	49 8b cf             	mov    %r15,%rcx
14081702a:	e8 c1 ff ff ff       	call   0x140816ff0
14081702f:	48 8b f7             	mov    %rdi,%rsi
140817032:	48 8b 3f             	mov    (%rdi),%rdi
140817035:	48 8b 5e 58          	mov    0x58(%rsi),%rbx
140817039:	48 85 db             	test   %rbx,%rbx
14081703c:	74 3d                	je     0x14081707b
14081703e:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140817043:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140817048:	83 f8 01             	cmp    $0x1,%eax
14081704b:	75 2e                	jne    0x14081707b
14081704d:	48 8b 03             	mov    (%rbx),%rax
140817050:	48 8b cb             	mov    %rbx,%rcx
140817053:	48 8b 00             	mov    (%rax),%rax
140817056:	ff 15 c4 c9 76 00    	call   *0x76c9c4(%rip)        # 0x140f83a20
14081705c:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140817061:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140817066:	83 f8 01             	cmp    $0x1,%eax
140817069:	75 10                	jne    0x14081707b
14081706b:	48 8b 03             	mov    (%rbx),%rax
14081706e:	48 8b cb             	mov    %rbx,%rcx
140817071:	48 8b 40 08          	mov    0x8(%rax),%rax
140817075:	ff 15 a5 c9 76 00    	call   *0x76c9a5(%rip)        # 0x140f83a20
14081707b:	48 8d 4e 20          	lea    0x20(%rsi),%rcx
14081707f:	e8 0c 02 00 00       	call   0x140817290
140817084:	ba 60 00 00 00       	mov    $0x60,%edx
140817089:	48 8b ce             	mov    %rsi,%rcx
14081708c:	e8 b3 40 60 00       	call   0x140e1b144
140817091:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140817095:	74 89                	je     0x140817020
140817097:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14081709c:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1408170a1:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1408170a6:	48 83 c4 20          	add    $0x20,%rsp
1408170aa:	41 5f                	pop    %r15
1408170ac:	41 5e                	pop    %r14
1408170ae:	5f                   	pop    %rdi
1408170af:	c3                   	ret
1408170b0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1408170b5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1408170ba:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1408170bf:	57                   	push   %rdi
1408170c0:	48 83 ec 20          	sub    $0x20,%rsp
1408170c4:	48 8b f9             	mov    %rcx,%rdi
1408170c7:	66 c7 41 08 00 01    	movw   $0x100,0x8(%rcx)
1408170cd:	48 8d 05 7c 68 82 00 	lea    0x82687c(%rip),%rax        # 0x14103d950
1408170d4:	48 89 01             	mov    %rax,(%rcx)
1408170d7:	89 51 10             	mov    %edx,0x10(%rcx)
1408170da:	48 8d 59 18          	lea    0x18(%rcx),%rbx
1408170de:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
1408170e3:	33 f6                	xor    %esi,%esi
1408170e5:	48 89 33             	mov    %rsi,(%rbx)
1408170e8:	48 89 73 08          	mov    %rsi,0x8(%rbx)
1408170ec:	b9 60 00 00 00       	mov    $0x60,%ecx
1408170f1:	e8 12 40 60 00       	call   0x140e1b108
1408170f6:	48 89 00             	mov    %rax,(%rax)
1408170f9:	48 89 40 08          	mov    %rax,0x8(%rax)
1408170fd:	48 89 40 10          	mov    %rax,0x10(%rax)
140817101:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
140817107:	48 89 03             	mov    %rax,(%rbx)
14081710a:	0f 57 c0             	xorps  %xmm0,%xmm0
14081710d:	0f 11 47 28          	movups %xmm0,0x28(%rdi)
140817111:	48 89 77 38          	mov    %rsi,0x38(%rdi)
140817115:	48 c7 47 40 0f 00 00 	movq   $0xf,0x40(%rdi)