4041f2:	ff 75 f8             	push   -0x8(%ebp)
4041f5:	e8 af 07 00 00       	call   0x4049a9
4041fa:	eb 05                	jmp    0x404201
4041fc:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
404201:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404204:	5f                   	pop    %edi
404205:	5e                   	pop    %esi
404206:	33 cd                	xor    %ebp,%ecx
404208:	5b                   	pop    %ebx
404209:	e8 52 5c 00 00       	call   0x409e60
40420e:	c9                   	leave
40420f:	c3                   	ret
404210:	68 c4 00 00 00       	push   $0xc4
404215:	b8 0c ad 40 00       	mov    $0x40ad0c,%eax
40421a:	e8 f5 69 00 00       	call   0x40ac14
40421f:	33 db                	xor    %ebx,%ebx
404221:	8b f3                	mov    %ebx,%esi
404223:	89 75 a4             	mov    %esi,-0x5c(%ebp)
404226:	89 75 e8             	mov    %esi,-0x18(%ebp)
404229:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40422c:	38 1d 60 d5 40 00    	cmp    %bl,0x40d560
404232:	74 15                	je     0x404249
404234:	e8 7a fe ff ff       	call   0x4040b3
404239:	8b f0                	mov    %eax,%esi
40423b:	89 75 a4             	mov    %esi,-0x5c(%ebp)
40423e:	85 f6                	test   %esi,%esi
404240:	0f 84 75 01 00 00    	je     0x4043bb
404246:	89 75 e8             	mov    %esi,-0x18(%ebp)
404249:	53                   	push   %ebx
40424a:	53                   	push   %ebx
40424b:	6a 01                	push   $0x1
40424d:	53                   	push   %ebx
40424e:	ff 15 d8 e0 40 00    	call   *0x40e0d8
404254:	85 c0                	test   %eax,%eax
404256:	0f 84 64 01 00 00    	je     0x4043c0
40425c:	89 45 ec             	mov    %eax,-0x14(%ebp)
40425f:	8d 4d ab             	lea    -0x55(%ebp),%ecx
404262:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
404266:	e8 c7 fd ff ff       	call   0x404032
40426b:	88 5d ac             	mov    %bl,-0x54(%ebp)
40426e:	8d 7d c8             	lea    -0x38(%ebp),%edi
404271:	89 5d b0             	mov    %ebx,-0x50(%ebp)
404274:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
404277:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
40427a:	be e0 d5 40 00       	mov    $0x40d5e0,%esi
40427f:	89 5d b8             	mov    %ebx,-0x48(%ebp)
404282:	89 5d bc             	mov    %ebx,-0x44(%ebp)
404285:	89 5d c0             	mov    %ebx,-0x40(%ebp)
404288:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40428b:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40428e:	88 5d dc             	mov    %bl,-0x24(%ebp)
404291:	89 5d e0             	mov    %ebx,-0x20(%ebp)
404294:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
404297:	a5                   	movsl  %ds:(%esi),%es:(%edi)
404298:	a5                   	movsl  %ds:(%esi),%es:(%edi)
404299:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40429a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40429b:	bf f0 d5 40 00       	mov    $0x40d5f0,%edi
4042a0:	57                   	push   %edi
4042a1:	e8 8e 08 00 00       	call   0x404b34
4042a6:	a1 18 d7 40 00       	mov    0x40d718,%eax
4042ab:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4042ae:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4042b1:	8d 45 ac             	lea    -0x54(%ebp),%eax
4042b4:	a3 18 d7 40 00       	mov    %eax,0x40d718
4042b9:	e8 47 08 00 00       	call   0x404b05
4042be:	8d 45 ec             	lea    -0x14(%ebp),%eax
4042c1:	68 f8 d5 40 00       	push   $0x40d5f8
4042c6:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4042c9:	89 45 d8             	mov    %eax,-0x28(%ebp)
4042cc:	e8 63 08 00 00       	call   0x404b34
4042d1:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4042d5:	80 7d ac 00          	cmpb   $0x0,-0x54(%ebp)
4042d9:	75 1d                	jne    0x4042f8
4042db:	a1 24 d7 40 00       	mov    0x40d724,%eax
4042e0:	85 c0                	test   %eax,%eax
4042e2:	75 0a                	jne    0x4042ee
4042e4:	e8 08 0a 00 00       	call   0x404cf1
4042e9:	a1 24 d7 40 00       	mov    0x40d724,%eax
4042ee:	40                   	inc    %eax
4042ef:	c6 45 ac 01          	movb   $0x1,-0x54(%ebp)
4042f3:	a3 24 d7 40 00       	mov    %eax,0x40d724
4042f8:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4042fb:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4042ff:	e8 01 08 00 00       	call   0x404b05
404304:	a1 5c d5 40 00       	mov    0x40d55c,%eax
404309:	c6 45 dc 01          	movb   $0x1,-0x24(%ebp)
40430d:	85 c0                	test   %eax,%eax
40430f:	74 07                	je     0x404318
404311:	50                   	push   %eax
404312:	ff 15 d0 e0 40 00    	call   *0x40e0d0
404318:	6a ff                	push   $0xffffffff
40431a:	ff 75 ec             	push   -0x14(%ebp)
40431d:	ff 15 f0 e0 40 00    	call   *0x40e0f0
404323:	a1 68 d5 40 00       	mov    0x40d568,%eax
404328:	85 c0                	test   %eax,%eax
40432a:	74 11                	je     0x40433d
40432c:	8b 35 00 d6 40 00    	mov    0x40d600,%esi
404332:	8b ce                	mov    %esi,%ecx
404334:	50                   	push   %eax
404335:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40433b:	ff d6                	call   *%esi
40433d:	8d 4d ac             	lea    -0x54(%ebp),%ecx
404340:	88 5d dc             	mov    %bl,-0x24(%ebp)
404343:	e8 f6 0b 00 00       	call   0x404f3e
404348:	57                   	push   %edi
404349:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40434c:	e8 e3 07 00 00       	call   0x404b34
404351:	a1 18 d7 40 00       	mov    0x40d718,%eax
404356:	b9 18 d7 40 00       	mov    $0x40d718,%ecx
40435b:	eb 0c                	jmp    0x404369
40435d:	8d 55 ac             	lea    -0x54(%ebp),%edx
404360:	3b c2                	cmp    %edx,%eax
404362:	74 0b                	je     0x40436f
404364:	8d 48 38             	lea    0x38(%eax),%ecx
404367:	8b 01                	mov    (%ecx),%eax
404369:	85 c0                	test   %eax,%eax
40436b:	75 f0                	jne    0x40435d
40436d:	eb 05                	jmp    0x404374
40436f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404372:	89 01                	mov    %eax,(%ecx)
404374:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
404377:	e8 89 07 00 00       	call   0x404b05
40437c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40437f:	e8 c8 08 00 00       	call   0x404c4c
404384:	8d 4d ac             	lea    -0x54(%ebp),%ecx
404387:	e8 b2 0b 00 00       	call   0x404f3e
40438c:	80 7d ab 00          	cmpb   $0x0,-0x55(%ebp)
404390:	74 06                	je     0x404398
404392:	ff 15 24 e0 40 00    	call   *0x40e024
404398:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40439c:	74 09                	je     0x4043a7
40439e:	ff 75 ec             	push   -0x14(%ebp)
4043a1:	ff 15 54 e0 40 00    	call   *0x40e054
4043a7:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4043aa:	85 c0                	test   %eax,%eax
4043ac:	74 07                	je     0x4043b5
4043ae:	50                   	push   %eax
4043af:	ff 15 84 e0 40 00    	call   *0x40e084
4043b5:	e8 15 68 00 00       	call   0x40abcf
4043ba:	c3                   	ret
4043bb:	e8 7f fb ff ff       	call   0x403f3f
4043c0:	6a 06                	push   $0x6
4043c2:	8d 8d 30 ff ff ff    	lea    -0xd0(%ebp),%ecx
4043c8:	e8 48 fb ff ff       	call   0x403f15
4043cd:	68 f0 c6 40 00       	push   $0x40c6f0
4043d2:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
4043d8:	50                   	push   %eax
4043d9:	e8 5c 67 00 00       	call   0x40ab3a
4043de:	cc                   	int3
4043df:	83 39 00             	cmpl   $0x0,(%ecx)
4043e2:	74 08                	je     0x4043ec
4043e4:	ff 31                	push   (%ecx)
4043e6:	ff 15 84 e0 40 00    	call   *0x40e084
4043ec:	c3                   	ret
4043ed:	83 39 00             	cmpl   $0x0,(%ecx)
4043f0:	74 08                	je     0x4043fa
4043f2:	ff 31                	push   (%ecx)
4043f4:	ff 15 54 e0 40 00    	call   *0x40e054
4043fa:	c3                   	ret
4043fb:	8b ff                	mov    %edi,%edi
4043fd:	55                   	push   %ebp
4043fe:	8b ec                	mov    %esp,%ebp
404400:	53                   	push   %ebx
404401:	57                   	push   %edi
404402:	8b f9                	mov    %ecx,%edi
404404:	8b 1f                	mov    (%edi),%ebx
404406:	85 db                	test   %ebx,%ebx
404408:	74 17                	je     0x404421
40440a:	56                   	push   %esi
40440b:	ff 15 44 e0 40 00    	call   *0x40e044
404411:	53                   	push   %ebx
404412:	8b f0                	mov    %eax,%esi
404414:	e8 91 f1 ff ff       	call   0x4035aa
404419:	56                   	push   %esi
40441a:	ff 15 3c e0 40 00    	call   *0x40e03c
404420:	5e                   	pop    %esi
404421:	8b 45 08             	mov    0x8(%ebp),%eax
404424:	89 07                	mov    %eax,(%edi)
404426:	5f                   	pop    %edi
404427:	5b                   	pop    %ebx
404428:	5d                   	pop    %ebp
404429:	c2 04 00             	ret    $0x4
40442c:	68 20 02 00 00       	push   $0x220
404431:	b8 4a ad 40 00       	mov    $0x40ad4a,%eax
404436:	e8 d9 67 00 00       	call   0x40ac14
40443b:	8b da                	mov    %edx,%ebx
40443d:	83 23 00             	andl   $0x0,(%ebx)
404440:	51                   	push   %ecx
404441:	6a 40                	push   $0x40
404443:	ff 15 ac e0 40 00    	call   *0x40e0ac
404449:	50                   	push   %eax
40444a:	68 04 18 40 00       	push   $0x401804
40444f:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
404455:	68 04 01 00 00       	push   $0x104
40445a:	50                   	push   %eax
40445b:	e8 1b e2 ff ff       	call   0x40267b
404460:	33 c9                	xor    %ecx,%ecx
404462:	83 c4 18             	add    $0x18,%esp
404465:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
40446b:	68 01 00 1f 00       	push   $0x1f0001
404470:	51                   	push   %ecx
404471:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
404477:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40447a:	50                   	push   %eax
40447b:	51                   	push   %ecx
40447c:	ff 15 e0 e0 40 00    	call   *0x40e0e0
404482:	50                   	push   %eax
404483:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
404489:	e8 6d ff ff ff       	call   0x4043fb
40448e:	8b b5 e4 fd ff ff    	mov    -0x21c(%ebp),%esi
404494:	85 f6                	test   %esi,%esi
404496:	75 0c                	jne    0x4044a4
404498:	e8 26 e8 ff ff       	call   0x402cc3
40449d:	8b f8                	mov    %eax,%edi
40449f:	e9 ad 00 00 00       	jmp    0x404551
4044a4:	83 ec 0c             	sub    $0xc,%esp
4044a7:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
4044ad:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
4044b3:	50                   	push   %eax
4044b4:	e8 83 03 00 00       	call   0x40483c
4044b9:	33 c0                	xor    %eax,%eax
4044bb:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4044bf:	8b f0                	mov    %eax,%esi
4044c1:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
4044c7:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
4044cd:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
4044d3:	51                   	push   %ecx
4044d4:	50                   	push   %eax
4044d5:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
4044db:	e8 38 f3 ff ff       	call   0x403818
4044e0:	8b f8                	mov    %eax,%edi
4044e2:	85 ff                	test   %edi,%edi
4044e4:	79 11                	jns    0x4044f7
4044e6:	57                   	push   %edi
4044e7:	51                   	push   %ecx
4044e8:	8b 4d 04             	mov    0x4(%ebp),%ecx
4044eb:	6a 62                	push   $0x62
4044ed:	5a                   	pop    %edx
4044ee:	e8 40 f0 ff ff       	call   0x403533
4044f3:	8b c6                	mov    %esi,%eax
4044f5:	eb 08                	jmp    0x4044ff
4044f7:	8b 85 d4 fd ff ff    	mov    -0x22c(%ebp),%eax
4044fd:	33 ff                	xor    %edi,%edi
4044ff:	85 ff                	test   %edi,%edi
404501:	79 0f                	jns    0x404512
404503:	57                   	push   %edi
404504:	51                   	push   %ecx
404505:	8b 4d 04             	mov    0x4(%ebp),%ecx
404508:	6a 6b                	push   $0x6b
40450a:	5a                   	pop    %edx
40450b:	e8 23 f0 ff ff       	call   0x403533
404510:	eb 07                	jmp    0x404519
404512:	8b f0                	mov    %eax,%esi
404514:	c1 e6 02             	shl    $0x2,%esi
404517:	33 ff                	xor    %edi,%edi
404519:	85 ff                	test   %edi,%edi
40451b:	79 07                	jns    0x404524
40451d:	ba 26 01 00 00       	mov    $0x126,%edx
404522:	eb 60                	jmp    0x404584
404524:	85 f6                	test   %esi,%esi
404526:	74 3f                	je     0x404567
404528:	89 33                	mov    %esi,(%ebx)
40452a:	8b 0e                	mov    (%esi),%ecx
40452c:	8b 03                	mov    (%ebx),%eax
40452e:	41                   	inc    %ecx
40452f:	89 08                	mov    %ecx,(%eax)
404531:	33 ff                	xor    %edi,%edi
404533:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
404537:	83 bd e0 fd ff ff 00 	cmpl   $0x0,-0x220(%ebp)
40453e:	74 0b                	je     0x40454b
404540:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
404546:	e8 84 f0 ff ff       	call   0x4035cf
40454b:	8b b5 e4 fd ff ff    	mov    -0x21c(%ebp),%esi
404551:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404555:	85 f6                	test   %esi,%esi
404557:	74 06                	je     0x40455f
404559:	56                   	push   %esi
40455a:	e8 4b f0 ff ff       	call   0x4035aa
40455f:	8b c7                	mov    %edi,%eax
404561:	e8 69 66 00 00       	call   0x40abcf
404566:	c3                   	ret
404567:	53                   	push   %ebx
404568:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
40456e:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
404574:	e8 6e 01 00 00       	call   0x4046e7
404579:	8b f8                	mov    %eax,%edi
40457b:	85 ff                	test   %edi,%edi
40457d:	79 b2                	jns    0x404531
40457f:	ba 2e 01 00 00       	mov    $0x12e,%edx
404584:	57                   	push   %edi
404585:	51                   	push   %ecx
404586:	8b 4d 04             	mov    0x4(%ebp),%ecx
404589:	e8 a5 ef ff ff       	call   0x403533
40458e:	eb a3                	jmp    0x404533
404590:	8b ff                	mov    %edi,%edi
404592:	55                   	push   %ebp
404593:	8b ec                	mov    %esp,%ebp
404595:	51                   	push   %ecx
404596:	80 3d 34 d5 40 00 00 	cmpb   $0x0,0x40d534
40459d:	53                   	push   %ebx
40459e:	56                   	push   %esi
40459f:	57                   	push   %edi
4045a0:	8b d9                	mov    %ecx,%ebx
4045a2:	0f 85 ac 00 00 00    	jne    0x404654
4045a8:	8b 3d 20 d5 40 00    	mov    0x40d520,%edi
4045ae:	33 f6                	xor    %esi,%esi
4045b0:	85 ff                	test   %edi,%edi
4045b2:	74 0f                	je     0x4045c3
4045b4:	8b cf                	mov    %edi,%ecx
4045b6:	ff 15 f0 e1 40 00    	call   *0x40e1f0
4045bc:	ff d7                	call   *%edi
4045be:	0f b6 c0             	movzbl %al,%eax
4045c1:	eb 02                	jmp    0x4045c5
4045c3:	8b c6                	mov    %esi,%eax
4045c5:	85 c0                	test   %eax,%eax
4045c7:	0f 85 87 00 00 00    	jne    0x404654
4045cd:	83 ec 0c             	sub    $0xc,%esp
4045d0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4045d3:	51                   	push   %ecx
4045d4:	8d 4b 04             	lea    0x4(%ebx),%ecx
4045d7:	e8 60 02 00 00       	call   0x40483c
4045dc:	8b 03                	mov    (%ebx),%eax
4045de:	83 e8 01             	sub    $0x1,%eax
4045e1:	89 03                	mov    %eax,(%ebx)
4045e3:	75 60                	jne    0x404645
4045e5:	8d 7b 08             	lea    0x8(%ebx),%edi
4045e8:	56                   	push   %esi
4045e9:	8b cf                	mov    %edi,%ecx
4045eb:	e8 0b fe ff ff       	call   0x4043fb
4045f0:	56                   	push   %esi
4045f1:	8d 4f 04             	lea    0x4(%edi),%ecx
4045f4:	e8 02 fe ff ff       	call   0x4043fb
4045f9:	39 75 fc             	cmp    %esi,-0x4(%ebp)
4045fc:	74 1a                	je     0x404618
4045fe:	ff 15 44 e0 40 00    	call   *0x40e044
404604:	ff 75 fc             	push   -0x4(%ebp)
404607:	8b f8                	mov    %eax,%edi
404609:	e8 c1 ef ff ff       	call   0x4035cf
40460e:	57                   	push   %edi
40460f:	ff 15 3c e0 40 00    	call   *0x40e03c
404615:	8d 7b 08             	lea    0x8(%ebx),%edi
404618:	8d 4b 18             	lea    0x18(%ebx),%ecx
40461b:	e8 c7 01 00 00       	call   0x4047e7
404620:	8b cf                	mov    %edi,%ecx
404622:	e8 71 00 00 00       	call   0x404698
404627:	39 73 04             	cmp    %esi,0x4(%ebx)
40462a:	74 08                	je     0x404634
40462c:	ff 73 04             	push   0x4(%ebx)
40462f:	e8 76 ef ff ff       	call   0x4035aa