40511f:	6a 03                	push   $0x3
405121:	58                   	pop    %eax
405122:	eb 0e                	jmp    0x405132
405124:	8b c1                	mov    %ecx,%eax
405126:	83 e0 01             	and    $0x1,%eax
405129:	40                   	inc    %eax
40512a:	f6 c1 10             	test   $0x10,%cl
40512d:	74 03                	je     0x405132
40512f:	83 c0 03             	add    $0x3,%eax
405132:	8b d1                	mov    %ecx,%edx
405134:	ff 75 bc             	push   -0x44(%ebp)
405137:	c1 e0 0b             	shl    $0xb,%eax
40513a:	83 e2 08             	and    $0x8,%edx
40513d:	0b c2                	or     %edx,%eax
40513f:	8b d1                	mov    %ecx,%edx
405141:	c1 f9 05             	sar    $0x5,%ecx
405144:	03 c0                	add    %eax,%eax
405146:	83 e2 20             	and    $0x20,%edx
405149:	83 e1 01             	and    $0x1,%ecx
40514c:	0b c2                	or     %edx,%eax
40514e:	41                   	inc    %ecx
40514f:	89 45 c0             	mov    %eax,-0x40(%ebp)
405152:	51                   	push   %ecx
405153:	68 02 11 00 00       	push   $0x1102
405158:	ff 75 fc             	push   -0x4(%ebp)
40515b:	ff d6                	call   *%esi
40515d:	8d 45 b8             	lea    -0x48(%ebp),%eax
405160:	50                   	push   %eax
405161:	53                   	push   %ebx
405162:	68 0d 11 00 00       	push   $0x110d
405167:	ff 75 fc             	push   -0x4(%ebp)
40516a:	ff d6                	call   *%esi
40516c:	ff 45 ec             	incl   -0x14(%ebp)
40516f:	81 c7 18 04 00 00    	add    $0x418,%edi
405175:	8b 45 ec             	mov    -0x14(%ebp),%eax
405178:	3b 05 6c f4 42 00    	cmp    0x42f46c,%eax
40517e:	0f 8c 67 ff ff ff    	jl     0x4050eb
405184:	6a 01                	push   $0x1
405186:	53                   	push   %ebx
405187:	ff 75 fc             	push   -0x4(%ebp)
40518a:	ff 15 fc 81 40 00    	call   *0x4081fc
405190:	a1 fc eb 42 00       	mov    0x42ebfc,%eax
405195:	39 58 10             	cmp    %ebx,0x10(%eax)
405198:	74 14                	je     0x4051ae
40519a:	6a 05                	push   $0x5
40519c:	e8 79 f9 ff ff       	call   0x404b1a
4051a1:	50                   	push   %eax
4051a2:	6a fb                	push   $0xfffffffb
4051a4:	68 ff 03 00 00       	push   $0x3ff
4051a9:	e8 54 f9 ff ff       	call   0x404b02
4051ae:	81 7d 0c 20 04 00 00 	cmpl   $0x420,0xc(%ebp)
4051b5:	75 35                	jne    0x4051ec
4051b7:	f6 05 3d f4 42 00 01 	testb  $0x1,0x42f43d
4051be:	74 2c                	je     0x4051ec
4051c0:	33 c0                	xor    %eax,%eax
4051c2:	83 7d 14 20          	cmpl   $0x20,0x14(%ebp)
4051c6:	8b 35 48 82 40 00    	mov    0x408248,%esi
4051cc:	0f 94 c0             	sete   %al
4051cf:	c1 e0 03             	shl    $0x3,%eax
4051d2:	8b f8                	mov    %eax,%edi
4051d4:	57                   	push   %edi
4051d5:	ff 75 fc             	push   -0x4(%ebp)
4051d8:	ff d6                	call   *%esi
4051da:	57                   	push   %edi
4051db:	68 fe 03 00 00       	push   $0x3fe
4051e0:	ff 75 08             	push   0x8(%ebp)
4051e3:	ff 15 d0 81 40 00    	call   *0x4081d0
4051e9:	50                   	push   %eax
4051ea:	ff d6                	call   *%esi
4051ec:	ff 75 14             	push   0x14(%ebp)
4051ef:	ff 75 10             	push   0x10(%ebp)
4051f2:	ff 75 0c             	push   0xc(%ebp)
4051f5:	e8 61 f0 ff ff       	call   0x40425b
4051fa:	5f                   	pop    %edi
4051fb:	5e                   	pop    %esi
4051fc:	5b                   	pop    %ebx
4051fd:	c9                   	leave
4051fe:	c2 10 00             	ret    $0x10
405201:	55                   	push   %ebp
405202:	8b ec                	mov    %esp,%ebp
405204:	53                   	push   %ebx
405205:	8b 5d 0c             	mov    0xc(%ebp),%ebx
405208:	81 fb 02 01 00 00    	cmp    $0x102,%ebx
40520e:	57                   	push   %edi
40520f:	75 14                	jne    0x405225
405211:	83 7d 10 20          	cmpl   $0x20,0x10(%ebp)
405215:	75 59                	jne    0x405270
405217:	68 13 04 00 00       	push   $0x413
40521c:	e8 1f f0 ff ff       	call   0x404240
405221:	33 c0                	xor    %eax,%eax
405223:	eb 62                	jmp    0x405287
405225:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
40522b:	75 20                	jne    0x40524d
40522d:	ff 75 08             	push   0x8(%ebp)
405230:	ff 15 b4 81 40 00    	call   *0x4081b4
405236:	85 c0                	test   %eax,%eax
405238:	74 36                	je     0x405270
40523a:	6a 01                	push   $0x1
40523c:	ff 75 08             	push   0x8(%ebp)
40523f:	e8 03 f9 ff ff       	call   0x404b47
405244:	8b f8                	mov    %eax,%edi
405246:	bb 19 04 00 00       	mov    $0x419,%ebx
40524b:	eb 03                	jmp    0x405250
40524d:	8b 7d 14             	mov    0x14(%ebp),%edi
405250:	81 fb 19 04 00 00    	cmp    $0x419,%ebx
405256:	75 1b                	jne    0x405273
405258:	39 3d 84 a8 42 00    	cmp    %edi,0x42a884
40525e:	74 13                	je     0x405273
405260:	57                   	push   %edi
405261:	6a 06                	push   $0x6
405263:	89 3d 84 a8 42 00    	mov    %edi,0x42a884
405269:	e8 59 f9 ff ff       	call   0x404bc7
40526e:	eb 03                	jmp    0x405273
405270:	8b 7d 14             	mov    0x14(%ebp),%edi
405273:	57                   	push   %edi
405274:	ff 75 10             	push   0x10(%ebp)
405277:	53                   	push   %ebx
405278:	ff 75 08             	push   0x8(%ebp)
40527b:	ff 35 8c a8 42 00    	push   0x42a88c
405281:	ff 15 b0 81 40 00    	call   *0x4081b0
405287:	5f                   	pop    %edi
405288:	5b                   	pop    %ebx
405289:	5d                   	pop    %ebp
40528a:	c2 10 00             	ret    $0x10
40528d:	55                   	push   %ebp
40528e:	8b ec                	mov    %esp,%ebp
405290:	83 ec 30             	sub    $0x30,%esp
405293:	a1 04 ec 42 00       	mov    0x42ec04,%eax
405298:	53                   	push   %ebx
405299:	33 db                	xor    %ebx,%ebx
40529b:	56                   	push   %esi
40529c:	3b c3                	cmp    %ebx,%eax
40529e:	57                   	push   %edi
40529f:	89 45 fc             	mov    %eax,-0x4(%ebp)
4052a2:	0f 84 b0 00 00 00    	je     0x405358
4052a8:	a1 f4 f4 42 00       	mov    0x42f4f4,%eax
4052ad:	be 78 a0 42 00       	mov    $0x42a078,%esi
4052b2:	8b f8                	mov    %eax,%edi
4052b4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4052b7:	83 e7 01             	and    $0x1,%edi
4052ba:	75 09                	jne    0x4052c5
4052bc:	ff 75 08             	push   0x8(%ebp)
4052bf:	56                   	push   %esi
4052c0:	e8 c3 0e 00 00       	call   0x406188
4052c5:	56                   	push   %esi
4052c6:	e8 b1 0e 00 00       	call   0x40617c
4052cb:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4052ce:	89 45 08             	mov    %eax,0x8(%ebp)
4052d1:	74 1b                	je     0x4052ee
4052d3:	ff 75 0c             	push   0xc(%ebp)
4052d6:	e8 a1 0e 00 00       	call   0x40617c
4052db:	03 45 08             	add    0x8(%ebp),%eax
4052de:	3d 00 08 00 00       	cmp    $0x800,%eax
4052e3:	73 73                	jae    0x405358
4052e5:	ff 75 0c             	push   0xc(%ebp)
4052e8:	56                   	push   %esi
4052e9:	e8 94 0e 00 00       	call   0x406182
4052ee:	f6 45 f8 04          	testb  $0x4,-0x8(%ebp)
4052f2:	75 0d                	jne    0x405301
4052f4:	56                   	push   %esi
4052f5:	ff 35 e8 eb 42 00    	push   0x42ebe8
4052fb:	ff 15 40 82 40 00    	call   *0x408240
405301:	f6 45 f8 02          	testb  $0x2,-0x8(%ebp)
405305:	75 44                	jne    0x40534b
405307:	53                   	push   %ebx
405308:	53                   	push   %ebx
405309:	68 04 10 00 00       	push   $0x1004
40530e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
405311:	ff 75 fc             	push   -0x4(%ebp)
405314:	8b 35 00 82 40 00    	mov    0x408200,%esi
40531a:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
405321:	ff d6                	call   *%esi
405323:	2b c7                	sub    %edi,%eax
405325:	89 5d d8             	mov    %ebx,-0x28(%ebp)
405328:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40532b:	8d 45 d0             	lea    -0x30(%ebp),%eax
40532e:	50                   	push   %eax
40532f:	b8 07 10 00 00       	mov    $0x1007,%eax
405334:	2b c7                	sub    %edi,%eax
405336:	53                   	push   %ebx
405337:	50                   	push   %eax
405338:	ff 75 fc             	push   -0x4(%ebp)
40533b:	ff d6                	call   *%esi
40533d:	53                   	push   %ebx
40533e:	ff 75 d4             	push   -0x2c(%ebp)
405341:	68 13 10 00 00       	push   $0x1013
405346:	ff 75 fc             	push   -0x4(%ebp)
405349:	ff d6                	call   *%esi
40534b:	3b fb                	cmp    %ebx,%edi
40534d:	74 09                	je     0x405358
40534f:	8b 45 08             	mov    0x8(%ebp),%eax
405352:	88 98 78 a0 42 00    	mov    %bl,0x42a078(%eax)
405358:	5f                   	pop    %edi
405359:	5e                   	pop    %esi
40535a:	5b                   	pop    %ebx
40535b:	c9                   	leave
40535c:	c2 08 00             	ret    $0x8
40535f:	56                   	push   %esi
405360:	8b 35 68 f4 42 00    	mov    0x42f468,%esi
405366:	57                   	push   %edi
405367:	8b 3d 6c f4 42 00    	mov    0x42f46c,%edi
40536d:	6a 00                	push   $0x0
40536f:	ff 15 84 82 40 00    	call   *0x408284
405375:	09 05 f8 f4 42 00    	or     %eax,0x42f4f8
40537b:	6a 00                	push   $0x0
40537d:	e8 be ee ff ff       	call   0x404240
405382:	85 ff                	test   %edi,%edi
405384:	74 2b                	je     0x4053b1
405386:	83 c6 0c             	add    $0xc,%esi
405389:	4f                   	dec    %edi
40538a:	f6 46 fc 01          	testb  $0x1,-0x4(%esi)
40538e:	74 0f                	je     0x40539f
405390:	ff 74 24 0c          	push   0xc(%esp)
405394:	ff 36                	push   (%esi)
405396:	e8 ee bf ff ff       	call   0x401389
40539b:	85 c0                	test   %eax,%eax
40539d:	75 0c                	jne    0x4053ab
40539f:	81 c6 18 04 00 00    	add    $0x418,%esi
4053a5:	85 ff                	test   %edi,%edi
4053a7:	75 e0                	jne    0x405389
4053a9:	eb 06                	jmp    0x4053b1
4053ab:	ff 05 cc f4 42 00    	incl   0x42f4cc
4053b1:	68 04 04 00 00       	push   $0x404
4053b6:	e8 85 ee ff ff       	call   0x404240
4053bb:	ff 15 80 82 40 00    	call   *0x408280
4053c1:	a1 cc f4 42 00       	mov    0x42f4cc,%eax
4053c6:	5f                   	pop    %edi
4053c7:	5e                   	pop    %esi
4053c8:	c2 04 00             	ret    $0x4
4053cb:	55                   	push   %ebp
4053cc:	8b ec                	mov    %esp,%ebp
4053ce:	83 ec 3c             	sub    $0x3c,%esp
4053d1:	a1 04 ec 42 00       	mov    0x42ec04,%eax
4053d6:	53                   	push   %ebx
4053d7:	56                   	push   %esi
4053d8:	57                   	push   %edi
4053d9:	8b 7d 0c             	mov    0xc(%ebp),%edi
4053dc:	33 db                	xor    %ebx,%ebx
4053de:	81 ff 10 01 00 00    	cmp    $0x110,%edi
4053e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4053e7:	0f 85 89 01 00 00    	jne    0x405576
4053ed:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
4053f1:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
4053f5:	6a 02                	push   $0x2
4053f7:	33 c0                	xor    %eax,%eax
4053f9:	5e                   	pop    %esi
4053fa:	8d 7d e4             	lea    -0x1c(%ebp),%edi
4053fd:	89 75 cc             	mov    %esi,-0x34(%ebp)
405400:	89 5d d0             	mov    %ebx,-0x30(%ebp)
405403:	89 5d d8             	mov    %ebx,-0x28(%ebp)
405406:	89 5d dc             	mov    %ebx,-0x24(%ebp)
405409:	ab                   	stos   %eax,%es:(%edi)
40540a:	ab                   	stos   %eax,%es:(%edi)
40540b:	a1 34 f4 42 00       	mov    0x42f434,%eax
405410:	8b 3d d0 81 40 00    	mov    0x4081d0,%edi
405416:	68 03 04 00 00       	push   $0x403
40541b:	8b 48 5c             	mov    0x5c(%eax),%ecx
40541e:	8b 40 60             	mov    0x60(%eax),%eax
405421:	ff 75 08             	push   0x8(%ebp)
405424:	89 4d 10             	mov    %ecx,0x10(%ebp)
405427:	89 45 0c             	mov    %eax,0xc(%ebp)
40542a:	ff d7                	call   *%edi
40542c:	68 ee 03 00 00       	push   $0x3ee
405431:	a3 f0 eb 42 00       	mov    %eax,0x42ebf0
405436:	ff 75 08             	push   0x8(%ebp)
405439:	ff d7                	call   *%edi
40543b:	68 f8 03 00 00       	push   $0x3f8
405440:	a3 e8 eb 42 00       	mov    %eax,0x42ebe8
405445:	ff 75 08             	push   0x8(%ebp)
405448:	ff d7                	call   *%edi
40544a:	ff 35 f0 eb 42 00    	push   0x42ebf0
405450:	a3 04 ec 42 00       	mov    %eax,0x42ec04
405455:	89 45 fc             	mov    %eax,-0x4(%ebp)
405458:	e8 cc ed ff ff       	call   0x404229
40545d:	6a 04                	push   $0x4
40545f:	e8 b6 f6 ff ff       	call   0x404b1a
405464:	a3 f4 eb 42 00       	mov    %eax,0x42ebf4
405469:	8d 45 ec             	lea    -0x14(%ebp),%eax
40546c:	50                   	push   %eax
40546d:	89 1d 0c ec 42 00    	mov    %ebx,0x42ec0c
405473:	ff 75 fc             	push   -0x4(%ebp)
405476:	ff 15 0c 82 40 00    	call   *0x40820c
40547c:	56                   	push   %esi
40547d:	ff 15 d4 81 40 00    	call   *0x4081d4
405483:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405486:	8b 35 00 82 40 00    	mov    0x408200,%esi
40548c:	2b c8                	sub    %eax,%ecx
40548e:	8d 45 cc             	lea    -0x34(%ebp),%eax
405491:	50                   	push   %eax
405492:	53                   	push   %ebx
405493:	68 1b 10 00 00       	push   $0x101b
405498:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40549b:	ff 75 fc             	push   -0x4(%ebp)
40549e:	ff d6                	call   *%esi
4054a0:	b8 00 40 00 00       	mov    $0x4000,%eax
4054a5:	50                   	push   %eax
4054a6:	50                   	push   %eax
4054a7:	68 36 10 00 00       	push   $0x1036
4054ac:	ff 75 fc             	push   -0x4(%ebp)
4054af:	ff d6                	call   *%esi
4054b1:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4054b4:	7c 1c                	jl     0x4054d2
4054b6:	ff 75 10             	push   0x10(%ebp)
4054b9:	53                   	push   %ebx
4054ba:	68 01 10 00 00       	push   $0x1001
4054bf:	ff 75 fc             	push   -0x4(%ebp)
4054c2:	ff d6                	call   *%esi
4054c4:	ff 75 10             	push   0x10(%ebp)
4054c7:	53                   	push   %ebx
4054c8:	68 26 10 00 00       	push   $0x1026
4054cd:	ff 75 fc             	push   -0x4(%ebp)
4054d0:	ff d6                	call   *%esi
4054d2:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4054d5:	7c 0e                	jl     0x4054e5
4054d7:	ff 75 0c             	push   0xc(%ebp)
4054da:	53                   	push   %ebx
4054db:	68 24 10 00 00       	push   $0x1024
4054e0:	ff 75 fc             	push   -0x4(%ebp)
4054e3:	ff d6                	call   *%esi
4054e5:	8b 45 14             	mov    0x14(%ebp),%eax
4054e8:	ff 70 30             	push   0x30(%eax)
4054eb:	6a 1b                	push   $0x1b
4054ed:	ff 75 08             	push   0x8(%ebp)
4054f0:	e8 ff ec ff ff       	call   0x4041f4
4054f5:	f6 05 3c f4 42 00 03 	testb  $0x3,0x42f43c
4054fc:	74 34                	je     0x405532
4054fe:	53                   	push   %ebx
4054ff:	ff 35 f0 eb 42 00    	push   0x42ebf0
405505:	ff 15 48 82 40 00    	call   *0x408248
40550b:	f6 05 3c f4 42 00 02 	testb  $0x2,0x42f43c
405512:	75 0d                	jne    0x405521
405514:	6a 08                	push   $0x8
405516:	ff 75 fc             	push   -0x4(%ebp)
405519:	ff 15 48 82 40 00    	call   *0x408248
40551f:	eb 06                	jmp    0x405527
405521:	89 1d f0 eb 42 00    	mov    %ebx,0x42ebf0
405527:	ff 35 e8 eb 42 00    	push   0x42ebe8
40552d:	e8 f7 ec ff ff       	call   0x404229
405532:	68 ec 03 00 00       	push   $0x3ec
405537:	ff 75 08             	push   0x8(%ebp)
40553a:	ff d7                	call   *%edi
40553c:	68 00 00 30 75       	push   $0x75300000
405541:	8b f8                	mov    %eax,%edi
405543:	53                   	push   %ebx
405544:	68 01 04 00 00       	push   $0x401
405549:	57                   	push   %edi
40554a:	ff d6                	call   *%esi
40554c:	f6 05 3c f4 42 00 04 	testb  $0x4,0x42f43c
405553:	0f 84 f3 01 00 00    	je     0x40574c
405559:	ff 75 0c             	push   0xc(%ebp)