40417e:	73 09                	jae    0x404189
404180:	83 f8 01             	cmp    $0x1,%eax
404183:	74 cb                	je     0x404150
404185:	3b c3                	cmp    %ebx,%eax
404187:	74 c7                	je     0x404150
404189:	83 f8 01             	cmp    $0x1,%eax
40418c:	74 20                	je     0x4041ae
40418e:	3b c3                	cmp    %ebx,%eax
404190:	74 1c                	je     0x4041ae
404192:	8b 4c 24 14          	mov    0x14(%esp),%ecx
404196:	8b 94 24 08 15 00 00 	mov    0x1508(%esp),%edx
40419d:	51                   	push   %ecx
40419e:	68 58 c4 45 00       	push   $0x45c458
4041a3:	52                   	push   %edx
4041a4:	e8 09 c0 02 00       	call   0x4301b2
4041a9:	83 c4 0c             	add    $0xc,%esp
4041ac:	eb 1d                	jmp    0x4041cb
4041ae:	8b 84 24 08 15 00 00 	mov    0x1508(%esp),%eax
4041b5:	68 28 c4 45 00       	push   $0x45c428
4041ba:	50                   	push   %eax
4041bb:	c7 44 24 18 fb ff ff 	movl   $0xfffffffb,0x18(%esp)
4041c2:	ff
4041c3:	e8 ea bf 02 00       	call   0x4301b2
4041c8:	83 c4 08             	add    $0x8,%esp
4041cb:	81 fe 02 01 00 00    	cmp    $0x102,%esi
4041d1:	0f 85 c4 00 00 00    	jne    0x40429b
4041d7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4041db:	51                   	push   %ecx
4041dc:	e8 2f de ff ff       	call   0x402010
4041e1:	83 c4 04             	add    $0x4,%esp
4041e4:	e9 b2 00 00 00       	jmp    0x40429b
4041e9:	8b 54 24 18          	mov    0x18(%esp),%edx
4041ed:	68 20 4e 00 00       	push   $0x4e20
4041f2:	52                   	push   %edx
4041f3:	ff 15 80 34 47 00    	call   *0x473480
4041f9:	3d 02 01 00 00       	cmp    $0x102,%eax
4041fe:	75 3c                	jne    0x40423c
404200:	3b fb                	cmp    %ebx,%edi
404202:	74 13                	je     0x404217
404204:	3b eb                	cmp    %ebx,%ebp
404206:	74 0f                	je     0x404217
404208:	c7 44 24 10 fa ff ff 	movl   $0xfffffffa,0x10(%esp)
40420f:	ff
404210:	68 10 c4 45 00       	push   $0x45c410
404215:	eb 0d                	jmp    0x404224
404217:	c7 44 24 10 ff ff ff 	movl   $0xffffffff,0x10(%esp)
40421e:	ff
40421f:	68 00 c4 45 00       	push   $0x45c400
404224:	56                   	push   %esi
404225:	e8 88 bf 02 00       	call   0x4301b2
40422a:	8b 44 24 28          	mov    0x28(%esp),%eax
40422e:	83 c4 08             	add    $0x8,%esp
404231:	50                   	push   %eax
404232:	e8 d9 dd ff ff       	call   0x402010
404237:	83 c4 04             	add    $0x4,%esp
40423a:	eb 5f                	jmp    0x40429b
40423c:	8b 54 24 18          	mov    0x18(%esp),%edx
404240:	8d 4c 24 14          	lea    0x14(%esp),%ecx
404244:	51                   	push   %ecx
404245:	52                   	push   %edx
404246:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
40424a:	ff 15 7c 34 47 00    	call   *0x47347c
404250:	8b 44 24 14          	mov    0x14(%esp),%eax
404254:	3b c3                	cmp    %ebx,%eax
404256:	74 2d                	je     0x404285
404258:	83 f8 ff             	cmp    $0xffffffff,%eax
40425b:	75 0f                	jne    0x40426c
40425d:	c7 44 24 10 fd ff ff 	movl   $0xfffffffd,0x10(%esp)
404264:	ff
404265:	68 e0 c3 45 00       	push   $0x45c3e0
40426a:	eb 26                	jmp    0x404292
40426c:	50                   	push   %eax
40426d:	68 c8 c3 45 00       	push   $0x45c3c8
404272:	56                   	push   %esi
404273:	c7 44 24 1c fe ff ff 	movl   $0xfffffffe,0x1c(%esp)
40427a:	ff
40427b:	e8 32 bf 02 00       	call   0x4301b2
404280:	83 c4 0c             	add    $0xc,%esp
404283:	eb 16                	jmp    0x40429b
404285:	3b fb                	cmp    %ebx,%edi
404287:	74 12                	je     0x40429b
404289:	3b eb                	cmp    %ebx,%ebp
40428b:	74 0e                	je     0x40429b
40428d:	68 ac c3 45 00       	push   $0x45c3ac
404292:	56                   	push   %esi
404293:	e8 1a bf 02 00       	call   0x4301b2
404298:	83 c4 08             	add    $0x8,%esp
40429b:	8b 44 24 18          	mov    0x18(%esp),%eax
40429f:	8b 35 2c 34 47 00    	mov    0x47342c,%esi
4042a5:	50                   	push   %eax
4042a6:	ff d6                	call   *%esi
4042a8:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4042ac:	51                   	push   %ecx
4042ad:	ff d6                	call   *%esi
4042af:	8d 54 24 6c          	lea    0x6c(%esp),%edx
4042b3:	52                   	push   %edx
4042b4:	68 24 c2 45 00       	push   $0x45c224
4042b9:	8d 84 24 dc 08 00 00 	lea    0x8dc(%esp),%eax
4042c0:	68 04 01 00 00       	push   $0x104
4042c5:	50                   	push   %eax
4042c6:	e8 94 c3 02 00       	call   0x43065f
4042cb:	83 c4 10             	add    $0x10,%esp
4042ce:	8d 94 24 7c 04 00 00 	lea    0x47c(%esp),%edx
4042d5:	52                   	push   %edx
4042d6:	8d 84 24 d8 08 00 00 	lea    0x8d8(%esp),%eax
4042dd:	33 c9                	xor    %ecx,%ecx
4042df:	50                   	push   %eax
4042e0:	66 89 8c 24 e2 0a 00 	mov    %cx,0xae2(%esp)
4042e7:	00
4042e8:	ff 15 50 34 47 00    	call   *0x473450
4042ee:	8b f0                	mov    %eax,%esi
4042f0:	83 fe ff             	cmp    $0xffffffff,%esi
4042f3:	0f 84 e6 00 00 00    	je     0x4043df
4042f9:	8b 2d 74 34 47 00    	mov    0x473474,%ebp
4042ff:	90                   	nop
404300:	b9 20 c2 45 00       	mov    $0x45c220,%ecx
404305:	8d 84 24 a8 04 00 00 	lea    0x4a8(%esp),%eax
40430c:	8d 64 24 00          	lea    0x0(%esp),%esp
404310:	66 8b 10             	mov    (%eax),%dx
404313:	66 3b 11             	cmp    (%ecx),%dx
404316:	75 1e                	jne    0x404336
404318:	66 3b d3             	cmp    %bx,%dx
40431b:	74 15                	je     0x404332
40431d:	66 8b 50 02          	mov    0x2(%eax),%dx
404321:	66 3b 51 02          	cmp    0x2(%ecx),%dx
404325:	75 0f                	jne    0x404336
404327:	83 c0 04             	add    $0x4,%eax
40432a:	83 c1 04             	add    $0x4,%ecx
40432d:	66 3b d3             	cmp    %bx,%dx
404330:	75 de                	jne    0x404310
404332:	33 c0                	xor    %eax,%eax
404334:	eb 05                	jmp    0x40433b
404336:	1b c0                	sbb    %eax,%eax
404338:	83 d8 ff             	sbb    $0xffffffff,%eax
40433b:	3b c3                	cmp    %ebx,%eax
40433d:	0f 84 82 00 00 00    	je     0x4043c5
404343:	b9 18 c2 45 00       	mov    $0x45c218,%ecx
404348:	8d 84 24 a8 04 00 00 	lea    0x4a8(%esp),%eax
40434f:	90                   	nop
404350:	66 8b 10             	mov    (%eax),%dx
404353:	66 3b 11             	cmp    (%ecx),%dx
404356:	75 1e                	jne    0x404376
404358:	66 3b d3             	cmp    %bx,%dx
40435b:	74 15                	je     0x404372
40435d:	66 8b 50 02          	mov    0x2(%eax),%dx
404361:	66 3b 51 02          	cmp    0x2(%ecx),%dx
404365:	75 0f                	jne    0x404376
404367:	83 c0 04             	add    $0x4,%eax
40436a:	83 c1 04             	add    $0x4,%ecx
40436d:	66 3b d3             	cmp    %bx,%dx
404370:	75 de                	jne    0x404350
404372:	33 c0                	xor    %eax,%eax
404374:	eb 05                	jmp    0x40437b
404376:	1b c0                	sbb    %eax,%eax
404378:	83 d8 ff             	sbb    $0xffffffff,%eax
40437b:	3b c3                	cmp    %ebx,%eax
40437d:	74 46                	je     0x4043c5
40437f:	8d 8c 24 a8 04 00 00 	lea    0x4a8(%esp),%ecx
404386:	51                   	push   %ecx
404387:	8d 54 24 70          	lea    0x70(%esp),%edx
40438b:	52                   	push   %edx
40438c:	68 0c c2 45 00       	push   $0x45c20c
404391:	8d 84 24 d8 06 00 00 	lea    0x6d8(%esp),%eax
404398:	68 04 01 00 00       	push   $0x104
40439d:	50                   	push   %eax
40439e:	e8 bc c2 02 00       	call   0x43065f
4043a3:	8b bc 24 1c 15 00 00 	mov    0x151c(%esp),%edi
4043aa:	8d 94 24 e0 06 00 00 	lea    0x6e0(%esp),%edx
4043b1:	33 c9                	xor    %ecx,%ecx
4043b3:	53                   	push   %ebx
4043b4:	52                   	push   %edx
4043b5:	66 89 8c 24 ee 08 00 	mov    %cx,0x8ee(%esp)
4043bc:	00
4043bd:	e8 7e f9 ff ff       	call   0x403d40
4043c2:	83 c4 1c             	add    $0x1c,%esp
4043c5:	8d 84 24 7c 04 00 00 	lea    0x47c(%esp),%eax
4043cc:	50                   	push   %eax
4043cd:	56                   	push   %esi
4043ce:	ff d5                	call   *%ebp
4043d0:	85 c0                	test   %eax,%eax
4043d2:	0f 85 28 ff ff ff    	jne    0x404300
4043d8:	56                   	push   %esi
4043d9:	ff 15 4c 34 47 00    	call   *0x47344c
4043df:	8b 8c 24 08 15 00 00 	mov    0x1508(%esp),%ecx
4043e6:	68 98 c3 45 00       	push   $0x45c398
4043eb:	51                   	push   %ecx
4043ec:	e8 c1 bd 02 00       	call   0x4301b2
4043f1:	8b 44 24 18          	mov    0x18(%esp),%eax
4043f5:	83 c4 08             	add    $0x8,%esp
4043f8:	5f                   	pop    %edi
4043f9:	5e                   	pop    %esi
4043fa:	5d                   	pop    %ebp
4043fb:	5b                   	pop    %ebx
4043fc:	81 c4 f4 14 00 00    	add    $0x14f4,%esp
404402:	c3                   	ret
404403:	8d 94 24 dc 0a 00 00 	lea    0xadc(%esp),%edx
40440a:	52                   	push   %edx
40440b:	68 78 c3 45 00       	push   $0x45c378
404410:	56                   	push   %esi
404411:	e8 9c bd 02 00       	call   0x4301b2
404416:	83 c4 0c             	add    $0xc,%esp
404419:	5f                   	pop    %edi
40441a:	5e                   	pop    %esi
40441b:	5d                   	pop    %ebp
40441c:	8b c3                	mov    %ebx,%eax
40441e:	5b                   	pop    %ebx
40441f:	81 c4 f4 14 00 00    	add    $0x14f4,%esp
404425:	c3                   	ret
404426:	cc                   	int3
404427:	cc                   	int3
404428:	cc                   	int3
404429:	cc                   	int3
40442a:	cc                   	int3
40442b:	cc                   	int3
40442c:	cc                   	int3
40442d:	cc                   	int3
40442e:	cc                   	int3
40442f:	cc                   	int3
404430:	81 ec 30 08 00 00    	sub    $0x830,%esp
404436:	53                   	push   %ebx
404437:	55                   	push   %ebp
404438:	56                   	push   %esi
404439:	57                   	push   %edi
40443a:	e8 91 46 00 00       	call   0x408ad0
40443f:	8b ac 24 48 08 00 00 	mov    0x848(%esp),%ebp
404446:	be 01 00 00 00       	mov    $0x1,%esi
40444b:	56                   	push   %esi
40444c:	89 44 24 20          	mov    %eax,0x20(%esp)
404450:	8d 44 24 18          	lea    0x18(%esp),%eax
404454:	68 7c c0 45 00       	push   $0x45c07c
404459:	50                   	push   %eax
40445a:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
404461:	c7 45 10 8c c7 45 00 	movl   $0x45c78c,0x10(%ebp)
404468:	c7 45 14 70 c7 45 00 	movl   $0x45c770,0x14(%ebp)
40446f:	e8 3c 26 00 00       	call   0x406ab0
404474:	8b 4c 24 20          	mov    0x20(%esp),%ecx
404478:	56                   	push   %esi
404479:	8d 54 24 20          	lea    0x20(%esp),%edx
40447d:	68 7c c0 45 00       	push   $0x45c07c
404482:	52                   	push   %edx
404483:	89 71 10             	mov    %esi,0x10(%ecx)
404486:	e8 25 26 00 00       	call   0x406ab0
40448b:	8b 44 24 28          	mov    0x28(%esp),%eax
40448f:	89 70 10             	mov    %esi,0x10(%eax)
404492:	8b 4c 24 28          	mov    0x28(%esp),%ecx
404496:	51                   	push   %ecx
404497:	e8 e4 1b 00 00       	call   0x406080
40449c:	8b 9c 24 68 08 00 00 	mov    0x868(%esp),%ebx
4044a3:	53                   	push   %ebx
4044a4:	68 50 c7 45 00       	push   $0x45c750
4044a9:	8d 54 24 44          	lea    0x44(%esp),%edx
4044ad:	68 04 01 00 00       	push   $0x104
4044b2:	52                   	push   %edx
4044b3:	e8 a7 c1 02 00       	call   0x43065f
4044b8:	83 c4 2c             	add    $0x2c,%esp
4044bb:	33 c0                	xor    %eax,%eax
4044bd:	50                   	push   %eax
4044be:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4044c2:	51                   	push   %ecx
4044c3:	66 89 84 24 2e 02 00 	mov    %ax,0x22e(%esp)
4044ca:	00
4044cb:	ff 15 6c 34 47 00    	call   *0x47346c
4044d1:	33 f6                	xor    %esi,%esi
4044d3:	8d bc 24 28 02 00 00 	lea    0x228(%esp),%edi
4044da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4044e0:	8b 14 b5 04 f0 46 00 	mov    0x46f004(,%esi,4),%edx
4044e7:	52                   	push   %edx
4044e8:	53                   	push   %ebx
4044e9:	68 0c c2 45 00       	push   $0x45c20c
4044ee:	68 04 01 00 00       	push   $0x104
4044f3:	57                   	push   %edi
4044f4:	e8 66 c1 02 00       	call   0x43065f
4044f9:	8b 8c 24 64 08 00 00 	mov    0x864(%esp),%ecx
404500:	83 c4 14             	add    $0x14,%esp
404503:	33 c0                	xor    %eax,%eax
404505:	50                   	push   %eax
404506:	57                   	push   %edi
404507:	51                   	push   %ecx
404508:	66 89 87 06 02 00 00 	mov    %ax,0x206(%edi)
40450f:	ff 15 88 34 47 00    	call   *0x473488
404515:	85 c0                	test   %eax,%eax
404517:	0f 84 8b 00 00 00    	je     0x4045a8
40451d:	8b 14 b5 04 f0 46 00 	mov    0x46f004(,%esi,4),%edx
404524:	52                   	push   %edx
404525:	e8 16 1b 00 00       	call   0x406040
40452a:	50                   	push   %eax
40452b:	8b 44 24 18          	mov    0x18(%esp),%eax
40452f:	50                   	push   %eax
404530:	e8 9b 20 00 00       	call   0x4065d0
404535:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
404539:	8b 14 b5 04 f0 46 00 	mov    0x46f004(,%esi,4),%edx
404540:	83 c4 0c             	add    $0xc,%esp
404543:	68 4c c7 45 00       	push   $0x45c74c
404548:	68 e8 be 45 00       	push   $0x45bee8
40454d:	51                   	push   %ecx
40454e:	52                   	push   %edx
40454f:	e8 4c 1a 00 00       	call   0x405fa0
404554:	83 c4 08             	add    $0x8,%esp
404557:	50                   	push   %eax
404558:	e8 e3 1c 00 00       	call   0x406240
40455d:	46                   	inc    %esi
40455e:	83 c4 0c             	add    $0xc,%esp
404561:	81 c7 08 02 00 00    	add    $0x208,%edi
404567:	83 fe 03             	cmp    $0x3,%esi
40456a:	0f 82 70 ff ff ff    	jb     0x4044e0
404570:	8b 54 24 10          	mov    0x10(%esp),%edx
404574:	52                   	push   %edx
404575:	e8 86 3b 00 00       	call   0x408100
40457a:	83 c4 04             	add    $0x4,%esp
40457d:	e8 2e 45 00 00       	call   0x408ab0
404582:	f6 45 00 01          	testb  $0x1,0x0(%ebp)
404586:	8b b4 24 44 08 00 00 	mov    0x844(%esp),%esi
40458d:	0f 84 95 00 00 00    	je     0x404628
404593:	f6 85 48 0a 00 00 01 	testb  $0x1,0xa48(%ebp)
40459a:	74 43                	je     0x4045df
40459c:	8b 85 4c 0a 00 00    	mov    0xa4c(%ebp),%eax
4045a2:	89 44 24 18          	mov    %eax,0x18(%esp)
4045a6:	eb 3f                	jmp    0x4045e7
4045a8:	8b 8c 24 50 08 00 00 	mov    0x850(%esp),%ecx
4045af:	69 f6 08 02 00 00    	imul   $0x208,%esi,%esi
4045b5:	8d 84 34 28 02 00 00 	lea    0x228(%esp,%esi,1),%eax
4045bc:	8b b4 24 44 08 00 00 	mov    0x844(%esp),%esi
4045c3:	50                   	push   %eax
4045c4:	51                   	push   %ecx
4045c5:	68 24 c7 45 00       	push   $0x45c724
4045ca:	56                   	push   %esi
4045cb:	e8 e2 bb 02 00       	call   0x4301b2
4045d0:	83 c4 10             	add    $0x10,%esp
4045d3:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
4045da:	e9 20 03 00 00       	jmp    0x4048ff
4045df:	c7 44 24 18 b8 c6 45 	movl   $0x45c6b8,0x18(%esp)
4045e6:	00
4045e7:	33 ff                	xor    %edi,%edi
4045e9:	8d 9c 24 28 02 00 00 	lea    0x228(%esp),%ebx
4045f0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4045f4:	6a 00                	push   $0x0
4045f6:	68 ac c6 45 00       	push   $0x45c6ac
4045fb:	6a 00                	push   $0x0
4045fd:	51                   	push   %ecx
4045fe:	8b 4c 24 20          	mov    0x20(%esp),%ecx
404602:	53                   	push   %ebx
404603:	68 c8 be 45 00       	push   $0x45bec8
404608:	8d 54 24 38          	lea    0x38(%esp),%edx
40460c:	52                   	push   %edx
40460d:	56                   	push   %esi
40460e:	8b d7                	mov    %edi,%edx
404610:	e8 fb f8 ff ff       	call   0x403f10
404615:	83 c4 20             	add    $0x20,%esp
404618:	85 c0                	test   %eax,%eax
40461a:	78 2c                	js     0x404648