44a670:	e8 b7 0a 00 00       	call   0x44b12c
44a675:	85 f6                	test   %esi,%esi
44a677:	7d 08                	jge    0x44a681
44a679:	a1 18 b5 4a 00       	mov    0x4ab518,%eax
44a67e:	8b 70 08             	mov    0x8(%eax),%esi
44a681:	83 3d 3c b5 4a 00 ff 	cmpl   $0xffffffff,0x4ab53c
44a688:	74 0b                	je     0x44a695
44a68a:	8b ce                	mov    %esi,%ecx
44a68c:	8b d3                	mov    %ebx,%edx
44a68e:	8b c7                	mov    %edi,%eax
44a690:	e8 9f d7 ff ff       	call   0x447e34
44a695:	83 c4 14             	add    $0x14,%esp
44a698:	5f                   	pop    %edi
44a699:	5e                   	pop    %esi
44a69a:	5b                   	pop    %ebx
44a69b:	c3                   	ret
44a69c:	c3                   	ret
44a69d:	8d 40 00             	lea    0x0(%eax),%eax
44a6a0:	3b 05 3c b5 4a 00    	cmp    0x4ab53c,%eax
44a6a6:	0f 94 c0             	sete   %al
44a6a9:	c3                   	ret
44a6aa:	8b c0                	mov    %eax,%eax
44a6ac:	55                   	push   %ebp
44a6ad:	8b ec                	mov    %esp,%ebp
44a6af:	53                   	push   %ebx
44a6b0:	56                   	push   %esi
44a6b1:	8b 75 08             	mov    0x8(%ebp),%esi
44a6b4:	c6 06 00             	movb   $0x0,(%esi)
44a6b7:	66 83 b8 e2 00 00 00 	cmpw   $0x0,0xe2(%eax)
44a6be:	00
44a6bf:	74 20                	je     0x44a6e1
44a6c1:	c6 06 01             	movb   $0x1,(%esi)
44a6c4:	51                   	push   %ecx
44a6c5:	8b 4d 10             	mov    0x10(%ebp),%ecx
44a6c8:	51                   	push   %ecx
44a6c9:	0f b6 4d 0c          	movzbl 0xc(%ebp),%ecx
44a6cd:	51                   	push   %ecx
44a6ce:	56                   	push   %esi
44a6cf:	8b d8                	mov    %eax,%ebx
44a6d1:	8b ca                	mov    %edx,%ecx
44a6d3:	8b d0                	mov    %eax,%edx
44a6d5:	8b 83 e4 00 00 00    	mov    0xe4(%ebx),%eax
44a6db:	ff 93 e0 00 00 00    	call   *0xe0(%ebx)
44a6e1:	5e                   	pop    %esi
44a6e2:	5b                   	pop    %ebx
44a6e3:	5d                   	pop    %ebp
44a6e4:	c2 0c 00             	ret    $0xc
44a6e7:	90                   	nop
44a6e8:	55                   	push   %ebp
44a6e9:	8b ec                	mov    %esp,%ebp
44a6eb:	53                   	push   %ebx
44a6ec:	66 83 b8 da 00 00 00 	cmpw   $0x0,0xda(%eax)
44a6f3:	00
44a6f4:	74 17                	je     0x44a70d
44a6f6:	51                   	push   %ecx
44a6f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a6fa:	51                   	push   %ecx
44a6fb:	8b d8                	mov    %eax,%ebx
44a6fd:	8b ca                	mov    %edx,%ecx
44a6ff:	8b d0                	mov    %eax,%edx
44a701:	8b 83 dc 00 00 00    	mov    0xdc(%ebx),%eax
44a707:	ff 93 d8 00 00 00    	call   *0xd8(%ebx)
44a70d:	5b                   	pop    %ebx
44a70e:	5d                   	pop    %ebp
44a70f:	c2 04 00             	ret    $0x4
44a712:	8b c0                	mov    %eax,%eax
44a714:	53                   	push   %ebx
44a715:	66 83 b8 02 01 00 00 	cmpw   $0x0,0x102(%eax)
44a71c:	00
44a71d:	74 12                	je     0x44a731
44a71f:	8b ca                	mov    %edx,%ecx
44a721:	8b d8                	mov    %eax,%ebx
44a723:	8b d0                	mov    %eax,%edx
44a725:	8b 83 04 01 00 00    	mov    0x104(%ebx),%eax
44a72b:	ff 93 00 01 00 00    	call   *0x100(%ebx)
44a731:	5b                   	pop    %ebx
44a732:	c3                   	ret
44a733:	90                   	nop
44a734:	55                   	push   %ebp
44a735:	8b ec                	mov    %esp,%ebp
44a737:	53                   	push   %ebx
44a738:	66 83 b8 0a 01 00 00 	cmpw   $0x0,0x10a(%eax)
44a73f:	00
44a740:	74 17                	je     0x44a759
44a742:	51                   	push   %ecx
44a743:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a746:	51                   	push   %ecx
44a747:	8b d8                	mov    %eax,%ebx
44a749:	8b ca                	mov    %edx,%ecx
44a74b:	8b d0                	mov    %eax,%edx
44a74d:	8b 83 0c 01 00 00    	mov    0x10c(%ebx),%eax
44a753:	ff 93 08 01 00 00    	call   *0x108(%ebx)
44a759:	5b                   	pop    %ebx
44a75a:	5d                   	pop    %ebp
44a75b:	c2 04 00             	ret    $0x4
44a75e:	8b c0                	mov    %eax,%eax
44a760:	53                   	push   %ebx
44a761:	56                   	push   %esi
44a762:	57                   	push   %edi
44a763:	55                   	push   %ebp
44a764:	83 c4 ec             	add    $0xffffffec,%esp
44a767:	8b da                	mov    %edx,%ebx
44a769:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
44a76d:	74 0c                	je     0x44a77b
44a76f:	8b 43 08             	mov    0x8(%ebx),%eax
44a772:	80 b8 db 01 00 00 00 	cmpb   $0x0,0x1db(%eax)
44a779:	75 6d                	jne    0x44a7e8
44a77b:	8b 43 40             	mov    0x40(%ebx),%eax
44a77e:	e8 91 f6 ff ff       	call   0x449e14
44a783:	8b f8                	mov    %eax,%edi
44a785:	8b 43 40             	mov    0x40(%ebx),%eax
44a788:	e8 73 f6 ff ff       	call   0x449e00
44a78d:	8b e8                	mov    %eax,%ebp
44a78f:	89 7c 24 10          	mov    %edi,0x10(%esp)
44a793:	db 44 24 10          	fildl  0x10(%esp)
44a797:	dc 4b 28             	fmull  0x28(%ebx)
44a79a:	db 43 10             	fildl  0x10(%ebx)
44a79d:	de e1                	fsubp  %st,%st(1)
44a79f:	dd 1c 24             	fstpl  (%esp)
44a7a2:	9b                   	fwait
44a7a3:	89 6c 24 10          	mov    %ebp,0x10(%esp)
44a7a7:	db 44 24 10          	fildl  0x10(%esp)
44a7ab:	dc 4b 30             	fmull  0x30(%ebx)
44a7ae:	db 43 14             	fildl  0x14(%ebx)
44a7b1:	de e1                	fsubp  %st,%st(1)
44a7b3:	dd 5c 24 08          	fstpl  0x8(%esp)
44a7b7:	9b                   	fwait
44a7b8:	8d 73 4c             	lea    0x4c(%ebx),%esi
44a7bb:	dd 04 24             	fldl   (%esp)
44a7be:	e8 8d 88 fb ff       	call   0x403050
44a7c3:	89 06                	mov    %eax,(%esi)
44a7c5:	dd 44 24 08          	fldl   0x8(%esp)
44a7c9:	e8 82 88 fb ff       	call   0x403050
44a7ce:	89 46 04             	mov    %eax,0x4(%esi)
44a7d1:	03 3e                	add    (%esi),%edi
44a7d3:	89 7e 08             	mov    %edi,0x8(%esi)
44a7d6:	03 6e 04             	add    0x4(%esi),%ebp
44a7d9:	89 6e 0c             	mov    %ebp,0xc(%esi)
44a7dc:	8d 53 4c             	lea    0x4c(%ebx),%edx
44a7df:	8b c3                	mov    %ebx,%eax
44a7e1:	8b 08                	mov    (%eax),%ecx
44a7e3:	ff 51 2c             	call   *0x2c(%ecx)
44a7e6:	eb 41                	jmp    0x44a829
44a7e8:	8d 43 4c             	lea    0x4c(%ebx),%eax
44a7eb:	50                   	push   %eax
44a7ec:	8b 43 08             	mov    0x8(%ebx),%eax
44a7ef:	e8 b8 71 00 00       	call   0x4519ac
44a7f4:	50                   	push   %eax
44a7f5:	e8 be c8 fb ff       	call   0x4070b8
44a7fa:	8b 43 08             	mov    0x8(%ebx),%eax
44a7fd:	80 b8 db 01 00 00 00 	cmpb   $0x0,0x1db(%eax)
44a804:	74 23                	je     0x44a829
44a806:	83 b8 b0 01 00 00 00 	cmpl   $0x0,0x1b0(%eax)
44a80d:	74 1a                	je     0x44a829
44a80f:	0f b6 53 5c          	movzbl 0x5c(%ebx),%edx
44a813:	52                   	push   %edx
44a814:	8d 53 4c             	lea    0x4c(%ebx),%edx
44a817:	52                   	push   %edx
44a818:	8b 80 b0 01 00 00    	mov    0x1b0(%eax),%eax
44a81e:	8b 4b 60             	mov    0x60(%ebx),%ecx
44a821:	8b 53 40             	mov    0x40(%ebx),%edx
44a824:	8b 18                	mov    (%eax),%ebx
44a826:	ff 53 24             	call   *0x24(%ebx)
44a829:	83 c4 14             	add    $0x14,%esp
44a82c:	5d                   	pop    %ebp
44a82d:	5f                   	pop    %edi
44a82e:	5e                   	pop    %esi
44a82f:	5b                   	pop    %ebx
44a830:	c3                   	ret
44a831:	8d 40 00             	lea    0x0(%eax),%eax
44a834:	55                   	push   %ebp
44a835:	8b ec                	mov    %esp,%ebp
44a837:	56                   	push   %esi
44a838:	8b f2                	mov    %edx,%esi
44a83a:	8b d6                	mov    %esi,%edx
44a83c:	66 be d1 ff          	mov    $0xffd1,%si
44a840:	e8 d3 92 fb ff       	call   0x403b18
44a845:	5e                   	pop    %esi
44a846:	5d                   	pop    %ebp
44a847:	c2 04 00             	ret    $0x4
44a84a:	8b c0                	mov    %eax,%eax
44a84c:	55                   	push   %ebp
44a84d:	8b ec                	mov    %esp,%ebp
44a84f:	53                   	push   %ebx
44a850:	66 83 b8 fa 00 00 00 	cmpw   $0x0,0xfa(%eax)
44a857:	00
44a858:	74 17                	je     0x44a871
44a85a:	51                   	push   %ecx
44a85b:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a85e:	51                   	push   %ecx
44a85f:	8b d8                	mov    %eax,%ebx
44a861:	8b ca                	mov    %edx,%ecx
44a863:	8b d0                	mov    %eax,%edx
44a865:	8b 83 fc 00 00 00    	mov    0xfc(%ebx),%eax
44a86b:	ff 93 f8 00 00 00    	call   *0xf8(%ebx)
44a871:	5b                   	pop    %ebx
44a872:	5d                   	pop    %ebp
44a873:	c2 04 00             	ret    $0x4
44a876:	8b c0                	mov    %eax,%eax
44a878:	53                   	push   %ebx
44a879:	66 83 b8 f2 00 00 00 	cmpw   $0x0,0xf2(%eax)
44a880:	00
44a881:	74 12                	je     0x44a895
44a883:	8b ca                	mov    %edx,%ecx
44a885:	8b d8                	mov    %eax,%ebx
44a887:	8b d0                	mov    %eax,%edx
44a889:	8b 83 f4 00 00 00    	mov    0xf4(%ebx),%eax
44a88f:	ff 93 f0 00 00 00    	call   *0xf0(%ebx)
44a895:	5b                   	pop    %ebx
44a896:	c3                   	ret
44a897:	90                   	nop
44a898:	53                   	push   %ebx
44a899:	56                   	push   %esi
44a89a:	57                   	push   %edi
44a89b:	55                   	push   %ebp
44a89c:	8b da                	mov    %edx,%ebx
44a89e:	8b e8                	mov    %eax,%ebp
44a8a0:	8b 7b 08             	mov    0x8(%ebx),%edi
44a8a3:	8b 07                	mov    (%edi),%eax
44a8a5:	50                   	push   %eax
44a8a6:	8b 47 04             	mov    0x4(%edi),%eax
44a8a9:	50                   	push   %eax
44a8aa:	8b 47 08             	mov    0x8(%edi),%eax
44a8ad:	50                   	push   %eax
44a8ae:	0f b6 4f 0d          	movzbl 0xd(%edi),%ecx
44a8b2:	0f b6 57 0c          	movzbl 0xc(%edi),%edx
44a8b6:	8b c5                	mov    %ebp,%eax
44a8b8:	66 be d5 ff          	mov    $0xffd5,%si
44a8bc:	e8 57 92 fb ff       	call   0x403b18
44a8c1:	83 e0 7f             	and    $0x7f,%eax
44a8c4:	89 43 0c             	mov    %eax,0xc(%ebx)
44a8c7:	5d                   	pop    %ebp
44a8c8:	5f                   	pop    %edi
44a8c9:	5e                   	pop    %esi
44a8ca:	5b                   	pop    %ebx
44a8cb:	c3                   	ret
44a8cc:	55                   	push   %ebp
44a8cd:	8b ec                	mov    %esp,%ebp
44a8cf:	83 c4 f4             	add    $0xfffffff4,%esp
44a8d2:	53                   	push   %ebx
44a8d3:	56                   	push   %esi
44a8d4:	57                   	push   %edi
44a8d5:	8b 75 08             	mov    0x8(%ebp),%esi
44a8d8:	8d 7d f7             	lea    -0x9(%ebp),%edi
44a8db:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a8dc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a8dd:	8b d9                	mov    %ecx,%ebx
44a8df:	88 55 ff             	mov    %dl,-0x1(%ebp)
44a8e2:	8b f8                	mov    %eax,%edi
44a8e4:	c6 45 f6 00          	movb   $0x0,-0xa(%ebp)
44a8e8:	66 83 bf 42 01 00 00 	cmpw   $0x0,0x142(%edi)
44a8ef:	00
44a8f0:	74 1b                	je     0x44a90d
44a8f2:	53                   	push   %ebx
44a8f3:	8d 45 f7             	lea    -0x9(%ebp),%eax
44a8f6:	50                   	push   %eax
44a8f7:	8d 45 f6             	lea    -0xa(%ebp),%eax
44a8fa:	50                   	push   %eax
44a8fb:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
44a8ff:	8b d7                	mov    %edi,%edx
44a901:	8b 87 44 01 00 00    	mov    0x144(%edi),%eax
44a907:	ff 97 40 01 00 00    	call   *0x140(%edi)
44a90d:	80 7d f6 00          	cmpb   $0x0,-0xa(%ebp)
44a911:	75 7d                	jne    0x44a990
44a913:	01 9f 98 00 00 00    	add    %ebx,0x98(%edi)
44a919:	eb 65                	jmp    0x44a980
44a91b:	83 bf 98 00 00 00 00 	cmpl   $0x0,0x98(%edi)
44a922:	0f 9c c3             	setl   %bl
44a925:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
44a92b:	99                   	cltd
44a92c:	33 c2                	xor    %edx,%eax
44a92e:	2b c2                	sub    %edx,%eax
44a930:	83 e8 78             	sub    $0x78,%eax
44a933:	89 87 98 00 00 00    	mov    %eax,0x98(%edi)
44a939:	84 db                	test   %bl,%bl
44a93b:	74 2e                	je     0x44a96b
44a93d:	83 bf 98 00 00 00 00 	cmpl   $0x0,0x98(%edi)
44a944:	74 0e                	je     0x44a954
44a946:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
44a94c:	f7 d8                	neg    %eax
44a94e:	89 87 98 00 00 00    	mov    %eax,0x98(%edi)
44a954:	8d 4d f7             	lea    -0x9(%ebp),%ecx
44a957:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
44a95b:	8b c7                	mov    %edi,%eax
44a95d:	66 be e1 ff          	mov    $0xffe1,%si
44a961:	e8 b2 91 fb ff       	call   0x403b18
44a966:	88 45 f6             	mov    %al,-0xa(%ebp)
44a969:	eb 15                	jmp    0x44a980
44a96b:	8d 4d f7             	lea    -0x9(%ebp),%ecx
44a96e:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
44a972:	8b c7                	mov    %edi,%eax
44a974:	66 be e0 ff          	mov    $0xffe0,%si
44a978:	e8 9b 91 fb ff       	call   0x403b18
44a97d:	88 45 f6             	mov    %al,-0xa(%ebp)
44a980:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
44a986:	99                   	cltd
44a987:	33 c2                	xor    %edx,%eax
44a989:	2b c2                	sub    %edx,%eax
44a98b:	83 f8 78             	cmp    $0x78,%eax
44a98e:	7d 8b                	jge    0x44a91b
44a990:	0f b6 45 f6          	movzbl -0xa(%ebp),%eax
44a994:	5f                   	pop    %edi
44a995:	5e                   	pop    %esi
44a996:	5b                   	pop    %ebx
44a997:	8b e5                	mov    %ebp,%esp
44a999:	5d                   	pop    %ebp
44a99a:	c2 04 00             	ret    $0x4
44a99d:	8d 40 00             	lea    0x0(%eax),%eax
44a9a0:	53                   	push   %ebx
44a9a1:	56                   	push   %esi
44a9a2:	57                   	push   %edi
44a9a3:	83 c4 f4             	add    $0xfffffff4,%esp
44a9a6:	8b f1                	mov    %ecx,%esi
44a9a8:	8d 7c 24 01          	lea    0x1(%esp),%edi
44a9ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a9ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a9ae:	88 14 24             	mov    %dl,(%esp)
44a9b1:	c6 44 24 09 00       	movb   $0x0,0x9(%esp)
44a9b6:	66 83 b8 4a 01 00 00 	cmpw   $0x0,0x14a(%eax)
44a9bd:	00
44a9be:	74 1f                	je     0x44a9df
44a9c0:	8d 54 24 01          	lea    0x1(%esp),%edx
44a9c4:	52                   	push   %edx
44a9c5:	8d 54 24 0d          	lea    0xd(%esp),%edx
44a9c9:	52                   	push   %edx
44a9ca:	8b d8                	mov    %eax,%ebx
44a9cc:	0f b6 4c 24 08       	movzbl 0x8(%esp),%ecx
44a9d1:	8b d0                	mov    %eax,%edx
44a9d3:	8b 83 4c 01 00 00    	mov    0x14c(%ebx),%eax
44a9d9:	ff 93 48 01 00 00    	call   *0x148(%ebx)
44a9df:	0f b6 44 24 09       	movzbl 0x9(%esp),%eax
44a9e4:	83 c4 0c             	add    $0xc,%esp
44a9e7:	5f                   	pop    %edi
44a9e8:	5e                   	pop    %esi
44a9e9:	5b                   	pop    %ebx
44a9ea:	c3                   	ret
44a9eb:	90                   	nop
44a9ec:	53                   	push   %ebx
44a9ed:	56                   	push   %esi
44a9ee:	57                   	push   %edi
44a9ef:	83 c4 f4             	add    $0xfffffff4,%esp
44a9f2:	8b f1                	mov    %ecx,%esi
44a9f4:	8d 7c 24 01          	lea    0x1(%esp),%edi
44a9f8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a9f9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a9fa:	88 14 24             	mov    %dl,(%esp)
44a9fd:	c6 44 24 09 00       	movb   $0x0,0x9(%esp)
44aa02:	66 83 b8 52 01 00 00 	cmpw   $0x0,0x152(%eax)
44aa09:	00
44aa0a:	74 1f                	je     0x44aa2b