4487f3:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4487f7:	8b 74 24 14          	mov    0x14(%esp),%esi
4487fb:	c1 e1 05             	shl    $0x5,%ecx
4487fe:	8b 46 04             	mov    0x4(%esi),%eax
448801:	89 54 01 04          	mov    %edx,0x4(%ecx,%eax,1)
448805:	8b 4c 24 10          	mov    0x10(%esp),%ecx
448809:	8b 46 04             	mov    0x4(%esi),%eax
44880c:	8b 54 24 24          	mov    0x24(%esp),%edx
448810:	c1 e1 05             	shl    $0x5,%ecx
448813:	89 54 01 08          	mov    %edx,0x8(%ecx,%eax,1)
448817:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44881b:	8d 44 24 30          	lea    0x30(%esp),%eax
44881f:	50                   	push   %eax
448820:	8b 46 04             	mov    0x4(%esi),%eax
448823:	c1 e1 05             	shl    $0x5,%ecx
448826:	83 c0 0c             	add    $0xc,%eax
448829:	03 c8                	add    %eax,%ecx
44882b:	e8 bd e6 fb ff       	call   0x406eed
448830:	8b 44 24 20          	mov    0x20(%esp),%eax
448834:	0f af 44 24 1c       	imul   0x1c(%esp),%eax
448839:	8b 54 24 18          	mov    0x18(%esp),%edx
44883d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
448841:	03 d0                	add    %eax,%edx
448843:	8b 46 04             	mov    0x4(%esi),%eax
448846:	c1 e1 05             	shl    $0x5,%ecx
448849:	89 54 24 18          	mov    %edx,0x18(%esp)
44884d:	89 54 01 1c          	mov    %edx,0x1c(%ecx,%eax,1)
448851:	8b 4d 20             	mov    0x20(%ebp),%ecx
448854:	8b 44 24 1c          	mov    0x1c(%esp),%eax
448858:	3b 01                	cmp    (%ecx),%eax
44885a:	7e 02                	jle    0x44885e
44885c:	89 01                	mov    %eax,(%ecx)
44885e:	ff 44 24 10          	incl   0x10(%esp)
448862:	8b 43 04             	mov    0x4(%ebx),%eax
448865:	39 07                	cmp    %eax,(%edi)
448867:	0f 82 6a fc ff ff    	jb     0x4484d7
44886d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
448871:	8b 7d 1c             	mov    0x1c(%ebp),%edi
448874:	74 6c                	je     0x4488e2
448876:	8b 45 10             	mov    0x10(%ebp),%eax
448879:	ff 30                	push   (%eax)
44887b:	8b 45 20             	mov    0x20(%ebp),%eax
44887e:	ff 30                	push   (%eax)
448880:	ff 37                	push   (%edi)
448882:	e8 77 fa ff ff       	call   0x4482fe
448887:	8b 5c 24 14          	mov    0x14(%esp),%ebx
44888b:	8b f0                	mov    %eax,%esi
44888d:	8b 45 18             	mov    0x18(%ebp),%eax
448890:	03 37                	add    (%edi),%esi
448892:	8b 10                	mov    (%eax),%edx
448894:	3b 54 24 10          	cmp    0x10(%esp),%edx
448898:	7d 21                	jge    0x4488bb
44889a:	8b ca                	mov    %edx,%ecx
44889c:	6a 20                	push   $0x20
44889e:	c1 e1 05             	shl    $0x5,%ecx
4488a1:	5f                   	pop    %edi
4488a2:	8b 43 04             	mov    0x4(%ebx),%eax
4488a5:	01 34 01             	add    %esi,(%ecx,%eax,1)
4488a8:	8b 43 04             	mov    0x4(%ebx),%eax
4488ab:	01 74 01 1c          	add    %esi,0x1c(%ecx,%eax,1)
4488af:	42                   	inc    %edx
4488b0:	03 cf                	add    %edi,%ecx
4488b2:	3b 54 24 10          	cmp    0x10(%esp),%edx
4488b6:	7c ea                	jl     0x4488a2
4488b8:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4488bb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4488bf:	8b 43 04             	mov    0x4(%ebx),%eax
4488c2:	c1 e1 05             	shl    $0x5,%ecx
4488c5:	8b 74 01 fc          	mov    -0x4(%ecx,%eax,1),%esi
4488c9:	89 74 24 18          	mov    %esi,0x18(%esp)
4488cd:	eb 17                	jmp    0x4488e6
4488cf:	8b ce                	mov    %esi,%ecx
4488d1:	e8 e0 00 00 00       	call   0x4489b6
4488d6:	6a 02                	push   $0x2
4488d8:	58                   	pop    %eax
4488d9:	eb 03                	jmp    0x4488de
4488db:	33 c0                	xor    %eax,%eax
4488dd:	40                   	inc    %eax
4488de:	8b d8                	mov    %eax,%ebx
4488e0:	eb 23                	jmp    0x448905
4488e2:	8b 74 24 18          	mov    0x18(%esp),%esi
4488e6:	8b 45 10             	mov    0x10(%ebp),%eax
4488e9:	ff 30                	push   (%eax)
4488eb:	8b 45 20             	mov    0x20(%ebp),%eax
4488ee:	ff 30                	push   (%eax)
4488f0:	56                   	push   %esi
4488f1:	e8 08 fa ff ff       	call   0x4482fe
4488f6:	8b 4d 18             	mov    0x18(%ebp),%ecx
4488f9:	03 c6                	add    %esi,%eax
4488fb:	89 07                	mov    %eax,(%edi)
4488fd:	8b 44 24 10          	mov    0x10(%esp),%eax
448901:	89 01                	mov    %eax,(%ecx)
448903:	33 db                	xor    %ebx,%ebx
448905:	8d 4c 24 30          	lea    0x30(%esp),%ecx
448909:	e8 29 42 fc ff       	call   0x40cb37
44890e:	8d 4c 24 40          	lea    0x40(%esp),%ecx
448912:	e8 20 42 fc ff       	call   0x40cb37
448917:	8d 4c 24 50          	lea    0x50(%esp),%ecx
44891b:	e8 17 42 fc ff       	call   0x40cb37
448920:	5f                   	pop    %edi
448921:	5e                   	pop    %esi
448922:	8b c3                	mov    %ebx,%eax
448924:	5b                   	pop    %ebx
448925:	8b e5                	mov    %ebp,%esp
448927:	5d                   	pop    %ebp
448928:	c2 1c 00             	ret    $0x1c
44892b:	55                   	push   %ebp
44892c:	8b ec                	mov    %esp,%ebp
44892e:	53                   	push   %ebx
44892f:	56                   	push   %esi
448930:	8b 75 08             	mov    0x8(%ebp),%esi
448933:	57                   	push   %edi
448934:	8b d9                	mov    %ecx,%ebx
448936:	6a 04                	push   $0x4
448938:	8b ce                	mov    %esi,%ecx
44893a:	e8 a5 4c fc ff       	call   0x40d5e4
44893f:	84 c0                	test   %al,%al
448941:	74 3d                	je     0x448980
448943:	8b 7d 0c             	mov    0xc(%ebp),%edi
448946:	83 27 00             	andl   $0x0,(%edi)
448949:	83 3b 00             	cmpl   $0x0,(%ebx)
44894c:	7e 3e                	jle    0x44898c
44894e:	8b 0f                	mov    (%edi),%ecx
448950:	8b 43 04             	mov    0x4(%ebx),%eax
448953:	c1 e1 05             	shl    $0x5,%ecx
448956:	8b 74 01 0c          	mov    0xc(%ecx,%eax,1),%esi
44895a:	8b 4d 08             	mov    0x8(%ebp),%ecx
44895d:	e8 0a 0a fc ff       	call   0x40936c
448962:	8b 4d 08             	mov    0x8(%ebp),%ecx
448965:	56                   	push   %esi
448966:	8b 41 08             	mov    0x8(%ecx),%eax
448969:	ff 30                	push   (%eax)
44896b:	e8 37 86 fd ff       	call   0x420fa7
448970:	59                   	pop    %ecx
448971:	59                   	pop    %ecx
448972:	85 c0                	test   %eax,%eax
448974:	74 16                	je     0x44898c
448976:	ff 07                	incl   (%edi)
448978:	8b 07                	mov    (%edi),%eax
44897a:	3b 03                	cmp    (%ebx),%eax
44897c:	7c d0                	jl     0x44894e
44897e:	eb 0c                	jmp    0x44898c
448980:	8b ce                	mov    %esi,%ecx
448982:	e8 ff 48 fc ff       	call   0x40d286
448987:	8b 7d 0c             	mov    0xc(%ebp),%edi
44898a:	89 07                	mov    %eax,(%edi)
44898c:	8b 0f                	mov    (%edi),%ecx
44898e:	3b 0b                	cmp    (%ebx),%ecx
448990:	7d 12                	jge    0x4489a4
448992:	85 c9                	test   %ecx,%ecx
448994:	78 0e                	js     0x4489a4
448996:	8b 43 04             	mov    0x4(%ebx),%eax
448999:	c1 e1 05             	shl    $0x5,%ecx
44899c:	8b 04 01             	mov    (%ecx,%eax,1),%eax
44899f:	03 43 08             	add    0x8(%ebx),%eax
4489a2:	eb 0b                	jmp    0x4489af
4489a4:	8b 45 10             	mov    0x10(%ebp),%eax
4489a7:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
4489ad:	33 c0                	xor    %eax,%eax
4489af:	5f                   	pop    %edi
4489b0:	5e                   	pop    %esi
4489b1:	5b                   	pop    %ebx
4489b2:	5d                   	pop    %ebp
4489b3:	c2 0c 00             	ret    $0xc
4489b6:	56                   	push   %esi
4489b7:	8b f1                	mov    %ecx,%esi
4489b9:	57                   	push   %edi
4489ba:	8b 4e 04             	mov    0x4(%esi),%ecx
4489bd:	33 ff                	xor    %edi,%edi
4489bf:	85 c9                	test   %ecx,%ecx
4489c1:	74 09                	je     0x4489cc
4489c3:	51                   	push   %ecx
4489c4:	e8 15 f9 ff ff       	call   0x4482de
4489c9:	89 7e 04             	mov    %edi,0x4(%esi)
4489cc:	8b 46 10             	mov    0x10(%esi),%eax
4489cf:	85 c0                	test   %eax,%eax
4489d1:	74 19                	je     0x4489ec
4489d3:	ff 08                	decl   (%eax)
4489d5:	75 12                	jne    0x4489e9
4489d7:	ff 76 10             	push   0x10(%esi)
4489da:	e8 7f 6b fd ff       	call   0x41f55e
4489df:	ff 76 08             	push   0x8(%esi)
4489e2:	e8 77 6b fd ff       	call   0x41f55e
4489e7:	59                   	pop    %ecx
4489e8:	59                   	pop    %ecx
4489e9:	89 7e 10             	mov    %edi,0x10(%esi)
4489ec:	89 7e 08             	mov    %edi,0x8(%esi)
4489ef:	89 3e                	mov    %edi,(%esi)
4489f1:	89 7e 0c             	mov    %edi,0xc(%esi)
4489f4:	5f                   	pop    %edi
4489f5:	5e                   	pop    %esi
4489f6:	c3                   	ret
4489f7:	55                   	push   %ebp
4489f8:	8b ec                	mov    %esp,%ebp
4489fa:	51                   	push   %ecx
4489fb:	ff 75 10             	push   0x10(%ebp)
4489fe:	6a 00                	push   $0x0
448a00:	ff 75 0c             	push   0xc(%ebp)
448a03:	ff 75 08             	push   0x8(%ebp)
448a06:	ff 75 08             	push   0x8(%ebp)
448a09:	e8 05 00 00 00       	call   0x448a13
448a0e:	59                   	pop    %ecx
448a0f:	5d                   	pop    %ebp
448a10:	c2 0c 00             	ret    $0xc
448a13:	55                   	push   %ebp
448a14:	8b ec                	mov    %esp,%ebp
448a16:	83 ec 10             	sub    $0x10,%esp
448a19:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
448a1d:	53                   	push   %ebx
448a1e:	56                   	push   %esi
448a1f:	57                   	push   %edi
448a20:	8d 45 fc             	lea    -0x4(%ebp),%eax
448a23:	50                   	push   %eax
448a24:	8d 45 f4             	lea    -0xc(%ebp),%eax
448a27:	50                   	push   %eax
448a28:	ff 75 08             	push   0x8(%ebp)
448a2b:	8b f9                	mov    %ecx,%edi
448a2d:	e8 f9 fe ff ff       	call   0x44892b
448a32:	8b f0                	mov    %eax,%esi
448a34:	85 f6                	test   %esi,%esi
448a36:	75 05                	jne    0x448a3d
448a38:	8b 7d fc             	mov    -0x4(%ebp),%edi
448a3b:	eb 37                	jmp    0x448a74
448a3d:	8b 47 04             	mov    0x4(%edi),%eax
448a40:	8b 4d f4             	mov    -0xc(%ebp),%ecx
448a43:	c1 e1 05             	shl    $0x5,%ecx
448a46:	8b 14 01             	mov    (%ecx,%eax,1),%edx
448a49:	8b 7c 01 1c          	mov    0x1c(%ecx,%eax,1),%edi
448a4d:	8b 5c 01 08          	mov    0x8(%ecx,%eax,1),%ebx
448a51:	89 55 08             	mov    %edx,0x8(%ebp)
448a54:	8b 54 01 04          	mov    0x4(%ecx,%eax,1),%edx
448a58:	8b 4d 18             	mov    0x18(%ebp),%ecx
448a5b:	8b 45 08             	mov    0x8(%ebp),%eax
448a5e:	83 f9 ff             	cmp    $0xffffffff,%ecx
448a61:	74 0a                	je     0x448a6d
448a63:	0f af ca             	imul   %edx,%ecx
448a66:	03 c1                	add    %ecx,%eax
448a68:	89 45 08             	mov    %eax,0x8(%ebp)
448a6b:	03 f1                	add    %ecx,%esi
448a6d:	3b c7                	cmp    %edi,%eax
448a6f:	7c 1e                	jl     0x448a8f
448a71:	6a 03                	push   $0x3
448a73:	5f                   	pop    %edi
448a74:	8b 75 10             	mov    0x10(%ebp),%esi
448a77:	8b ce                	mov    %esi,%ecx
448a79:	e8 a2 a1 fc ff       	call   0x412c20
448a7e:	83 26 00             	andl   $0x0,(%esi)
448a81:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
448a88:	8b c7                	mov    %edi,%eax
448a8a:	e9 d6 01 00 00       	jmp    0x448c65
448a8f:	f6 c3 21             	test   $0x21,%bl
448a92:	74 18                	je     0x448aac
448a94:	ff 75 10             	push   0x10(%ebp)
448a97:	ff 75 14             	push   0x14(%ebp)
448a9a:	51                   	push   %ecx
448a9b:	50                   	push   %eax
448a9c:	57                   	push   %edi
448a9d:	56                   	push   %esi
448a9e:	53                   	push   %ebx
448a9f:	ff 75 0c             	push   0xc(%ebp)
448aa2:	e8 c5 01 00 00       	call   0x448c6c
448aa7:	e9 b9 01 00 00       	jmp    0x448c65
448aac:	8b 45 14             	mov    0x14(%ebp),%eax
448aaf:	f6 c3 04             	test   $0x4,%bl
448ab2:	74 68                	je     0x448b1c
448ab4:	83 f9 ff             	cmp    $0xffffffff,%ecx
448ab7:	75 63                	jne    0x448b1c
448ab9:	2b 7d 08             	sub    0x8(%ebp),%edi
448abc:	84 c0                	test   %al,%al
448abe:	74 52                	je     0x448b12
448ac0:	f6 c3 10             	test   $0x10,%bl
448ac3:	74 57                	je     0x448b1c
448ac5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
448ac8:	e8 8e 2a 00 00       	call   0x44b55b
448acd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
448ad0:	e8 c9 2a 00 00       	call   0x44b59e
448ad5:	8b d8                	mov    %eax,%ebx
448ad7:	3b df                	cmp    %edi,%ebx
448ad9:	7e 02                	jle    0x448add
448adb:	8b df                	mov    %edi,%ebx
448add:	53                   	push   %ebx
448ade:	51                   	push   %ecx
448adf:	e8 77 2a 00 00       	call   0x44b55b
448ae4:	59                   	pop    %ecx
448ae5:	50                   	push   %eax
448ae6:	56                   	push   %esi
448ae7:	e8 94 63 fd ff       	call   0x41ee80
448aec:	83 c4 0c             	add    $0xc,%esp
448aef:	53                   	push   %ebx
448af0:	51                   	push   %ecx
448af1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
448af4:	e8 62 2a 00 00       	call   0x44b55b
448af9:	59                   	pop    %ecx
448afa:	50                   	push   %eax
448afb:	53                   	push   %ebx
448afc:	8b 4d 10             	mov    0x10(%ebp),%ecx
448aff:	e8 df 18 00 00       	call   0x44a3e3
448b04:	50                   	push   %eax
448b05:	e8 76 63 fd ff       	call   0x41ee80
448b0a:	83 c4 0c             	add    $0xc,%esp
448b0d:	e9 51 01 00 00       	jmp    0x448c63
448b12:	f6 c3 10             	test   $0x10,%bl
448b15:	74 05                	je     0x448b1c
448b17:	57                   	push   %edi
448b18:	56                   	push   %esi
448b19:	57                   	push   %edi
448b1a:	eb e0                	jmp    0x448afc
448b1c:	f6 c3 40             	test   $0x40,%bl
448b1f:	74 26                	je     0x448b47
448b21:	84 c0                	test   %al,%al
448b23:	74 0a                	je     0x448b2f
448b25:	8b 4d 0c             	mov    0xc(%ebp),%ecx
448b28:	e8 4a 2a 00 00       	call   0x44b577
448b2d:	89 06                	mov    %eax,(%esi)
448b2f:	8b 3e                	mov    (%esi),%edi
448b31:	8b 75 10             	mov    0x10(%ebp),%esi
448b34:	8b ce                	mov    %esi,%ecx
448b36:	e8 e5 a0 fc ff       	call   0x412c20
448b3b:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
448b42:	e9 1a 01 00 00       	jmp    0x448c61
448b47:	f6 c3 08             	test   $0x8,%bl
448b4a:	74 4e                	je     0x448b9a
448b4c:	83 fa 04             	cmp    $0x4,%edx
448b4f:	74 1b                	je     0x448b6c
448b51:	83 fa 08             	cmp    $0x8,%edx
448b54:	0f 85 09 01 00 00    	jne    0x448c63
448b5a:	84 c0                	test   %al,%al
448b5c:	74 0a                	je     0x448b68
448b5e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
448b61:	e8 6a a1 fc ff       	call   0x412cd0
448b66:	dd 1e                	fstpl  (%esi)
448b68:	dd 06                	fldl   (%esi)
448b6a:	eb 10                	jmp    0x448b7c
448b6c:	84 c0                	test   %al,%al
448b6e:	74 0a                	je     0x448b7a
448b70:	8b 4d 0c             	mov    0xc(%ebp),%ecx
448b73:	e8 58 a1 fc ff       	call   0x412cd0
448b78:	d9 1e                	fstps  (%esi)
448b7a:	d9 06                	flds   (%esi)
448b7c:	8b 75 10             	mov    0x10(%ebp),%esi
448b7f:	dd 5d f0             	fstpl  -0x10(%ebp)
448b82:	8b ce                	mov    %esi,%ecx
448b84:	e8 97 a0 fc ff       	call   0x412c20
448b89:	dd 45 f0             	fldl   -0x10(%ebp)
448b8c:	dd 1e                	fstpl  (%esi)
448b8e:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
448b95:	e9 c9 00 00 00       	jmp    0x448c63
448b9a:	4a                   	dec    %edx
448b9b:	0f 84 94 00 00 00    	je     0x448c35
448ba1:	4a                   	dec    %edx