40927f:	2b cb                	sub    %ebx,%ecx
409281:	8d 34 58             	lea    (%eax,%ebx,2),%esi
409284:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
40928b:	50                   	push   %eax
40928c:	8d 46 02             	lea    0x2(%esi),%eax
40928f:	56                   	push   %esi
409290:	50                   	push   %eax
409291:	e8 ea 23 01 00       	call   0x41b680
409296:	8b 45 bc             	mov    -0x44(%ebp),%eax
409299:	83 c4 0c             	add    $0xc,%esp
40929c:	66 89 06             	mov    %ax,(%esi)
40929f:	8b f0                	mov    %eax,%esi
4092a1:	eb 15                	jmp    0x4092b8
4092a3:	56                   	push   %esi
4092a4:	6a 01                	push   $0x1
4092a6:	53                   	push   %ebx
4092a7:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
4092ab:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4092ae:	ff 75 a8             	push   -0x58(%ebp)
4092b1:	6a 01                	push   $0x1
4092b3:	e8 68 13 00 00       	call   0x40a620
4092b8:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
4092bc:	8d 47 01             	lea    0x1(%edi),%eax
4092bf:	0f 4f f8             	cmovg  %eax,%edi
4092c2:	8a 07                	mov    (%edi),%al
4092c4:	3c 7f                	cmp    $0x7f,%al
4092c6:	0f 85 74 ff ff ff    	jne    0x409240
4092cc:	8b 55 b8             	mov    -0x48(%ebp),%edx
4092cf:	8b 45 ac             	mov    -0x54(%ebp),%eax
4092d2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4092d5:	89 4d bc             	mov    %ecx,-0x44(%ebp)
4092d8:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
4092dc:	8b 78 20             	mov    0x20(%eax),%edi
4092df:	7c 0e                	jl     0x4092ef
4092e1:	7f 04                	jg     0x4092e7
4092e3:	85 ff                	test   %edi,%edi
4092e5:	74 08                	je     0x4092ef
4092e7:	3b f9                	cmp    %ecx,%edi
4092e9:	76 04                	jbe    0x4092ef
4092eb:	2b f9                	sub    %ecx,%edi
4092ed:	eb 02                	jmp    0x4092f1
4092ef:	33 ff                	xor    %edi,%edi
4092f1:	8b 40 14             	mov    0x14(%eax),%eax
4092f4:	8b 75 1c             	mov    0x1c(%ebp),%esi
4092f7:	25 c0 01 00 00       	and    $0x1c0,%eax
4092fc:	8b 5d 08             	mov    0x8(%ebp),%ebx
4092ff:	83 f8 40             	cmp    $0x40,%eax
409302:	0f 84 84 00 00 00    	je     0x40938c
409308:	3d 00 01 00 00       	cmp    $0x100,%eax
40930d:	74 40                	je     0x40934f
40930f:	57                   	push   %edi
409310:	56                   	push   %esi
409311:	ff 75 14             	push   0x14(%ebp)
409314:	8d 45 b0             	lea    -0x50(%ebp),%eax
409317:	ff 75 10             	push   0x10(%ebp)
40931a:	50                   	push   %eax
40931b:	53                   	push   %ebx
40931c:	e8 ff fb ff ff       	call   0x408f20
409321:	8b 75 b8             	mov    -0x48(%ebp),%esi
409324:	33 ff                	xor    %edi,%edi
409326:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40932a:	56                   	push   %esi
40932b:	8b 10                	mov    (%eax),%edx
40932d:	8b 48 04             	mov    0x4(%eax),%ecx
409330:	8d 45 d8             	lea    -0x28(%ebp),%eax
409333:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
409337:	50                   	push   %eax
409338:	51                   	push   %ecx
409339:	52                   	push   %edx
40933a:	8d 45 b0             	lea    -0x50(%ebp),%eax
40933d:	89 55 10             	mov    %edx,0x10(%ebp)
409340:	50                   	push   %eax
409341:	53                   	push   %ebx
409342:	89 4d 14             	mov    %ecx,0x14(%ebp)
409345:	e8 66 fc ff ff       	call   0x408fb0
40934a:	83 c4 30             	add    $0x30,%esp
40934d:	eb 60                	jmp    0x4093af
40934f:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
409353:	8d 45 d8             	lea    -0x28(%ebp),%eax
409356:	52                   	push   %edx
409357:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
40935b:	50                   	push   %eax
40935c:	ff 75 14             	push   0x14(%ebp)
40935f:	8d 45 b0             	lea    -0x50(%ebp),%eax
409362:	ff 75 10             	push   0x10(%ebp)
409365:	50                   	push   %eax
409366:	53                   	push   %ebx
409367:	e8 44 fc ff ff       	call   0x408fb0
40936c:	57                   	push   %edi
40936d:	56                   	push   %esi
40936e:	8b 08                	mov    (%eax),%ecx
409370:	8b 40 04             	mov    0x4(%eax),%eax
409373:	50                   	push   %eax
409374:	89 45 14             	mov    %eax,0x14(%ebp)
409377:	8d 45 b0             	lea    -0x50(%ebp),%eax
40937a:	51                   	push   %ecx
40937b:	50                   	push   %eax
40937c:	53                   	push   %ebx
40937d:	89 4d 10             	mov    %ecx,0x10(%ebp)
409380:	e8 9b fb ff ff       	call   0x408f20
409385:	83 c4 30             	add    $0x30,%esp
409388:	33 ff                	xor    %edi,%edi
40938a:	eb 20                	jmp    0x4093ac
40938c:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
409390:	8d 45 d8             	lea    -0x28(%ebp),%eax
409393:	52                   	push   %edx
409394:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
409398:	50                   	push   %eax
409399:	ff 75 14             	push   0x14(%ebp)
40939c:	8d 45 b0             	lea    -0x50(%ebp),%eax
40939f:	ff 75 10             	push   0x10(%ebp)
4093a2:	50                   	push   %eax
4093a3:	53                   	push   %ebx
4093a4:	e8 07 fc ff ff       	call   0x408fb0
4093a9:	83 c4 18             	add    $0x18,%esp
4093ac:	8b 75 b8             	mov    -0x48(%ebp),%esi
4093af:	8b 10                	mov    (%eax),%edx
4093b1:	8b 48 04             	mov    0x4(%eax),%ecx
4093b4:	8d 45 d8             	lea    -0x28(%ebp),%eax
4093b7:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4093bb:	89 55 10             	mov    %edx,0x10(%ebp)
4093be:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4093c2:	29 75 bc             	sub    %esi,-0x44(%ebp)
4093c5:	ff 75 bc             	push   -0x44(%ebp)
4093c8:	89 4d 14             	mov    %ecx,0x14(%ebp)
4093cb:	8d 04 70             	lea    (%eax,%esi,2),%eax
4093ce:	50                   	push   %eax
4093cf:	51                   	push   %ecx
4093d0:	52                   	push   %edx
4093d1:	8d 45 b0             	lea    -0x50(%ebp),%eax
4093d4:	50                   	push   %eax
4093d5:	53                   	push   %ebx
4093d6:	e8 d5 fb ff ff       	call   0x408fb0
4093db:	8b 55 ac             	mov    -0x54(%ebp),%edx
4093de:	8b 75 a0             	mov    -0x60(%ebp),%esi
4093e1:	57                   	push   %edi
4093e2:	8b 08                	mov    (%eax),%ecx
4093e4:	8b 40 04             	mov    0x4(%eax),%eax
4093e7:	ff 75 1c             	push   0x1c(%ebp)
4093ea:	89 4d 10             	mov    %ecx,0x10(%ebp)
4093ed:	50                   	push   %eax
4093ee:	51                   	push   %ecx
4093ef:	56                   	push   %esi
4093f0:	53                   	push   %ebx
4093f1:	89 45 14             	mov    %eax,0x14(%ebp)
4093f4:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
4093fb:	c7 42 24 00 00 00 00 	movl   $0x0,0x24(%edx)
409402:	e8 19 fb ff ff       	call   0x408f20
409407:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40940a:	83 c4 30             	add    $0x30,%esp
40940d:	83 f9 10             	cmp    $0x10,%ecx
409410:	72 28                	jb     0x40943a
409412:	8b 55 c0             	mov    -0x40(%ebp),%edx
409415:	41                   	inc    %ecx
409416:	8b c2                	mov    %edx,%eax
409418:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40941e:	72 10                	jb     0x409430
409420:	8b 50 fc             	mov    -0x4(%eax),%edx
409423:	83 c1 23             	add    $0x23,%ecx
409426:	2b c2                	sub    %edx,%eax
409428:	83 c0 fc             	add    $0xfffffffc,%eax
40942b:	83 f8 1f             	cmp    $0x1f,%eax
40942e:	77 75                	ja     0x4094a5
409430:	51                   	push   %ecx
409431:	52                   	push   %edx
409432:	e8 81 07 01 00       	call   0x419bb8
409437:	83 c4 08             	add    $0x8,%esp
40943a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40943d:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
409444:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
40944b:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
40944f:	83 f9 08             	cmp    $0x8,%ecx
409452:	72 2e                	jb     0x409482
409454:	8b 55 d8             	mov    -0x28(%ebp),%edx
409457:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40945e:	8b c2                	mov    %edx,%eax
409460:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409466:	72 10                	jb     0x409478
409468:	8b 50 fc             	mov    -0x4(%eax),%edx
40946b:	83 c1 23             	add    $0x23,%ecx
40946e:	2b c2                	sub    %edx,%eax
409470:	83 c0 fc             	add    $0xfffffffc,%eax
409473:	83 f8 1f             	cmp    $0x1f,%eax
409476:	77 2d                	ja     0x4094a5
409478:	51                   	push   %ecx
409479:	52                   	push   %edx
40947a:	e8 39 07 01 00       	call   0x419bb8
40947f:	83 c4 08             	add    $0x8,%esp
409482:	8b c6                	mov    %esi,%eax
409484:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409487:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40948e:	59                   	pop    %ecx
40948f:	5f                   	pop    %edi
409490:	5e                   	pop    %esi
409491:	5b                   	pop    %ebx
409492:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409495:	33 cd                	xor    %ebp,%ecx
409497:	e8 0e 07 01 00       	call   0x419baa
40949c:	8b e5                	mov    %ebp,%esp
40949e:	5d                   	pop    %ebp
40949f:	c3                   	ret
4094a0:	e8 5b bb ff ff       	call   0x405000
4094a5:	e8 e9 64 01 00       	call   0x41f993
4094aa:	cc                   	int3
4094ab:	cc                   	int3
4094ac:	cc                   	int3
4094ad:	cc                   	int3
4094ae:	cc                   	int3
4094af:	cc                   	int3
4094b0:	55                   	push   %ebp
4094b1:	8b ec                	mov    %esp,%ebp
4094b3:	6a ff                	push   $0xffffffff
4094b5:	68 a5 bf 43 00       	push   $0x43bfa5
4094ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4094c0:	50                   	push   %eax
4094c1:	83 ec 60             	sub    $0x60,%esp
4094c4:	a1 14 50 45 00       	mov    0x455014,%eax
4094c9:	33 c5                	xor    %ebp,%eax
4094cb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4094ce:	53                   	push   %ebx
4094cf:	56                   	push   %esi
4094d0:	57                   	push   %edi
4094d1:	50                   	push   %eax
4094d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4094d5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4094db:	8b 55 24             	mov    0x24(%ebp),%edx
4094de:	8b 45 0c             	mov    0xc(%ebp),%eax
4094e1:	8b 7d 18             	mov    0x18(%ebp),%edi
4094e4:	8b 5d 20             	mov    0x20(%ebp),%ebx
4094e7:	89 45 94             	mov    %eax,-0x6c(%ebp)
4094ea:	89 7d 9c             	mov    %edi,-0x64(%ebp)
4094ed:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
4094f0:	89 55 98             	mov    %edx,-0x68(%ebp)
4094f3:	85 d2                	test   %edx,%edx
4094f5:	74 11                	je     0x409508
4094f7:	8a 03                	mov    (%ebx),%al
4094f9:	3c 2b                	cmp    $0x2b,%al
4094fb:	74 04                	je     0x409501
4094fd:	3c 2d                	cmp    $0x2d,%al
4094ff:	75 07                	jne    0x409508
409501:	b9 01 00 00 00       	mov    $0x1,%ecx
409506:	eb 02                	jmp    0x40950a
409508:	33 c9                	xor    %ecx,%ecx
40950a:	8b 47 14             	mov    0x14(%edi),%eax
40950d:	25 00 30 00 00       	and    $0x3000,%eax
409512:	89 4d b8             	mov    %ecx,-0x48(%ebp)
409515:	3d 00 30 00 00       	cmp    $0x3000,%eax
40951a:	74 07                	je     0x409523
40951c:	b8 a4 ee 44 00       	mov    $0x44eea4,%eax
409521:	eb 21                	jmp    0x409544
409523:	8d 71 02             	lea    0x2(%ecx),%esi
409526:	3b f2                	cmp    %edx,%esi
409528:	77 15                	ja     0x40953f
40952a:	80 3c 0b 30          	cmpb   $0x30,(%ebx,%ecx,1)
40952e:	75 0f                	jne    0x40953f
409530:	8a 44 0b 01          	mov    0x1(%ebx,%ecx,1),%al
409534:	3c 78                	cmp    $0x78,%al
409536:	74 04                	je     0x40953c
409538:	3c 58                	cmp    $0x58,%al
40953a:	75 03                	jne    0x40953f
40953c:	89 75 b8             	mov    %esi,-0x48(%ebp)
40953f:	b8 a8 ee 44 00       	mov    $0x44eea8,%eax
409544:	50                   	push   %eax
409545:	53                   	push   %ebx
409546:	e8 25 b3 01 00       	call   0x424870
40954b:	89 45 a8             	mov    %eax,-0x58(%ebp)
40954e:	b8 2e 00 00 00       	mov    $0x2e,%eax
409553:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
409557:	e8 de b3 01 00       	call   0x42493a
40955c:	8b 00                	mov    (%eax),%eax
40955e:	8a 00                	mov    (%eax),%al
409560:	88 45 ec             	mov    %al,-0x14(%ebp)
409563:	8d 45 ec             	lea    -0x14(%ebp),%eax
409566:	50                   	push   %eax
409567:	53                   	push   %ebx
409568:	e8 03 b3 01 00       	call   0x424870
40956d:	8b d8                	mov    %eax,%ebx
40956f:	83 c4 10             	add    $0x10,%esp
409572:	8b 47 30             	mov    0x30(%edi),%eax
409575:	8b 78 04             	mov    0x4(%eax),%edi
409578:	89 7d a4             	mov    %edi,-0x5c(%ebp)
40957b:	8b 07                	mov    (%edi),%eax
40957d:	8b 70 04             	mov    0x4(%eax),%esi
409580:	8b ce                	mov    %esi,%ecx
409582:	ff 15 5c e2 43 00    	call   *0x43e25c
409588:	8b cf                	mov    %edi,%ecx
40958a:	ff d6                	call   *%esi
40958c:	8d 45 a0             	lea    -0x60(%ebp),%eax
40958f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409596:	50                   	push   %eax
409597:	e8 44 0f 00 00       	call   0x40a4e0
40959c:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4095a3:	83 c4 04             	add    $0x4,%esp
4095a6:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4095a9:	89 45 ac             	mov    %eax,-0x54(%ebp)
4095ac:	85 ff                	test   %edi,%edi
4095ae:	74 29                	je     0x4095d9
4095b0:	8b 07                	mov    (%edi),%eax
4095b2:	8b 70 08             	mov    0x8(%eax),%esi
4095b5:	8b ce                	mov    %esi,%ecx
4095b7:	ff 15 5c e2 43 00    	call   *0x43e25c
4095bd:	8b cf                	mov    %edi,%ecx
4095bf:	ff d6                	call   *%esi
4095c1:	8b f8                	mov    %eax,%edi
4095c3:	85 ff                	test   %edi,%edi
4095c5:	74 12                	je     0x4095d9
4095c7:	8b 07                	mov    (%edi),%eax
4095c9:	6a 01                	push   $0x1
4095cb:	8b 30                	mov    (%eax),%esi
4095cd:	8b ce                	mov    %esi,%ecx
4095cf:	ff 15 5c e2 43 00    	call   *0x43e25c
4095d5:	8b cf                	mov    %edi,%ecx
4095d7:	ff d6                	call   *%esi
4095d9:	8b 75 98             	mov    -0x68(%ebp),%esi
4095dc:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4095df:	6a 00                	push   $0x0
4095e1:	56                   	push   %esi
4095e2:	e8 39 e8 ff ff       	call   0x407e20
4095e7:	8b 7d ac             	mov    -0x54(%ebp),%edi
4095ea:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4095ed:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4095f4:	8b 55 b4             	mov    -0x4c(%ebp),%edx
4095f7:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
4095fb:	8b 0f                	mov    (%edi),%ecx
4095fd:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
409601:	50                   	push   %eax
409602:	8d 04 16             	lea    (%esi,%edx,1),%eax
409605:	8b 71 2c             	mov    0x2c(%ecx),%esi
409608:	8b ce                	mov    %esi,%ecx
40960a:	50                   	push   %eax
40960b:	52                   	push   %edx
40960c:	ff 15 5c e2 43 00    	call   *0x43e25c
409612:	8b cf                	mov    %edi,%ecx
409614:	ff d6                	call   *%esi
409616:	8b 55 9c             	mov    -0x64(%ebp),%edx
409619:	8b 42 30             	mov    0x30(%edx),%eax
40961c:	8b 78 04             	mov    0x4(%eax),%edi
40961f:	89 7d b4             	mov    %edi,-0x4c(%ebp)
409622:	8b 07                	mov    (%edi),%eax
409624:	8b 70 04             	mov    0x4(%eax),%esi
409627:	8b ce                	mov    %esi,%ecx
409629:	ff 15 5c e2 43 00    	call   *0x43e25c
40962f:	8b cf                	mov    %edi,%ecx
409631:	ff d6                	call   *%esi
409633:	8d 45 b0             	lea    -0x50(%ebp),%eax
409636:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40963a:	50                   	push   %eax
40963b:	e8 60 0d 00 00       	call   0x40a3a0
409640:	8b f8                	mov    %eax,%edi
409642:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)