409208:	89 44 24 08          	mov    %eax,0x8(%esp)
40920c:	a1 e8 1c 40 00       	mov    0x401ce8,%eax
409211:	89 44 24 0c          	mov    %eax,0xc(%esp)
409215:	a1 ec 1c 40 00       	mov    0x401cec,%eax
40921a:	89 44 24 10          	mov    %eax,0x10(%esp)
40921e:	a1 10 1d 40 00       	mov    0x401d10,%eax
409223:	89 44 24 14          	mov    %eax,0x14(%esp)
409227:	a1 14 1d 40 00       	mov    0x401d14,%eax
40922c:	89 44 24 18          	mov    %eax,0x18(%esp)
409230:	8d 46 24             	lea    0x24(%esi),%eax
409233:	50                   	push   %eax
409234:	6a 03                	push   $0x3
409236:	5a                   	pop    %edx
409237:	e8 2a fd ff ff       	call   0x408f66
40923c:	80 7e 68 00          	cmpb   $0x0,0x68(%esi)
409240:	74 7c                	je     0x4092be
409242:	a1 38 1d 40 00       	mov    0x401d38,%eax
409247:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40924b:	89 44 24 04          	mov    %eax,0x4(%esp)
40924f:	a1 3c 1d 40 00       	mov    0x401d3c,%eax
409254:	89 44 24 08          	mov    %eax,0x8(%esp)
409258:	a1 e0 1c 40 00       	mov    0x401ce0,%eax
40925d:	89 44 24 0c          	mov    %eax,0xc(%esp)
409261:	a1 e4 1c 40 00       	mov    0x401ce4,%eax
409266:	89 44 24 10          	mov    %eax,0x10(%esp)
40926a:	a1 20 1d 40 00       	mov    0x401d20,%eax
40926f:	89 44 24 14          	mov    %eax,0x14(%esp)
409273:	a1 24 1d 40 00       	mov    0x401d24,%eax
409278:	89 44 24 18          	mov    %eax,0x18(%esp)
40927c:	a1 f0 1c 40 00       	mov    0x401cf0,%eax
409281:	89 44 24 1c          	mov    %eax,0x1c(%esp)
409285:	a1 f4 1c 40 00       	mov    0x401cf4,%eax
40928a:	89 44 24 20          	mov    %eax,0x20(%esp)
40928e:	a1 00 1d 40 00       	mov    0x401d00,%eax
409293:	89 44 24 24          	mov    %eax,0x24(%esp)
409297:	a1 04 1d 40 00       	mov    0x401d04,%eax
40929c:	89 44 24 28          	mov    %eax,0x28(%esp)
4092a0:	a1 30 1d 40 00       	mov    0x401d30,%eax
4092a5:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4092a9:	a1 34 1d 40 00       	mov    0x401d34,%eax
4092ae:	89 44 24 30          	mov    %eax,0x30(%esp)
4092b2:	8d 46 48             	lea    0x48(%esi),%eax
4092b5:	50                   	push   %eax
4092b6:	6a 06                	push   $0x6
4092b8:	5a                   	pop    %edx
4092b9:	e8 a8 fc ff ff       	call   0x408f66
4092be:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4092c2:	5e                   	pop    %esi
4092c3:	33 cc                	xor    %esp,%ecx
4092c5:	e8 a6 85 01 00       	call   0x421870
4092ca:	8b e5                	mov    %ebp,%esp
4092cc:	5d                   	pop    %ebp
4092cd:	c3                   	ret
4092ce:	8b ff                	mov    %edi,%edi
4092d0:	53                   	push   %ebx
4092d1:	8b dc                	mov    %esp,%ebx
4092d3:	51                   	push   %ecx
4092d4:	51                   	push   %ecx
4092d5:	83 e4 f8             	and    $0xfffffff8,%esp
4092d8:	83 c4 04             	add    $0x4,%esp
4092db:	55                   	push   %ebp
4092dc:	8b 6b 04             	mov    0x4(%ebx),%ebp
4092df:	89 6c 24 04          	mov    %ebp,0x4(%esp)
4092e3:	8b ec                	mov    %esp,%ebp
4092e5:	51                   	push   %ecx
4092e6:	51                   	push   %ecx
4092e7:	8b 43 08             	mov    0x8(%ebx),%eax
4092ea:	33 d2                	xor    %edx,%edx
4092ec:	56                   	push   %esi
4092ed:	8d 71 18             	lea    0x18(%ecx),%esi
4092f0:	57                   	push   %edi
4092f1:	83 20 00             	andl   $0x0,(%eax)
4092f4:	8b 46 04             	mov    0x4(%esi),%eax
4092f7:	8b 3e                	mov    (%esi),%edi
4092f9:	2b c7                	sub    %edi,%eax
4092fb:	c1 e8 03             	shr    $0x3,%eax
4092fe:	85 c0                	test   %eax,%eax
409300:	74 12                	je     0x409314
409302:	83 3c d7 00          	cmpl   $0x0,(%edi,%edx,8)
409306:	8d 4a 01             	lea    0x1(%edx),%ecx
409309:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40930c:	74 3b                	je     0x409349
40930e:	8b d1                	mov    %ecx,%edx
409310:	3b d0                	cmp    %eax,%edx
409312:	72 ee                	jb     0x409302
409314:	8b 43 0c             	mov    0xc(%ebx),%eax
409317:	8b ce                	mov    %esi,%ecx
409319:	89 45 f8             	mov    %eax,-0x8(%ebp)
40931c:	8b 43 10             	mov    0x10(%ebx),%eax
40931f:	89 45 fc             	mov    %eax,-0x4(%ebp)
409322:	8d 45 f8             	lea    -0x8(%ebp),%eax
409325:	6a 08                	push   $0x8
409327:	50                   	push   %eax
409328:	e8 4c f0 ff ff       	call   0x408379
40932d:	84 c0                	test   %al,%al
40932f:	74 0d                	je     0x40933e
409331:	8b 46 04             	mov    0x4(%esi),%eax
409334:	2b 06                	sub    (%esi),%eax
409336:	8b 4b 08             	mov    0x8(%ebx),%ecx
409339:	c1 e8 03             	shr    $0x3,%eax
40933c:	89 01                	mov    %eax,(%ecx)
40933e:	5f                   	pop    %edi
40933f:	5e                   	pop    %esi
409340:	8b e5                	mov    %ebp,%esp
409342:	5d                   	pop    %ebp
409343:	8b e3                	mov    %ebx,%esp
409345:	5b                   	pop    %ebx
409346:	c2 0c 00             	ret    $0xc
409349:	8b 43 0c             	mov    0xc(%ebx),%eax
40934c:	8b 4b 10             	mov    0x10(%ebx),%ecx
40934f:	89 04 d7             	mov    %eax,(%edi,%edx,8)
409352:	8b 43 08             	mov    0x8(%ebx),%eax
409355:	89 4c d7 04          	mov    %ecx,0x4(%edi,%edx,8)
409359:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40935c:	89 08                	mov    %ecx,(%eax)
40935e:	eb de                	jmp    0x40933e
409360:	8b ff                	mov    %edi,%edi
409362:	55                   	push   %ebp
409363:	8b ec                	mov    %esp,%ebp
409365:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
409369:	56                   	push   %esi
40936a:	8b f1                	mov    %ecx,%esi
40936c:	74 46                	je     0x4093b4
40936e:	56                   	push   %esi
40936f:	ff 15 98 61 42 00    	call   *0x426198
409375:	ff 75 08             	push   0x8(%ebp)
409378:	ff 15 60 61 42 00    	call   *0x426160
40937e:	8b 46 1c             	mov    0x1c(%esi),%eax
409381:	8b 56 18             	mov    0x18(%esi),%edx
409384:	2b c2                	sub    %edx,%eax
409386:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409389:	49                   	dec    %ecx
40938a:	c1 e8 03             	shr    $0x3,%eax
40938d:	3b c8                	cmp    %eax,%ecx
40938f:	73 09                	jae    0x40939a
409391:	83 24 ca 00          	andl   $0x0,(%edx,%ecx,8)
409395:	83 64 ca 04 00       	andl   $0x0,0x4(%edx,%ecx,8)
40939a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40939e:	74 09                	je     0x4093a9
4093a0:	ff 75 08             	push   0x8(%ebp)
4093a3:	ff 15 6c 61 42 00    	call   *0x42616c
4093a9:	85 f6                	test   %esi,%esi
4093ab:	74 07                	je     0x4093b4
4093ad:	56                   	push   %esi
4093ae:	ff 15 8c 61 42 00    	call   *0x42618c
4093b4:	5e                   	pop    %esi
4093b5:	5d                   	pop    %ebp
4093b6:	c2 08 00             	ret    $0x8
4093b9:	8b ff                	mov    %edi,%edi
4093bb:	55                   	push   %ebp
4093bc:	8b ec                	mov    %esp,%ebp
4093be:	83 ec 10             	sub    $0x10,%esp
4093c1:	56                   	push   %esi
4093c2:	57                   	push   %edi
4093c3:	8b 7d 08             	mov    0x8(%ebp),%edi
4093c6:	57                   	push   %edi
4093c7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4093ca:	ff 15 70 60 42 00    	call   *0x426070
4093d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4093d3:	8b 70 1c             	mov    0x1c(%eax),%esi
4093d6:	2b 70 18             	sub    0x18(%eax),%esi
4093d9:	c1 ee 03             	shr    $0x3,%esi
4093dc:	85 ff                	test   %edi,%edi
4093de:	74 0a                	je     0x4093ea
4093e0:	57                   	push   %edi
4093e1:	ff 15 4c 61 42 00    	call   *0x42614c
4093e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4093ea:	33 ff                	xor    %edi,%edi
4093ec:	85 f6                	test   %esi,%esi
4093ee:	0f 84 8a 00 00 00    	je     0x40947e
4093f4:	33 c9                	xor    %ecx,%ecx
4093f6:	21 4d f4             	and    %ecx,-0xc(%ebp)
4093f9:	50                   	push   %eax
4093fa:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4093fd:	ff 15 98 61 42 00    	call   *0x426198
409403:	ff 75 08             	push   0x8(%ebp)
409406:	ff 15 60 61 42 00    	call   *0x426160
40940c:	3b fe                	cmp    %esi,%edi
40940e:	73 2f                	jae    0x40943f
409410:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409413:	8b 51 18             	mov    0x18(%ecx),%edx
409416:	8d 04 fa             	lea    (%edx,%edi,8),%eax
409419:	83 38 00             	cmpl   $0x0,(%eax)
40941c:	8d 4f 01             	lea    0x1(%edi),%ecx
40941f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
409422:	75 0b                	jne    0x40942f
409424:	8b f9                	mov    %ecx,%edi
409426:	83 c0 08             	add    $0x8,%eax
409429:	3b fe                	cmp    %esi,%edi
40942b:	72 ec                	jb     0x409419
40942d:	eb 10                	jmp    0x40943f
40942f:	8b 0c fa             	mov    (%edx,%edi,8),%ecx
409432:	8b 44 fa 04          	mov    0x4(%edx,%edi,8),%eax
409436:	8b 7d f0             	mov    -0x10(%ebp),%edi
409439:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40943c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40943f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
409443:	74 09                	je     0x40944e
409445:	ff 75 08             	push   0x8(%ebp)
409448:	ff 15 6c 61 42 00    	call   *0x42616c
40944e:	8b 45 f8             	mov    -0x8(%ebp),%eax
409451:	85 c0                	test   %eax,%eax
409453:	74 10                	je     0x409465
409455:	ff 75 f4             	push   -0xc(%ebp)
409458:	8b c8                	mov    %eax,%ecx
40945a:	ff 15 78 64 42 00    	call   *0x426478
409460:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409463:	ff d1                	call   *%ecx
409465:	8b 45 fc             	mov    -0x4(%ebp),%eax
409468:	85 c0                	test   %eax,%eax
40946a:	74 0a                	je     0x409476
40946c:	50                   	push   %eax
40946d:	ff 15 8c 61 42 00    	call   *0x42618c
409473:	8b 45 fc             	mov    -0x4(%ebp),%eax
409476:	3b fe                	cmp    %esi,%edi
409478:	0f 82 76 ff ff ff    	jb     0x4093f4
40947e:	5f                   	pop    %edi
40947f:	5e                   	pop    %esi
409480:	c9                   	leave
409481:	c2 04 00             	ret    $0x4
409484:	8b ff                	mov    %edi,%edi
409486:	56                   	push   %esi
409487:	57                   	push   %edi
409488:	8b f9                	mov    %ecx,%edi
40948a:	e8 1c 00 00 00       	call   0x4094ab
40948f:	8d 77 70             	lea    0x70(%edi),%esi
409492:	8d 4e 24             	lea    0x24(%esi),%ecx
409495:	e8 ab 0e 00 00       	call   0x40a345
40949a:	56                   	push   %esi
40949b:	ff 15 74 60 42 00    	call   *0x426074
4094a1:	8d 4f 04             	lea    0x4(%edi),%ecx
4094a4:	5f                   	pop    %edi
4094a5:	5e                   	pop    %esi
4094a6:	e9 74 01 00 00       	jmp    0x40961f
4094ab:	8b ff                	mov    %edi,%edi
4094ad:	55                   	push   %ebp
4094ae:	8b ec                	mov    %esp,%ebp
4094b0:	83 ec 6c             	sub    $0x6c,%esp
4094b3:	56                   	push   %esi
4094b4:	8b f1                	mov    %ecx,%esi
4094b6:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4094b9:	e8 94 fc ff ff       	call   0x409152
4094be:	8d 45 94             	lea    -0x6c(%ebp),%eax
4094c1:	8b ce                	mov    %esi,%ecx
4094c3:	50                   	push   %eax
4094c4:	e8 0f 01 00 00       	call   0x4095d8
4094c9:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4094cc:	e8 bd fc ff ff       	call   0x40918e
4094d1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4094d4:	e8 6c 0e 00 00       	call   0x40a345
4094d9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4094dc:	e8 64 0e 00 00       	call   0x40a345
4094e1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4094e4:	e8 5c 0e 00 00       	call   0x40a345
4094e9:	5e                   	pop    %esi
4094ea:	c9                   	leave
4094eb:	c3                   	ret
4094ec:	8b ff                	mov    %edi,%edi
4094ee:	55                   	push   %ebp
4094ef:	8b ec                	mov    %esp,%ebp
4094f1:	53                   	push   %ebx
4094f2:	56                   	push   %esi
4094f3:	8b 75 0c             	mov    0xc(%ebp),%esi
4094f6:	57                   	push   %edi
4094f7:	8b f9                	mov    %ecx,%edi
4094f9:	81 fe fe 00 00 00    	cmp    $0xfe,%esi
4094ff:	74 76                	je     0x409577
409501:	bb 00 01 00 00       	mov    $0x100,%ebx
409506:	81 fe c8 00 00 00    	cmp    $0xc8,%esi
40950c:	72 10                	jb     0x40951e
40950e:	3b f3                	cmp    %ebx,%esi
409510:	7c 08                	jl     0x40951a
409512:	81 fe 00 02 00 00    	cmp    $0x200,%esi
409518:	72 04                	jb     0x40951e
40951a:	32 c0                	xor    %al,%al
40951c:	eb 60                	jmp    0x40957e
40951e:	57                   	push   %edi
40951f:	ff 15 60 61 42 00    	call   *0x426160
409525:	83 fe 02             	cmp    $0x2,%esi
409528:	74 2e                	je     0x409558
40952a:	83 fe 03             	cmp    $0x3,%esi
40952d:	74 29                	je     0x409558
40952f:	83 fe 06             	cmp    $0x6,%esi
409532:	74 24                	je     0x409558
409534:	83 fe 07             	cmp    $0x7,%esi
409537:	74 1f                	je     0x409558
409539:	3b f3                	cmp    %ebx,%esi
40953b:	7c 08                	jl     0x409545
40953d:	81 fe 80 01 00 00    	cmp    $0x180,%esi
409543:	7c 13                	jl     0x409558
409545:	ff 75 10             	push   0x10(%ebp)
409548:	8d 4f 28             	lea    0x28(%edi),%ecx
40954b:	ff 75 08             	push   0x8(%ebp)
40954e:	56                   	push   %esi
40954f:	e8 94 0d 00 00       	call   0x40a2e8
409554:	8a d8                	mov    %al,%bl
409556:	eb 10                	jmp    0x409568
409558:	51                   	push   %ecx
409559:	ff 75 08             	push   0x8(%ebp)
40955c:	8d 4f 04             	lea    0x4(%edi),%ecx
40955f:	56                   	push   %esi
409560:	e8 a0 0d 00 00       	call   0x40a305
409565:	8a 5f 24             	mov    0x24(%edi),%bl
409568:	85 ff                	test   %edi,%edi
40956a:	74 07                	je     0x409573
40956c:	57                   	push   %edi
40956d:	ff 15 6c 61 42 00    	call   *0x42616c
409573:	8a c3                	mov    %bl,%al
409575:	eb 07                	jmp    0x40957e
409577:	e8 09 00 00 00       	call   0x409585
40957c:	b0 01                	mov    $0x1,%al
40957e:	5f                   	pop    %edi
40957f:	5e                   	pop    %esi
409580:	5b                   	pop    %ebx
409581:	5d                   	pop    %ebp
409582:	c2 0c 00             	ret    $0xc
409585:	8b ff                	mov    %edi,%edi
409587:	55                   	push   %ebp
409588:	8b ec                	mov    %esp,%ebp
40958a:	83 ec 6c             	sub    $0x6c,%esp
40958d:	56                   	push   %esi
40958e:	8b f1                	mov    %ecx,%esi
409590:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
409593:	e8 ba fb ff ff       	call   0x409152
409598:	56                   	push   %esi
409599:	ff 15 60 61 42 00    	call   *0x426160
40959f:	8d 45 94             	lea    -0x6c(%ebp),%eax
4095a2:	8b ce                	mov    %esi,%ecx
4095a4:	50                   	push   %eax
4095a5:	e8 2e 00 00 00       	call   0x4095d8
4095aa:	85 f6                	test   %esi,%esi
4095ac:	74 07                	je     0x4095b5
4095ae:	56                   	push   %esi
4095af:	ff 15 6c 61 42 00    	call   *0x42616c
4095b5:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4095b8:	e8 d1 fb ff ff       	call   0x40918e
4095bd:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4095c0:	e8 80 0d 00 00       	call   0x40a345
4095c5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4095c8:	e8 78 0d 00 00       	call   0x40a345
4095cd:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4095d0:	e8 70 0d 00 00       	call   0x40a345
4095d5:	5e                   	pop    %esi
4095d6:	c9                   	leave
4095d7:	c3                   	ret
4095d8:	8b ff                	mov    %edi,%edi
4095da:	55                   	push   %ebp
4095db:	8b ec                	mov    %esp,%ebp
4095dd:	56                   	push   %esi
4095de:	8b f1                	mov    %ecx,%esi