140018a70:	75 eb                	jne    0x140018a5d
140018a72:	48 8b de             	mov    %rsi,%rbx
140018a75:	eb 2e                	jmp    0x140018aa5
140018a77:	4d 8b e7             	mov    %r15,%r12
140018a7a:	4d 8b c7             	mov    %r15,%r8
140018a7d:	eb 15                	jmp    0x140018a94
140018a7f:	49 8b d4             	mov    %r12,%rdx
140018a82:	48 8b cb             	mov    %rbx,%rcx
140018a85:	e8 7e 01 00 00       	call   0x140018c08
140018a8a:	49 8b dc             	mov    %r12,%rbx
140018a8d:	49 83 ec 10          	sub    $0x10,%r12
140018a91:	4d 8b c4             	mov    %r12,%r8
140018a94:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
140018a98:	48 8d 4d 40          	lea    0x40(%rbp),%rcx
140018a9c:	e8 87 fd ff ff       	call   0x140018828
140018aa1:	84 c0                	test   %al,%al
140018aa3:	75 da                	jne    0x140018a7f
140018aa5:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
140018aa9:	48 8b cb             	mov    %rbx,%rcx
140018aac:	e8 57 01 00 00       	call   0x140018c08
140018ab1:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140018ab5:	48 85 c9             	test   %rcx,%rcx
140018ab8:	74 3e                	je     0x140018af8
140018aba:	83 c8 ff             	or     $0xffffffff,%eax
140018abd:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140018ac2:	83 f8 01             	cmp    $0x1,%eax
140018ac5:	75 31                	jne    0x140018af8
140018ac7:	48 8b 5d f8          	mov    -0x8(%rbp),%rbx
140018acb:	48 8b cb             	mov    %rbx,%rcx
140018ace:	48 8b 03             	mov    (%rbx),%rax
140018ad1:	48 8b 00             	mov    (%rax),%rax
140018ad4:	ff 15 fe 78 00 00    	call   *0x78fe(%rip)        # 0x1400203d8
140018ada:	83 c8 ff             	or     $0xffffffff,%eax
140018add:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140018ae2:	83 f8 01             	cmp    $0x1,%eax
140018ae5:	75 11                	jne    0x140018af8
140018ae7:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140018aeb:	48 8b 01             	mov    (%rcx),%rax
140018aee:	48 8b 40 08          	mov    0x8(%rax),%rax
140018af2:	ff 15 e0 78 00 00    	call   *0x78e0(%rip)        # 0x1400203d8
140018af8:	48 83 c7 10          	add    $0x10,%rdi
140018afc:	49 83 c7 10          	add    $0x10,%r15
140018b00:	49 3b fe             	cmp    %r14,%rdi
140018b03:	0f 85 20 ff ff ff    	jne    0x140018a29
140018b09:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140018b0e:	49 8b c6             	mov    %r14,%rax
140018b11:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140018b16:	48 83 c4 30          	add    $0x30,%rsp
140018b1a:	41 5f                	pop    %r15
140018b1c:	41 5e                	pop    %r14
140018b1e:	41 5c                	pop    %r12
140018b20:	5f                   	pop    %rdi
140018b21:	5d                   	pop    %rbp
140018b22:	c3                   	ret
140018b23:	cc                   	int3
140018b24:	cc                   	int3
140018b25:	cc                   	int3
140018b26:	cc                   	int3
140018b27:	cc                   	int3
140018b28:	cc                   	int3
140018b29:	cc                   	int3
140018b2a:	cc                   	int3
140018b2b:	cc                   	int3
140018b2c:	cc                   	int3
140018b2d:	cc                   	int3
140018b2e:	cc                   	int3
140018b2f:	cc                   	int3
140018b30:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018b35:	57                   	push   %rdi
140018b36:	48 83 ec 20          	sub    $0x20,%rsp
140018b3a:	8b fa                	mov    %edx,%edi
140018b3c:	48 8b d9             	mov    %rcx,%rbx
140018b3f:	48 8b 49 20          	mov    0x20(%rcx),%rcx
140018b43:	48 85 c9             	test   %rcx,%rcx
140018b46:	74 13                	je     0x140018b5b
140018b48:	48 83 63 20 00       	andq   $0x0,0x20(%rbx)
140018b4d:	48 8b 01             	mov    (%rcx),%rax
140018b50:	48 8b 40 10          	mov    0x10(%rax),%rax
140018b54:	ff 15 7e 78 00 00    	call   *0x787e(%rip)        # 0x1400203d8
140018b5a:	90                   	nop
140018b5b:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140018b5f:	48 85 c9             	test   %rcx,%rcx
140018b62:	79 09                	jns    0x140018b6d
140018b64:	48 03 c9             	add    %rcx,%rcx
140018b67:	e8 54 e8 fe ff       	call   0x1400073c0
140018b6c:	90                   	nop
140018b6d:	40 f6 c7 01          	test   $0x1,%dil
140018b71:	74 0e                	je     0x140018b81
140018b73:	ba 40 00 00 00       	mov    $0x40,%edx
140018b78:	48 8b cb             	mov    %rbx,%rcx
140018b7b:	e8 68 2f 00 00       	call   0x14001bae8
140018b80:	90                   	nop
140018b81:	48 8b c3             	mov    %rbx,%rax
140018b84:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140018b89:	48 83 c4 20          	add    $0x20,%rsp
140018b8d:	5f                   	pop    %rdi
140018b8e:	c3                   	ret
140018b8f:	cc                   	int3
140018b90:	cc                   	int3
140018b91:	cc                   	int3
140018b92:	cc                   	int3
140018b93:	cc                   	int3
140018b94:	cc                   	int3
140018b95:	cc                   	int3
140018b96:	cc                   	int3
140018b97:	cc                   	int3
140018b98:	cc                   	int3
140018b99:	cc                   	int3
140018b9a:	cc                   	int3
140018b9b:	cc                   	int3
140018b9c:	cc                   	int3
140018b9d:	cc                   	int3
140018b9e:	cc                   	int3
140018b9f:	cc                   	int3
140018ba0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018ba5:	57                   	push   %rdi
140018ba6:	48 83 ec 20          	sub    $0x20,%rsp
140018baa:	8b fa                	mov    %edx,%edi
140018bac:	48 8b d9             	mov    %rcx,%rbx
140018baf:	48 8b 49 28          	mov    0x28(%rcx),%rcx
140018bb3:	48 85 c9             	test   %rcx,%rcx
140018bb6:	74 13                	je     0x140018bcb
140018bb8:	48 83 63 28 00       	andq   $0x0,0x28(%rbx)
140018bbd:	48 8b 01             	mov    (%rcx),%rax
140018bc0:	48 8b 40 10          	mov    0x10(%rax),%rax
140018bc4:	ff 15 0e 78 00 00    	call   *0x780e(%rip)        # 0x1400203d8
140018bca:	90                   	nop
140018bcb:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140018bcf:	48 85 c9             	test   %rcx,%rcx
140018bd2:	79 09                	jns    0x140018bdd
140018bd4:	48 03 c9             	add    %rcx,%rcx
140018bd7:	e8 e4 e7 fe ff       	call   0x1400073c0
140018bdc:	90                   	nop
140018bdd:	40 f6 c7 01          	test   $0x1,%dil
140018be1:	74 0e                	je     0x140018bf1
140018be3:	ba 38 00 00 00       	mov    $0x38,%edx
140018be8:	48 8b cb             	mov    %rbx,%rcx
140018beb:	e8 f8 2e 00 00       	call   0x14001bae8
140018bf0:	90                   	nop
140018bf1:	48 8b c3             	mov    %rbx,%rax
140018bf4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140018bf9:	48 83 c4 20          	add    $0x20,%rsp
140018bfd:	5f                   	pop    %rdi
140018bfe:	c3                   	ret
140018bff:	cc                   	int3
140018c00:	cc                   	int3
140018c01:	cc                   	int3
140018c02:	cc                   	int3
140018c03:	cc                   	int3
140018c04:	cc                   	int3
140018c05:	cc                   	int3
140018c06:	cc                   	int3
140018c07:	cc                   	int3
140018c08:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140018c0d:	57                   	push   %rdi
140018c0e:	48 83 ec 20          	sub    $0x20,%rsp
140018c12:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140018c16:	48 8b f9             	mov    %rcx,%rdi
140018c19:	48 83 62 08 00       	andq   $0x0,0x8(%rdx)
140018c1e:	48 8b 02             	mov    (%rdx),%rax
140018c21:	48 83 22 00          	andq   $0x0,(%rdx)
140018c25:	48 8b 59 08          	mov    0x8(%rcx),%rbx
140018c29:	48 89 01             	mov    %rax,(%rcx)
140018c2c:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140018c31:	4c 89 41 08          	mov    %r8,0x8(%rcx)
140018c35:	48 85 db             	test   %rbx,%rbx
140018c38:	74 39                	je     0x140018c73
140018c3a:	83 c8 ff             	or     $0xffffffff,%eax
140018c3d:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140018c42:	83 f8 01             	cmp    $0x1,%eax
140018c45:	75 2c                	jne    0x140018c73
140018c47:	48 8b 03             	mov    (%rbx),%rax
140018c4a:	48 8b cb             	mov    %rbx,%rcx
140018c4d:	48 8b 00             	mov    (%rax),%rax
140018c50:	ff 15 82 77 00 00    	call   *0x7782(%rip)        # 0x1400203d8
140018c56:	83 c8 ff             	or     $0xffffffff,%eax
140018c59:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140018c5e:	83 f8 01             	cmp    $0x1,%eax
140018c61:	75 10                	jne    0x140018c73
140018c63:	48 8b 03             	mov    (%rbx),%rax
140018c66:	48 8b cb             	mov    %rbx,%rcx
140018c69:	48 8b 40 08          	mov    0x8(%rax),%rax
140018c6d:	ff 15 65 77 00 00    	call   *0x7765(%rip)        # 0x1400203d8
140018c73:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140018c78:	48 8b c7             	mov    %rdi,%rax
140018c7b:	48 83 c4 20          	add    $0x20,%rsp
140018c7f:	5f                   	pop    %rdi
140018c80:	c3                   	ret
140018c81:	cc                   	int3
140018c82:	cc                   	int3
140018c83:	cc                   	int3
140018c84:	cc                   	int3
140018c85:	cc                   	int3
140018c86:	cc                   	int3
140018c87:	cc                   	int3
140018c88:	cc                   	int3
140018c89:	cc                   	int3
140018c8a:	cc                   	int3
140018c8b:	cc                   	int3
140018c8c:	cc                   	int3
140018c8d:	cc                   	int3
140018c8e:	cc                   	int3
140018c8f:	cc                   	int3
140018c90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018c95:	57                   	push   %rdi
140018c96:	48 83 ec 20          	sub    $0x20,%rsp
140018c9a:	48 8b d9             	mov    %rcx,%rbx
140018c9d:	8b fa                	mov    %edx,%edi
140018c9f:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140018ca3:	48 85 c9             	test   %rcx,%rcx
140018ca6:	79 08                	jns    0x140018cb0
140018ca8:	48 03 c9             	add    %rcx,%rcx
140018cab:	e8 10 e7 fe ff       	call   0x1400073c0
140018cb0:	40 f6 c7 01          	test   $0x1,%dil
140018cb4:	74 0d                	je     0x140018cc3
140018cb6:	ba 20 00 00 00       	mov    $0x20,%edx
140018cbb:	48 8b cb             	mov    %rbx,%rcx
140018cbe:	e8 25 2e 00 00       	call   0x14001bae8
140018cc3:	48 8b c3             	mov    %rbx,%rax
140018cc6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140018ccb:	48 83 c4 20          	add    $0x20,%rsp
140018ccf:	5f                   	pop    %rdi
140018cd0:	c3                   	ret
140018cd1:	cc                   	int3
140018cd2:	cc                   	int3
140018cd3:	cc                   	int3
140018cd4:	cc                   	int3
140018cd5:	cc                   	int3
140018cd6:	cc                   	int3
140018cd7:	cc                   	int3
140018cd8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018cdd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140018ce2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140018ce7:	57                   	push   %rdi
140018ce8:	41 54                	push   %r12
140018cea:	41 55                	push   %r13
140018cec:	41 56                	push   %r14
140018cee:	41 57                	push   %r15
140018cf0:	48 83 ec 20          	sub    $0x20,%rsp
140018cf4:	4d 8d 68 ff          	lea    -0x1(%r8),%r13
140018cf8:	4d 8b e1             	mov    %r9,%r12
140018cfb:	4d 8b f5             	mov    %r13,%r14
140018cfe:	49 8b e8             	mov    %r8,%rbp
140018d01:	49 d1 fe             	sar    $1,%r14
140018d04:	48 8b fa             	mov    %rdx,%rdi
140018d07:	48 8b f1             	mov    %rcx,%rsi
140018d0a:	4c 8b fa             	mov    %rdx,%r15
140018d0d:	48 8b da             	mov    %rdx,%rbx
140018d10:	49 3b d6             	cmp    %r14,%rdx
140018d13:	7d 47                	jge    0x140018d5c
140018d15:	48 03 db             	add    %rbx,%rbx
140018d18:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140018d1d:	48 8d 53 02          	lea    0x2(%rbx),%rdx
140018d21:	48 c1 e2 04          	shl    $0x4,%rdx
140018d25:	48 03 d6             	add    %rsi,%rdx
140018d28:	4c 8d 42 f0          	lea    -0x10(%rdx),%r8
140018d2c:	e8 f7 fa ff ff       	call   0x140018828
140018d31:	0f b6 c0             	movzbl %al,%eax
140018d34:	48 03 ff             	add    %rdi,%rdi
140018d37:	48 83 f0 01          	xor    $0x1,%rax
140018d3b:	48 ff c0             	inc    %rax
140018d3e:	48 03 d8             	add    %rax,%rbx
140018d41:	48 8b d3             	mov    %rbx,%rdx
140018d44:	48 8d 0c fe          	lea    (%rsi,%rdi,8),%rcx
140018d48:	48 c1 e2 04          	shl    $0x4,%rdx
140018d4c:	48 03 d6             	add    %rsi,%rdx
140018d4f:	e8 b4 fe ff ff       	call   0x140018c08
140018d54:	48 8b fb             	mov    %rbx,%rdi
140018d57:	49 3b de             	cmp    %r14,%rbx
140018d5a:	7c b9                	jl     0x140018d15
140018d5c:	49 3b de             	cmp    %r14,%rbx
140018d5f:	75 20                	jne    0x140018d81
140018d61:	40 f6 c5 01          	test   $0x1,%bpl
140018d65:	75 1a                	jne    0x140018d81
140018d67:	48 03 ff             	add    %rdi,%rdi
140018d6a:	48 c1 e5 04          	shl    $0x4,%rbp
140018d6e:	48 8d 56 f0          	lea    -0x10(%rsi),%rdx
140018d72:	48 03 d5             	add    %rbp,%rdx
140018d75:	48 8d 0c fe          	lea    (%rsi,%rdi,8),%rcx
140018d79:	e8 8a fe ff ff       	call   0x140018c08
140018d7e:	49 8b fd             	mov    %r13,%rdi
140018d81:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140018d86:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140018d8b:	4c 3b ff             	cmp    %rdi,%r15
140018d8e:	7d 3c                	jge    0x140018dcc
140018d90:	48 8d 5f ff          	lea    -0x1(%rdi),%rbx
140018d94:	4d 8b c4             	mov    %r12,%r8
140018d97:	48 d1 fb             	sar    $1,%rbx
140018d9a:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140018d9f:	48 8b eb             	mov    %rbx,%rbp
140018da2:	48 c1 e5 04          	shl    $0x4,%rbp
140018da6:	48 03 ee             	add    %rsi,%rbp
140018da9:	48 8b d5             	mov    %rbp,%rdx
140018dac:	e8 77 fa ff ff       	call   0x140018828
140018db1:	84 c0                	test   %al,%al
140018db3:	74 17                	je     0x140018dcc
140018db5:	48 03 ff             	add    %rdi,%rdi
140018db8:	48 8b d5             	mov    %rbp,%rdx
140018dbb:	48 8d 0c fe          	lea    (%rsi,%rdi,8),%rcx
140018dbf:	e8 44 fe ff ff       	call   0x140018c08
140018dc4:	48 8b fb             	mov    %rbx,%rdi
140018dc7:	4c 3b fb             	cmp    %rbx,%r15
140018dca:	7c c4                	jl     0x140018d90
140018dcc:	48 03 ff             	add    %rdi,%rdi
140018dcf:	49 8b d4             	mov    %r12,%rdx
140018dd2:	48 8d 0c fe          	lea    (%rsi,%rdi,8),%rcx
140018dd6:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140018ddb:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140018de0:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140018de5:	48 83 c4 20          	add    $0x20,%rsp
140018de9:	41 5f                	pop    %r15
140018deb:	41 5e                	pop    %r14
140018ded:	41 5d                	pop    %r13
140018def:	41 5c                	pop    %r12
140018df1:	5f                   	pop    %rdi
140018df2:	e9 11 fe ff ff       	jmp    0x140018c08
140018df7:	cc                   	int3
140018df8:	cc                   	int3
140018df9:	cc                   	int3
140018dfa:	cc                   	int3
140018dfb:	cc                   	int3
140018dfc:	cc                   	int3
140018dfd:	cc                   	int3
140018dfe:	cc                   	int3
140018dff:	cc                   	int3
140018e00:	48 8b c4             	mov    %rsp,%rax
140018e03:	48 89 58 08          	mov    %rbx,0x8(%rax)
140018e07:	48 89 70 10          	mov    %rsi,0x10(%rax)
140018e0b:	4c 89 48 20          	mov    %r9,0x20(%rax)
140018e0f:	57                   	push   %rdi
140018e10:	48 83 ec 20          	sub    $0x20,%rsp
140018e14:	49 8b f0             	mov    %r8,%rsi
140018e17:	48 8b f9             	mov    %rcx,%rdi
140018e1a:	4c 8b c1             	mov    %rcx,%r8
140018e1d:	48 8b da             	mov    %rdx,%rbx
140018e20:	48 8d 48 20          	lea    0x20(%rax),%rcx
140018e24:	e8 ff f9 ff ff       	call   0x140018828
140018e29:	84 c0                	test   %al,%al
140018e2b:	74 1c                	je     0x140018e49
140018e2d:	48 8b 07             	mov    (%rdi),%rax
140018e30:	4c 8b 0b             	mov    (%rbx),%r9
140018e33:	48 89 03             	mov    %rax,(%rbx)
140018e36:	48 8b 47 08          	mov    0x8(%rdi),%rax
140018e3a:	4c 89 0f             	mov    %r9,(%rdi)
140018e3d:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140018e41:	48 89 43 08          	mov    %rax,0x8(%rbx)
140018e45:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140018e49:	4c 8b c3             	mov    %rbx,%r8
140018e4c:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140018e51:	48 8b d6             	mov    %rsi,%rdx