404eb6:	c7 45 fc ce 4e 40 00 	movl   $0x404ece,-0x4(%ebp)
404ebd:	6a 00                	push   $0x0
404ebf:	ff 75 0c             	push   0xc(%ebp)
404ec2:	ff 75 fc             	push   -0x4(%ebp)
404ec5:	ff 75 08             	push   0x8(%ebp)
404ec8:	ff 15 84 90 41 00    	call   *0x419084
404ece:	8b 45 0c             	mov    0xc(%ebp),%eax
404ed1:	8b 40 04             	mov    0x4(%eax),%eax
404ed4:	83 e0 fd             	and    $0xfffffffd,%eax
404ed7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404eda:	89 41 04             	mov    %eax,0x4(%ecx)
404edd:	64 8b 3d 00 00 00 00 	mov    %fs:0x0,%edi
404ee4:	8b 5d f8             	mov    -0x8(%ebp),%ebx
404ee7:	89 3b                	mov    %edi,(%ebx)
404ee9:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
404ef0:	5f                   	pop    %edi
404ef1:	5e                   	pop    %esi
404ef2:	5b                   	pop    %ebx
404ef3:	c9                   	leave
404ef4:	c2 08 00             	ret    $0x8
404ef7:	55                   	push   %ebp
404ef8:	8b ec                	mov    %esp,%ebp
404efa:	56                   	push   %esi
404efb:	fc                   	cld
404efc:	8b 75 0c             	mov    0xc(%ebp),%esi
404eff:	8b 4e 08             	mov    0x8(%esi),%ecx
404f02:	33 ce                	xor    %esi,%ecx
404f04:	e8 bf f1 ff ff       	call   0x4040c8
404f09:	6a 00                	push   $0x0
404f0b:	56                   	push   %esi
404f0c:	ff 76 14             	push   0x14(%esi)
404f0f:	ff 76 0c             	push   0xc(%esi)
404f12:	6a 00                	push   $0x0
404f14:	ff 75 10             	push   0x10(%ebp)
404f17:	ff 76 10             	push   0x10(%esi)
404f1a:	ff 75 08             	push   0x8(%ebp)
404f1d:	e8 2a 0d 00 00       	call   0x405c4c
404f22:	83 c4 20             	add    $0x20,%esp
404f25:	5e                   	pop    %esi
404f26:	5d                   	pop    %ebp
404f27:	c3                   	ret
404f28:	55                   	push   %ebp
404f29:	8b ec                	mov    %esp,%ebp
404f2b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404f2e:	56                   	push   %esi
404f2f:	8b 75 08             	mov    0x8(%ebp),%esi
404f32:	89 0e                	mov    %ecx,(%esi)
404f34:	e8 63 03 00 00       	call   0x40529c
404f39:	8b 48 24             	mov    0x24(%eax),%ecx
404f3c:	89 4e 04             	mov    %ecx,0x4(%esi)
404f3f:	e8 58 03 00 00       	call   0x40529c
404f44:	89 70 24             	mov    %esi,0x24(%eax)
404f47:	8b c6                	mov    %esi,%eax
404f49:	5e                   	pop    %esi
404f4a:	5d                   	pop    %ebp
404f4b:	c3                   	ret
404f4c:	55                   	push   %ebp
404f4d:	8b ec                	mov    %esp,%ebp
404f4f:	56                   	push   %esi
404f50:	e8 47 03 00 00       	call   0x40529c
404f55:	8b 75 08             	mov    0x8(%ebp),%esi
404f58:	3b 70 24             	cmp    0x24(%eax),%esi
404f5b:	75 0e                	jne    0x404f6b
404f5d:	8b 76 04             	mov    0x4(%esi),%esi
404f60:	e8 37 03 00 00       	call   0x40529c
404f65:	89 70 24             	mov    %esi,0x24(%eax)
404f68:	5e                   	pop    %esi
404f69:	5d                   	pop    %ebp
404f6a:	c3                   	ret
404f6b:	e8 2c 03 00 00       	call   0x40529c
404f70:	8b 48 24             	mov    0x24(%eax),%ecx
404f73:	83 c1 04             	add    $0x4,%ecx
404f76:	eb 07                	jmp    0x404f7f
404f78:	3b f0                	cmp    %eax,%esi
404f7a:	74 0b                	je     0x404f87
404f7c:	8d 48 04             	lea    0x4(%eax),%ecx
404f7f:	8b 01                	mov    (%ecx),%eax
404f81:	85 c0                	test   %eax,%eax
404f83:	74 09                	je     0x404f8e
404f85:	eb f1                	jmp    0x404f78
404f87:	8b 46 04             	mov    0x4(%esi),%eax
404f8a:	89 01                	mov    %eax,(%ecx)
404f8c:	eb da                	jmp    0x404f68
404f8e:	e8 97 55 00 00       	call   0x40a52a
404f93:	cc                   	int3
404f94:	55                   	push   %ebp
404f95:	8b ec                	mov    %esp,%ebp
404f97:	51                   	push   %ecx
404f98:	53                   	push   %ebx
404f99:	fc                   	cld
404f9a:	8b 45 0c             	mov    0xc(%ebp),%eax
404f9d:	8b 48 08             	mov    0x8(%eax),%ecx
404fa0:	33 4d 0c             	xor    0xc(%ebp),%ecx
404fa3:	e8 20 f1 ff ff       	call   0x4040c8
404fa8:	8b 45 08             	mov    0x8(%ebp),%eax
404fab:	8b 40 04             	mov    0x4(%eax),%eax
404fae:	83 e0 66             	and    $0x66,%eax
404fb1:	74 11                	je     0x404fc4
404fb3:	8b 45 0c             	mov    0xc(%ebp),%eax
404fb6:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
404fbd:	33 c0                	xor    %eax,%eax
404fbf:	40                   	inc    %eax
404fc0:	eb 6c                	jmp    0x40502e
404fc2:	eb 6a                	jmp    0x40502e
404fc4:	6a 01                	push   $0x1
404fc6:	8b 45 0c             	mov    0xc(%ebp),%eax
404fc9:	ff 70 18             	push   0x18(%eax)
404fcc:	8b 45 0c             	mov    0xc(%ebp),%eax
404fcf:	ff 70 14             	push   0x14(%eax)
404fd2:	8b 45 0c             	mov    0xc(%ebp),%eax
404fd5:	ff 70 0c             	push   0xc(%eax)
404fd8:	6a 00                	push   $0x0
404fda:	ff 75 10             	push   0x10(%ebp)
404fdd:	8b 45 0c             	mov    0xc(%ebp),%eax
404fe0:	ff 70 10             	push   0x10(%eax)
404fe3:	ff 75 08             	push   0x8(%ebp)
404fe6:	e8 61 0c 00 00       	call   0x405c4c
404feb:	83 c4 20             	add    $0x20,%esp
404fee:	8b 45 0c             	mov    0xc(%ebp),%eax
404ff1:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
404ff5:	75 0b                	jne    0x405002
404ff7:	ff 75 08             	push   0x8(%ebp)
404ffa:	ff 75 0c             	push   0xc(%ebp)
404ffd:	e8 a2 fe ff ff       	call   0x404ea4
405002:	6a 00                	push   $0x0
405004:	6a 00                	push   $0x0
405006:	6a 00                	push   $0x0
405008:	6a 00                	push   $0x0
40500a:	6a 00                	push   $0x0
40500c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40500f:	50                   	push   %eax
405010:	68 23 01 00 00       	push   $0x123
405015:	e8 6a fd ff ff       	call   0x404d84
40501a:	83 c4 1c             	add    $0x1c,%esp
40501d:	8b 45 fc             	mov    -0x4(%ebp),%eax
405020:	8b 5d 0c             	mov    0xc(%ebp),%ebx
405023:	8b 63 1c             	mov    0x1c(%ebx),%esp
405026:	8b 6b 20             	mov    0x20(%ebx),%ebp
405029:	ff e0                	jmp    *%eax
40502b:	33 c0                	xor    %eax,%eax
40502d:	40                   	inc    %eax
40502e:	5b                   	pop    %ebx
40502f:	c9                   	leave
405030:	c3                   	ret
405031:	55                   	push   %ebp
405032:	8b ec                	mov    %esp,%ebp
405034:	83 ec 08             	sub    $0x8,%esp
405037:	53                   	push   %ebx
405038:	56                   	push   %esi
405039:	57                   	push   %edi
40503a:	fc                   	cld
40503b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40503e:	33 c0                	xor    %eax,%eax
405040:	50                   	push   %eax
405041:	50                   	push   %eax
405042:	50                   	push   %eax
405043:	ff 75 fc             	push   -0x4(%ebp)
405046:	ff 75 14             	push   0x14(%ebp)
405049:	ff 75 10             	push   0x10(%ebp)
40504c:	ff 75 0c             	push   0xc(%ebp)
40504f:	ff 75 08             	push   0x8(%ebp)
405052:	e8 f5 0b 00 00       	call   0x405c4c
405057:	83 c4 20             	add    $0x20,%esp
40505a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40505d:	5f                   	pop    %edi
40505e:	5e                   	pop    %esi
40505f:	5b                   	pop    %ebx
405060:	8b 45 f8             	mov    -0x8(%ebp),%eax
405063:	8b e5                	mov    %ebp,%esp
405065:	5d                   	pop    %ebp
405066:	c3                   	ret
405067:	cc                   	int3
405068:	cc                   	int3
405069:	cc                   	int3
40506a:	cc                   	int3
40506b:	cc                   	int3
40506c:	cc                   	int3
40506d:	cc                   	int3
40506e:	cc                   	int3
40506f:	cc                   	int3
405070:	55                   	push   %ebp
405071:	8b ec                	mov    %esp,%ebp
405073:	56                   	push   %esi
405074:	8b 75 08             	mov    0x8(%ebp),%esi
405077:	57                   	push   %edi
405078:	8b 7d 0c             	mov    0xc(%ebp),%edi
40507b:	8b 06                	mov    (%esi),%eax
40507d:	83 f8 fe             	cmp    $0xfffffffe,%eax
405080:	74 0d                	je     0x40508f
405082:	8b 4e 04             	mov    0x4(%esi),%ecx
405085:	03 cf                	add    %edi,%ecx
405087:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40508a:	e8 39 f0 ff ff       	call   0x4040c8
40508f:	8b 46 08             	mov    0x8(%esi),%eax
405092:	8b 4e 0c             	mov    0xc(%esi),%ecx
405095:	03 cf                	add    %edi,%ecx
405097:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40509a:	5f                   	pop    %edi
40509b:	5e                   	pop    %esi
40509c:	5d                   	pop    %ebp
40509d:	e9 26 f0 ff ff       	jmp    0x4040c8
4050a2:	cc                   	int3
4050a3:	cc                   	int3
4050a4:	cc                   	int3
4050a5:	cc                   	int3
4050a6:	cc                   	int3
4050a7:	cc                   	int3
4050a8:	cc                   	int3
4050a9:	cc                   	int3
4050aa:	cc                   	int3
4050ab:	cc                   	int3
4050ac:	cc                   	int3
4050ad:	cc                   	int3
4050ae:	cc                   	int3
4050af:	cc                   	int3
4050b0:	55                   	push   %ebp
4050b1:	8b ec                	mov    %esp,%ebp
4050b3:	83 ec 1c             	sub    $0x1c,%esp
4050b6:	53                   	push   %ebx
4050b7:	8b 5d 08             	mov    0x8(%ebp),%ebx
4050ba:	56                   	push   %esi
4050bb:	57                   	push   %edi
4050bc:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4050c0:	ff 33                	push   (%ebx)
4050c2:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4050c9:	e8 c1 2e 01 00       	call   0x417f8f
4050ce:	89 03                	mov    %eax,(%ebx)
4050d0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4050d3:	8b 43 08             	mov    0x8(%ebx),%eax
4050d6:	8d 73 10             	lea    0x10(%ebx),%esi
4050d9:	33 05 c0 10 42 00    	xor    0x4210c0,%eax
4050df:	56                   	push   %esi
4050e0:	50                   	push   %eax
4050e1:	89 75 f0             	mov    %esi,-0x10(%ebp)
4050e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4050e7:	e8 84 ff ff ff       	call   0x405070
4050ec:	ff 75 10             	push   0x10(%ebp)
4050ef:	e8 28 10 00 00       	call   0x40611c
4050f4:	8b 45 08             	mov    0x8(%ebp),%eax
4050f7:	83 c4 10             	add    $0x10,%esp
4050fa:	8b 7b 0c             	mov    0xc(%ebx),%edi
4050fd:	f6 40 04 66          	testb  $0x66,0x4(%eax)
405101:	75 5a                	jne    0x40515d
405103:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405106:	8b 45 10             	mov    0x10(%ebp),%eax
405109:	89 45 e8             	mov    %eax,-0x18(%ebp)
40510c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40510f:	89 43 fc             	mov    %eax,-0x4(%ebx)
405112:	83 ff fe             	cmp    $0xfffffffe,%edi
405115:	74 69                	je     0x405180
405117:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40511a:	8d 47 02             	lea    0x2(%edi),%eax
40511d:	8d 04 47             	lea    (%edi,%eax,2),%eax
405120:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
405123:	8d 04 81             	lea    (%ecx,%eax,4),%eax
405126:	8b 48 04             	mov    0x4(%eax),%ecx
405129:	89 45 ec             	mov    %eax,-0x14(%ebp)
40512c:	85 c9                	test   %ecx,%ecx
40512e:	74 14                	je     0x405144
405130:	8b d6                	mov    %esi,%edx
405132:	e8 09 11 00 00       	call   0x406240
405137:	b1 01                	mov    $0x1,%cl
405139:	88 4d ff             	mov    %cl,-0x1(%ebp)
40513c:	85 c0                	test   %eax,%eax
40513e:	78 14                	js     0x405154
405140:	7f 48                	jg     0x40518a
405142:	eb 03                	jmp    0x405147
405144:	8a 4d ff             	mov    -0x1(%ebp),%cl
405147:	8b fb                	mov    %ebx,%edi
405149:	83 fb fe             	cmp    $0xfffffffe,%ebx
40514c:	75 c9                	jne    0x405117
40514e:	84 c9                	test   %cl,%cl
405150:	74 2e                	je     0x405180
405152:	eb 20                	jmp    0x405174
405154:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40515b:	eb 17                	jmp    0x405174
40515d:	83 ff fe             	cmp    $0xfffffffe,%edi
405160:	74 1e                	je     0x405180
405162:	68 c0 10 42 00       	push   $0x4210c0
405167:	56                   	push   %esi
405168:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
40516d:	8b cb                	mov    %ebx,%ecx
40516f:	e8 2c 11 00 00       	call   0x4062a0
405174:	56                   	push   %esi
405175:	ff 75 f8             	push   -0x8(%ebp)
405178:	e8 f3 fe ff ff       	call   0x405070
40517d:	83 c4 08             	add    $0x8,%esp
405180:	8b 45 f4             	mov    -0xc(%ebp),%eax
405183:	5f                   	pop    %edi
405184:	5e                   	pop    %esi
405185:	5b                   	pop    %ebx
405186:	8b e5                	mov    %ebp,%esp
405188:	5d                   	pop    %ebp
405189:	c3                   	ret
40518a:	8b 45 08             	mov    0x8(%ebp),%eax
40518d:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
405193:	75 38                	jne    0x4051cd
405195:	83 3d c8 95 41 00 00 	cmpl   $0x0,0x4195c8
40519c:	74 2f                	je     0x4051cd
40519e:	68 c8 95 41 00       	push   $0x4195c8
4051a3:	e8 e8 26 01 00       	call   0x417890
4051a8:	83 c4 04             	add    $0x4,%esp
4051ab:	85 c0                	test   %eax,%eax
4051ad:	74 1b                	je     0x4051ca
4051af:	8b 35 c8 95 41 00    	mov    0x4195c8,%esi
4051b5:	8b ce                	mov    %esi,%ecx
4051b7:	6a 01                	push   $0x1
4051b9:	ff 75 08             	push   0x8(%ebp)
4051bc:	ff 15 54 91 41 00    	call   *0x419154
4051c2:	ff d6                	call   *%esi
4051c4:	8b 75 f0             	mov    -0x10(%ebp),%esi
4051c7:	83 c4 08             	add    $0x8,%esp
4051ca:	8b 45 08             	mov    0x8(%ebp),%eax
4051cd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4051d0:	8b d0                	mov    %eax,%edx
4051d2:	e8 a9 10 00 00       	call   0x406280
4051d7:	8b 45 0c             	mov    0xc(%ebp),%eax
4051da:	39 78 0c             	cmp    %edi,0xc(%eax)
4051dd:	74 12                	je     0x4051f1
4051df:	68 c0 10 42 00       	push   $0x4210c0
4051e4:	56                   	push   %esi
4051e5:	8b d7                	mov    %edi,%edx
4051e7:	8b c8                	mov    %eax,%ecx
4051e9:	e8 b2 10 00 00       	call   0x4062a0
4051ee:	8b 45 0c             	mov    0xc(%ebp),%eax
4051f1:	56                   	push   %esi
4051f2:	ff 75 f8             	push   -0x8(%ebp)
4051f5:	89 58 0c             	mov    %ebx,0xc(%eax)
4051f8:	e8 73 fe ff ff       	call   0x405070
4051fd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
405200:	83 c4 08             	add    $0x8,%esp
405203:	8b d6                	mov    %esi,%edx
405205:	8b 49 08             	mov    0x8(%ecx),%ecx
405208:	e8 53 10 00 00       	call   0x406260
40520d:	cc                   	int3
40520e:	e8 a4 10 00 00       	call   0x4062b7
405213:	84 c0                	test   %al,%al
405215:	75 03                	jne    0x40521a
405217:	32 c0                	xor    %al,%al
405219:	c3                   	ret
40521a:	e8 1d 01 00 00       	call   0x40533c
40521f:	84 c0                	test   %al,%al
405221:	75 07                	jne    0x40522a
405223:	e8 cb 10 00 00       	call   0x4062f3
405228:	eb ed                	jmp    0x405217
40522a:	b0 01                	mov    $0x1,%al
40522c:	c3                   	ret
40522d:	55                   	push   %ebp
40522e:	8b ec                	mov    %esp,%ebp
405230:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)