41f311:	5f                   	pop    %edi
41f312:	8b c6                	mov    %esi,%eax
41f314:	5e                   	pop    %esi
41f315:	5b                   	pop    %ebx
41f316:	8b e5                	mov    %ebp,%esp
41f318:	5d                   	pop    %ebp
41f319:	c2 14 00             	ret    $0x14
41f31c:	55                   	push   %ebp
41f31d:	8b ec                	mov    %esp,%ebp
41f31f:	83 ec 0c             	sub    $0xc,%esp
41f322:	53                   	push   %ebx
41f323:	56                   	push   %esi
41f324:	57                   	push   %edi
41f325:	8b 7d 08             	mov    0x8(%ebp),%edi
41f328:	33 db                	xor    %ebx,%ebx
41f32a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41f32d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41f330:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41f333:	8b 47 0c             	mov    0xc(%edi),%eax
41f336:	83 b8 90 04 00 00 03 	cmpl   $0x3,0x490(%eax)
41f33d:	74 24                	je     0x41f363
41f33f:	be 9f 13 07 80       	mov    $0x8007139f,%esi
41f344:	56                   	push   %esi
41f345:	68 62 01 00 00       	push   $0x162
41f34a:	68 94 9d 45 00       	push   $0x459d94
41f34f:	e8 7f 44 fe ff       	call   0x4037d3
41f354:	68 c8 9e 45 00       	push   $0x459ec8
41f359:	56                   	push   %esi
41f35a:	e8 d0 0d 02 00       	call   0x44012f
41f35f:	59                   	pop    %ecx
41f360:	59                   	pop    %ecx
41f361:	eb 6b                	jmp    0x41f3ce
41f363:	ff 75 0c             	push   0xc(%ebp)
41f366:	8d 45 f8             	lea    -0x8(%ebp),%eax
41f369:	50                   	push   %eax
41f36a:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f36d:	50                   	push   %eax
41f36e:	e8 3f 04 02 00       	call   0x43f7b2
41f373:	8b f0                	mov    %eax,%esi
41f375:	85 f6                	test   %esi,%esi
41f377:	79 07                	jns    0x41f380
41f379:	68 c0 96 45 00       	push   $0x4596c0
41f37e:	eb d9                	jmp    0x41f359
41f380:	ff 75 10             	push   0x10(%ebp)
41f383:	8d 45 f8             	lea    -0x8(%ebp),%eax
41f386:	50                   	push   %eax
41f387:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f38a:	50                   	push   %eax
41f38b:	e8 22 04 02 00       	call   0x43f7b2
41f390:	8b f0                	mov    %eax,%esi
41f392:	85 f6                	test   %esi,%esi
41f394:	79 07                	jns    0x41f39d
41f396:	68 1c 9f 45 00       	push   $0x459f1c
41f39b:	eb bc                	jmp    0x41f359
41f39d:	8d 45 f4             	lea    -0xc(%ebp),%eax
41f3a0:	50                   	push   %eax
41f3a1:	8b 47 0c             	mov    0xc(%edi),%eax
41f3a4:	53                   	push   %ebx
41f3a5:	53                   	push   %ebx
41f3a6:	ff 75 f8             	push   -0x8(%ebp)
41f3a9:	ff 75 fc             	push   -0x4(%ebp)
41f3ac:	6a 02                	push   $0x2
41f3ae:	ff b0 c8 04 00 00    	push   0x4c8(%eax)
41f3b4:	e8 cc 5d ff ff       	call   0x415185
41f3b9:	8b f0                	mov    %eax,%esi
41f3bb:	85 f6                	test   %esi,%esi
41f3bd:	79 07                	jns    0x41f3c6
41f3bf:	68 5c 9f 45 00       	push   $0x459f5c
41f3c4:	eb 93                	jmp    0x41f359
41f3c6:	8b 4d 14             	mov    0x14(%ebp),%ecx
41f3c9:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f3cc:	89 01                	mov    %eax,(%ecx)
41f3ce:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
41f3d1:	74 08                	je     0x41f3db
41f3d3:	ff 75 fc             	push   -0x4(%ebp)
41f3d6:	e8 be 45 fe ff       	call   0x403999
41f3db:	5f                   	pop    %edi
41f3dc:	8b c6                	mov    %esi,%eax
41f3de:	5e                   	pop    %esi
41f3df:	5b                   	pop    %ebx
41f3e0:	8b e5                	mov    %ebp,%esp
41f3e2:	5d                   	pop    %ebp
41f3e3:	c2 10 00             	ret    $0x10
41f3e6:	55                   	push   %ebp
41f3e7:	8b ec                	mov    %esp,%ebp
41f3e9:	51                   	push   %ecx
41f3ea:	51                   	push   %ecx
41f3eb:	53                   	push   %ebx
41f3ec:	8b 5d 08             	mov    0x8(%ebp),%ebx
41f3ef:	33 c0                	xor    %eax,%eax
41f3f1:	56                   	push   %esi
41f3f2:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f3f5:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f3f8:	ff 73 0c             	push   0xc(%ebx)
41f3fb:	ff 15 b4 b1 44 00    	call   *0x44b1b4
41f401:	8b 43 0c             	mov    0xc(%ebx),%eax
41f404:	05 b8 00 00 00       	add    $0xb8,%eax
41f409:	50                   	push   %eax
41f40a:	e8 4a e0 fe ff       	call   0x40d459
41f40f:	8b f0                	mov    %eax,%esi
41f411:	85 f6                	test   %esi,%esi
41f413:	79 12                	jns    0x41f427
41f415:	68 24 a0 45 00       	push   $0x45a024
41f41a:	56                   	push   %esi
41f41b:	e8 0f 0d 02 00       	call   0x44012f
41f420:	59                   	pop    %ecx
41f421:	59                   	pop    %ecx
41f422:	e9 4c 01 00 00       	jmp    0x41f573
41f427:	57                   	push   %edi
41f428:	8b 7d 10             	mov    0x10(%ebp),%edi
41f42b:	33 c0                	xor    %eax,%eax
41f42d:	85 ff                	test   %edi,%edi
41f42f:	74 41                	je     0x41f472
41f431:	66 39 07             	cmp    %ax,(%edi)
41f434:	74 3c                	je     0x41f472
41f436:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f439:	50                   	push   %eax
41f43a:	8b 43 0c             	mov    0xc(%ebx),%eax
41f43d:	57                   	push   %edi
41f43e:	05 b8 02 00 00       	add    $0x2b8,%eax
41f443:	50                   	push   %eax
41f444:	e8 0e d8 fe ff       	call   0x40cc57
41f449:	8b f0                	mov    %eax,%esi
41f44b:	85 f6                	test   %esi,%esi
41f44d:	79 08                	jns    0x41f457
41f44f:	57                   	push   %edi
41f450:	68 54 a0 45 00       	push   $0x45a054
41f455:	eb 4e                	jmp    0x41f4a5
41f457:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f45a:	83 78 04 02          	cmpl   $0x2,0x4(%eax)
41f45e:	75 0d                	jne    0x41f46d
41f460:	57                   	push   %edi
41f461:	be dd 10 07 80       	mov    $0x800710dd,%esi
41f466:	68 40 a1 45 00       	push   $0x45a140
41f46b:	eb 38                	jmp    0x41f4a5
41f46d:	8d 78 40             	lea    0x40(%eax),%edi
41f470:	eb 47                	jmp    0x41f4b9
41f472:	8b 7d 0c             	mov    0xc(%ebp),%edi
41f475:	85 ff                	test   %edi,%edi
41f477:	0f 84 e3 00 00 00    	je     0x41f560
41f47d:	66 39 07             	cmp    %ax,(%edi)
41f480:	0f 84 da 00 00 00    	je     0x41f560
41f486:	8d 45 f8             	lea    -0x8(%ebp),%eax
41f489:	50                   	push   %eax
41f48a:	8b 43 0c             	mov    0xc(%ebx),%eax
41f48d:	57                   	push   %edi
41f48e:	05 a8 02 00 00       	add    $0x2a8,%eax
41f493:	50                   	push   %eax
41f494:	e8 10 cc fe ff       	call   0x40c0a9
41f499:	8b f0                	mov    %eax,%esi
41f49b:	85 f6                	test   %esi,%esi
41f49d:	79 14                	jns    0x41f4b3
41f49f:	57                   	push   %edi
41f4a0:	68 e8 a0 45 00       	push   $0x45a0e8
41f4a5:	56                   	push   %esi
41f4a6:	e8 84 0c 02 00       	call   0x44012f
41f4ab:	83 c4 0c             	add    $0xc,%esp
41f4ae:	e9 bf 00 00 00       	jmp    0x41f572
41f4b3:	8b 7d f8             	mov    -0x8(%ebp),%edi
41f4b6:	83 c7 2c             	add    $0x2c,%edi
41f4b9:	8b 45 14             	mov    0x14(%ebp),%eax
41f4bc:	85 c0                	test   %eax,%eax
41f4be:	74 6b                	je     0x41f52b
41f4c0:	33 c9                	xor    %ecx,%ecx
41f4c2:	66 39 08             	cmp    %cx,(%eax)
41f4c5:	74 64                	je     0x41f52b
41f4c7:	51                   	push   %ecx
41f4c8:	50                   	push   %eax
41f4c9:	57                   	push   %edi
41f4ca:	e8 d6 2c fe ff       	call   0x4021a5
41f4cf:	8b f0                	mov    %eax,%esi
41f4d1:	85 f6                	test   %esi,%esi
41f4d3:	79 0a                	jns    0x41f4df
41f4d5:	68 b0 a1 45 00       	push   $0x45a1b0
41f4da:	e9 8b 00 00 00       	jmp    0x41f56a
41f4df:	8b 45 18             	mov    0x18(%ebp),%eax
41f4e2:	85 c0                	test   %eax,%eax
41f4e4:	74 54                	je     0x41f53a
41f4e6:	33 c9                	xor    %ecx,%ecx
41f4e8:	66 39 08             	cmp    %cx,(%eax)
41f4eb:	74 4d                	je     0x41f53a
41f4ed:	51                   	push   %ecx
41f4ee:	50                   	push   %eax
41f4ef:	8d 47 04             	lea    0x4(%edi),%eax
41f4f2:	50                   	push   %eax
41f4f3:	e8 ad 2c fe ff       	call   0x4021a5
41f4f8:	8b f0                	mov    %eax,%esi
41f4fa:	85 f6                	test   %esi,%esi
41f4fc:	79 07                	jns    0x41f505
41f4fe:	68 cc a1 45 00       	push   $0x45a1cc
41f503:	eb 65                	jmp    0x41f56a
41f505:	8b 45 1c             	mov    0x1c(%ebp),%eax
41f508:	85 c0                	test   %eax,%eax
41f50a:	74 40                	je     0x41f54c
41f50c:	33 c9                	xor    %ecx,%ecx
41f50e:	66 39 08             	cmp    %cx,(%eax)
41f511:	74 39                	je     0x41f54c
41f513:	51                   	push   %ecx
41f514:	50                   	push   %eax
41f515:	8d 47 08             	lea    0x8(%edi),%eax
41f518:	50                   	push   %eax
41f519:	e8 87 2c fe ff       	call   0x4021a5
41f51e:	8b f0                	mov    %eax,%esi
41f520:	85 f6                	test   %esi,%esi
41f522:	79 4e                	jns    0x41f572
41f524:	68 ec a1 45 00       	push   $0x45a1ec
41f529:	eb 3f                	jmp    0x41f56a
41f52b:	83 3f 00             	cmpl   $0x0,(%edi)
41f52e:	74 0a                	je     0x41f53a
41f530:	ff 37                	push   (%edi)
41f532:	e8 b8 5f 02 00       	call   0x4454ef
41f537:	83 27 00             	andl   $0x0,(%edi)
41f53a:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
41f53e:	74 0c                	je     0x41f54c
41f540:	ff 77 04             	push   0x4(%edi)
41f543:	e8 a7 5f 02 00       	call   0x4454ef
41f548:	83 67 04 00          	andl   $0x0,0x4(%edi)
41f54c:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
41f550:	74 20                	je     0x41f572
41f552:	ff 77 08             	push   0x8(%edi)
41f555:	e8 95 5f 02 00       	call   0x4454ef
41f55a:	83 67 08 00          	andl   $0x0,0x8(%edi)
41f55e:	eb 12                	jmp    0x41f572
41f560:	be 57 00 07 80       	mov    $0x80070057,%esi
41f565:	68 84 a1 45 00       	push   $0x45a184
41f56a:	56                   	push   %esi
41f56b:	e8 bf 0b 02 00       	call   0x44012f
41f570:	59                   	pop    %ecx
41f571:	59                   	pop    %ecx
41f572:	5f                   	pop    %edi
41f573:	ff 73 0c             	push   0xc(%ebx)
41f576:	ff 15 b8 b1 44 00    	call   *0x44b1b8
41f57c:	8b c6                	mov    %esi,%eax
41f57e:	5e                   	pop    %esi
41f57f:	5b                   	pop    %ebx
41f580:	8b e5                	mov    %ebp,%esp
41f582:	5d                   	pop    %ebp
41f583:	c2 18 00             	ret    $0x18
41f586:	55                   	push   %ebp
41f587:	8b ec                	mov    %esp,%ebp
41f589:	51                   	push   %ecx
41f58a:	51                   	push   %ecx
41f58b:	56                   	push   %esi
41f58c:	8b 75 08             	mov    0x8(%ebp),%esi
41f58f:	57                   	push   %edi
41f590:	33 ff                	xor    %edi,%edi
41f592:	89 7d f8             	mov    %edi,-0x8(%ebp)
41f595:	ff 76 0c             	push   0xc(%esi)
41f598:	89 7d fc             	mov    %edi,-0x4(%ebp)
41f59b:	ff 15 b4 b1 44 00    	call   *0x44b1b4
41f5a1:	8b 46 0c             	mov    0xc(%esi),%eax
41f5a4:	05 b8 00 00 00       	add    $0xb8,%eax
41f5a9:	50                   	push   %eax
41f5aa:	e8 aa de fe ff       	call   0x40d459
41f5af:	8b f0                	mov    %eax,%esi
41f5b1:	85 f6                	test   %esi,%esi
41f5b3:	79 12                	jns    0x41f5c7
41f5b5:	68 24 a0 45 00       	push   $0x45a024
41f5ba:	56                   	push   %esi
41f5bb:	e8 6f 0b 02 00       	call   0x44012f
41f5c0:	59                   	pop    %ecx
41f5c1:	59                   	pop    %ecx
41f5c2:	e9 db 00 00 00       	jmp    0x41f6a2
41f5c7:	53                   	push   %ebx
41f5c8:	8b 5d 14             	mov    0x14(%ebp),%ebx
41f5cb:	85 db                	test   %ebx,%ebx
41f5cd:	0f 84 c9 00 00 00    	je     0x41f69c
41f5d3:	66 39 3b             	cmp    %di,(%ebx)
41f5d6:	0f 84 c0 00 00 00    	je     0x41f69c
41f5dc:	8b 7d 10             	mov    0x10(%ebp),%edi
41f5df:	33 c0                	xor    %eax,%eax
41f5e1:	85 ff                	test   %edi,%edi
41f5e3:	74 59                	je     0x41f63e
41f5e5:	66 39 07             	cmp    %ax,(%edi)
41f5e8:	74 54                	je     0x41f63e
41f5ea:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f5ed:	50                   	push   %eax
41f5ee:	8b 45 08             	mov    0x8(%ebp),%eax
41f5f1:	57                   	push   %edi
41f5f2:	8b 40 0c             	mov    0xc(%eax),%eax
41f5f5:	05 b8 02 00 00       	add    $0x2b8,%eax
41f5fa:	50                   	push   %eax
41f5fb:	e8 57 d6 fe ff       	call   0x40cc57
41f600:	8b f0                	mov    %eax,%esi
41f602:	85 f6                	test   %esi,%esi
41f604:	79 08                	jns    0x41f60e
41f606:	57                   	push   %edi
41f607:	68 54 a0 45 00       	push   $0x45a054
41f60c:	eb 5e                	jmp    0x41f66c
41f60e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f611:	83 78 04 02          	cmpl   $0x2,0x4(%eax)
41f615:	75 0d                	jne    0x41f624
41f617:	57                   	push   %edi
41f618:	be dd 10 07 80       	mov    $0x800710dd,%esi
41f61d:	68 80 a0 45 00       	push   $0x45a080
41f622:	eb 48                	jmp    0x41f66c
41f624:	33 c9                	xor    %ecx,%ecx
41f626:	83 c0 38             	add    $0x38,%eax
41f629:	51                   	push   %ecx
41f62a:	53                   	push   %ebx
41f62b:	50                   	push   %eax
41f62c:	e8 74 2b fe ff       	call   0x4021a5
41f631:	8b f0                	mov    %eax,%esi
41f633:	85 f6                	test   %esi,%esi
41f635:	79 6a                	jns    0x41f6a1
41f637:	68 c0 a0 45 00       	push   $0x45a0c0
41f63c:	eb 54                	jmp    0x41f692
41f63e:	8b 7d 0c             	mov    0xc(%ebp),%edi
41f641:	85 ff                	test   %edi,%edi
41f643:	74 57                	je     0x41f69c
41f645:	66 39 07             	cmp    %ax,(%edi)
41f648:	74 52                	je     0x41f69c
41f64a:	8d 45 f8             	lea    -0x8(%ebp),%eax
41f64d:	50                   	push   %eax
41f64e:	8b 45 08             	mov    0x8(%ebp),%eax
41f651:	57                   	push   %edi
41f652:	8b 40 0c             	mov    0xc(%eax),%eax
41f655:	05 a8 02 00 00       	add    $0x2a8,%eax
41f65a:	50                   	push   %eax
41f65b:	e8 49 ca fe ff       	call   0x40c0a9
41f660:	8b f0                	mov    %eax,%esi
41f662:	85 f6                	test   %esi,%esi
41f664:	79 11                	jns    0x41f677
41f666:	57                   	push   %edi
41f667:	68 e8 a0 45 00       	push   $0x45a0e8
41f66c:	56                   	push   %esi
41f66d:	e8 bd 0a 02 00       	call   0x44012f
41f672:	83 c4 0c             	add    $0xc,%esp
41f675:	eb 2a                	jmp    0x41f6a1
41f677:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f67a:	33 c9                	xor    %ecx,%ecx
41f67c:	51                   	push   %ecx
41f67d:	53                   	push   %ebx
41f67e:	83 c0 28             	add    $0x28,%eax
41f681:	50                   	push   %eax
41f682:	e8 1e 2b fe ff       	call   0x4021a5
41f687:	8b f0                	mov    %eax,%esi
41f689:	85 f6                	test   %esi,%esi
41f68b:	79 14                	jns    0x41f6a1
41f68d:	68 14 a1 45 00       	push   $0x45a114
41f692:	56                   	push   %esi
41f693:	e8 97 0a 02 00       	call   0x44012f
41f698:	59                   	pop    %ecx
41f699:	59                   	pop    %ecx
41f69a:	eb 05                	jmp    0x41f6a1
41f69c:	be 57 00 07 80       	mov    $0x80070057,%esi
41f6a1:	5b                   	pop    %ebx
41f6a2:	8b 45 08             	mov    0x8(%ebp),%eax
41f6a5:	ff 70 0c             	push   0xc(%eax)
41f6a8:	ff 15 b8 b1 44 00    	call   *0x44b1b8