408aca:	89 45 fc             	mov    %eax,-0x4(%ebp)
408acd:	85 f6                	test   %esi,%esi
408acf:	75 e5                	jne    0x408ab6
408ad1:	5e                   	pop    %esi
408ad2:	33 c0                	xor    %eax,%eax
408ad4:	89 47 04             	mov    %eax,0x4(%edi)
408ad7:	89 47 08             	mov    %eax,0x8(%edi)
408ada:	89 47 0c             	mov    %eax,0xc(%edi)
408add:	5f                   	pop    %edi
408ade:	c9                   	leave
408adf:	c3                   	ret
408ae0:	8b ff                	mov    %edi,%edi
408ae2:	56                   	push   %esi
408ae3:	8b f1                	mov    %ecx,%esi
408ae5:	8b 0e                	mov    (%esi),%ecx
408ae7:	e8 7e ff ff ff       	call   0x408a6a
408aec:	85 c0                	test   %eax,%eax
408aee:	74 0d                	je     0x408afd
408af0:	e8 a4 ff ff ff       	call   0x408a99
408af5:	8b ce                	mov    %esi,%ecx
408af7:	5e                   	pop    %esi
408af8:	e9 c9 20 00 00       	jmp    0x40abc6
408afd:	5e                   	pop    %esi
408afe:	c3                   	ret
408aff:	8b ff                	mov    %edi,%edi
408b01:	55                   	push   %ebp
408b02:	8b ec                	mov    %esp,%ebp
408b04:	51                   	push   %ecx
408b05:	51                   	push   %ecx
408b06:	53                   	push   %ebx
408b07:	56                   	push   %esi
408b08:	57                   	push   %edi
408b09:	89 55 fc             	mov    %edx,-0x4(%ebp)
408b0c:	8b d9                	mov    %ecx,%ebx
408b0e:	e8 57 ff ff ff       	call   0x408a6a
408b13:	85 c0                	test   %eax,%eax
408b15:	74 44                	je     0x408b5b
408b17:	52                   	push   %edx
408b18:	ff 15 d4 20 41 00    	call   *0x4120d4
408b1e:	8d 70 01             	lea    0x1(%eax),%esi
408b21:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
408b24:	e8 41 21 00 00       	call   0x40ac6a
408b29:	8b f8                	mov    %eax,%edi
408b2b:	89 7d f8             	mov    %edi,-0x8(%ebp)
408b2e:	85 ff                	test   %edi,%edi
408b30:	74 29                	je     0x408b5b
408b32:	8b 55 fc             	mov    -0x4(%ebp),%edx
408b35:	8b cf                	mov    %edi,%ecx
408b37:	56                   	push   %esi
408b38:	e8 b9 18 00 00       	call   0x40a3f6
408b3d:	57                   	push   %edi
408b3e:	8d 04 36             	lea    (%esi,%esi,1),%eax
408b41:	ba 00 00 02 00       	mov    $0x20000,%edx
408b46:	50                   	push   %eax
408b47:	8b cb                	mov    %ebx,%ecx
408b49:	e8 02 fd ff ff       	call   0x408850
408b4e:	83 f8 ff             	cmp    $0xffffffff,%eax
408b51:	75 0b                	jne    0x408b5e
408b53:	8d 4d f8             	lea    -0x8(%ebp),%ecx
408b56:	e8 6b 20 00 00       	call   0x40abc6
408b5b:	83 c8 ff             	or     $0xffffffff,%eax
408b5e:	5f                   	pop    %edi
408b5f:	5e                   	pop    %esi
408b60:	5b                   	pop    %ebx
408b61:	c9                   	leave
408b62:	c2 04 00             	ret    $0x4
408b65:	8b ff                	mov    %edi,%edi
408b67:	55                   	push   %ebp
408b68:	8b ec                	mov    %esp,%ebp
408b6a:	51                   	push   %ecx
408b6b:	56                   	push   %esi
408b6c:	57                   	push   %edi
408b6d:	8b fa                	mov    %edx,%edi
408b6f:	8b f1                	mov    %ecx,%esi
408b71:	e8 f4 fe ff ff       	call   0x408a6a
408b76:	85 c0                	test   %eax,%eax
408b78:	74 2d                	je     0x408ba7
408b7a:	6a 04                	push   $0x4
408b7c:	59                   	pop    %ecx
408b7d:	e8 e8 20 00 00       	call   0x40ac6a
408b82:	89 45 fc             	mov    %eax,-0x4(%ebp)
408b85:	85 c0                	test   %eax,%eax
408b87:	74 1e                	je     0x408ba7
408b89:	50                   	push   %eax
408b8a:	6a 04                	push   $0x4
408b8c:	ba 00 00 03 00       	mov    $0x30000,%edx
408b91:	89 38                	mov    %edi,(%eax)
408b93:	8b ce                	mov    %esi,%ecx
408b95:	e8 b6 fc ff ff       	call   0x408850
408b9a:	83 f8 ff             	cmp    $0xffffffff,%eax
408b9d:	75 0b                	jne    0x408baa
408b9f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
408ba2:	e8 1f 20 00 00       	call   0x40abc6
408ba7:	83 c8 ff             	or     $0xffffffff,%eax
408baa:	5f                   	pop    %edi
408bab:	5e                   	pop    %esi
408bac:	c9                   	leave
408bad:	c3                   	ret
408bae:	8b ff                	mov    %edi,%edi
408bb0:	55                   	push   %ebp
408bb1:	8b ec                	mov    %esp,%ebp
408bb3:	51                   	push   %ecx
408bb4:	56                   	push   %esi
408bb5:	57                   	push   %edi
408bb6:	8b fa                	mov    %edx,%edi
408bb8:	8b f1                	mov    %ecx,%esi
408bba:	e8 ab fe ff ff       	call   0x408a6a
408bbf:	85 c0                	test   %eax,%eax
408bc1:	74 2d                	je     0x408bf0
408bc3:	6a 04                	push   $0x4
408bc5:	59                   	pop    %ecx
408bc6:	e8 9f 20 00 00       	call   0x40ac6a
408bcb:	89 45 fc             	mov    %eax,-0x4(%ebp)
408bce:	85 c0                	test   %eax,%eax
408bd0:	74 1e                	je     0x408bf0
408bd2:	50                   	push   %eax
408bd3:	6a 04                	push   $0x4
408bd5:	ba 00 00 04 00       	mov    $0x40000,%edx
408bda:	89 38                	mov    %edi,(%eax)
408bdc:	8b ce                	mov    %esi,%ecx
408bde:	e8 6d fc ff ff       	call   0x408850
408be3:	83 f8 ff             	cmp    $0xffffffff,%eax
408be6:	75 0b                	jne    0x408bf3
408be8:	8d 4d fc             	lea    -0x4(%ebp),%ecx
408beb:	e8 d6 1f 00 00       	call   0x40abc6
408bf0:	83 c8 ff             	or     $0xffffffff,%eax
408bf3:	5f                   	pop    %edi
408bf4:	5e                   	pop    %esi
408bf5:	c9                   	leave
408bf6:	c3                   	ret
408bf7:	8b ff                	mov    %edi,%edi
408bf9:	55                   	push   %ebp
408bfa:	8b ec                	mov    %esp,%ebp
408bfc:	51                   	push   %ecx
408bfd:	56                   	push   %esi
408bfe:	8b f1                	mov    %ecx,%esi
408c00:	e8 65 fe ff ff       	call   0x408a6a
408c05:	85 c0                	test   %eax,%eax
408c07:	74 30                	je     0x408c39
408c09:	6a 04                	push   $0x4
408c0b:	59                   	pop    %ecx
408c0c:	e8 59 20 00 00       	call   0x40ac6a
408c11:	89 45 fc             	mov    %eax,-0x4(%ebp)
408c14:	85 c0                	test   %eax,%eax
408c16:	74 21                	je     0x408c39
408c18:	d9 45 08             	flds   0x8(%ebp)
408c1b:	ba 00 00 06 00       	mov    $0x60000,%edx
408c20:	50                   	push   %eax
408c21:	6a 04                	push   $0x4
408c23:	8b ce                	mov    %esi,%ecx
408c25:	d9 18                	fstps  (%eax)
408c27:	e8 24 fc ff ff       	call   0x408850
408c2c:	83 f8 ff             	cmp    $0xffffffff,%eax
408c2f:	75 0b                	jne    0x408c3c
408c31:	8d 4d fc             	lea    -0x4(%ebp),%ecx
408c34:	e8 8d 1f 00 00       	call   0x40abc6
408c39:	83 c8 ff             	or     $0xffffffff,%eax
408c3c:	5e                   	pop    %esi
408c3d:	c9                   	leave
408c3e:	c2 04 00             	ret    $0x4
408c41:	8b ff                	mov    %edi,%edi
408c43:	55                   	push   %ebp
408c44:	8b ec                	mov    %esp,%ebp
408c46:	51                   	push   %ecx
408c47:	56                   	push   %esi
408c48:	8b f1                	mov    %ecx,%esi
408c4a:	e8 1b fe ff ff       	call   0x408a6a
408c4f:	85 c0                	test   %eax,%eax
408c51:	74 30                	je     0x408c83
408c53:	6a 08                	push   $0x8
408c55:	59                   	pop    %ecx
408c56:	e8 0f 20 00 00       	call   0x40ac6a
408c5b:	89 45 fc             	mov    %eax,-0x4(%ebp)
408c5e:	85 c0                	test   %eax,%eax
408c60:	74 21                	je     0x408c83
408c62:	dd 45 08             	fldl   0x8(%ebp)
408c65:	ba 00 00 07 00       	mov    $0x70000,%edx
408c6a:	50                   	push   %eax
408c6b:	6a 08                	push   $0x8
408c6d:	8b ce                	mov    %esi,%ecx
408c6f:	dd 18                	fstpl  (%eax)
408c71:	e8 da fb ff ff       	call   0x408850
408c76:	83 f8 ff             	cmp    $0xffffffff,%eax
408c79:	75 0b                	jne    0x408c86
408c7b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
408c7e:	e8 43 1f 00 00       	call   0x40abc6
408c83:	83 c8 ff             	or     $0xffffffff,%eax
408c86:	5e                   	pop    %esi
408c87:	c9                   	leave
408c88:	c2 08 00             	ret    $0x8
408c8b:	8b ff                	mov    %edi,%edi
408c8d:	55                   	push   %ebp
408c8e:	8b ec                	mov    %esp,%ebp
408c90:	51                   	push   %ecx
408c91:	51                   	push   %ecx
408c92:	53                   	push   %ebx
408c93:	8b c1                	mov    %ecx,%eax
408c95:	8b da                	mov    %edx,%ebx
408c97:	57                   	push   %edi
408c98:	89 45 fc             	mov    %eax,-0x4(%ebp)
408c9b:	e8 ca fd ff ff       	call   0x408a6a
408ca0:	85 c0                	test   %eax,%eax
408ca2:	74 55                	je     0x408cf9
408ca4:	e8 d1 fd ff ff       	call   0x408a7a
408ca9:	8b f8                	mov    %eax,%edi
408cab:	8b cf                	mov    %edi,%ecx
408cad:	89 7d f8             	mov    %edi,-0x8(%ebp)
408cb0:	e8 b5 fd ff ff       	call   0x408a6a
408cb5:	85 c0                	test   %eax,%eax
408cb7:	74 40                	je     0x408cf9
408cb9:	56                   	push   %esi
408cba:	33 f6                	xor    %esi,%esi
408cbc:	85 db                	test   %ebx,%ebx
408cbe:	74 17                	je     0x408cd7
408cc0:	6a 00                	push   $0x0
408cc2:	6a 00                	push   $0x0
408cc4:	33 d2                	xor    %edx,%edx
408cc6:	8b cf                	mov    %edi,%ecx
408cc8:	e8 83 fb ff ff       	call   0x408850
408ccd:	83 f8 ff             	cmp    $0xffffffff,%eax
408cd0:	74 05                	je     0x408cd7
408cd2:	46                   	inc    %esi
408cd3:	3b f3                	cmp    %ebx,%esi
408cd5:	72 e9                	jb     0x408cc0
408cd7:	3b f3                	cmp    %ebx,%esi
408cd9:	5e                   	pop    %esi
408cda:	75 15                	jne    0x408cf1
408cdc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408cdf:	ba 00 00 08 00       	mov    $0x80000,%edx
408ce4:	57                   	push   %edi
408ce5:	6a 04                	push   $0x4
408ce7:	e8 64 fb ff ff       	call   0x408850
408cec:	83 f8 ff             	cmp    $0xffffffff,%eax
408cef:	75 0b                	jne    0x408cfc
408cf1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
408cf4:	e8 e7 fd ff ff       	call   0x408ae0
408cf9:	83 c8 ff             	or     $0xffffffff,%eax
408cfc:	5f                   	pop    %edi
408cfd:	5b                   	pop    %ebx
408cfe:	c9                   	leave
408cff:	c3                   	ret
408d00:	8b ff                	mov    %edi,%edi
408d02:	53                   	push   %ebx
408d03:	57                   	push   %edi
408d04:	8b fa                	mov    %edx,%edi
408d06:	8b d9                	mov    %ecx,%ebx
408d08:	e8 5d fd ff ff       	call   0x408a6a
408d0d:	85 c0                	test   %eax,%eax
408d0f:	75 05                	jne    0x408d16
408d11:	83 c8 ff             	or     $0xffffffff,%eax
408d14:	eb 21                	jmp    0x408d37
408d16:	56                   	push   %esi
408d17:	33 f6                	xor    %esi,%esi
408d19:	85 ff                	test   %edi,%edi
408d1b:	74 17                	je     0x408d34
408d1d:	6a 00                	push   $0x0
408d1f:	6a 00                	push   $0x0
408d21:	33 d2                	xor    %edx,%edx
408d23:	8b cb                	mov    %ebx,%ecx
408d25:	e8 26 fb ff ff       	call   0x408850
408d2a:	83 f8 ff             	cmp    $0xffffffff,%eax
408d2d:	74 05                	je     0x408d34
408d2f:	46                   	inc    %esi
408d30:	3b f7                	cmp    %edi,%esi
408d32:	72 e9                	jb     0x408d1d
408d34:	8b c6                	mov    %esi,%eax
408d36:	5e                   	pop    %esi
408d37:	5f                   	pop    %edi
408d38:	5b                   	pop    %ebx
408d39:	c3                   	ret
408d3a:	8b ff                	mov    %edi,%edi
408d3c:	55                   	push   %ebp
408d3d:	8b ec                	mov    %esp,%ebp
408d3f:	6a 00                	push   $0x0
408d41:	e8 d0 fa ff ff       	call   0x408816
408d46:	85 c0                	test   %eax,%eax
408d48:	74 17                	je     0x408d61
408d4a:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
408d51:	75 0e                	jne    0x408d61
408d53:	8b 55 08             	mov    0x8(%ebp),%edx
408d56:	51                   	push   %ecx
408d57:	8b 48 0c             	mov    0xc(%eax),%ecx
408d5a:	e8 a0 fd ff ff       	call   0x408aff
408d5f:	eb 03                	jmp    0x408d64
408d61:	83 c8 ff             	or     $0xffffffff,%eax
408d64:	5d                   	pop    %ebp
408d65:	c2 08 00             	ret    $0x8
408d68:	8b ff                	mov    %edi,%edi
408d6a:	55                   	push   %ebp
408d6b:	8b ec                	mov    %esp,%ebp
408d6d:	51                   	push   %ecx
408d6e:	51                   	push   %ecx
408d6f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408d73:	8d 45 fc             	lea    -0x4(%ebp),%eax
408d76:	56                   	push   %esi
408d77:	50                   	push   %eax
408d78:	8b f1                	mov    %ecx,%esi
408d7a:	e8 97 fa ff ff       	call   0x408816
408d7f:	8b c8                	mov    %eax,%ecx
408d81:	89 4d f8             	mov    %ecx,-0x8(%ebp)
408d84:	85 c9                	test   %ecx,%ecx
408d86:	74 2d                	je     0x408db5
408d88:	8b 55 fc             	mov    -0x4(%ebp),%edx
408d8b:	8b 41 10             	mov    0x10(%ecx),%eax
408d8e:	85 d2                	test   %edx,%edx
408d90:	74 05                	je     0x408d97
408d92:	89 42 10             	mov    %eax,0x10(%edx)
408d95:	eb 03                	jmp    0x408d9a
408d97:	89 46 08             	mov    %eax,0x8(%esi)
408d9a:	3b 4e 0c             	cmp    0xc(%esi),%ecx
408d9d:	75 03                	jne    0x408da2
408d9f:	89 56 0c             	mov    %edx,0xc(%esi)
408da2:	ff 4e 04             	decl   0x4(%esi)
408da5:	e8 0d fb ff ff       	call   0x4088b7
408daa:	8d 4d f8             	lea    -0x8(%ebp),%ecx
408dad:	e8 14 1e 00 00       	call   0x40abc6
408db2:	33 c0                	xor    %eax,%eax
408db4:	40                   	inc    %eax
408db5:	5e                   	pop    %esi
408db6:	c9                   	leave
408db7:	c3                   	ret
408db8:	e8 ad fc ff ff       	call   0x408a6a
408dbd:	85 c0                	test   %eax,%eax
408dbf:	75 01                	jne    0x408dc2
408dc1:	c3                   	ret
408dc2:	8b 41 04             	mov    0x4(%ecx),%eax
408dc5:	c3                   	ret
408dc6:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
408dcc:	6a 00                	push   $0x0
408dce:	e8 43 fa ff ff       	call   0x408816
408dd3:	85 c0                	test   %eax,%eax
408dd5:	74 11                	je     0x408de8
408dd7:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
408dde:	75 08                	jne    0x408de8
408de0:	8b 48 0c             	mov    0xc(%eax),%ecx
408de3:	e9 d0 ff ff ff       	jmp    0x408db8
408de8:	33 c0                	xor    %eax,%eax
408dea:	c3                   	ret
408deb:	6a 00                	push   $0x0
408ded:	e8 24 fa ff ff       	call   0x408816
408df2:	85 c0                	test   %eax,%eax
408df4:	74 16                	je     0x408e0c
408df6:	81 78 04 00 00 01 00 	cmpl   $0x10000,0x4(%eax)
408dfd:	74 09                	je     0x408e08
408dff:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
408e06:	75 04                	jne    0x408e0c
408e08:	8b 40 0c             	mov    0xc(%eax),%eax
408e0b:	c3                   	ret
408e0c:	33 c0                	xor    %eax,%eax
408e0e:	c3                   	ret