4405ee:	8b d8                	mov    %eax,%ebx
4405f0:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
4405f4:	75 14                	jne    0x44060a
4405f6:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
4405fa:	0f 84 8c 00 00 00    	je     0x44068c
440600:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
440604:	0f 85 82 00 00 00    	jne    0x44068c
44060a:	8b 43 44             	mov    0x44(%ebx),%eax
44060d:	03 43 4c             	add    0x4c(%ebx),%eax
440610:	50                   	push   %eax
440611:	8d 44 24 14          	lea    0x14(%esp),%eax
440615:	50                   	push   %eax
440616:	8b 4b 40             	mov    0x40(%ebx),%ecx
440619:	03 4b 48             	add    0x48(%ebx),%ecx
44061c:	8b 53 44             	mov    0x44(%ebx),%edx
44061f:	8b 43 40             	mov    0x40(%ebx),%eax
440622:	e8 8d a1 fd ff       	call   0x41a7b4
440627:	8d 44 24 10          	lea    0x10(%esp),%eax
44062b:	50                   	push   %eax
44062c:	55                   	push   %ebp
44062d:	e8 86 64 fc ff       	call   0x406ab8
440632:	85 c0                	test   %eax,%eax
440634:	74 56                	je     0x44068c
440636:	f6 46 54 80          	testb  $0x80,0x54(%esi)
44063a:	74 06                	je     0x440642
44063c:	66 81 4b 54 80 00    	orw    $0x80,0x54(%ebx)
440642:	55                   	push   %ebp
440643:	e8 80 64 fc ff       	call   0x406ac8
440648:	89 44 24 04          	mov    %eax,0x4(%esp)
44064c:	8b 4b 44             	mov    0x44(%ebx),%ecx
44064f:	8b 53 40             	mov    0x40(%ebx),%edx
440652:	8b c5                	mov    %ebp,%eax
440654:	e8 eb a2 ff ff       	call   0x43a944
440659:	8b 43 4c             	mov    0x4c(%ebx),%eax
44065c:	50                   	push   %eax
44065d:	8b 43 48             	mov    0x48(%ebx),%eax
440660:	50                   	push   %eax
440661:	6a 00                	push   $0x0
440663:	6a 00                	push   $0x0
440665:	55                   	push   %ebp
440666:	e8 1d 64 fc ff       	call   0x406a88
44066b:	6a 00                	push   $0x0
44066d:	8b cd                	mov    %ebp,%ecx
44066f:	ba 0f 00 00 00       	mov    $0xf,%edx
440674:	8b c3                	mov    %ebx,%eax
440676:	e8 25 cb ff ff       	call   0x43d1a0
44067b:	8b 44 24 04          	mov    0x4(%esp),%eax
44067f:	50                   	push   %eax
440680:	55                   	push   %ebp
440681:	e8 3a 64 fc ff       	call   0x406ac0
440686:	66 81 63 54 7f ff    	andw   $0xff7f,0x54(%ebx)
44068c:	47                   	inc    %edi
44068d:	3b 3c 24             	cmp    (%esp),%edi
440690:	0f 8c 4b ff ff ff    	jl     0x4405e1
440696:	8b 86 9c 01 00 00    	mov    0x19c(%esi),%eax
44069c:	85 c0                	test   %eax,%eax
44069e:	0f 84 f8 00 00 00    	je     0x44079c
4406a4:	8b 40 08             	mov    0x8(%eax),%eax
4406a7:	48                   	dec    %eax
4406a8:	85 c0                	test   %eax,%eax
4406aa:	0f 8c ec 00 00 00    	jl     0x44079c
4406b0:	40                   	inc    %eax
4406b1:	89 44 24 0c          	mov    %eax,0xc(%esp)
4406b5:	33 ff                	xor    %edi,%edi
4406b7:	8b 86 9c 01 00 00    	mov    0x19c(%esi),%eax
4406bd:	8b d7                	mov    %edi,%edx
4406bf:	e8 2c b7 fd ff       	call   0x41bdf0
4406c4:	8b d8                	mov    %eax,%ebx
4406c6:	80 bb a5 01 00 00 00 	cmpb   $0x0,0x1a5(%ebx)
4406cd:	0f 84 be 00 00 00    	je     0x440791
4406d3:	f6 43 50 10          	testb  $0x10,0x50(%ebx)
4406d7:	0f 84 b4 00 00 00    	je     0x440791
4406dd:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
4406e1:	75 14                	jne    0x4406f7
4406e3:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
4406e7:	0f 84 a4 00 00 00    	je     0x440791
4406ed:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
4406f1:	0f 85 9a 00 00 00    	jne    0x440791
4406f7:	b8 10 00 00 ff       	mov    $0xff000010,%eax
4406fc:	e8 83 67 fe ff       	call   0x426e84
440701:	50                   	push   %eax
440702:	e8 e1 62 fc ff       	call   0x4069e8
440707:	89 44 24 08          	mov    %eax,0x8(%esp)
44070b:	8b 44 24 08          	mov    0x8(%esp),%eax
44070f:	50                   	push   %eax
440710:	8b 43 44             	mov    0x44(%ebx),%eax
440713:	03 43 4c             	add    0x4c(%ebx),%eax
440716:	50                   	push   %eax
440717:	8d 44 24 18          	lea    0x18(%esp),%eax
44071b:	50                   	push   %eax
44071c:	8b 4b 40             	mov    0x40(%ebx),%ecx
44071f:	03 4b 48             	add    0x48(%ebx),%ecx
440722:	8b 53 44             	mov    0x44(%ebx),%edx
440725:	4a                   	dec    %edx
440726:	8b 43 40             	mov    0x40(%ebx),%eax
440729:	48                   	dec    %eax
44072a:	e8 85 a0 fd ff       	call   0x41a7b4
44072f:	8d 44 24 14          	lea    0x14(%esp),%eax
440733:	50                   	push   %eax
440734:	55                   	push   %ebp
440735:	e8 4e 65 fc ff       	call   0x406c88
44073a:	8b 44 24 08          	mov    0x8(%esp),%eax
44073e:	50                   	push   %eax
44073f:	e8 b4 62 fc ff       	call   0x4069f8
440744:	b8 14 00 00 ff       	mov    $0xff000014,%eax
440749:	e8 36 67 fe ff       	call   0x426e84
44074e:	50                   	push   %eax
44074f:	e8 94 62 fc ff       	call   0x4069e8
440754:	89 44 24 08          	mov    %eax,0x8(%esp)
440758:	8b 44 24 08          	mov    0x8(%esp),%eax
44075c:	50                   	push   %eax
44075d:	8b 43 44             	mov    0x44(%ebx),%eax
440760:	03 43 4c             	add    0x4c(%ebx),%eax
440763:	40                   	inc    %eax
440764:	50                   	push   %eax
440765:	8d 44 24 18          	lea    0x18(%esp),%eax
440769:	50                   	push   %eax
44076a:	8b 4b 40             	mov    0x40(%ebx),%ecx
44076d:	03 4b 48             	add    0x48(%ebx),%ecx
440770:	41                   	inc    %ecx
440771:	8b 53 44             	mov    0x44(%ebx),%edx
440774:	8b 43 40             	mov    0x40(%ebx),%eax
440777:	e8 38 a0 fd ff       	call   0x41a7b4
44077c:	8d 44 24 14          	lea    0x14(%esp),%eax
440780:	50                   	push   %eax
440781:	55                   	push   %ebp
440782:	e8 01 65 fc ff       	call   0x406c88
440787:	8b 44 24 08          	mov    0x8(%esp),%eax
44078b:	50                   	push   %eax
44078c:	e8 67 62 fc ff       	call   0x4069f8
440791:	47                   	inc    %edi
440792:	ff 4c 24 0c          	decl   0xc(%esp)
440796:	0f 85 1b ff ff ff    	jne    0x4406b7
44079c:	83 c4 20             	add    $0x20,%esp
44079f:	5d                   	pop    %ebp
4407a0:	5f                   	pop    %edi
4407a1:	5e                   	pop    %esi
4407a2:	5b                   	pop    %ebx
4407a3:	c3                   	ret
4407a4:	55                   	push   %ebp
4407a5:	8b ec                	mov    %esp,%ebp
4407a7:	83 c4 e0             	add    $0xffffffe0,%esp
4407aa:	53                   	push   %ebx
4407ab:	56                   	push   %esi
4407ac:	57                   	push   %edi
4407ad:	8b f9                	mov    %ecx,%edi
4407af:	8b f2                	mov    %edx,%esi
4407b1:	8b d8                	mov    %eax,%ebx
4407b3:	66 81 4b 54 80 00    	orw    $0x80,0x54(%ebx)
4407b9:	56                   	push   %esi
4407ba:	e8 09 63 fc ff       	call   0x406ac8
4407bf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4407c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4407c5:	8b d7                	mov    %edi,%edx
4407c7:	8b c6                	mov    %esi,%eax
4407c9:	e8 76 a1 ff ff       	call   0x43a944
4407ce:	8b 43 4c             	mov    0x4c(%ebx),%eax
4407d1:	50                   	push   %eax
4407d2:	8b 43 48             	mov    0x48(%ebx),%eax
4407d5:	50                   	push   %eax
4407d6:	6a 00                	push   $0x0
4407d8:	6a 00                	push   $0x0
4407da:	56                   	push   %esi
4407db:	e8 a8 62 fc ff       	call   0x406a88
4407e0:	33 ff                	xor    %edi,%edi
4407e2:	33 c0                	xor    %eax,%eax
4407e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4407e7:	6a ec                	push   $0xffffffec
4407e9:	8b c3                	mov    %ebx,%eax
4407eb:	e8 78 1f 00 00       	call   0x442768
4407f0:	50                   	push   %eax
4407f1:	e8 da 65 fc ff       	call   0x406dd0
4407f6:	f6 c4 02             	test   $0x2,%ah
4407f9:	74 0e                	je     0x440809
4407fb:	c7 45 f8 0a 00 00 00 	movl   $0xa,-0x8(%ebp)
440802:	bf 0f 20 00 00       	mov    $0x200f,%edi
440807:	eb 22                	jmp    0x44082b
440809:	6a f0                	push   $0xfffffff0
44080b:	8b c3                	mov    %ebx,%eax
44080d:	e8 56 1f 00 00       	call   0x442768
440812:	50                   	push   %eax
440813:	e8 b8 65 fc ff       	call   0x406dd0
440818:	a9 00 00 80 00       	test   $0x800000,%eax
44081d:	74 0c                	je     0x44082b
44081f:	c7 45 f8 03 00 00 00 	movl   $0x3,-0x8(%ebp)
440826:	bf 0f a0 00 00       	mov    $0xa00f,%edi
44082b:	85 ff                	test   %edi,%edi
44082d:	74 49                	je     0x440878
44082f:	8b 43 4c             	mov    0x4c(%ebx),%eax
440832:	50                   	push   %eax
440833:	8b 43 48             	mov    0x48(%ebx),%eax
440836:	50                   	push   %eax
440837:	6a 00                	push   $0x0
440839:	6a 00                	push   $0x0
44083b:	8d 45 e0             	lea    -0x20(%ebp),%eax
44083e:	50                   	push   %eax
44083f:	e8 54 67 fc ff       	call   0x406f98
440844:	57                   	push   %edi
440845:	8b 45 f8             	mov    -0x8(%ebp),%eax
440848:	50                   	push   %eax
440849:	8d 45 e0             	lea    -0x20(%ebp),%eax
44084c:	50                   	push   %eax
44084d:	56                   	push   %esi
44084e:	e8 bd 63 fc ff       	call   0x406c10
440853:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
440856:	8b 55 e0             	mov    -0x20(%ebp),%edx
440859:	8b c6                	mov    %esi,%eax
44085b:	e8 e4 a0 ff ff       	call   0x43a944
440860:	8b 45 ec             	mov    -0x14(%ebp),%eax
440863:	2b 45 e4             	sub    -0x1c(%ebp),%eax
440866:	50                   	push   %eax
440867:	8b 45 e8             	mov    -0x18(%ebp),%eax
44086a:	2b 45 e0             	sub    -0x20(%ebp),%eax
44086d:	50                   	push   %eax
44086e:	6a 00                	push   $0x0
440870:	6a 00                	push   $0x0
440872:	56                   	push   %esi
440873:	e8 10 62 fc ff       	call   0x406a88
440878:	6a 00                	push   $0x0
44087a:	8b ce                	mov    %esi,%ecx
44087c:	ba 14 00 00 00       	mov    $0x14,%edx
440881:	8b c3                	mov    %ebx,%eax
440883:	e8 18 c9 ff ff       	call   0x43d1a0
440888:	6a 00                	push   $0x0
44088a:	8b ce                	mov    %esi,%ecx
44088c:	ba 0f 00 00 00       	mov    $0xf,%edx
440891:	8b c3                	mov    %ebx,%eax
440893:	e8 08 c9 ff ff       	call   0x43d1a0
440898:	8b 83 9c 01 00 00    	mov    0x19c(%ebx),%eax
44089e:	85 c0                	test   %eax,%eax
4408a0:	74 3d                	je     0x4408df
4408a2:	8b 40 08             	mov    0x8(%eax),%eax
4408a5:	48                   	dec    %eax
4408a6:	85 c0                	test   %eax,%eax
4408a8:	7c 35                	jl     0x4408df
4408aa:	40                   	inc    %eax
4408ab:	89 45 f0             	mov    %eax,-0x10(%ebp)
4408ae:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4408b5:	8b 55 fc             	mov    -0x4(%ebp),%edx
4408b8:	8b 83 9c 01 00 00    	mov    0x19c(%ebx),%eax
4408be:	e8 2d b5 fd ff       	call   0x41bdf0
4408c3:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
4408c7:	74 0e                	je     0x4408d7
4408c9:	8b 50 44             	mov    0x44(%eax),%edx
4408cc:	52                   	push   %edx
4408cd:	8b 48 40             	mov    0x40(%eax),%ecx
4408d0:	8b d6                	mov    %esi,%edx
4408d2:	e8 cd fe ff ff       	call   0x4407a4
4408d7:	ff 45 fc             	incl   -0x4(%ebp)
4408da:	ff 4d f0             	decl   -0x10(%ebp)
4408dd:	75 d6                	jne    0x4408b5
4408df:	8b 45 f4             	mov    -0xc(%ebp),%eax
4408e2:	50                   	push   %eax
4408e3:	56                   	push   %esi
4408e4:	e8 d7 61 fc ff       	call   0x406ac0
4408e9:	66 81 63 54 7f ff    	andw   $0xff7f,0x54(%ebx)
4408ef:	5f                   	pop    %edi
4408f0:	5e                   	pop    %esi
4408f1:	5b                   	pop    %ebx
4408f2:	8b e5                	mov    %ebp,%esp
4408f4:	5d                   	pop    %ebp
4408f5:	c2 04 00             	ret    $0x4
4408f8:	55                   	push   %ebp
4408f9:	8b ec                	mov    %esp,%ebp
4408fb:	83 c4 94             	add    $0xffffff94,%esp
4408fe:	53                   	push   %ebx
4408ff:	56                   	push   %esi
440900:	57                   	push   %edi
440901:	8b f2                	mov    %edx,%esi
440903:	8b d8                	mov    %eax,%ebx
440905:	80 bb f8 01 00 00 00 	cmpb   $0x0,0x1f8(%ebx)
44090c:	74 06                	je     0x440914
44090e:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
440912:	74 2d                	je     0x440941
440914:	f6 43 55 01          	testb  $0x1,0x55(%ebx)
440918:	75 19                	jne    0x440933
44091a:	8b c3                	mov    %ebx,%eax
44091c:	e8 e3 eb ff ff       	call   0x43f504
440921:	85 c0                	test   %eax,%eax
440923:	75 0e                	jne    0x440933
440925:	8b d6                	mov    %esi,%edx
440927:	8b c3                	mov    %ebx,%eax
440929:	8b 08                	mov    (%eax),%ecx
44092b:	ff 51 f0             	call   *-0x10(%ecx)
44092e:	e9 1e 01 00 00       	jmp    0x440a51
440933:	8b d6                	mov    %esi,%edx
440935:	8b c3                	mov    %ebx,%eax
440937:	e8 e0 fa ff ff       	call   0x44041c
44093c:	e9 10 01 00 00       	jmp    0x440a51
440941:	6a 00                	push   $0x0
440943:	e8 80 63 fc ff       	call   0x406cc8
440948:	8b f8                	mov    %eax,%edi
44094a:	8d 55 a4             	lea    -0x5c(%ebp),%edx
44094d:	8b c3                	mov    %ebx,%eax
44094f:	8b 08                	mov    (%eax),%ecx
440951:	ff 51 44             	call   *0x44(%ecx)
440954:	8b 45 b0             	mov    -0x50(%ebp),%eax
440957:	50                   	push   %eax
440958:	8d 55 94             	lea    -0x6c(%ebp),%edx
44095b:	8b c3                	mov    %ebx,%eax
44095d:	8b 08                	mov    (%eax),%ecx
44095f:	ff 51 44             	call   *0x44(%ecx)
440962:	8b 45 9c             	mov    -0x64(%ebp),%eax
440965:	50                   	push   %eax
440966:	57                   	push   %edi
440967:	e8 3c 60 fc ff       	call   0x4069a8
44096c:	89 45 f8             	mov    %eax,-0x8(%ebp)
44096f:	57                   	push   %edi
440970:	6a 00                	push   $0x0
440972:	e8 a1 65 fc ff       	call   0x406f18
440977:	6a 00                	push   $0x0
440979:	e8 32 60 fc ff       	call   0x4069b0
44097e:	89 45 fc             	mov    %eax,-0x4(%ebp)
440981:	8b 45 f8             	mov    -0x8(%ebp),%eax
440984:	50                   	push   %eax
440985:	8b 45 fc             	mov    -0x4(%ebp),%eax
440988:	50                   	push   %eax
440989:	e8 4a 61 fc ff       	call   0x406ad8
44098e:	89 45 f4             	mov    %eax,-0xc(%ebp)
440991:	33 c0                	xor    %eax,%eax
440993:	55                   	push   %ebp
440994:	68 4a 0a 44 00       	push   $0x440a4a
440999:	64 ff 30             	push   %fs:(%eax)
44099c:	64 89 20             	mov    %esp,%fs:(%eax)
44099f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4409a2:	50                   	push   %eax
4409a3:	8b c3                	mov    %ebx,%eax
4409a5:	e8 be 1d 00 00       	call   0x442768
4409aa:	50                   	push   %eax
4409ab:	e8 b0 61 fc ff       	call   0x406b60
4409b0:	8b f8                	mov    %eax,%edi
4409b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4409b5:	50                   	push   %eax
4409b6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4409b9:	ba 14 00 00 00       	mov    $0x14,%edx
4409be:	8b c3                	mov    %ebx,%eax
4409c0:	e8 db c7 ff ff       	call   0x43d1a0
4409c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4409c8:	89 46 04             	mov    %eax,0x4(%esi)
4409cb:	8b d6                	mov    %esi,%edx
4409cd:	8b c3                	mov    %ebx,%eax
4409cf:	e8 24 ff ff ff       	call   0x4408f8
4409d4:	33 c0                	xor    %eax,%eax
4409d6:	89 46 04             	mov    %eax,0x4(%esi)
4409d9:	68 20 00 cc 00       	push   $0xcc0020
4409de:	6a 00                	push   $0x0
4409e0:	6a 00                	push   $0x0
4409e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4409e5:	50                   	push   %eax
4409e6:	8d 55 a4             	lea    -0x5c(%ebp),%edx