409188:	85 c0                	test   %eax,%eax
40918a:	75 38                	jne    0x4091c4
40918c:	68 00 10 00 00       	push   $0x1000
409191:	50                   	push   %eax
409192:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409198:	50                   	push   %eax
409199:	e8 b4 7e ff ff       	call   0x401052
40919e:	ff 75 fc             	push   -0x4(%ebp)
4091a1:	8d 95 d0 bc ff ff    	lea    -0x4330(%ebp),%edx
4091a7:	8d 8d d0 dc ff ff    	lea    -0x2330(%ebp),%ecx
4091ad:	e8 26 01 00 00       	call   0x4092d8
4091b2:	83 c4 10             	add    $0x10,%esp
4091b5:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
4091bb:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4091be:	50                   	push   %eax
4091bf:	e8 68 9f ff ff       	call   0x40312c
4091c4:	b8 00 10 00 00       	mov    $0x1000,%eax
4091c9:	50                   	push   %eax
4091ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
4091cd:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
4091d3:	6a 00                	push   $0x0
4091d5:	50                   	push   %eax
4091d6:	e8 77 7e ff ff       	call   0x401052
4091db:	83 c4 0c             	add    $0xc,%esp
4091de:	8d 45 fc             	lea    -0x4(%ebp),%eax
4091e1:	50                   	push   %eax
4091e2:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
4091e8:	50                   	push   %eax
4091e9:	6a 00                	push   $0x0
4091eb:	6a 00                	push   $0x0
4091ed:	68 1c 30 41 00       	push   $0x41301c
4091f2:	56                   	push   %esi
4091f3:	ff d7                	call   *%edi
4091f5:	85 c0                	test   %eax,%eax
4091f7:	75 38                	jne    0x409231
4091f9:	68 00 10 00 00       	push   $0x1000
4091fe:	50                   	push   %eax
4091ff:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409205:	50                   	push   %eax
409206:	e8 47 7e ff ff       	call   0x401052
40920b:	ff 75 fc             	push   -0x4(%ebp)
40920e:	8d 95 d0 bc ff ff    	lea    -0x4330(%ebp),%edx
409214:	8d 8d d0 dc ff ff    	lea    -0x2330(%ebp),%ecx
40921a:	e8 b9 00 00 00       	call   0x4092d8
40921f:	83 c4 10             	add    $0x10,%esp
409222:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409228:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40922b:	50                   	push   %eax
40922c:	e8 fb 9e ff ff       	call   0x40312c
409231:	b8 00 10 00 00       	mov    $0x1000,%eax
409236:	50                   	push   %eax
409237:	89 45 fc             	mov    %eax,-0x4(%ebp)
40923a:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409240:	6a 00                	push   $0x0
409242:	50                   	push   %eax
409243:	e8 0a 7e ff ff       	call   0x401052
409248:	83 c4 0c             	add    $0xc,%esp
40924b:	8d 45 fc             	lea    -0x4(%ebp),%eax
40924e:	50                   	push   %eax
40924f:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409255:	50                   	push   %eax
409256:	6a 00                	push   $0x0
409258:	6a 00                	push   $0x0
40925a:	68 38 30 41 00       	push   $0x413038
40925f:	56                   	push   %esi
409260:	ff d7                	call   *%edi
409262:	85 c0                	test   %eax,%eax
409264:	75 38                	jne    0x40929e
409266:	68 00 10 00 00       	push   $0x1000
40926b:	50                   	push   %eax
40926c:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409272:	50                   	push   %eax
409273:	e8 da 7d ff ff       	call   0x401052
409278:	ff 75 fc             	push   -0x4(%ebp)
40927b:	8d 95 d0 bc ff ff    	lea    -0x4330(%ebp),%edx
409281:	8d 8d d0 dc ff ff    	lea    -0x2330(%ebp),%ecx
409287:	e8 4c 00 00 00       	call   0x4092d8
40928c:	83 c4 10             	add    $0x10,%esp
40928f:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409295:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409298:	50                   	push   %eax
409299:	e8 8e 9e ff ff       	call   0x40312c
40929e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4092a1:	c7 45 f8 03 00 00 00 	movl   $0x3,-0x8(%ebp)
4092a8:	e8 e1 9d ff ff       	call   0x40308e
4092ad:	85 c0                	test   %eax,%eax
4092af:	7e 15                	jle    0x4092c6
4092b1:	83 ec 10             	sub    $0x10,%esp
4092b4:	8d 45 ec             	lea    -0x14(%ebp),%eax
4092b7:	8b cc                	mov    %esp,%ecx
4092b9:	50                   	push   %eax
4092ba:	e8 fa 8b ff ff       	call   0x401eb9
4092bf:	8b cb                	mov    %ebx,%ecx
4092c1:	e8 29 8c ff ff       	call   0x401eef
4092c6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4092c9:	e8 c1 80 ff ff       	call   0x40138f
4092ce:	5f                   	pop    %edi
4092cf:	33 c0                	xor    %eax,%eax
4092d1:	5e                   	pop    %esi
4092d2:	40                   	inc    %eax
4092d3:	5b                   	pop    %ebx
4092d4:	c9                   	leave
4092d5:	c2 08 00             	ret    $0x8
4092d8:	55                   	push   %ebp
4092d9:	8b ec                	mov    %esp,%ebp
4092db:	b8 14 20 00 00       	mov    $0x2014,%eax
4092e0:	e8 4b 7e ff ff       	call   0x401130
4092e5:	53                   	push   %ebx
4092e6:	56                   	push   %esi
4092e7:	57                   	push   %edi
4092e8:	8b 7d 08             	mov    0x8(%ebp),%edi
4092eb:	8b da                	mov    %edx,%ebx
4092ed:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4092f0:	8d 47 ff             	lea    -0x1(%edi),%eax
4092f3:	50                   	push   %eax
4092f4:	6a 40                	push   $0x40
4092f6:	ff 15 c8 20 41 00    	call   *0x4120c8
4092fc:	33 f6                	xor    %esi,%esi
4092fe:	8b d0                	mov    %eax,%edx
409300:	46                   	inc    %esi
409301:	3b fe                	cmp    %esi,%edi
409303:	7e 0f                	jle    0x409314
409305:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409308:	8a 04 0e             	mov    (%esi,%ecx,1),%al
40930b:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
40930f:	46                   	inc    %esi
409310:	3b f7                	cmp    %edi,%esi
409312:	7c f4                	jl     0x409308
409314:	8d 47 ff             	lea    -0x1(%edi),%eax
409317:	89 55 f8             	mov    %edx,-0x8(%ebp)
40931a:	89 45 f4             	mov    %eax,-0xc(%ebp)
40931d:	33 f6                	xor    %esi,%esi
40931f:	8d 45 ec             	lea    -0x14(%ebp),%eax
409322:	50                   	push   %eax
409323:	56                   	push   %esi
409324:	56                   	push   %esi
409325:	56                   	push   %esi
409326:	56                   	push   %esi
409327:	56                   	push   %esi
409328:	8d 45 f4             	lea    -0xc(%ebp),%eax
40932b:	50                   	push   %eax
40932c:	ff 15 80 20 41 00    	call   *0x412080
409332:	85 c0                	test   %eax,%eax
409334:	74 27                	je     0x40935d
409336:	85 ff                	test   %edi,%edi
409338:	7e 1a                	jle    0x409354
40933a:	8b 55 f0             	mov    -0x10(%ebp),%edx
40933d:	8d 8d ec df ff ff    	lea    -0x2014(%ebp),%ecx
409343:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
409347:	83 c6 02             	add    $0x2,%esi
40934a:	66 89 01             	mov    %ax,(%ecx)
40934d:	8d 49 02             	lea    0x2(%ecx),%ecx
409350:	3b f7                	cmp    %edi,%esi
409352:	7c ef                	jl     0x409343
409354:	8d 85 ec df ff ff    	lea    -0x2014(%ebp),%eax
40935a:	50                   	push   %eax
40935b:	eb 05                	jmp    0x409362
40935d:	68 54 2f 41 00       	push   $0x412f54
409362:	53                   	push   %ebx
409363:	ff 15 cc 21 41 00    	call   *0x4121cc
409369:	5f                   	pop    %edi
40936a:	5e                   	pop    %esi
40936b:	5b                   	pop    %ebx
40936c:	c9                   	leave
40936d:	c3                   	ret
40936e:	55                   	push   %ebp
40936f:	8b ec                	mov    %esp,%ebp
409371:	81 ec c8 04 00 00    	sub    $0x4c8,%esp
409377:	53                   	push   %ebx
409378:	56                   	push   %esi
409379:	57                   	push   %edi
40937a:	8b f9                	mov    %ecx,%edi
40937c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40937f:	68 44 2e 41 00       	push   $0x412e44
409384:	89 7d e4             	mov    %edi,-0x1c(%ebp)
409387:	e8 86 a0 ff ff       	call   0x403412
40938c:	68 08 02 00 00       	push   $0x208
409391:	33 db                	xor    %ebx,%ebx
409393:	8d 85 3c fb ff ff    	lea    -0x4c4(%ebp),%eax
409399:	53                   	push   %ebx
40939a:	50                   	push   %eax
40939b:	e8 b2 7c ff ff       	call   0x401052
4093a0:	be 04 01 00 00       	mov    $0x104,%esi
4093a5:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4093a8:	56                   	push   %esi
4093a9:	8d 85 44 fd ff ff    	lea    -0x2bc(%ebp),%eax
4093af:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
4093b5:	53                   	push   %ebx
4093b6:	50                   	push   %eax
4093b7:	e8 96 7c ff ff       	call   0x401052
4093bc:	83 c4 14             	add    $0x14,%esp
4093bf:	8d 95 44 fd ff ff    	lea    -0x2bc(%ebp),%edx
4093c5:	b9 18 2f 41 00       	mov    $0x412f18,%ecx
4093ca:	e8 ef 19 00 00       	call   0x40adbe
4093cf:	59                   	pop    %ecx
4093d0:	8d 85 44 fd ff ff    	lea    -0x2bc(%ebp),%eax
4093d6:	50                   	push   %eax
4093d7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4093da:	e8 33 a0 ff ff       	call   0x403412
4093df:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
4093e5:	50                   	push   %eax
4093e6:	8d 85 44 fd ff ff    	lea    -0x2bc(%ebp),%eax
4093ec:	50                   	push   %eax
4093ed:	ff 15 b0 20 41 00    	call   *0x4120b0
4093f3:	51                   	push   %ecx
4093f4:	8d 45 d8             	lea    -0x28(%ebp),%eax
4093f7:	8b cc                	mov    %esp,%ecx
4093f9:	50                   	push   %eax
4093fa:	e8 5b a0 ff ff       	call   0x40345a
4093ff:	8b cf                	mov    %edi,%ecx
409401:	e8 1e 0f 00 00       	call   0x40a324
409406:	85 c0                	test   %eax,%eax
409408:	75 1f                	jne    0x409429
40940a:	51                   	push   %ecx
40940b:	8d 45 d8             	lea    -0x28(%ebp),%eax
40940e:	8b cc                	mov    %esp,%ecx
409410:	50                   	push   %eax
409411:	e8 44 a0 ff ff       	call   0x40345a
409416:	8b cf                	mov    %edi,%ecx
409418:	e8 07 0f 00 00       	call   0x40a324
40941d:	85 c0                	test   %eax,%eax
40941f:	75 08                	jne    0x409429
409421:	8b 75 ec             	mov    -0x14(%ebp),%esi
409424:	e9 67 04 00 00       	jmp    0x409890
409429:	68 38 2f 41 00       	push   $0x412f38
40942e:	8d 4d 08             	lea    0x8(%ebp),%ecx
409431:	e8 61 9e ff ff       	call   0x403297
409436:	8d 45 08             	lea    0x8(%ebp),%eax
409439:	50                   	push   %eax
40943a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40943d:	e8 18 a0 ff ff       	call   0x40345a
409442:	68 ac 2e 41 00       	push   $0x412eac
409447:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40944a:	e8 48 9e ff ff       	call   0x403297
40944f:	68 44 2e 41 00       	push   $0x412e44
409454:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409457:	e8 b6 9f ff ff       	call   0x403412
40945c:	50                   	push   %eax
40945d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
409460:	e8 ff 9d ff ff       	call   0x403264
409465:	8b 4d dc             	mov    -0x24(%ebp),%ecx
409468:	e8 c0 c5 ff ff       	call   0x405a2d
40946d:	53                   	push   %ebx
40946e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
409471:	e8 29 9c ff ff       	call   0x40309f
409476:	ff 75 e0             	push   -0x20(%ebp)
409479:	56                   	push   %esi
40947a:	e9 e0 03 00 00       	jmp    0x40985f
40947f:	8b 75 cc             	mov    -0x34(%ebp),%esi
409482:	8d 4d c8             	lea    -0x38(%ebp),%ecx
409485:	46                   	inc    %esi
409486:	68 44 2e 41 00       	push   $0x412e44
40948b:	89 75 cc             	mov    %esi,-0x34(%ebp)
40948e:	e8 7f 9f ff ff       	call   0x403412
409493:	50                   	push   %eax
409494:	8d 4d ec             	lea    -0x14(%ebp),%ecx
409497:	e8 c8 9d ff ff       	call   0x403264
40949c:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40949f:	e8 89 c5 ff ff       	call   0x405a2d
4094a4:	56                   	push   %esi
4094a5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4094a8:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4094ab:	e8 ef 9b ff ff       	call   0x40309f
4094b0:	8d 45 08             	lea    0x8(%ebp),%eax
4094b3:	50                   	push   %eax
4094b4:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4094b7:	e8 9e 9f ff ff       	call   0x40345a
4094bc:	8d 85 3c fb ff ff    	lea    -0x4c4(%ebp),%eax
4094c2:	50                   	push   %eax
4094c3:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4094c6:	e8 cc 9d ff ff       	call   0x403297
4094cb:	8d 45 e8             	lea    -0x18(%ebp),%eax
4094ce:	50                   	push   %eax
4094cf:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4094d2:	e8 aa 9e ff ff       	call   0x403381
4094d7:	ff 75 e8             	push   -0x18(%ebp)
4094da:	ff 57 68             	call   *0x68(%edi)
4094dd:	59                   	pop    %ecx
4094de:	85 c0                	test   %eax,%eax
4094e0:	74 15                	je     0x4094f7
4094e2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4094e5:	e8 43 c5 ff ff       	call   0x405a2d
4094ea:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4094ed:	e8 3b c5 ff ff       	call   0x405a2d
4094f2:	e9 5d 03 00 00       	jmp    0x409854
4094f7:	ff 97 80 00 00 00    	call   *0x80(%edi)
4094fd:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
409503:	85 c0                	test   %eax,%eax
409505:	74 db                	je     0x4094e2
409507:	53                   	push   %ebx
409508:	6a 01                	push   $0x1
40950a:	50                   	push   %eax
40950b:	ff 57 7c             	call   *0x7c(%edi)
40950e:	83 c4 0c             	add    $0xc,%esp
409511:	85 c0                	test   %eax,%eax
409513:	75 cd                	jne    0x4094e2
409515:	8d 45 f8             	lea    -0x8(%ebp),%eax
409518:	50                   	push   %eax
409519:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40951c:	e8 39 9f ff ff       	call   0x40345a
409521:	68 c8 2e 41 00       	push   $0x412ec8
409526:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409529:	e8 69 9d ff ff       	call   0x403297
40952e:	6a 1a                	push   $0x1a
409530:	5a                   	pop    %edx
409531:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409534:	e8 22 42 00 00       	call   0x40d75b
409539:	68 44 26 41 00       	push   $0x412644
40953e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409541:	e8 51 9d ff ff       	call   0x403297
409546:	6a 08                	push   $0x8
409548:	5a                   	pop    %edx
409549:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40954c:	e8 83 9d ff ff       	call   0x4032d4
409551:	50                   	push   %eax
409552:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409555:	e8 08 9c ff ff       	call   0x403162
40955a:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
40955d:	e8 cb c4 ff ff       	call   0x405a2d
409562:	68 40 2b 41 00       	push   $0x412b40
409567:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40956a:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40956d:	e8 25 9d ff ff       	call   0x403297
409572:	8b 75 f4             	mov    -0xc(%ebp),%esi
409575:	8b 7d f0             	mov    -0x10(%ebp),%edi
409578:	53                   	push   %ebx
409579:	56                   	push   %esi
40957a:	57                   	push   %edi
40957b:	ff 15 34 21 41 00    	call   *0x412134
409581:	85 c0                	test   %eax,%eax
409583:	74 0f                	je     0x409594
409585:	8d 45 f4             	lea    -0xc(%ebp),%eax
409588:	50                   	push   %eax
409589:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40958c:	e8 d3 9c ff ff       	call   0x403264
409591:	8b 7d f0             	mov    -0x10(%ebp),%edi
409594:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
40959a:	e8 cd 48 00 00       	call   0x40de6c
40959f:	8d 45 f0             	lea    -0x10(%ebp),%eax
4095a2:	50                   	push   %eax
4095a3:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
4095a9:	e8 b6 9c ff ff       	call   0x403264
4095ae:	51                   	push   %ecx
4095af:	68 00 00 00 c0       	push   $0xc0000000
4095b4:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
4095ba:	e8 71 4b 00 00       	call   0x40e130
4095bf:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
4095c5:	85 c0                	test   %eax,%eax
4095c7:	0f 84 5b 02 00 00    	je     0x409828
4095cd:	53                   	push   %ebx