4144e7:	55                   	push   %ebp
4144e8:	8b ec                	mov    %esp,%ebp
4144ea:	83 ec 18             	sub    $0x18,%esp
4144ed:	53                   	push   %ebx
4144ee:	33 db                	xor    %ebx,%ebx
4144f0:	56                   	push   %esi
4144f1:	57                   	push   %edi
4144f2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4144f5:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4144f8:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4144fb:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4144fe:	ff 15 2c b1 44 00    	call   *0x44b12c
414504:	8b 7d 08             	mov    0x8(%ebp),%edi
414507:	53                   	push   %ebx
414508:	89 45 e8             	mov    %eax,-0x18(%ebp)
41450b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41450e:	50                   	push   %eax
41450f:	6a 04                	push   $0x4
414511:	8d 45 f8             	lea    -0x8(%ebp),%eax
414514:	89 5d ec             	mov    %ebx,-0x14(%ebp)
414517:	8b 1d ec b1 44 00    	mov    0x44b1ec,%ebx
41451d:	50                   	push   %eax
41451e:	57                   	push   %edi
41451f:	ff d3                	call   *%ebx
414521:	85 c0                	test   %eax,%eax
414523:	75 38                	jne    0x41455d
414525:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41452b:	0f b7 f0             	movzwl %ax,%esi
41452e:	81 ce 00 00 07 80    	or     $0x80070000,%esi
414534:	85 c0                	test   %eax,%eax
414536:	0f 4e f0             	cmovle %eax,%esi
414539:	b8 05 40 00 80       	mov    $0x80004005,%eax
41453e:	85 f6                	test   %esi,%esi
414540:	0f 49 f0             	cmovns %eax,%esi
414543:	56                   	push   %esi
414544:	68 47 03 00 00       	push   $0x347
414549:	68 b0 3f 45 00       	push   $0x453fb0
41454e:	e8 80 f2 fe ff       	call   0x4037d3
414553:	68 e8 46 45 00       	push   $0x4546e8
414558:	e9 6e 01 00 00       	jmp    0x4146cb
41455d:	8b 45 f8             	mov    -0x8(%ebp),%eax
414560:	d1 e8                	shr    $1,%eax
414562:	3d ff 00 00 00       	cmp    $0xff,%eax
414567:	76 22                	jbe    0x41458b
414569:	bf 0d 00 07 80       	mov    $0x8007000d,%edi
41456e:	57                   	push   %edi
41456f:	68 4d 03 00 00       	push   $0x34d
414574:	68 b0 3f 45 00       	push   $0x453fb0
414579:	8b f7                	mov    %edi,%esi
41457b:	e8 53 f2 fe ff       	call   0x4037d3
414580:	68 28 47 45 00       	push   $0x454728
414585:	57                   	push   %edi
414586:	e9 41 01 00 00       	jmp    0x4146cc
41458b:	40                   	inc    %eax
41458c:	50                   	push   %eax
41458d:	8d 45 fc             	lea    -0x4(%ebp),%eax
414590:	50                   	push   %eax
414591:	e8 48 d9 fe ff       	call   0x401ede
414596:	8b f0                	mov    %eax,%esi
414598:	85 f6                	test   %esi,%esi
41459a:	79 0a                	jns    0x4145a6
41459c:	68 54 47 45 00       	push   $0x454754
4145a1:	e9 25 01 00 00       	jmp    0x4146cb
4145a6:	6a 00                	push   $0x0
4145a8:	8d 45 f4             	lea    -0xc(%ebp),%eax
4145ab:	50                   	push   %eax
4145ac:	ff 75 f8             	push   -0x8(%ebp)
4145af:	ff 75 fc             	push   -0x4(%ebp)
4145b2:	57                   	push   %edi
4145b3:	ff d3                	call   *%ebx
4145b5:	85 c0                	test   %eax,%eax
4145b7:	75 38                	jne    0x4145f1
4145b9:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4145bf:	0f b7 f0             	movzwl %ax,%esi
4145c2:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4145c8:	85 c0                	test   %eax,%eax
4145ca:	0f 4e f0             	cmovle %eax,%esi
4145cd:	b8 05 40 00 80       	mov    $0x80004005,%eax
4145d2:	85 f6                	test   %esi,%esi
4145d4:	0f 49 f0             	cmovns %eax,%esi
4145d7:	56                   	push   %esi
4145d8:	68 55 03 00 00       	push   $0x355
4145dd:	68 b0 3f 45 00       	push   $0x453fb0
4145e2:	e8 ec f1 fe ff       	call   0x4037d3
4145e7:	68 88 47 45 00       	push   $0x454788
4145ec:	e9 da 00 00 00       	jmp    0x4146cb
4145f1:	6a ff                	push   $0xffffffff
4145f3:	ff 75 0c             	push   0xc(%ebp)
4145f6:	6a ff                	push   $0xffffffff
4145f8:	ff 75 fc             	push   -0x4(%ebp)
4145fb:	6a 00                	push   $0x0
4145fd:	6a 00                	push   $0x0
4145ff:	ff 15 28 b1 44 00    	call   *0x44b128
414605:	83 f8 02             	cmp    $0x2,%eax
414608:	74 21                	je     0x41462b
41460a:	bf 0d 00 07 80       	mov    $0x8007000d,%edi
41460f:	57                   	push   %edi
414610:	68 5c 03 00 00       	push   $0x35c
414615:	68 b0 3f 45 00       	push   $0x453fb0
41461a:	8b f7                	mov    %edi,%esi
41461c:	e8 b2 f1 fe ff       	call   0x4037d3
414621:	68 c0 47 45 00       	push   $0x4547c0
414626:	e9 5a ff ff ff       	jmp    0x414585
41462b:	6a 00                	push   $0x0
41462d:	8d 45 f4             	lea    -0xc(%ebp),%eax
414630:	50                   	push   %eax
414631:	6a 04                	push   $0x4
414633:	8d 45 f0             	lea    -0x10(%ebp),%eax
414636:	50                   	push   %eax
414637:	57                   	push   %edi
414638:	ff d3                	call   *%ebx
41463a:	85 c0                	test   %eax,%eax
41463c:	75 35                	jne    0x414673
41463e:	ff 15 e8 b0 44 00    	call   *0x44b0e8
414644:	0f b7 f0             	movzwl %ax,%esi
414647:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41464d:	85 c0                	test   %eax,%eax
41464f:	0f 4e f0             	cmovle %eax,%esi
414652:	b8 05 40 00 80       	mov    $0x80004005,%eax
414657:	85 f6                	test   %esi,%esi
414659:	0f 49 f0             	cmovns %eax,%esi
41465c:	56                   	push   %esi
41465d:	68 62 03 00 00       	push   $0x362
414662:	68 b0 3f 45 00       	push   $0x453fb0
414667:	e8 67 f1 fe ff       	call   0x4037d3
41466c:	68 f0 47 45 00       	push   $0x4547f0
414671:	eb 58                	jmp    0x4146cb
414673:	8b 4d 10             	mov    0x10(%ebp),%ecx
414676:	8b 01                	mov    (%ecx),%eax
414678:	85 c0                	test   %eax,%eax
41467a:	75 70                	jne    0x4146ec
41467c:	8b 45 f0             	mov    -0x10(%ebp),%eax
41467f:	89 01                	mov    %eax,(%ecx)
414681:	6a 00                	push   $0x0
414683:	8d 45 ec             	lea    -0x14(%ebp),%eax
414686:	50                   	push   %eax
414687:	6a 04                	push   $0x4
414689:	8d 45 e8             	lea    -0x18(%ebp),%eax
41468c:	50                   	push   %eax
41468d:	57                   	push   %edi
41468e:	ff 15 30 b1 44 00    	call   *0x44b130
414694:	85 c0                	test   %eax,%eax
414696:	75 3b                	jne    0x4146d3
414698:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41469e:	0f b7 f0             	movzwl %ax,%esi
4146a1:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4146a7:	85 c0                	test   %eax,%eax
4146a9:	0f 4e f0             	cmovle %eax,%esi
4146ac:	b8 05 40 00 80       	mov    $0x80004005,%eax
4146b1:	85 f6                	test   %esi,%esi
4146b3:	0f 49 f0             	cmovns %eax,%esi
4146b6:	56                   	push   %esi
4146b7:	68 73 03 00 00       	push   $0x373
4146bc:	68 b0 3f 45 00       	push   $0x453fb0
4146c1:	e8 0d f1 fe ff       	call   0x4037d3
4146c6:	68 60 48 45 00       	push   $0x454860
4146cb:	56                   	push   %esi
4146cc:	e8 5e ba 02 00       	call   0x44012f
4146d1:	59                   	pop    %ecx
4146d2:	59                   	pop    %ecx
4146d3:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4146d7:	74 08                	je     0x4146e1
4146d9:	ff 75 fc             	push   -0x4(%ebp)
4146dc:	e8 0e 0e 03 00       	call   0x4454ef
4146e1:	5f                   	pop    %edi
4146e2:	8b c6                	mov    %esi,%eax
4146e4:	5e                   	pop    %esi
4146e5:	5b                   	pop    %ebx
4146e6:	8b e5                	mov    %ebp,%esp
4146e8:	5d                   	pop    %ebp
4146e9:	c2 0c 00             	ret    $0xc
4146ec:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4146ef:	74 90                	je     0x414681
4146f1:	bf 0d 00 07 80       	mov    $0x8007000d,%edi
4146f6:	57                   	push   %edi
4146f7:	68 6d 03 00 00       	push   $0x36d
4146fc:	68 b0 3f 45 00       	push   $0x453fb0
414701:	8b f7                	mov    %edi,%esi
414703:	e8 cb f0 fe ff       	call   0x4037d3
414708:	68 2c 48 45 00       	push   $0x45482c
41470d:	e9 73 fe ff ff       	jmp    0x414585
414712:	55                   	push   %ebp
414713:	8b ec                	mov    %esp,%ebp
414715:	56                   	push   %esi
414716:	8b 75 08             	mov    0x8(%ebp),%esi
414719:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41471d:	74 16                	je     0x414735
41471f:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
414723:	74 0c                	je     0x414731
414725:	ff 76 0c             	push   0xc(%esi)
414728:	e8 6c f2 fe ff       	call   0x403999
41472d:	83 66 0c 00          	andl   $0x0,0xc(%esi)
414731:	83 66 08 00          	andl   $0x0,0x8(%esi)
414735:	5e                   	pop    %esi
414736:	5d                   	pop    %ebp
414737:	c2 04 00             	ret    $0x4
41473a:	55                   	push   %ebp
41473b:	8b ec                	mov    %esp,%ebp
41473d:	83 ec 0c             	sub    $0xc,%esp
414740:	53                   	push   %ebx
414741:	56                   	push   %esi
414742:	33 f6                	xor    %esi,%esi
414744:	21 75 f4             	and    %esi,-0xc(%ebp)
414747:	21 75 f8             	and    %esi,-0x8(%ebp)
41474a:	21 75 fc             	and    %esi,-0x4(%ebp)
41474d:	33 db                	xor    %ebx,%ebx
41474f:	57                   	push   %edi
414750:	6a 00                	push   $0x0
414752:	8d 45 fc             	lea    -0x4(%ebp),%eax
414755:	50                   	push   %eax
414756:	6a 08                	push   $0x8
414758:	58                   	pop    %eax
414759:	2b c3                	sub    %ebx,%eax
41475b:	50                   	push   %eax
41475c:	8d 45 f4             	lea    -0xc(%ebp),%eax
41475f:	03 c3                	add    %ebx,%eax
414761:	50                   	push   %eax
414762:	ff 75 08             	push   0x8(%ebp)
414765:	ff 15 ec b1 44 00    	call   *0x44b1ec
41476b:	8b 7d 0c             	mov    0xc(%ebp),%edi
41476e:	85 c0                	test   %eax,%eax
414770:	75 28                	jne    0x41479a
414772:	ff 15 e8 b0 44 00    	call   *0x44b0e8
414778:	3d ea 00 00 00       	cmp    $0xea,%eax
41477d:	75 04                	jne    0x414783
41477f:	33 f6                	xor    %esi,%esi
414781:	eb 17                	jmp    0x41479a
414783:	83 f8 6d             	cmp    $0x6d,%eax
414786:	74 77                	je     0x4147ff
414788:	0f b7 f0             	movzwl %ax,%esi
41478b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
414791:	85 c0                	test   %eax,%eax
414793:	0f 4e f0             	cmovle %eax,%esi
414796:	85 f6                	test   %esi,%esi
414798:	78 46                	js     0x4147e0
41479a:	03 5d fc             	add    -0x4(%ebp),%ebx
41479d:	83 fb 08             	cmp    $0x8,%ebx
4147a0:	72 ae                	jb     0x414750
4147a2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4147a5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4147a8:	89 0f                	mov    %ecx,(%edi)
4147aa:	89 47 04             	mov    %eax,0x4(%edi)
4147ad:	85 c0                	test   %eax,%eax
4147af:	0f 84 ac 00 00 00    	je     0x414861
4147b5:	6a 00                	push   $0x0
4147b7:	50                   	push   %eax
4147b8:	e8 17 f1 fe ff       	call   0x4038d4
4147bd:	89 47 0c             	mov    %eax,0xc(%edi)
4147c0:	85 c0                	test   %eax,%eax
4147c2:	75 4a                	jne    0x41480e
4147c4:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4147c9:	56                   	push   %esi
4147ca:	68 23 03 00 00       	push   $0x323
4147cf:	68 b0 3f 45 00       	push   $0x453fb0
4147d4:	e8 fa ef fe ff       	call   0x4037d3
4147d9:	68 9c 46 45 00       	push   $0x45469c
4147de:	eb 15                	jmp    0x4147f5
4147e0:	56                   	push   %esi
4147e1:	68 18 03 00 00       	push   $0x318
4147e6:	68 b0 3f 45 00       	push   $0x453fb0
4147eb:	e8 e3 ef fe ff       	call   0x4037d3
4147f0:	68 78 46 45 00       	push   $0x454678
4147f5:	56                   	push   %esi
4147f6:	e8 34 b9 02 00       	call   0x44012f
4147fb:	59                   	pop    %ecx
4147fc:	59                   	pop    %ecx
4147fd:	eb 62                	jmp    0x414861
4147ff:	33 c9                	xor    %ecx,%ecx
414801:	33 c0                	xor    %eax,%eax
414803:	33 f6                	xor    %esi,%esi
414805:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414808:	89 45 f8             	mov    %eax,-0x8(%ebp)
41480b:	46                   	inc    %esi
41480c:	eb 9a                	jmp    0x4147a8
41480e:	6a 00                	push   $0x0
414810:	8d 4d fc             	lea    -0x4(%ebp),%ecx
414813:	51                   	push   %ecx
414814:	ff 77 04             	push   0x4(%edi)
414817:	50                   	push   %eax
414818:	ff 75 08             	push   0x8(%ebp)
41481b:	ff 15 ec b1 44 00    	call   *0x44b1ec
414821:	85 c0                	test   %eax,%eax
414823:	75 35                	jne    0x41485a
414825:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41482b:	0f b7 f0             	movzwl %ax,%esi
41482e:	81 ce 00 00 07 80    	or     $0x80070000,%esi
414834:	85 c0                	test   %eax,%eax
414836:	0f 4e f0             	cmovle %eax,%esi
414839:	b8 05 40 00 80       	mov    $0x80004005,%eax
41483e:	85 f6                	test   %esi,%esi
414840:	0f 49 f0             	cmovns %eax,%esi
414843:	56                   	push   %esi
414844:	68 27 03 00 00       	push   $0x327
414849:	68 b0 3f 45 00       	push   $0x453fb0
41484e:	e8 80 ef fe ff       	call   0x4037d3
414853:	68 c4 46 45 00       	push   $0x4546c4
414858:	eb 9b                	jmp    0x4147f5
41485a:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
414861:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
414865:	75 0e                	jne    0x414875
414867:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
41486b:	74 08                	je     0x414875
41486d:	ff 77 0c             	push   0xc(%edi)
414870:	e8 24 f1 fe ff       	call   0x403999
414875:	5f                   	pop    %edi
414876:	8b c6                	mov    %esi,%eax
414878:	5e                   	pop    %esi
414879:	5b                   	pop    %ebx
41487a:	8b e5                	mov    %ebp,%esp
41487c:	5d                   	pop    %ebp
41487d:	c2 08 00             	ret    $0x8
414880:	55                   	push   %ebp
414881:	8b ec                	mov    %esp,%ebp
414883:	51                   	push   %ecx
414884:	51                   	push   %ecx
414885:	56                   	push   %esi
414886:	57                   	push   %edi
414887:	8d 45 fc             	lea    -0x4(%ebp),%eax
41488a:	33 ff                	xor    %edi,%edi
41488c:	50                   	push   %eax
41488d:	8d 45 f8             	lea    -0x8(%ebp),%eax
414890:	89 7d f8             	mov    %edi,-0x8(%ebp)
414893:	50                   	push   %eax
414894:	ff 75 14             	push   0x14(%ebp)
414897:	89 7d fc             	mov    %edi,-0x4(%ebp)
41489a:	ff 75 10             	push   0x10(%ebp)
41489d:	ff 75 0c             	push   0xc(%ebp)
4148a0:	e8 a7 fb ff ff       	call   0x41444c
4148a5:	8b f0                	mov    %eax,%esi
4148a7:	85 f6                	test   %esi,%esi
4148a9:	79 07                	jns    0x4148b2
4148ab:	68 28 46 45 00       	push   $0x454628
4148b0:	eb 61                	jmp    0x414913
4148b2:	89 7d 14             	mov    %edi,0x14(%ebp)
4148b5:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4148b8:	76 61                	jbe    0x41491b
4148ba:	6a 00                	push   $0x0
4148bc:	8d 45 14             	lea    0x14(%ebp),%eax
4148bf:	50                   	push   %eax
4148c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4148c3:	2b c7                	sub    %edi,%eax
4148c5:	50                   	push   %eax
4148c6:	ff 75 f8             	push   -0x8(%ebp)
4148c9:	ff 75 08             	push   0x8(%ebp)
4148cc:	ff 15 30 b1 44 00    	call   *0x44b130
4148d2:	85 c0                	test   %eax,%eax
4148d4:	74 0a                	je     0x4148e0
4148d6:	03 7d 14             	add    0x14(%ebp),%edi
4148d9:	3b 7d fc             	cmp    -0x4(%ebp),%edi
4148dc:	72 dc                	jb     0x4148ba