4407ea:	57                   	push   %edi
4407eb:	83 c4 e0             	add    $0xffffffe0,%esp
4407ee:	8b f2                	mov    %edx,%esi
4407f0:	8d 3c 24             	lea    (%esp),%edi
4407f3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4407f4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4407f5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4407f6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4407f7:	8b f8                	mov    %eax,%edi
4407f9:	8b 9f a0 00 00 00    	mov    0xa0(%edi),%ebx
4407ff:	85 db                	test   %ebx,%ebx
440801:	74 17                	je     0x44081a
440803:	8b cf                	mov    %edi,%ecx
440805:	33 d2                	xor    %edx,%edx
440807:	8b c3                	mov    %ebx,%eax
440809:	66 be be ff          	mov    $0xffbe,%si
44080d:	e8 32 2c fc ff       	call   0x403444
440812:	84 c0                	test   %al,%al
440814:	75 04                	jne    0x44081a
440816:	33 c0                	xor    %eax,%eax
440818:	eb 02                	jmp    0x44081c
44081a:	b0 01                	mov    $0x1,%al
44081c:	8b d8                	mov    %eax,%ebx
44081e:	84 db                	test   %bl,%bl
440820:	74 50                	je     0x440872
440822:	8b d4                	mov    %esp,%edx
440824:	8b c7                	mov    %edi,%eax
440826:	e8 41 0e 00 00       	call   0x44166c
44082b:	8b f0                	mov    %eax,%esi
44082d:	85 f6                	test   %esi,%esi
44082f:	74 32                	je     0x440863
440831:	8b c6                	mov    %esi,%eax
440833:	e8 18 eb ff ff       	call   0x43f350
440838:	50                   	push   %eax
440839:	8d 44 24 14          	lea    0x14(%esp),%eax
44083d:	50                   	push   %eax
44083e:	8b c6                	mov    %esi,%eax
440840:	e8 c7 ea ff ff       	call   0x43f30c
440845:	8b c8                	mov    %eax,%ecx
440847:	33 d2                	xor    %edx,%edx
440849:	33 c0                	xor    %eax,%eax
44084b:	e8 f8 20 fd ff       	call   0x412948
440850:	8d 4c 24 10          	lea    0x10(%esp),%ecx
440854:	8b d6                	mov    %esi,%edx
440856:	8b c7                	mov    %edi,%eax
440858:	66 be cc ff          	mov    $0xffcc,%si
44085c:	e8 e3 2b fc ff       	call   0x403444
440861:	eb 0f                	jmp    0x440872
440863:	8b cc                	mov    %esp,%ecx
440865:	8b d6                	mov    %esi,%edx
440867:	8b c7                	mov    %edi,%eax
440869:	66 be cc ff          	mov    $0xffcc,%si
44086d:	e8 d2 2b fc ff       	call   0x403444
440872:	8b c3                	mov    %ebx,%eax
440874:	83 c4 20             	add    $0x20,%esp
440877:	5f                   	pop    %edi
440878:	5e                   	pop    %esi
440879:	5b                   	pop    %ebx
44087a:	c3                   	ret
44087b:	90                   	nop
44087c:	56                   	push   %esi
44087d:	66 be ee ff          	mov    $0xffee,%si
440881:	e8 be 2b fc ff       	call   0x403444
440886:	5e                   	pop    %esi
440887:	c3                   	ret
440888:	b0 01                	mov    $0x1,%al
44088a:	c3                   	ret
44088b:	90                   	nop
44088c:	53                   	push   %ebx
44088d:	51                   	push   %ecx
44088e:	c6 04 24 01          	movb   $0x1,(%esp)
440892:	66 83 b8 c2 00 00 00 	cmpw   $0x0,0xc2(%eax)
440899:	00
44089a:	74 18                	je     0x4408b4
44089c:	51                   	push   %ecx
44089d:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4408a1:	51                   	push   %ecx
4408a2:	8b ca                	mov    %edx,%ecx
4408a4:	8b d8                	mov    %eax,%ebx
4408a6:	8b d0                	mov    %eax,%edx
4408a8:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
4408ae:	ff 93 c0 00 00 00    	call   *0xc0(%ebx)
4408b4:	8a 04 24             	mov    (%esp),%al
4408b7:	5a                   	pop    %edx
4408b8:	5b                   	pop    %ebx
4408b9:	c3                   	ret
4408ba:	8b c0                	mov    %eax,%eax
4408bc:	53                   	push   %ebx
4408bd:	56                   	push   %esi
4408be:	83 c4 f0             	add    $0xfffffff0,%esp
4408c1:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4408c5:	89 14 24             	mov    %edx,(%esp)
4408c8:	8b f0                	mov    %eax,%esi
4408ca:	80 7e 5b 05          	cmpb   $0x5,0x5b(%esi)
4408ce:	74 4d                	je     0x44091d
4408d0:	8b 04 24             	mov    (%esp),%eax
4408d3:	8b 00                	mov    (%eax),%eax
4408d5:	89 44 24 08          	mov    %eax,0x8(%esp)
4408d9:	8b 44 24 04          	mov    0x4(%esp),%eax
4408dd:	8b 00                	mov    (%eax),%eax
4408df:	89 44 24 0c          	mov    %eax,0xc(%esp)
4408e3:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4408e7:	8d 54 24 08          	lea    0x8(%esp),%edx
4408eb:	8b c6                	mov    %esi,%eax
4408ed:	8b 18                	mov    (%eax),%ebx
4408ef:	ff 53 34             	call   *0x34(%ebx)
4408f2:	8a 56 5b             	mov    0x5b(%esi),%dl
4408f5:	8b ca                	mov    %edx,%ecx
4408f7:	84 c9                	test   %cl,%cl
4408f9:	74 08                	je     0x440903
4408fb:	80 c1 fd             	add    $0xfd,%cl
4408fe:	80 e9 02             	sub    $0x2,%cl
440901:	73 09                	jae    0x44090c
440903:	8b 0c 24             	mov    (%esp),%ecx
440906:	8b 5c 24 08          	mov    0x8(%esp),%ebx
44090a:	89 19                	mov    %ebx,(%ecx)
44090c:	80 ea 03             	sub    $0x3,%dl
44090f:	73 0e                	jae    0x44091f
440911:	8b 54 24 04          	mov    0x4(%esp),%edx
440915:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
440919:	89 0a                	mov    %ecx,(%edx)
44091b:	eb 02                	jmp    0x44091f
44091d:	b0 01                	mov    $0x1,%al
44091f:	83 c4 10             	add    $0x10,%esp
440922:	5e                   	pop    %esi
440923:	5b                   	pop    %ebx
440924:	c3                   	ret
440925:	8d 40 00             	lea    0x0(%eax),%eax
440928:	53                   	push   %ebx
440929:	56                   	push   %esi
44092a:	57                   	push   %edi
44092b:	51                   	push   %ecx
44092c:	89 0c 24             	mov    %ecx,(%esp)
44092f:	8b fa                	mov    %edx,%edi
440931:	8b f0                	mov    %eax,%esi
440933:	8b 0c 24             	mov    (%esp),%ecx
440936:	8b d7                	mov    %edi,%edx
440938:	8b c6                	mov    %esi,%eax
44093a:	8b 18                	mov    (%eax),%ebx
44093c:	ff 53 30             	call   *0x30(%ebx)
44093f:	8b d8                	mov    %eax,%ebx
440941:	84 db                	test   %bl,%bl
440943:	74 0c                	je     0x440951
440945:	8b 0c 24             	mov    (%esp),%ecx
440948:	8b d7                	mov    %edi,%edx
44094a:	8b c6                	mov    %esi,%eax
44094c:	e8 97 00 00 00       	call   0x4409e8
440951:	8b c3                	mov    %ebx,%eax
440953:	5a                   	pop    %edx
440954:	5f                   	pop    %edi
440955:	5e                   	pop    %esi
440956:	5b                   	pop    %ebx
440957:	c3                   	ret
440958:	55                   	push   %ebp
440959:	8b ec                	mov    %esp,%ebp
44095b:	53                   	push   %ebx
44095c:	66 83 b8 ca 00 00 00 	cmpw   $0x0,0xca(%eax)
440963:	00
440964:	74 1b                	je     0x440981
440966:	51                   	push   %ecx
440967:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44096a:	51                   	push   %ecx
44096b:	8b 4d 08             	mov    0x8(%ebp),%ecx
44096e:	51                   	push   %ecx
44096f:	8b ca                	mov    %edx,%ecx
440971:	8b d8                	mov    %eax,%ebx
440973:	8b d0                	mov    %eax,%edx
440975:	8b 83 cc 00 00 00    	mov    0xcc(%ebx),%eax
44097b:	ff 93 c8 00 00 00    	call   *0xc8(%ebx)
440981:	5b                   	pop    %ebx
440982:	5d                   	pop    %ebp
440983:	c2 08 00             	ret    $0x8
440986:	8b c0                	mov    %eax,%eax
440988:	53                   	push   %ebx
440989:	56                   	push   %esi
44098a:	83 c4 f8             	add    $0xfffffff8,%esp
44098d:	8b da                	mov    %edx,%ebx
44098f:	8b f0                	mov    %eax,%esi
440991:	53                   	push   %ebx
440992:	e8 fd 5b fc ff       	call   0x406594
440997:	8b cc                	mov    %esp,%ecx
440999:	8b d3                	mov    %ebx,%edx
44099b:	8b c6                	mov    %esi,%eax
44099d:	e8 aa ea ff ff       	call   0x43f44c
4409a2:	8b 04 24             	mov    (%esp),%eax
4409a5:	89 03                	mov    %eax,(%ebx)
4409a7:	8b 44 24 04          	mov    0x4(%esp),%eax
4409ab:	89 43 04             	mov    %eax,0x4(%ebx)
4409ae:	59                   	pop    %ecx
4409af:	5a                   	pop    %edx
4409b0:	5e                   	pop    %esi
4409b1:	5b                   	pop    %ebx
4409b2:	c3                   	ret
4409b3:	90                   	nop
4409b4:	56                   	push   %esi
4409b5:	f6 40 50 04          	testb  $0x4,0x50(%eax)
4409b9:	74 22                	je     0x4409dd
4409bb:	8b 32                	mov    (%edx),%esi
4409bd:	81 fe 04 02 00 00    	cmp    $0x204,%esi
4409c3:	74 1c                	je     0x4409e1
4409c5:	81 fe 05 02 00 00    	cmp    $0x205,%esi
4409cb:	74 14                	je     0x4409e1
4409cd:	81 fe 00 02 00 00    	cmp    $0x200,%esi
4409d3:	74 0c                	je     0x4409e1
4409d5:	81 fe 06 02 00 00    	cmp    $0x206,%esi
4409db:	74 04                	je     0x4409e1
4409dd:	33 c0                	xor    %eax,%eax
4409df:	5e                   	pop    %esi
4409e0:	c3                   	ret
4409e1:	b0 01                	mov    $0x1,%al
4409e3:	5e                   	pop    %esi
4409e4:	c3                   	ret
4409e5:	8d 40 00             	lea    0x0(%eax),%eax
4409e8:	53                   	push   %ebx
4409e9:	56                   	push   %esi
4409ea:	57                   	push   %edi
4409eb:	83 c4 f0             	add    $0xfffffff0,%esp
4409ee:	8b f9                	mov    %ecx,%edi
4409f0:	8b f2                	mov    %edx,%esi
4409f2:	8b 50 74             	mov    0x74(%eax),%edx
4409f5:	8b 52 14             	mov    0x14(%edx),%edx
4409f8:	85 d2                	test   %edx,%edx
4409fa:	76 05                	jbe    0x440a01
4409fc:	89 14 24             	mov    %edx,(%esp)
4409ff:	eb 05                	jmp    0x440a06
440a01:	33 d2                	xor    %edx,%edx
440a03:	89 14 24             	mov    %edx,(%esp)
440a06:	8b 50 74             	mov    0x74(%eax),%edx
440a09:	8b 52 10             	mov    0x10(%edx),%edx
440a0c:	85 d2                	test   %edx,%edx
440a0e:	76 06                	jbe    0x440a16
440a10:	89 54 24 04          	mov    %edx,0x4(%esp)
440a14:	eb 06                	jmp    0x440a1c
440a16:	33 d2                	xor    %edx,%edx
440a18:	89 54 24 04          	mov    %edx,0x4(%esp)
440a1c:	8b 50 74             	mov    0x74(%eax),%edx
440a1f:	8b 52 0c             	mov    0xc(%edx),%edx
440a22:	85 d2                	test   %edx,%edx
440a24:	76 06                	jbe    0x440a2c
440a26:	89 54 24 08          	mov    %edx,0x8(%esp)
440a2a:	eb 06                	jmp    0x440a32
440a2c:	33 d2                	xor    %edx,%edx
440a2e:	89 54 24 08          	mov    %edx,0x8(%esp)
440a32:	8b 50 74             	mov    0x74(%eax),%edx
440a35:	8b 52 08             	mov    0x8(%edx),%edx
440a38:	85 d2                	test   %edx,%edx
440a3a:	76 06                	jbe    0x440a42
440a3c:	89 54 24 0c          	mov    %edx,0xc(%esp)
440a40:	eb 06                	jmp    0x440a48
440a42:	33 d2                	xor    %edx,%edx
440a44:	89 54 24 0c          	mov    %edx,0xc(%esp)
440a48:	8d 54 24 08          	lea    0x8(%esp),%edx
440a4c:	52                   	push   %edx
440a4d:	8d 54 24 10          	lea    0x10(%esp),%edx
440a51:	52                   	push   %edx
440a52:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
440a56:	8d 54 24 08          	lea    0x8(%esp),%edx
440a5a:	8b 18                	mov    (%eax),%ebx
440a5c:	ff 53 38             	call   *0x38(%ebx)
440a5f:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
440a64:	7e 10                	jle    0x440a76
440a66:	8b 06                	mov    (%esi),%eax
440a68:	3b 44 24 08          	cmp    0x8(%esp),%eax
440a6c:	7e 08                	jle    0x440a76
440a6e:	8b 44 24 08          	mov    0x8(%esp),%eax
440a72:	89 06                	mov    %eax,(%esi)
440a74:	eb 12                	jmp    0x440a88
440a76:	83 3c 24 00          	cmpl   $0x0,(%esp)
440a7a:	7e 0c                	jle    0x440a88
440a7c:	8b 06                	mov    (%esi),%eax
440a7e:	3b 04 24             	cmp    (%esp),%eax
440a81:	7d 05                	jge    0x440a88
440a83:	8b 04 24             	mov    (%esp),%eax
440a86:	89 06                	mov    %eax,(%esi)
440a88:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
440a8d:	7e 10                	jle    0x440a9f
440a8f:	8b 07                	mov    (%edi),%eax
440a91:	3b 44 24 0c          	cmp    0xc(%esp),%eax
440a95:	7e 08                	jle    0x440a9f
440a97:	8b 44 24 0c          	mov    0xc(%esp),%eax
440a9b:	89 07                	mov    %eax,(%edi)
440a9d:	eb 15                	jmp    0x440ab4
440a9f:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
440aa4:	7e 0e                	jle    0x440ab4
440aa6:	8b 07                	mov    (%edi),%eax
440aa8:	3b 44 24 04          	cmp    0x4(%esp),%eax
440aac:	7d 06                	jge    0x440ab4
440aae:	8b 44 24 04          	mov    0x4(%esp),%eax
440ab2:	89 07                	mov    %eax,(%edi)
440ab4:	83 c4 10             	add    $0x10,%esp
440ab7:	5f                   	pop    %edi
440ab8:	5e                   	pop    %esi
440ab9:	5b                   	pop    %ebx
440aba:	c3                   	ret
440abb:	90                   	nop
440abc:	55                   	push   %ebp
440abd:	8b ec                	mov    %esp,%ebp
440abf:	83 c4 f0             	add    $0xfffffff0,%esp
440ac2:	53                   	push   %ebx
440ac3:	89 55 f0             	mov    %edx,-0x10(%ebp)
440ac6:	89 4d f4             	mov    %ecx,-0xc(%ebp)
440ac9:	8b 55 08             	mov    0x8(%ebp),%edx
440acc:	89 55 f8             	mov    %edx,-0x8(%ebp)
440acf:	33 d2                	xor    %edx,%edx
440ad1:	89 55 fc             	mov    %edx,-0x4(%ebp)
440ad4:	85 c0                	test   %eax,%eax
440ad6:	74 0b                	je     0x440ae3
440ad8:	8d 55 f0             	lea    -0x10(%ebp),%edx
440adb:	8b d8                	mov    %eax,%ebx
440add:	8b 43 3c             	mov    0x3c(%ebx),%eax
440ae0:	ff 53 38             	call   *0x38(%ebx)
440ae3:	8b 45 fc             	mov    -0x4(%ebp),%eax
440ae6:	5b                   	pop    %ebx
440ae7:	8b e5                	mov    %ebp,%esp
440ae9:	5d                   	pop    %ebp
440aea:	c2 04 00             	ret    $0x4
440aed:	8d 40 00             	lea    0x0(%eax),%eax
440af0:	53                   	push   %ebx
440af1:	8b d8                	mov    %eax,%ebx
440af3:	8b c3                	mov    %ebx,%eax
440af5:	8b 10                	mov    (%eax),%edx
440af7:	ff 52 54             	call   *0x54(%edx)
440afa:	84 c0                	test   %al,%al
440afc:	74 14                	je     0x440b12
440afe:	8b 43 4c             	mov    0x4c(%ebx),%eax
440b01:	89 83 ac 00 00 00    	mov    %eax,0xac(%ebx)
440b07:	8b 43 48             	mov    0x48(%ebx),%eax
440b0a:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
440b10:	5b                   	pop    %ebx
440b11:	c3                   	ret
440b12:	83 bb a0 00 00 00 00 	cmpl   $0x0,0xa0(%ebx)
440b19:	74 43                	je     0x440b5e
440b1b:	80 bb 9c 00 00 00 02 	cmpb   $0x2,0x9c(%ebx)
440b22:	74 0e                	je     0x440b32
440b24:	8b 83 a0 00 00 00    	mov    0xa0(%ebx),%eax
440b2a:	8a 40 5b             	mov    0x5b(%eax),%al
440b2d:	48                   	dec    %eax
440b2e:	2c 02                	sub    $0x2,%al
440b30:	73 0b                	jae    0x440b3d
440b32:	8b 43 4c             	mov    0x4c(%ebx),%eax
440b35:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
440b3b:	eb 21                	jmp    0x440b5e
440b3d:	80 bb 9c 00 00 00 01 	cmpb   $0x1,0x9c(%ebx)
440b44:	74 0f                	je     0x440b55
440b46:	8b 83 a0 00 00 00    	mov    0xa0(%ebx),%eax
440b4c:	8a 40 5b             	mov    0x5b(%eax),%al
440b4f:	04 fd                	add    $0xfd,%al
440b51:	2c 02                	sub    $0x2,%al
440b53:	73 09                	jae    0x440b5e
440b55:	8b 43 48             	mov    0x48(%ebx),%eax