41829b:	8b e5                	mov    %ebp,%esp
41829d:	5d                   	pop    %ebp
41829e:	c2 08 00             	ret    $0x8
4182a1:	55                   	push   %ebp
4182a2:	8b ec                	mov    %esp,%ebp
4182a4:	83 ec 18             	sub    $0x18,%esp
4182a7:	53                   	push   %ebx
4182a8:	33 db                	xor    %ebx,%ebx
4182aa:	8d 45 e8             	lea    -0x18(%ebp),%eax
4182ad:	56                   	push   %esi
4182ae:	50                   	push   %eax
4182af:	53                   	push   %ebx
4182b0:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4182b3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4182b6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4182b9:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4182bc:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4182bf:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4182c2:	e8 f0 1b 00 00       	call   0x419eb7
4182c7:	8b f0                	mov    %eax,%esi
4182c9:	85 f6                	test   %esi,%esi
4182cb:	79 0a                	jns    0x4182d7
4182cd:	68 50 75 45 00       	push   $0x457550
4182d2:	e9 50 01 00 00       	jmp    0x418427
4182d7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4182da:	50                   	push   %eax
4182db:	ff 75 0c             	push   0xc(%ebp)
4182de:	ff 75 e8             	push   -0x18(%ebp)
4182e1:	e8 93 aa fe ff       	call   0x402d79
4182e6:	8b f0                	mov    %eax,%esi
4182e8:	85 f6                	test   %esi,%esi
4182ea:	79 0a                	jns    0x4182f6
4182ec:	68 80 75 45 00       	push   $0x457580
4182f1:	e9 31 01 00 00       	jmp    0x418427
4182f6:	53                   	push   %ebx
4182f7:	ff 75 f8             	push   -0x8(%ebp)
4182fa:	e8 14 bd fe ff       	call   0x404013
4182ff:	8b f0                	mov    %eax,%esi
418301:	85 f6                	test   %esi,%esi
418303:	79 0a                	jns    0x41830f
418305:	68 bc 75 45 00       	push   $0x4575bc
41830a:	e9 18 01 00 00       	jmp    0x418427
41830f:	8d 45 fc             	lea    -0x4(%ebp),%eax
418312:	50                   	push   %eax
418313:	ff 75 10             	push   0x10(%ebp)
418316:	ff 75 f8             	push   -0x8(%ebp)
418319:	e8 5b aa fe ff       	call   0x402d79
41831e:	8b f0                	mov    %eax,%esi
418320:	85 f6                	test   %esi,%esi
418322:	79 0a                	jns    0x41832e
418324:	68 e8 5f 45 00       	push   $0x455fe8
418329:	e9 f9 00 00 00       	jmp    0x418427
41832e:	8b 45 18             	mov    0x18(%ebp),%eax
418331:	50                   	push   %eax
418332:	ff 75 fc             	push   -0x4(%ebp)
418335:	ff 75 08             	push   0x8(%ebp)
418338:	ff 30                	push   (%eax)
41833a:	e8 85 01 00 00       	call   0x4184c4
41833f:	8b f0                	mov    %eax,%esi
418341:	85 f6                	test   %esi,%esi
418343:	79 19                	jns    0x41835e
418345:	ff 75 fc             	push   -0x4(%ebp)
418348:	ff 75 08             	push   0x8(%ebp)
41834b:	68 e4 75 45 00       	push   $0x4575e4
418350:	56                   	push   %esi
418351:	e8 d9 7d 02 00       	call   0x44012f
418356:	83 c4 10             	add    $0x10,%esp
418359:	e9 d1 00 00 00       	jmp    0x41842f
41835e:	8b 45 14             	mov    0x14(%ebp),%eax
418361:	8b cb                	mov    %ebx,%ecx
418363:	89 4d 0c             	mov    %ecx,0xc(%ebp)
418366:	39 58 04             	cmp    %ebx,0x4(%eax)
418369:	0f 86 9b 00 00 00    	jbe    0x41840a
41836f:	8b d3                	mov    %ebx,%edx
418371:	89 5d 10             	mov    %ebx,0x10(%ebp)
418374:	8b 18                	mov    (%eax),%ebx
418376:	03 da                	add    %edx,%ebx
418378:	83 7b 04 03          	cmpl   $0x3,0x4(%ebx)
41837c:	75 77                	jne    0x4183f5
41837e:	8b 45 ec             	mov    -0x14(%ebp),%eax
418381:	85 c0                	test   %eax,%eax
418383:	75 19                	jne    0x41839e
418385:	8d 45 ec             	lea    -0x14(%ebp),%eax
418388:	50                   	push   %eax
418389:	ff 75 08             	push   0x8(%ebp)
41838c:	e8 b5 b0 fe ff       	call   0x403446
418391:	8b f0                	mov    %eax,%esi
418393:	85 f6                	test   %esi,%esi
418395:	0f 88 f2 00 00 00    	js     0x41848d
41839b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41839e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4183a1:	51                   	push   %ecx
4183a2:	ff 73 38             	push   0x38(%ebx)
4183a5:	50                   	push   %eax
4183a6:	e8 ce a9 fe ff       	call   0x402d79
4183ab:	8b f0                	mov    %eax,%esi
4183ad:	85 f6                	test   %esi,%esi
4183af:	0f 88 05 01 00 00    	js     0x4184ba
4183b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4183b8:	50                   	push   %eax
4183b9:	ff 73 18             	push   0x18(%ebx)
4183bc:	ff 75 f8             	push   -0x8(%ebp)
4183bf:	e8 b5 a9 fe ff       	call   0x402d79
4183c4:	8b f0                	mov    %eax,%esi
4183c6:	85 f6                	test   %esi,%esi
4183c8:	0f 88 e2 00 00 00    	js     0x4184b0
4183ce:	68 d0 07 00 00       	push   $0x7d0
4183d3:	6a 03                	push   $0x3
4183d5:	6a 01                	push   $0x1
4183d7:	ff 75 f4             	push   -0xc(%ebp)
4183da:	ff 75 f0             	push   -0x10(%ebp)
4183dd:	e8 05 bc 02 00       	call   0x443fe7
4183e2:	8b f0                	mov    %eax,%esi
4183e4:	85 f6                	test   %esi,%esi
4183e6:	0f 88 b4 00 00 00    	js     0x4184a0
4183ec:	8b 45 14             	mov    0x14(%ebp),%eax
4183ef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4183f2:	8b 55 10             	mov    0x10(%ebp),%edx
4183f5:	41                   	inc    %ecx
4183f6:	83 c2 58             	add    $0x58,%edx
4183f9:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4183fc:	89 55 10             	mov    %edx,0x10(%ebp)
4183ff:	3b 48 04             	cmp    0x4(%eax),%ecx
418402:	0f 82 6c ff ff ff    	jb     0x418374
418408:	33 db                	xor    %ebx,%ebx
41840a:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
41840e:	74 1f                	je     0x41842f
418410:	53                   	push   %ebx
418411:	ff 75 fc             	push   -0x4(%ebp)
418414:	ff 75 1c             	push   0x1c(%ebp)
418417:	e8 89 9d fe ff       	call   0x4021a5
41841c:	8b f0                	mov    %eax,%esi
41841e:	85 f6                	test   %esi,%esi
418420:	79 0d                	jns    0x41842f
418422:	68 e8 76 45 00       	push   $0x4576e8
418427:	56                   	push   %esi
418428:	e8 02 7d 02 00       	call   0x44012f
41842d:	59                   	pop    %ecx
41842e:	59                   	pop    %ecx
41842f:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
418433:	74 08                	je     0x41843d
418435:	ff 75 f4             	push   -0xc(%ebp)
418438:	e8 b2 d0 02 00       	call   0x4454ef
41843d:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
418441:	74 08                	je     0x41844b
418443:	ff 75 f0             	push   -0x10(%ebp)
418446:	e8 a4 d0 02 00       	call   0x4454ef
41844b:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41844f:	74 08                	je     0x418459
418451:	ff 75 ec             	push   -0x14(%ebp)
418454:	e8 96 d0 02 00       	call   0x4454ef
418459:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41845d:	74 08                	je     0x418467
41845f:	ff 75 fc             	push   -0x4(%ebp)
418462:	e8 88 d0 02 00       	call   0x4454ef
418467:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41846b:	74 08                	je     0x418475
41846d:	ff 75 f8             	push   -0x8(%ebp)
418470:	e8 7a d0 02 00       	call   0x4454ef
418475:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
418479:	74 08                	je     0x418483
41847b:	ff 75 e8             	push   -0x18(%ebp)
41847e:	e8 6c d0 02 00       	call   0x4454ef
418483:	8b c6                	mov    %esi,%eax
418485:	5e                   	pop    %esi
418486:	5b                   	pop    %ebx
418487:	8b e5                	mov    %ebp,%esp
418489:	5d                   	pop    %ebp
41848a:	c2 18 00             	ret    $0x18
41848d:	ff 75 08             	push   0x8(%ebp)
418490:	68 18 76 45 00       	push   $0x457618
418495:	56                   	push   %esi
418496:	e8 94 7c 02 00       	call   0x44012f
41849b:	83 c4 0c             	add    $0xc,%esp
41849e:	eb 8f                	jmp    0x41842f
4184a0:	ff 75 f4             	push   -0xc(%ebp)
4184a3:	ff 75 f0             	push   -0x10(%ebp)
4184a6:	68 b8 76 45 00       	push   $0x4576b8
4184ab:	e9 a0 fe ff ff       	jmp    0x418350
4184b0:	68 80 76 45 00       	push   $0x457680
4184b5:	e9 6d ff ff ff       	jmp    0x418427
4184ba:	68 48 76 45 00       	push   $0x457648
4184bf:	e9 63 ff ff ff       	jmp    0x418427
4184c4:	55                   	push   %ebp
4184c5:	8b ec                	mov    %esp,%ebp
4184c7:	83 ec 1c             	sub    $0x1c,%esp
4184ca:	a1 08 a0 46 00       	mov    0x46a008,%eax
4184cf:	33 c5                	xor    %ebp,%eax
4184d1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4184d4:	8b 45 0c             	mov    0xc(%ebp),%eax
4184d7:	8b 4d 10             	mov    0x10(%ebp),%ecx
4184da:	53                   	push   %ebx
4184db:	8b 5d 14             	mov    0x14(%ebp),%ebx
4184de:	56                   	push   %esi
4184df:	8b 75 08             	mov    0x8(%ebp),%esi
4184e2:	57                   	push   %edi
4184e3:	6a 00                	push   $0x0
4184e5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4184e8:	8d 7d f0             	lea    -0x10(%ebp),%edi
4184eb:	68 80 00 00 08       	push   $0x8000080
4184f0:	33 c0                	xor    %eax,%eax
4184f2:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4184f5:	6a 02                	push   $0x2
4184f7:	ab                   	stos   %eax,%es:(%edi)
4184f8:	6a 00                	push   $0x0
4184fa:	6a 05                	push   $0x5
4184fc:	68 00 00 00 40       	push   $0x40000000
418501:	ab                   	stos   %eax,%es:(%edi)
418502:	51                   	push   %ecx
418503:	89 4d ec             	mov    %ecx,-0x14(%ebp)
418506:	ab                   	stos   %eax,%es:(%edi)
418507:	ff 15 d8 b0 44 00    	call   *0x44b0d8
41850d:	8b f8                	mov    %eax,%edi
41850f:	83 ff ff             	cmp    $0xffffffff,%edi
418512:	75 44                	jne    0x418558
418514:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41851a:	0f b7 f0             	movzwl %ax,%esi
41851d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
418523:	85 c0                	test   %eax,%eax
418525:	0f 4e f0             	cmovle %eax,%esi
418528:	b8 05 40 00 80       	mov    $0x80004005,%eax
41852d:	85 f6                	test   %esi,%esi
41852f:	0f 49 f0             	cmovns %eax,%esi
418532:	56                   	push   %esi
418533:	68 af 06 00 00       	push   $0x6af
418538:	68 50 65 45 00       	push   $0x456550
41853d:	e8 91 b2 fe ff       	call   0x4037d3
418542:	ff 75 ec             	push   -0x14(%ebp)
418545:	68 1c 77 45 00       	push   $0x45771c
41854a:	56                   	push   %esi
41854b:	e8 df 7b 02 00       	call   0x44012f
418550:	83 c4 0c             	add    $0xc,%esp
418553:	e9 a4 01 00 00       	jmp    0x4186fc
418558:	33 c0                	xor    %eax,%eax
41855a:	50                   	push   %eax
41855b:	50                   	push   %eax
41855c:	50                   	push   %eax
41855d:	50                   	push   %eax
41855e:	56                   	push   %esi
41855f:	e8 6f c2 02 00       	call   0x4447d3
418564:	8b f0                	mov    %eax,%esi
418566:	85 f6                	test   %esi,%esi
418568:	79 16                	jns    0x418580
41856a:	ff 75 e8             	push   -0x18(%ebp)
41856d:	68 48 77 45 00       	push   $0x457748
418572:	56                   	push   %esi
418573:	e8 b7 7b 02 00       	call   0x44012f
418578:	83 c4 0c             	add    $0xc,%esp
41857b:	e9 75 01 00 00       	jmp    0x4186f5
418580:	33 c0                	xor    %eax,%eax
418582:	50                   	push   %eax
418583:	50                   	push   %eax
418584:	ff 73 0c             	push   0xc(%ebx)
418587:	57                   	push   %edi
418588:	ff 75 e4             	push   -0x1c(%ebp)
41858b:	e8 25 b8 02 00       	call   0x443db5
418590:	8b f0                	mov    %eax,%esi
418592:	85 f6                	test   %esi,%esi
418594:	79 19                	jns    0x4185af
418596:	ff 75 ec             	push   -0x14(%ebp)
418599:	ff 75 e8             	push   -0x18(%ebp)
41859c:	68 78 77 45 00       	push   $0x457778
4185a1:	56                   	push   %esi
4185a2:	e8 88 7b 02 00       	call   0x44012f
4185a7:	83 c4 10             	add    $0x10,%esp
4185aa:	e9 46 01 00 00       	jmp    0x4186f5
4185af:	33 c9                	xor    %ecx,%ecx
4185b1:	39 4b 28             	cmp    %ecx,0x28(%ebx)
4185b4:	0f 84 3b 01 00 00    	je     0x4186f5
4185ba:	51                   	push   %ecx
4185bb:	51                   	push   %ecx
4185bc:	51                   	push   %ecx
4185bd:	ff 73 18             	push   0x18(%ebx)
4185c0:	57                   	push   %edi
4185c1:	ff 15 f0 b1 44 00    	call   *0x44b1f0
4185c7:	85 c0                	test   %eax,%eax
4185c9:	75 38                	jne    0x418603
4185cb:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4185d1:	0f b7 f0             	movzwl %ax,%esi
4185d4:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4185da:	85 c0                	test   %eax,%eax
4185dc:	0f 4e f0             	cmovle %eax,%esi
4185df:	b8 05 40 00 80       	mov    $0x80004005,%eax
4185e4:	85 f6                	test   %esi,%esi
4185e6:	0f 49 f0             	cmovns %eax,%esi
4185e9:	56                   	push   %esi
4185ea:	68 bf 06 00 00       	push   $0x6bf
4185ef:	68 50 65 45 00       	push   $0x456550
4185f4:	e8 da b1 fe ff       	call   0x4037d3
4185f9:	68 a0 77 45 00       	push   $0x4577a0
4185fe:	e9 ea 00 00 00       	jmp    0x4186ed
418603:	6a 04                	push   $0x4
418605:	8d 43 24             	lea    0x24(%ebx),%eax
418608:	50                   	push   %eax
418609:	57                   	push   %edi
41860a:	e8 df c6 02 00       	call   0x444cee
41860f:	8b f0                	mov    %eax,%esi
418611:	85 f6                	test   %esi,%esi
418613:	79 0a                	jns    0x41861f
418615:	68 cc 77 45 00       	push   $0x4577cc
41861a:	e9 ce 00 00 00       	jmp    0x4186ed
41861f:	33 c0                	xor    %eax,%eax
418621:	50                   	push   %eax
418622:	50                   	push   %eax
418623:	50                   	push   %eax
418624:	ff 73 1c             	push   0x1c(%ebx)
418627:	57                   	push   %edi
418628:	ff 15 f0 b1 44 00    	call   *0x44b1f0
41862e:	85 c0                	test   %eax,%eax
418630:	75 38                	jne    0x41866a
418632:	ff 15 e8 b0 44 00    	call   *0x44b0e8
418638:	0f b7 f0             	movzwl %ax,%esi
41863b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
418641:	85 c0                	test   %eax,%eax
418643:	0f 4e f0             	cmovle %eax,%esi
418646:	b8 05 40 00 80       	mov    $0x80004005,%eax
41864b:	85 f6                	test   %esi,%esi
41864d:	0f 49 f0             	cmovns %eax,%esi
418650:	56                   	push   %esi
418651:	68 c9 06 00 00       	push   $0x6c9
418656:	68 50 65 45 00       	push   $0x456550
41865b:	e8 73 b1 fe ff       	call   0x4037d3
418660:	68 f0 77 45 00       	push   $0x4577f0
418665:	e9 83 00 00 00       	jmp    0x4186ed
41866a:	6a 04                	push   $0x4
41866c:	8d 43 28             	lea    0x28(%ebx),%eax
41866f:	50                   	push   %eax
418670:	57                   	push   %edi
418671:	e8 78 c6 02 00       	call   0x444cee
418676:	8b f0                	mov    %eax,%esi
418678:	85 f6                	test   %esi,%esi
41867a:	78 99                	js     0x418615
41867c:	6a 04                	push   $0x4
41867e:	8d 43 2c             	lea    0x2c(%ebx),%eax
418681:	50                   	push   %eax
418682:	57                   	push   %edi
418683:	e8 66 c6 02 00       	call   0x444cee
418688:	8b f0                	mov    %eax,%esi
41868a:	85 f6                	test   %esi,%esi
41868c:	78 87                	js     0x418615
41868e:	33 c0                	xor    %eax,%eax
418690:	50                   	push   %eax
418691:	50                   	push   %eax
418692:	50                   	push   %eax
418693:	ff 73 20             	push   0x20(%ebx)
418696:	57                   	push   %edi
418697:	ff 15 f0 b1 44 00    	call   *0x44b1f0
41869d:	85 c0                	test   %eax,%eax
41869f:	75 35                	jne    0x4186d6
4186a1:	ff 15 e8 b0 44 00    	call   *0x44b0e8