402e52:	b8 22 52 40 00       	mov    $0x405222,%eax
402e57:	e8 17 1c 00 00       	call   0x404a73
402e5c:	8b f9                	mov    %ecx,%edi
402e5e:	33 db                	xor    %ebx,%ebx
402e60:	39 5f 04             	cmp    %ebx,0x4(%edi)
402e63:	74 24                	je     0x402e89
402e65:	ff 75 08             	push   0x8(%ebp)
402e68:	68 4f 05 00 00       	push   $0x54f
402e6d:	68 28 24 40 00       	push   $0x402428
402e72:	6a 45                	push   $0x45
402e74:	68 d8 23 40 00       	push   $0x4023d8
402e79:	ff 15 08 90 40 00    	call   *0x409008
402e7f:	32 c0                	xor    %al,%al
402e81:	e8 a6 1b 00 00       	call   0x404a2c
402e86:	c2 04 00             	ret    $0x4
402e89:	39 5f 18             	cmp    %ebx,0x18(%edi)
402e8c:	75 16                	jne    0x402ea4
402e8e:	8b 7d 08             	mov    0x8(%ebp),%edi
402e91:	8b 07                	mov    (%edi),%eax
402e93:	8b 70 0c             	mov    0xc(%eax),%esi
402e96:	8b ce                	mov    %esi,%ecx
402e98:	ff 15 5c 91 40 00    	call   *0x40915c
402e9e:	8b cf                	mov    %edi,%ecx
402ea0:	ff d6                	call   *%esi
402ea2:	eb db                	jmp    0x402e7f
402ea4:	53                   	push   %ebx
402ea5:	53                   	push   %ebx
402ea6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402ea9:	8d 45 ec             	lea    -0x14(%ebp),%eax
402eac:	6a 08                	push   $0x8
402eae:	89 5d ec             	mov    %ebx,-0x14(%ebp)
402eb1:	89 45 e8             	mov    %eax,-0x18(%ebp)
402eb4:	ff 15 00 90 40 00    	call   *0x409000
402eba:	8b f0                	mov    %eax,%esi
402ebc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
402ebf:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402ec3:	85 f6                	test   %esi,%esi
402ec5:	74 0e                	je     0x402ed5
402ec7:	89 1e                	mov    %ebx,(%esi)
402ec9:	89 5e 04             	mov    %ebx,0x4(%esi)
402ecc:	e8 fb 04 00 00       	call   0x4033cc
402ed1:	89 06                	mov    %eax,(%esi)
402ed3:	eb 02                	jmp    0x402ed7
402ed5:	8b f3                	mov    %ebx,%esi
402ed7:	88 5d fc             	mov    %bl,-0x4(%ebp)
402eda:	85 f6                	test   %esi,%esi
402edc:	74 b0                	je     0x402e8e
402ede:	89 77 04             	mov    %esi,0x4(%edi)
402ee1:	b0 01                	mov    $0x1,%al
402ee3:	eb 9c                	jmp    0x402e81
402ee5:	8b 7d 08             	mov    0x8(%ebp),%edi
402ee8:	8b 07                	mov    (%edi),%eax
402eea:	8b 70 0c             	mov    0xc(%eax),%esi
402eed:	8b ce                	mov    %esi,%ecx
402eef:	ff 15 5c 91 40 00    	call   *0x40915c
402ef5:	8b cf                	mov    %edi,%ecx
402ef7:	ff d6                	call   *%esi
402ef9:	b8 7f 2e 40 00       	mov    $0x402e7f,%eax
402efe:	c3                   	ret
402eff:	cc                   	int3
402f00:	cc                   	int3
402f01:	cc                   	int3
402f02:	cc                   	int3
402f03:	cc                   	int3
402f04:	cc                   	int3
402f05:	cc                   	int3
402f06:	cc                   	int3
402f07:	cc                   	int3
402f08:	cc                   	int3
402f09:	cc                   	int3
402f0a:	cc                   	int3
402f0b:	cc                   	int3
402f0c:	cc                   	int3
402f0d:	cc                   	int3
402f0e:	cc                   	int3
402f0f:	cc                   	int3
402f10:	8b ff                	mov    %edi,%edi
402f12:	55                   	push   %ebp
402f13:	8b ec                	mov    %esp,%ebp
402f15:	6a ff                	push   $0xffffffff
402f17:	68 d0 51 40 00       	push   $0x4051d0
402f1c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402f22:	50                   	push   %eax
402f23:	56                   	push   %esi
402f24:	57                   	push   %edi
402f25:	a1 cc 80 40 00       	mov    0x4080cc,%eax
402f2a:	33 c5                	xor    %ebp,%eax
402f2c:	50                   	push   %eax
402f2d:	8d 45 f4             	lea    -0xc(%ebp),%eax
402f30:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402f36:	8b f1                	mov    %ecx,%esi
402f38:	8b 7e 04             	mov    0x4(%esi),%edi
402f3b:	c7 06 94 15 40 00    	movl   $0x401594,(%esi)
402f41:	85 ff                	test   %edi,%edi
402f43:	74 14                	je     0x402f59
402f45:	8b cf                	mov    %edi,%ecx
402f47:	e8 9c 00 00 00       	call   0x402fe8
402f4c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402f50:	6a 00                	push   $0x0
402f52:	57                   	push   %edi
402f53:	ff 15 10 90 40 00    	call   *0x409010
402f59:	8d 4e 10             	lea    0x10(%esi),%ecx
402f5c:	e8 9f fb ff ff       	call   0x402b00
402f61:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402f64:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402f6b:	59                   	pop    %ecx
402f6c:	5f                   	pop    %edi
402f6d:	5e                   	pop    %esi
402f6e:	c9                   	leave
402f6f:	c3                   	ret
402f70:	cc                   	int3
402f71:	cc                   	int3
402f72:	cc                   	int3
402f73:	cc                   	int3
402f74:	cc                   	int3
402f75:	cc                   	int3
402f76:	cc                   	int3
402f77:	cc                   	int3
402f78:	cc                   	int3
402f79:	cc                   	int3
402f7a:	cc                   	int3
402f7b:	cc                   	int3
402f7c:	cc                   	int3
402f7d:	cc                   	int3
402f7e:	cc                   	int3
402f7f:	cc                   	int3
402f80:	8b ff                	mov    %edi,%edi
402f82:	55                   	push   %ebp
402f83:	8b ec                	mov    %esp,%ebp
402f85:	51                   	push   %ecx
402f86:	56                   	push   %esi
402f87:	8b f1                	mov    %ecx,%esi
402f89:	33 c0                	xor    %eax,%eax
402f8b:	50                   	push   %eax
402f8c:	56                   	push   %esi
402f8d:	89 75 fc             	mov    %esi,-0x4(%ebp)
402f90:	c7 06 94 15 40 00    	movl   $0x401594,(%esi)
402f96:	8d 4e 10             	lea    0x10(%esi),%ecx
402f99:	89 46 04             	mov    %eax,0x4(%esi)
402f9c:	89 46 08             	mov    %eax,0x8(%esi)
402f9f:	89 46 0c             	mov    %eax,0xc(%esi)
402fa2:	e8 f9 00 00 00       	call   0x4030a0
402fa7:	8b c6                	mov    %esi,%eax
402fa9:	5e                   	pop    %esi
402faa:	c9                   	leave
402fab:	c3                   	ret
402fac:	8b ff                	mov    %edi,%edi
402fae:	56                   	push   %esi
402faf:	8b f1                	mov    %ecx,%esi
402fb1:	8b 06                	mov    (%esi),%eax
402fb3:	ff 70 04             	push   0x4(%eax)
402fb6:	e8 9b 02 00 00       	call   0x403256
402fbb:	8b 06                	mov    (%esi),%eax
402fbd:	6a 00                	push   $0x0
402fbf:	89 40 04             	mov    %eax,0x4(%eax)
402fc2:	8b 06                	mov    (%esi),%eax
402fc4:	89 00                	mov    %eax,(%eax)
402fc6:	8b 06                	mov    (%esi),%eax
402fc8:	89 40 08             	mov    %eax,0x8(%eax)
402fcb:	ff 36                	push   (%esi)
402fcd:	83 66 04 00          	andl   $0x0,0x4(%esi)
402fd1:	ff 15 10 90 40 00    	call   *0x409010
402fd7:	5e                   	pop    %esi
402fd8:	c3                   	ret
402fd9:	cc                   	int3
402fda:	cc                   	int3
402fdb:	cc                   	int3
402fdc:	cc                   	int3
402fdd:	cc                   	int3
402fde:	cc                   	int3
402fdf:	cc                   	int3
402fe0:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
402fe4:	0f 95 c0             	setne  %al
402fe7:	c3                   	ret
402fe8:	8b ff                	mov    %edi,%edi
402fea:	56                   	push   %esi
402feb:	8b f1                	mov    %ecx,%esi
402fed:	8b 06                	mov    (%esi),%eax
402fef:	ff 70 04             	push   0x4(%eax)
402ff2:	e8 b6 02 00 00       	call   0x4032ad
402ff7:	8b 06                	mov    (%esi),%eax
402ff9:	6a 00                	push   $0x0
402ffb:	89 40 04             	mov    %eax,0x4(%eax)
402ffe:	8b 06                	mov    (%esi),%eax
403000:	89 00                	mov    %eax,(%eax)
403002:	8b 06                	mov    (%esi),%eax
403004:	89 40 08             	mov    %eax,0x8(%eax)
403007:	ff 36                	push   (%esi)
403009:	83 66 04 00          	andl   $0x0,0x4(%esi)
40300d:	ff 15 10 90 40 00    	call   *0x409010
403013:	5e                   	pop    %esi
403014:	c3                   	ret
403015:	cc                   	int3
403016:	cc                   	int3
403017:	cc                   	int3
403018:	cc                   	int3
403019:	cc                   	int3
40301a:	cc                   	int3
40301b:	cc                   	int3
40301c:	cc                   	int3
40301d:	cc                   	int3
40301e:	cc                   	int3
40301f:	cc                   	int3
403020:	8a 41 04             	mov    0x4(%ecx),%al
403023:	c3                   	ret
403024:	cc                   	int3
403025:	cc                   	int3
403026:	cc                   	int3
403027:	cc                   	int3
403028:	cc                   	int3
403029:	cc                   	int3
40302a:	cc                   	int3
40302b:	cc                   	int3
40302c:	cc                   	int3
40302d:	cc                   	int3
40302e:	cc                   	int3
40302f:	cc                   	int3
403030:	8b ff                	mov    %edi,%edi
403032:	55                   	push   %ebp
403033:	8b ec                	mov    %esp,%ebp
403035:	6a ff                	push   $0xffffffff
403037:	68 3d 52 40 00       	push   $0x40523d
40303c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403042:	50                   	push   %eax
403043:	56                   	push   %esi
403044:	57                   	push   %edi
403045:	a1 cc 80 40 00       	mov    0x4080cc,%eax
40304a:	33 c5                	xor    %ebp,%eax
40304c:	50                   	push   %eax
40304d:	8d 45 f4             	lea    -0xc(%ebp),%eax
403050:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403056:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
40305a:	74 13                	je     0x40306f
40305c:	8b 39                	mov    (%ecx),%edi
40305e:	8b 07                	mov    (%edi),%eax
403060:	8b 70 0c             	mov    0xc(%eax),%esi
403063:	8b ce                	mov    %esi,%ecx
403065:	ff 15 5c 91 40 00    	call   *0x40915c
40306b:	8b cf                	mov    %edi,%ecx
40306d:	ff d6                	call   *%esi
40306f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403072:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403079:	59                   	pop    %ecx
40307a:	5f                   	pop    %edi
40307b:	5e                   	pop    %esi
40307c:	c9                   	leave
40307d:	c3                   	ret
40307e:	cc                   	int3
40307f:	cc                   	int3
403080:	cc                   	int3
403081:	cc                   	int3
403082:	cc                   	int3
403083:	cc                   	int3
403084:	cc                   	int3
403085:	cc                   	int3
403086:	cc                   	int3
403087:	cc                   	int3
403088:	cc                   	int3
403089:	cc                   	int3
40308a:	cc                   	int3
40308b:	cc                   	int3
40308c:	cc                   	int3
40308d:	cc                   	int3
40308e:	cc                   	int3
40308f:	cc                   	int3
403090:	8b c1                	mov    %ecx,%eax
403092:	c3                   	ret
403093:	cc                   	int3
403094:	cc                   	int3
403095:	cc                   	int3
403096:	cc                   	int3
403097:	cc                   	int3
403098:	cc                   	int3
403099:	cc                   	int3
40309a:	cc                   	int3
40309b:	cc                   	int3
40309c:	cc                   	int3
40309d:	cc                   	int3
40309e:	cc                   	int3
40309f:	cc                   	int3
4030a0:	6a 08                	push   $0x8
4030a2:	b8 60 52 40 00       	mov    $0x405260,%eax
4030a7:	e8 94 19 00 00       	call   0x404a40
4030ac:	8b f1                	mov    %ecx,%esi
4030ae:	89 75 f0             	mov    %esi,-0x10(%ebp)
4030b1:	8b 45 08             	mov    0x8(%ebp),%eax
4030b4:	8a 5d 0c             	mov    0xc(%ebp),%bl
4030b7:	89 06                	mov    %eax,(%esi)
4030b9:	33 c0                	xor    %eax,%eax
4030bb:	88 46 04             	mov    %al,0x4(%esi)
4030be:	84 db                	test   %bl,%bl
4030c0:	74 07                	je     0x4030c9
4030c2:	e8 e9 00 00 00       	call   0x4031b0
4030c7:	33 c0                	xor    %eax,%eax
4030c9:	50                   	push   %eax
4030ca:	50                   	push   %eax
4030cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4030ce:	6a 04                	push   $0x4
4030d0:	89 46 08             	mov    %eax,0x8(%esi)
4030d3:	ff 15 00 90 40 00    	call   *0x409000
4030d9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4030dc:	85 c0                	test   %eax,%eax
4030de:	74 05                	je     0x4030e5
4030e0:	83 20 00             	andl   $0x0,(%eax)
4030e3:	eb 02                	jmp    0x4030e7
4030e5:	33 c0                	xor    %eax,%eax
4030e7:	89 46 08             	mov    %eax,0x8(%esi)
4030ea:	85 c0                	test   %eax,%eax
4030ec:	74 36                	je     0x403124
4030ee:	84 db                	test   %bl,%bl
4030f0:	74 32                	je     0x403124
4030f2:	8b 06                	mov    (%esi),%eax
4030f4:	33 c9                	xor    %ecx,%ecx
4030f6:	41                   	inc    %ecx
4030f7:	f0 0f c1 48 08       	lock xadd %ecx,0x8(%eax)
4030fc:	41                   	inc    %ecx
4030fd:	85 c9                	test   %ecx,%ecx
4030ff:	7f 1c                	jg     0x40311d
403101:	6a 00                	push   $0x0
403103:	68 4f 05 00 00       	push   $0x54f
403108:	68 40 24 40 00       	push   $0x402440
40310d:	68 84 01 00 00       	push   $0x184
403112:	68 d8 23 40 00       	push   $0x4023d8
403117:	ff 15 08 90 40 00    	call   *0x409008
40311d:	8b ce                	mov    %esi,%ecx
40311f:	e8 4c 00 00 00       	call   0x403170
403124:	8b c6                	mov    %esi,%eax
403126:	e8 01 19 00 00       	call   0x404a2c
40312b:	c2 08 00             	ret    $0x8
40312e:	cc                   	int3
40312f:	cc                   	int3
403130:	cc                   	int3
403131:	cc                   	int3
403132:	cc                   	int3
403133:	cc                   	int3
403134:	cc                   	int3
403135:	cc                   	int3
403136:	cc                   	int3
403137:	cc                   	int3
403138:	cc                   	int3
403139:	cc                   	int3
40313a:	cc                   	int3
40313b:	cc                   	int3
40313c:	cc                   	int3
40313d:	cc                   	int3
40313e:	cc                   	int3
40313f:	cc                   	int3
403140:	8b ff                	mov    %edi,%edi
403142:	55                   	push   %ebp
403143:	8b ec                	mov    %esp,%ebp