140041a89:	e8 e2 25 00 00       	call   0x140044070
140041a8e:	8b 46 18             	mov    0x18(%rsi),%eax
140041a91:	85 c0                	test   %eax,%eax
140041a93:	79 08                	jns    0x140041a9d
140041a95:	48 c7 46 20 00 00 00 	movq   $0x0,0x20(%rsi)
140041a9c:	00
140041a9d:	48 89 f1             	mov    %rsi,%rcx
140041aa0:	48 81 e1 00 f0 ff ff 	and    $0xfffffffffffff000,%rcx
140041aa7:	48 8b 39             	mov    (%rcx),%rdi
140041aaa:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140041aae:	8b 51 1c             	mov    0x1c(%rcx),%edx
140041ab1:	0f b6 d2             	movzbl %dl,%edx
140041ab4:	c1 e2 0c             	shl    $0xc,%edx
140041ab7:	48 0f af 51 20       	imul   0x20(%rcx),%rdx
140041abc:	8b 49 18             	mov    0x18(%rcx),%ecx
140041abf:	48 c1 ea 2a          	shr    $0x2a,%rdx
140041ac3:	c1 e8 0f             	shr    $0xf,%eax
140041ac6:	25 ff 7f 00 00       	and    $0x7fff,%eax
140041acb:	48 29 c2             	sub    %rax,%rdx
140041ace:	48 0f af ca          	imul   %rdx,%rcx
140041ad2:	48 81 c1 ff 0f 00 00 	add    $0xfff,%rcx
140041ad9:	48 81 e1 00 f0 ff ff 	and    $0xfffffffffffff000,%rcx
140041ae0:	48 01 8f e0 18 00 00 	add    %rcx,0x18e0(%rdi)
140041ae7:	48 89 f0             	mov    %rsi,%rax
140041aea:	48 25 00 00 e0 ff    	and    $0xffffffffffe00000,%rax
140041af0:	66 ff 88 12 10 00 00 	decw   0x1012(%rax)
140041af7:	f6 46 1c 02          	testb  $0x2,0x1c(%rsi)
140041afb:	74 23                	je     0x140041b20
140041afd:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140041b02:	48 31 e1             	xor    %rsp,%rcx
140041b05:	48 3b 0d 34 f5 0b 00 	cmp    0xbf534(%rip),%rcx        # 0x140101040
140041b0c:	74 06                	je     0x140041b14
140041b0e:	e8 bd d7 02 00       	call   0x14006f2d0
140041b13:	cc                   	int3
140041b14:	48 83 c4 30          	add    $0x30,%rsp
140041b18:	5b                   	pop    %rbx
140041b19:	5f                   	pop    %rdi
140041b1a:	5e                   	pop    %rsi
140041b1b:	41 5e                	pop    %r14
140041b1d:	41 5f                	pop    %r15
140041b1f:	c3                   	ret
140041b20:	4c 0f bf b7 20 39 00 	movswq 0x3920(%rdi),%r14
140041b27:	00
140041b28:	4e 8b bc f7 20 19 00 	mov    0x1920(%rdi,%r14,8),%r15
140041b2f:	00
140041b30:	4d 85 ff             	test   %r15,%r15
140041b33:	74 31                	je     0x140041b66
140041b35:	41 0f b7 4f 1c       	movzwl 0x1c(%r15),%ecx
140041b3a:	83 e1 fd             	and    $0xfffffffd,%ecx
140041b3d:	66 41 89 4f 1c       	mov    %cx,0x1c(%r15)
140041b42:	41 8b 47 18          	mov    0x18(%r15),%eax
140041b46:	a9 ff 7f 00 00       	test   $0x7fff,%eax
140041b4b:	0f 84 9e 00 00 00    	je     0x140041bef
140041b51:	c1 e9 02             	shr    $0x2,%ecx
140041b54:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
140041b5a:	48 c7 84 cf 20 19 00 	movq   $0x0,0x1920(%rdi,%rcx,8)
140041b61:	00 00 00 00 00
140041b66:	4a 89 b4 f7 20 19 00 	mov    %rsi,0x1920(%rdi,%r14,8)
140041b6d:	00
140041b6e:	0f b7 46 1c          	movzwl 0x1c(%rsi),%eax
140041b72:	44 89 f1             	mov    %r14d,%ecx
140041b75:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
140041b7b:	25 01 f0 ff ff       	and    $0xfffff001,%eax
140041b80:	8d 04 88             	lea    (%rax,%rcx,4),%eax
140041b83:	83 c0 02             	add    $0x2,%eax
140041b86:	66 89 46 1c          	mov    %ax,0x1c(%rsi)
140041b8a:	41 8d 46 01          	lea    0x1(%r14),%eax
140041b8e:	31 c9                	xor    %ecx,%ecx
140041b90:	66 3b 87 22 39 00 00 	cmp    0x3922(%rdi),%ax
140041b97:	0f 45 c8             	cmovne %eax,%ecx
140041b9a:	66 89 8f 20 39 00 00 	mov    %cx,0x3920(%rdi)
140041ba1:	48 8b 87 80 18 00 00 	mov    0x1880(%rdi),%rax
140041ba8:	0f b6 8f e8 18 00 00 	movzbl 0x18e8(%rdi),%ecx
140041baf:	48 d3 e8             	shr    %cl,%rax
140041bb2:	48 8b b7 e0 18 00 00 	mov    0x18e0(%rdi),%rsi
140041bb9:	48 39 c6             	cmp    %rax,%rsi
140041bbc:	0f 86 3b ff ff ff    	jbe    0x140041afd
140041bc2:	48 d1 ee             	shr    $1,%rsi
140041bc5:	48 39 f0             	cmp    %rsi,%rax
140041bc8:	48 0f 42 f0          	cmovb  %rax,%rsi
140041bcc:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140041bd1:	48 31 e1             	xor    %rsp,%rcx
140041bd4:	e8 f7 d6 02 00       	call   0x14006f2d0
140041bd9:	48 89 f9             	mov    %rdi,%rcx
140041bdc:	48 89 f2             	mov    %rsi,%rdx
140041bdf:	48 83 c4 30          	add    $0x30,%rsp
140041be3:	5b                   	pop    %rbx
140041be4:	5f                   	pop    %rdi
140041be5:	5e                   	pop    %rsi
140041be6:	41 5e                	pop    %r14
140041be8:	41 5f                	pop    %r15
140041bea:	e9 f1 da ff ff       	jmp    0x14003f6e0
140041bef:	49 83 3f 00          	cmpq   $0x0,(%r15)
140041bf3:	0f 84 58 ff ff ff    	je     0x140041b51
140041bf9:	4c 89 f9             	mov    %r15,%rcx
140041bfc:	48 81 e1 00 00 e0 ff 	and    $0xffffffffffe00000,%rcx
140041c03:	44 89 fa             	mov    %r15d,%edx
140041c06:	c1 e2 09             	shl    $0x9,%edx
140041c09:	4d 8b 47 10          	mov    0x10(%r15),%r8
140041c0d:	45 8b 48 1c          	mov    0x1c(%r8),%r9d
140041c11:	45 0f b6 c9          	movzbl %r9b,%r9d
140041c15:	41 c1 e1 0c          	shl    $0xc,%r9d
140041c19:	4d 0f af 48 20       	imul   0x20(%r8),%r9
140041c1e:	81 e2 00 c0 ff 3f    	and    $0x3fffc000,%edx
140041c24:	41 8b 58 18          	mov    0x18(%r8),%ebx
140041c28:	49 c1 e9 2a          	shr    $0x2a,%r9
140041c2c:	c1 e8 0f             	shr    $0xf,%eax
140041c2f:	25 ff 7f 00 00       	and    $0x7fff,%eax
140041c34:	49 29 c1             	sub    %rax,%r9
140041c37:	49 0f af d9          	imul   %r9,%rbx
140041c3b:	48 81 c3 ff 0f 00 00 	add    $0xfff,%rbx
140041c42:	48 81 e3 00 f0 ff ff 	and    $0xfffffffffffff000,%rbx
140041c49:	48 29 9f e0 18 00 00 	sub    %rbx,0x18e0(%rdi)
140041c50:	48 01 d1             	add    %rdx,%rcx
140041c53:	48 81 c1 00 00 e0 ff 	add    $0xffffffffffe00000,%rcx
140041c5a:	f0 48 ff 87 b0 18 00 	lock incq 0x18b0(%rdi)
140041c61:	00
140041c62:	48 89 da             	mov    %rbx,%rdx
140041c65:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140041c6b:	e8 20 0b 00 00       	call   0x140042790
140041c70:	f0 48 29 9f 80 18 00 	lock sub %rbx,0x1880(%rdi)
140041c77:	00
140041c78:	49 c7 07 00 00 00 00 	movq   $0x0,(%r15)
140041c7f:	41 0f b7 4f 1c       	movzwl 0x1c(%r15),%ecx
140041c84:	83 e1 fe             	and    $0xfffffffe,%ecx
140041c87:	66 41 89 4f 1c       	mov    %cx,0x1c(%r15)
140041c8c:	41 81 67 18 ff 7f 00 	andl   $0xc0007fff,0x18(%r15)
140041c93:	c0
140041c94:	e9 b8 fe ff ff       	jmp    0x140041b51
140041c99:	48 89 83 18 19 00 00 	mov    %rax,0x1918(%rbx)
140041ca0:	eb 1c                	jmp    0x140041cbe
140041ca2:	48 89 f0             	mov    %rsi,%rax
140041ca5:	48 25 00 f0 ff ff    	and    $0xfffffffffffff000,%rax
140041cab:	48 8b 18             	mov    (%rax),%rbx
140041cae:	48 8b 46 70          	mov    0x70(%rsi),%rax
140041cb2:	48 8b 4e 78          	mov    0x78(%rsi),%rcx
140041cb6:	48 85 c9             	test   %rcx,%rcx
140041cb9:	74 de                	je     0x140041c99
140041cbb:	48 89 01             	mov    %rax,(%rcx)
140041cbe:	48 85 c0             	test   %rax,%rax
140041cc1:	74 08                	je     0x140041ccb
140041cc3:	48 8b 4e 78          	mov    0x78(%rsi),%rcx
140041cc7:	48 89 48 08          	mov    %rcx,0x8(%rax)
140041ccb:	48 8b 46 10          	mov    0x10(%rsi),%rax
140041ccf:	8b 40 18             	mov    0x18(%rax),%eax
140041cd2:	f0 48 29 83 80 18 00 	lock sub %rax,0x1880(%rbx)
140041cd9:	00
140041cda:	48 8b be 88 00 00 00 	mov    0x88(%rsi),%rdi
140041ce1:	f0 48 29 bb 98 18 00 	lock sub %rdi,0x1898(%rbx)
140041ce8:	00
140041ce9:	48 89 f0             	mov    %rsi,%rax
140041cec:	48 25 00 00 e0 ff    	and    $0xffffffffffe00000,%rax
140041cf2:	c1 e6 09             	shl    $0x9,%esi
140041cf5:	81 e6 00 c0 ff 3f    	and    $0x3fffc000,%esi
140041cfb:	48 01 c6             	add    %rax,%rsi
140041cfe:	48 81 c6 00 00 e0 ff 	add    $0xffffffffffe00000,%rsi
140041d05:	48 81 e6 00 00 e0 ff 	and    $0xffffffffffe00000,%rsi
140041d0c:	48 8d 4b 40          	lea    0x40(%rbx),%rcx
140041d10:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140041d15:	ff 15 1d 5b 0b 00    	call   *0xb5b1d(%rip)        # 0x1400f7838
140041d1b:	f0 48 ff 83 b0 18 00 	lock incq 0x18b0(%rbx)
140041d22:	00
140041d23:	41 b8 03 00 00 00    	mov    $0x3,%r8d
140041d29:	80 7b 10 00          	cmpb   $0x0,0x10(%rbx)
140041d2d:	75 0c                	jne    0x140041d3b
140041d2f:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140041d35:	80 7b 02 00          	cmpb   $0x0,0x2(%rbx)
140041d39:	74 1a                	je     0x140041d55
140041d3b:	48 89 f1             	mov    %rsi,%rcx
140041d3e:	48 89 fa             	mov    %rdi,%rdx
140041d41:	e8 2a 01 00 00       	call   0x140041e70
140041d46:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140041d4b:	e8 e0 01 00 00       	call   0x140041f30
140041d50:	e9 a8 fd ff ff       	jmp    0x140041afd
140041d55:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140041d5b:	eb de                	jmp    0x140041d3b
140041d5d:	cc                   	int3
140041d5e:	0f 0b                	ud2
140041d60:	cc                   	int3
140041d61:	cc                   	int3
140041d62:	cc                   	int3
140041d63:	cc                   	int3
140041d64:	cc                   	int3
140041d65:	cc                   	int3
140041d66:	cc                   	int3
140041d67:	cc                   	int3
140041d68:	cc                   	int3
140041d69:	cc                   	int3
140041d6a:	cc                   	int3
140041d6b:	cc                   	int3
140041d6c:	cc                   	int3
140041d6d:	cc                   	int3
140041d6e:	cc                   	int3
140041d6f:	cc                   	int3
140041d70:	56                   	push   %rsi
140041d71:	57                   	push   %rdi
140041d72:	53                   	push   %rbx
140041d73:	48 83 ec 20          	sub    $0x20,%rsp
140041d77:	48 89 d6             	mov    %rdx,%rsi
140041d7a:	48 89 cf             	mov    %rcx,%rdi
140041d7d:	0f b7 49 1c          	movzwl 0x1c(%rcx),%ecx
140041d81:	83 e1 fd             	and    $0xfffffffd,%ecx
140041d84:	66 89 4f 1c          	mov    %cx,0x1c(%rdi)
140041d88:	8b 47 18             	mov    0x18(%rdi),%eax
140041d8b:	a9 ff 7f 00 00       	test   $0x7fff,%eax
140041d90:	74 1d                	je     0x140041daf
140041d92:	c1 e9 02             	shr    $0x2,%ecx
140041d95:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
140041d9b:	48 c7 84 ce 20 19 00 	movq   $0x0,0x1920(%rsi,%rcx,8)
140041da2:	00 00 00 00 00
140041da7:	48 83 c4 20          	add    $0x20,%rsp
140041dab:	5b                   	pop    %rbx
140041dac:	5f                   	pop    %rdi
140041dad:	5e                   	pop    %rsi
140041dae:	c3                   	ret
140041daf:	48 83 3f 00          	cmpq   $0x0,(%rdi)
140041db3:	74 dd                	je     0x140041d92
140041db5:	48 89 f9             	mov    %rdi,%rcx
140041db8:	48 81 e1 00 00 e0 ff 	and    $0xffffffffffe00000,%rcx
140041dbf:	89 fa                	mov    %edi,%edx
140041dc1:	c1 e2 09             	shl    $0x9,%edx
140041dc4:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140041dc8:	45 8b 48 1c          	mov    0x1c(%r8),%r9d
140041dcc:	45 0f b6 c9          	movzbl %r9b,%r9d
140041dd0:	41 c1 e1 0c          	shl    $0xc,%r9d
140041dd4:	4d 0f af 48 20       	imul   0x20(%r8),%r9
140041dd9:	81 e2 00 c0 ff 3f    	and    $0x3fffc000,%edx
140041ddf:	41 8b 58 18          	mov    0x18(%r8),%ebx
140041de3:	49 c1 e9 2a          	shr    $0x2a,%r9
140041de7:	c1 e8 0f             	shr    $0xf,%eax
140041dea:	25 ff 7f 00 00       	and    $0x7fff,%eax
140041def:	49 29 c1             	sub    %rax,%r9
140041df2:	49 0f af d9          	imul   %r9,%rbx
140041df6:	48 81 c3 ff 0f 00 00 	add    $0xfff,%rbx
140041dfd:	48 81 e3 00 f0 ff ff 	and    $0xfffffffffffff000,%rbx
140041e04:	48 29 9e e0 18 00 00 	sub    %rbx,0x18e0(%rsi)
140041e0b:	48 01 d1             	add    %rdx,%rcx
140041e0e:	48 81 c1 00 00 e0 ff 	add    $0xffffffffffe00000,%rcx
140041e15:	f0 48 ff 86 b0 18 00 	lock incq 0x18b0(%rsi)
140041e1c:	00
140041e1d:	48 89 da             	mov    %rbx,%rdx
140041e20:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140041e26:	e8 65 09 00 00       	call   0x140042790
140041e2b:	f0 48 29 9e 80 18 00 	lock sub %rbx,0x1880(%rsi)
140041e32:	00
140041e33:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
140041e3a:	0f b7 4f 1c          	movzwl 0x1c(%rdi),%ecx
140041e3e:	83 e1 fe             	and    $0xfffffffe,%ecx
140041e41:	66 89 4f 1c          	mov    %cx,0x1c(%rdi)
140041e45:	81 67 18 ff 7f 00 c0 	andl   $0xc0007fff,0x18(%rdi)
140041e4c:	e9 41 ff ff ff       	jmp    0x140041d92
140041e51:	cc                   	int3
140041e52:	cc                   	int3
140041e53:	cc                   	int3
140041e54:	cc                   	int3
140041e55:	cc                   	int3
140041e56:	cc                   	int3
140041e57:	cc                   	int3
140041e58:	cc                   	int3
140041e59:	cc                   	int3
140041e5a:	cc                   	int3
140041e5b:	cc                   	int3
140041e5c:	cc                   	int3
140041e5d:	cc                   	int3
140041e5e:	cc                   	int3
140041e5f:	cc                   	int3
140041e60:	48 81 e1 00 00 e0 ff 	and    $0xffffffffffe00000,%rcx
140041e67:	66 ff 81 12 10 00 00 	incw   0x1012(%rcx)
140041e6e:	c3                   	ret
140041e6f:	cc                   	int3
140041e70:	56                   	push   %rsi
140041e71:	57                   	push   %rdi
140041e72:	53                   	push   %rbx
140041e73:	48 83 ec 20          	sub    $0x20,%rsp
140041e77:	44 89 c7             	mov    %r8d,%edi
140041e7a:	48 89 d6             	mov    %rdx,%rsi
140041e7d:	48 89 cb             	mov    %rcx,%rbx
140041e80:	48 b8 00 00 00 00 fc 	movabs $0xfffffffc00000000,%rax
140041e87:	ff ff ff
140041e8a:	48 21 c8             	and    %rcx,%rax
140041e8d:	b9 01 00 00 00       	mov    $0x1,%ecx
140041e92:	48 3b 05 ef 16 0c 00 	cmp    0xc16ef(%rip),%rax        # 0x140103588
140041e99:	74 25                	je     0x140041ec0
140041e9b:	48 3b 05 de 16 0c 00 	cmp    0xc16de(%rip),%rax        # 0x140103580
140041ea2:	74 1a                	je     0x140041ebe
140041ea4:	48 8b 05 ed 16 0c 00 	mov    0xc16ed(%rip),%rax        # 0x140103598
140041eab:	48 21 d8             	and    %rbx,%rax
140041eae:	b9 02 00 00 00       	mov    $0x2,%ecx
140041eb3:	48 3b 05 d6 16 0c 00 	cmp    0xc16d6(%rip),%rax        # 0x140103590
140041eba:	74 04                	je     0x140041ec0
140041ebc:	eb 6c                	jmp    0x140041f2a
140041ebe:	31 c9                	xor    %ecx,%ecx
140041ec0:	48 8d 14 1e          	lea    (%rsi,%rbx,1),%rdx
140041ec4:	48 39 d3             	cmp    %rdx,%rbx
140041ec7:	73 45                	jae    0x140041f0e
140041ec9:	c1 e1 0e             	shl    $0xe,%ecx
140041ecc:	4c 8d 05 b1 17 0c 00 	lea    0xc17b1(%rip),%r8        # 0x140103684
140041ed3:	49 01 c8             	add    %rcx,%r8
140041ed6:	48 89 d9             	mov    %rbx,%rcx
140041ed9:	48 29 c1             	sub    %rax,%rcx
140041edc:	48 c1 e9 15          	shr    $0x15,%rcx
140041ee0:	49 8d 0c 48          	lea    (%r8,%rcx,2),%rcx
140041ee4:	48 8d 83 00 00 20 00 	lea    0x200000(%rbx),%rax
140041eeb:	48 39 c2             	cmp    %rax,%rdx
140041eee:	48 0f 47 c2          	cmova  %rdx,%rax
140041ef2:	48 89 da             	mov    %rbx,%rdx
140041ef5:	48 f7 d2             	not    %rdx
140041ef8:	48 01 c2             	add    %rax,%rdx
140041efb:	48 c1 ea 15          	shr    $0x15,%rdx
140041eff:	4c 8d 04 55 02 00 00 	lea    0x2(,%rdx,2),%r8
140041f06:	00
140041f07:	b2 ff                	mov    $0xff,%dl
140041f09:	e8 02 c3 05 00       	call   0x14009e210
140041f0e:	e8 4d 09 00 00       	call   0x140042860
140041f13:	48 89 c1             	mov    %rax,%rcx
140041f16:	89 fa                	mov    %edi,%edx
140041f18:	49 89 d8             	mov    %rbx,%r8
140041f1b:	49 89 f1             	mov    %rsi,%r9
140041f1e:	48 83 c4 20          	add    $0x20,%rsp
140041f22:	5b                   	pop    %rbx
140041f23:	5f                   	pop    %rdi
140041f24:	5e                   	pop    %rsi
140041f25:	e9 46 0c 00 00       	jmp    0x140042b70
140041f2a:	cc                   	int3
140041f2b:	0f 0b                	ud2
140041f2d:	cc                   	int3
140041f2e:	cc                   	int3
140041f2f:	cc                   	int3
140041f30:	56                   	push   %rsi
140041f31:	48 83 ec 20          	sub    $0x20,%rsp
140041f35:	48 8b 31             	mov    (%rcx),%rsi
140041f38:	48 89 f1             	mov    %rsi,%rcx
140041f3b:	ff 15 cf 59 0b 00    	call   *0xb59cf(%rip)        # 0x1400f7910
140041f41:	84 c0                	test   %al,%al
140041f43:	74 06                	je     0x140041f4b
140041f45:	48 83 c4 20          	add    $0x20,%rsp
140041f49:	5e                   	pop    %rsi
140041f4a:	c3                   	ret
140041f4b:	48 89 f1             	mov    %rsi,%rcx
140041f4e:	48 83 c4 20          	add    $0x20,%rsp
140041f52:	5e                   	pop    %rsi
140041f53:	e9 28 fa ff ff       	jmp    0x140041980
140041f58:	cc                   	int3
140041f59:	cc                   	int3
140041f5a:	cc                   	int3
140041f5b:	cc                   	int3
140041f5c:	cc                   	int3
140041f5d:	cc                   	int3
140041f5e:	cc                   	int3
140041f5f:	cc                   	int3