40c32d:	8b c6                	mov    %esi,%eax
40c32f:	5f                   	pop    %edi
40c330:	5e                   	pop    %esi
40c331:	33 cd                	xor    %ebp,%ecx
40c333:	5b                   	pop    %ebx
40c334:	e8 b7 5c 00 00       	call   0x411ff0
40c339:	c9                   	leave
40c33a:	c2 0c 00             	ret    $0xc
40c33d:	8b ff                	mov    %edi,%edi
40c33f:	55                   	push   %ebp
40c340:	8b ec                	mov    %esp,%ebp
40c342:	83 ec 0c             	sub    $0xc,%esp
40c345:	53                   	push   %ebx
40c346:	56                   	push   %esi
40c347:	57                   	push   %edi
40c348:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c34b:	33 ff                	xor    %edi,%edi
40c34d:	50                   	push   %eax
40c34e:	6a 02                	push   $0x2
40c350:	57                   	push   %edi
40c351:	68 90 3a 40 00       	push   $0x403a90
40c356:	68 02 00 00 80       	push   $0x80000002
40c35b:	89 7d fc             	mov    %edi,-0x4(%ebp)
40c35e:	89 7d f8             	mov    %edi,-0x8(%ebp)
40c361:	ff 15 04 60 41 00    	call   *0x416004
40c367:	8b f0                	mov    %eax,%esi
40c369:	85 f6                	test   %esi,%esi
40c36b:	74 0d                	je     0x40c37a
40c36d:	57                   	push   %edi
40c36e:	68 04 36 40 00       	push   $0x403604
40c373:	68 9c 02 00 00       	push   $0x29c
40c378:	eb 63                	jmp    0x40c3dd
40c37a:	39 7d fc             	cmp    %edi,-0x4(%ebp)
40c37d:	74 77                	je     0x40c3f6
40c37f:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c382:	bb 0c 3b 40 00       	mov    $0x403b0c,%ebx
40c387:	50                   	push   %eax
40c388:	ba 04 01 00 00       	mov    $0x104,%edx
40c38d:	8b cb                	mov    %ebx,%ecx
40c38f:	e8 b3 11 00 00       	call   0x40d547
40c394:	8b f0                	mov    %eax,%esi
40c396:	85 f6                	test   %esi,%esi
40c398:	79 1b                	jns    0x40c3b5
40c39a:	56                   	push   %esi
40c39b:	68 04 36 40 00       	push   $0x403604
40c3a0:	68 a9 02 00 00       	push   $0x2a9
40c3a5:	68 d0 34 40 00       	push   $0x4034d0
40c3aa:	51                   	push   %ecx
40c3ab:	e8 22 4c 00 00       	call   0x410fd2
40c3b0:	0f b7 f6             	movzwl %si,%esi
40c3b3:	eb 33                	jmp    0x40c3e8
40c3b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c3b8:	40                   	inc    %eax
40c3b9:	50                   	push   %eax
40c3ba:	53                   	push   %ebx
40c3bb:	6a 01                	push   $0x1
40c3bd:	57                   	push   %edi
40c3be:	68 5c 3a 40 00       	push   $0x403a5c
40c3c3:	ff 75 fc             	push   -0x4(%ebp)
40c3c6:	ff 15 08 60 41 00    	call   *0x416008
40c3cc:	8b f0                	mov    %eax,%esi
40c3ce:	85 f6                	test   %esi,%esi
40c3d0:	74 16                	je     0x40c3e8
40c3d2:	57                   	push   %edi
40c3d3:	68 04 36 40 00       	push   $0x403604
40c3d8:	68 b8 02 00 00       	push   $0x2b8
40c3dd:	68 d0 34 40 00       	push   $0x4034d0
40c3e2:	51                   	push   %ecx
40c3e3:	e8 ea 4b 00 00       	call   0x410fd2
40c3e8:	39 7d fc             	cmp    %edi,-0x4(%ebp)
40c3eb:	74 09                	je     0x40c3f6
40c3ed:	ff 75 fc             	push   -0x4(%ebp)
40c3f0:	ff 15 18 60 41 00    	call   *0x416018
40c3f6:	5f                   	pop    %edi
40c3f7:	8b c6                	mov    %esi,%eax
40c3f9:	5e                   	pop    %esi
40c3fa:	5b                   	pop    %ebx
40c3fb:	c9                   	leave
40c3fc:	c2 08 00             	ret    $0x8
40c3ff:	8b ff                	mov    %edi,%edi
40c401:	55                   	push   %ebp
40c402:	8b ec                	mov    %esp,%ebp
40c404:	83 ec 30             	sub    $0x30,%esp
40c407:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40c40c:	33 c5                	xor    %ebp,%eax
40c40e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c411:	53                   	push   %ebx
40c412:	8b 5d 10             	mov    0x10(%ebp),%ebx
40c415:	33 c0                	xor    %eax,%eax
40c417:	56                   	push   %esi
40c418:	57                   	push   %edi
40c419:	89 45 e8             	mov    %eax,-0x18(%ebp)
40c41c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40c41f:	89 45 d8             	mov    %eax,-0x28(%ebp)
40c422:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40c425:	89 45 e0             	mov    %eax,-0x20(%ebp)
40c428:	89 45 ec             	mov    %eax,-0x14(%ebp)
40c42b:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c42e:	50                   	push   %eax
40c42f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c432:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40c435:	50                   	push   %eax
40c436:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c439:	50                   	push   %eax
40c43a:	51                   	push   %ecx
40c43b:	51                   	push   %ecx
40c43c:	e8 77 f6 ff ff       	call   0x40bab8
40c441:	8b 7d e8             	mov    -0x18(%ebp),%edi
40c444:	8b f0                	mov    %eax,%esi
40c446:	85 f6                	test   %esi,%esi
40c448:	74 1c                	je     0x40c466
40c44a:	6a 00                	push   $0x0
40c44c:	68 40 36 40 00       	push   $0x403640
40c451:	68 df 02 00 00       	push   $0x2df
40c456:	68 d0 34 40 00       	push   $0x4034d0
40c45b:	51                   	push   %ecx
40c45c:	e8 71 4b 00 00       	call   0x410fd2
40c461:	e9 9b 02 00 00       	jmp    0x40c701
40c466:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c469:	50                   	push   %eax
40c46a:	8d 45 ec             	lea    -0x14(%ebp),%eax
40c46d:	50                   	push   %eax
40c46e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40c471:	50                   	push   %eax
40c472:	57                   	push   %edi
40c473:	ff 15 54 60 41 00    	call   *0x416054
40c479:	85 c0                	test   %eax,%eax
40c47b:	75 16                	jne    0x40c493
40c47d:	ff 15 68 61 41 00    	call   *0x416168
40c483:	6a 00                	push   $0x0
40c485:	68 40 36 40 00       	push   $0x403640
40c48a:	8b f0                	mov    %eax,%esi
40c48c:	68 f2 02 00 00       	push   $0x2f2
40c491:	eb c3                	jmp    0x40c456
40c493:	ff 75 ec             	push   -0x14(%ebp)
40c496:	ff 15 58 60 41 00    	call   *0x416058
40c49c:	85 c0                	test   %eax,%eax
40c49e:	75 16                	jne    0x40c4b6
40c4a0:	ff 15 68 61 41 00    	call   *0x416168
40c4a6:	6a 00                	push   $0x0
40c4a8:	68 40 36 40 00       	push   $0x403640
40c4ad:	8b f0                	mov    %eax,%esi
40c4af:	68 f8 02 00 00       	push   $0x2f8
40c4b4:	eb a0                	jmp    0x40c456
40c4b6:	6a 02                	push   $0x2
40c4b8:	6a 0c                	push   $0xc
40c4ba:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c4bd:	50                   	push   %eax
40c4be:	ff 75 ec             	push   -0x14(%ebp)
40c4c1:	ff 15 5c 60 41 00    	call   *0x41605c
40c4c7:	85 c0                	test   %eax,%eax
40c4c9:	75 19                	jne    0x40c4e4
40c4cb:	ff 15 68 61 41 00    	call   *0x416168
40c4d1:	6a 00                	push   $0x0
40c4d3:	68 40 36 40 00       	push   $0x403640
40c4d8:	8b f0                	mov    %eax,%esi
40c4da:	68 08 03 00 00       	push   $0x308
40c4df:	e9 72 ff ff ff       	jmp    0x40c456
40c4e4:	8b 75 f4             	mov    -0xc(%ebp),%esi
40c4e7:	53                   	push   %ebx
40c4e8:	83 c6 08             	add    $0x8,%esi
40c4eb:	ff 15 3c 60 41 00    	call   *0x41603c
40c4f1:	03 f0                	add    %eax,%esi
40c4f3:	56                   	push   %esi
40c4f4:	6a 00                	push   $0x0
40c4f6:	ff 15 e0 60 41 00    	call   *0x4160e0
40c4fc:	50                   	push   %eax
40c4fd:	ff 15 dc 60 41 00    	call   *0x4160dc
40c503:	8b d8                	mov    %eax,%ebx
40c505:	85 db                	test   %ebx,%ebx
40c507:	75 17                	jne    0x40c520
40c509:	6a 08                	push   $0x8
40c50b:	5e                   	pop    %esi
40c50c:	68 0e 00 07 80       	push   $0x8007000e
40c511:	68 40 36 40 00       	push   $0x403640
40c516:	68 19 03 00 00       	push   $0x319
40c51b:	e9 36 ff ff ff       	jmp    0x40c456
40c520:	6a 02                	push   $0x2
40c522:	56                   	push   %esi
40c523:	53                   	push   %ebx
40c524:	ff 15 2c 60 41 00    	call   *0x41602c
40c52a:	85 c0                	test   %eax,%eax
40c52c:	75 19                	jne    0x40c547
40c52e:	ff 15 68 61 41 00    	call   *0x416168
40c534:	6a 00                	push   $0x0
40c536:	68 40 36 40 00       	push   $0x403640
40c53b:	8b f0                	mov    %eax,%esi
40c53d:	68 24 03 00 00       	push   $0x324
40c542:	e9 9f 01 00 00       	jmp    0x40c6e6
40c547:	33 f6                	xor    %esi,%esi
40c549:	39 75 f0             	cmp    %esi,-0x10(%ebp)
40c54c:	76 75                	jbe    0x40c5c3
40c54e:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c551:	50                   	push   %eax
40c552:	56                   	push   %esi
40c553:	ff 75 ec             	push   -0x14(%ebp)
40c556:	ff 15 60 60 41 00    	call   *0x416060
40c55c:	85 c0                	test   %eax,%eax
40c55e:	0f 84 b8 00 00 00    	je     0x40c61c
40c564:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40c567:	8a 01                	mov    (%ecx),%al
40c569:	84 c0                	test   %al,%al
40c56b:	75 38                	jne    0x40c5a5
40c56d:	8d 41 08             	lea    0x8(%ecx),%eax
40c570:	50                   	push   %eax
40c571:	ff 75 dc             	push   -0x24(%ebp)
40c574:	ff 15 64 60 41 00    	call   *0x416064
40c57a:	85 c0                	test   %eax,%eax
40c57c:	75 70                	jne    0x40c5ee
40c57e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40c581:	8d 41 08             	lea    0x8(%ecx),%eax
40c584:	50                   	push   %eax
40c585:	ff 71 04             	push   0x4(%ecx)
40c588:	6a 02                	push   $0x2
40c58a:	53                   	push   %ebx
40c58b:	ff 15 40 60 41 00    	call   *0x416040
40c591:	85 c0                	test   %eax,%eax
40c593:	75 28                	jne    0x40c5bd
40c595:	50                   	push   %eax
40c596:	68 40 36 40 00       	push   $0x403640
40c59b:	68 54 03 00 00       	push   $0x354
40c5a0:	e9 3c 01 00 00       	jmp    0x40c6e1
40c5a5:	3c 01                	cmp    $0x1,%al
40c5a7:	75 5d                	jne    0x40c606
40c5a9:	8d 41 08             	lea    0x8(%ecx),%eax
40c5ac:	50                   	push   %eax
40c5ad:	ff 71 04             	push   0x4(%ecx)
40c5b0:	6a 02                	push   $0x2
40c5b2:	53                   	push   %ebx
40c5b3:	ff 15 68 60 41 00    	call   *0x416068
40c5b9:	85 c0                	test   %eax,%eax
40c5bb:	74 38                	je     0x40c5f5
40c5bd:	46                   	inc    %esi
40c5be:	3b 75 f0             	cmp    -0x10(%ebp),%esi
40c5c1:	72 8b                	jb     0x40c54e
40c5c3:	ff 75 dc             	push   -0x24(%ebp)
40c5c6:	6a 15                	push   $0x15
40c5c8:	6a 02                	push   $0x2
40c5ca:	53                   	push   %ebx
40c5cb:	ff 15 40 60 41 00    	call   *0x416040
40c5d1:	85 c0                	test   %eax,%eax
40c5d3:	75 60                	jne    0x40c635
40c5d5:	ff 15 68 61 41 00    	call   *0x416168
40c5db:	6a 00                	push   $0x0
40c5dd:	68 40 36 40 00       	push   $0x403640
40c5e2:	8b f0                	mov    %eax,%esi
40c5e4:	68 87 03 00 00       	push   $0x387
40c5e9:	e9 f8 00 00 00       	jmp    0x40c6e6
40c5ee:	33 f6                	xor    %esi,%esi
40c5f0:	e9 fc 00 00 00       	jmp    0x40c6f1
40c5f5:	6a 00                	push   $0x0
40c5f7:	68 40 36 40 00       	push   $0x403640
40c5fc:	68 68 03 00 00       	push   $0x368
40c601:	e9 db 00 00 00       	jmp    0x40c6e1
40c606:	6a 00                	push   $0x0
40c608:	68 40 36 40 00       	push   $0x403640
40c60d:	be ff ff 00 80       	mov    $0x8000ffff,%esi
40c612:	68 72 03 00 00       	push   $0x372
40c617:	e9 ca 00 00 00       	jmp    0x40c6e6
40c61c:	ff 15 68 61 41 00    	call   *0x416168
40c622:	6a 00                	push   $0x0
40c624:	68 40 36 40 00       	push   $0x403640
40c629:	8b f0                	mov    %eax,%esi
40c62b:	68 35 03 00 00       	push   $0x335
40c630:	e9 b1 00 00 00       	jmp    0x40c6e6
40c635:	33 f6                	xor    %esi,%esi
40c637:	56                   	push   %esi
40c638:	53                   	push   %ebx
40c639:	6a 01                	push   $0x1
40c63b:	57                   	push   %edi
40c63c:	ff 15 44 60 41 00    	call   *0x416044
40c642:	85 c0                	test   %eax,%eax
40c644:	75 19                	jne    0x40c65f
40c646:	ff 15 68 61 41 00    	call   *0x416168
40c64c:	6a 00                	push   $0x0
40c64e:	68 40 36 40 00       	push   $0x403640
40c653:	8b f0                	mov    %eax,%esi
40c655:	68 96 03 00 00       	push   $0x396
40c65a:	e9 87 00 00 00       	jmp    0x40c6e6
40c65f:	56                   	push   %esi
40c660:	ff 75 e4             	push   -0x1c(%ebp)
40c663:	57                   	push   %edi
40c664:	ff 15 48 60 41 00    	call   *0x416048
40c66a:	85 c0                	test   %eax,%eax
40c66c:	75 16                	jne    0x40c684
40c66e:	ff 15 68 61 41 00    	call   *0x416168
40c674:	6a 00                	push   $0x0
40c676:	68 40 36 40 00       	push   $0x403640
40c67b:	8b f0                	mov    %eax,%esi
40c67d:	68 9f 03 00 00       	push   $0x39f
40c682:	eb 62                	jmp    0x40c6e6
40c684:	56                   	push   %esi
40c685:	ff 75 e0             	push   -0x20(%ebp)
40c688:	57                   	push   %edi
40c689:	ff 15 4c 60 41 00    	call   *0x41604c
40c68f:	85 c0                	test   %eax,%eax
40c691:	75 16                	jne    0x40c6a9
40c693:	ff 15 68 61 41 00    	call   *0x416168
40c699:	6a 00                	push   $0x0
40c69b:	68 40 36 40 00       	push   $0x403640
40c6a0:	8b f0                	mov    %eax,%esi
40c6a2:	68 a8 03 00 00       	push   $0x3a8
40c6a7:	eb 3d                	jmp    0x40c6e6
40c6a9:	57                   	push   %edi
40c6aa:	ff 15 34 60 41 00    	call   *0x416034
40c6b0:	85 c0                	test   %eax,%eax
40c6b2:	75 0d                	jne    0x40c6c1
40c6b4:	50                   	push   %eax
40c6b5:	68 40 36 40 00       	push   $0x403640
40c6ba:	68 ae 03 00 00       	push   $0x3ae
40c6bf:	eb 20                	jmp    0x40c6e1
40c6c1:	57                   	push   %edi
40c6c2:	68 28 3a 40 00       	push   $0x403a28
40c6c7:	68 f8 39 40 00       	push   $0x4039f8
40c6cc:	e8 74 f7 ff ff       	call   0x40be45
40c6d1:	85 c0                	test   %eax,%eax
40c6d3:	74 1c                	je     0x40c6f1
40c6d5:	6a 00                	push   $0x0
40c6d7:	68 40 36 40 00       	push   $0x403640
40c6dc:	68 b8 03 00 00       	push   $0x3b8
40c6e1:	be 05 40 00 80       	mov    $0x80004005,%esi
40c6e6:	68 d0 34 40 00       	push   $0x4034d0
40c6eb:	51                   	push   %ecx
40c6ec:	e8 e1 48 00 00       	call   0x410fd2
40c6f1:	53                   	push   %ebx
40c6f2:	6a 00                	push   $0x0
40c6f4:	ff 15 e0 60 41 00    	call   *0x4160e0
40c6fa:	50                   	push   %eax
40c6fb:	ff 15 e4 60 41 00    	call   *0x4160e4
40c701:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40c705:	74 16                	je     0x40c71d
40c707:	ff 75 ec             	push   -0x14(%ebp)
40c70a:	6a 00                	push   $0x0
40c70c:	ff 15 e0 60 41 00    	call   *0x4160e0
40c712:	50                   	push   %eax
40c713:	ff 15 e4 60 41 00    	call   *0x4160e4
40c719:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40c71d:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
40c721:	74 12                	je     0x40c735
40c723:	ff 75 e4             	push   -0x1c(%ebp)
40c726:	6a 00                	push   $0x0
40c728:	ff 15 e0 60 41 00    	call   *0x4160e0
40c72e:	50                   	push   %eax
40c72f:	ff 15 e4 60 41 00    	call   *0x4160e4
40c735:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
40c739:	74 12                	je     0x40c74d
40c73b:	ff 75 e0             	push   -0x20(%ebp)
40c73e:	6a 00                	push   $0x0
40c740:	ff 15 e0 60 41 00    	call   *0x4160e0
40c746:	50                   	push   %eax