140161baf:	0f 84 9d 00 00 00    	je     0x140161c52
140161bb5:	48 8b 16             	mov    (%rsi),%rdx
140161bb8:	48 85 d2             	test   %rdx,%rdx
140161bbb:	75 09                	jne    0x140161bc6
140161bbd:	48 83 c4 28          	add    $0x28,%rsp
140161bc1:	5f                   	pop    %rdi
140161bc2:	5e                   	pop    %rsi
140161bc3:	5d                   	pop    %rbp
140161bc4:	5b                   	pop    %rbx
140161bc5:	c3                   	ret
140161bc6:	48 89 54 24 50       	mov    %rdx,0x50(%rsp)
140161bcb:	48 8b 42 08          	mov    0x8(%rdx),%rax
140161bcf:	48 63 48 04          	movslq 0x4(%rax),%rcx
140161bd3:	48 83 c2 08          	add    $0x8,%rdx
140161bd7:	48 03 ca             	add    %rdx,%rcx
140161bda:	48 8b 01             	mov    (%rcx),%rax
140161bdd:	ff 10                	call   *(%rax)
140161bdf:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140161be4:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140161be9:	48 83 7c 24 50 00    	cmpq   $0x0,0x50(%rsp)
140161bef:	75 02                	jne    0x140161bf3
140161bf1:	eb 54                	jmp    0x140161c47
140161bf3:	b9 58 00 00 00       	mov    $0x58,%ecx
140161bf8:	e8 f3 46 02 00       	call   0x1401862f0
140161bfd:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140161c02:	48 85 c0             	test   %rax,%rax
140161c05:	74 0b                	je     0x140161c12
140161c07:	48 8b c8             	mov    %rax,%rcx
140161c0a:	e8 b1 3f 00 00       	call   0x140165bc0
140161c0f:	48 8b f8             	mov    %rax,%rdi
140161c12:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140161c17:	48 89 47 10          	mov    %rax,0x10(%rdi)
140161c1b:	48 8b 07             	mov    (%rdi),%rax
140161c1e:	48 8b cf             	mov    %rdi,%rcx
140161c21:	ff 10                	call   *(%rax)
140161c23:	48 83 c7 20          	add    $0x20,%rdi
140161c27:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140161c2c:	48 85 c0             	test   %rax,%rax
140161c2f:	74 16                	je     0x140161c47
140161c31:	48 8b 50 08          	mov    0x8(%rax),%rdx
140161c35:	48 63 4a 04          	movslq 0x4(%rdx),%rcx
140161c39:	48 83 c0 08          	add    $0x8,%rax
140161c3d:	48 03 c8             	add    %rax,%rcx
140161c40:	48 8b 01             	mov    (%rcx),%rax
140161c43:	ff 50 08             	call   *0x8(%rax)
140161c46:	90                   	nop
140161c47:	48 8b d7             	mov    %rdi,%rdx
140161c4a:	48 8b cb             	mov    %rbx,%rcx
140161c4d:	ff d5                	call   *%rbp
140161c4f:	90                   	nop
140161c50:	eb 00                	jmp    0x140161c52
140161c52:	48 8b 16             	mov    (%rsi),%rdx
140161c55:	48 85 d2             	test   %rdx,%rdx
140161c58:	74 16                	je     0x140161c70
140161c5a:	48 8b 42 08          	mov    0x8(%rdx),%rax
140161c5e:	48 83 c2 08          	add    $0x8,%rdx
140161c62:	48 63 48 04          	movslq 0x4(%rax),%rcx
140161c66:	48 03 ca             	add    %rdx,%rcx
140161c69:	48 8b 01             	mov    (%rcx),%rax
140161c6c:	ff 50 08             	call   *0x8(%rax)
140161c6f:	90                   	nop
140161c70:	48 83 c4 28          	add    $0x28,%rsp
140161c74:	5f                   	pop    %rdi
140161c75:	5e                   	pop    %rsi
140161c76:	5d                   	pop    %rbp
140161c77:	5b                   	pop    %rbx
140161c78:	c3                   	ret
140161c79:	cc                   	int3
140161c7a:	cc                   	int3
140161c7b:	cc                   	int3
140161c7c:	cc                   	int3
140161c7d:	cc                   	int3
140161c7e:	cc                   	int3
140161c7f:	cc                   	int3
140161c80:	40 53                	rex push %rbx
140161c82:	48 83 ec 20          	sub    $0x20,%rsp
140161c86:	48 8b d9             	mov    %rcx,%rbx
140161c89:	e8 42 42 f6 ff       	call   0x1400c5ed0
140161c8e:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
140161c92:	48 83 39 40          	cmpq   $0x40,(%rcx)
140161c96:	72 11                	jb     0x140161ca9
140161c98:	48 8b 41 38          	mov    0x38(%rcx),%rax
140161c9c:	48 85 c0             	test   %rax,%rax
140161c9f:	74 08                	je     0x140161ca9
140161ca1:	48 83 c4 20          	add    $0x20,%rsp
140161ca5:	5b                   	pop    %rbx
140161ca6:	48 ff e0             	rex.W jmp *%rax
140161ca9:	b8 07 00 00 00       	mov    $0x7,%eax
140161cae:	48 83 c4 20          	add    $0x20,%rsp
140161cb2:	5b                   	pop    %rbx
140161cb3:	c3                   	ret
140161cb4:	cc                   	int3
140161cb5:	cc                   	int3
140161cb6:	cc                   	int3
140161cb7:	cc                   	int3
140161cb8:	cc                   	int3
140161cb9:	cc                   	int3
140161cba:	cc                   	int3
140161cbb:	cc                   	int3
140161cbc:	cc                   	int3
140161cbd:	cc                   	int3
140161cbe:	cc                   	int3
140161cbf:	cc                   	int3
140161cc0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140161cc5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140161cca:	55                   	push   %rbp
140161ccb:	56                   	push   %rsi
140161ccc:	57                   	push   %rdi
140161ccd:	48 83 ec 20          	sub    $0x20,%rsp
140161cd1:	48 8b fa             	mov    %rdx,%rdi
140161cd4:	48 8b d9             	mov    %rcx,%rbx
140161cd7:	33 f6                	xor    %esi,%esi
140161cd9:	e8 f2 41 f6 ff       	call   0x1400c5ed0
140161cde:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
140161ce2:	48 83 3b 60          	cmpq   $0x60,(%rbx)
140161ce6:	0f 82 fb 00 00 00    	jb     0x140161de7
140161cec:	48 8b 6b 58          	mov    0x58(%rbx),%rbp
140161cf0:	48 85 ed             	test   %rbp,%rbp
140161cf3:	0f 84 ee 00 00 00    	je     0x140161de7
140161cf9:	48 8b 17             	mov    (%rdi),%rdx
140161cfc:	48 85 d2             	test   %rdx,%rdx
140161cff:	75 0f                	jne    0x140161d10
140161d01:	32 c0                	xor    %al,%al
140161d03:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140161d08:	48 83 c4 20          	add    $0x20,%rsp
140161d0c:	5f                   	pop    %rdi
140161d0d:	5e                   	pop    %rsi
140161d0e:	5d                   	pop    %rbp
140161d0f:	c3                   	ret
140161d10:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
140161d15:	48 8b 42 08          	mov    0x8(%rdx),%rax
140161d19:	48 63 48 04          	movslq 0x4(%rax),%rcx
140161d1d:	48 83 c2 08          	add    $0x8,%rdx
140161d21:	48 03 ca             	add    %rdx,%rcx
140161d24:	48 8b 01             	mov    (%rcx),%rax
140161d27:	ff 10                	call   *(%rax)
140161d29:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140161d2e:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140161d33:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140161d38:	48 85 c0             	test   %rax,%rax
140161d3b:	75 02                	jne    0x140161d3f
140161d3d:	eb 6d                	jmp    0x140161dac
140161d3f:	8b 48 f0             	mov    -0x10(%rax),%ecx
140161d42:	3b 0d 28 94 14 00    	cmp    0x149428(%rip),%ecx        # 0x1402ab170
140161d48:	74 2d                	je     0x140161d77
140161d4a:	48 8b d0             	mov    %rax,%rdx
140161d4d:	e8 8e 4b f6 ff       	call   0x1400c68e0
140161d52:	48 8b f0             	mov    %rax,%rsi
140161d55:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140161d5a:	48 85 c0             	test   %rax,%rax
140161d5d:	74 16                	je     0x140161d75
140161d5f:	48 8b 48 08          	mov    0x8(%rax),%rcx
140161d63:	48 63 49 04          	movslq 0x4(%rcx),%rcx
140161d67:	48 83 c0 08          	add    $0x8,%rax
140161d6b:	48 03 c8             	add    %rax,%rcx
140161d6e:	48 8b 01             	mov    (%rcx),%rax
140161d71:	ff 50 08             	call   *0x8(%rax)
140161d74:	90                   	nop
140161d75:	eb 35                	jmp    0x140161dac
140161d77:	48 8d 70 f8          	lea    -0x8(%rax),%rsi
140161d7b:	48 8b 0e             	mov    (%rsi),%rcx
140161d7e:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140161d82:	48 85 d2             	test   %rdx,%rdx
140161d85:	74 07                	je     0x140161d8e
140161d87:	ff d2                	call   *%rdx
140161d89:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140161d8e:	48 8b 36             	mov    (%rsi),%rsi
140161d91:	48 85 c0             	test   %rax,%rax
140161d94:	74 16                	je     0x140161dac
140161d96:	4c 8b 40 08          	mov    0x8(%rax),%r8
140161d9a:	49 63 48 04          	movslq 0x4(%r8),%rcx
140161d9e:	48 83 c0 08          	add    $0x8,%rax
140161da2:	48 03 c8             	add    %rax,%rcx
140161da5:	48 8b 01             	mov    (%rcx),%rax
140161da8:	ff 50 08             	call   *0x8(%rax)
140161dab:	90                   	nop
140161dac:	48 8b d6             	mov    %rsi,%rdx
140161daf:	48 8b cb             	mov    %rbx,%rcx
140161db2:	ff d5                	call   *%rbp
140161db4:	85 c0                	test   %eax,%eax
140161db6:	0f 95 c3             	setne  %bl
140161db9:	4c 8b 07             	mov    (%rdi),%r8
140161dbc:	4d 85 c0             	test   %r8,%r8
140161dbf:	74 16                	je     0x140161dd7
140161dc1:	49 8b 48 08          	mov    0x8(%r8),%rcx
140161dc5:	48 63 49 04          	movslq 0x4(%rcx),%rcx
140161dc9:	49 83 c0 08          	add    $0x8,%r8
140161dcd:	49 03 c8             	add    %r8,%rcx
140161dd0:	48 8b 11             	mov    (%rcx),%rdx
140161dd3:	ff 52 08             	call   *0x8(%rdx)
140161dd6:	90                   	nop
140161dd7:	0f b6 c3             	movzbl %bl,%eax
140161dda:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140161ddf:	48 83 c4 20          	add    $0x20,%rsp
140161de3:	5f                   	pop    %rdi
140161de4:	5e                   	pop    %rsi
140161de5:	5d                   	pop    %rbp
140161de6:	c3                   	ret
140161de7:	48 8b 17             	mov    (%rdi),%rdx
140161dea:	48 85 d2             	test   %rdx,%rdx
140161ded:	74 16                	je     0x140161e05
140161def:	48 8b 42 08          	mov    0x8(%rdx),%rax
140161df3:	48 63 48 04          	movslq 0x4(%rax),%rcx
140161df7:	48 83 c2 08          	add    $0x8,%rdx
140161dfb:	48 03 ca             	add    %rdx,%rcx
140161dfe:	48 8b 01             	mov    (%rcx),%rax
140161e01:	ff 50 08             	call   *0x8(%rax)
140161e04:	90                   	nop
140161e05:	32 c0                	xor    %al,%al
140161e07:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140161e0c:	48 83 c4 20          	add    $0x20,%rsp
140161e10:	5f                   	pop    %rdi
140161e11:	5e                   	pop    %rsi
140161e12:	5d                   	pop    %rbp
140161e13:	c3                   	ret
140161e14:	cc                   	int3
140161e15:	cc                   	int3
140161e16:	cc                   	int3
140161e17:	cc                   	int3
140161e18:	cc                   	int3
140161e19:	cc                   	int3
140161e1a:	cc                   	int3
140161e1b:	cc                   	int3
140161e1c:	cc                   	int3
140161e1d:	cc                   	int3
140161e1e:	cc                   	int3
140161e1f:	cc                   	int3
140161e20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140161e25:	57                   	push   %rdi
140161e26:	48 83 ec 20          	sub    $0x20,%rsp
140161e2a:	48 8b d9             	mov    %rcx,%rbx
140161e2d:	48 8b 49 e0          	mov    -0x20(%rcx),%rcx
140161e31:	48 8b 41 10          	mov    0x10(%rcx),%rax
140161e35:	48 85 c0             	test   %rax,%rax
140161e38:	74 02                	je     0x140161e3c
140161e3a:	ff d0                	call   *%rax
140161e3c:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140161e41:	f0 0f c1 43 f8       	lock xadd %eax,-0x8(%rbx)
140161e46:	83 f8 01             	cmp    $0x1,%eax
140161e49:	75 52                	jne    0x140161e9d
140161e4b:	48 8d 7b d8          	lea    -0x28(%rbx),%rdi
140161e4f:	48 85 ff             	test   %rdi,%rdi
140161e52:	74 3c                	je     0x140161e90
140161e54:	48 8d 05 a5 b3 0b 00 	lea    0xbb3a5(%rip),%rax        # 0x14021d200
140161e5b:	48 89 43 e8          	mov    %rax,-0x18(%rbx)
140161e5f:	48 8b 43 f0          	mov    -0x10(%rbx),%rax
140161e63:	48 63 50 04          	movslq 0x4(%rax),%rdx
140161e67:	48 8d 05 ca b3 0b 00 	lea    0xbb3ca(%rip),%rax        # 0x14021d238
140161e6e:	48 89 44 1a f0       	mov    %rax,-0x10(%rdx,%rbx,1)
140161e73:	e8 58 40 f6 ff       	call   0x1400c5ed0
140161e78:	90                   	nop
140161e79:	48 8d 05 68 a0 0d 00 	lea    0xda068(%rip),%rax        # 0x14023bee8
140161e80:	48 89 03             	mov    %rax,(%rbx)
140161e83:	ba 30 00 00 00       	mov    $0x30,%edx
140161e88:	48 8b cf             	mov    %rdi,%rcx
140161e8b:	e8 bc 47 02 00       	call   0x14018664c
140161e90:	b0 01                	mov    $0x1,%al
140161e92:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140161e97:	48 83 c4 20          	add    $0x20,%rsp
140161e9b:	5f                   	pop    %rdi
140161e9c:	c3                   	ret
140161e9d:	32 c0                	xor    %al,%al
140161e9f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140161ea4:	48 83 c4 20          	add    $0x20,%rsp
140161ea8:	5f                   	pop    %rdi
140161ea9:	c3                   	ret
140161eaa:	cc                   	int3
140161eab:	cc                   	int3
140161eac:	cc                   	int3
140161ead:	cc                   	int3
140161eae:	cc                   	int3
140161eaf:	cc                   	int3
140161eb0:	45 33 c9             	xor    %r9d,%r9d
140161eb3:	4c 8b c1             	mov    %rcx,%r8
140161eb6:	85 d2                	test   %edx,%edx
140161eb8:	74 16                	je     0x140161ed0
140161eba:	48 8d 05 0f b4 0b 00 	lea    0xbb40f(%rip),%rax        # 0x14021d2d0
140161ec1:	48 89 41 08          	mov    %rax,0x8(%rcx)
140161ec5:	48 8d 05 1c a0 0d 00 	lea    0xda01c(%rip),%rax        # 0x14023bee8
140161ecc:	48 89 41 18          	mov    %rax,0x18(%rcx)
140161ed0:	48 8d 05 11 ab 0b 00 	lea    0xbab11(%rip),%rax        # 0x14021c9e8
140161ed7:	48 89 01             	mov    %rax,(%rcx)
140161eda:	48 8b 41 08          	mov    0x8(%rcx),%rax
140161ede:	48 63 48 04          	movslq 0x4(%rax),%rcx
140161ee2:	48 8d 05 1f 84 0b 00 	lea    0xb841f(%rip),%rax        # 0x14021a308
140161ee9:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
140161eee:	48 8d 05 f3 aa 0b 00 	lea    0xbaaf3(%rip),%rax        # 0x14021c9e8
140161ef5:	49 89 00             	mov    %rax,(%r8)
140161ef8:	49 8b 40 08          	mov    0x8(%r8),%rax
140161efc:	48 63 48 04          	movslq 0x4(%rax),%rcx
140161f00:	48 8d 05 61 b3 0b 00 	lea    0xbb361(%rip),%rax        # 0x14021d268
140161f07:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
140161f0c:	48 8d 05 7d b3 0b 00 	lea    0xbb37d(%rip),%rax        # 0x14021d290
140161f13:	45 89 48 10          	mov    %r9d,0x10(%r8)
140161f17:	49 89 00             	mov    %rax,(%r8)
140161f1a:	49 8b 40 08          	mov    0x8(%r8),%rax
140161f1e:	48 63 48 04          	movslq 0x4(%rax),%rcx
140161f22:	48 8d 05 7f b3 0b 00 	lea    0xbb37f(%rip),%rax        # 0x14021d2a8
140161f29:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
140161f2e:	49 8b c0             	mov    %r8,%rax
140161f31:	c3                   	ret
140161f32:	cc                   	int3
140161f33:	cc                   	int3
140161f34:	cc                   	int3
140161f35:	cc                   	int3
140161f36:	cc                   	int3
140161f37:	cc                   	int3
140161f38:	cc                   	int3
140161f39:	cc                   	int3
140161f3a:	cc                   	int3
140161f3b:	cc                   	int3
140161f3c:	cc                   	int3
140161f3d:	cc                   	int3
140161f3e:	cc                   	int3
140161f3f:	cc                   	int3
140161f40:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140161f45:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140161f4a:	57                   	push   %rdi
140161f4b:	48 83 ec 20          	sub    $0x20,%rsp
140161f4f:	8b fa                	mov    %edx,%edi
140161f51:	48 8b d9             	mov    %rcx,%rbx
140161f54:	48 8d 05 35 b3 0b 00 	lea    0xbb335(%rip),%rax        # 0x14021d290
140161f5b:	48 89 41 e8          	mov    %rax,-0x18(%rcx)
140161f5f:	4c 8b 41 f0          	mov    -0x10(%rcx),%r8
140161f63:	4d 63 48 04          	movslq 0x4(%r8),%r9
140161f67:	48 8d 05 3a b3 0b 00 	lea    0xbb33a(%rip),%rax        # 0x14021d2a8
140161f6e:	49 89 44 09 f0       	mov    %rax,-0x10(%r9,%rcx,1)
140161f73:	e8 58 3f f6 ff       	call   0x1400c5ed0
140161f78:	90                   	nop
140161f79:	48 8d 05 68 9f 0d 00 	lea    0xd9f68(%rip),%rax        # 0x14023bee8
140161f80:	48 89 03             	mov    %rax,(%rbx)
140161f83:	40 f6 c7 01          	test   $0x1,%dil
140161f87:	74 0e                	je     0x140161f97
140161f89:	ba 20 00 00 00       	mov    $0x20,%edx
140161f8e:	48 8d 4b e8          	lea    -0x18(%rbx),%rcx
140161f92:	e8 b5 46 02 00       	call   0x14018664c
140161f97:	48 8d 43 e8          	lea    -0x18(%rbx),%rax
140161f9b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140161fa0:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140161fa5:	48 83 c4 20          	add    $0x20,%rsp
140161fa9:	5f                   	pop    %rdi
140161faa:	c3                   	ret
140161fab:	cc                   	int3
140161fac:	cc                   	int3
140161fad:	cc                   	int3
140161fae:	cc                   	int3
140161faf:	cc                   	int3
140161fb0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140161fb5:	57                   	push   %rdi
140161fb6:	48 83 ec 20          	sub    $0x20,%rsp