140006ac7:	48 8b cb             	mov    %rbx,%rcx
140006aca:	e8 a9 0e 00 00       	call   0x140007978
140006acf:	48 8b cf             	mov    %rdi,%rcx
140006ad2:	e8 69 f9 ff ff       	call   0x140006440
140006ad7:	89 47 38             	mov    %eax,0x38(%rdi)
140006ada:	83 f8 05             	cmp    $0x5,%eax
140006add:	75 08                	jne    0x140006ae7
140006adf:	85 f6                	test   %esi,%esi
140006ae1:	0f 89 51 ff ff ff    	jns    0x140006a38
140006ae7:	83 f8 01             	cmp    $0x1,%eax
140006aea:	74 19                	je     0x140006b05
140006aec:	85 f6                	test   %esi,%esi
140006aee:	78 15                	js     0x140006b05
140006af0:	c7 47 40 05 00 00 00 	movl   $0x5,0x40(%rdi)
140006af7:	be 0d 00 07 80       	mov    $0x8007000d,%esi
140006afc:	eb 07                	jmp    0x140006b05
140006afe:	c7 47 40 08 00 00 00 	movl   $0x8,0x40(%rdi)
140006b05:	8b c6                	mov    %esi,%eax
140006b07:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140006b0c:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140006b11:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140006b16:	48 83 c4 30          	add    $0x30,%rsp
140006b1a:	41 5e                	pop    %r14
140006b1c:	41 5c                	pop    %r12
140006b1e:	5f                   	pop    %rdi
140006b1f:	c3                   	ret
140006b20:	cc                   	int3
140006b21:	cc                   	int3
140006b22:	cc                   	int3
140006b23:	cc                   	int3
140006b24:	cc                   	int3
140006b25:	cc                   	int3
140006b26:	cc                   	int3
140006b27:	cc                   	int3
140006b28:	48 8b c4             	mov    %rsp,%rax
140006b2b:	55                   	push   %rbp
140006b2c:	56                   	push   %rsi
140006b2d:	57                   	push   %rdi
140006b2e:	41 54                	push   %r12
140006b30:	41 57                	push   %r15
140006b32:	48 8b ec             	mov    %rsp,%rbp
140006b35:	48 83 ec 60          	sub    $0x60,%rsp
140006b39:	48 c7 45 e0 fe ff ff 	movq   $0xfffffffffffffffe,-0x20(%rbp)
140006b40:	ff
140006b41:	48 89 58 08          	mov    %rbx,0x8(%rax)
140006b45:	45 8b e0             	mov    %r8d,%r12d
140006b48:	4c 8b fa             	mov    %rdx,%r15
140006b4b:	48 8b f9             	mov    %rcx,%rdi
140006b4e:	48 85 d2             	test   %rdx,%rdx
140006b51:	75 0a                	jne    0x140006b5d
140006b53:	b8 57 00 07 80       	mov    $0x80070057,%eax
140006b58:	e9 fd 01 00 00       	jmp    0x140006d5a
140006b5d:	e8 de f8 ff ff       	call   0x140006440
140006b62:	89 47 38             	mov    %eax,0x38(%rdi)
140006b65:	83 f8 03             	cmp    $0x3,%eax
140006b68:	75 07                	jne    0x140006b71
140006b6a:	33 f6                	xor    %esi,%esi
140006b6c:	e9 e7 01 00 00       	jmp    0x140006d58
140006b71:	83 f8 0b             	cmp    $0xb,%eax
140006b74:	77 0e                	ja     0x140006b84
140006b76:	b9 c5 0f 00 00       	mov    $0xfc5,%ecx
140006b7b:	0f a3 c1             	bt     %eax,%ecx
140006b7e:	73 04                	jae    0x140006b84
140006b80:	b0 01                	mov    $0x1,%al
140006b82:	eb 02                	jmp    0x140006b86
140006b84:	32 c0                	xor    %al,%al
140006b86:	84 c0                	test   %al,%al
140006b88:	0f 84 be 01 00 00    	je     0x140006d4c
140006b8e:	83 cb ff             	or     $0xffffffff,%ebx
140006b91:	8b 47 38             	mov    0x38(%rdi),%eax
140006b94:	83 f8 05             	cmp    $0x5,%eax
140006b97:	75 0b                	jne    0x140006ba4
140006b99:	48 8b cf             	mov    %rdi,%rcx
140006b9c:	e8 9f f8 ff ff       	call   0x140006440
140006ba1:	89 47 38             	mov    %eax,0x38(%rdi)
140006ba4:	83 f8 0b             	cmp    $0xb,%eax
140006ba7:	0f 85 80 01 00 00    	jne    0x140006d2d
140006bad:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140006bb1:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
140006bb5:	e8 fe d4 ff ff       	call   0x1400040b8
140006bba:	90                   	nop
140006bbb:	48 8b 45 d0          	mov    -0x30(%rbp),%rax
140006bbf:	48 85 c0             	test   %rax,%rax
140006bc2:	74 29                	je     0x140006bed
140006bc4:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140006bc8:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140006bcd:	4c 8d 4d 38          	lea    0x38(%rbp),%r9
140006bd1:	4c 8d 45 48          	lea    0x48(%rbp),%r8
140006bd5:	48 8b d0             	mov    %rax,%rdx
140006bd8:	49 8b cf             	mov    %r15,%rcx
140006bdb:	e8 c8 c5 ff ff       	call   0x1400031a8
140006be0:	48 85 c0             	test   %rax,%rax
140006be3:	48 8b 45 d0          	mov    -0x30(%rbp),%rax
140006be7:	74 04                	je     0x140006bed
140006be9:	b1 01                	mov    $0x1,%cl
140006beb:	eb 02                	jmp    0x140006bef
140006bed:	32 c9                	xor    %cl,%cl
140006bef:	84 c9                	test   %cl,%cl
140006bf1:	0f 85 24 01 00 00    	jne    0x140006d1b
140006bf7:	48 8b cf             	mov    %rdi,%rcx
140006bfa:	e8 41 f8 ff ff       	call   0x140006440
140006bff:	89 47 38             	mov    %eax,0x38(%rdi)
140006c02:	83 f8 04             	cmp    $0x4,%eax
140006c05:	0f 85 dd 00 00 00    	jne    0x140006ce8
140006c0b:	48 8b cf             	mov    %rdi,%rcx
140006c0e:	e8 2d f8 ff ff       	call   0x140006440
140006c13:	89 47 38             	mov    %eax,0x38(%rdi)
140006c16:	b9 38 00 00 00       	mov    $0x38,%ecx
140006c1b:	e8 d0 1a 00 00       	call   0x1400086f0
140006c20:	48 8b d8             	mov    %rax,%rbx
140006c23:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140006c27:	48 8b 05 5a 74 00 00 	mov    0x745a(%rip),%rax        # 0x14000e088
140006c2e:	48 8d 0d 53 74 00 00 	lea    0x7453(%rip),%rcx        # 0x14000e088
140006c35:	48 8b 40 18          	mov    0x18(%rax),%rax
140006c39:	ff 15 91 3a 00 00    	call   *0x3a91(%rip)        # 0x14000a6d0
140006c3f:	48 83 c0 18          	add    $0x18,%rax
140006c43:	48 89 43 08          	mov    %rax,0x8(%rbx)
140006c47:	83 63 1c 00          	andl   $0x0,0x1c(%rbx)
140006c4b:	83 63 20 00          	andl   $0x0,0x20(%rbx)
140006c4f:	48 83 63 28 00       	andq   $0x0,0x28(%rbx)
140006c54:	48 83 63 30 00       	andq   $0x0,0x30(%rbx)
140006c59:	45 8b c4             	mov    %r12d,%r8d
140006c5c:	48 8b d3             	mov    %rbx,%rdx
140006c5f:	48 8b cf             	mov    %rdi,%rcx
140006c62:	e8 2d fb ff ff       	call   0x140006794
140006c67:	8b f0                	mov    %eax,%esi
140006c69:	85 c0                	test   %eax,%eax
140006c6b:	78 23                	js     0x140006c90
140006c6d:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140006c71:	48 85 d2             	test   %rdx,%rdx
140006c74:	74 30                	je     0x140006ca6
140006c76:	48 89 5d d8          	mov    %rbx,-0x28(%rbp)
140006c7a:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
140006c7e:	49 8b cf             	mov    %r15,%rcx
140006c81:	e8 5e 07 00 00       	call   0x1400073e4
140006c86:	90                   	nop
140006c87:	48 8b 5d d8          	mov    -0x28(%rbp),%rbx
140006c8b:	48 85 db             	test   %rbx,%rbx
140006c8e:	74 16                	je     0x140006ca6
140006c90:	48 8b cb             	mov    %rbx,%rcx
140006c93:	e8 7c bd ff ff       	call   0x140002a14
140006c98:	ba 38 00 00 00       	mov    $0x38,%edx
140006c9d:	48 8b cb             	mov    %rbx,%rcx
140006ca0:	e8 d3 0c 00 00       	call   0x140007978
140006ca5:	90                   	nop
140006ca6:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140006caa:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
140006cae:	83 cb ff             	or     $0xffffffff,%ebx
140006cb1:	8b c3                	mov    %ebx,%eax
140006cb3:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140006cb8:	03 c3                	add    %ebx,%eax
140006cba:	85 c0                	test   %eax,%eax
140006cbc:	7f 10                	jg     0x140006cce
140006cbe:	48 8b 0a             	mov    (%rdx),%rcx
140006cc1:	48 8b 01             	mov    (%rcx),%rax
140006cc4:	48 8b 40 08          	mov    0x8(%rax),%rax
140006cc8:	ff 15 02 3a 00 00    	call   *0x3a02(%rip)        # 0x14000a6d0
140006cce:	48 8b cf             	mov    %rdi,%rcx
140006cd1:	e8 6a f7 ff ff       	call   0x140006440
140006cd6:	89 47 38             	mov    %eax,0x38(%rdi)
140006cd9:	83 f8 05             	cmp    $0x5,%eax
140006cdc:	75 5b                	jne    0x140006d39
140006cde:	85 f6                	test   %esi,%esi
140006ce0:	0f 89 ab fe ff ff    	jns    0x140006b91
140006ce6:	eb 51                	jmp    0x140006d39
140006ce8:	be 0d 00 07 80       	mov    $0x8007000d,%esi
140006ced:	c7 47 40 07 00 00 00 	movl   $0x7,0x40(%rdi)
140006cf4:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140006cf8:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
140006cfc:	8b c3                	mov    %ebx,%eax
140006cfe:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140006d03:	03 c3                	add    %ebx,%eax
140006d05:	85 c0                	test   %eax,%eax
140006d07:	7f 30                	jg     0x140006d39
140006d09:	48 8b 0a             	mov    (%rdx),%rcx
140006d0c:	48 8b 01             	mov    (%rcx),%rax
140006d0f:	48 8b 40 08          	mov    0x8(%rax),%rax
140006d13:	ff 15 b7 39 00 00    	call   *0x39b7(%rip)        # 0x14000a6d0
140006d19:	eb 1e                	jmp    0x140006d39
140006d1b:	be 0d 00 07 80       	mov    $0x8007000d,%esi
140006d20:	c7 47 40 01 00 00 00 	movl   $0x1,0x40(%rdi)
140006d27:	48 8d 50 e8          	lea    -0x18(%rax),%rdx
140006d2b:	eb cf                	jmp    0x140006cfc
140006d2d:	be 0d 00 07 80       	mov    $0x8007000d,%esi
140006d32:	c7 47 40 06 00 00 00 	movl   $0x6,0x40(%rdi)
140006d39:	83 7f 38 03          	cmpl   $0x3,0x38(%rdi)
140006d3d:	74 19                	je     0x140006d58
140006d3f:	85 f6                	test   %esi,%esi
140006d41:	78 15                	js     0x140006d58
140006d43:	c7 47 40 04 00 00 00 	movl   $0x4,0x40(%rdi)
140006d4a:	eb 07                	jmp    0x140006d53
140006d4c:	c7 47 40 08 00 00 00 	movl   $0x8,0x40(%rdi)
140006d53:	be 0d 00 07 80       	mov    $0x8007000d,%esi
140006d58:	8b c6                	mov    %esi,%eax
140006d5a:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
140006d61:	00
140006d62:	48 83 c4 60          	add    $0x60,%rsp
140006d66:	41 5f                	pop    %r15
140006d68:	41 5c                	pop    %r12
140006d6a:	5f                   	pop    %rdi
140006d6b:	5e                   	pop    %rsi
140006d6c:	5d                   	pop    %rbp
140006d6d:	c3                   	ret
140006d6e:	cc                   	int3
140006d6f:	cc                   	int3
140006d70:	cc                   	int3
140006d71:	cc                   	int3
140006d72:	cc                   	int3
140006d73:	cc                   	int3
140006d74:	cc                   	int3
140006d75:	cc                   	int3
140006d76:	cc                   	int3
140006d77:	cc                   	int3
140006d78:	48 8b c4             	mov    %rsp,%rax
140006d7b:	48 89 48 08          	mov    %rcx,0x8(%rax)
140006d7f:	57                   	push   %rdi
140006d80:	41 56                	push   %r14
140006d82:	41 57                	push   %r15
140006d84:	48 83 ec 30          	sub    $0x30,%rsp
140006d88:	48 c7 40 d8 fe ff ff 	movq   $0xfffffffffffffffe,-0x28(%rax)
140006d8f:	ff
140006d90:	48 89 58 18          	mov    %rbx,0x18(%rax)
140006d94:	48 89 70 20          	mov    %rsi,0x20(%rax)
140006d98:	4c 8b fa             	mov    %rdx,%r15
140006d9b:	48 8b f9             	mov    %rcx,%rdi
140006d9e:	33 db                	xor    %ebx,%ebx
140006da0:	8b f3                	mov    %ebx,%esi
140006da2:	c7 41 28 0c 00 00 00 	movl   $0xc,0x28(%rcx)
140006da9:	48 85 d2             	test   %rdx,%rdx
140006dac:	0f 84 c4 00 00 00    	je     0x140006e76
140006db2:	8b c3                	mov    %ebx,%eax
140006db4:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
140006dbb:	77 38                	ja     0x140006df5
140006dbd:	49 8b c8             	mov    %r8,%rcx
140006dc0:	48 8b c2             	mov    %rdx,%rax
140006dc3:	4d 85 c0             	test   %r8,%r8
140006dc6:	74 0f                	je     0x140006dd7
140006dc8:	66 39 18             	cmp    %bx,(%rax)
140006dcb:	74 0a                	je     0x140006dd7
140006dcd:	48 83 c0 02          	add    $0x2,%rax
140006dd1:	48 83 e9 01          	sub    $0x1,%rcx
140006dd5:	75 f1                	jne    0x140006dc8
140006dd7:	48 8b c1             	mov    %rcx,%rax
140006dda:	48 f7 d8             	neg    %rax
140006ddd:	1b f6                	sbb    %esi,%esi
140006ddf:	f7 d6                	not    %esi
140006de1:	81 e6 57 00 07 80    	and    $0x80070057,%esi
140006de7:	4c 2b c1             	sub    %rcx,%r8
140006dea:	48 f7 d9             	neg    %rcx
140006ded:	48 1b c0             	sbb    %rax,%rax
140006df0:	49 23 c0             	and    %r8,%rax
140006df3:	eb 05                	jmp    0x140006dfa
140006df5:	be 57 00 07 80       	mov    $0x80070057,%esi
140006dfa:	4c 8b f3             	mov    %rbx,%r14
140006dfd:	85 f6                	test   %esi,%esi
140006dff:	4c 0f 49 f0          	cmovns %rax,%r14
140006e03:	0f 88 84 00 00 00    	js     0x140006e8d
140006e09:	4d 85 f6             	test   %r14,%r14
140006e0c:	74 61                	je     0x140006e6f
140006e0e:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140006e12:	48 85 c9             	test   %rcx,%rcx
140006e15:	74 05                	je     0x140006e1c
140006e17:	e8 5c 0b 00 00       	call   0x140007978
140006e1c:	41 8d 4e 01          	lea    0x1(%r14),%ecx
140006e20:	89 4f 18             	mov    %ecx,0x18(%rdi)
140006e23:	b8 02 00 00 00       	mov    $0x2,%eax
140006e28:	48 f7 e1             	mul    %rcx
140006e2b:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140006e32:	48 0f 40 c1          	cmovo  %rcx,%rax
140006e36:	48 8b c8             	mov    %rax,%rcx
140006e39:	e8 82 18 00 00       	call   0x1400086c0
140006e3e:	48 89 47 10          	mov    %rax,0x10(%rdi)
140006e42:	48 85 c0             	test   %rax,%rax
140006e45:	75 0a                	jne    0x140006e51
140006e47:	89 5f 18             	mov    %ebx,0x18(%rdi)
140006e4a:	be 0e 00 07 80       	mov    $0x8007000e,%esi
140006e4f:	eb 50                	jmp    0x140006ea1
140006e51:	44 8b 47 18          	mov    0x18(%rdi),%r8d
140006e55:	4d 03 c0             	add    %r8,%r8
140006e58:	33 d2                	xor    %edx,%edx
140006e5a:	48 8b c8             	mov    %rax,%rcx
140006e5d:	e8 66 17 00 00       	call   0x1400085c8
140006e62:	48 8b 47 10          	mov    0x10(%rdi),%rax
140006e66:	48 89 47 20          	mov    %rax,0x20(%rdi)
140006e6a:	4c 89 3f             	mov    %r15,(%rdi)
140006e6d:	eb 1e                	jmp    0x140006e8d
140006e6f:	be 57 00 07 80       	mov    $0x80070057,%esi
140006e74:	eb 17                	jmp    0x140006e8d
140006e76:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140006e7a:	e8 f9 0a 00 00       	call   0x140007978
140006e7f:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
140006e83:	48 89 5f 20          	mov    %rbx,0x20(%rdi)
140006e87:	89 5f 18             	mov    %ebx,0x18(%rdi)
140006e8a:	48 89 1f             	mov    %rbx,(%rdi)
140006e8d:	81 fe 57 00 07 80    	cmp    $0x80070057,%esi
140006e93:	75 0c                	jne    0x140006ea1
140006e95:	be 0d 00 07 80       	mov    $0x8007000d,%esi
140006e9a:	c7 47 40 09 00 00 00 	movl   $0x9,0x40(%rdi)
140006ea1:	eb 09                	jmp    0x140006eac
140006ea3:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
140006ea8:	8b 74 24 58          	mov    0x58(%rsp),%esi
140006eac:	85 f6                	test   %esi,%esi
140006eae:	78 07                	js     0x140006eb7
140006eb0:	c7 47 44 01 00 00 00 	movl   $0x1,0x44(%rdi)
140006eb7:	8b c6                	mov    %esi,%eax
140006eb9:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140006ebe:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140006ec3:	48 83 c4 30          	add    $0x30,%rsp
140006ec7:	41 5f                	pop    %r15
140006ec9:	41 5e                	pop    %r14
140006ecb:	5f                   	pop    %rdi
140006ecc:	c3                   	ret
140006ecd:	cc                   	int3
140006ece:	cc                   	int3
140006ecf:	cc                   	int3
140006ed0:	cc                   	int3
140006ed1:	cc                   	int3
140006ed2:	cc                   	int3
140006ed3:	cc                   	int3
140006ed4:	40 57                	rex push %rdi
140006ed6:	48 83 ec 30          	sub    $0x30,%rsp
140006eda:	48 c7 44 24 20 fe ff 	movq   $0xfffffffffffffffe,0x20(%rsp)
140006ee1:	ff ff
140006ee3:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
140006ee8:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140006eed:	48 8b fa             	mov    %rdx,%rdi
140006ef0:	48 8b d9             	mov    %rcx,%rbx
140006ef3:	83 79 44 00          	cmpl   $0x0,0x44(%rcx)
140006ef7:	75 0e                	jne    0x140006f07
140006ef9:	bf 15 00 07 80       	mov    $0x80070015,%edi
140006efe:	c7 41 40 0a 00 00 00 	movl   $0xa,0x40(%rcx)
140006f05:	eb 5e                	jmp    0x140006f65
140006f07:	e8 34 f5 ff ff       	call   0x140006440
140006f0c:	89 43 38             	mov    %eax,0x38(%rbx)
140006f0f:	be 02 00 00 00       	mov    $0x2,%esi
140006f14:	f6 43 48 10          	testb  $0x10,0x48(%rbx)
140006f18:	74 0d                	je     0x140006f27
140006f1a:	3b c6                	cmp    %esi,%eax
140006f1c:	74 09                	je     0x140006f27
140006f1e:	c7 43 40 03 00 00 00 	movl   $0x3,0x40(%rbx)
140006f25:	eb 33                	jmp    0x140006f5a
140006f27:	45 33 c0             	xor    %r8d,%r8d
140006f2a:	48 8b d7             	mov    %rdi,%rdx
140006f2d:	48 8b cb             	mov    %rbx,%rcx
140006f30:	e8 5f f8 ff ff       	call   0x140006794
140006f35:	8b f8                	mov    %eax,%edi
140006f37:	85 c0                	test   %eax,%eax
140006f39:	78 24                	js     0x140006f5f
140006f3b:	48 8b cb             	mov    %rbx,%rcx
140006f3e:	e8 fd f4 ff ff       	call   0x140006440