406b7d:	53                   	push   %ebx
406b7e:	ff 15 e0 21 41 00    	call   *0x4121e0
406b84:	85 c0                	test   %eax,%eax
406b86:	78 63                	js     0x406beb
406b88:	57                   	push   %edi
406b89:	68 88 1a 40 00       	push   $0x401a88
406b8e:	56                   	push   %esi
406b8f:	53                   	push   %ebx
406b90:	68 78 1a 40 00       	push   $0x401a78
406b95:	ff 15 dc 21 41 00    	call   *0x4121dc
406b9b:	85 c0                	test   %eax,%eax
406b9d:	78 4c                	js     0x406beb
406b9f:	89 75 ec             	mov    %esi,-0x14(%ebp)
406ba2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406ba6:	eb 3b                	jmp    0x406be3
406ba8:	b9 08 10 04 80       	mov    $0x80041008,%ecx
406bad:	eb 3e                	jmp    0x406bed
406baf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406bb2:	8b 48 04             	mov    0x4(%eax),%ecx
406bb5:	e8 50 0d 00 00       	call   0x40790a
406bba:	8b 7d e8             	mov    -0x18(%ebp),%edi
406bbd:	8b 0f                	mov    (%edi),%ecx
406bbf:	85 c9                	test   %ecx,%ecx
406bc1:	74 13                	je     0x406bd6
406bc3:	8b 01                	mov    (%ecx),%eax
406bc5:	51                   	push   %ecx
406bc6:	8b 70 08             	mov    0x8(%eax),%esi
406bc9:	8b ce                	mov    %esi,%ecx
406bcb:	ff 15 20 23 41 00    	call   *0x412320
406bd1:	ff d6                	call   *%esi
406bd3:	83 27 00             	andl   $0x0,(%edi)
406bd6:	b8 dc 6b 40 00       	mov    $0x406bdc,%eax
406bdb:	c3                   	ret
406bdc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406be0:	8b 75 ec             	mov    -0x14(%ebp),%esi
406be3:	8b c6                	mov    %esi,%eax
406be5:	e8 0f 87 00 00       	call   0x40f2f9
406bea:	c3                   	ret
406beb:	8b c8                	mov    %eax,%ecx
406bed:	e8 2f 1b 00 00       	call   0x408721
406bf2:	cc                   	int3
406bf3:	6a 4c                	push   $0x4c
406bf5:	b8 58 fa 40 00       	mov    $0x40fa58,%eax
406bfa:	e8 50 87 00 00       	call   0x40f34f
406bff:	8b c2                	mov    %edx,%eax
406c01:	89 45 d4             	mov    %eax,-0x2c(%ebp)
406c04:	89 4d dc             	mov    %ecx,-0x24(%ebp)
406c07:	33 db                	xor    %ebx,%ebx
406c09:	89 5d cc             	mov    %ebx,-0x34(%ebp)
406c0c:	89 5d d8             	mov    %ebx,-0x28(%ebp)
406c0f:	89 5d d0             	mov    %ebx,-0x30(%ebp)
406c12:	89 5d fc             	mov    %ebx,-0x4(%ebp)
406c15:	89 5d e8             	mov    %ebx,-0x18(%ebp)
406c18:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406c1c:	8b f3                	mov    %ebx,%esi
406c1e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
406c21:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
406c25:	8b fb                	mov    %ebx,%edi
406c27:	89 7d ec             	mov    %edi,-0x14(%ebp)
406c2a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
406c2e:	85 c9                	test   %ecx,%ecx
406c30:	0f 84 c9 04 00 00    	je     0x4070ff
406c36:	85 c0                	test   %eax,%eax
406c38:	0f 84 c1 04 00 00    	je     0x4070ff
406c3e:	39 18                	cmp    %ebx,(%eax)
406c40:	0f 85 b9 04 00 00    	jne    0x4070ff
406c46:	8b 45 24             	mov    0x24(%ebp),%eax
406c49:	85 c0                	test   %eax,%eax
406c4b:	74 02                	je     0x406c4f
406c4d:	89 18                	mov    %ebx,(%eax)
406c4f:	8b 45 20             	mov    0x20(%ebp),%eax
406c52:	85 c0                	test   %eax,%eax
406c54:	74 02                	je     0x406c58
406c56:	89 18                	mov    %ebx,(%eax)
406c58:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
406c5c:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
406c5f:	8d 55 d8             	lea    -0x28(%ebp),%edx
406c62:	8b 4d 08             	mov    0x8(%ebp),%ecx
406c65:	e8 b2 fd ff ff       	call   0x406a1c
406c6a:	85 c0                	test   %eax,%eax
406c6c:	0f 84 d3 04 00 00    	je     0x407145
406c72:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406c75:	e8 ad fc ff ff       	call   0x406927
406c7a:	85 c0                	test   %eax,%eax
406c7c:	75 0a                	jne    0x406c88
406c7e:	b9 25 05 00 00       	mov    $0x525,%ecx
406c83:	e9 c2 04 00 00       	jmp    0x40714a
406c88:	68 a8 16 40 00       	push   $0x4016a8
406c8d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
406c90:	e8 4b 1a 00 00       	call   0x4086e0
406c95:	8b 45 d8             	mov    -0x28(%ebp),%eax
406c98:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406c9c:	0f 84 df 01 00 00    	je     0x406e81
406ca2:	85 c0                	test   %eax,%eax
406ca4:	0f 85 d7 01 00 00    	jne    0x406e81
406caa:	ff 75 08             	push   0x8(%ebp)
406cad:	8d 4d d0             	lea    -0x30(%ebp),%ecx
406cb0:	e8 2b 1a 00 00       	call   0x4086e0
406cb5:	8b 4d 08             	mov    0x8(%ebp),%ecx
406cb8:	e8 e3 42 00 00       	call   0x40afa0
406cbd:	68 a8 16 40 00       	push   $0x4016a8
406cc2:	83 f8 01             	cmp    $0x1,%eax
406cc5:	0f 85 94 00 00 00    	jne    0x406d5f
406ccb:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406cce:	e8 06 ed ff ff       	call   0x4059d9
406cd3:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
406cd7:	68 50 11 40 00       	push   $0x401150
406cdc:	8d 4d c0             	lea    -0x40(%ebp),%ecx
406cdf:	e8 f5 ec ff ff       	call   0x4059d9
406ce4:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
406ce8:	8d 45 c0             	lea    -0x40(%ebp),%eax
406ceb:	50                   	push   %eax
406cec:	8d 45 b0             	lea    -0x50(%ebp),%eax
406cef:	50                   	push   %eax
406cf0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
406cf3:	e8 a7 19 00 00       	call   0x40869f
406cf8:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
406cfc:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406cff:	51                   	push   %ecx
406d00:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
406d03:	51                   	push   %ecx
406d04:	8b c8                	mov    %eax,%ecx
406d06:	e8 94 19 00 00       	call   0x40869f
406d0b:	89 45 b8             	mov    %eax,-0x48(%ebp)
406d0e:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
406d12:	8b 08                	mov    (%eax),%ecx
406d14:	85 c9                	test   %ecx,%ecx
406d16:	74 04                	je     0x406d1c
406d18:	f0 ff 41 08          	lock incl 0x8(%ecx)
406d1c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
406d1f:	e8 2b ec ff ff       	call   0x40594f
406d24:	8b 4d b8             	mov    -0x48(%ebp),%ecx
406d27:	8b 01                	mov    (%ecx),%eax
406d29:	89 45 e0             	mov    %eax,-0x20(%ebp)
406d2c:	89 45 e8             	mov    %eax,-0x18(%ebp)
406d2f:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
406d33:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
406d36:	e8 14 ec ff ff       	call   0x40594f
406d3b:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
406d3f:	8d 4d b0             	lea    -0x50(%ebp),%ecx
406d42:	e8 08 ec ff ff       	call   0x40594f
406d47:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
406d4b:	8d 4d c0             	lea    -0x40(%ebp),%ecx
406d4e:	e8 fc eb ff ff       	call   0x40594f
406d53:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
406d57:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406d5a:	e9 ca 00 00 00       	jmp    0x406e29
406d5f:	8d 4d b8             	lea    -0x48(%ebp),%ecx
406d62:	e8 72 ec ff ff       	call   0x4059d9
406d67:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
406d6b:	68 50 11 40 00       	push   $0x401150
406d70:	8d 4d c0             	lea    -0x40(%ebp),%ecx
406d73:	e8 61 ec ff ff       	call   0x4059d9
406d78:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
406d7c:	68 3c 17 40 00       	push   $0x40173c
406d81:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406d84:	e8 50 ec ff ff       	call   0x4059d9
406d89:	89 45 b0             	mov    %eax,-0x50(%ebp)
406d8c:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
406d93:	8d 45 d0             	lea    -0x30(%ebp),%eax
406d96:	50                   	push   %eax
406d97:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406d9a:	e8 ba 18 00 00       	call   0x408659
406d9f:	8d 45 c0             	lea    -0x40(%ebp),%eax
406da2:	50                   	push   %eax
406da3:	8d 45 ac             	lea    -0x54(%ebp),%eax
406da6:	50                   	push   %eax
406da7:	8b 4d b0             	mov    -0x50(%ebp),%ecx
406daa:	e8 f0 18 00 00       	call   0x40869f
406daf:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
406db3:	8d 4d b8             	lea    -0x48(%ebp),%ecx
406db6:	51                   	push   %ecx
406db7:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
406dba:	51                   	push   %ecx
406dbb:	8b c8                	mov    %eax,%ecx
406dbd:	e8 dd 18 00 00       	call   0x40869f
406dc2:	89 45 b0             	mov    %eax,-0x50(%ebp)
406dc5:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
406dc9:	8b 08                	mov    (%eax),%ecx
406dcb:	85 c9                	test   %ecx,%ecx
406dcd:	74 04                	je     0x406dd3
406dcf:	f0 ff 41 08          	lock incl 0x8(%ecx)
406dd3:	8d 4d e8             	lea    -0x18(%ebp),%ecx
406dd6:	e8 74 eb ff ff       	call   0x40594f
406ddb:	8b 4d b0             	mov    -0x50(%ebp),%ecx
406dde:	8b 01                	mov    (%ecx),%eax
406de0:	89 45 e0             	mov    %eax,-0x20(%ebp)
406de3:	89 45 e8             	mov    %eax,-0x18(%ebp)
406de6:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
406dea:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
406ded:	e8 5d eb ff ff       	call   0x40594f
406df2:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
406df6:	8d 4d ac             	lea    -0x54(%ebp),%ecx
406df9:	e8 51 eb ff ff       	call   0x40594f
406dfe:	33 c0                	xor    %eax,%eax
406e00:	40                   	inc    %eax
406e01:	89 45 cc             	mov    %eax,-0x34(%ebp)
406e04:	83 e0 fe             	and    $0xfffffffe,%eax
406e07:	89 45 cc             	mov    %eax,-0x34(%ebp)
406e0a:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
406e0e:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406e11:	e8 39 eb ff ff       	call   0x40594f
406e16:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
406e1a:	8d 4d c0             	lea    -0x40(%ebp),%ecx
406e1d:	e8 2d eb ff ff       	call   0x40594f
406e22:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
406e26:	8d 4d b8             	lea    -0x48(%ebp),%ecx
406e29:	e8 21 eb ff ff       	call   0x40594f
406e2e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
406e32:	74 48                	je     0x406e7c
406e34:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406e37:	e8 4f 36 00 00       	call   0x40a48b
406e3c:	85 c0                	test   %eax,%eax
406e3e:	74 3c                	je     0x406e7c
406e40:	ff 75 0c             	push   0xc(%ebp)
406e43:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
406e46:	e8 95 18 00 00       	call   0x4086e0
406e4b:	ff 75 10             	push   0x10(%ebp)
406e4e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406e51:	e8 8a 18 00 00       	call   0x4086e0
406e56:	83 7d 18 01          	cmpl   $0x1,0x18(%ebp)
406e5a:	75 15                	jne    0x406e71
406e5c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406e5f:	e8 16 17 00 00       	call   0x40857a
406e64:	85 c0                	test   %eax,%eax
406e66:	75 09                	jne    0x406e71
406e68:	53                   	push   %ebx
406e69:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406e6c:	e8 6f 18 00 00       	call   0x4086e0
406e71:	8b 75 e4             	mov    -0x1c(%ebp),%esi
406e74:	8b 7d ec             	mov    -0x14(%ebp),%edi
406e77:	8b 45 e0             	mov    -0x20(%ebp),%eax
406e7a:	eb 2f                	jmp    0x406eab
406e7c:	8b 45 e0             	mov    -0x20(%ebp),%eax
406e7f:	eb 3b                	jmp    0x406ebc
406e81:	83 f8 01             	cmp    $0x1,%eax
406e84:	75 30                	jne    0x406eb6
406e86:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
406e8a:	74 2a                	je     0x406eb6
406e8c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406e8f:	e8 f7 35 00 00       	call   0x40a48b
406e94:	85 c0                	test   %eax,%eax
406e96:	74 1e                	je     0x406eb6
406e98:	8b 45 20             	mov    0x20(%ebp),%eax
406e9b:	85 c0                	test   %eax,%eax
406e9d:	74 17                	je     0x406eb6
406e9f:	c7 00 64 10 04 80    	movl   $0x80041064,(%eax)
406ea5:	8b 45 e8             	mov    -0x18(%ebp),%eax
406ea8:	89 45 e0             	mov    %eax,-0x20(%ebp)
406eab:	85 ff                	test   %edi,%edi
406ead:	74 0d                	je     0x406ebc
406eaf:	8b 0f                	mov    (%edi),%ecx
406eb1:	89 4d b8             	mov    %ecx,-0x48(%ebp)
406eb4:	eb 09                	jmp    0x406ebf
406eb6:	8b 45 e8             	mov    -0x18(%ebp),%eax
406eb9:	89 45 e0             	mov    %eax,-0x20(%ebp)
406ebc:	89 5d b8             	mov    %ebx,-0x48(%ebp)
406ebf:	85 f6                	test   %esi,%esi
406ec1:	74 04                	je     0x406ec7
406ec3:	8b 16                	mov    (%esi),%edx
406ec5:	eb 02                	jmp    0x406ec9
406ec7:	8b d3                	mov    %ebx,%edx
406ec9:	85 c0                	test   %eax,%eax
406ecb:	74 04                	je     0x406ed1
406ecd:	8b 08                	mov    (%eax),%ecx
406ecf:	eb 02                	jmp    0x406ed3
406ed1:	8b cb                	mov    %ebx,%ecx
406ed3:	8b 45 dc             	mov    -0x24(%ebp),%eax
406ed6:	8b 18                	mov    (%eax),%ebx
406ed8:	ff 75 d4             	push   -0x2c(%ebp)
406edb:	33 c0                	xor    %eax,%eax
406edd:	50                   	push   %eax
406ede:	50                   	push   %eax
406edf:	50                   	push   %eax
406ee0:	50                   	push   %eax
406ee1:	ff 75 b8             	push   -0x48(%ebp)
406ee4:	52                   	push   %edx
406ee5:	51                   	push   %ecx
406ee6:	ff 75 dc             	push   -0x24(%ebp)
406ee9:	8b 4b 0c             	mov    0xc(%ebx),%ecx
406eec:	ff 15 20 23 41 00    	call   *0x412320
406ef2:	ff 53 0c             	call   *0xc(%ebx)
406ef5:	8b d8                	mov    %eax,%ebx
406ef7:	89 5d c8             	mov    %ebx,-0x38(%ebp)
406efa:	85 db                	test   %ebx,%ebx
406efc:	0f 89 19 01 00 00    	jns    0x40701b
406f02:	81 fb 05 00 07 80    	cmp    $0x80070005,%ebx
406f08:	0f 85 91 00 00 00    	jne    0x406f9f
406f0e:	83 7d 18 01          	cmpl   $0x1,0x18(%ebp)
406f12:	0f 85 ec 00 00 00    	jne    0x407004
406f18:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
406f1b:	e8 5a 16 00 00       	call   0x40857a
406f20:	85 c0                	test   %eax,%eax
406f22:	0f 84 dc 00 00 00    	je     0x407004
406f28:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406f2b:	e8 4a 16 00 00       	call   0x40857a
406f30:	85 c0                	test   %eax,%eax
406f32:	0f 85 cc 00 00 00    	jne    0x407004
406f38:	68 98 16 40 00       	push   $0x401698
406f3d:	8d 4d ac             	lea    -0x54(%ebp),%ecx
406f40:	e8 94 ea ff ff       	call   0x4059d9
406f45:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
406f49:	8b 00                	mov    (%eax),%eax
406f4b:	33 db                	xor    %ebx,%ebx
406f4d:	85 c0                	test   %eax,%eax
406f4f:	74 04                	je     0x406f55
406f51:	8b 10                	mov    (%eax),%edx
406f53:	eb 02                	jmp    0x406f57
406f55:	8b d3                	mov    %ebx,%edx
406f57:	85 f6                	test   %esi,%esi
406f59:	74 04                	je     0x406f5f
406f5b:	8b 0e                	mov    (%esi),%ecx
406f5d:	eb 02                	jmp    0x406f61
406f5f:	8b cb                	mov    %ebx,%ecx
406f61:	8b 45 e0             	mov    -0x20(%ebp),%eax
406f64:	85 c0                	test   %eax,%eax
406f66:	74 04                	je     0x406f6c
406f68:	8b 00                	mov    (%eax),%eax
406f6a:	eb 02                	jmp    0x406f6e
406f6c:	8b c3                	mov    %ebx,%eax
406f6e:	8b 7d dc             	mov    -0x24(%ebp),%edi
406f71:	8b 3f                	mov    (%edi),%edi
406f73:	ff 75 d4             	push   -0x2c(%ebp)
406f76:	53                   	push   %ebx
406f77:	53                   	push   %ebx
406f78:	53                   	push   %ebx
406f79:	53                   	push   %ebx
406f7a:	52                   	push   %edx
406f7b:	51                   	push   %ecx
406f7c:	50                   	push   %eax
406f7d:	ff 75 dc             	push   -0x24(%ebp)
406f80:	8b 4f 0c             	mov    0xc(%edi),%ecx
406f83:	ff 15 20 23 41 00    	call   *0x412320
406f89:	ff 57 0c             	call   *0xc(%edi)
406f8c:	8b d8                	mov    %eax,%ebx
406f8e:	89 5d c8             	mov    %ebx,-0x38(%ebp)
406f91:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
406f95:	8d 4d ac             	lea    -0x54(%ebp),%ecx
406f98:	e8 b2 e9 ff ff       	call   0x40594f
406f9d:	eb 61                	jmp    0x407000
406f9f:	81 fb 64 10 04 80    	cmp    $0x80041064,%ebx
406fa5:	75 59                	jne    0x407000
406fa7:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
406fae:	33 db                	xor    %ebx,%ebx
406fb0:	53                   	push   %ebx
406fb1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
406fb4:	e8 27 17 00 00       	call   0x4086e0
406fb9:	53                   	push   %ebx
406fba:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406fbd:	e8 1e 17 00 00       	call   0x4086e0