4445b7:	89 4d 14             	mov    %ecx,0x14(%ebp)
4445ba:	8d 4d 14             	lea    0x14(%ebp),%ecx
4445bd:	51                   	push   %ecx
4445be:	50                   	push   %eax
4445bf:	53                   	push   %ebx
4445c0:	e8 cd f7 ff ff       	call   0x443d92
4445c5:	8b f0                	mov    %eax,%esi
4445c7:	85 f6                	test   %esi,%esi
4445c9:	78 72                	js     0x44463d
4445cb:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4445ce:	8d 45 10             	lea    0x10(%ebp),%eax
4445d1:	6a 00                	push   $0x0
4445d3:	50                   	push   %eax
4445d4:	ff 75 14             	push   0x14(%ebp)
4445d7:	03 cf                	add    %edi,%ecx
4445d9:	51                   	push   %ecx
4445da:	ff 75 fc             	push   -0x4(%ebp)
4445dd:	ff 15 ec b1 44 00    	call   *0x44b1ec
4445e3:	85 c0                	test   %eax,%eax
4445e5:	74 28                	je     0x44460f
4445e7:	8b 45 1c             	mov    0x1c(%ebp),%eax
4445ea:	03 45 10             	add    0x10(%ebp),%eax
4445ed:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4445f1:	89 45 1c             	mov    %eax,0x1c(%ebp)
4445f4:	75 bf                	jne    0x4445b5
4445f6:	3b c3                	cmp    %ebx,%eax
4445f8:	74 07                	je     0x444601
4445fa:	be ff ff 00 80       	mov    $0x8000ffff,%esi
4445ff:	eb 3c                	jmp    0x44463d
444601:	8b 45 08             	mov    0x8(%ebp),%eax
444604:	89 38                	mov    %edi,(%eax)
444606:	33 ff                	xor    %edi,%edi
444608:	8b 45 0c             	mov    0xc(%ebp),%eax
44460b:	89 18                	mov    %ebx,(%eax)
44460d:	eb 2e                	jmp    0x44463d
44460f:	ff 15 e8 b0 44 00    	call   *0x44b0e8
444615:	0f b7 f0             	movzwl %ax,%esi
444618:	81 ce 00 00 07 80    	or     $0x80070000,%esi
44461e:	85 c0                	test   %eax,%eax
444620:	0f 4e f0             	cmovle %eax,%esi
444623:	b8 05 40 00 80       	mov    $0x80004005,%eax
444628:	85 f6                	test   %esi,%esi
44462a:	0f 49 f0             	cmovns %eax,%esi
44462d:	56                   	push   %esi
44462e:	68 99 03 00 00       	push   $0x399
444633:	68 8c 67 46 00       	push   $0x46678c
444638:	e8 96 f1 fb ff       	call   0x4037d3
44463d:	85 ff                	test   %edi,%edi
44463f:	74 06                	je     0x444647
444641:	57                   	push   %edi
444642:	e8 52 f3 fb ff       	call   0x403999
444647:	8b 45 fc             	mov    -0x4(%ebp),%eax
44464a:	83 f8 ff             	cmp    $0xffffffff,%eax
44464d:	74 07                	je     0x444656
44464f:	50                   	push   %eax
444650:	ff 15 d4 b0 44 00    	call   *0x44b0d4
444656:	5b                   	pop    %ebx
444657:	5f                   	pop    %edi
444658:	8b c6                	mov    %esi,%eax
44465a:	5e                   	pop    %esi
44465b:	8b e5                	mov    %ebp,%esp
44465d:	5d                   	pop    %ebp
44465e:	c2 1c 00             	ret    $0x1c
444661:	55                   	push   %ebp
444662:	8b ec                	mov    %esp,%ebp
444664:	83 ec 14             	sub    $0x14,%esp
444667:	53                   	push   %ebx
444668:	56                   	push   %esi
444669:	57                   	push   %edi
44466a:	8d 45 f4             	lea    -0xc(%ebp),%eax
44466d:	33 f6                	xor    %esi,%esi
44466f:	50                   	push   %eax
444670:	6a 03                	push   $0x3
444672:	68 f0 66 46 00       	push   $0x4666f0
444677:	68 02 00 00 80       	push   $0x80000002
44467c:	89 75 f4             	mov    %esi,-0xc(%ebp)
44467f:	89 75 fc             	mov    %esi,-0x4(%ebp)
444682:	89 75 f8             	mov    %esi,-0x8(%ebp)
444685:	89 75 ec             	mov    %esi,-0x14(%ebp)
444688:	89 75 f0             	mov    %esi,-0x10(%ebp)
44468b:	e8 af c7 ff ff       	call   0x440e3f
444690:	8b f8                	mov    %eax,%edi
444692:	bb 02 00 07 80       	mov    $0x80070002,%ebx
444697:	3b fb                	cmp    %ebx,%edi
444699:	75 07                	jne    0x4446a2
44469b:	8b fe                	mov    %esi,%edi
44469d:	e9 07 01 00 00       	jmp    0x4447a9
4446a2:	85 ff                	test   %edi,%edi
4446a4:	0f 88 ff 00 00 00    	js     0x4447a9
4446aa:	8d 45 f8             	lea    -0x8(%ebp),%eax
4446ad:	50                   	push   %eax
4446ae:	8d 45 fc             	lea    -0x4(%ebp),%eax
4446b1:	50                   	push   %eax
4446b2:	68 54 67 46 00       	push   $0x466754
4446b7:	ff 75 f4             	push   -0xc(%ebp)
4446ba:	e8 06 ca ff ff       	call   0x4410c5
4446bf:	8b f8                	mov    %eax,%edi
4446c1:	3b fb                	cmp    %ebx,%edi
4446c3:	74 d6                	je     0x44469b
4446c5:	85 ff                	test   %edi,%edi
4446c7:	0f 88 dc 00 00 00    	js     0x4447a9
4446cd:	8b de                	mov    %esi,%ebx
4446cf:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4446d2:	0f 86 d1 00 00 00    	jbe    0x4447a9
4446d8:	6a 3f                	push   $0x3f
4446da:	5a                   	pop    %edx
4446db:	8b 45 fc             	mov    -0x4(%ebp),%eax
4446de:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4446e1:	85 c0                	test   %eax,%eax
4446e3:	74 78                	je     0x44475d
4446e5:	0f b7 08             	movzwl (%eax),%ecx
4446e8:	66 85 c9             	test   %cx,%cx
4446eb:	74 70                	je     0x44475d
4446ed:	6a 5c                	push   $0x5c
4446ef:	5f                   	pop    %edi
4446f0:	66 3b f9             	cmp    %cx,%di
4446f3:	75 15                	jne    0x44470a
4446f5:	66 3b 50 02          	cmp    0x2(%eax),%dx
4446f9:	75 0f                	jne    0x44470a
4446fb:	66 3b 50 04          	cmp    0x4(%eax),%dx
4446ff:	75 09                	jne    0x44470a
444701:	66 3b 78 06          	cmp    0x6(%eax),%di
444705:	75 03                	jne    0x44470a
444707:	83 c0 08             	add    $0x8,%eax
44470a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
44470d:	51                   	push   %ecx
44470e:	50                   	push   %eax
44470f:	ff 75 08             	push   0x8(%ebp)
444712:	e8 ee e5 fb ff       	call   0x402d05
444717:	8b f8                	mov    %eax,%edi
444719:	85 ff                	test   %edi,%edi
44471b:	0f 88 88 00 00 00    	js     0x4447a9
444721:	83 7d ec 02          	cmpl   $0x2,-0x14(%ebp)
444725:	75 3b                	jne    0x444762
444727:	8b 45 fc             	mov    -0x4(%ebp),%eax
44472a:	39 34 98             	cmp    %esi,(%eax,%ebx,4)
44472d:	74 0e                	je     0x44473d
44472f:	ff 34 98             	push   (%eax,%ebx,4)
444732:	e8 b8 0d 00 00       	call   0x4454ef
444737:	8b 45 fc             	mov    -0x4(%ebp),%eax
44473a:	89 34 98             	mov    %esi,(%eax,%ebx,4)
44473d:	8b 45 fc             	mov    -0x4(%ebp),%eax
444740:	8b 44 98 04          	mov    0x4(%eax,%ebx,4),%eax
444744:	85 c0                	test   %eax,%eax
444746:	74 0d                	je     0x444755
444748:	50                   	push   %eax
444749:	e8 a1 0d 00 00       	call   0x4454ef
44474e:	8b 45 fc             	mov    -0x4(%ebp),%eax
444751:	89 74 98 04          	mov    %esi,0x4(%eax,%ebx,4)
444755:	33 c0                	xor    %eax,%eax
444757:	40                   	inc    %eax
444758:	89 45 f0             	mov    %eax,-0x10(%ebp)
44475b:	eb 08                	jmp    0x444765
44475d:	8b 45 f0             	mov    -0x10(%ebp),%eax
444760:	eb 06                	jmp    0x444768
444762:	8b 45 f0             	mov    -0x10(%ebp),%eax
444765:	6a 3f                	push   $0x3f
444767:	5a                   	pop    %edx
444768:	83 c3 02             	add    $0x2,%ebx
44476b:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
44476e:	0f 82 67 ff ff ff    	jb     0x4446db
444774:	85 c0                	test   %eax,%eax
444776:	74 31                	je     0x4447a9
444778:	8b ce                	mov    %esi,%ecx
44477a:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
44477d:	76 14                	jbe    0x444793
44477f:	8b 45 fc             	mov    -0x4(%ebp),%eax
444782:	8b 14 88             	mov    (%eax,%ecx,4),%edx
444785:	85 d2                	test   %edx,%edx
444787:	74 04                	je     0x44478d
444789:	89 14 b0             	mov    %edx,(%eax,%esi,4)
44478c:	46                   	inc    %esi
44478d:	41                   	inc    %ecx
44478e:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
444791:	72 ec                	jb     0x44477f
444793:	56                   	push   %esi
444794:	ff 75 fc             	push   -0x4(%ebp)
444797:	89 75 f8             	mov    %esi,-0x8(%ebp)
44479a:	68 54 67 46 00       	push   $0x466754
44479f:	ff 75 f4             	push   -0xc(%ebp)
4447a2:	e8 95 cc ff ff       	call   0x44143c
4447a7:	8b f8                	mov    %eax,%edi
4447a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4447ac:	85 c0                	test   %eax,%eax
4447ae:	74 09                	je     0x4447b9
4447b0:	ff 75 f8             	push   -0x8(%ebp)
4447b3:	50                   	push   %eax
4447b4:	e8 8e de fb ff       	call   0x402647
4447b9:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4447bd:	74 09                	je     0x4447c8
4447bf:	ff 75 f4             	push   -0xc(%ebp)
4447c2:	ff 15 00 b0 44 00    	call   *0x44b000
4447c8:	8b c7                	mov    %edi,%eax
4447ca:	5f                   	pop    %edi
4447cb:	5e                   	pop    %esi
4447cc:	5b                   	pop    %ebx
4447cd:	8b e5                	mov    %ebp,%esp
4447cf:	5d                   	pop    %ebp
4447d0:	c2 04 00             	ret    $0x4
4447d3:	55                   	push   %ebp
4447d4:	8b ec                	mov    %esp,%ebp
4447d6:	51                   	push   %ecx
4447d7:	51                   	push   %ecx
4447d8:	56                   	push   %esi
4447d9:	ff 75 18             	push   0x18(%ebp)
4447dc:	8d 45 f8             	lea    -0x8(%ebp),%eax
4447df:	33 f6                	xor    %esi,%esi
4447e1:	50                   	push   %eax
4447e2:	ff 75 10             	push   0x10(%ebp)
4447e5:	ff 75 0c             	push   0xc(%ebp)
4447e8:	ff 75 08             	push   0x8(%ebp)
4447eb:	ff 15 f0 b1 44 00    	call   *0x44b1f0
4447f1:	85 c0                	test   %eax,%eax
4447f3:	75 30                	jne    0x444825
4447f5:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4447fb:	0f b7 f0             	movzwl %ax,%esi
4447fe:	81 ce 00 00 07 80    	or     $0x80070000,%esi
444804:	85 c0                	test   %eax,%eax
444806:	0f 4e f0             	cmovle %eax,%esi
444809:	b8 05 40 00 80       	mov    $0x80004005,%eax
44480e:	85 f6                	test   %esi,%esi
444810:	0f 49 f0             	cmovns %eax,%esi
444813:	56                   	push   %esi
444814:	68 0a 02 00 00       	push   $0x20a
444819:	68 8c 67 46 00       	push   $0x46678c
44481e:	e8 b0 ef fb ff       	call   0x4037d3
444823:	eb 12                	jmp    0x444837
444825:	8b 45 14             	mov    0x14(%ebp),%eax
444828:	85 c0                	test   %eax,%eax
44482a:	74 0b                	je     0x444837
44482c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44482f:	89 08                	mov    %ecx,(%eax)
444831:	8b 4d fc             	mov    -0x4(%ebp),%ecx
444834:	89 48 04             	mov    %ecx,0x4(%eax)
444837:	8b c6                	mov    %esi,%eax
444839:	5e                   	pop    %esi
44483a:	8b e5                	mov    %ebp,%esp
44483c:	5d                   	pop    %ebp
44483d:	c2 14 00             	ret    $0x14
444840:	55                   	push   %ebp
444841:	8b ec                	mov    %esp,%ebp
444843:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
444847:	56                   	push   %esi
444848:	75 17                	jne    0x444861
44484a:	be 57 00 07 80       	mov    $0x80070057,%esi
44484f:	56                   	push   %esi
444850:	68 23 02 00 00       	push   $0x223
444855:	68 8c 67 46 00       	push   $0x46678c
44485a:	e8 74 ef fb ff       	call   0x4037d3
44485f:	eb 63                	jmp    0x4448c4
444861:	57                   	push   %edi
444862:	6a 00                	push   $0x0
444864:	b8 80 00 00 00       	mov    $0x80,%eax
444869:	50                   	push   %eax
44486a:	6a 03                	push   $0x3
44486c:	6a 00                	push   $0x0
44486e:	6a 01                	push   $0x1
444870:	50                   	push   %eax
444871:	ff 75 08             	push   0x8(%ebp)
444874:	ff 15 d8 b0 44 00    	call   *0x44b0d8
44487a:	8b f8                	mov    %eax,%edi
44487c:	83 ff ff             	cmp    $0xffffffff,%edi
44487f:	75 30                	jne    0x4448b1
444881:	ff 15 e8 b0 44 00    	call   *0x44b0e8
444887:	0f b7 f0             	movzwl %ax,%esi
44488a:	81 ce 00 00 07 80    	or     $0x80070000,%esi
444890:	85 c0                	test   %eax,%eax
444892:	0f 4e f0             	cmovle %eax,%esi
444895:	b8 05 40 00 80       	mov    $0x80004005,%eax
44489a:	85 f6                	test   %esi,%esi
44489c:	0f 49 f0             	cmovns %eax,%esi
44489f:	56                   	push   %esi
4448a0:	68 28 02 00 00       	push   $0x228
4448a5:	68 8c 67 46 00       	push   $0x46678c
4448aa:	e8 24 ef fb ff       	call   0x4037d3
4448af:	eb 12                	jmp    0x4448c3
4448b1:	ff 75 0c             	push   0xc(%ebp)
4448b4:	57                   	push   %edi
4448b5:	e8 11 00 00 00       	call   0x4448cb
4448ba:	8b f0                	mov    %eax,%esi
4448bc:	57                   	push   %edi
4448bd:	ff 15 d4 b0 44 00    	call   *0x44b0d4
4448c3:	5f                   	pop    %edi
4448c4:	8b c6                	mov    %esi,%eax
4448c6:	5e                   	pop    %esi
4448c7:	5d                   	pop    %ebp
4448c8:	c2 08 00             	ret    $0x8
4448cb:	55                   	push   %ebp
4448cc:	8b ec                	mov    %esp,%ebp
4448ce:	51                   	push   %ecx
4448cf:	51                   	push   %ecx
4448d0:	56                   	push   %esi
4448d1:	57                   	push   %edi
4448d2:	8b 7d 0c             	mov    0xc(%ebp),%edi
4448d5:	8d 45 f8             	lea    -0x8(%ebp),%eax
4448d8:	50                   	push   %eax
4448d9:	ff 75 08             	push   0x8(%ebp)
4448dc:	33 f6                	xor    %esi,%esi
4448de:	89 37                	mov    %esi,(%edi)
4448e0:	89 77 04             	mov    %esi,0x4(%edi)
4448e3:	ff 15 a0 b2 44 00    	call   *0x44b2a0
4448e9:	85 c0                	test   %eax,%eax
4448eb:	75 30                	jne    0x44491d
4448ed:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4448f3:	0f b7 f0             	movzwl %ax,%esi
4448f6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4448fc:	85 c0                	test   %eax,%eax
4448fe:	0f 4e f0             	cmovle %eax,%esi
444901:	b8 05 40 00 80       	mov    $0x80004005,%eax
444906:	85 f6                	test   %esi,%esi
444908:	0f 49 f0             	cmovns %eax,%esi
44490b:	56                   	push   %esi
44490c:	68 46 02 00 00       	push   $0x246
444911:	68 8c 67 46 00       	push   $0x46678c
444916:	e8 b8 ee fb ff       	call   0x4037d3
44491b:	eb 0b                	jmp    0x444928
44491d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444920:	89 0f                	mov    %ecx,(%edi)
444922:	8b 4d fc             	mov    -0x4(%ebp),%ecx
444925:	89 4f 04             	mov    %ecx,0x4(%edi)
444928:	5f                   	pop    %edi
444929:	8b c6                	mov    %esi,%eax
44492b:	5e                   	pop    %esi
44492c:	8b e5                	mov    %ebp,%esp
44492e:	5d                   	pop    %ebp
44492f:	c2 08 00             	ret    $0x8
444932:	55                   	push   %ebp
444933:	8b ec                	mov    %esp,%ebp
444935:	83 ec 0c             	sub    $0xc,%esp
444938:	53                   	push   %ebx
444939:	56                   	push   %esi
44493a:	57                   	push   %edi
44493b:	8d 45 fc             	lea    -0x4(%ebp),%eax
44493e:	33 ff                	xor    %edi,%edi
444940:	50                   	push   %eax
444941:	ff 75 08             	push   0x8(%ebp)
444944:	8b f7                	mov    %edi,%esi
444946:	89 7d fc             	mov    %edi,-0x4(%ebp)
444949:	89 7d f8             	mov    %edi,-0x8(%ebp)
44494c:	89 7d f4             	mov    %edi,-0xc(%ebp)
44494f:	e8 9c 4b 00 00       	call   0x4494f0
444954:	8b d8                	mov    %eax,%ebx
444956:	85 db                	test   %ebx,%ebx
444958:	75 2d                	jne    0x444987
44495a:	ff 15 e8 b0 44 00    	call   *0x44b0e8
444960:	0f b7 f0             	movzwl %ax,%esi
444963:	81 ce 00 00 07 80    	or     $0x80070000,%esi
444969:	85 c0                	test   %eax,%eax
44496b:	0f 4e f0             	cmovle %eax,%esi
44496e:	85 f6                	test   %esi,%esi