404edb:	57                   	push   %edi
404edc:	56                   	push   %esi
404edd:	e8 84 0c 00 00       	call   0x405b66
404ee2:	5f                   	pop    %edi
404ee3:	eb 03                	jmp    0x404ee8
404ee5:	8b 5d 14             	mov    0x14(%ebp),%ebx
404ee8:	53                   	push   %ebx
404ee9:	ff 75 10             	push   0x10(%ebp)
404eec:	ff 75 0c             	push   0xc(%ebp)
404eef:	ff 75 08             	push   0x8(%ebp)
404ef2:	ff 35 90 04 42 00    	push   0x420490
404ef8:	ff 15 a8 71 40 00    	call   *0x4071a8
404efe:	5e                   	pop    %esi
404eff:	5b                   	pop    %ebx
404f00:	5d                   	pop    %ebp
404f01:	c2 10 00             	ret    $0x10
404f04:	55                   	push   %ebp
404f05:	8b ec                	mov    %esp,%ebp
404f07:	83 ec 30             	sub    $0x30,%esp
404f0a:	a1 84 36 42 00       	mov    0x423684,%eax
404f0f:	53                   	push   %ebx
404f10:	33 db                	xor    %ebx,%ebx
404f12:	56                   	push   %esi
404f13:	3b c3                	cmp    %ebx,%eax
404f15:	57                   	push   %edi
404f16:	89 45 fc             	mov    %eax,-0x4(%ebp)
404f19:	0f 84 b0 00 00 00    	je     0x404fcf
404f1f:	a1 54 3f 42 00       	mov    0x423f54,%eax
404f24:	be 78 fc 41 00       	mov    $0x41fc78,%esi
404f29:	8b f8                	mov    %eax,%edi
404f2b:	89 45 f8             	mov    %eax,-0x8(%ebp)
404f2e:	83 e7 01             	and    $0x1,%edi
404f31:	75 09                	jne    0x404f3c
404f33:	ff 75 08             	push   0x8(%ebp)
404f36:	56                   	push   %esi
404f37:	e8 4c 0c 00 00       	call   0x405b88
404f3c:	56                   	push   %esi
404f3d:	e8 3a 0c 00 00       	call   0x405b7c
404f42:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
404f45:	89 45 08             	mov    %eax,0x8(%ebp)
404f48:	74 1b                	je     0x404f65
404f4a:	ff 75 0c             	push   0xc(%ebp)
404f4d:	e8 2a 0c 00 00       	call   0x405b7c
404f52:	03 45 08             	add    0x8(%ebp),%eax
404f55:	3d 00 08 00 00       	cmp    $0x800,%eax
404f5a:	73 73                	jae    0x404fcf
404f5c:	ff 75 0c             	push   0xc(%ebp)
404f5f:	56                   	push   %esi
404f60:	e8 1d 0c 00 00       	call   0x405b82
404f65:	f6 45 f8 04          	testb  $0x4,-0x8(%ebp)
404f69:	75 0d                	jne    0x404f78
404f6b:	56                   	push   %esi
404f6c:	ff 35 68 36 42 00    	push   0x423668
404f72:	ff 15 f4 71 40 00    	call   *0x4071f4
404f78:	f6 45 f8 02          	testb  $0x2,-0x8(%ebp)
404f7c:	75 44                	jne    0x404fc2
404f7e:	53                   	push   %ebx
404f7f:	53                   	push   %ebx
404f80:	68 04 10 00 00       	push   $0x1004
404f85:	89 75 e4             	mov    %esi,-0x1c(%ebp)
404f88:	ff 75 fc             	push   -0x4(%ebp)
404f8b:	8b 35 44 72 40 00    	mov    0x407244,%esi
404f91:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
404f98:	ff d6                	call   *%esi
404f9a:	2b c7                	sub    %edi,%eax
404f9c:	89 5d d8             	mov    %ebx,-0x28(%ebp)
404f9f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404fa2:	8d 45 d0             	lea    -0x30(%ebp),%eax
404fa5:	50                   	push   %eax
404fa6:	b8 07 10 00 00       	mov    $0x1007,%eax
404fab:	2b c7                	sub    %edi,%eax
404fad:	53                   	push   %ebx
404fae:	50                   	push   %eax
404faf:	ff 75 fc             	push   -0x4(%ebp)
404fb2:	ff d6                	call   *%esi
404fb4:	53                   	push   %ebx
404fb5:	ff 75 d4             	push   -0x2c(%ebp)
404fb8:	68 13 10 00 00       	push   $0x1013
404fbd:	ff 75 fc             	push   -0x4(%ebp)
404fc0:	ff d6                	call   *%esi
404fc2:	3b fb                	cmp    %ebx,%edi
404fc4:	74 09                	je     0x404fcf
404fc6:	8b 45 08             	mov    0x8(%ebp),%eax
404fc9:	88 98 78 fc 41 00    	mov    %bl,0x41fc78(%eax)
404fcf:	5f                   	pop    %edi
404fd0:	5e                   	pop    %esi
404fd1:	5b                   	pop    %ebx
404fd2:	c9                   	leave
404fd3:	c2 08 00             	ret    $0x8
404fd6:	56                   	push   %esi
404fd7:	8b 35 c8 3e 42 00    	mov    0x423ec8,%esi
404fdd:	57                   	push   %edi
404fde:	8b 3d cc 3e 42 00    	mov    0x423ecc,%edi
404fe4:	6a 00                	push   $0x0
404fe6:	ff 15 7c 72 40 00    	call   *0x40727c
404fec:	09 05 58 3f 42 00    	or     %eax,0x423f58
404ff2:	6a 00                	push   $0x0
404ff4:	e8 6b ef ff ff       	call   0x403f64
404ff9:	85 ff                	test   %edi,%edi
404ffb:	74 2b                	je     0x405028
404ffd:	83 c6 0c             	add    $0xc,%esi
405000:	4f                   	dec    %edi
405001:	f6 46 fc 01          	testb  $0x1,-0x4(%esi)
405005:	74 0f                	je     0x405016
405007:	ff 74 24 0c          	push   0xc(%esp)
40500b:	ff 36                	push   (%esi)
40500d:	e8 77 c3 ff ff       	call   0x401389
405012:	85 c0                	test   %eax,%eax
405014:	75 0c                	jne    0x405022
405016:	81 c6 18 04 00 00    	add    $0x418,%esi
40501c:	85 ff                	test   %edi,%edi
40501e:	75 e0                	jne    0x405000
405020:	eb 06                	jmp    0x405028
405022:	ff 05 2c 3f 42 00    	incl   0x423f2c
405028:	68 04 04 00 00       	push   $0x404
40502d:	e8 32 ef ff ff       	call   0x403f64
405032:	ff 15 80 72 40 00    	call   *0x407280
405038:	a1 2c 3f 42 00       	mov    0x423f2c,%eax
40503d:	5f                   	pop    %edi
40503e:	5e                   	pop    %esi
40503f:	c2 04 00             	ret    $0x4
405042:	55                   	push   %ebp
405043:	8b ec                	mov    %esp,%ebp
405045:	83 ec 40             	sub    $0x40,%esp
405048:	53                   	push   %ebx
405049:	56                   	push   %esi
40504a:	57                   	push   %edi
40504b:	8b 3d 84 36 42 00    	mov    0x423684,%edi
405051:	33 db                	xor    %ebx,%ebx
405053:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
40505a:	89 7d fc             	mov    %edi,-0x4(%ebp)
40505d:	0f 85 8b 01 00 00    	jne    0x4051ee
405063:	83 4d d0 ff          	orl    $0xffffffff,-0x30(%ebp)
405067:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
40506b:	33 c0                	xor    %eax,%eax
40506d:	8d 7d e0             	lea    -0x20(%ebp),%edi
405070:	c7 45 c8 02 00 00 00 	movl   $0x2,-0x38(%ebp)
405077:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40507a:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
40507d:	89 5d d8             	mov    %ebx,-0x28(%ebp)
405080:	ab                   	stos   %eax,%es:(%edi)
405081:	ab                   	stos   %eax,%es:(%edi)
405082:	a1 b0 3e 42 00       	mov    0x423eb0,%eax
405087:	8b 3d 2c 72 40 00    	mov    0x40722c,%edi
40508d:	68 03 04 00 00       	push   $0x403
405092:	8b 48 5c             	mov    0x5c(%eax),%ecx
405095:	8b 40 60             	mov    0x60(%eax),%eax
405098:	ff 75 08             	push   0x8(%ebp)
40509b:	89 4d 0c             	mov    %ecx,0xc(%ebp)
40509e:	89 45 10             	mov    %eax,0x10(%ebp)
4050a1:	ff d7                	call   *%edi
4050a3:	68 ee 03 00 00       	push   $0x3ee
4050a8:	a3 70 36 42 00       	mov    %eax,0x423670
4050ad:	ff 75 08             	push   0x8(%ebp)
4050b0:	ff d7                	call   *%edi
4050b2:	68 f8 03 00 00       	push   $0x3f8
4050b7:	a3 68 36 42 00       	mov    %eax,0x423668
4050bc:	ff 75 08             	push   0x8(%ebp)
4050bf:	ff d7                	call   *%edi
4050c1:	ff 35 70 36 42 00    	push   0x423670
4050c7:	a3 84 36 42 00       	mov    %eax,0x423684
4050cc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4050cf:	e8 79 ee ff ff       	call   0x403f4d
4050d4:	6a 04                	push   $0x4
4050d6:	e8 cb f6 ff ff       	call   0x4047a6
4050db:	a3 74 36 42 00       	mov    %eax,0x423674
4050e0:	8d 45 e8             	lea    -0x18(%ebp),%eax
4050e3:	50                   	push   %eax
4050e4:	89 1d 8c 36 42 00    	mov    %ebx,0x42368c
4050ea:	ff 75 fc             	push   -0x4(%ebp)
4050ed:	ff 15 50 72 40 00    	call   *0x407250
4050f3:	6a 15                	push   $0x15
4050f5:	ff 15 cc 71 40 00    	call   *0x4071cc
4050fb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4050fe:	8b 35 44 72 40 00    	mov    0x407244,%esi
405104:	2b c8                	sub    %eax,%ecx
405106:	8d 45 c8             	lea    -0x38(%ebp),%eax
405109:	50                   	push   %eax
40510a:	53                   	push   %ebx
40510b:	68 1b 10 00 00       	push   $0x101b
405110:	89 4d d0             	mov    %ecx,-0x30(%ebp)
405113:	ff 75 fc             	push   -0x4(%ebp)
405116:	ff d6                	call   *%esi
405118:	b8 00 40 00 00       	mov    $0x4000,%eax
40511d:	50                   	push   %eax
40511e:	50                   	push   %eax
40511f:	68 36 10 00 00       	push   $0x1036
405124:	ff 75 fc             	push   -0x4(%ebp)
405127:	ff d6                	call   *%esi
405129:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
40512c:	7c 1c                	jl     0x40514a
40512e:	ff 75 0c             	push   0xc(%ebp)
405131:	53                   	push   %ebx
405132:	68 01 10 00 00       	push   $0x1001
405137:	ff 75 fc             	push   -0x4(%ebp)
40513a:	ff d6                	call   *%esi
40513c:	ff 75 0c             	push   0xc(%ebp)
40513f:	53                   	push   %ebx
405140:	68 26 10 00 00       	push   $0x1026
405145:	ff 75 fc             	push   -0x4(%ebp)
405148:	ff d6                	call   *%esi
40514a:	39 5d 10             	cmp    %ebx,0x10(%ebp)
40514d:	7c 0e                	jl     0x40515d
40514f:	ff 75 10             	push   0x10(%ebp)
405152:	53                   	push   %ebx
405153:	68 24 10 00 00       	push   $0x1024
405158:	ff 75 fc             	push   -0x4(%ebp)
40515b:	ff d6                	call   *%esi
40515d:	8b 45 14             	mov    0x14(%ebp),%eax
405160:	ff 70 30             	push   0x30(%eax)
405163:	6a 1b                	push   $0x1b
405165:	ff 75 08             	push   0x8(%ebp)
405168:	e8 ab ed ff ff       	call   0x403f18
40516d:	f6 05 b8 3e 42 00 03 	testb  $0x3,0x423eb8
405174:	74 34                	je     0x4051aa
405176:	53                   	push   %ebx
405177:	ff 35 70 36 42 00    	push   0x423670
40517d:	ff 15 60 72 40 00    	call   *0x407260
405183:	f6 05 b8 3e 42 00 02 	testb  $0x2,0x423eb8
40518a:	75 0d                	jne    0x405199
40518c:	6a 08                	push   $0x8
40518e:	ff 75 fc             	push   -0x4(%ebp)
405191:	ff 15 60 72 40 00    	call   *0x407260
405197:	eb 06                	jmp    0x40519f
405199:	89 1d 70 36 42 00    	mov    %ebx,0x423670
40519f:	ff 35 68 36 42 00    	push   0x423668
4051a5:	e8 a3 ed ff ff       	call   0x403f4d
4051aa:	68 ec 03 00 00       	push   $0x3ec
4051af:	ff 75 08             	push   0x8(%ebp)
4051b2:	ff d7                	call   *%edi
4051b4:	68 00 00 30 75       	push   $0x75300000
4051b9:	8b f8                	mov    %eax,%edi
4051bb:	53                   	push   %ebx
4051bc:	68 01 04 00 00       	push   $0x401
4051c1:	57                   	push   %edi
4051c2:	ff d6                	call   *%esi
4051c4:	f6 05 b8 3e 42 00 04 	testb  $0x4,0x423eb8
4051cb:	0f 84 ee 01 00 00    	je     0x4053bf
4051d1:	ff 75 10             	push   0x10(%ebp)
4051d4:	53                   	push   %ebx
4051d5:	68 09 04 00 00       	push   $0x409
4051da:	57                   	push   %edi
4051db:	ff d6                	call   *%esi
4051dd:	ff 75 0c             	push   0xc(%ebp)
4051e0:	53                   	push   %ebx
4051e1:	68 01 20 00 00       	push   $0x2001
4051e6:	57                   	push   %edi
4051e7:	ff d6                	call   *%esi
4051e9:	e9 d1 01 00 00       	jmp    0x4053bf
4051ee:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
4051f5:	75 28                	jne    0x40521f
4051f7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4051fa:	50                   	push   %eax
4051fb:	53                   	push   %ebx
4051fc:	68 ec 03 00 00       	push   $0x3ec
405201:	ff 75 08             	push   0x8(%ebp)
405204:	ff 15 2c 72 40 00    	call   *0x40722c
40520a:	50                   	push   %eax
40520b:	68 d6 4f 40 00       	push   $0x404fd6
405210:	53                   	push   %ebx
405211:	53                   	push   %ebx
405212:	ff 15 cc 70 40 00    	call   *0x4070cc
405218:	50                   	push   %eax
405219:	ff 15 ec 70 40 00    	call   *0x4070ec
40521f:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
405226:	8b 35 60 72 40 00    	mov    0x407260,%esi
40522c:	75 1c                	jne    0x40524a
40522e:	66 81 7d 10 03 04    	cmpw   $0x403,0x10(%ebp)
405234:	75 36                	jne    0x40526c
405236:	53                   	push   %ebx
405237:	ff 35 70 36 42 00    	push   0x423670
40523d:	ff d6                	call   *%esi
40523f:	6a 08                	push   $0x8
405241:	57                   	push   %edi
405242:	ff d6                	call   *%esi
405244:	57                   	push   %edi
405245:	e8 03 ed ff ff       	call   0x403f4d
40524a:	81 7d 0c 04 04 00 00 	cmpl   $0x404,0xc(%ebp)
405251:	75 55                	jne    0x4052a8
405253:	39 1d 6c 36 42 00    	cmp    %ebx,0x42366c
405259:	74 26                	je     0x405281
40525b:	6a 78                	push   $0x78
40525d:	c7 05 68 f8 41 00 02 	movl   $0x2,0x41f868
405264:	00 00 00
405267:	e8 85 ec ff ff       	call   0x403ef1
40526c:	ff 75 14             	push   0x14(%ebp)
40526f:	ff 75 10             	push   0x10(%ebp)
405272:	ff 75 0c             	push   0xc(%ebp)
405275:	e8 05 ed ff ff       	call   0x403f7f
40527a:	5f                   	pop    %edi
40527b:	5e                   	pop    %esi
40527c:	5b                   	pop    %ebx
40527d:	c9                   	leave
40527e:	c2 10 00             	ret    $0x10
405281:	6a 08                	push   $0x8
405283:	ff 35 a8 3e 42 00    	push   0x423ea8
405289:	ff d6                	call   *%esi
40528b:	39 1d 2c 3f 42 00    	cmp    %ebx,0x423f2c
405291:	75 0e                	jne    0x4052a1
405293:	a1 70 fc 41 00       	mov    0x41fc70,%eax
405298:	53                   	push   %ebx
405299:	ff 70 34             	push   0x34(%eax)
40529c:	e8 63 fc ff ff       	call   0x404f04
4052a1:	6a 01                	push   $0x1
4052a3:	e8 49 ec ff ff       	call   0x403ef1
4052a8:	83 7d 0c 7b          	cmpl   $0x7b,0xc(%ebp)
4052ac:	75 be                	jne    0x40526c
4052ae:	39 7d 10             	cmp    %edi,0x10(%ebp)
4052b1:	75 b9                	jne    0x40526c
4052b3:	53                   	push   %ebx
4052b4:	53                   	push   %ebx
4052b5:	68 04 10 00 00       	push   $0x1004
4052ba:	57                   	push   %edi
4052bb:	ff 15 44 72 40 00    	call   *0x407244
4052c1:	3b c3                	cmp    %ebx,%eax
4052c3:	89 45 0c             	mov    %eax,0xc(%ebp)
4052c6:	0f 8e f3 00 00 00    	jle    0x4053bf
4052cc:	ff 15 c8 71 40 00    	call   *0x4071c8
4052d2:	6a e1                	push   $0xffffffe1
4052d4:	53                   	push   %ebx
4052d5:	8b f0                	mov    %eax,%esi
4052d7:	e8 ac 08 00 00       	call   0x405b88
4052dc:	50                   	push   %eax
4052dd:	6a 01                	push   $0x1
4052df:	53                   	push   %ebx
4052e0:	56                   	push   %esi
4052e1:	ff 15 c4 71 40 00    	call   *0x4071c4
4052e7:	8b 45 14             	mov    0x14(%ebp),%eax
4052ea:	83 f8 ff             	cmp    $0xffffffff,%eax
4052ed:	75 13                	jne    0x405302
4052ef:	8d 45 e8             	lea    -0x18(%ebp),%eax
4052f2:	50                   	push   %eax
4052f3:	57                   	push   %edi
4052f4:	ff 15 74 71 40 00    	call   *0x407174
4052fa:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4052fd:	8b 45 ec             	mov    -0x14(%ebp),%eax
405300:	eb 09                	jmp    0x40530b
405302:	0f bf c8             	movswl %ax,%ecx
405305:	c1 e8 10             	shr    $0x10,%eax
405308:	0f bf c0             	movswl %ax,%eax
40530b:	53                   	push   %ebx
40530c:	ff 75 08             	push   0x8(%ebp)
40530f:	53                   	push   %ebx
405310:	50                   	push   %eax
405311:	51                   	push   %ecx
405312:	68 80 01 00 00       	push   $0x180
405317:	56                   	push   %esi
405318:	ff 15 c0 71 40 00    	call   *0x4071c0
40531e:	33 f6                	xor    %esi,%esi
405320:	46                   	inc    %esi