44985b:	8b ec                	mov    %esp,%ebp
44985d:	8b 49 20             	mov    0x20(%ecx),%ecx
449860:	85 c9                	test   %ecx,%ecx
449862:	74 06                	je     0x44986a
449864:	5d                   	pop    %ebp
449865:	e9 0c fb ff ff       	jmp    0x449376
44986a:	8b 4d 08             	mov    0x8(%ebp),%ecx
44986d:	68 00 dc 49 00       	push   $0x49dc00
449872:	e8 42 35 fc ff       	call   0x40cdb9
449877:	33 c0                	xor    %eax,%eax
449879:	5d                   	pop    %ebp
44987a:	c2 04 00             	ret    $0x4
44987d:	53                   	push   %ebx
44987e:	56                   	push   %esi
44987f:	8b f1                	mov    %ecx,%esi
449881:	57                   	push   %edi
449882:	8d 46 10             	lea    0x10(%esi),%eax
449885:	50                   	push   %eax
449886:	8d 46 14             	lea    0x14(%esi),%eax
449889:	50                   	push   %eax
44988a:	8d 7e 08             	lea    0x8(%esi),%edi
44988d:	57                   	push   %edi
44988e:	8d 5e 0c             	lea    0xc(%esi),%ebx
449891:	53                   	push   %ebx
449892:	e8 6c fc ff ff       	call   0x449503
449897:	85 c0                	test   %eax,%eax
449899:	75 0d                	jne    0x4498a8
44989b:	57                   	push   %edi
44989c:	53                   	push   %ebx
44989d:	6a f5                	push   $0xfffffff5
44989f:	6a 02                	push   $0x2
4498a1:	8b ce                	mov    %esi,%ecx
4498a3:	e8 c0 fc ff ff       	call   0x449568
4498a8:	5f                   	pop    %edi
4498a9:	5e                   	pop    %esi
4498aa:	5b                   	pop    %ebx
4498ab:	c3                   	ret
4498ac:	33 c0                	xor    %eax,%eax
4498ae:	f6 01 02             	testb  $0x2,(%ecx)
4498b1:	74 06                	je     0x4498b9
4498b3:	39 41 08             	cmp    %eax,0x8(%ecx)
4498b6:	74 01                	je     0x4498b9
4498b8:	40                   	inc    %eax
4498b9:	c3                   	ret
4498ba:	55                   	push   %ebp
4498bb:	8b ec                	mov    %esp,%ebp
4498bd:	83 ec 14             	sub    $0x14,%esp
4498c0:	53                   	push   %ebx
4498c1:	56                   	push   %esi
4498c2:	57                   	push   %edi
4498c3:	8b d9                	mov    %ecx,%ebx
4498c5:	68 f5 01 00 00       	push   $0x1f5
4498ca:	8d 73 34             	lea    0x34(%ebx),%esi
4498cd:	56                   	push   %esi
4498ce:	89 75 f4             	mov    %esi,-0xc(%ebp)
4498d1:	ff 15 5c d2 48 00    	call   *0x48d25c
4498d7:	68 ff ff 00 00       	push   $0xffff
4498dc:	e8 09 5c fd ff       	call   0x41f4ea
4498e1:	8b f8                	mov    %eax,%edi
4498e3:	b8 ff ff 00 00       	mov    $0xffff,%eax
4498e8:	50                   	push   %eax
4498e9:	89 7d f8             	mov    %edi,-0x8(%ebp)
4498ec:	89 43 10             	mov    %eax,0x10(%ebx)
4498ef:	e8 f6 5b fd ff       	call   0x41f4ea
4498f4:	59                   	pop    %ecx
4498f5:	59                   	pop    %ecx
4498f6:	6a 00                	push   $0x0
4498f8:	89 43 08             	mov    %eax,0x8(%ebx)
4498fb:	8d 45 fc             	lea    -0x4(%ebp),%eax
4498fe:	50                   	push   %eax
4498ff:	68 ff ff 00 00       	push   $0xffff
449904:	57                   	push   %edi
449905:	ff 73 2c             	push   0x2c(%ebx)
449908:	ff 15 cc d1 48 00    	call   *0x48d1cc
44990e:	85 c0                	test   %eax,%eax
449910:	0f 84 ae 00 00 00    	je     0x4499c4
449916:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
44991a:	0f 86 a1 00 00 00    	jbe    0x4499c1
449920:	8d 73 14             	lea    0x14(%ebx),%esi
449923:	56                   	push   %esi
449924:	ff 15 40 d3 48 00    	call   *0x48d340
44992a:	8b 43 0c             	mov    0xc(%ebx),%eax
44992d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
449930:	03 c1                	add    %ecx,%eax
449932:	39 43 10             	cmp    %eax,0x10(%ebx)
449935:	73 4f                	jae    0x449986
449937:	8b 43 0c             	mov    0xc(%ebx),%eax
44993a:	03 45 fc             	add    -0x4(%ebp),%eax
44993d:	8b 7b 08             	mov    0x8(%ebx),%edi
449940:	89 45 f0             	mov    %eax,-0x10(%ebp)
449943:	db 45 f0             	fildl  -0x10(%ebp)
449946:	79 06                	jns    0x44994e
449948:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
44994e:	dd 5d ec             	fstpl  -0x14(%ebp)
449951:	dd 45 ec             	fldl   -0x14(%ebp)
449954:	dc 0d 10 27 4b 00    	fmull  0x4b2710
44995a:	e8 a7 7f 02 00       	call   0x471906
44995f:	50                   	push   %eax
449960:	89 43 10             	mov    %eax,0x10(%ebx)
449963:	e8 82 5b fd ff       	call   0x41f4ea
449968:	ff 73 0c             	push   0xc(%ebx)
44996b:	89 43 08             	mov    %eax,0x8(%ebx)
44996e:	57                   	push   %edi
44996f:	ff 73 08             	push   0x8(%ebx)
449972:	e8 09 55 fd ff       	call   0x41ee80
449977:	57                   	push   %edi
449978:	e8 e1 5b fd ff       	call   0x41f55e
44997d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
449980:	8b 7d f8             	mov    -0x8(%ebp),%edi
449983:	83 c4 14             	add    $0x14,%esp
449986:	8b 43 0c             	mov    0xc(%ebx),%eax
449989:	03 43 08             	add    0x8(%ebx),%eax
44998c:	51                   	push   %ecx
44998d:	57                   	push   %edi
44998e:	50                   	push   %eax
44998f:	e8 ec 54 fd ff       	call   0x41ee80
449994:	8b 45 fc             	mov    -0x4(%ebp),%eax
449997:	01 43 0c             	add    %eax,0xc(%ebx)
44999a:	83 c4 0c             	add    $0xc,%esp
44999d:	56                   	push   %esi
44999e:	ff 15 50 d2 48 00    	call   *0x48d250
4499a4:	6a 00                	push   $0x0
4499a6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4499a9:	50                   	push   %eax
4499aa:	68 ff ff 00 00       	push   $0xffff
4499af:	57                   	push   %edi
4499b0:	ff 73 2c             	push   0x2c(%ebx)
4499b3:	ff 15 cc d1 48 00    	call   *0x48d1cc
4499b9:	85 c0                	test   %eax,%eax
4499bb:	0f 85 55 ff ff ff    	jne    0x449916
4499c1:	8b 75 f4             	mov    -0xc(%ebp),%esi
4499c4:	57                   	push   %edi
4499c5:	e8 94 5b fd ff       	call   0x41f55e
4499ca:	59                   	pop    %ecx
4499cb:	bf f6 01 00 00       	mov    $0x1f6,%edi
4499d0:	57                   	push   %edi
4499d1:	56                   	push   %esi
4499d2:	ff 15 5c d2 48 00    	call   *0x48d25c
4499d8:	8b c7                	mov    %edi,%eax
4499da:	5f                   	pop    %edi
4499db:	5e                   	pop    %esi
4499dc:	5b                   	pop    %ebx
4499dd:	c9                   	leave
4499de:	c3                   	ret
4499df:	55                   	push   %ebp
4499e0:	8b ec                	mov    %esp,%ebp
4499e2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4499e5:	85 c9                	test   %ecx,%ecx
4499e7:	74 07                	je     0x4499f0
4499e9:	e8 cc fe ff ff       	call   0x4498ba
4499ee:	eb 05                	jmp    0x4499f5
4499f0:	b8 f4 01 00 00       	mov    $0x1f4,%eax
4499f5:	5d                   	pop    %ebp
4499f6:	c2 04 00             	ret    $0x4
4499f9:	55                   	push   %ebp
4499fa:	8b ec                	mov    %esp,%ebp
4499fc:	51                   	push   %ecx
4499fd:	56                   	push   %esi
4499fe:	8b f1                	mov    %ecx,%esi
449a00:	33 c9                	xor    %ecx,%ecx
449a02:	39 4e 30             	cmp    %ecx,0x30(%esi)
449a05:	75 16                	jne    0x449a1d
449a07:	8d 45 fc             	lea    -0x4(%ebp),%eax
449a0a:	50                   	push   %eax
449a0b:	51                   	push   %ecx
449a0c:	56                   	push   %esi
449a0d:	68 df 99 44 00       	push   $0x4499df
449a12:	51                   	push   %ecx
449a13:	51                   	push   %ecx
449a14:	ff 15 38 d3 48 00    	call   *0x48d338
449a1a:	89 46 30             	mov    %eax,0x30(%esi)
449a1d:	5e                   	pop    %esi
449a1e:	c9                   	leave
449a1f:	c3                   	ret
449a20:	56                   	push   %esi
449a21:	8b f1                	mov    %ecx,%esi
449a23:	57                   	push   %edi
449a24:	8d 7e 30             	lea    0x30(%esi),%edi
449a27:	83 3f 00             	cmpl   $0x0,(%edi)
449a2a:	74 53                	je     0x449a7f
449a2c:	53                   	push   %ebx
449a2d:	8d 5e 34             	lea    0x34(%esi),%ebx
449a30:	ff 33                	push   (%ebx)
449a32:	53                   	push   %ebx
449a33:	ff 15 5c d2 48 00    	call   *0x48d25c
449a39:	3d f6 01 00 00       	cmp    $0x1f6,%eax
449a3e:	74 3e                	je     0x449a7e
449a40:	83 c6 14             	add    $0x14,%esi
449a43:	56                   	push   %esi
449a44:	ff 15 40 d3 48 00    	call   *0x48d340
449a4a:	68 f6 01 00 00       	push   $0x1f6
449a4f:	ff 37                	push   (%edi)
449a51:	ff 15 60 d2 48 00    	call   *0x48d260
449a57:	68 e8 03 00 00       	push   $0x3e8
449a5c:	ff 37                	push   (%edi)
449a5e:	ff 15 4c d2 48 00    	call   *0x48d24c
449a64:	8b cf                	mov    %edi,%ecx
449a66:	e8 66 f9 ff ff       	call   0x4493d1
449a6b:	68 f6 01 00 00       	push   $0x1f6
449a70:	53                   	push   %ebx
449a71:	ff 15 5c d2 48 00    	call   *0x48d25c
449a77:	56                   	push   %esi
449a78:	ff 15 50 d2 48 00    	call   *0x48d250
449a7e:	5b                   	pop    %ebx
449a7f:	5f                   	pop    %edi
449a80:	5e                   	pop    %esi
449a81:	c3                   	ret
449a82:	56                   	push   %esi
449a83:	8b f1                	mov    %ecx,%esi
449a85:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
449a89:	75 1b                	jne    0x449aa6
449a8b:	e8 1c fe ff ff       	call   0x4498ac
449a90:	84 c0                	test   %al,%al
449a92:	74 12                	je     0x449aa6
449a94:	8b 4e 08             	mov    0x8(%esi),%ecx
449a97:	e8 38 f8 ff ff       	call   0x4492d4
449a9c:	8b c8                	mov    %eax,%ecx
449a9e:	89 46 20             	mov    %eax,0x20(%esi)
449aa1:	e8 53 ff ff ff       	call   0x4499f9
449aa6:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
449aaa:	75 27                	jne    0x449ad3
449aac:	8b ce                	mov    %esi,%ecx
449aae:	e8 fc fc ff ff       	call   0x4497af
449ab3:	84 c0                	test   %al,%al
449ab5:	74 1c                	je     0x449ad3
449ab7:	e8 e9 fc ff ff       	call   0x4497a5
449abc:	84 c0                	test   %al,%al
449abe:	75 13                	jne    0x449ad3
449ac0:	8b 4e 10             	mov    0x10(%esi),%ecx
449ac3:	e8 0c f8 ff ff       	call   0x4492d4
449ac8:	89 46 24             	mov    %eax,0x24(%esi)
449acb:	8b c8                	mov    %eax,%ecx
449acd:	5e                   	pop    %esi
449ace:	e9 26 ff ff ff       	jmp    0x4499f9
449ad3:	5e                   	pop    %esi
449ad4:	c3                   	ret
449ad5:	56                   	push   %esi
449ad6:	8b f1                	mov    %ecx,%esi
449ad8:	8b 4e 20             	mov    0x20(%esi),%ecx
449adb:	85 c9                	test   %ecx,%ecx
449add:	74 05                	je     0x449ae4
449adf:	e8 3c ff ff ff       	call   0x449a20
449ae4:	8b 4e 24             	mov    0x24(%esi),%ecx
449ae7:	5e                   	pop    %esi
449ae8:	85 c9                	test   %ecx,%ecx
449aea:	0f 85 30 ff ff ff    	jne    0x449a20
449af0:	c3                   	ret
449af1:	55                   	push   %ebp
449af2:	8b ec                	mov    %esp,%ebp
449af4:	56                   	push   %esi
449af5:	57                   	push   %edi
449af6:	8b 7d 08             	mov    0x8(%ebp),%edi
449af9:	8b f1                	mov    %ecx,%esi
449afb:	66 8b 47 08          	mov    0x8(%edi),%ax
449aff:	66 89 46 08          	mov    %ax,0x8(%esi)
449b03:	66 8b 47 0a          	mov    0xa(%edi),%ax
449b07:	66 89 46 0a          	mov    %ax,0xa(%esi)
449b0b:	e8 fc 3d fd ff       	call   0x41d90c
449b10:	84 c0                	test   %al,%al
449b12:	74 30                	je     0x449b44
449b14:	6a 10                	push   $0x10
449b16:	e8 cf 59 fd ff       	call   0x41f4ea
449b1b:	8b d0                	mov    %eax,%edx
449b1d:	59                   	pop    %ecx
449b1e:	85 d2                	test   %edx,%edx
449b20:	74 1c                	je     0x449b3e
449b22:	8b 07                	mov    (%edi),%eax
449b24:	8b 08                	mov    (%eax),%ecx
449b26:	89 0a                	mov    %ecx,(%edx)
449b28:	8b 48 04             	mov    0x4(%eax),%ecx
449b2b:	89 4a 04             	mov    %ecx,0x4(%edx)
449b2e:	8b 48 08             	mov    0x8(%eax),%ecx
449b31:	89 4a 08             	mov    %ecx,0x8(%edx)
449b34:	8b 40 0c             	mov    0xc(%eax),%eax
449b37:	89 42 0c             	mov    %eax,0xc(%edx)
449b3a:	ff 00                	incl   (%eax)
449b3c:	eb 02                	jmp    0x449b40
449b3e:	33 d2                	xor    %edx,%edx
449b40:	89 16                	mov    %edx,(%esi)
449b42:	eb 26                	jmp    0x449b6a
449b44:	0f b7 46 08          	movzwl 0x8(%esi),%eax
449b48:	66 83 f8 10          	cmp    $0x10,%ax
449b4c:	75 0c                	jne    0x449b5a
449b4e:	8b 07                	mov    (%edi),%eax
449b50:	89 06                	mov    %eax,(%esi)
449b52:	8b 47 04             	mov    0x4(%edi),%eax
449b55:	89 46 04             	mov    %eax,0x4(%esi)
449b58:	eb 10                	jmp    0x449b6a
449b5a:	66 83 f8 20          	cmp    $0x20,%ax
449b5e:	75 06                	jne    0x449b66
449b60:	dd 07                	fldl   (%edi)
449b62:	dd 1e                	fstpl  (%esi)
449b64:	eb 04                	jmp    0x449b6a
449b66:	8b 07                	mov    (%edi),%eax
449b68:	89 06                	mov    %eax,(%esi)
449b6a:	5f                   	pop    %edi
449b6b:	8b c6                	mov    %esi,%eax
449b6d:	5e                   	pop    %esi
449b6e:	5d                   	pop    %ebp
449b6f:	c2 04 00             	ret    $0x4
449b72:	55                   	push   %ebp
449b73:	8b ec                	mov    %esp,%ebp
449b75:	56                   	push   %esi
449b76:	57                   	push   %edi
449b77:	8b 7d 08             	mov    0x8(%ebp),%edi
449b7a:	8b f1                	mov    %ecx,%esi
449b7c:	3b f7                	cmp    %edi,%esi
449b7e:	0f 84 86 00 00 00    	je     0x449c0a
449b84:	e8 83 3d fd ff       	call   0x41d90c
449b89:	84 c0                	test   %al,%al
449b8b:	74 0c                	je     0x449b99
449b8d:	8b 0e                	mov    (%esi),%ecx
449b8f:	85 c9                	test   %ecx,%ecx
449b91:	74 06                	je     0x449b99
449b93:	51                   	push   %ecx
449b94:	e8 00 8f fb ff       	call   0x402a99
449b99:	66 8b 47 08          	mov    0x8(%edi),%ax
449b9d:	66 89 46 08          	mov    %ax,0x8(%esi)
449ba1:	66 8b 47 0a          	mov    0xa(%edi),%ax
449ba5:	8b ce                	mov    %esi,%ecx
449ba7:	66 89 46 0a          	mov    %ax,0xa(%esi)
449bab:	e8 5c 3d fd ff       	call   0x41d90c
449bb0:	84 c0                	test   %al,%al
449bb2:	74 30                	je     0x449be4
449bb4:	6a 10                	push   $0x10
449bb6:	e8 2f 59 fd ff       	call   0x41f4ea
449bbb:	8b d0                	mov    %eax,%edx
449bbd:	59                   	pop    %ecx
449bbe:	85 d2                	test   %edx,%edx
449bc0:	74 1c                	je     0x449bde
449bc2:	8b 07                	mov    (%edi),%eax
449bc4:	8b 08                	mov    (%eax),%ecx
449bc6:	89 0a                	mov    %ecx,(%edx)
449bc8:	8b 48 04             	mov    0x4(%eax),%ecx
449bcb:	89 4a 04             	mov    %ecx,0x4(%edx)
449bce:	8b 48 08             	mov    0x8(%eax),%ecx
449bd1:	89 4a 08             	mov    %ecx,0x8(%edx)
449bd4:	8b 40 0c             	mov    0xc(%eax),%eax
449bd7:	89 42 0c             	mov    %eax,0xc(%edx)
449bda:	ff 00                	incl   (%eax)
449bdc:	eb 02                	jmp    0x449be0
449bde:	33 d2                	xor    %edx,%edx
449be0:	89 16                	mov    %edx,(%esi)
449be2:	eb 26                	jmp    0x449c0a
449be4:	0f b7 46 08          	movzwl 0x8(%esi),%eax
449be8:	66 83 f8 10          	cmp    $0x10,%ax
449bec:	75 0c                	jne    0x449bfa
449bee:	8b 07                	mov    (%edi),%eax
449bf0:	89 06                	mov    %eax,(%esi)
449bf2:	8b 47 04             	mov    0x4(%edi),%eax