402afe:	cc                   	int3
402aff:	cc                   	int3
402b00:	8b ff                	mov    %edi,%edi
402b02:	55                   	push   %ebp
402b03:	8b ec                	mov    %esp,%ebp
402b05:	6a ff                	push   $0xffffffff
402b07:	68 8c 51 40 00       	push   $0x40518c
402b0c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402b12:	50                   	push   %eax
402b13:	51                   	push   %ecx
402b14:	56                   	push   %esi
402b15:	57                   	push   %edi
402b16:	a1 cc 80 40 00       	mov    0x4080cc,%eax
402b1b:	33 c5                	xor    %ebp,%eax
402b1d:	50                   	push   %eax
402b1e:	8d 45 f4             	lea    -0xc(%ebp),%eax
402b21:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402b27:	8b f1                	mov    %ecx,%esi
402b29:	33 ff                	xor    %edi,%edi
402b2b:	39 7e 08             	cmp    %edi,0x8(%esi)
402b2e:	74 40                	je     0x402b70
402b30:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
402b34:	74 28                	je     0x402b5e
402b36:	8b 06                	mov    (%esi),%eax
402b38:	83 c9 ff             	or     $0xffffffff,%ecx
402b3b:	f0 0f c1 48 08       	lock xadd %ecx,0x8(%eax)
402b40:	49                   	dec    %ecx
402b41:	79 1b                	jns    0x402b5e
402b43:	57                   	push   %edi
402b44:	68 4f 05 00 00       	push   $0x54f
402b49:	68 38 24 40 00       	push   $0x402438
402b4e:	68 8e 01 00 00       	push   $0x18e
402b53:	68 d8 23 40 00       	push   $0x4023d8
402b58:	ff 15 08 90 40 00    	call   *0x409008
402b5e:	39 7e 08             	cmp    %edi,0x8(%esi)
402b61:	74 0d                	je     0x402b70
402b63:	57                   	push   %edi
402b64:	89 7d fc             	mov    %edi,-0x4(%ebp)
402b67:	ff 76 08             	push   0x8(%esi)
402b6a:	ff 15 10 90 40 00    	call   *0x409010
402b70:	8b ce                	mov    %esi,%ecx
402b72:	e8 b9 04 00 00       	call   0x403030
402b77:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402b7a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402b81:	59                   	pop    %ecx
402b82:	5f                   	pop    %edi
402b83:	5e                   	pop    %esi
402b84:	c9                   	leave
402b85:	c3                   	ret
402b86:	cc                   	int3
402b87:	cc                   	int3
402b88:	cc                   	int3
402b89:	cc                   	int3
402b8a:	cc                   	int3
402b8b:	cc                   	int3
402b8c:	cc                   	int3
402b8d:	cc                   	int3
402b8e:	cc                   	int3
402b8f:	cc                   	int3
402b90:	6a 00                	push   $0x0
402b92:	b8 48 51 40 00       	mov    $0x405148,%eax
402b97:	e8 a4 1e 00 00       	call   0x404a40
402b9c:	8b f9                	mov    %ecx,%edi
402b9e:	8b 77 04             	mov    0x4(%edi),%esi
402ba1:	85 f6                	test   %esi,%esi
402ba3:	75 1e                	jne    0x402bc3
402ba5:	ff 75 08             	push   0x8(%ebp)
402ba8:	68 4f 05 00 00       	push   $0x54f
402bad:	68 30 24 40 00       	push   $0x402430
402bb2:	6a 65                	push   $0x65
402bb4:	68 d8 23 40 00       	push   $0x4023d8
402bb9:	ff 15 08 90 40 00    	call   *0x409008
402bbf:	32 c0                	xor    %al,%al
402bc1:	eb 1a                	jmp    0x402bdd
402bc3:	8b ce                	mov    %esi,%ecx
402bc5:	e8 1e 04 00 00       	call   0x402fe8
402bca:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402bce:	6a 00                	push   $0x0
402bd0:	56                   	push   %esi
402bd1:	ff 15 10 90 40 00    	call   *0x409010
402bd7:	83 67 04 00          	andl   $0x0,0x4(%edi)
402bdb:	b0 01                	mov    $0x1,%al
402bdd:	e8 4a 1e 00 00       	call   0x404a2c
402be2:	c2 04 00             	ret    $0x4
402be5:	cc                   	int3
402be6:	cc                   	int3
402be7:	cc                   	int3
402be8:	cc                   	int3
402be9:	cc                   	int3
402bea:	cc                   	int3
402beb:	cc                   	int3
402bec:	cc                   	int3
402bed:	cc                   	int3
402bee:	cc                   	int3
402bef:	cc                   	int3
402bf0:	6a 10                	push   $0x10
402bf2:	b8 b5 51 40 00       	mov    $0x4051b5,%eax
402bf7:	e8 77 1e 00 00       	call   0x404a73
402bfc:	8b f9                	mov    %ecx,%edi
402bfe:	33 db                	xor    %ebx,%ebx
402c00:	39 5f 04             	cmp    %ebx,0x4(%edi)
402c03:	74 24                	je     0x402c29
402c05:	ff 75 08             	push   0x8(%ebp)
402c08:	68 4f 05 00 00       	push   $0x54f
402c0d:	68 28 24 40 00       	push   $0x402428
402c12:	6a 45                	push   $0x45
402c14:	68 d8 23 40 00       	push   $0x4023d8
402c19:	ff 15 08 90 40 00    	call   *0x409008
402c1f:	32 c0                	xor    %al,%al
402c21:	e8 06 1e 00 00       	call   0x404a2c
402c26:	c2 04 00             	ret    $0x4
402c29:	39 5f 18             	cmp    %ebx,0x18(%edi)
402c2c:	75 16                	jne    0x402c44
402c2e:	8b 7d 08             	mov    0x8(%ebp),%edi
402c31:	8b 07                	mov    (%edi),%eax
402c33:	8b 70 0c             	mov    0xc(%eax),%esi
402c36:	8b ce                	mov    %esi,%ecx
402c38:	ff 15 5c 91 40 00    	call   *0x40915c
402c3e:	8b cf                	mov    %edi,%ecx
402c40:	ff d6                	call   *%esi
402c42:	eb db                	jmp    0x402c1f
402c44:	53                   	push   %ebx
402c45:	53                   	push   %ebx
402c46:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402c49:	8d 45 ec             	lea    -0x14(%ebp),%eax
402c4c:	6a 08                	push   $0x8
402c4e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
402c51:	89 45 e8             	mov    %eax,-0x18(%ebp)
402c54:	ff 15 00 90 40 00    	call   *0x409000
402c5a:	8b f0                	mov    %eax,%esi
402c5c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
402c5f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402c63:	85 f6                	test   %esi,%esi
402c65:	74 0e                	je     0x402c75
402c67:	89 1e                	mov    %ebx,(%esi)
402c69:	89 5e 04             	mov    %ebx,0x4(%esi)
402c6c:	e8 f1 06 00 00       	call   0x403362
402c71:	89 06                	mov    %eax,(%esi)
402c73:	eb 02                	jmp    0x402c77
402c75:	8b f3                	mov    %ebx,%esi
402c77:	88 5d fc             	mov    %bl,-0x4(%ebp)
402c7a:	85 f6                	test   %esi,%esi
402c7c:	74 b0                	je     0x402c2e
402c7e:	89 77 04             	mov    %esi,0x4(%edi)
402c81:	b0 01                	mov    $0x1,%al
402c83:	eb 9c                	jmp    0x402c21
402c85:	8b 7d 08             	mov    0x8(%ebp),%edi
402c88:	8b 07                	mov    (%edi),%eax
402c8a:	8b 70 0c             	mov    0xc(%eax),%esi
402c8d:	8b ce                	mov    %esi,%ecx
402c8f:	ff 15 5c 91 40 00    	call   *0x40915c
402c95:	8b cf                	mov    %edi,%ecx
402c97:	ff d6                	call   *%esi
402c99:	b8 1f 2c 40 00       	mov    $0x402c1f,%eax
402c9e:	c3                   	ret
402c9f:	cc                   	int3
402ca0:	cc                   	int3
402ca1:	cc                   	int3
402ca2:	cc                   	int3
402ca3:	cc                   	int3
402ca4:	cc                   	int3
402ca5:	cc                   	int3
402ca6:	cc                   	int3
402ca7:	cc                   	int3
402ca8:	cc                   	int3
402ca9:	cc                   	int3
402caa:	cc                   	int3
402cab:	cc                   	int3
402cac:	cc                   	int3
402cad:	cc                   	int3
402cae:	cc                   	int3
402caf:	cc                   	int3
402cb0:	8b ff                	mov    %edi,%edi
402cb2:	55                   	push   %ebp
402cb3:	8b ec                	mov    %esp,%ebp
402cb5:	6a ff                	push   $0xffffffff
402cb7:	68 d0 51 40 00       	push   $0x4051d0
402cbc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402cc2:	50                   	push   %eax
402cc3:	56                   	push   %esi
402cc4:	57                   	push   %edi
402cc5:	a1 cc 80 40 00       	mov    0x4080cc,%eax
402cca:	33 c5                	xor    %ebp,%eax
402ccc:	50                   	push   %eax
402ccd:	8d 45 f4             	lea    -0xc(%ebp),%eax
402cd0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402cd6:	8b f1                	mov    %ecx,%esi
402cd8:	8b 7e 04             	mov    0x4(%esi),%edi
402cdb:	c7 06 74 15 40 00    	movl   $0x401574,(%esi)
402ce1:	85 ff                	test   %edi,%edi
402ce3:	74 14                	je     0x402cf9
402ce5:	8b cf                	mov    %edi,%ecx
402ce7:	e8 fc 02 00 00       	call   0x402fe8
402cec:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402cf0:	6a 00                	push   $0x0
402cf2:	57                   	push   %edi
402cf3:	ff 15 10 90 40 00    	call   *0x409010
402cf9:	8d 4e 10             	lea    0x10(%esi),%ecx
402cfc:	e8 ff fd ff ff       	call   0x402b00
402d01:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402d04:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402d0b:	59                   	pop    %ecx
402d0c:	5f                   	pop    %edi
402d0d:	5e                   	pop    %esi
402d0e:	c9                   	leave
402d0f:	c3                   	ret
402d10:	cc                   	int3
402d11:	cc                   	int3
402d12:	cc                   	int3
402d13:	cc                   	int3
402d14:	cc                   	int3
402d15:	cc                   	int3
402d16:	cc                   	int3
402d17:	cc                   	int3
402d18:	cc                   	int3
402d19:	cc                   	int3
402d1a:	cc                   	int3
402d1b:	cc                   	int3
402d1c:	cc                   	int3
402d1d:	cc                   	int3
402d1e:	cc                   	int3
402d1f:	cc                   	int3
402d20:	6a 10                	push   $0x10
402d22:	b8 f9 51 40 00       	mov    $0x4051f9,%eax
402d27:	e8 47 1d 00 00       	call   0x404a73
402d2c:	8b f9                	mov    %ecx,%edi
402d2e:	33 db                	xor    %ebx,%ebx
402d30:	39 5f 04             	cmp    %ebx,0x4(%edi)
402d33:	74 24                	je     0x402d59
402d35:	ff 75 08             	push   0x8(%ebp)
402d38:	68 4f 05 00 00       	push   $0x54f
402d3d:	68 28 24 40 00       	push   $0x402428
402d42:	6a 45                	push   $0x45
402d44:	68 d8 23 40 00       	push   $0x4023d8
402d49:	ff 15 08 90 40 00    	call   *0x409008
402d4f:	32 c0                	xor    %al,%al
402d51:	e8 d6 1c 00 00       	call   0x404a2c
402d56:	c2 04 00             	ret    $0x4
402d59:	39 5f 18             	cmp    %ebx,0x18(%edi)
402d5c:	75 16                	jne    0x402d74
402d5e:	8b 7d 08             	mov    0x8(%ebp),%edi
402d61:	8b 07                	mov    (%edi),%eax
402d63:	8b 70 0c             	mov    0xc(%eax),%esi
402d66:	8b ce                	mov    %esi,%ecx
402d68:	ff 15 5c 91 40 00    	call   *0x40915c
402d6e:	8b cf                	mov    %edi,%ecx
402d70:	ff d6                	call   *%esi
402d72:	eb db                	jmp    0x402d4f
402d74:	53                   	push   %ebx
402d75:	53                   	push   %ebx
402d76:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402d79:	8d 45 ec             	lea    -0x14(%ebp),%eax
402d7c:	6a 08                	push   $0x8
402d7e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
402d81:	89 45 e8             	mov    %eax,-0x18(%ebp)
402d84:	ff 15 00 90 40 00    	call   *0x409000
402d8a:	8b f0                	mov    %eax,%esi
402d8c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
402d8f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402d93:	85 f6                	test   %esi,%esi
402d95:	74 0e                	je     0x402da5
402d97:	89 1e                	mov    %ebx,(%esi)
402d99:	89 5e 04             	mov    %ebx,0x4(%esi)
402d9c:	e8 f6 05 00 00       	call   0x403397
402da1:	89 06                	mov    %eax,(%esi)
402da3:	eb 02                	jmp    0x402da7
402da5:	8b f3                	mov    %ebx,%esi
402da7:	88 5d fc             	mov    %bl,-0x4(%ebp)
402daa:	85 f6                	test   %esi,%esi
402dac:	74 b0                	je     0x402d5e
402dae:	89 77 04             	mov    %esi,0x4(%edi)
402db1:	b0 01                	mov    $0x1,%al
402db3:	eb 9c                	jmp    0x402d51
402db5:	8b 7d 08             	mov    0x8(%ebp),%edi
402db8:	8b 07                	mov    (%edi),%eax
402dba:	8b 70 0c             	mov    0xc(%eax),%esi
402dbd:	8b ce                	mov    %esi,%ecx
402dbf:	ff 15 5c 91 40 00    	call   *0x40915c
402dc5:	8b cf                	mov    %edi,%ecx
402dc7:	ff d6                	call   *%esi
402dc9:	b8 4f 2d 40 00       	mov    $0x402d4f,%eax
402dce:	c3                   	ret
402dcf:	cc                   	int3
402dd0:	cc                   	int3
402dd1:	cc                   	int3
402dd2:	cc                   	int3
402dd3:	cc                   	int3
402dd4:	cc                   	int3
402dd5:	cc                   	int3
402dd6:	cc                   	int3
402dd7:	cc                   	int3
402dd8:	cc                   	int3
402dd9:	cc                   	int3
402dda:	cc                   	int3
402ddb:	cc                   	int3
402ddc:	cc                   	int3
402ddd:	cc                   	int3
402dde:	cc                   	int3
402ddf:	cc                   	int3
402de0:	8b ff                	mov    %edi,%edi
402de2:	55                   	push   %ebp
402de3:	8b ec                	mov    %esp,%ebp
402de5:	6a ff                	push   $0xffffffff
402de7:	68 d0 51 40 00       	push   $0x4051d0
402dec:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402df2:	50                   	push   %eax
402df3:	56                   	push   %esi
402df4:	57                   	push   %edi
402df5:	a1 cc 80 40 00       	mov    0x4080cc,%eax
402dfa:	33 c5                	xor    %ebp,%eax
402dfc:	50                   	push   %eax
402dfd:	8d 45 f4             	lea    -0xc(%ebp),%eax
402e00:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402e06:	8b f1                	mov    %ecx,%esi
402e08:	8b 7e 04             	mov    0x4(%esi),%edi
402e0b:	c7 06 84 15 40 00    	movl   $0x401584,(%esi)
402e11:	85 ff                	test   %edi,%edi
402e13:	74 14                	je     0x402e29
402e15:	8b cf                	mov    %edi,%ecx
402e17:	e8 cc 01 00 00       	call   0x402fe8
402e1c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402e20:	6a 00                	push   $0x0
402e22:	57                   	push   %edi
402e23:	ff 15 10 90 40 00    	call   *0x409010
402e29:	8d 4e 10             	lea    0x10(%esi),%ecx
402e2c:	e8 cf fc ff ff       	call   0x402b00
402e31:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402e34:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402e3b:	59                   	pop    %ecx
402e3c:	5f                   	pop    %edi
402e3d:	5e                   	pop    %esi
402e3e:	c9                   	leave
402e3f:	c3                   	ret
402e40:	cc                   	int3
402e41:	cc                   	int3
402e42:	cc                   	int3
402e43:	cc                   	int3
402e44:	cc                   	int3
402e45:	cc                   	int3
402e46:	cc                   	int3
402e47:	cc                   	int3
402e48:	cc                   	int3
402e49:	cc                   	int3
402e4a:	cc                   	int3
402e4b:	cc                   	int3
402e4c:	cc                   	int3
402e4d:	cc                   	int3
402e4e:	cc                   	int3
402e4f:	cc                   	int3
402e50:	6a 10                	push   $0x10