44c67e:	89 45 fc             	mov    %eax,-0x4(%ebp)
44c681:	33 db                	xor    %ebx,%ebx
44c683:	8b ca                	mov    %edx,%ecx
44c685:	85 c9                	test   %ecx,%ecx
44c687:	7e 22                	jle    0x44c6ab
44c689:	be 01 00 00 00       	mov    $0x1,%esi
44c68e:	8b 55 fc             	mov    -0x4(%ebp),%edx
44c691:	83 c2 08             	add    $0x8,%edx
44c694:	dd 02                	fldl   (%edx)
44c696:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c699:	dc 1c d8             	fcompl (%eax,%ebx,8)
44c69c:	9b df e0             	fstsw  %ax
44c69f:	9e                   	sahf
44c6a0:	73 02                	jae    0x44c6a4
44c6a2:	8b de                	mov    %esi,%ebx
44c6a4:	46                   	inc    %esi
44c6a5:	83 c2 08             	add    $0x8,%edx
44c6a8:	49                   	dec    %ecx
44c6a9:	75 e9                	jne    0x44c694
44c6ab:	8b c3                	mov    %ebx,%eax
44c6ad:	5e                   	pop    %esi
44c6ae:	5b                   	pop    %ebx
44c6af:	59                   	pop    %ecx
44c6b0:	5d                   	pop    %ebp
44c6b1:	c3                   	ret
44c6b2:	8b c0                	mov    %eax,%eax
44c6b4:	53                   	push   %ebx
44c6b5:	56                   	push   %esi
44c6b6:	57                   	push   %edi
44c6b7:	55                   	push   %ebp
44c6b8:	83 c4 c8             	add    $0xffffffc8,%esp
44c6bb:	8b f2                	mov    %edx,%esi
44c6bd:	8d 3c 24             	lea    (%esp),%edi
44c6c0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c6c1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c6c2:	33 db                	xor    %ebx,%ebx
44c6c4:	8b 70 48             	mov    0x48(%eax),%esi
44c6c7:	8b 78 4c             	mov    0x4c(%eax),%edi
44c6ca:	8b 04 24             	mov    (%esp),%eax
44c6cd:	85 c0                	test   %eax,%eax
44c6cf:	7f 07                	jg     0x44c6d8
44c6d1:	b3 03                	mov    $0x3,%bl
44c6d3:	e9 81 00 00 00       	jmp    0x44c759
44c6d8:	3b f0                	cmp    %eax,%esi
44c6da:	7f 04                	jg     0x44c6e0
44c6dc:	b3 04                	mov    $0x4,%bl
44c6de:	eb 79                	jmp    0x44c759
44c6e0:	8b 54 24 04          	mov    0x4(%esp),%edx
44c6e4:	85 d2                	test   %edx,%edx
44c6e6:	7f 04                	jg     0x44c6ec
44c6e8:	b3 01                	mov    $0x1,%bl
44c6ea:	eb 6d                	jmp    0x44c759
44c6ec:	3b fa                	cmp    %edx,%edi
44c6ee:	7f 04                	jg     0x44c6f4
44c6f0:	b3 02                	mov    $0x2,%bl
44c6f2:	eb 65                	jmp    0x44c759
44c6f4:	8b ea                	mov    %edx,%ebp
44c6f6:	2b fa                	sub    %edx,%edi
44c6f8:	89 44 24 08          	mov    %eax,0x8(%esp)
44c6fc:	2b f0                	sub    %eax,%esi
44c6fe:	db 44 24 08          	fildl  0x8(%esp)
44c702:	dd 5c 24 0c          	fstpl  0xc(%esp)
44c706:	9b                   	fwait
44c707:	89 74 24 2c          	mov    %esi,0x2c(%esp)
44c70b:	db 44 24 2c          	fildl  0x2c(%esp)
44c70f:	dd 5c 24 14          	fstpl  0x14(%esp)
44c713:	9b                   	fwait
44c714:	89 6c 24 30          	mov    %ebp,0x30(%esp)
44c718:	db 44 24 30          	fildl  0x30(%esp)
44c71c:	dd 5c 24 1c          	fstpl  0x1c(%esp)
44c720:	9b                   	fwait
44c721:	89 7c 24 34          	mov    %edi,0x34(%esp)
44c725:	db 44 24 34          	fildl  0x34(%esp)
44c729:	dd 5c 24 24          	fstpl  0x24(%esp)
44c72d:	9b                   	fwait
44c72e:	8d 44 24 0c          	lea    0xc(%esp),%eax
44c732:	ba 03 00 00 00       	mov    $0x3,%edx
44c737:	e8 3c ff ff ff       	call   0x44c678
44c73c:	83 e8 01             	sub    $0x1,%eax
44c73f:	72 0a                	jb     0x44c74b
44c741:	74 0c                	je     0x44c74f
44c743:	48                   	dec    %eax
44c744:	74 0d                	je     0x44c753
44c746:	48                   	dec    %eax
44c747:	74 0e                	je     0x44c757
44c749:	eb 0e                	jmp    0x44c759
44c74b:	b3 03                	mov    $0x3,%bl
44c74d:	eb 0a                	jmp    0x44c759
44c74f:	b3 04                	mov    $0x4,%bl
44c751:	eb 06                	jmp    0x44c759
44c753:	b3 01                	mov    $0x1,%bl
44c755:	eb 02                	jmp    0x44c759
44c757:	b3 02                	mov    $0x2,%bl
44c759:	8b c3                	mov    %ebx,%eax
44c75b:	83 c4 38             	add    $0x38,%esp
44c75e:	5d                   	pop    %ebp
44c75f:	5f                   	pop    %edi
44c760:	5e                   	pop    %esi
44c761:	5b                   	pop    %ebx
44c762:	c3                   	ret
44c763:	90                   	nop
44c764:	53                   	push   %ebx
44c765:	8b d8                	mov    %eax,%ebx
44c767:	83 bb 94 00 00 00 00 	cmpl   $0x0,0x94(%ebx)
44c76e:	74 18                	je     0x44c788
44c770:	8b c3                	mov    %ebx,%eax
44c772:	8b 10                	mov    (%eax),%edx
44c774:	ff 52 58             	call   *0x58(%edx)
44c777:	8b d0                	mov    %eax,%edx
44c779:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
44c77f:	e8 24 73 fb ff       	call   0x403aa8
44c784:	84 c0                	test   %al,%al
44c786:	75 04                	jne    0x44c78c
44c788:	33 c0                	xor    %eax,%eax
44c78a:	5b                   	pop    %ebx
44c78b:	c3                   	ret
44c78c:	b0 01                	mov    $0x1,%al
44c78e:	5b                   	pop    %ebx
44c78f:	c3                   	ret
44c790:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
44c796:	c3                   	ret
44c797:	90                   	nop
44c798:	53                   	push   %ebx
44c799:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
44c79d:	75 16                	jne    0x44c7b5
44c79f:	8b 50 48             	mov    0x48(%eax),%edx
44c7a2:	52                   	push   %edx
44c7a3:	8b 50 4c             	mov    0x4c(%eax),%edx
44c7a6:	52                   	push   %edx
44c7a7:	8b 48 44             	mov    0x44(%eax),%ecx
44c7aa:	8b 50 40             	mov    0x40(%eax),%edx
44c7ad:	8b 18                	mov    (%eax),%ebx
44c7af:	ff 93 88 00 00 00    	call   *0x88(%ebx)
44c7b5:	5b                   	pop    %ebx
44c7b6:	c3                   	ret
44c7b7:	90                   	nop
44c7b8:	53                   	push   %ebx
44c7b9:	56                   	push   %esi
44c7ba:	57                   	push   %edi
44c7bb:	8b f8                	mov    %eax,%edi
44c7bd:	8b da                	mov    %edx,%ebx
44c7bf:	8b c7                	mov    %edi,%eax
44c7c1:	66 be c7 ff          	mov    $0xffc7,%si
44c7c5:	e8 4e 73 fb ff       	call   0x403b18
44c7ca:	84 c0                	test   %al,%al
44c7cc:	74 1a                	je     0x44c7e8
44c7ce:	8b c3                	mov    %ebx,%eax
44c7d0:	83 e0 02             	and    $0x2,%eax
44c7d3:	83 f8 02             	cmp    $0x2,%eax
44c7d6:	75 05                	jne    0x44c7dd
44c7d8:	83 e3 fd             	and    $0xfffffffd,%ebx
44c7db:	eb 0b                	jmp    0x44c7e8
44c7dd:	8b c3                	mov    %ebx,%eax
44c7df:	83 e0 01             	and    $0x1,%eax
44c7e2:	48                   	dec    %eax
44c7e3:	74 03                	je     0x44c7e8
44c7e5:	83 cb 02             	or     $0x2,%ebx
44c7e8:	8b c7                	mov    %edi,%eax
44c7ea:	e8 09 00 00 00       	call   0x44c7f8
44c7ef:	0b d8                	or     %eax,%ebx
44c7f1:	8b c3                	mov    %ebx,%eax
44c7f3:	5f                   	pop    %edi
44c7f4:	5e                   	pop    %esi
44c7f5:	5b                   	pop    %ebx
44c7f6:	c3                   	ret
44c7f7:	90                   	nop
44c7f8:	53                   	push   %ebx
44c7f9:	8b d8                	mov    %eax,%ebx
44c7fb:	8b c3                	mov    %ebx,%eax
44c7fd:	e8 46 dd ff ff       	call   0x44a548
44c802:	84 c0                	test   %al,%al
44c804:	74 07                	je     0x44c80d
44c806:	b8 00 00 02 00       	mov    $0x20000,%eax
44c80b:	5b                   	pop    %ebx
44c80c:	c3                   	ret
44c80d:	33 c0                	xor    %eax,%eax
44c80f:	5b                   	pop    %ebx
44c810:	c3                   	ret
44c811:	8d 40 00             	lea    0x0(%eax),%eax
44c814:	8b 50 6c             	mov    0x6c(%eax),%edx
44c817:	85 d2                	test   %edx,%edx
44c819:	74 07                	je     0x44c822
44c81b:	8b c2                	mov    %edx,%eax
44c81d:	8b 10                	mov    (%eax),%edx
44c81f:	ff 52 1c             	call   *0x1c(%edx)
44c822:	c3                   	ret
44c823:	90                   	nop
44c824:	53                   	push   %ebx
44c825:	56                   	push   %esi
44c826:	57                   	push   %edi
44c827:	8b fa                	mov    %edx,%edi
44c829:	8b d8                	mov    %eax,%ebx
44c82b:	8b 73 6c             	mov    0x6c(%ebx),%esi
44c82e:	85 f6                	test   %esi,%esi
44c830:	74 1b                	je     0x44c84d
44c832:	8b 47 08             	mov    0x8(%edi),%eax
44c835:	8d 50 38             	lea    0x38(%eax),%edx
44c838:	8b c6                	mov    %esi,%eax
44c83a:	8b 08                	mov    (%eax),%ecx
44c83c:	ff 91 84 00 00 00    	call   *0x84(%ecx)
44c842:	84 c0                	test   %al,%al
44c844:	75 07                	jne    0x44c84d
44c846:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
44c84d:	5f                   	pop    %edi
44c84e:	5e                   	pop    %esi
44c84f:	5b                   	pop    %ebx
44c850:	c3                   	ret
44c851:	8d 40 00             	lea    0x0(%eax),%eax
44c854:	53                   	push   %ebx
44c855:	56                   	push   %esi
44c856:	57                   	push   %edi
44c857:	55                   	push   %ebp
44c858:	83 c4 c8             	add    $0xffffffc8,%esp
44c85b:	8b ea                	mov    %edx,%ebp
44c85d:	8b f8                	mov    %eax,%edi
44c85f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
44c863:	0f 85 27 01 00 00    	jne    0x44c990
44c869:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
44c86d:	74 0e                	je     0x44c87d
44c86f:	8b d5                	mov    %ebp,%edx
44c871:	8b c7                	mov    %edi,%eax
44c873:	8b 08                	mov    (%eax),%ecx
44c875:	ff 51 f0             	call   *-0x10(%ecx)
44c878:	e9 13 01 00 00       	jmp    0x44c990
44c87d:	8b 45 08             	mov    0x8(%ebp),%eax
44c880:	89 44 24 11          	mov    %eax,0x11(%esp)
44c884:	0f bf 44 24 11       	movswl 0x11(%esp),%eax
44c889:	89 44 24 15          	mov    %eax,0x15(%esp)
44c88d:	0f bf 44 24 13       	movswl 0x13(%esp),%eax
44c892:	89 44 24 19          	mov    %eax,0x19(%esp)
44c896:	8b 44 24 15          	mov    0x15(%esp),%eax
44c89a:	89 04 24             	mov    %eax,(%esp)
44c89d:	8b 44 24 19          	mov    0x19(%esp),%eax
44c8a1:	89 44 24 04          	mov    %eax,0x4(%esp)
44c8a5:	8b c4                	mov    %esp,%eax
44c8a7:	e8 24 a5 fc ff       	call   0x416dd0
44c8ac:	84 c0                	test   %al,%al
44c8ae:	74 11                	je     0x44c8c1
44c8b0:	8b 04 24             	mov    (%esp),%eax
44c8b3:	89 44 24 08          	mov    %eax,0x8(%esp)
44c8b7:	8b 44 24 04          	mov    0x4(%esp),%eax
44c8bb:	89 44 24 0c          	mov    %eax,0xc(%esp)
44c8bf:	eb 3c                	jmp    0x44c8fd
44c8c1:	8d 4c 24 08          	lea    0x8(%esp),%ecx
44c8c5:	8b d4                	mov    %esp,%edx
44c8c7:	8b c7                	mov    %edi,%eax
44c8c9:	e8 d6 d0 ff ff       	call   0x4499a4
44c8ce:	ff 74 24 0c          	push   0xc(%esp)
44c8d2:	ff 74 24 0c          	push   0xc(%esp)
44c8d6:	8d 54 24 28          	lea    0x28(%esp),%edx
44c8da:	8b c7                	mov    %edi,%eax
44c8dc:	8b 08                	mov    (%eax),%ecx
44c8de:	ff 51 44             	call   *0x44(%ecx)
44c8e1:	8d 44 24 28          	lea    0x28(%esp),%eax
44c8e5:	50                   	push   %eax
44c8e6:	e8 ed a8 fb ff       	call   0x4071d8
44c8eb:	85 c0                	test   %eax,%eax
44c8ed:	75 0e                	jne    0x44c8fd
44c8ef:	8b d5                	mov    %ebp,%edx
44c8f1:	8b c7                	mov    %edi,%eax
44c8f3:	8b 08                	mov    (%eax),%ecx
44c8f5:	ff 51 f0             	call   *-0x10(%ecx)
44c8f8:	e9 93 00 00 00       	jmp    0x44c990
44c8fd:	c6 44 24 10 00       	movb   $0x0,0x10(%esp)
44c902:	8d 4c 24 10          	lea    0x10(%esp),%ecx
44c906:	8d 54 24 08          	lea    0x8(%esp),%edx
44c90a:	8b c7                	mov    %edi,%eax
44c90c:	66 be e6 ff          	mov    $0xffe6,%si
44c910:	e8 03 72 fb ff       	call   0x403b18
44c915:	0f b6 44 24 10       	movzbl 0x10(%esp),%eax
44c91a:	89 45 0c             	mov    %eax,0xc(%ebp)
44c91d:	80 7c 24 10 00       	cmpb   $0x0,0x10(%esp)
44c922:	75 6c                	jne    0x44c990
44c924:	8b c7                	mov    %edi,%eax
44c926:	66 be d6 ff          	mov    $0xffd6,%si
44c92a:	e8 e9 71 fb ff       	call   0x403b18
44c92f:	8b d8                	mov    %eax,%ebx
44c931:	85 db                	test   %ebx,%ebx
44c933:	74 4c                	je     0x44c981
44c935:	80 7b 61 00          	cmpb   $0x0,0x61(%ebx)
44c939:	74 46                	je     0x44c981
44c93b:	8b d7                	mov    %edi,%edx
44c93d:	8b c7                	mov    %edi,%eax
44c93f:	e8 8c d0 ff ff       	call   0x4499d0
44c944:	89 7b 64             	mov    %edi,0x64(%ebx)
44c947:	8b c4                	mov    %esp,%eax
44c949:	e8 82 a4 fc ff       	call   0x416dd0
44c94e:	84 c0                	test   %al,%al
44c950:	74 1a                	je     0x44c96c
44c952:	8d 4c 24 30          	lea    0x30(%esp),%ecx
44c956:	33 d2                	xor    %edx,%edx
44c958:	33 c0                	xor    %eax,%eax
44c95a:	e8 f9 a3 fc ff       	call   0x416d58
44c95f:	8d 54 24 30          	lea    0x30(%esp),%edx
44c963:	8b cc                	mov    %esp,%ecx
44c965:	8b c7                	mov    %edi,%eax
44c967:	e8 88 cf ff ff       	call   0x4498f4
44c96c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
44c970:	8b 14 24             	mov    (%esp),%edx
44c973:	8b c3                	mov    %ebx,%eax
44c975:	8b 18                	mov    (%eax),%ebx
44c977:	ff 53 40             	call   *0x40(%ebx)
44c97a:	c7 45 0c 01 00 00 00 	movl   $0x1,0xc(%ebp)
44c981:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
44c985:	75 09                	jne    0x44c990
44c987:	8b d5                	mov    %ebp,%edx
44c989:	8b c7                	mov    %edi,%eax
44c98b:	8b 08                	mov    (%eax),%ecx
44c98d:	ff 51 f0             	call   *-0x10(%ecx)
44c990:	83 c4 38             	add    $0x38,%esp
44c993:	5d                   	pop    %ebp
44c994:	5f                   	pop    %edi
44c995:	5e                   	pop    %esi
44c996:	5b                   	pop    %ebx
44c997:	c3                   	ret
44c998:	53                   	push   %ebx
44c999:	56                   	push   %esi
44c99a:	57                   	push   %edi
44c99b:	83 c4 f8             	add    $0xfffffff8,%esp
44c99e:	8b f2                	mov    %edx,%esi
44c9a0:	8d 3c 24             	lea    (%esp),%edi
44c9a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c9a4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c9a5:	66 83 b8 22 01 00 00 	cmpw   $0x0,0x122(%eax)
44c9ac:	00
44c9ad:	74 15                	je     0x44c9c4
44c9af:	51                   	push   %ecx
44c9b0:	8b d8                	mov    %eax,%ebx
44c9b2:	8b d0                	mov    %eax,%edx
44c9b4:	8d 4c 24 04          	lea    0x4(%esp),%ecx
44c9b8:	8b 83 24 01 00 00    	mov    0x124(%ebx),%eax
44c9be:	ff 93 20 01 00 00    	call   *0x120(%ebx)
44c9c4:	59                   	pop    %ecx
44c9c5:	5a                   	pop    %edx
44c9c6:	5f                   	pop    %edi
44c9c7:	5e                   	pop    %esi
44c9c8:	5b                   	pop    %ebx
44c9c9:	c3                   	ret
44c9ca:	8b c0                	mov    %eax,%eax
44c9cc:	8b 40 74             	mov    0x74(%eax),%eax
44c9cf:	8b 08                	mov    (%eax),%ecx
44c9d1:	ff 51 08             	call   *0x8(%ecx)
44c9d4:	c3                   	ret
44c9d5:	8d 40 00             	lea    0x0(%eax),%eax
44c9d8:	53                   	push   %ebx
44c9d9:	56                   	push   %esi
44c9da:	8b f2                	mov    %edx,%esi
44c9dc:	8b d8                	mov    %eax,%ebx
44c9de:	8b d6                	mov    %esi,%edx
44c9e0:	8b c3                	mov    %ebx,%eax